summaryrefslogtreecommitdiffstats
path: root/src/gui/opengl
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4Frederik Gladhorn2014-09-247-0/+77
|\
| * Merge remote-tracking branch 'origin/5.3' into 5.4Frederik Gladhorn2014-09-237-0/+77
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The isAlwaysAskOption was removed in 38621713150b663355ebeb799a5a50d8e39a3c38 so manually removed code in src/plugins/bearer/connman/qconnmanengine.cpp Conflicts: src/corelib/global/qglobal.h src/corelib/tools/qcollator_macx.cpp src/corelib/tools/qstring.cpp src/gui/kernel/qwindow.cpp src/gui/kernel/qwindow_p.h src/gui/text/qtextengine.cpp src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig_p.h src/plugins/platforms/android/qandroidinputcontext.cpp src/plugins/platforms/xcb/qglxintegration.cpp src/plugins/platforms/xcb/qglxintegration.h src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/testlib/qtestcase.cpp src/testlib/qtestlog.cpp src/widgets/dialogs/qfiledialog.cpp src/widgets/kernel/qwindowcontainer.cpp tests/auto/corelib/tools/qcollator/tst_qcollator.cpp tests/auto/gui/text/qtextscriptengine/tst_qtextscriptengine.cpp tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp Change-Id: Ic5d4187f682257a17509f6cd28d2836c6cfe2fc8
| | * Add missing private headers warningSamuel Gaist2014-09-047-0/+77
| | | | | | | | | | | | | | | Change-Id: I7a4dd22ea3bcebf4c3ec3ad731628fd8f3c247e0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Use NonPremultipliedImageSrc shader when painting non-premuled imagesAllan Sandfeld Jensen2014-09-231-3/+23
|/ / | | | | | | | | | | | | | | | | Recognize non-premultiplied images and draw them using the existing NonPremultipliedImageSrc shader so we save premultiplying them on the CPU. Change-Id: I3dfc8f9385ff91502d64ccabf4bf54049cc28040 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | Destroy the QOpenGLTextureBlitter in the destructorJørgen Lind2014-09-101-0/+3
| | | | | | | | | | | | | | if it has not already been destroyed Change-Id: If9a29da25eb23d5d65204eecabe095df215737ee Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | Enhance the VAO docsLaszlo Agocs2014-09-081-0/+10
| | | | | | | | | | | | | | | | Make it clear that the class is usable regardless of the OpenGL version the app is targeting. It may just do nothing. Change-Id: I50e68a46e36ef1f4694016311af93c6f8719ce4f Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Remove GLdouble and GL_DOUBLE typedefs for OpenGL ES 2.Gunnar Sletta2014-09-052-6/+2
| | | | | | | | | | | | | | | | | | We have no business defining types which come from another library. These originally stem from the S60 port without further explanation and Qt and its examples today compile without them, so remove them. Change-Id: I683ea897c00ab3a1f7c809c45352fe590ae9a41f Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | QOpenGL2GradientCache::getBuffer: calculate hash value outside critical sectionMarc Mutz2014-09-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The code doesn't touch any member variables, so it doesn't need mutex protection. Reducing the time spent under the mutex allows a higher speedup (Amdahl's Law), so do it. Also made the mutex locker const to indicate it is never unlock()ed again. Change-Id: Ic50b827c0e34d39cbddc7ec83675b568a9c33f6d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* | Code cleaning in qt_gl_resolve_extensionsAllan Sandfeld Jensen2014-08-281-34/+42
| | | | | | | | | | | | | | | | | | Moves feature checks so OpenGL vs OpenGLES is only tested one way and extensions so they are not tested if already required by their version. Change-Id: Ia77f6ea924559fa7a428beb6316ae392063dfc4f Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | QOpenGLTextureBlitter: Do not call vao functions if it failed to createLaszlo Agocs2014-08-251-7/+7
| | | | | | | | | | | | | | | | Follow the good practice of checking for isCreated() before calling VAO functions like bind(). Use also the vao binder where applicable. Change-Id: Ib827f3bce838396bf2e08f9480fa63801d4d3a50 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* | Do not resolve core functions on GLES in texture helperLaszlo Agocs2014-08-231-0/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | As the spec for eglGetProcAddress says, some implementations may not return function pointers for core functions. Similarly to how we cannot get OpenGL 1.0/1.1 functions with WGL for example. To make sure QOpenGLTexture does not just crash with such implementations, we simply use the statically exported functions in -opengl es2 builds. Change-Id: I213bfcc21e58888b17e0ebcd0a26f26f77517e40 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | If a tess/compute shader compilation fails, print its type correctlyGiuseppe D'Angelo2014-08-181-7/+18
| | | | | | | | | | Change-Id: I7536b596b890ed304846572b3068b3e932c0f594 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Merge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4Giuseppe D'Angelo2014-08-191-2/+4
|\ \
| * | Merge remote-tracking branch 'origin/5.3' into 5.4Frederik Gladhorn2014-08-121-2/+4
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Manually included changes from 3a347a4e70e5a10ee92dd2578316c926a399e894 in src/opengl/qgl.cpp. Conflicts: src/opengl/qgl_qpa.cpp src/plugins/platforms/android/androidjnimain.cpp Change-Id: Ic26b58ee587d4884c9d0fba45c5a94b5a45ee929
| | * Doc: Placed Qt OpenGL class convention in code block.Jerome Pasion2014-08-061-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | -QDoc tried to autolink where it should not. -The syntax looks much better in a code block than in a paragraph. Change-Id: I21d08cbb1537186d09b52898d7b70a5c0794256c Task-number: QTBUG-35019 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | | Update qopenglext.h and qopengles2ext.hLaszlo Agocs2014-08-144-12271/+10795
|/ / | | | | | | | | | | | | | | | | | | | | | | | | The current one is from 2012 and is based on the obsolete spec files. Replace it with the new one generated from the XML specs. At the same time fix the callback function signature for QOpenGLDebugLogger since it would not build otherwise. The user parameter is const GLvoid * according to the specification. Task-number: QTBUG-39773 Change-Id: If2153198373eeebc587c41b2dbf6bed5bcb26761 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* | QOpenGLVersionStatus: add constexprMarc Mutz2014-08-091-10/+8
| | | | | | | | | | | | | | | | Also dropped two redundant qMakePair() calls. Change-Id: I7266ac9a3354ef4f60bf921fc0cd5d5a33c75b93 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* | Use NAmE spelling of grey (gray)Marc Mutz2014-08-091-1/+1
| | | | | | | | | | | | | | These occurrences are only in docs or code comments. Change-Id: Ia114466a85c01e2b978396c329153044921fb20b Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Add support for glMapBufferRange in the wrappers and resolversLaszlo Agocs2014-08-084-8/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | QOpenGLBuffer::map() and related helpers are becoming useless in OpenGL ES 3.0 and up: instead of the old GL_OES_map_buffer, glMapBufferRange, but not glMapBuffer, is now part of the standard. On desktop GL_ARB_map_buffer_range is present by default in OpenGL 3.0 and newer. [ChangeLog][QtGui] Added QOpenGLBuffer::mapBufferRange(). Task-number: QTBUG-38168 Change-Id: I4e9bbe8ced9ee4d535ac32849a8c08c26d79cb49 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | Do not use GLES3 functions in a GLES2 contextLaszlo Agocs2014-08-071-6/+8
| | | | | | | | | | | | | | | | | | | | Just like the recent fix for VAOs on iOS, where we might deploy a GLES3-enabled binary on a GLES2-only system, the same issue is potentially present for blitFramebuffer and renderbufferStorageMultisample. Handle this properly. Change-Id: I87268478f1de479dc2c106b46d6e9b84e866fcd5 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | Update QOpenGLFunctions docsLaszlo Agocs2014-08-011-0/+12
| | | | | | | | | | | | | | | | | | | | | | Mention QOpenGLContext::functions() which is used quite commonly in Qt itself and also some examples. Also, make it clear that new instances do not degrade performance since function resolving is done only once. Change-Id: I74ac194a0b3956a70e5078dd5a1bcdd277b5cc28 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | Make QOpenGLWidget publicLaszlo Agocs2014-08-012-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QOpenGLWidget is now public. In addition Qt::WA_AlwaysStackOnTop is introduced to support the special case of semi-transparent QOpenGLWidget or QQuickWidget on top of regular widgets. hellogl_es2 becomes the qopenglwidget example. This example performs painting both via QPainter and native GL commands and has the OpenGL widget combined with other, normal widgets. The widget stack receives some changes when it comes to renderToTexture widgets like QQuickWidget and QOpenGLWidget. Calling update() will now result in a paint event, which is essential for QOpenGLWidget since we want it to behave like a regular widget. The dirty region handling is extended specially for such widgets due to performance reasons. (an OpenGL content update must not result in any backingstore painting, and is thus handled as a different kind of dirtiness) [ChangeLog] Added QOpenGLWidget. This widget serves as a replacement for QGLWidget. Task-number: QTBUG-36899 Task-number: QTBUG-40086 Change-Id: Ibf7f82fea99b39edfffd2fc088e7e0eadbca25cf Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | Support RGB30 formats in OpenGL framebuffers and paint engineAllan Sandfeld Jensen2014-07-302-3/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for binding RGB30 images as textures, and as internal format of framebuffer objects. Together with the QOpenGLPaintDevice this provides support for rendering to and from RGB30 in full precision. [ChangeLog][QtGui][QOpenGLFramebufferObject] Support 10-bit per color channels formats as the internal framebuffer format, making it possible to render in that precision. Change-Id: I06de2d12dfe1c1adc466d574fdffbc77f88f4f16 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | Use runtime check instead of ifdef to detect ES3 in QVertexArrayObjectHelperTor Arne Vestbø2014-07-301-6/+7
| | | | | | | | | | | | | | | | | | | | | | The code path in QOpenGLVertexArrayObjectPrivate::create() that triggers the creation of a QVertexArrayObjectHelper is guarded by runtime checks for ES3 or the GL_OES_vertex_array_object extension, but the actual function lookup was ifdef'ed, which broke on iOS where the SDK may support ES3, but an older (supported) runtime target might not. Change-Id: Id578667c1f5aebf53e197f3a79eb2f9273fea487 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | QOpenGLVAO: refactor the helper class and export itGiuseppe D'Angelo2014-07-303-55/+153
| | | | | | | | | | | | | | | | | | It is useful in other places, for instance in QtQuick, to avoid duplicating the same resolver logic. Change-Id: I9748a420a0abeb07cc84f948965b1e0321a95ca2 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | Add missing 8_8_8_8 pixel types to QOpenGLTextureSean Harmer2014-07-242-0/+4
| | | | | | | | | | | | | | Task-number: QTBUG-36843 Change-Id: Ief4ab9b00b075abe2e04c6d29c8d1279406b5033 Reviewed-by: Liang Qi <liang.qi@digia.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* | Merge remote-tracking branch 'origin/5.3' into devFrederik Gladhorn2014-07-101-1/+1
|\| | | | | | | Change-Id: Ia12ffdb27ecdf25c2a2bdb0eed1945387502108a
| * Doc: fix a link in QAbstractOpenGLFunctions documentationLiang Qi2014-07-031-1/+1
| | | | | | | | | | Change-Id: Icc0109de22de756f7e4b3e888b0ee28a9b9c04d5 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Avoid calling glGetString on OpenGL 3.0+Laszlo Agocs2014-07-091-5/+6
| | | | | | | | | | | | | | | | | | To prevent profiling and debugging tools from generating misleading "errors", call glGetString only for ES and GL < 3.0. Task-number: QTBUG-35173 Change-Id: I4fe3b048fff4cda948152e2ceeb1347f2b0e4ca5 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Fix internalFormat in QOpenGLTexture for ES2Laszlo Agocs2014-07-091-1/+10
| | | | | | | | | | | | Task-number: QTBUG-39856 Change-Id: I005f05c26efb4c81dd017cd4b0f16f6dac3f679e Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* | Make QOpenGLTextureCache::bindTexture upload efficientlyAllan Sandfeld Jensen2014-07-044-23/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently QOpenGLTextureCache::bindTexture always convert any uploaded image to RGBA8888 before uploading. This is quite inefficient when OpenGL natively supports uploading formats in the original format. This patch adds support for uploading a few native QImage formats. This also get the performance of QOpenGLTextureCache::bindTexture on par with QGLContext::bindTexture. The texture brush used by QOpenGLPaintEngine is also converted to QImage, since bindTexture will convert it to QImage anyway, and going over QPixmap may cause an unnecessary conversion. [ChangeLog][QtGui][QOpenGLTextureCache] Support uploading common QImage formats directly to OpenGL when supported. Change-Id: I828a763126441a98e4547c32ef52dddf7c129a32 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | Merge "Merge remote-tracking branch 'origin/5.3' into dev" into refs/staging/devFrederik Gladhorn2014-07-041-3/+2
|\ \
| * | Merge remote-tracking branch 'origin/5.3' into devFrederik Gladhorn2014-07-031-3/+2
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/accessible/qaccessiblecache_mac.mm src/gui/accessible/qaccessiblecache_p.h src/plugins/platforms/cocoa/qcocoaaccessibilityelement.h src/plugins/platforms/cocoa/qcocoawindow.h src/plugins/platforms/cocoa/qcocoawindow.mm src/widgets/kernel/qwidget_qpa.cpp Manually moved change in qwidget_qpa.cpp to qwidget.cpp (cd07830e3b27da7e96a0a83f91ba08c168b45e62) Change-Id: Ia51f471f9b53de2f3b07d77ea89db9303ac8961d
| | * QOpenGLTexture: fix the feature test for Buffer TexturesGiuseppe D'Angelo2014-07-011-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1a4ff6f122f575aca21f6a0b9d9c14cac4a5ea66 modified the features test by checking extensions as well as the GL version. The problem was that the GL version was wrong in the first place -- buffer textures are natively supported since OpenGL 3.0, not 4.3. 4.3 introduced support for buffer texture ranges, i.e. ARB_texture_buffer_range; however it's pointless to take the highest requirement, especially considering that so far QOpenGLTexture doesn't wrap glTexBuffer(Range) in any way. In the future, if QOpenGLTexture will also wrap glTexBuffer, then we will also be able to introduce a different feature flag for testing buffer texture ranges. Change-Id: I6becbd49ac26d44ce01d088cbb7831b5cc127bdb Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Improve QOpenGLFramebufferObject::toImage()Allan Sandfeld Jensen2014-07-042-24/+88
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch makes it possible to use QOpenGLFramebufferObject::toImage() together with QOpenGLPaintDevice::setPaintFlipped where the FBO is already mirrored. The patch also makes checks for proper BGRA support before trying to use it, and fixes the rare case of OpenGLES on big endian. [ChangeLog][QtGui][QOpenGLFramebufferObject] Introduce an argument to QOpenGLFramebufferObject::toImage() to save mirroring the result. Change-Id: I163d802736b7059411f7dda96a31385d772823cc Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | Use the standard functions in GLES3 builds in VAOsLaszlo Agocs2014-07-021-14/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no guarantee that the OES extension is present and the standard functions are not required to be dynamically resolvable on ES. By performing the ARB-style lookup for the suffixless function names we can also support ES3 compatible contexts on desktop GL. This also fixes the problem of picking up the APPLE extension functions instead of ARB when both are available. vaoFuncsType was set to ARB correctly but the helper has to take the preference of ARB into account too. Task-number: QTBUG-38168 Change-Id: If7402320e8f96891017674f3c43bc57c4b5d29f3 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Merge remote-tracking branch 'origin/5.3' into devFrederik Gladhorn2014-07-013-40/+50
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/qnx-x86-qcc/qplatformdefs.h src/corelib/global/qglobal.h src/network/socket/qnativesocketengine_winrt.cpp src/plugins/platforms/android/androidjniaccessibility.cpp src/plugins/platforms/windows/qwindowswindow.cpp Manually adjusted: mkspecs/qnx-armle-v7-qcc/qplatformdefs.h to include 9ce697f2d54be6d94381c72af28dda79cbc027d4 Thanks goes to Sergio for the qnx mkspecs adjustments. Change-Id: I53b1fd6bc5bc884e5ee2c2b84975f58171a1cb8e
| * Merge remote-tracking branch 'origin/5.3.1' into 5.3Frederik Gladhorn2014-06-251-0/+1
| |\ | | | | | | | | | Change-Id: I51fb88701b19ce4f7ea78e12a4049156f3ef9d7f
| | * Handle invalid sample counts gracefully in FBOsLaszlo Agocs2014-06-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Passing in a sample count of -1 should be treated as 0. This is common when setting up framebuffer formats from a QSurfaceFormat where the default, unset value is indicated by a value of -1. This broke QQuickWidget which was unaware of this limitation of QOpenGLFramebufferObject and was passing format.samples() as the sample count without making sure it is 0 or higher. Task-number: QTBUG-39699 Change-Id: I324b8b006eaa992c15ae932f9df305500fefeb65 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| * | Properly check which OpenGL features are supportedMartin Gräßlin2014-06-201-38/+40
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QOpenGLShaderProgram::hasOpenGLShaderPrograms tests whether QOpenGLFunctions::Shaders is provided for the given context. As the initialization code assumed OpenGL 2 this always was true. But unfortunately we still cannot assume that OpenGL 2 is universally supported. E.g. indirect rendering (no matter how bad that idea is) does not support OpenGL 2 on all hardware and the Shader related extensions are not available. This change makes sure that only when OpenGL 2 is available the features provided by OpenGL 2 are enabled. If OpenGL 2 is not available the extensions are tested. The checks are slightly reordered to not do the extension tests at all if OpenGL 2 is available. Task-number: QTBUG-39730 Change-Id: Ic775163e0dcc519925b1287f3c4ca5e8ebf101d5 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| * Make multisampling more robust in QOpenGLFramebufferObjectLaszlo Agocs2014-06-062-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | Some drivers are reported to get confused when passing different sample counts (requested vs. actual) to the color and depth/stencil attachments. To overcome this, pass the requested sample count to all the attachments. Task-number: QTBUG-33406 Change-Id: I17b0e3dbbd78de2ab0f45e95164b4f326d47aeff Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com> Reviewed-by: Kimmo Leppälä <kimmo.leppala@digia.com>
* | Unduplicate the implementations of next power of twoAllan Sandfeld Jensen2014-06-261-16/+3
| | | | | | | | | | | | | | | | | | | | | | Qtbase contains four identical implementations of next power of two, these should be shared and the implementation made available to other qt modules, as it is also used many places outside of qtbase. [ChangeLog][QtCore][QtMath] Introduced qNextPowerOfTwo methods. Change-Id: Id23fbe5ad6bae647b30d5a4212c0330e48a50278 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Support translucent windows on eglfsLaszlo Agocs2014-06-252-0/+22
| | | | | | | | | | | | Task-number: QTBUG-39834 Change-Id: I3f6b041c992365d611aa97a41bc37e80b764b78a Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* | Support framebuffer blit and msaa without extensions on GLES3Laszlo Agocs2014-06-251-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Call the standard functions directly in GLES 3.0+ builds. The catch here, just like with the mapBuffer changes, is that we could, in theory, dynamically load a GLES3 implementation on the !QT_OPENGL_ES_3 path too. However this is limited to Windows currently and we don't have a full GLES3 stack there (yet), and even when we do get it, the ANGLE extensions for blit and multisampling will still work. Therefore this isn't really an issue for now. Task-number: QTBUG-38168 Task-number: QTBUG-39187 Change-Id: I343a737218c9fe438ee1603b37e93f0400d952a5 Reviewed-by: Andrew Knight <andrew.knight@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | Enhance msaa and blitframebuffer on ES with vendor extensionsLaszlo Agocs2014-06-252-13/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | The support already in place for ANGLE is now extended for NV. On ES 2.0 the only way to get multisampled renderbuffers and blitframebuffer is through vendor-specific extensions. QOpenGLFunctions is updated to resolve the related functions for both ANGLE and NV, in addition to EXT. Task-number: QTBUG-39187 Change-Id: I1aab805ced3d06dde3dc547221bbf833ff8e06c2 Reviewed-by: Andrew Knight <andrew.knight@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | Include the ES3 headers on iOSLaszlo Agocs2014-06-253-2/+17
| | | | | | | | | | | | | | | | | | | | The config test correctly recognizes if GLES 3.0 is available, however qopengl.h still includes the ES2 headers. This causes issues for the new GLES3 support patches. Change-Id: Ia97f556cc207f7d828918f493fe1adab93cf31ec Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵J-P Nurmi2014-06-074-13/+46
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devJ-P Nurmi2014-06-054-13/+46
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/qt.prf src/plugins/platforms/xcb/qxcbwindow.h src/tools/qdoc/qdocindexfiles.cpp src/widgets/kernel/qwidget_qpa.cpp Change-Id: I214f57b03bc2ff86cf3b7dfe2966168af93a5a67
| | * Fix QOpenGLGlyphTexture object leakLiang Jian2014-05-281-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | Call clear() in the destructor of QOpenGLTextureGlyphCache class to prevent QOpenGLGlyphTexture object leak. Change-Id: I290b09b0786d30603391e6855a21e9232b112739 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
| | * QOpenGLFramebufferObject: correct the internal format when using ANGLEAndrew Knight2014-05-261-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As ANGLE doesn't support GL_RGBA as the internal format for its multisampled framebuffer extension, use GL_RGB8_OES to ensure a working out-of-the-box experience. Task-number: QTBUG-39283 Change-Id: Icb364225e74e5d3480a8617131a56e9f65f04ba5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Andrew Knight <andrew.knight@digia.com>