summaryrefslogtreecommitdiffstats
path: root/src/opengl
Commit message (Collapse)AuthorAgeFilesLines
* QX11GL: Don't do glFinish in endPaintTom Cooksey2010-04-222-7/+0
| | | | | | | | | | | | | | It's better to defer the synchronisation to just before the point it is actually needed. When used as a window surface, this is in flush and scroll. If the QX11GLPixmapData is used as the defaut backend for QPixmaps, it might need to be put back into endPaint. However, the GL driver will hopefully make sure rendering to the pixmap is complete before binding it as a texture via texture-from-pixmap. Also, it's probably better to use eglWaitClient rather than glFinish for synchronisation as it is potentially slightly more optimal. Reviewed-By: TrustMe
* Implement QGLPaintDevice::metric()Tom Cooksey2010-04-222-0/+17
| | | | Reviewed-By: TrustMe
* Remove dead code left after a merge conflict resolutionTom Cooksey2010-04-222-22/+0
| | | | Reviewed-By: Kim
* QX11GL: Fix bug with pixmaps drawn on multiple top-levelsTom Cooksey2010-04-191-2/+17
| | | | Reviewed-By: TrustMe
* Use QGLContextPrivate to track attribarray enabled state.Gunnar Sletta2010-04-191-3/+3
| | | | | Reviewed-by: Trond Reviewed-by: Tom
* Don't resolve geometry shaders every time...Gunnar Sletta2010-04-191-5/+6
| | | | | | | This was a huge extra cost in all QPainter::begin's on GL target surfaces Reviewed-by: Rhys Weatherley
* Set EGL_SWAP_BEHAVIOR to EGL_BUFFER_PRESERVED for regular QWidgetsTom Cooksey2010-04-161-0/+4
| | | | | | | | | QGLWidgets are assumed to be buffer destroyed, however regular QWidgets assume they can to partial updates and thus need the preserved swap behaviour. Reviewed-By: Trond Task-number: QTBUG-9554
* Cleanup & remove unused function overloads from QEgl* APIsTom Cooksey2010-04-162-3/+3
| | | | | | This should make stubbing out these APIs slightly easier. Reviewed-By: TrustMe
* Wrap EGL image function pointers and move into QEgl namespaceTom Cooksey2010-04-151-6/+2
| | | | | | | QtGui exporting a symbol called eglCreateImageKHR seems a pretty silly idea. Much better to have them in the QEgl namespace. Reviewed-By: Iain
* Move nativePaintingActive flag to GL2 engine's privateTom Cooksey2010-04-142-9/+10
| | | | Reviewed-By: Samuel
* More adjustments to QTBUG-6800Carolina Gomes2010-04-143-13/+11
| | | | | Merge-request: 2344 Reviewed-by: Tom Cooksey
* Adjustments to QTBUG-6800 patch.Carolina Gomes2010-04-141-8/+6
| | | | | Merge-request: 2344 Reviewed-by: Tom Cooksey
* QTBUG-6800 patch included, but only for OpenGL 2.0Carolina Gomes2010-04-143-1/+39
| | | | | Merge-request: 2344 Reviewed-by: Tom Cooksey
* Support building with desktop OpenGL managed via EGLTom Cooksey2010-04-146-21/+19
| | | | | | | | | | | | | | | | This mostly replaces lots of QT_OPENGL_ES defines with QT_NO_EGL instead. It also switches off EGL auto-detection by default. This is to make sure we default to using GLX on systems with both EGL and desktop OpenGL. If -opengl es1|es2 or -openvg is specified, then EGL auto-detection is switched back on (as a requirement. If configure auto-detects OpenGL ES it also switches on EGL auto-detection, but failue then just disables both EGL & OpenGL. As a side effect, this patch also fixes building Qt when both EGL and glx are avaliable, as they are in Mesa >= 7.8.0. Reviewed-by: Trond Task-number: QTBUG-9691
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-04-126-7/+44
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: (44 commits) QSlider and StyleSheet: fix one pixel error while drawing the SliderAddPage accelerate QWindowsPipeWriter for bigger chunks of data Fix antialiasing with transformed text in OpenGL2 paint engine Fix flattening of largely scaled, thin, dashed beziers. Increased the precision used to flatten beziers Fix QT_NO_MOVIE Fix compile error with QT_NO_ACTION in QtGui Fix QT_NO_COMPLETER Fix QT_NO_FSCOMPLETER Fix QT_NO_FILESYSTEMMODEL Build fix Safeguard ourselves against corrupt registry values for cleartype gamma fix cetest build properly qdrawhelper: optimize the fetch transformed bilinear functions Compile fix for WinCE Make sure the selectionChanged signal is not called too much Implement heightForWidth support for QTabWidget and QStackedLayout. Fix the doc for QFrame::frameStyle Don't use texture-from-pixmap if the target isn't GL_TEXTURE_2D Add runtime check for GLX >= 1.3 before using glXCreatePixmap ...
| * Merge branch '4.7' of git@scm.dev.nokia.troll.no:qt/oslo-staging-2 into 4.7Eskil Abrahamsen Blomfeldt2010-04-125-12/+50
| |\
| | * Fix flattening of largely scaled, thin, dashed beziers.Gunnar Sletta2010-04-121-4/+24
| | | | | | | | | | | | | | | Reviewed-by: Samuel Task: http://bugreports.qt.nokia.com/browse/QTBUG-9218
| | * Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-04-103-2/+13
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: (27 commits) Fix the doc for QFrame::frameStyle Don't use texture-from-pixmap if the target isn't GL_TEXTURE_2D Add runtime check for GLX >= 1.3 before using glXCreatePixmap QDrawHelper: Reduce code duplications Improve matching X11 VisualIDs to EGL configs Remove obsolete function set_winapp_name() Speedup fetchTransformedBilinear in the fast_matrix case Allow y-interted pixmaps for brushes in GL2 paint engine Build fix for mingw Fix build with mingw (64 bit) Make configure.exe compatible with mingw 64 Adjust indentation e-Ink support cleanup Tweak the display update IOCTL calls Support 8-Track e-Ink devices Get stride from LinuxFB instead of calculating it ourselves. Use DIR_SEPARATOR when setting up variables for RCC and UIC in features. Fixed bug in QPainterPath::intersected(). Fix compile error with QT_NO_ANIMATION O(n^2) to O(n) optimization in QTreeWidget::selectedItems() ...
| | | * Don't use texture-from-pixmap if the target isn't GL_TEXTURE_2DTom Cooksey2010-04-091-1/+2
| | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-8546 Reviewed-By: TrustMe
| | | * Add runtime check for GLX >= 1.3 before using glXCreatePixmapTom Cooksey2010-04-091-0/+8
| | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-9084 Reviewed-By: TrustMe
| | | * Allow y-interted pixmaps for brushes in GL2 paint engineTom Cooksey2010-04-091-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This means texture-from-pixmap can now be used for brush pixmaps. Task-number: QTBUG-9707 Task-number: QT-3013 Reviewed-By: Samuel Rødal
| * | | Fix antialiasing with transformed text in OpenGL2 paint engineEskil Abrahamsen Blomfeldt2010-04-123-1/+7
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the paint engine now transforms the prerendered glyphs instead of rendering transformed glyphs as paths, we need to turn on texture filtering to avoid antialiasing artifacts. In order to do this, we also need to pad the glyphs in the glyph cache, otherwise you will get artifacts when sampling the area around the glyph's bounding rect (where there might be other glyphs.) This done by adding a glyphPadding() function to the cache which returns the number of pixels to pad between each glyph. Task-number: QTBUG-9706 Reviewed-by: Tom
* | | Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Thiago Macieira2010-04-122-5/+13
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | Conflicts: qmake/generators/symbian/symmake.cpp src/gui/image/qimage.cpp src/openvg/qwindowsurface_vgegl.cpp
| * | Fixed possible data corruption in the triangulating stroker.Trond Kjernåsen2010-04-091-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | In the case where a polygon or polyline that contains consequtive equal points, we end up calculating an invalid normal vector for the joins. This fix skips past duplicate consequtive points. Task-number: QTBUG-9548 Reviewed-by: Kim
| * | Fixed caching of QPainter patterns in the GL 2 engine.Trond Kjernåsen2010-04-071-1/+1
| | | | | | | | | | | | | | | | | | | | | The patterns all got the same cache key (e.g. 1), which caused the patterns to be uploaded as a texture every single time they were used. Reviewed-by: Kim
* | | Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Thiago Macieira2010-04-091-6/+13
|\ \ \ | |/ / | | / | |/ |/| Conflicts: src/multimedia/audio/qaudioinput_win32_p.h
| * Allow attributes to be bound after a QGLShaderProgram is linked.Rhys Weatherley2010-03-311-6/+13
| | | | | | | | | | Task-number: QTBUG-9450 Reviewed-by: Sarah Smith
* | Merge branch '4.7' of git@scm.dev.nokia.troll.no:qt/oslo-staging-2 into 4.7David Boddie2010-03-3044-1310/+5953
|\ \ | |/ |/| | | | | | | | | | | | | | | Conflicts: doc/src/modules.qdoc mkspecs/common/symbian/symbian.conf src/gui/graphicsview/qgraphicswidget.h src/s60installs/bwins/QtGuiu.def src/s60installs/eabi/QtGuiu.def
| * Fix build on WindowsTom Cooksey2010-03-261-0/+1
| | | | | | | | | | | | | | On unix platforms, QT_NO_EGL is defined by configure. However, this is not defined by windows's configure.exe so add it in opengl.pro. Reviewed-By: Brad
| * Avoid having to create temporary QPixmaps when binding to textureTom Cooksey2010-03-264-13/+10
| | | | | | | | Reviewed-By: TrustMe
| * Implement Texture-From-Pixmap using EGLImage extensions on X11/EGLTom Cooksey2010-03-264-35/+159
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's lots of EGLImage extensions, split between EGL and client rendering APIs like OpenGL ES & OpenVG. To implement texture-from- pixmap using EGLImage, both EGL extensions and OpenGL ES extensions are needed. This patch resolves the EGL extension function pointers after the display is initialized in QEgl::display(). These are then exported from QtGui so they can be used in QtOpenGL. The OpenGL ES extension function pointers are resolved using the usual qglextensions.cpp mechanism. Using EGLImage seems to remove a fixed ~10 millisecond overhead per pixmap bind when compared to using EGLSurface. Exact results per bind for 100 QPixmaps are: 8x8 Pixmap: 12 -> 1.71 msecs (EGLSurface -> EGLImage) 64x64 Pixmap: 11.6 -> 1.83 msecs (EGLSurface -> EGLImage) 128x128 Pixmap: 12.8 -> 2.74 msecs (EGLSurface -> EGLImage) 256x256 Pixmap: 16 -> 6.20 msecs (EGLSurface -> EGLImage) Reviewed-By: Trond
| * Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-03-233-17/+19
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (98 commits) get rid of build warning messages Quiet unnecessary configure/qmake warnings when EPOCROOT is not set. Add configure test for Maemo Internet Connection Daemon. fix warning Rename getter function used in test also. Revert "Avoid a data relocation by not trying to store a pointer in the .data section of plugins." Make QStackTextEngine cheaper to construct Add a function to get the transitions available from a state Add a new WA_X11DoNotAcceptFocus attribute for top-level widgets (part 2). Code cleaning for the QStringList's joinEmptiness() test case Fix behavior change QStringList::join() for null Add a new WA_X11DoNotAcceptFocus attribute for top-level widgets. Cocoa: fix eventdispatcher crash, found by macgui autotest Make QWidget::activateWindow() NET window manager aware. Upgraded QLocale data to Unicode CLDR 1.8.0 Improved CLDR parser. Fixed reading draft data from CLDR. Improved the cldr parser for QLocale. Do not use FSEvents-based filesystemwatcher backend on Mac. add file missing in commit 74f5e34979b8a08a91aa3c2fa6d252e68eca7817 ...
| | * Merge remote branch 'origin/4.7' into oslo-staging-1Aaron McCarthy2010-03-231-0/+24
| | |\ | | | | | | | | | | | | | | | | Conflicts: src/gui/itemviews/qabstractitemview.cpp
| | * \ Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-03-213-17/+19
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (75 commits) Autotests: if you use X11 libs, you must link to X11 libs explicitly. Disable C++0x mode for QtWebKit and QtScript since WebKit will not compile any time soon with C++0x Compile Phonon in C++0x mode. Compile Qt in C++0x mode. Avoid a data relocation by not trying to store a pointer in the .data section of plugins. Fix cast-from-ascii warning Fix compilation on Linux Fix compilation with WINSCW: #include doesn't find files in the same dir Rename m_volume to m_vol Add 2 signals, introduce side widget, make it possible to reset startId Do not create native window handle just because a parent has one. Tab color fix for document mode on Snow Leopard. Revert "Don't emit open signal on session close/error." Rename networkAccess property to networkAccessible. Don't emit open signal on session close/error. Rename private signal. Autotest: fix instability by accepting rounding errors Dont force height for filter widget - Fix importdir option on unix/linux configure Remove incorrect semi-colons after Q_PROPERTY ...
| | | * | Compile Qt in C++0x mode.Thiago Macieira2010-03-203-17/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is not valid in C++0x: char str[] = { 128, 0 }; Because 128 cannot be represented in a char. The same applies to conversion from int to qreal: it's a narrowing conversion, with possible data loss. More info: http://www2.research.att.com/~bs/C++0xFAQ.html#narrowing Reviewed-by: Trust Me
| * | | | API fixes to QGLBuffer.Rhys Weatherley2010-03-222-21/+14
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | Use GLuint for bufferId(), not uint. Replace the raw bind() function with a raw release(), because that's the only useful case for being able to do a raw glBindBuffer(). Reviewed-by: Daniel Pope
| * | | Added warnings on non-created buffer in QGLBufferGunnar Sletta2010-03-221-0/+24
| |/ / | | | | | | | | | Reviewed-by: Rhys Weatherley
| * | Make an attemt to upload QPixmap in the most optimal format on 16-bitGunnar Sletta2010-03-191-2/+9
| |/ | | | | | | | | | | | | | | On 16-bit configs, using 16-bit textures gives us quite a bit of performance extra, so making this extra effort prior to uploading it seems worth it. Reviewed-by: Samuel
| * Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-03-191-5/+5
| |\ | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Removed an assert in the print dialog on windows simple cleanup in QSplitter Actually use GL texture cache when bindoptions are provided
| | * Actually use GL texture cache when bindoptions are providedGunnar Sletta2010-03-191-5/+5
| | | | | | | | | | | | Reviewed-by: Trond
| * | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-qml into 4.7-integrationQt Continuous Integration System2010-03-182-12/+17
| |\ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * '4.7' of scm.dev.nokia.troll.no:qt/qt-qml: (147 commits) Add missing semicolons. moc was confused and positionViewAtIndex not invokable. Use the correct base URL in resolveUri Remove timing sensitivity. Optimize id checking. Fix examples after 47fb07c9fdf47584ae55f3412102bbeef5576b04. Don't use QScriptValueIterator to iterate over arrays. Skip test, to be fixed. Only release the binding once we're finished with its memory Make it harder to accidentally delete a binding Adjust test now that redundant contexts are not create due Block modifications to internal QDeclarativeContexts Don't destroy cookie jar until while someone may be using it. Fix tests after 47fb07c9fdf47584ae55f3412102bbeef5576b04. Another fix to find Improve implicit "." import Fix auto test Fix type lookup with url Fix default values on Textinput Add an implicit import "." to types loaded from a local url Fix crash ...
| | * Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-qml into 4.7-integrationQt Continuous Integration System2010-03-172-12/+17
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * '4.7' of scm.dev.nokia.troll.no:qt/qt-qml: (112 commits) Verbose unexpected errors. One url for an *unqualilfied* import is not special. Fix test failures Optimization: Don't unnecessarily run VMEStack element constructors Optimization: Reduce unnecessary QObject allocations Reset QDeclarativeDeclarativeData::outerContext when the context is removed Simplify QDeclarativeComponent::creationContext() logic Optimization: Use id notifier for QtScript bindings Optimization: Combine QDeclarativeDeclarativeData and QObject allocations Fixes for the module import Fix documentation add alan's tic-tac-toe AI Remove test in .pro file also Remove unneeded #include and add needed header to .pri Add easing changes to QmlChanges.txt Update more animation on property value source docs. Doc fixes. QmlChanges.txt cleanup. Remove WorkerListModel and integrate its functionality into ListModel. Split post alpha API changes into a separate section. ...
| | | * Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-qml into 4.7-integrationQt Continuous Integration System2010-03-162-12/+17
| | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * '4.7' of scm.dev.nokia.troll.no:qt/qt-qml: (100 commits) Remove test in .pro file also Remove unneeded #include and add needed header to .pri Add easing changes to QmlChanges.txt Update more animation on property value source docs. Doc fixes. QmlChanges.txt cleanup. Remove WorkerListModel and integrate its functionality into ListModel. Split post alpha API changes into a separate section. Optimize drawPixmapFragments for the GL2 paint engine. Optimize QRegion::intersects(QRect). Compile with user defined Qt namespace Fix regression from previous commit Import "content" with as qualifier to support network without qmldir Small fixes to photoviewer demo Little more doc on QabstractItemModel and QML. Fix benchmark. Add basic QUrl benchmarks. Add busy indicator to photoviewer demo Set maximumExtents correctly for highlightRangeMode: StrictlyEnforceRange fix installation of imports libraries ...
| | | | * Optimize drawPixmapFragments for the GL2 paint engine.Michael Brasser2010-03-152-12/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In this case, we don't need QGL2PEXVertexArray to keep track of min and max information. Reviewed-by: Samuel
| * | | | Add a raw bind() function to QGLBuffer.Rhys Weatherley2010-03-182-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is awkward for a Qt application to do the equivalent of glBindBuffer(GL_ARRAY_BUFFER, 0) without knowing the QGLBuffer that was previously bound, or to bind a raw id obtained elsewhere. Resolving the extension is annoying. This change provides a raw low-level version of bind() for directly resolving and calling glBindBuffer() to assist such applications. Reviewed-by: Sarah Smith
| * | | | Make sure XCopyArea has completed before resuming renderingTom Cooksey2010-03-171-0/+6
| | | | | | | | | | | | | | | | | | | | Reviewed-By: TrustMe
| * | | | Make QX11GLPixmapData::scroll() return a valueTom Cooksey2010-03-171-1/+3
| | | | | | | | | | | | | | | | | | | | Reviewed-By: TrustMe
| * | | | Fix some rendering/scrolling artifacts with QX11GLWindowSurfaceTom Cooksey2010-03-171-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The GL2 paint engine sometimes adds a 0.49,0.49 offset when rendering into a multi-sampled QGLPaintDevice. The problem was that we weren't updating the QGLContext's QGLFormat with the EGLConfig so the paint engine thought it was rendering into an surface without multisampling and thus added the offset. Reviewed-By: TrustMe
| * | | | Implement scrolling in QX11GLWindowSurfaceTom Cooksey2010-03-172-13/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Seems to have some artifacts when scrolling by 1 pixel, but apart from that works pretty well. Reviewed-By: TrustMe
| * | | | Make WA_TranslucentBackground work with QX11GLWindowSurfaceTom Cooksey2010-03-171-0/+2
| | | | | | | | | | | | | | | | | | | | Reviewed-By: TrustMe