summaryrefslogtreecommitdiff
path: root/src/opengl
Commit message (Collapse)AuthorAgeFilesLines
* All of Qt's own code compiles with -pedantic now (but pcre and webkit don't ↵David Faure2009-06-055-13/+13
| | | | | | | seem fixable easily) Merge-request: 594 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Fix compilation with gcc-4.3.3 (due to std::system)David Faure2009-06-051-0/+1
| | | | | Merge-request: 594 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Code cleanup - use constructor initializers in shader classes.Rhys Weatherley2009-06-041-14/+14
| | | | | Task-number: QT-80 Reviewed-by: Ian Walters
* Improvements to shader API in response to API reviewRhys Weatherley2009-06-043-94/+83
| | | | | Task-number: QT-80 Reviewed-by: Ian Walters
* Implemented QGLTextureGlyphCache to avoid wasting glyph cache memory.Samuel Rødal2009-06-035-29/+212
| | | | | | | | | Now there's only a copy of the texture glyph cache in graphics memory, avoiding the system memory copy that we used earlier. In addition the texture will use the GL_ALPHA texture format when possible, making it consume less graphics memory as well. Reviewed-by: Tom
* Made GL2 engine default for QGLWidget, and added GL2 sync() functionSamuel Rødal2009-05-293-1/+39
| | | | | | | | | | | | To allow mixing QPainter and raw OpenGL commands we need to have some way for the user to say that's he's about to use raw OpenGL so that we are free to do buffering optimizations in the paint engines and use either GL1 or GL2 paint engine. As there's already a syncState() function in QPaintEngine we've reused this and added QPaintEngineEx::sync() which takes care of syncing/flushing the paint engine. Reviewed-by: Trond
* Added check in GL pixmap backend to fall back to raster if FBO fails.Samuel Rødal2009-05-291-32/+37
|
* Fixed bug in GL graphics system when painting to pixmaps.Samuel Rødal2009-05-281-0/+3
| | | | | Make sure the correct texture unit is active when copying from the pixmap to the FBO in begin().
* Fixed incorrect handling of composition modes in GL2 paint engine.Samuel Rødal2009-05-282-22/+11
| | | | | | | | Even if the source pixels are opaque we have to enable blending for the non-trivial composition modes. Some of the composition modes are independent of source alpha and depend on destination alpha for example. Reviewed-by: Tom
* Compile fix with namespaces.hjk2009-05-287-3/+28
|
* Make WA_TranslucentBackground work for QGLWidgets on X11/EGLTom Cooksey2009-05-281-11/+15
| | | | Reviewed-By: TrustMe
* Print the error string when surface creation failsTom Cooksey2009-05-281-1/+4
| | | | Reviewed-By: TrustMe
* Fix build on X11/OpenGL ES 2.0Tom Cooksey2009-05-281-1/+1
| | | | Reviewed-By: TrustMe
* Moved QGL2PaintEngineExPrivate into GL2 paint engine header file.Samuel Rødal2009-05-284-93/+96
| | | | Reviewed-by: Tom
* improved string operations all over the placeThierry Bastian2009-05-285-31/+30
| | | | | used character operations whenever possible better usage of QLatin1String
* Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qtSimon Hausmann2009-05-274-46/+51
|\ | | | | | | | | Conflicts: tests/auto/qtreeview/tst_qtreeview.cpp
| * qdoc: Added some missing qdoc comments.Martin Smith2009-05-254-46/+51
| | | | | | | | Task-number: 252491
* | Make QGLWidgets have the same background colour as QWidgetsTom Cooksey2009-05-274-17/+22
| | | | | | | | | | | | | | | | QWidgets are filled with Qt::transparent when WA_TranslucentBackground is set, reguardless of what their background colour has been set to. This patch makes QGLWidgets behave the same way. Reviewed-By: Samuel Rødal
* | Make WA_TranslucentBackground work on QGLWidget for X11Tom Cooksey2009-05-274-6/+124
| | | | | | | | | | | | | | This patch enables QGLWidget's to have an ARGB visual on X11, alowing GL rendering on semi-transparent windows. Reviewed-By: Trond
* | Avoided expensive image upload for GL pixmap backend for QPixmap::fill.Samuel Rødal2009-05-274-11/+59
| | | | | | | | | | | | | | In the fill case we can simply set a flag saying the pixmap needs to be filled, and then when painting on the pixmap we start by filling the background using glClear via the existing QGLDrawable::autoFillBackground interface.
* | Fixed bugs in GL2 paint engine when several engines are active.Samuel Rødal2009-05-274-33/+41
| | | | | | | | | | | | | | Make sure makeCurrent() on a window surface unbinds any active FBO, and simplify ensureActive() code in GL2 paint engine a bit. We don't need the last_engine pointer as ensureActive() will take care of ensuring the correct engine is active anway.
* | Use GLInt and not uint because of Apple's old header swapMartin Smith2009-05-271-1/+1
| |
* | some cleanups on private exported symbolsThierry Bastian2009-05-261-1/+0
| |
* | A GLint is converted to int for passing to qBound().Martin Smith2009-05-261-1/+1
| |
* | Fix build failure on MacOS 10.4Tom Cooksey2009-05-261-3/+3
| | | | | | | | | | | | It seems GLint is typedefed to long on 10.4. Reviewed-By: Rhys Weatherley
* | 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
* | Fixed bug in uninitialized GL pixmaps.Samuel Rødal2009-05-251-0/+2
| | | | | | | | | | | | | | When not setting filtering mode to GL_NEAREST/GL_LINEAR copying back from FBO to texture fails for some reason. Reviewed-by: Trond
* | Fixed broken system clip handling in GL2 paint engine.Samuel Rødal2009-05-252-2/+11
| | | | | | | | | | | | Override systemStateChanged() to get the system clip updates. Reviewed-by: Trond
* | Made PixelBuffer/FramebufferObject report correct DPI based metrics.Samuel Rødal2009-05-252-14/+16
| | | | | | | | | | | | | | We need to use both qt_defaultDpiX and qt_defaultDpiY, and round the resulting metric values. Reviewed-by: Trond
* | If EGL fails to provide a valid Visual ID, try XRender for ARGBsTom Cooksey2009-05-221-9/+55
| | | | | | | | | | | | | | | | | | This patch is inspired by the "Fix ARGB visuals" patch in the Maemo branch. Thanks go to the author of that patch (who isn't signed up to Gitorious and thus can't be named - you know who you are! Thanks!!). This patch should also fix ARGB visuals (even if they are supplied by EGL) as such visuals require a colormap.
* | Try to use the X11 visual ID provided by EGLTom Cooksey2009-05-221-30/+74
| | | | | | | | | | | | | | EGL has an EGL_NATIVE_VISUAL_ID which can by used as the window's visual ID. We now try to use this ID to avoid an XVisual <-> EGLConfig mis-match. Of course this is usually broken in the EGL library, so we fall back to trying to match outselves.
* | Fix changed behaviour after QEglProperties::value() patchTom Cooksey2009-05-222-14/+14
| | | | | | | | | | | | | | Patch 27fadaa7eb2d58b47e7f0f508e3402e7a8de3894 (Make QEglProperties::value() return the EGL default if not set) changed behaviour. This patch reverts this change to behaviour but keeps QEglProperties::value() returning the EGL default value.
* | Merge commit 'qt/master'Samuel Rødal2009-05-202-20/+4
|\ \
| * \ Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qtSimon Hausmann2009-05-191-1/+1
| |\ \ | | |/
| | * Fix some typos in the documentation.Frederik Schwarzer2009-05-181-1/+1
| | | | | | | | | | | | | | | | | | Usually, "the the" is not proper English Reviewed-By: Thiago Macieira
| * | Optimize rendering in the GL engineZack Rusin2009-05-111-19/+3
| | | | | | | | | | | | | | | By using REPLACE we don't have to clean the stencil on every draw, effectively optimizing the rendering by 200%.
* | | Make QEglProperties::value() return the EGL default if not setTom Cooksey2009-05-201-1/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | Previously it would always return EGL_DONT_CARE, which causes a bug somewhere on X11 leading to configs being requested with E.g. EGL_GREEN_SIZE == EGL_DONT_CARE == -1 == 0xFFFFFFFF when cast to a uint. This also helps debug config matching as toString() now indicates the match criteria EGL will use.
* | | Fix GLSL for OMAP3 and error checkingTom Cooksey2009-05-202-3/+3
| | |
* | | Fix GL2 paint engine builds on Big-endian machinesTom Cooksey2009-05-151-11/+8
| | | | | | | | | | | | Reviewed-by: Trond
* | | Make QtOpenGL compile on OpenGL ES 1.1 againTom Cooksey2009-05-148-45/+116
| | |
* | | Merge commit 'qt/master'Samuel Rødal2009-05-132-5/+3
|\ \ \ | |/ /
| * | Merge branch '4.5'Thiago Macieira2009-05-071-2/+1
| |\ \ | | |/ | | | | | | | | | | | | Conflicts: src/gui/painting/qbackingstore.cpp src/gui/painting/qwindowsurface_raster.cpp
| | * Compiler warnings (Mac/Carbon)Bjoern Erik Nilsen2009-05-071-2/+1
| | | | | | | | | | | | Reviewed-by: nrc
| * | Merge branch '4.5' of git@scm.dev.troll.no:qt/qtSimon Hausmann2009-05-071-3/+2
| |\ \ | | |/ | | | | | | | | | | | | Conflicts: src/gui/kernel/qcocoaview_mac_p.h src/gui/widgets/qmainwindow.cpp
| | * Re-enabled antialiasing for large font sizes in OpenGL paint engine.Samuel Rødal2009-05-061-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In 4.4 alphaMapForGlyph() would return valid images for any font size, but this was changed in 4.5, forcing us to use the path fallback instead. This lead to non-antialiased fonts when not using a multisample-enabled GL format. This patch re-introduces the alphaMapForGlyph() fallback in QFontEngine from 4.4 which uses the raster paint engine to draw the glyph. Task-number: 247083 Reviewed-by: Trond
* | | Reverted use of GL 2 engine as default on desktop.Samuel Rødal2009-05-136-27/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1313-124/+109
| | | | | | | | | | | | | | | | | | | | | Compile both GL and GL2 paint engine on desktop, and choose between them at run-time based on GL version flags. Reviewed-by: Tom
* | | Merge branch 'shader-api'Rhys Weatherley2009-05-111-1/+1
|\ \ \
| * | | Mac OSX compile errors in shader usageRhys Weatherley2009-05-111-1/+1
| | | |