summaryrefslogtreecommitdiffstats
path: root/src/opengl
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2011-07-211-0/+4
|\ | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public: Fix compilation on Symbian platforms without SgImage support
| * Fix compilation on Symbian platforms without SgImage supportJani Hautakangas2011-07-211-0/+4
| | | | | | | | Reviewed-by: Laszlo Agocs
* | Don't use GL_REPEAT for NPOT textures in GLES2.Samuel Rødal2011-07-181-1/+12
|/ | | | | | | | | | | | | | | We already handle NPOT textures correctly by calling fract() on the texture coordinates in the fragment shader, but we also need to make sure not to set GL_REPEAT as the wrap mode, because the GLES2 spec says that the driver should return (0, 0, 0, 1) if an NPOT texture has wrap mode different from GL_CLAMP_TO_EDGE. Previous GLES2-implementations we've tested on have thus not been GLES2-compliant (or supported GL_OES_texture_npot). Partial back-port / modification of c5a377e944f9a87c372ff8371c66b03d861803a6 in 4.8. Reviewed-by: Kim
* Introduce QPixmap::fromSymbianRSgImage(RSgImage*) to GL engineJani Hautakangas2011-06-305-471/+336
| | | | | | | | Initial implementation of QPixmap::fromSymbianRSgImage(RSgImage*) on OpenGL graphics system. Task-number: QTBUG-15254 Reviewed-by: Laszlo Agocs
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt into 4.7Laszlo Agocs2011-06-201-2/+5
|\
| * Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2011-06-101-2/+5
| |\ | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: Fixing OpenGL module build error on Solaris
| | * Fixing OpenGL module build error on SolarisMartin Pejcoch2011-06-101-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | Even though the code was correct, the CC 5.9 compiler was producing an error. Task-number: QTBUG-19641 Reviewed by: Kim Motoyoshi Kalland Reviewed by: Samuel Rødal
* | | Proper naming for raster pixmap and paintengine on Symbian.Laszlo Agocs2011-06-161-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | As QTBUG-19880 highlighted, the old S60 naming is not suitable for these classes anymore. Task-number: QTBUG-19913 Reviewed-by: Jani Hautakangas
* | | Handle QVolatileImage-backed pixmaps optimally in drawPixmap().Laszlo Agocs2011-06-161-1/+0
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | When drawing such pixmaps (used by both the openvg and opengl graphics systems) onto another pixmap or to a QImage, the performance was sub-optimal due to missing and accidentally disabled support specific to QVolatileImage. This is now fixed and drawing pixmaps into a QImage is also made optimal by using the QS60PaintEngine for QImage too. This will cause a 5-7x (or even up to 12x on certain hardware and platform) increase in offscreen pixmap drawing performance. Task-number: QTBUG-19880 Reviewed-by: Jani Hautakangas
* | Add missing freeTexture() from fix for QTBUG-19180Jani Hautakangas2011-06-092-0/+28
| | | | | | | | | | Task-number: QTBUG-19180 Reviewed-by: TRUSTME
* | Simplify texture pooling logic in GL graphics system.Jani Hautakangas2011-06-0911-291/+191
| | | | | | | | | | | | | | | | | | | | | | | | | | Remove ugly TemporarilyCachedBindOption and use QGLTexture objects as texture pool entries instead of QGLPixmapData. Make texture pooling totally Symbian specific, remove VG like texture pooling code and use common texture binding path which is used on other platforms also on Symbian. QGLPixmapData should be only used to bind SgImage based textures (will be implemented by another commit). Task-number: QTBUG-19180 Reviewed-by: Samuel Rødal
* | Fix for BCM2727 chip detection on SymbianJani Hautakangas2011-05-301-3/+1
|/ | | | | | | | | | | | | | QSymbianGraphcisSystemEx::hasBCM2727() uses bool QApplicationPrivate::useTranslucentEGLSurfaces to decide if Symbian is running on BCM2727 chip which is not entirely correct. bool QApplicationPrivate::useTranslucentEGLSurfaces should be assigned according to QSymbianGraphcisSystemEx::hasBCM2727() and QSymbianGraphcisSystemEx::hasBCM2727() should be also static function. Task-number: QTBUG-19578 Reviewed-by: Laszlo Agocs
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2011-05-1775-1292/+1292
|\ | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: Updating file with CRLF line endings for the updated header Fix a regression in QList::mid() update gitignore remove -fno-stack-protector Fix make confclean Update licenseheader text in source files
| * Update licenseheader text in source filesJyri Tahtela2011-05-1375-1292/+1292
| | | | | | | | | | | | | | Updated version of LGPL and FDL licenseheaders. Apply release phase licenseheaders for all source files. Reviewed-by: Trust Me
* | Enable multisampling on Symbian if hw supports itJani Hautakangas2011-05-111-9/+21
| | | | | | | | | | | | | | | | BCM2727 don't have hw support for multisampling but on other chips it should be enabled on Symbian. Task-number: QTBUG-19183 Reviewed-by: Samuel Rødal
* | Introduce platform extension to QGraphicsSystemJani Hautakangas2011-05-102-4/+19
|/ | | | | | | | | Qt on Symbian needs some special capabilities to be able to work on 32MB GPU. This patch introduces some Symbian specific functions to QGraphicsSystem Task-number: QTBUG-17882 Reviewed-by: Laszlo Agocs
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2011-05-021-0/+11
|\ | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public: Fix trailing whitespaces Fix for native child widget performance issue.
| * Fix trailing whitespacesJani Hautakangas2011-05-021-1/+1
| | | | | | | | Reviewed-by: TRUSTME
| * Fix for native child widget performance issue.Jani Hautakangas2011-05-021-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | Flushing native child widgets in VG and GL window surfaces caused performance downgrade because unnecessary swapBuffers calls. On Symbian we must not support flushing native child widgets in VG and GL window surfaces because it causes GPU memory overhead and performance issues. Symbian graphics architecture allows us to render native child widgets to TLW EGL surface correctly in most of the cases. Task-number: QTMOBILITY-1570 Reviewed-by: Samuel Rødal
* | Fix missing glyphs for large fonts with QStaticText/GL/FreetypeEskil Abrahamsen Blomfeldt2011-04-291-1/+1
|/ | | | | | | | | | | | | | | | | | | | When rendering fonts that are so large the Freetype engine will fall back to outline rendering, we would sometimes lose glyphs that were at the edge of the texture, because the width of the image returned by QFontEngine::alphaMapForGlyph() includes a margin (which the other font engines do not) and thus it would sometimes be wider than the available area in the cache's texture. This would in turn cause the GL call to copy the glyph into the cache to fail. The correct fix would probably be to make the algorithm used to calculate the width in QFontEngine::alphaMapForGlyph() the same as the algorithm used by the glyph cache (which would mean to remove the margin there), but to minimize the impact in a patch release, we fix the symptom and move the correct fix to next minor release instead. Task-number: QT-4876 Reviewed-by: Jørgen
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2011-04-261-32/+16
|\ | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public: Input method hints are not correct if using proxy widget Fix for GL graphcics system orientation which Update Symbian platform notes documentation
| * Fix for GL graphcics system orientation whichJani Hautakangas2011-04-261-32/+16
| | | | | | | | | | | | | | | | | | OpenGL context needs to be recreated on Symbian when orientation changes. Previously only the EGL surface was recreated which wasn't enough. Task-number: QTBUG-18850 Reviewed-by: Samuel Rødal
| * Merge commit 'refs/merge-requests/2584' of gitorious.org:qt/qt into ↵Sami Merila2011-03-291-2/+25
| |\ | | | | | | | | | merge-requests/2584
* | \ Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-doc-staging into ↵Qt Continuous Integration System2011-04-061-13/+0
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/qt-doc-staging: Fixed the declarative headers and includes within qdoc. Removed invalid public slots section. Minor feature fix led to refactoring for i18n's sake. Fixed string-int concatenation issue. qdoc: Allowed multiple values for certain metadata tags. qdoc: modified \include to take a 2nd arg, snippet id. Doc: Minor fix to title. Doc: Fixed markup. Doc: Added a missing command. Doc: Removed duplicate documentation. Removed some links and prettified others. Doc: Squashed commit of Roland Wolf's threading tutorial.
| * \ \ Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-doc-team into 4.7David Boddie2011-04-053-3/+72
| |\ \ \
| * \ \ \ Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-doc-team into 4.7David Boddie2011-03-295-23/+51
| |\ \ \ \ | | | |_|/ | | |/| |
| * | | | Doc: Removed duplicate documentation.David Boddie2011-03-251-13/+0
| | | | |
* | | | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2011-03-312-2/+2
|\ \ \ \ \ | |_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Fixed not switching to MeeGo graphicssystem. Fixed rounding of coordinates pre-transformation in CG paintengine. Don't include qwindowsurface_gl_p.h on QT_OPENGL_ES_1.
| * | | | Don't include qwindowsurface_gl_p.h on QT_OPENGL_ES_1.Samuel Rødal2011-03-292-2/+2
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | This causes linker errors since qwindowsurface.cpp isn't compiled. Task-number: QTBUG-14217 Reviewed-by: Eskil Abrahamsen Blomfeldt
* | | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2011-03-283-3/+72
|\ \ \ \ | |/ / / |/| | / | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public: Show softkeys when opening a dialog that has a fullscreen parent. Fixed autotests on Windows. QS60Style: draw QComboBox menu correctly Remove two compilation warnings for ARM QTabWidget tabs are resized in wrong way when device rotates Symbian: QComboBox popup Listbox size is not adjusted Switched back to using symlinks for all mkspecs on Linux. QS60Style: Support for Menu separators Native image handle provider support in QGLPixmapData Fix an issue with VGImage readback in openvg. QSysInfo support for next generation Symbian devices. Call FixNativeOrientation on Symbian for certain fullscreen qml views.
| * | Native image handle provider support in QGLPixmapDataLaszlo Agocs2011-03-243-3/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | QGLPixmapData's fromNativeType() accepts QNativeImageHandleProvider pointers with type NativeImageHandleProvider from now on, similarly to OpenVG pixmaps. Task-number: QTBUG-18209 Reviewed-by: Jani Hautakangas
* | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2011-03-225-23/+51
|\ \ \ | |/ / | | / | |/ |/| | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public: Implement tiled image and pixmap drawing in VG paint engine. Changed maximum heap size for qmlflickr on Symbian. Change Symbian to use destroyed swap behaviour in GL Remove useless profile reference.
| * Change Symbian to use destroyed swap behaviour in GLJani Hautakangas2011-03-225-23/+51
| | | | | | | | | | | | | | | | Destroyed swap behaviour is a little bit faster than preserved swap with heavily animated UIs like QML. Task-number: QTBUG-18270 Reviewed-by: Samuel Rødal
* | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2011-03-213-141/+126
|\ \ | |/ | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public: Change the pooled QGLPixmapData to be backed by QVolatileImage. Started changes-4.7.4 file Changed s60 style not to rely on QPixmapData::toNativeType(). Add missing bitmap locking to QVGPixmapData::fromNativeType. Prepare fromSymbianCFbsBitmap autotest for 16 bpp format.
| * Change the pooled QGLPixmapData to be backed by QVolatileImage.Laszlo Agocs2011-03-213-141/+126
| | | | | | | | | | | | | | | | | | | | This change currently affects QGLPixmapData on Symbian only. Similarly to the OpenVG engine, using QVolatileImage allows more efficient handling of to- and fromSymbianCFbsBitmap, reduces local heap usage, and improves s60 style performance. Task-number: QTBUG-15252 Reviewed-by: Jani Hautakangas
* | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2011-03-171-2/+25
|\ \ | |/ |/| | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Changes to driver workarounds. Switch to raster also when last window is destroyed (on MeeGo). Clipboard/Windows: Fix a hang when sending to non-responsive clients.
| * Changes to driver workarounds.Robin Burchell2011-03-171-2/+25
| | | | | | | | | | | | | | | | | | | | | | | | - Force enable brokenFBOReadBack on non-Nokia v1.4 SGX drivers (as this is apparantly not fixed, except on the Nokia drivers) - Add debug when workarounds are enabled to ease debugging This fixes the following MeeGo bug: https://bugs.meego.com/show_bug.cgi?id=5616 Merge-request: 1144 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* | Hot fix for compilation without QGL_USE_TEXTURE_POOLJani Hautakangas2011-03-151-0/+2
| | | | | | | | Reviewed-by: TRUSTME
* | Initial implementation of GLES2.0 resource poolingJani Hautakangas2011-03-1512-17/+1467
| | | | | | | | | | | | | | | | | | Keep the implementation in separate qpixmapdata_poolgl.cpp file until the pooling has been verified and confirmed to work ok. Task-number: QTBUG-15253 QTBUG-17850 Reviewed-by: Samuel Rødal
* | Don't use EGL surfaces for translucency with 32MB GPU chip.Jani Hautakangas2011-03-101-0/+12
| | | | | | | | | | | | | | | | | | | | | | Add dynamic GPU chip detection on Symbian to decide if translucent EGL surfaces can be used. With 32MB GPU memory there is not enough memory to create for example transparent video overlay widgets and that's why hw surfaces must not be used. Task-number: QTBUG-18024 Reviewed-by: Jason Barron
* | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2011-02-264-70/+266
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public: Update QtOpenGL def files Fix extern usage in qpixmapdata_gl.cpp Fix for loading QPixmaps from file in GL graphics system Fix code style in qgl_symbian.cpp QPixmap::to/fromSymbianCFbsBitmap() in OpenGL graphics system. Use the 'convertInPlace' versions of QImage in QGLPixmapData load. Recreate GL surface when native window is resized on Symbian
| * Fix extern usage in qpixmapdata_gl.cppJani Hautakangas2011-02-251-1/+1
| | | | | | | | | | | | | | 'extern' is insufficient for linking on DLL-based platforms that use ELF binaries. Reviewed-by: TRUSTME
| * Fix for loading QPixmaps from file in GL graphics systemJani Hautakangas2011-02-251-22/+22
| | | | | | | | | | | | | | | | | | QPixmap::load fails if extension (.png) is left out from given filename when loading a pixmap. QPixmap should try loading with all supported formats. Task-number: QTBUG-17328 Reviewed-by: Samuel Rødal
| * Fix code style in qgl_symbian.cppJani Hautakangas2011-02-251-4/+4
| | | | | | | | Reviewed-by: TRUSTME
| * QPixmap::to/fromSymbianCFbsBitmap() in OpenGL graphics system.Jani Hautakangas2011-02-252-0/+119
| | | | | | | | | | | | | | | | | | Implementation of Symbian specific conversion functions for converting Symbian native bitmap to QPixmap and QPixmap to Symbian native bitmap. Task-number: QTBUG-16977 Reviewed-by: Jason Barron
| * Use the 'convertInPlace' versions of QImage in QGLPixmapData load.Jani Hautakangas2011-02-252-34/+83
| | | | | | | | | | | | | | | | Change QGLPixmapData load functions to use 'convertInPlace' versions of QImage to save memory. Task-number: QTBUG-17256 Reviewed-by: Samuel Rødal
| * Recreate GL surface when native window is resized on SymbianJani Hautakangas2011-02-251-13/+41
| | | | | | | | | | | | | | | | Symbian doesn't automatically resize EGL surface when native window is resized. Task-number: QTBUG-15249 Reviewed-by: Jørgen Lind
* | Fixed tst_qpixmap::toImageDeepCopy autotest for GL graphicssystem.Samuel Rødal2011-02-091-0/+6
| | | | | | | | | | | | We need to copy the image if painting is active. Reviewed-by: Jani Hautakangas
* | Fixed missing text when using static text items in GL 2 engine.Samuel Rødal2011-02-023-5/+14
|/ | | | | | | | | | | | | | | When the context is destroyed and recreated, we end up with a new glyph cache, but we only recreate the vertex arrays for the very first static text item. We need to keep track of the glyph cache in each text item, so that we can recreate the vertex arrays and re-populate the cache accordingly. As the pointer might be the same after the glyph cache is recreated, we need to use serial numbers instead. We also need to re-create the cache when the context pointer has been invalidated, so that the static text items also get invalidated, and the texture glyph cache gets repopulated. Reviewed-by: Eskil Abrahamsen Blomfeldt
* Fix static build on Windows with MinGW.Mark Brand2011-01-176-12/+12
| | | | | | | | | | | | | | | | | Q_DECL_IMPORT is still __declspec(dllimport), which is unsuitable for static code. Commit edbc656b changed Q_DECL_IMPORT_IMPORT to Q_CORE_EXPORT when declaring QtCore functions in svg. Now we change Q_DECL_IMPORT to Q_GUI_EXPORT when declaring QtGui functions into opengl and openvg. Also removed the redundant keyword "extern" from the function declarations. Merge-request: 2540 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: mariusSO