summaryrefslogtreecommitdiffstats
path: root/src/opengl/qwindowsurface_gl.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Prevented infinite recursion in GL graphics system.Samuel Rødal2009-06-171-2/+5
| | | | | | | | | | | | If creating a QGLWidget triggers the creation of a QPixmap then we might end up in an infinite recursion due to QPixmap trying to access qt_gl_share_widget(). This can happen via setWindowIcon for example. Adding an initializing flag to QGLGlobalShareWidget and preventing QGLFramebufferObject::hasOpenGLFramebufferObjects() and ::hasOpenGLFramebufferBlit() from creating a QGLWidget every time they are called with no active GL context. Reviewed-by: Trond
* Merge license header changes from 4.5Volker Hilsheimer2009-06-161-2/+2
|\
| * Update license headers as requested by the marketing department.Jason McDonald2009-06-161-2/+2
| | | | | | | | Reviewed-by: Trust Me
* | Re-enabled GL pixmap backend and window surface to work without GL2.Samuel Rødal2009-06-151-0/+12
| | | | | | | | | | | | | | GL window surface and GL pixmap backend should work with old GL engine as well, though not supported to the same degree. Reviewed-by: Trond
* | Made QPixmap autotest pass with -graphicssystem openglSamuel Rødal2009-06-121-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The window surface has been modified to track widget deletion to make sure it doesn't try to access the widget's context data after deletion. QGLPixmapData now also uses GL_RGB instead of GL_RGBA when appropriate, and hasAlphaChannel() has been modified in view of this. A number of other issues have been fixed in QGLPixmapData, and the autotest has been modified to use a more lenient pixmap compare function due to off-by-one pixel errors here and there. Reviewed-by: Trond
* | Fix build on X11/OpenGL ES 2.0Tom Cooksey2009-05-281-1/+1
| | | | | | | | Reviewed-By: TrustMe
* | Introduced preserved swap buffer path in GL window surface.Samuel Rødal2009-05-251-50/+64
| | | | | | | | | | | | | | | | | | When a buffer swap leaves the back buffer intact we don't have to use an FBO or PB, but can render directly to the window's back buffer, yielding higher performance and depending less on extensions such as multisample FBOs and FBO blitting. Reviewed-by: Trond
* | Reverted use of GL 2 engine as default on desktop.Samuel Rødal2009-05-131-16/+4
| | | | | | | | | | | | | | | | | | | | | | | | Using GL 2 as default engine breaks the use cases where OpenGL commands are inter-mixed with QPainter commands, such as when using raw OpenGL in graphicsview. For now we'll use the old OpenGL engine for QGLWidget, QGLPixelBuffer, and QGLFramebufferObject on desktop, and the OpenGL 2 paint engine when the OpenGL graphics system is used. Reviewed-by: Trond
* | Made GL graphics system work with GLES2 w/o FramebufferBlit extension.Samuel Rødal2009-05-131-10/+11
| | | | | | | | | | | | At the moment, for the GL graphics system to work properly with GLES 2 without the FramebufferBlit extension swapBuffers() needs to preserve the back buffer.
* | Enabled compilation of both GL and GL2 paint engine.Samuel Rødal2009-05-131-7/+11
| | | | | | | | | | | | | | Compile both GL and GL2 paint engine on desktop, and choose between them at run-time based on GL version flags. Reviewed-by: Tom
* | Big GL Extension CleanupTom Cooksey2009-05-061-2/+2
| | | | | | | | | | | | | | | | | | Clean up the extension naming and make things build on OpenGL ES 2.0 again. All the extensions which made it into OpenGL 2.0 spec have have the EXT postfix removed. This also eliminates defines on ES 2.0 as the code now refers to the in-spec names. Reviewed-by: sroedal
* | Fix OpenGL ES 2.0 breakagesTom Cooksey2009-05-051-1/+10
| | | | | | | | | | Enable GL graphics system on ES 2.0 builds - it wont work, but now QGLDrawable is being used it's just easier to build the graphics system.
* | Merge branch 'shader-api' into gl2engine-new-shadersRhys Weatherley2009-05-011-1/+1
|\ \ | |/ | | | | | | | | | | | | | | Conflicts: src/opengl/opengl.pro src/opengl/qglextensions.cpp src/opengl/qglextensions_p.h src/opengl/qglshaderprogram.cpp src/opengl/qglshaderprogram.h
| * Compile fix for static builds on Windows for QtOpenGL apps.Denis Dzyubenko2009-04-221-1/+1
| | | | | | | | Reviewed-by: Thiago
| * Make OpenGL/ES 1.1 CommonLite and OpenGL/ES 1.0 builds workRhys Weatherley2009-04-071-0/+4
| | | | | | | | Reviewed-by: trustme
| * Long live Qt 4.5!Lars Knoll2009-03-231-0/+661
|
* Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/qt-graphics-teamGunnar Sletta2009-04-171-39/+57
|\
| * Use FBOs as pixmap backend in GL graphics system.Samuel Rødal2009-04-161-9/+25
| | | | | | | | | | | | | | | | We now use FBOs to implement render-to-pixmap for the GL pixmap backend. A multisample FBO is used for rendering, and is then blitted onto a non-multisample FBO dynamically bound to the relevant texture. Reviewed-by: Tom
| * Make FBO the default instead of pixel buffers in GL window surface.Samuel Rødal2009-04-161-28/+29
| | | | | | | | Fall back to using pbuffers only if the FBO fails.
| * Ensure we don't access the GL share widget when it's being destroyed.Samuel Rødal2009-04-161-2/+3
| | | | | | | | | | Zero the pointer before destroying the widget, as QGLWidget's destructor may indirectly trigger access to the share widget.
* | Merge branch 'qt/main'Gunnar Sletta2009-04-171-0/+4
|\ \ | |/ |/| | | | | Conflicts: src/opengl/opengl.pro
| * Make OpenGL/ES 1.1 CommonLite and OpenGL/ES 1.0 builds workRhys Weatherley2009-04-071-0/+4
| | | | | | | | Reviewed-by: trustme
* | Fixes: Use the new framebuffer blit/multisample API in the window surface.Samuel Rødal2009-04-011-18/+31
| | | | | | | | RevBy: Trond
* | Fixes: Make FBO window surface work with GL 2 paint engine.Samuel Rødal2009-04-011-0/+4
| | | | | | | | | | | | RevBy: Trond Details: Need to make sure clipping/scissoring etc is turned off and that we are in a good state.
* | Fixes: Extreme amount of pixel buffers created in embeddeddialogs demo.Samuel Rødal2009-04-011-3/+11
| | | | | | | | | | | | Details: As a window surface is created even for embedded widgets, don't create the GL resources required by the surface until they are actually needed. RevBy: Tom
* | Merge branch 'gl2text' of ..\qt-mainKim Motoyoshi Kalland2009-04-011-1/+7
|/
* Long live Qt!Lars Knoll2009-03-231-0/+661