| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2:
Simplify calculation of center point and scale for PinchRecongizer
Doc: Fixing typo
QtDFB: Make transparent windows behave better
For meego graphics system, use floyd-steinberg dithering when converting to 16bit.
Added support for blitting to native child widgets in GL window surface.
|
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|/ |
|
|
|
|
|
| |
Merge-request: 841
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
|
|
|
|
|
|
| |
We should only destroy the FBO if it's the actual window that's deleted.
Reviewed-by: Trond
|
|
|
|
| |
Reviewed-by: Trond
|
|
|
|
| |
Reviewed-by: Trond
|
|
|
|
|
| |
Merge-request: 2462
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
|
|
|
|
|
|
|
| |
This lets us destroy the share widget temporarily if we want to free up
OpenGL resources for a while.
Reviewed-by: Gunnar Sletta
|
|
|
|
|
|
| |
Task-number: QTBUG-12266
Merge-request: 752
Reviewed-by: Trond
|
|
|
|
|
|
|
| |
(if extension available).
Merge-request: 712
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
|
|
|
|
|
|
|
| |
This reverts commit 5f63f95def838ce72af99dc697ecce092fe7eb69.
Fixes GL graphics system on Windows. With the patch, windows would pop
up as completely empty.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the OpenGL graphics system is in X11GL mode, it will use the
QX11GLWindowSurface for all widgets except QGraphicsViews with the
FullViewportUpdate update mode set, where it will use the regular
QGLWindowSurface, as this is probabbly faster.
QX11GLWindowSurface differs from QGLWindowSurface because it allows
accelerated scrolling and partial updates, while still being using
opengl to do rendering.
Task-number: QT-280
Task-number: QT-2625
Reviewed-By: Trond
|
|
|
|
|
|
|
|
|
| |
If the back buffer is destroyed when swap buffers is called, we must
tell the backing store any update needs to invalidate the entire
window surface, so everything gets re-drawn.
Task-number: QTBUG-9978
Reviewed-By: Trond
|
|
|
|
| |
Reviewed-By: Samuel
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QEgl::createSurface() on X11 will now check to see if the device's
X11 Visual is compatible with the EGLConfig passed in. If it is not
compatible, the function will re-create the QPaintDevice's native
drawable with a different Visual (one which is compatable with the
EGLConfig). This represented the bulk of the QGLWidget::setContext
method which is now much simpler.
As a consequense of this change, QWidgets with graphicssystem opengl
will behave much more like QGLWidget as most of the code is re-used.
So things like WA_TranslucentBackground should now work with opengl
graphicssystem too.
Reviewed-By: TrustMe
|
|
|
|
|
|
|
|
| |
This puts the QEgl namespace in a single file which can be used by
both qeglcontext and qeglproperties. Files which need QEglContext
should now include qeglcontext_p.h.
Reviewed-By: Aleksandar Sasha Babic
|
|
|
|
|
| |
Task-number: QTBUG-7683
Reviewed-by: Tom Cooksey
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Qt used to store the GL extensions a particular implementation supported
in a global cache, which was initialized once and never updated.
This could cause problems because different types of context might
support different kinds of extensions (e.g. the difference between
sw and hw contexts). With this patch, the GL extensions are cached
and updated within each QGLContext. It also makes the extension
initialization lazy, which saves application initialization costs for
embedded platforms.
The patch introduces a internal cross platform QGLTemporaryContext
class that is used to create a light-weight GL context without going
via QGLWidget and friends (QWS and WinCE still have QGLWidget fallbacks
for now).
Reviewed-by: Kim
Reviewed-by: Samuel
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
|
| |
The format and internal_format parameters to glTexImage2D need to always
match on OpenGL ES 2.0.
Reviewed-by: Tom Cooksey
|
|
|
|
| |
Over src/ tools/ examples/ and demos/
|
|
|
|
| |
Reviewed-by: Sarah Smith
|
|\ |
|
| | |
|
|/
|
|
|
|
|
|
|
|
| |
We have some internal hidden widgets which should not come up in the
QApplication::topLevelWidgets() list. So the known ones are being
removed from the QWidgetPrivate::allWidgets set.
Task-number: QTBUG-739
Reviewed-by: Denis Dzyubenko
Reviewed-by: Bradley T. Hughes
|
|
|
|
|
| |
The new surface uses XCopyArea to post updates to the window and thus,
supports partial updates.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Custom window surfaces, graphics systems, and Qt/Embedded screen
drivers often need to access QPaintDevice::metric(), but it is
protected. Hence the growing number of friends in QWidget and
QImage. The qt_paint_device_metric() function provides a more
future-proof approach that doesn't require lots of friends.
Reviewed-by: Gunnar
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The qt_qgl_paint_engine() function was being used by QWS, but there's
no reason why it can't be used by other platforms too. This should
also fix ES 2.0 paint engine support under QWS, which was stubbed out.
Reviewed-by: Sarah Smith
Reviewed-by: Gunnar
|
|/
|
|
|
|
|
|
|
|
| |
QGLWindowSurface::flush() assumed that updateGeometry() had been
called, but in some cases it hadn't. It would therefore dereference a
null pointer and crash. This has been fixed by returning from flush()
if updateGeometry() has not been called. This fixes the symptom rather
than the bug, so we still need to find out why it hasn't been called.
Reviewed-by: Trond
|
|
|
|
| |
Reviewed-by: Eskil
|
|
|
|
| |
Reviewed-by: trustme
|
|
|
|
|
|
|
| |
Very basic port of the graphics system - performance may not
be the best just yet.
Reviewed-by: Sarah Smith
|
|
|
|
|
|
|
| |
Need to make sure the correct context is current when painting on the
window surface FBO.
Reviewed-by: Kim
|
|
|
|
|
|
|
|
|
|
|
|
| |
The logic was a bit messy and didn't work on Mac OS X. On Linux we also had issues
with 8xxx nvidia cards which didn't render properly.
The FBO is now unbound between calls to beginPaint(), which prevents other
gl calls from messing it up, which is probably what was the error in the first place.
In addition, on Mac OS X, we also call the upatePaintDevice() as a result of
setGeometry() to force-update the dimensions of the context.
Reviewed-by: Trond
|
|
|
|
| |
Reviewed-by: Samuel
|
|
|
|
|
|
|
| |
Need to unbind the window surface FBO and re-bind it in the child
widget's context before doing a blit.
Reviewed-by: Kim
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are too many platform regressions when using the FBO as a backend
for the opengl engine. We need to find whether it's possible to work
around them, but for the time being, to preserve compatibility, we
only use FBOs when using the opengl2 engine.
Example of issue: Smudged text and smudged diagonal lines on Windows XP
when running with opengl engine and latest nvidia driver.
Reviewed-by: Trond
|
|
|
|
| |
Reviewed-by: Trust Me
|
| |
|
|
|
|
|
|
|
| |
Renaming setInternalFormat() to setInternalTextureFormat() (and
similarly for the accessor) makes the API a bit more explicit.
Reviewed-by: Trond
|
|
|
|
|
|
|
|
|
|
| |
The type of GLenum was changed between 10.4 and 10.5, so to support
compiling on one and deploying on the other we need this hack. Also
get rid of the complex QGLFramebufferObjectFormat constructor in
favor of a simple default constructor and setters, which is more
Qt-ish anyway, and avoids ambiguities on mac.
Reviewed-by: Trond
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| | |
Without this, QWindowSurface::flush() doesn't work.
Reviewed-by: Samuel
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If creating a QGLWidget triggers the creation of a QPixmap then we might
end up in an infinite recursion due to QPixmap trying to access
qt_gl_share_widget(). This can happen via setWindowIcon for example.
Adding an initializing flag to QGLGlobalShareWidget and preventing
QGLFramebufferObject::hasOpenGLFramebufferObjects() and
::hasOpenGLFramebufferBlit() from creating a QGLWidget every time they
are called with no active GL context.
Reviewed-by: Trond
|
|\ \
| |/ |
|