summaryrefslogtreecommitdiffstats
path: root/src/opengl
Commit message (Collapse)AuthorAgeFilesLines
* Fix text rendering in GL when using the broken-fbo-fallbackEskil Abrahamsen Blomfeldt2010-10-071-1/+1
| | | | | | | | | | | This is a backport of 3874cd95e203da40d5205ef6455d7f56cba6923a which was committed to qt:master. Since the patch that originally exposed the bug was added to 4.7.2, this patch is required there as well. Bug is visible when resizing the glyph cache on devices where QGLContext::brokenFBOReadback defaults to true, or by setting this to true on desktop. Reviewed-by: Gunnar
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-10-061-2/+3
|\ | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Adding a threshold for partial updates. Fixed arm X11 build.
| * Adding a threshold for partial updates.Michael Dominic K2010-10-051-2/+3
| | | | | | | | | | Merge-request: 841 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* | Quick fix for OSX and Windows/Mingw compilation errors.Jani Hautakangas2010-10-051-8/+8
| | | | | | | | | | | | | | | | | | | | On OSX AssertMacros.h header has macro called verify() and QRBTree::verify() function was substituted by this macro. On Windows/Mingw includes need to point to exported private include folder. Reviewed-by: Kim
* | Fix gcc compilation problems in QtOpenGL. Actually was typo andJani Hautakangas2010-10-041-2/+2
| | | | | | | | | | | | for some reason rvct didn't catch that. Reviewed-by: TRUSTME
* | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2010-10-044-134/+334
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public: Fixed library ordering when linking to qtmain. Made javascriptcore depend on corelib. Enable QtOpenGL vector path caching on Symbian/IVE3 Made scripttools disabled on Symbian by default, like on Windows. Got rid of "No such directory" warning when shadow building. Added qmake check for presence of RHttpDownloadMgr header Fixed crash on startup in Symbian debug build fixed hybrid heap Symbian udeb build issues qmediaplayer: show buffer status of 0% Progressive download in Phonon MMF backend: integrated with player Progressive download in Phonon MMF backend: added download managers Remove partial upgrade deployment generation for Webkit
| * Enable QtOpenGL vector path caching on Symbian/IVE3Jani Hautakangas2010-10-044-134/+334
| | | | | | | | | | | | | | | | | | | | IVE3 doesn't support UNSIGNED_INT <type> index values in DrawElements. This patch checks if GL_OES_element_index_uint extensions is supported and determines DrawElement indices type based on that. On desktop environment UNSIGNED_INT is always supported. Task-number: QTBUG-13563 Reviewed-by: Gunnar
* | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-10-015-20/+53
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: (24 commits) Stabilize tst_QGraphicsWidget::QT_BUG_13865_doublePaintWhenAddingASubItem Fixed accessing freed memory in raster engine. Build fix for -qtnamespace. Fixed parsing of SVGs with absolute font sizes. Moving QPdf::stripSpecialCharacter to fontengine Revert "Fix (implement!) hfw/wfh in QGridLayoutEngine" Fixed a layout issue where you could get NaN as dimensions QTextCodec: Fix valgrind warning when using QTextCodec in destructions functions Fix double painting when adding an item into a linear layout Fixed antialiased rasterization bug in raster engine. Fixed potential crash when loading corrupt GIFs. Work around an ATI driver problem with mutli-sampled pbuffers. tst_qstatemachine.cpp: fix compilation with Sun Studio Fixed regression in clipping.qps autotest on 64-bit. Fixed crash when using Qt::WA_DeleteOnClose on a QPrintDialog on Mac. Fixed performance regression in curve stroking. Don't disable texture_from_pixmap on GLX/X11 by default. Avoid creating copy of an image in memory when storing as png Doc update for the support of MSVC 2010 64-bit fix documentation of drawText(int, int, int, int, ... ...
| * 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
* | Fallback to A8 text rendering on Mac when LCD smoothing is disabledAaron Kennedy2010-09-291-0/+7
| | | | | | | | | | Task-number: QTBUG-14050 Reviewed-by: Eskil Abrahamsen Blomfeldt
* | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-qml into 4.7Aaron Kennedy2010-09-286-88/+92
|\ \ | |/
| * 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
* | | Minimize parameter changes on glyph cache texturesAaron Kennedy2010-09-283-5/+32
| | | | | | | | | | | | | | | | | | | | | Cache the last set filtering mode on glyph textures and update only when necessary. Reviewed-by: Gunnar Sletta
* | | Only set maskTexture sampler uniform onceAaron Kennedy2010-09-282-6/+13
| | | | | | | | | | | | | | | | | | | | | Qt always uses the same texture unit as the maskTexture, so it makes sense to set the uniform only once when the program is created. Reviewed-By: Gunnar Sletta
* | | Only repopulate the glyph cache when we know something could have changedAaron Kennedy2010-09-281-11/+16
| | | | | | | | | | | | Reviewed-by: Gunnar Sletta
* | | Remove unnecessary attribute changesAaron Kennedy2010-09-231-2/+0
| | | | | | | | | | | | | | | | | | | | | The only consumer of TextDrawingMode is drawCachedGlyphs, and it always sets these two attrib pointers anyway. Reviewed-By: Gunnar Sletta
* | | Invalidate QStaticText coord cache when texture size changesAaron Kennedy2010-09-231-1/+8
|/ / | | | | | | | | | | | | If the glyph cache texture changes size, the texture coordinate array must be regenerated to point to the correct texture locations. Reviewed-By: Gunnar Sletta
* | 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