summaryrefslogtreecommitdiffstats
path: root/src/gui/opengl
Commit message (Collapse)AuthorAgeFilesLines
* QOpenGLTexture: introduce texture comparison supportGiuseppe D'Angelo2015-01-173-1/+147
| | | | | | | | Shadow sampling is an old OpenGL feature (hello, OpenGL 1.3!), which was missing from QOpenGLTexture. This commit adds the relevant support. Change-Id: I9f6b552d806a356d24ee08121af6bc9ce684f2b5 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QOpenGLTexture: better document the depth/stencil featuresGiuseppe D'Angelo2015-01-171-0/+12
| | | | | | | For some reason these docs were missing, add them. Change-Id: If17cf429925ee849a0817e0294a7db7f6dace79b Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Merge remote-tracking branch 'origin/5.4' into devSimon Hausmann2014-12-182-86/+172
|\ | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.h src/platformsupport/platformcompositor/qopenglcompositor.cpp src/platformsupport/platformcompositor/qopenglcompositorbackingstore.cpp tests/auto/gui/kernel/qwindow/tst_qwindow.cpp Change-Id: I5422868500be695584a496dbbbc719d146bc572d
| * Make GL2PaintEngine::drawCachedGlyphs use updateTextureTor Arne Vestbø2014-12-142-32/+13
| | | | | | | | | | | | | | | | | | | | Ensures that we have a consistent view of what the last used texture was, which is critical when deciding whether or not we need to re-bind the texture or update texture properties. Change-Id: Ib47eb00abde98d148fc6e569ce3e359b340328fb Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
| * Ensure that GL::updateBrushTexture() activates and binds properlyTor Arne Vestbø2014-12-131-8/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calling QOpenGL2GradientCache::getBuffer() will generate the texture the first time, calling glBindTexture in the process. We did this without first ensuring that the right texture unit was active, resulting in the generated gradient texture binding onto the glyph cache mask unit. We now provide a specialization of bindTexture for a QGradient, which ensures that the right unit is active before calling getBuffer(). Unfortunately we have no way of knowing if the result of getBuffer() was a texture that was already bound, or if we need to bind the result, which means we have to do an unconditional bindTexture of the resulting texture ID. This means double-bind for the initial texture generation, but this was already an issue in the original code. Task-number: QTBUG-43039 Task-number: QTBUG-41244 Change-Id: I20c9b795c8c14f8d58be2b60a284c5a060705ec0 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
| * GL: Make updateTexture invalidate texture on change of texture unitTor Arne Vestbø2014-12-122-4/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Switching texture units means the value of lastTextureUsed could be invalid, meaning we need to unconditionally re-bind and update parameters. A future optimization would be to keep a per-texture-unit cache, so that we wouldn't have to re-bind and set parameters when switching units back and forth, but this complicates the current code somewhat, so it's left for another patch. Change-Id: Icb2a5d03457a907f3c25bbb437feeb7c5f155716 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
| * GL2PaintEngine: centralize logic for updating/preparing texturesTor Arne Vestbø2014-12-112-50/+78
| | | | | | | | | | | | | | | | | | | | | | | | Rewrite of updateTextureFilter to include activating and binding as well, so that we can maintain a single view of which texture was the last one to be used from within the engine itself. The behavior should be the same as before. Change-Id: I41781d00458b0176c614266f4360db3c68b120a1 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
| * GL2PaintEngine: Prevent fillInPendingGlyphs from breaking gradientsTor Arne Vestbø2014-12-101-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The glyph cache internally uses the image texture unit when blitting, but doesn't always activate the unit before binding its texture, resulting in sometimes binding the glyph cache texture to the wrong unit. The image texture unit is also the same as the brush texture unit, so any time we fill in pending glyphs we need to re-bind the brush texture, otherwise drawing text with eg. gradients will fail after the new glyphs have been filled. The new hasPendingGlyphs() member function of the glyph cache is an optimization so that we don't need to activate and rebind unless there are glyphs that need to be filled. Change-Id: Iac74130145d2d6d7bf95206b5e8a2fc760743cb5 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* | Fix corner case in preprocessor of QOpenGLShaderProgramSean Harmer2014-12-151-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The preprocessor used in QOpenGLShaderProgram to help with determining where it should add the #line and other #define directives is broken when parsing the standard Qt Project copyright header. In a multiline comment if the preprocessor encounters repeated '*' characters when in a multiline comment, it toggles the state between MultiLineComment and CommentEnding. This is wrong as every asterisk is potentially the one before the closing '/' of a multiline comment. This change fixes this by only going back to the MultiLineComment when in the CommentEnding state if the character is not another '*'. Task-number: QTBUG-43240 Change-Id: I114e933026ba5de1c23f3e0399613def59f44961 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | GLSL #version directive does not have to be at start of lineSean Harmer2014-12-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The #version directive detector of QOpenGLShaderProgram is using an incorrect regular expression to detect the #version directive in the preprocessed shader source code. It is allowed to have whitespace before the #version. Task-number: QTBUG-43240 Change-Id: If60670f49cb40148e5e7fbe6da6c798e8f636c3d Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | [QStaticTextItem] Drop unused membersKonstantin Ritt2014-12-141-2/+0
| | | | | | | | | | | | | | | | | | The QStaticTextItem's `chars` and `numChars` members are never used, even when set. In fact, there is nothing useful we can do with the input string in the absence of clusters mapping. Change-Id: I81fcbce3e575f4d0dcfc2515286d512b858f592b Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Add GL_EXT_discard_framebuffer to QOpenGLExtensionsJørgen Lind2014-12-112-1/+22
| | | | | | | | | | Change-Id: I57e8dd2ea2e6f018a46eaabed2ca8b6d417358a3 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.4' into devSimon Hausmann2014-12-103-31/+28
|\| | | | | | | | | | | | | | | Conflicts: doc/global/template/style/online.css mkspecs/android-g++/qmake.conf Change-Id: Ib39ea7bd42f5ae12e82a3bc59a66787a16bdfc61
| * Merge "Merge remote-tracking branch 'origin/5.4.0' into 5.4" into ↵Simon Hausmann2014-12-051-3/+1
| |\ | | | | | | | | | refs/staging/5.4
| | * Merge remote-tracking branch 'origin/5.4.0' into 5.4Simon Hausmann2014-12-051-3/+1
| | |\ | | | | | | | | | | | | Change-Id: I0cd11cbe95693b78450ea81a0187760f4a6a8b5f
| | | * QOpenGLFramebufferObject: pass sized format also with dynamic GLAndrew Knight2014-12-011-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The GL_RGBA8_OES define is not in scope for dynamic OpenGL builds, so pass in GL_RGBA8 instead (it is defined as the same value, 0x8058) when in ES mode. The functionality check already ensures the extension is available, so the ifdef guards can be removed. This fixes default multisampled FBO creation under ANGLE when using -opengl dynamic. Task-number: QTBUG-40921 Change-Id: Iac4b7e230a463c27b61af75c3307421f9deac856 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
| * | | Reformat QOpenGL2PaintEngineExPrivate a bit to make it easier to refactorTor Arne Vestbø2014-12-051-19/+14
| |/ / | | | | | | | | | | | | | | | Change-Id: I99f7192008ae8ea3a16f5300e5e4ebdde50847af Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
| * | Collate calls to updateTextureFilter in updateBrushTextureTor Arne Vestbø2014-12-041-4/+5
| | | | | | | | | | | | | | | | | | Change-Id: Id13d5bc122c4f9cc8f44ff82df345a50f2944118 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
| * | Simplify GL2PaintEngine::updateTextureFilter, it doesn't need targetTor Arne Vestbø2014-12-032-12/+15
| | | | | | | | | | | | | | | | | | Change-Id: I8b71c33adb37c166bf4fc6dc8c2e7418d60fbf81 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* | | Add Q_DECL_OVERRIDE in the src subdirectoryOlivier Goffart2014-12-036-44/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Done automatically with clang-modernize on linux (But does not add Q_DECL_OVERRIDE to the function that are marked as inline because it a compilation error with MSVC2010) Change-Id: I2196ee26e3e6fe20816834ecea5ea389eeab3171 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-11-272-0/+8
|\| | | | | | | | | | | Change-Id: Id20053d261b4fbbcc0ac8ba49dd3ef2253fa4b95
| * | Deprecate implementations of functions deprecated in headersShawn Rutledge2014-11-272-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | If you build with configure -DQT_NO_DEPRECATED this will avoid some build errors. Change-Id: If2b2e57b6919091f3f077ebc2aeca0c3fd2421aa Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-11-244-8/+36
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qiodevice.cpp src/plugins/bearer/linux_common/qofonoservice_linux.cpp src/plugins/bearer/linux_common/qofonoservice_linux_p.h src/plugins/platforms/android/qandroidplatformtheme.cpp src/tools/bootstrap/bootstrap.pro src/widgets/styles/qmacstyle_mac.mm Change-Id: Ia02aab6c4598ce74e9c30bb4666d5e2ef000f99b
| * | Merge remote-tracking branch 'origin/5.4.0' into 5.4Frederik Gladhorn2014-11-212-3/+3
| |\| | | | | | | | | | Change-Id: I95f235a66ce2e9b1fa435c0f911c6f7e811755f0
| | * Correct the signature and access rights for the protected constructorLars Knoll2014-11-192-3/+3
| | | | | | | | | | | | | | | Change-Id: Ic43398a82777f3b1a95a36f60ebc4338d60c29ec Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| * | Update fbo toImage() docs regarding premultiplied alphaLaszlo Agocs2014-11-171-3/+17
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-42510 Task-number: QTBUG-37261 Change-Id: Ic11bec0a25e66df9d022f640621686be867e84d2 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
| * | Fix for current_fbo getting out of sync in QtOpenGLSamuel Rødal2014-11-111-2/+14
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using QGLWidget in combination with QOpenGLFramebufferObject from QtGui, instead of QGLFramebufferObject from QtOpenGL, the current_fbo variable doesn't get updated when framebuffer object bindings change. To ensure that the QGLWidget correctly releases the currently bound framebuffer object when using a QPainter, we keep track of whether QOpenGLFramebufferObject has modified the current FBO binding, and if that's the case we need to read the OpenGL state directly instead of relying on a cached value. Change-Id: If7e0bd936e202cad07365b5ce641ee01d2251930 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| * Skip unused function isCoreProfile() on non-ES2 platformsTor Arne Vestbø2014-11-051-0/+2
| | | | | | | | | | Change-Id: Ia84e74512e7001986c620253cdf0bc431ebc00dc Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Use the static TexStorage2|3D funcs in es buildsLaszlo Agocs2014-11-191-0/+5
| | | | | | | | | | | | | | | | | | | | When building with -opengl es2 and having ES 3.0 or newer, TexStorage must resolve directly to the functions. Other paths (desktop, ES when using dynamic on Windows) are already covered below. Change-Id: If214578bf23547d6f66a17bc999e9fabf97ba770 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* | QOpenGLTexture: don't allocate immutable multisample storage if not supportedGiuseppe D'Angelo2014-11-141-3/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | Multisample textures may be supported without multisample texture storage (e.g. from GL 3.2 to 4.2). And, immutable storage may be present, but not supporting multisample textures (GL 4.3 - 4.4). Thus, we must properly check if we can allocate immutable multisample storage, falling back to mutable multisample storage if we're lacking the feature. Task-number: QTBUG-42643 Change-Id: I1f3d5a9b4296626e40b69a06710331e49c2d1a33 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | QOpenGLTexture: be more strict with the pixel format/typesGiuseppe D'Angelo2014-11-141-3/+141
| | | | | | | | | | | | | | | | | | | | OpenGL ES may be way more pedantic than OpenGL desktop, in that it supports precise combinations of internal format, pixel format and pixel type. Fix the switches inside the code to reflect this. Task-number: QTBUG-41822 Change-Id: Ic0ed025f48a5903f334d56ce8a224dff44821c5c Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | QOpenGLTexture: move the Feature enum on top of the headerGiuseppe D'Angelo2014-11-141-22/+22
| | | | | | | | | | Change-Id: I08f5f3b2856edbdd8c88e65d5af75d760a39facb Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | QOpenGLTexture: Fix a commentGiuseppe D'Angelo2014-11-141-4/+4
| | | | | | | | | | | | | | The right function to call is allocateStorage(), not allocate(). Change-Id: Ia26817dbec710d49e511cab2ae3ca5c1fda20722 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | QOpenGLTexture: introduce support for Ericsson compressed formatsGiuseppe D'Angelo2014-11-142-0/+68
| | | | | | | | | | | | | | | | | | | | OpenGL 4.3 and OpenGL ES 3.0 have support for these formats out of the box. See http://en.wikipedia.org/wiki/Ericsson_Texture_Compression Change-Id: I661f05b9872f3aa128e39cec64df094a79736555 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | QOpenGLTexture: fix storage allocationGiuseppe D'Angelo2014-11-133-12/+159
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Storage allocation was quite wrong in the general case. 1) We can't pass unsized texture formats to immutable storage allocations, so we need to check for that. 2) Second, when allocating mutable storage on GLES, apparently the driver is allowed to peek at the external pixel type. The texture can then only get data in the pixel type passed at storage allocation time. (I guess that, for the sake of simplicity, the drivers are allowed not to perform any pixel conversions.) I'm still not convinced about the wording in the GLES2/3 specifications, but apparently ANGLE behaves this way, so we need to fix this kind of allocation. Unfortunately the only way is to ask, at storage allocation time, what's the external pixel format/type, so we need to introduce an allocateStorage overload taking those as arguments and using them for the glTexImage* calls. Task-number: QTBUG-41822 Task-number: QTBUG-42623 Change-Id: Idf745d549f01c5db3e56e86cf9b1f53a77cfccc6 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | QOpenGLTexture: move all the enums at the beginning of the classGiuseppe D'Angelo2014-11-131-78/+78
| | | | | | | | | | | | | | | | It makes more sense to put them all together, and actually the next patches will require the enums to be moved anyhow. Change-Id: Ieb897e9ea2bfef66426c72f935504a92323e2a00 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | QOpenGLTexture: revamp the feature listGiuseppe D'Angelo2014-11-131-12/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | OpenGL ES 3 adds lots of useful stuff in there, so we should start using it. Since we're there, properly reorganize the other feature checks. Note that by starting using immutable storage on GLES2, we may work around the issue reported in QTBUG-41822 (we're still not 100% sure if it's an ANGLE bug or a Qt bug). Task-number: QTBUG-41822 Change-Id: Id8cdbaaf93bc263e663db06b6fd2fee012cb29ad Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Insert #line statements in shader program.Florian Behrens2014-11-031-27/+125
| | | | | | | | | | | | | | | | | | | | This makes the GLSL compiler issue correct line numbers on errors even in the presence of the other preprocessor lines inserted by QOpenGLShaderProgram/QGLShaderProgram. Change-Id: Ief4fc1dd1e94bb2b3a1ad13fbaf62186910a4994 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Merge "Merge remote-tracking branch 'origin/5.4' into dev" into refs/staging/devFrederik Gladhorn2014-10-282-1/+97
|\ \
| * | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-10-272-1/+97
| |\| | | | | | | | | | | | | | | | | | | Conflicts: src/gui/text/qfontdatabase.cpp Change-Id: I6ac1f55faa22b8e7b591386fb67f0333d0ea443d
| | * Do not parent the shader program to the QOpenGLContextJocelyn Turcotte2014-10-231-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the last QOpenGLContext in a share group is destroyed, all the remaining alive QOpenGL* objects have their resource invalidated. This happens under QOpenGLContext::destroy, but before any QObject children of the QOpenGLContext is destroyed by the QObject destructor. This is currently an issue with ANGLE that could be fixed in its own code, but that is still better for us to be covered against. This means that the OpenGL resource is assumed to be destroyed with the context by the driver, but this isn't always the same. Fix an instance of this in QOpenGLTextureGlyphCache by explicitly owning the blit QOpenGLShaderProgram instead of parenting it under the current GL context. The very same resource invalidation system will prevent anything bad to happen if the QOpenGLContext is destroyed before the QOpenGLTextureGlyphCache. Task-number: QTBUG-41588 Change-Id: Ic3bc69b07bcbdcf7d699ea9139b2e34b04e642e5 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| | * Document QOpenGLPixelTransferOptionsLaszlo Agocs2014-10-221-0/+93
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-35576 Change-Id: I178f5db5f1075b6a395cf8ff73b75fe1765540aa Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | | Support Alpha8 and Grayscale8 natively in the OpenGL paint engineAllan Sandfeld Jensen2014-10-278-7/+75
|/ / | | | | | | | | | | | | | | | | Adds special shaders for the Alpha8 and Grayscale8 formats so that they do not need to rely on the support of GL_ALPHA and GL_LUMINANCE that has been removed from core in recent OpenGL versions. Change-Id: Ie370379b458abf2a50e252bc5099aefc1b11fb1d Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-10-205-19/+101
|\| | | | | | | Change-Id: If7e51514ed6832750e3ad967e4d322ccf920d2bb
| * Avoid breaking BC with new virtuals in QOpenGLPaintDeviceLaszlo Agocs2014-10-165-44/+95
| | | | | | | | | | | | Task-number: QTBUG-41046 Change-Id: Iab628d2d6811d528e2cc513b6f8a74baa628541d Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
| * Fix QOpenGLWidget on Cocoa when used as viewportLaszlo Agocs2014-10-143-1/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Having a QOpenGLWidget as a graphics view viewport was not functioning on OS X: it was showing incomplete content due to accessing the texture attached to the framebuffer object before the rendering is complete. On the normal path, when rendering is done via paintGL(), the flush was there. When used as a viewport however, this path is not used. The missing flush is now added for the other case too. For performance reasons, we will not flush on every paint engine end(). Instead, the flush is deferred until composition starts. QGLWidget also featured a weird on-by-default autoFillBackground concept. To maintain compatibility with apps that used QGLWidget as the viewport for QGraphicsView, we will now do the same for QOpenGLWidget, but only when it is used as a viewport. For regular QOpenGLWidgets autoFillBackground defaults to false, like for any other widget. The docs are extended with a small section about differences between QGLWidget and QOpenGLWidget. Task-number: QTBUG-41046 Change-Id: I42c2033fdd2ef5815783fd640fe11373761061e0 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-10-097-36/+39
|\| | | | | | | Change-Id: I05fcd8dc66d9ad0dc76bb7f5bae05c9876bfba14
| * Pass a sized format when creating multisampled renderbuffers on ESLaszlo Agocs2014-10-033-15/+18
| | | | | | | | | | | | | | Task-number: QTBUG-40921 Change-Id: I96b05442dd5928992dab06553b3d41feca89084d Reviewed-by: BogDan Vatra <bogdan@kde.org> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
| * Remove wrong unneeded definition in qopenglextensions_p.hAllan Sandfeld Jensen2014-10-021-12/+0
| | | | | | | | | | | | | | | | The types are already defined by qopengl.h, and the GLchar could be incorrectly defined in the Qt namespace for GLES2 namespaced builds. Change-Id: Ia2052599538af51fdadc434935d51bbfe8437453 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| * Extend QOpenGLVertexArrayObjectHelper to support glIsVertexArraysAllan Sandfeld Jensen2014-09-302-1/+13
| | | | | | | | | | | | | | This is needed for dynamicgl support in QtWebKit. Change-Id: I4d1769394ccdeaf449cac4f002c03ca8013f62f6 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>