| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It seems that copying small rectangles from glTexSubImage2D into a
texture which is 2048x2048 is busted on some SGX drivers, even though
the driver reports 2048 as the maximum texture size. This caused text to
turn into flickering garbage once the texture glyph cache had grown to
its max size (e.g. when painting very many Chinese glyphs.) To work
around the problem, we hardcore the maximum texture height to 1024 on
this driver so that the texture glyph cache is reset whenever that
size is exceeded.
Task-number: QT-3971
Done-with: Samuel
|
|
|
|
|
|
| |
In OpenGL ES 2, these functions are always expected to be present, so
the address can never be zero. So only test for the function being
found if we tried to find it dynamicaly.
|
|
|
|
|
|
|
|
|
|
|
|
| |
When texture destruction was triggered from a different thread, we
posted a signal to the QGLSignalProxy. However, before the signal is
delivered the corresponding QGLContext might be destroyed in the main
thread. We need to post a signal to a QObject which is destroyed when
the QGLContext is destroyed instead, to prevent trying to access an
invalid QGLContext pointer.
Task-number: QT-4238
Reviewed-by: Gunnar Sletta
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the last shallow copy of a QImage which is cached in the
QGLTextureCache is destroyed in a thread at the same time as the
QGLContext which the texture was initialized in is active in a different
thread, the QImage thread incorrectly tries to make the context active
in two threads at once. To prevent this from happening it's best to
always do the texture clean-up in the main thread.
Task-number: QT-4238
Reviewed-by: Eskil Abrahamsen Blomfeldt
|
|
|
|
|
|
|
|
| |
Support blitting by copying from the top-level window's back buffer to
a temporary texture and then blitting from the texture to the native
child widget. Performance suffers, but it's better than failing.
Reviewed-by: Gunnar Sletta
|
|
|
|
|
|
|
|
|
| |
GL_OES_element_index_uint detection was not working because
EGL config wasn't yet resolved. In addition QFrameBufferObject
should use 24bit depth render buffer if extension is available.
Task-number: QTBUG-14542
Reviewed-by: Gunnar
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 6155050f68cc86c445552da61a5f240c16f5e2cd.
The GL_ARB_ES2_compatibility extension does not mention the lowp,
mediump or highp keywords.
Task-number: QTBUG-14384
Reviewed-by: Samuel
Reviewed-by: Prasanth
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Task-number: QTBUG-12865
Reviewed-by: Samuel
|
|
|
|
|
|
|
|
|
| |
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
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| | |
On desktop, we should just do swapBuffers() in swapRegion().
Reviewed-by: Trond
|
|\ \
| |/
| |
| |
| |
| |
| | |
Conflicts:
bin/syncqt
src/opengl/qgl.cpp
tools/configure/configureapp.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| | |
Otherwise application crashes because rendering to invisible window
surface will panic eventually.
Reviewed-by: Trond
|
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| | |
Task-number: QT-2139
Reviewed-by: Gunnar Sletta
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| | |
Reviewer: David Boddie
Task number: QTBUG-11938
|
|\ \
| | |
| | |
| | |
| | | |
Conflicts:
tests/auto/qtexttable/tst_qtexttable.cpp
|
| | | |
|
|\ \ \
| |/ /
|/| /
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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 proper define should be Q_WS_WIN.
Task-number: QTBUG-12040
Reviewed-by: Prasanth
Reviewed-by: Eskil
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
(if extension available).
Merge-request: 712
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
|
|\ \ |
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
...
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Merge-request: 2422
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
|
| |/ /
| | |
| | |
| | |
| | |
| | | |
Very handy to trace GL issues on a device with broken gdb
Reviewed-by: Trond Kjernåsen <trond.kjernasen@nokia.com>
|
|/ /
| |
| |
| | |
Reviewed-by: Samuel
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If a QGLWidget is left on the heap when the QApplication destructor is
called, it will leave the QGLWidget in a broken state.
The widget itself is released and set to a non-created state,
which the associated QGLContext doesn't get notified about.
With this patch the QGLWidget knows when QWidget::destroy() is called
and can act acordingly.
Task-number: QT-3498, QTBUG-10995
Reviewed-by: Paul
|
| |
| |
| |
| |
| | |
Merge-request: 2404
Reviewed-by: Trond
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If you have two non-sharing GL contexts and try to draw the same
QPixmap in both of them, they will wind up competing for a spot in the
texture cache. Make the context group a part of the cache key to avoid
that.
Task-number: QT-3462
Reviewed-by: Kim
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The workaround flags are put into the platform independent section
for now, since there might be a general need for these as we expand
our GL and GL ES usage. The workaround_needsFullClearOnEveryFrame flag
covers the case where you get a performance penalty on PowerVR hw
if all rendering buffers are not cleared. The
workaround_brokenFBOReadBack flag covers the case where copying pixels
from a texture (e.g. via glCopyTexSubImage2d()) bound in an FBO doesn't
work.
Task-number: QTBUG-10670
Reviewed-by: Gunnar
|
| |
| |
| |
| | |
Reviewed-by: Kim
|
| |
| |
| |
| |
| |
| |
| |
| | |
Now QGLWidget::drawTexture() can be used on OpenGL ES 2.0 when there's
an active painter.
Task-number: QTBUG-10420
Reviewed-by: Trond
|
| |
| |
| |
| |
| |
| |
| | |
If the system supports an OpenGL version higher than what is
recognized by Qt, all the version flags up to 3.2 should be set.
Reviewed-by: Trond
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2:
Fix project file generation for MSVC 2010
Fix wrong translation and clip for the raster paint-engine on Mac
Return the correct library name in qt_gl_library_name for GLES*
qmake: remove useless evaluation of variables from VS project generators
Fix QT_NO_LIBRARY
Documentation for the Elastic Nodes example.
qmake: fix duplicate linker options in VS project files
Ensured that WA_InputMethodEnabled was set before FocusInEvent was sent.
qmake: fix duplicate compiler options in VS project files
Documentation for the Drag and Drop Robot example.
Fix crash in styles example when running with opengl graphicssystem
Fixed the sizehint for cols/rows in qtableview
QUrl: parsing of host name with an undercore.
Null pointer check
Revert "Try to use multisampled opengl graphicssystem on all platforms"
A small mistake when comparing the flag.
Add unit tests covering most of QVector's API.
Fix crash when CoreText fails to shape text for us
Fix crash when using opengl graphicssystem on desktop
Revert "Revert "Implement heightForWidth support for QTabWidget and QStackedLayout.""
|
| | |
| | |
| | |
| | | |
Reviewed-By: Gunnar
|
| | |
| | |
| | |
| | |
| | | |
Reviewed-By: Eskil
Task-number: QTBUG-10225
|
|\ \ \
| |/ /
|/| /
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
All EGL-related changes from 4.6 were discarded.
Conflicts:
src/gui/egl/egl.pri
src/gui/egl/qegl.cpp
src/gui/egl/qegl_p.h
src/gui/egl/qegl_stub.cpp
src/gui/egl/qeglproperties_p.h
src/gui/egl/qeglproperties_stub.cpp
src/gui/gui.pro
src/multimedia/multimedia/audio/qaudioinput_win32_p.h
src/s60installs/bwins/QtGuiu.def
src/s60installs/eabi/QtGuiu.def
|
| |
| |
| |
| |
| | |
Task-number: QTBUG-7545
Reviewed-by: Kim
|
| |
| |
| |
| |
| |
| |
| |
| | |
If QGLWidgetPrivate::recreateEglSurface is called after a surface
has been deleted, it should always create a new surface and ignore
the fact that the window ID may not have changed.
Reviewed-By: Trond
|
| |
| |
| |
| |
| | |
Merge-request: 2344
Reviewed-by: Tom Cooksey
|
| |
| |
| |
| |
| | |
Merge-request: 2344
Reviewed-by: Tom Cooksey
|
| |
| |
| |
| |
| | |
Merge-request: 2344
Reviewed-by: Tom Cooksey
|