| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
every window surface created.
Conflicts:
src/opengl/qgl_egl.cpp
src/opengl/qgl_p.h
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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>
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Task-number: QTBUG-12865
Reviewed-by: Samuel
|
|
|
|
|
| |
Task-number: QT-2139
Reviewed-by: Gunnar Sletta
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
(if extension available).
Merge-request: 712
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
|
|
|
|
|
|
|
| |
(not QGLWindowSurface for example).
Merge-request: 722
Reviewed-by: Trond
|
|
|
|
|
|
|
| |
Qt has never used level 1 for the main plane, it's always been 0 and
will always be 0.
Reviewed-by: Harald Fernengel
|
|
|
|
|
| |
Task-number: releated to QT-3498
Reviewed-by: Samuel
|
|
|
|
|
| |
Task-number: QT-3498
Reviewed-by: Samuel
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
This should make stubbing out these APIs slightly easier.
Reviewed-By: TrustMe
|
|
|
|
| |
Reviewed-By: TrustMe
|
|
|
|
|
|
|
|
| |
This also includes changes which allow QGLContext to not own it's
own QEglContext. With X11GL, the QEglContext gets reused by multiple
QGLContexts so it is important QGLContext doesn't delete it.
Reviewed-By: TrustMe
|
|
|
|
|
|
|
| |
Previously, some members of QGLFormat (like alphaBufferSize) would
be left to the initial -1 value.
Reviewed-By: TrustMe
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We want to make sure 16-bit configs are chosen over 32-bit configs as
they will provide the best performance. The EGL config selection
algorithm is a bit stange in this regard: The selection criteria for
EGL_BUFFER_SIZE is "AtLeast", so we can't use it to discard 32-bit
configs completely from the selection. So it then comes to the
sorting algorithm. The red/green/blue sizes have a sort priority of
3, so they are sorted by first. The sort order is special and
described as "by larger _total_ number of color bits.". So EGL will
put 32-bit configs in the list before the 16-bit configs. However,
the spec also goes on to say "If the requested number of bits in
attrib_list for a particular component is 0, then the number of bits
for that component is not considered". This part of the spec also
seems to imply that setting the red/green/blue bits to zero means
none of the components are considered and EGL disregards the entire
sorting rule. It then looks to the next highest priority rule, which
is EGL_BUFFER_SIZE. Despite the selection criteria being "AtLeast"
for EGL_BUFFER_SIZE, it's sort order is "smaller" meaning 16-bit
configs are put in the list before 32-bit configs. So, to make sure
16-bit is preffered over 32-bit, we must set the red/green/blue
sizes to zero. This has an unfortunate consequence that if the
application sets the red/green/blue size to 5/6/5 on the QGLFormat,
they will probably get a 32-bit config, even when there's an RGB565
config avaliable. Oh well.
Reviewed-By: TrustMe
|
|
|
|
|
|
|
| |
It's still just as buggy, but at least it allows us to remove a lot
of crud from qgl_x11egl.cpp.
Reviewed-By: TrustMe
|
|
|
|
|
|
|
|
|
| |
The QGLContext only stores the EGLSurface for QWidgets & QGLWidgets,
other device types like QPixmap & QGLPixelBuffer store the surface
themsselves. With this patch it is possible to create a QGLContext
on a QPixmap, make it current and render GL to that QPixmap on X11.
Reviewed-By: TrustMe
|
|
|
|
|
|
| |
Also renamed qt_egl_set_format->qt_eglproperties_set_glformat
Reviewed-By: TrustMe
|
|
|
|
| |
Reviewed-By: Aleksandar Sasha Babic
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
4.6-integration
* '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1:
QIODevice: Fix readAll()
Temporary hackiesh solution to prevent BOM in the xml data.
Fixed qxmlstream autotest when using shadow builds.
Attempt at readding the capital P headers for Phonon
Remove special Phonon processing from syncqt.
Use the lowercase/shortname.h headers for Phonon includes
Fixes a crash when setting focus on a widget with a focus proxy.
Update copyright year to 2010
doc: Clarified activeSubControls and subControls.
Remove warning "statement with no effect"
doc: Clarified that .lnk files are System files on Windows.
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
|/
|
|
|
| |
Task-number: QT-2600
Reviewed-by: Samuel
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a QGLWidget is re-parented, it's native X11 window usually
gets destroyed and re-created. This also happens when you set a
window attribute or flag. On EGL, we must destroy the surface
for the window before destroying the window itself, otherwise
we can leak the surface. This also fixes lots of BadDrawable
errors when running the autotests (which were due to surface
leaks!).
Reviewed-By: TrustMe
|
|
|
|
| |
Reviewed-by: trustme
|
|
|
|
|
|
|
|
|
|
| |
It's actually not really reparenting, but calling setWindowFlags which
triggered the errors. But setWindowFlags causes a re-parent.
The context isn't really the right please to free the surface, but
fixing that is a much more intrusive change.
Reviewed-By: TrustMe
|
|
|
|
| |
Reviewed-by: Julian de Bhal
|
|
|
|
|
|
|
|
| |
There were several copies of the same stubbed functions in
qgl_wince.cpp, qgl_qws.cpp, and qgl_x11egl.cpp. Move them
all to a common location for easier maintainence.
Reviewed-by: Sarah Smith
|
|
|
|
|
|
|
| |
Also, move the EGL makeCurrent(), doneCurrent(), swapBuffers(),
and reset() functions into the common qgl_egl.cpp.
Reviewed-by: Sarah Smith
|
|
|
|
| |
Reviewed-by: Trust Me
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
demos/boxes/glshaders.cpp
demos/boxes/vector.h
demos/embedded/fluidlauncher/pictureflow.cpp
demos/embedded/fluidlauncher/pictureflow.h
doc/src/desktop-integration.qdoc
doc/src/distributingqt.qdoc
doc/src/examples-overview.qdoc
doc/src/examples.qdoc
doc/src/frameworks-technologies/dbus-adaptors.qdoc
doc/src/geometry.qdoc
doc/src/groups.qdoc
doc/src/objecttrees.qdoc
doc/src/platform-notes.qdoc
doc/src/plugins-howto.qdoc
doc/src/qt3support.qdoc
doc/src/qtdbus.qdoc
doc/src/qtdesigner.qdoc
doc/src/qtgui.qdoc
doc/src/qtmain.qdoc
doc/src/qtopengl.qdoc
doc/src/qtsvg.qdoc
doc/src/qtuiloader.qdoc
doc/src/qundo.qdoc
doc/src/richtext.qdoc
doc/src/topics.qdoc
src/corelib/tools/qdumper.cpp
src/gui/embedded/qkbdpc101_qws.cpp
src/gui/embedded/qkbdsl5000_qws.cpp
src/gui/embedded/qkbdusb_qws.cpp
src/gui/embedded/qkbdvr41xx_qws.cpp
src/gui/embedded/qkbdyopy_qws.cpp
src/gui/embedded/qmousebus_qws.cpp
src/gui/embedded/qmousevr41xx_qws.cpp
src/gui/embedded/qmouseyopy_qws.cpp
src/gui/painting/qpaintengine_d3d.cpp
src/gui/painting/qwindowsurface_d3d.cpp
src/opengl/gl2paintengineex/glgc_shader_source.h
src/opengl/gl2paintengineex/qglpexshadermanager.cpp
src/opengl/gl2paintengineex/qglpexshadermanager_p.h
src/opengl/gl2paintengineex/qglshader.cpp
src/opengl/gl2paintengineex/qglshader_p.h
src/opengl/util/fragmentprograms_p.h
src/plugins/kbddrivers/linuxis/linuxiskbdhandler.cpp
src/plugins/mousedrivers/linuxis/linuxismousehandler.cpp
src/script/parser/qscript.g
src/script/qscriptarray_p.h
src/script/qscriptasm_p.h
src/script/qscriptbuffer_p.h
src/script/qscriptclass.cpp
src/script/qscriptclassdata_p.h
src/script/qscriptcompiler.cpp
src/script/qscriptcompiler_p.h
src/script/qscriptcontext.cpp
src/script/qscriptcontext_p.cpp
src/script/qscriptcontext_p.h
src/script/qscriptcontextfwd_p.h
src/script/qscriptecmaarray.cpp
src/script/qscriptecmaarray_p.h
src/script/qscriptecmaboolean.cpp
src/script/qscriptecmacore.cpp
src/script/qscriptecmadate.cpp
src/script/qscriptecmadate_p.h
src/script/qscriptecmaerror.cpp
src/script/qscriptecmaerror_p.h
src/script/qscriptecmafunction.cpp
src/script/qscriptecmafunction_p.h
src/script/qscriptecmaglobal.cpp
src/script/qscriptecmaglobal_p.h
src/script/qscriptecmamath.cpp
src/script/qscriptecmamath_p.h
src/script/qscriptecmanumber.cpp
src/script/qscriptecmanumber_p.h
src/script/qscriptecmaobject.cpp
src/script/qscriptecmaobject_p.h
src/script/qscriptecmaregexp.cpp
src/script/qscriptecmaregexp_p.h
src/script/qscriptecmastring.cpp
src/script/qscriptecmastring_p.h
src/script/qscriptengine.cpp
src/script/qscriptengine_p.cpp
src/script/qscriptengine_p.h
src/script/qscriptenginefwd_p.h
src/script/qscriptextenumeration.cpp
src/script/qscriptextenumeration_p.h
src/script/qscriptextqobject.cpp
src/script/qscriptextqobject_p.h
src/script/qscriptextvariant.cpp
src/script/qscriptfunction.cpp
src/script/qscriptfunction_p.h
src/script/qscriptgc_p.h
src/script/qscriptmember_p.h
src/script/qscriptobject_p.h
src/script/qscriptprettypretty.cpp
src/script/qscriptprettypretty_p.h
src/script/qscriptvalue.cpp
src/script/qscriptvalueimpl.cpp
src/script/qscriptvalueimpl_p.h
src/script/qscriptvalueimplfwd_p.h
src/script/qscriptvalueiteratorimpl.cpp
src/script/qscriptxmlgenerator.cpp
src/script/qscriptxmlgenerator_p.h
tests/auto/linguist/lupdate/testdata/recursivescan/project.ui
tests/auto/linguist/lupdate/testdata/recursivescan/sub/finddialog.cpp
tests/auto/qkeyevent/tst_qkeyevent.cpp
tools/linguist/shared/cpp.cpp
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
|\ \
| |/ |
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
|
|
|
|
|
|
|
| |
Patch 27fadaa7eb2d58b47e7f0f508e3402e7a8de3894 (Make
QEglProperties::value() return the EGL default if not set) changed
behaviour. This patch reverts this change to behaviour but keeps
QEglProperties::value() returning the EGL default value.
|
|
|