summaryrefslogtreecommitdiffstats
path: root/src/opengl
Commit message (Collapse)AuthorAgeFilesLines
* 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
* | QGLBuffer::bind()/release() should not be const functions.Trond Kjernåsen2010-07-262-4/+4
| | | | | | | | | | | | | | | | This is more or less the same as in the QGLFramebufferObject::bind()/release() case. Task-number: QTBUG-12319 Reviewed-by: Kim
* | Merge remote branch 'origin/4.7' into 4.7-from-4.6Rohan McGovern2010-07-172-5/+11
|\ \ | | | | | | | | | | | | Conflicts: tests/auto/qtexttable/tst_qtexttable.cpp
| * | Silence warning when building with MSVC 2005Andy Shaw2010-07-141-1/+1
| | | | | | | | | | | | Reviewed-by: Eskil
| * | doc: Fixed several qdoc warnings.Martin Smith2010-07-131-4/+10
| | |
* | | Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Thiago Macieira2010-07-151-1/+1
|\ \ \ | |/ / |/| / | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: bin/syncqt src/3rdparty/webkit/VERSION src/3rdparty/webkit/WebCore/ChangeLog src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.cpp src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.h src/3rdparty/webkit/WebCore/page/FrameView.cpp src/3rdparty/webkit/WebCore/page/FrameView.h src/3rdparty/webkit/WebCore/platform/ScrollView.cpp src/3rdparty/webkit/WebCore/platform/ScrollView.h src/corelib/plugin/quuid.cpp src/gui/dialogs/qfontdialog.cpp src/multimedia/audio/qaudiodevicefactory.cpp src/opengl/qgl.cpp src/openvg/qpaintengine_vg.cpp tests/auto/qxmlquery/tst_qxmlquery.cpp
| * The Q_WGL define was removed years ago.Trond Kjernåsen2010-07-081-1/+1
| | | | | | | | | | | | | | | | The proper define should be Q_WS_WIN. Task-number: QTBUG-12040 Reviewed-by: Prasanth Reviewed-by: Eskil
* | Fix text drawing into alpha pixmap with opengl engineEskil Abrahamsen Blomfeldt2010-07-072-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | The merge 03dc74984749adf5b11482bf871a47086217845c mistakenly merged the glyphMargin() (which had been removed in 4.7 because QGLTextureGlyphCache now inherits from the image glyph cache) with the glyphPadding() which had been introduced in separate commits in both branches (probably backported.) This broke text drawing into a pixmap with an alpha with the GL engine, because we'd assume a margin of 1, but the alphaMapForGlyph() function doesn't support margins. Task-number: QTBUG-11987 Reviewed-by: Gunnar
* | Got rid of unused variable compiler warning.Samuel Rødal2010-07-011-1/+1
| |
* | QGLWindowSurface support for partial updates via EGL_NOK_swap_region2Michael Dominic K2010-07-014-2/+41
| | | | | | | | | | | | | | (if extension available). Merge-request: 712 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* | Check for EGLSurface leak only when paint device is a QGLWidget.Michael Dominic K2010-07-011-9/+12
| | | | | | | | | | | | | | (not QGLWindowSurface for example). Merge-request: 722 Reviewed-by: Trond
* | Export various symbols needed to make a custom GL graphicssystem.Michael Dominic K2010-06-303-2/+4
| | | | | | | | | | Merge-request: 2422 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* | Merge branch '4.7' of git@scm.dev.nokia.troll.no:qt/oslo-staging-2 into 4.7Gunnar Sletta2010-06-308-8/+47
|\ \
| * \ Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-06-286-6/+13
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: (24 commits) Fix an assertion in comp_func_SourceOver_sse2() if const_alpha == 0 Add a manual test for regular widget interaction with the table. New variant of ::createPixmapData with origin for QGraphicsSystem. EGL plane levels are the same as all other GL backends. Need to access extensionFuncs in subclasses too. Export QGLWindowSurface too. Export the QGLPixmapData so that we can override it in a custom graphics system. Fixed autotest failure in QPathClipper on N900. Fixed autotest failure in QPainter::setOpacity when NEON is used. Fix compilation when configured with -no-xrender Add a new (internal) flag QGraphicsItem::ItemStopsClickFocusPropagation. Fixed some potential index-out-of-bounds issues in QImage. Fixed autotest failure in fillRect_stretchToDeviceMode Adding a known issue for VC2010 64 bit Added a note to desupport VC2010 64-bit Normalize integers when calling glVertexAttribPointer() Add an implementation of comp_func_solid_SourceOver_neon() with Neon. Fix the casts of qdrawhelper_sse2 Add a SSE2 implementation of comp_func_solid_SourceOver() Add a SSE2 version of comp_func_SourceOver() ...
| | * \ Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-06-276-6/+13
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: (21 commits) EGL plane levels are the same as all other GL backends. Need to access extensionFuncs in subclasses too. Export QGLWindowSurface too. Export the QGLPixmapData so that we can override it in a custom graphics system. Fixed autotest failure in QPathClipper on N900. Fixed autotest failure in QPainter::setOpacity when NEON is used. Fix compilation when configured with -no-xrender Add a new (internal) flag QGraphicsItem::ItemStopsClickFocusPropagation. Fixed some potential index-out-of-bounds issues in QImage. Fixed autotest failure in fillRect_stretchToDeviceMode Adding a known issue for VC2010 64 bit Added a note to desupport VC2010 64-bit Normalize integers when calling glVertexAttribPointer() Add an implementation of comp_func_solid_SourceOver_neon() with Neon. Fix the casts of qdrawhelper_sse2 Add a SSE2 implementation of comp_func_solid_SourceOver() Add a SSE2 version of comp_func_SourceOver() Fixed missing copy of raster pixmap data after change fb76a872e20bd. Fixed QPixmap::toImage() bug introduced in fb76a872e20bd. Optimized sub-rect copying / painting of QPixmaps. ...
| | | * | EGL plane levels are the same as all other GL backends.Trond Kjernåsen2010-06-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt has never used level 1 for the main plane, it's always been 0 and will always be 0. Reviewed-by: Harald Fernengel
| | | * | Need to access extensionFuncs in subclasses too.Michael Dominic K2010-06-252-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | Merge-request: 2422 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
| | | * | Export QGLWindowSurface too.Michael Dominic K2010-06-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Merge-request: 2422 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
| | | * | Export the QGLPixmapData so that we can override it in a custom graphics system.Michael Dominic K2010-06-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Merge-request: 2422 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
| | | * | Normalize integers when calling glVertexAttribPointer()Rhys Weatherley2010-06-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When QGLShaderProgram::setAttributeArray() is used with a type like GL_UNSIGNED_BYTE, it is normally going to be a value that should be normalized to the range 0..1. But the function wasn't normalizing, which led to errors in programs that used per-vertex colors with the 4ub representation. Reviewed-by: Sarah Smith
| * | | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2010-06-271-1/+1
| |\ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public: (31 commits) Make symbian/unix shadow builds work again. Change the files to camelcase as avkon now does that Update EABI and WINSCW DEF files for Symbian Fix linking on arm with def files Updated Harfbuzz from git+ssh://git.freedesktop.org/git/harfbuzz to 4b88f595ab62b7c5f703a286c4f5f13f8784a936 Fixed incorrect parsing of TARGET.EPOCHEAPSIZE. Fixed make runonphone that looked for the package in the wrong place. Fixed several problems with the postlinker for Symbian (elf2e32). Don't crash when cleaning the uninitialized fontdatabase (Symbian) Revert "Fixing the race condition in event dispatcher implementation on" Revert "Fixing race condition in qeventdispatcher_symbian.cpp code path" Updated Harfbuzz from git+ssh://git.freedesktop.org/git/harfbuzz to a80fd59e3b3b18116803a14e6369345933994236 Updated Harfbuzz from git+ssh://git.freedesktop.org/git/harfbuzz to a80fd59e3b3b18116803a14e6369345933994236 Fixed memory restrictions not being passed on to elf2e32. Allow TLW translucency on Symbian without Qt::FramelessWindowHint Updated UIDs for spectrum demo Ensure that compiling with the no debug/warning output defines works Updated Harfbuzz from git+ssh://git.freedesktop.org/git/harfbuzz to f0dcb906fe56b5dc06aa305b6cfc821d5dd25a28 Clean up HB_Anchor's DeviceTables on failure when loading format 3 Make sure ValueRecord's DeviceTables are cleaned up on failure ...