summaryrefslogtreecommitdiffstats
path: root/src/opengl
Commit message (Collapse)AuthorAgeFilesLines
* Work around an ATI driver problem with mutli-sampled pbuffers.Trond Kjernåsen2010-09-281-11/+18
| | | | | | | | Explicitly check if the pbuffer context is multi-sampled and turn off the render_texture extension if it is. Task-number: QTBUG-14027 Reviewed-by: Kim
* Don't disable texture_from_pixmap on GLX/X11 by default.Trond Kjernåsen2010-09-272-7/+29
| | | | | | | | | | | | | | We made a mistake of trying to make use of the texture_from_pixmap extension by default when binding textures in Qt. The extension have several limitation and using it produces crashes with certain drivers/graphic card combos, but we can't change this now since it will break existing apps using well behaved drivers. We'll fix this for 4.8 with either a QGL::BindOption or configure flag. Revert "Don't try to use the texture_from_pixmap extension in GL on desktop/X11." This reverts commit 07c5429d5aacab932cd912e66287d66fb952e7c4.
* Don't pretend to support single buffered EGL surfaces.Trond Kjernåsen2010-09-242-0/+4
| | | | | Task-number: QTBUG-12865 Reviewed-by: Samuel
* Named anonymous struct in the OpenGL paint engine.Kim Motoyoshi Kalland2010-09-241-2/+2
| | | | | Task-number: QTBUG-13926 Reviewed-by: Gunnar
* Don't try to use the texture_from_pixmap extension in GL on desktop/X11.Trond Kjernåsen2010-09-232-29/+7
| | | | | | | | | There are far too many problems with this extension for it to be usable on desktop at the moment, so disable on desktop GL for now. It's still enabled for EGL, where it seems to have better driver support. Task-number: related to QTBUG-11158 Reviewed-by: Samuel
* Compile on Symbian - rework the X11 mask patch a bit.Trond Kjernåsen2010-09-231-2/+2
| | | | | | | | Avoid adding a virtual QPixmapData::hasMask() function, we can do without it. Made QPixmap::hasAlpha() fast, so we can use that instead. Reviewed-by: Samuel
* Fix compilationOlivier Goffart2010-09-221-2/+2
| | | | Reviewed-by: Kim
* Fixed drawing of QPixmaps with masks in the GL 2 and X11 engines.Trond Kjernåsen2010-09-222-1/+5
| | | | | | | | | | | A regression from 4.6.x. This is an X11-only problem caused by the separate masks that an X11 QPixmap can contain. These masks we're not taken into account when a number optimizations were done for 4.7. Introduction of the texture-from-pixmap extension in 4.6 also broke masked pixmaps under X11. Task-number: QTBUG-13814 Reviewed-by: Samuel
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-09-223-57/+79
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Fix warning on MSVC QThread: make sure start works even if called after exit Revert "Fixed painter path drawing on FBO without stencil buffer." Fix a crash with D&d on mingw Revert "Keep other text format with QTextOption::SuppressColors tag on" Fixed stencil buffer on FBOs with OpenGL ES. Keep other text format with QTextOption::SuppressColors tag on QTreeView: do not scroll to top if last item is removed
| * Revert "Fixed painter path drawing on FBO without stencil buffer."Kim Motoyoshi Kalland2010-09-222-30/+0
| | | | | | | | | | This reverts commit 89cbb165600de9a557a8a621dc41b93c2a7a2b52. The patch should be applied to Qt 4.8, not 4.7.
| * Fixed stencil buffer on FBOs with OpenGL ES.Kim Motoyoshi Kalland2010-09-222-27/+79
| | | | | | | | | | | | | | | | If combined depth-stencil buffer is not supported, create separate depth and stencil buffers. Task-number: QTBUG-12861 Reviewed-by: Trond
* | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-09-221-0/+1
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: apply msvc flags to wince too fix qt static build on wince fix build with QT_NO_GESTURES qmake: fix quoting of moc calls Use regparm(3) for ICC too, otherwise it's an ABI mismatch in QChar Regenerate the Unicode tables after updates to the generator tool Compile in C++0x mode remove extra includes minor clean-ups minor improvements for data parsers tiny clean-up for generated data move QUnicodeTables:: script() and lineBreakClass() implementations make lupdate test less fragile Enable building Qt/Webkit with debug symbols Add breakpad support
| * remove extra includesRitt Konstantin2010-09-211-0/+1
| |
* | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-09-222-1/+12
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: (105 commits) Fixed drawing a large number of glyphs with the same font under GL. Bump version to 4.7.1. Qt headers must be included before X11 headers Fixes bezier curves not being drawn when it is a line. Avoid creating copy of an image in memory when storing as jpeg QSslSocketPrivate::systemCaCertificates() hangs sometimes on Symbian Add exception barrier to QCertificateRetriever::RunL() Reference correct declarative elements page. QtWebKit: Update tag files to match the same content on qtwebkit.git QtWebKit: Downstream patch 2 fixing a crash on MSVC 64bit. QtWebKit: Downstream patch 1 fixing a crash on MSVC 64bit. Doc: updating the qdocconf files and the stylesheet Doc: updating details on Tier 2 platforms Doc: adding remark on release of qt quick element support in creator Update configure.exe Revert "let WebKit inject itself into the qt configuration" Revert "fix qt_webkit_version.pri install for in-Qt builds" Revert "Fixed incorrect Symbian scoping." QS60Style: Itemviews are drawn incorrectly Change to commercial license headers in preparation for release. ...
| * | Fixed drawing a large number of glyphs with the same font under GL.Trond Kjernåsen2010-09-212-1/+12
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | Our glyph caching system doesn't take GL texture size limitation into account, and assumes you can create an infinitely large texture. On top of that, the cache will never create a cache that is wider than 256, or QT_DEFAULT_TEXTURE_GLYPH_CACHE_WIDTH, which means we'll hit the texture size limit even faster. With this patch the entire texture is utilized. However, to fix in properly we need to support having multiple texture for each font engine. That will be fixed shortly (see task QTBUG-13784). Task-number: QT-3971 Reviewed-by: Eskil
* | Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Thiago Macieira2010-09-211-3/+5
|\ \ | |/ |/|
| * Prevent crash in QGLGlyphCache due to dangling context references.Samuel Rødal2010-09-141-3/+5
| | | | | | | | | | | | | | | | We need to clear the context from the cache when it's destroyed even if it doesn't belong to a widget. Task-number: QTBUG-13622 Reviewed-by: Trond
* | Fixed painter path drawing on FBO without stencil buffer.Kim Motoyoshi Kalland2010-09-202-0/+30
| | | | | | | | | | Task-number: QTBUG-13450 Reviewed-by: Samuel
* | Fixes QPen dash offset for OpenGL paint engines (1.x & 2.x).Yoann Lopes2010-09-202-0/+2
| | | | | | | | | | Task-number: QTBUG-13409 Reviewed-by: Trond
* | Support multisampled pbuffers under Windows.Trond Kjernåsen2010-09-202-14/+28
| | | | | | | | | | | | | | | | | | Multisampled pbuffers don't work in conjunction with the render_texture extension. Now we turn off the render_texture extension if a multi- sampled format is requested. Task-number: QTBUG-13503 Reviewed-by: Samuel
* | Prevented crash in GL window surface when deleting native child widgets.Samuel Rødal2010-09-101-4/+8
| | | | | | | | | | | | We should only destroy the FBO if it's the actual window that's deleted. Reviewed-by: Trond
* | Fixed compilation and API of meego graphics system.Samuel Rødal2010-09-101-0/+1
| |
* | Don't waste memory on the share widget in the GL window surface.Samuel Rødal2010-09-101-1/+4
| | | | | | | | Reviewed-by: Trond
* | Make sure we blit to the correct FBO in the GL window surface.Samuel Rødal2010-09-091-1/+5
| | | | | | | | Reviewed-by: Trond
* | Some optimizations to the GL pixmap data.Samuel Rødal2010-09-094-6/+44
| | | | | | | | | | | | | | - Don't use toImage() / fromImage() to copy when a render FBO is active. - Use raster for rendering to small (< 32x32) pixmaps. Reviewed-by: Trond
* | Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Thiago Macieira2010-09-071-0/+2
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/Makefile.win32 src/corelib/io/qfsfileengine_win.cpp src/corelib/kernel/qeventdispatcher_win.cpp src/gui/dialogs/qfiledialog_win.cpp src/gui/inputmethod/qcoefepinputcontext_s60.cpp src/gui/text/qfontdatabase_win.cpp src/gui/util/qsystemtrayicon_win.cpp src/script/utils/qscriptdate.cpp tests/auto/qinputcontext/tst_qinputcontext.cpp tests/auto/qscriptengine/tst_qscriptengine.cpp
| * Recognize GL_ARB_shader_objects as indicating shadersRhys Weatherley2010-08-271-0/+2
| | | | | | | | | | | | | | | | | | Fixes a regression introduced by bf5c25c4. Some OpenGL implementations don't have the GL_ARB_fragment_shader extension listed even though they do support shaders. Task-number: QTBUG-13179 Reviewed-by: Sarah Smith
* | Ensure that OpenGL contexts are attached to an NSView before first paintTor Arne Vestbø2010-09-021-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Attaching an OpenGL context to an NSView too soon will result in an error "invalid drawable" printed on the console. We used to guard against this by checking the visible property of the NSWindow, but this turned out to be too late, as we had already recived an initial paint event by then as part of showing the window. The visual result was a single frame of gray painted before the user's paint event code took effect. We solve this by hooking into setInitialFirstResponder on the NSWindow, which is called as part of making the window visible for the first time. At this point it's safe to attach the GL context to the NSView, so we iterate all the GLWidget children of the top level window and make sure the context is attached by sending a MacGLWindowChange event. The check in qt_mac_update_child_gl_widgets() for a top level window had to be removed for this approach to work, but should be okey as we're only iterating the children. Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com> Reviewed-by: Trond Kjernåsen <trond.kjernasen@nokia.com>
* | Clear the QGLWindowSurface in ::beginPaint when needed.Michael Dominic K2010-08-311-0/+14
| | | | | | | | | | Merge-request: 2462 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* | Made QT_GL_SWAPBUFFER_PRESERVE=1 with the GL graphics system work.Samuel Rødal2010-08-311-5/+2
| | | | | | | | | | | | On desktop, we should just do swapBuffers() in swapRegion(). Reviewed-by: Trond
* | Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Thiago Macieira2010-08-264-4/+14
|\ \ | |/ | | | | | | | | | | Conflicts: bin/syncqt src/opengl/qgl.cpp tools/configure/configureapp.cpp
| * WGL_COLOR_BITS_ARB should not take the alpha bits into account.Trond Kjernåsen2010-08-251-1/+1
| | | | | | | | | | | | | | | | The WGL_COLOR_BITS_ARB attribute is only supposed to specify the number of color bits in each buffer, *excluding* the alpha bits. Task-number: QTBUG-13141 Reviewed-by: Samuel
| * Fix OpenGLVersionFlags on OpenGL 4.0 systemsRhys Weatherley2010-08-161-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | If the OpenGL version was 4.0 or higher, the flags for 1.1, 1.5, 2.0, and so on were not being set. This lead to the flags indicating that older OpenGL versions were not supported when they clearly were. Back port parts of 28659c21d12a267b10e5b441bf4c776e04d69bdc from Qt 4.7 to fix this in Qt 4.6. Task-number: QTBUG-12554 Reviewed-by: Sarah Smith
| * Don't define highp/mediump/lowp if desktop GL has themRhys Weatherley2010-08-133-3/+13
| | | | | | | | | | | | | | | | | | | | OpenGL 4.0 systems now have compatibility with ES2, including support for the precision qualifiers. If the GL_ARB_ES2_compatibility extension is present, then we don't define highp/mediump/lowp to the empty string. Task-number: QTBUG-12862 Reviewed-by: Sarah Smith
* | On Symbian QGLWidget::glDraw() must do nothing if widget isn't visible.Jani Hautakangas2010-08-231-0/+5
| | | | | | | | | | | | | | Otherwise application crashes because rendering to invisible window surface will panic eventually. Reviewed-by: Trond
* | bindTexture: Replace texture if painting is active on pixmap/imageAndreas Kling2010-08-211-5/+18
| | | | | | | | | | | | | | This fixes an issue with WebKit canvases not updating after the first frame since there's always a QPainter open on their backing store. Reviewed-by: Samuel Rødal
* | Introduce QtOpenGL module for Symbian.Jani Hautakangas2010-08-207-17/+440
| | | | | | | | | | Task-number: QT-2139 Reviewed-by: Gunnar Sletta
* | Made GL pixmap backend respect Qt::NoOpaqueDetection flag..Samuel Rødal2010-08-191-2/+4
| | | | | | | | | | | | | | We don't want to do the opaque image scan when the Qt::NoOpaqueDetection flag is set. Reviewed-by: Trond
* | Prevented Xorg crash in qtdemo when running corkboards example.Samuel Rødal2010-08-172-5/+28
| | | | | | | | | | | | | | | | | | | | The crash happens in the Nvidia driver in glXReleaseTexImageEXT when scrolling the corkboard using the mouse. To work around it we detect the Nvidia driver versions where this is known to be a problem and skip using the texture from pixmap extension in those cases. Task-number: QTBUG-12914 Reviewed-by: Trond
* | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-08-121-3/+8
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Properly emit geometryChanged() when the position change. QCoreApplication::library path, ensure mutex lock ordering Fix memory leak.
| * | Fix memory leak.Sarah Smith2010-08-121-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mac only bug - run examples/opengl/overpainting under leak detect instrument on Mac OSX to see it. Memory leak in any application that called getProcAddress() - CFStrings have to be cleaned up if the name of the function you got them from contains the word "Create" - and we weren't doing that. Reviewed-by: Gunnar Sletta
* | | Fixed autotest failure in tst_qgl::clipTest.Samuel Rødal2010-08-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Change fb00d5003ac5d91953a95d8164180f8f56a2b0f2 introduced a slight behavioural change by leaving the surface handle dangling. We need to unset the surface handle even if we don't own it to make sure we don't access it again. Reviewed-by: Gunnar Sletta
* | | Added way to destroy the share widget in the GL graphics system.Samuel Rødal2010-08-122-0/+20
|/ / | | | | | | | | | | | | This lets us destroy the share widget temporarily if we want to free up OpenGL resources for a while. Reviewed-by: Gunnar Sletta
* | Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Thiago Macieira2010-08-112-1/+5
|\ \ | |/ | | | | | | | | | | | | Conflicts: src/gui/kernel/qt_s60_p.h src/opengl/qglextensions.cpp src/opengl/qglshaderprogram.cpp tests/auto/mediaobject/tst_mediaobject.cpp
| * Don't resolve GLSL extensions if no shadersRhys Weatherley2010-08-031-0/+4
| | | | | | | | | | | | | | | | | | | | | | If the GL server is 1.x, but the client is 2.x, then the qt_resolve_glsl_extensions() function was returning true because the functions existed client-side, when it should have returned false because the functionality didn't exist server-side. Task-number: QTBUG-12478 Reviewed-by: Sarah Smith
| * setUniformValue(QSize) was setting (w,w) not (w,h)Rhys Weatherley2010-08-031-1/+1
| | | | | | | | | | Task-number: QTBUG-12591 Reviewed-by: Daniel Pope
* | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into 4.7Jerome Pasion2010-08-091-2/+2
|\ \
| * | OpenGL: Fix multisample renderbuffer creation when MAX_SAMPLES is 0.Christian Kamm2010-08-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Previously, we would try to create one with samples = 1 anyway, potentially resulting in an INVALID_VALUE error. Task-number: QTBUG-12757 Reviewed-by: Samuel Rødal
* | | Correcting spelling mistakes in documentation. Part of fix for QTBUG-11938.Jerome Pasion2010-08-091-1/+1
|/ / | | | | | | | | Reviewer: David Boddie Task number: QTBUG-11938
* | Do check after all if we have partialUpdateSupport.Michael Dominic K2010-07-261-4/+3
| | | | | | | | | | | | Task-number: QTBUG-12266 Merge-request: 752 Reviewed-by: Trond