summaryrefslogtreecommitdiffstats
path: root/src/opengl/gl2paintengineex
Commit message (Collapse)AuthorAgeFilesLines
* Move nativePaintingActive flag to GL2 engine's privateTom Cooksey2010-04-142-9/+10
| | | | Reviewed-By: Samuel
* More adjustments to QTBUG-6800Carolina Gomes2010-04-142-6/+4
| | | | | Merge-request: 2344 Reviewed-by: Tom Cooksey
* QTBUG-6800 patch included, but only for OpenGL 2.0Carolina Gomes2010-04-142-1/+12
| | | | | Merge-request: 2344 Reviewed-by: Tom Cooksey
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-04-124-6/+34
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-122-5/+27
| |\
| | * 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
| | * 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
* | Compile Qt in C++0x mode.Thiago Macieira2010-03-201-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | 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
* | | | Fix OpenGL2 paint engine compilation issueRhys Weatherley2010-03-161-1/+1
| | | | | | | | | | | | | | | | Reviewed-by: Daniel Pope
* | | | Avoid using uncompatible vertex shader for non-solid brushesEskil Abrahamsen Blomfeldt2010-03-161-3/+10
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | The simplified vertex shader for complex geometry is written specifically for solid brushes and needs to be disabled when the brush is anything else. This work-around can be removed later when QTBUG-9069 is handled, since that removes the extra requirements on the setPosition() shader. Reviewed-by: tom
* | | Implement a special case, simplified vertex shader for complex geometryEskil Abrahamsen Blomfeldt2010-03-165-2/+39
|/ / | | | | | | | | | | | | | | | | | | When drawing text, the vertex count will most likely be so high that using a uniform-based, simpler vertex shader is faster. We implement the ability to inform the shader manager that the geometry is considered complex, so that it can choose the simpler vertex shader in these cases. Task-number: QT-2887 Reviewed-by: tom
* | Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Thiago Macieira2010-03-151-3/+8
|\ \ | |/ | | | | | | Conflicts: src/gui/styles/qs60style_s60.cpp
| * Worked around driver bug causing clipping errors on N900.Samuel Rødal2010-03-101-3/+8
| | | | | | | | | | | | | | | | | | Apparently the driver does some optimization which causes it to behave erratically when stencil testing is enabled. Multiplying the return value from the texture lookup by 1.0 disables the optimization. Task-number: QTBUG-8753 Reviewed-by: Trond
* | Added clipping to the dashed stroke processor in the GL2 engine.Kim Motoyoshi Kalland2010-03-103-7/+12
| | | | | | | | | | | | | | | | | | Without clipping, the stroker could consume a huge amount of memory when scaling up cosmetic, dashed strokes. I also made QDashStroker clip more aggressively. Task-number: QTBUG-7832 Reviewed-by: Samuel
* | Compile fix when Qt3Support is enabled for devices using EGL.Trond Kjernåsen2010-03-101-1/+1
| | | | | | | | Reviewed-by: Samuel
* | Compile with Qt3Support in a ScratchBox environment.Trond Kjernåsen2010-03-101-1/+1
| | | | | | | | Reviewed-by: Tom Cooksey
* | Renamed QPainter::Fragment/Hint -> QPainter::PixmapFragment/HintTrond Kjernåsen2010-03-092-5/+8
| | | | | | | | Reviewed-by: Kim
* | Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Rohan McGovern2010-03-061-0/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure.exe examples/multimedia/audioinput/audioinput.cpp src/corelib/io/qfsfileengine.cpp src/gui/egl/qegl_wince.cpp src/gui/egl/qeglproperties.cpp src/gui/egl/qeglproperties_p.h src/gui/embedded/directfb.pri src/gui/kernel/qapplication_win.cpp src/gui/painting/qdrawutil.cpp src/opengl/qgl_p.h src/sql/drivers/odbc/qsql_odbc.cpp src/sql/drivers/odbc/qsql_odbc.h tests/auto/auto.pro tests/auto/qgl/tst_qgl.cpp translations/assistant_adp_ru.ts
| * Fixed an exit crash that could occur in the GL 2 engine under X11.Trond Kjernåsen2010-03-041-0/+1
| | | | | | | | | | | | | | | | | | The global destructor for the clean up hooks might be called before the global destructor for QPixmap objects. We shouldn't leave pixmaps around that is destroyed after the QApplication destructor is called. Task-number: QTBUG-8681 Reviewed-by: Tom Cooksey
* | Remove comment in drawStaticTextItem() in GL engineEskil Abrahamsen Blomfeldt2010-02-241-1/+0
| | | | | | | | | | | | | | | | | | | | Removing this comment, as a decision was made. QStaticText is an optimization class. Forcing a fallback for all fonts over a certain size would be to intrusive. People should get to decide for themselves whether to cache the text or not when using QStaticText. They can always fall back to drawText() themselves. Reviewed-by: TrustMe
* | Made the qDrawPixmaps() API public (with modifications).Trond Kjernåsen2010-02-232-25/+29
| | | | | | | | | | | | | | | | | | QPainter has now gotten a drawPixmapFragments() function together with a Fragment class that describes how each pixmap fragment is supposed to be drawn. Reviewed-by: Gunnar Reviewed-by: Samuel
* | Merge remote branch 'origin/master' into qt-master-from-4.6Thiago Macieira2010-02-204-34/+213
|\ \ | | | | | | | | | | | | | | | | | | Conflicts: configure.exe src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp src/opengl/qgl.cpp
| * \ Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-qml into ↵Qt Continuous Integration System2010-02-191-1/+3
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/qt-qml: (81 commits) Revert "Speed up QmlGraphicsItem::setParentItem." Fix dynamic example More strict type checking of ListElement properties. Fix tst_QmlGraphicsLoader::networkRequestUrl autotest. Fix tst_qmlgraphicstextedit::delegateLoading autotest Delete the QmlImageRequestHandler in the correct thread. Fix "AnimatedImage ignores Anchors setting" Remove unused function that breaks build on AIX. doc Add support for startDragDistance in qmlviewer. Add pixmap benchmarks and make cached rounded rect the same as Rectangle. Make QmlDom API internal Compile fix with namepaces Doc: reformulate why we build a button Removed incorrect Q_UNUSED() macro from QmlPropertyAnimation::transition Doc: onExited, onEntered only work when button pressed or hoverEnabled Ensure visibleIndex and currentIndex are updated on itemsMoved(). QmlView API review. See QmlChanges.txt for details. Fix example after introduction of RotationAnimation. Animation doc fix. ...
| | * \ Merge branch 'master' of scm.dev.nokia.troll.no:qt/qtMartin Jones2010-02-182-2/+2
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/linux-g++-x11egl/qplatformdefs.h src/declarative/qml/qmldom.h src/declarative/util/qmlview.cpp src/declarative/util/qmlview.h tools/qdoc3/cppcodemarker.cpp tools/qmldebugger/standalone/canvasframerate.cpp tools/qmldebugger/standalone/engine.cpp tools/qmldebugger/standalone/expressionquerywidget.cpp tools/qmldebugger/standalone/expressionquerywidget.h tools/qmldebugger/standalone/objectpropertiesview.cpp tools/qmldebugger/standalone/objectpropertiesview.h tools/qmldebugger/standalone/objecttree.cpp tools/qmldebugger/standalone/qmldebugger.cpp tools/qmldebugger/standalone/watchtable.cpp tools/qmldebugger/standalone/watchtable.h
| | * | | MOBILITY-404 QS Windows.Wolfgang Beck2010-02-161-1/+3
| | | | |
| * | | | Merge remote branch 'qt/master' into staging-2-masterQt Continuous Integration System2010-02-182-2/+2
| |\ \ \ \ | | | |/ / | | |/| | | | | | | | | | | | | | | | | | | | | | Conflicts: tools/assistant/tools/assistant/helpviewer_qtb.h tools/assistant/tools/assistant/helpviewer_qwv.cpp tools/assistant/tools/assistant/helpviewer_qwv.h
| * | | | Fix warnings on gccEskil Abrahamsen Blomfeldt2010-02-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Gcc warns if declaration and initialization order are different. Reviewed-by: Samuel
| * | | | Add experimental VBO support for drawCachedGlyphs()'s index arrayEskil Abrahamsen Blomfeldt2010-02-182-1/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code is disabled by default, but included for testing on different platforms. Intuition implies that caching the index array in a VBO should be a performance improvement, but so far our tests do not confirm this. Reviewed-by: Gunnar
| * | | | Optimization for text drawing on OpenGLEskil Abrahamsen Blomfeldt2010-02-182-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only call glBindTexture() if the glyph cache texture is not already bound. This can potentially give performance improvement of around 30%. Reviewed-by: Gunnar
| * | | | Fix alpha check for OpenGL/ES in GL2 paint engineRhys Weatherley2010-02-151-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GL_RGB5 and GL_RGB8 don't exist on OpenGL/ES systems. Reviewed-by: Julian de Bhal
| * | | | Merge branch 'master' of scm.dev.troll.no:qt/oslo-staging-2 into qstatictext-4.7Eskil Abrahamsen Blomfeldt2010-02-155-33/+3238
| |\ \ \ \ | | | |/ / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp tests/auto/qlineedit/tst_qlineedit.cpp Merge branch 'master' of scm.dev.troll.no:qt/oslo-staging-2 into qstatictext-4.7 Conflicts: src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp tests/auto/qlineedit/tst_qlineedit.cpp Merge branch 'master' of scm.dev.troll.no:qt/oslo-staging-2 into qstatictext-4.7 Conflicts: src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp tests/auto/qlineedit/tst_qlineedit.cpp
| * | | | Make QStaticText public API againEskil Abrahamsen Blomfeldt2010-02-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | QStaticText was previously made private API to support inclusion in Qt 4.6.x. This change turns it back into public API for Qt 4.7.0.
| * | | | Revert 004b09ffd423cd3100e346825dd7d730fc86d366Eskil Abrahamsen Blomfeldt2010-02-101-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changing the height here will make the coords out of sync with the ' buffer, causing broken drawing. I revert this change to prepare QStaticText for integration, and will revisit it later on.
| * | | | Make the GL glyph cache a POT textureEskil Abrahamsen Blomfeldt2010-02-091-1/+5
| | | | | | | | | | | | | | | | | | | | This is a significant speed-up on some architectures and drivers.
| * | | | Use glDrawElements and triangle strips to draw glyphs in GL engineEskil Abrahamsen Blomfeldt2010-02-093-4/+34
| | | | | | | | | | | | | | | | | | | | | | | | | We keep around a engine-global index array which we only grow when we need to. This should hopefully speed up text drawing on some devices.
| * | | | Remove VBO caching and glDrawElements path in QStaticTextEskil Abrahamsen Blomfeldt2010-02-081-124/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | glDrawElements needs to be handled properly, using triangle strips rather than triangle lists, so the code has been removed for now. The VBO caching did not gain us any particular performance. We rather cache the client-side buffers for the same speed-up but with less clean-up complexity.
| * | | | Clean up VBOs cached in QStaticText when context is deletedEskil Abrahamsen Blomfeldt2010-02-051-18/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Follow pattern from qpaintengine_opengl.cpp and listen for the destroyed signal of the GL context. If the context that owns the VBOs is deleted, then we delete the VBOs as well.
| * | | | Add explanatory comment to QGL2PaintEngineExPrivate::drawCachedGlyphsEskil Abrahamsen Blomfeldt2010-02-051-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | A small hack to turn off the current matrix when drawing QStaticText, since its coordinates are already transformed.
| * | | | Recreate cached vertex arrays for QStaticText when drawn to new contextEskil Abrahamsen Blomfeldt2010-02-051-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If you draw the QStaticText object to a new QGLWidget, then we need to recreate the VBOs (if the vertex arrays are cached.) It would be possible to share this across contexts, which can be implemented later as an extra optimization for switching between different target devices.
| * | | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Eskil Abrahamsen Blomfeldt2010-02-042-0/+7
| |\ \ \ \ | | | | | | | | | | | | | | | | | | qstatictext-4.6
| * | | | | Small optimization for QStaticText when used with index arraysEskil Abrahamsen Blomfeldt2010-02-041-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | Don't recalculate the index array when the glyphs are simply moved.
| * | | | | Fix broken text drawing in OpenGL engine when text items are too longEskil Abrahamsen Blomfeldt2010-02-021-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Passing text through drawElements introduced a bug when text items exceeded the range of GLubyte (seen in textedit demo.)
| * | | | | Add experimental support for using drawElements to draw cached textEskil Abrahamsen Blomfeldt2010-02-021-3/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to some design documents, drawElements() is likely to be quicker on some devices, as the driver then does not have to create the index array. To test the impact of this, we cache use drawElements and cache the index array in QStaticText