| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
The documentation for QGLContext::isSharing() indicates that
the function returns true only when the context is sharing.
However, previously the sharing flag would stay on if the
context was created as sharing but is no longer sharing.
Task-number: QTBUG-5578
Reviewed-by: Sarah Smith
|
|
|
|
| |
If this autotest doesn't pass, FBOs are really broken.
|
|
|
|
|
|
|
| |
If we succeed in creating a shared context, then mark the original
as shared as well.
Reviewed-by: Sarah Smith
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QWS combines the window title bar and the top-level widget
into one window surface, which causes problems when the top-level
widget is a QGLWidget: the raw GL surface contents are not the
same as on other platforms where only the top-level widget
contents are included in the window surface.
This change sets Qt::FramelessWindowHint on QWS systems on
widgets where we need to read back the top-level widget for
comparison against a reference image.
Reviewed-by: Sarah Smith
|
|
|
|
|
|
|
|
|
| |
There were problems with false-failures due to the test farm's GL
implementation having off-by-one pixel errors. To fix this, we don't
compare every pixel but rather sample pixels in a grid pattern which
avoids boundries.
Reviewed-By: Samuel
|
|
|
|
|
|
|
|
|
| |
Introduce a fuzzy pixel and image compare which changes it's allowed
fuzz based on the system's color depth. If the compared images are
different, the autotests will also save the two images to the current
directory for comparison.
Reviewed-By: Samuel
|
|
|
|
|
|
|
| |
Having this behaviour in QGLFrameBufferObject complicates alot of things
and isn't really necessary.
Reviewed-by: Tom Cooksey
|
|
|
|
|
|
|
| |
These tests are designed to run in 24 or 32 bit mode, and won't work
unless they do..
Reviewed-by: Samuel
|
|
|
|
| |
Reviewed-by: trustme
|
|
|
|
| |
Reviewed-by: Samuel
|
|
|
|
| |
Reviewed-by: Sarah Smith
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sometimes it isn't possible to arrange for the QGLFramebufferObject
to be destroyed before the QGLContext group in which it was created.
Especially during application shutdown or in applications with
multiple shared contexts.
This change modifies QGLFramebufferObject to use QGLSharedResourceGuard,
which ensures that when the last QGLContext in a sharing group is
destroyed, any remaining FBO's will revert to !isValid(). It is now
safe to destroy the context before the FBO, or the FBO before the context.
Unit test included.
Reviewed-by: Sarah Smith
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There's no reason to stop using a scissor clip when a more complex clip
is set. Instead, we can use a combination of scissoring and depth
clipping to represent the final clip. When intersecting with a new clip
path, if the clip path is a rectangle we simply intersect it against the
scissor clip, and otherwise we intersect its bounding rect against the
scissor clip and write the actual path to the depth buffer.
The patch simplifies the logic in clip() quite a bit, except in the
UniteClip case in which we don't care about performance anyways.
It also fixes a bug which could cause rendering errors if the stencil
buffer contains junk before painting.
Reviewed-by: Gunnar Sletta
|
|
|
|
|
|
|
| |
Interleaved rendering to GL targets is going to be flaky with the GL1
engine and wont be supported.
Reviewed-by: Trustme
|
|
|
|
| |
Reviewed-by: Trustme
|
| |
|
| |
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
| |
Reviewed-by: Sarah Smith
|
|
|
|
| |
Reviewed-by: trustme
|
|
|
|
| |
Reviewed-by: trustme
|
|
|
|
| |
Reviewed-by: trustme
|
|
|
|
| |
Reviewed-by: trustme
|
|
|
|
| |
Reviewed-by: trustme
|
|
|
|
|
|
|
| |
The documentation says "Returns true if all the options of the
two QGLFormats are equal", but that's not what it was doing.
Reviewed-by: Sarah Smith
|
|
|
|
|
|
|
|
| |
Commit 66961012e6eb494541bdc166e21f7af55eef73a5 changed the
QGLFramebufferObjectFormat API, so the test needed to be updated as
well.
Reviewed-by: Kim
|
|
|
|
| |
Reviewed-By: Samuel
|
|
|
|
|
|
|
|
| |
The test mimics examples/opengl/framebufferobjects in that it begins a
QPainter on a QGLWidget in it's paint event, then begins a second
QPainter on a QGLFramebufferObject, leaving 2 painters active at the same
time. When the FBO's painter is ended, GL rendering should be
re-targetted at the QGLWidget automatically.
|
|
|
|
|
|
|
| |
The test also checks that when we ask for CombinedDepthStencil, that's
what we get.
Reviewed-by: Samuel
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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: Trustme
|
| |
| |
| |
| |
| |
| |
| | |
The GL2 paint engine now has it's own class ID. This patch also reduces
the excessive 2000ms delays to 200ms. :-)
Reviewed-by: Trustme
|
| |
| |
| |
| |
| |
| |
| | |
If this is broken it will usually seg-fault, but there's a few checks in
there just to make sure.
Reviewed-by: Samuel
|
| |
| |
| |
| | |
Reviewed-by: Samuel
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QGLColormap::setEntry() was inserting entries instead of
replacing them; QGLColormap::setEntries() had an incorrect
assert and weird behaviour for the "base".
The documentation for QGLColormap::isEmpty() has been updated
to reflect that it will also report empty if the colormap has
not been set on a QGLWidget even if it has entries in it.
This behaviour is required by existing code.
Reviewed-by: Rohan McGovern
|
| |
| |
| |
| | |
Reviewed-by: trustme
|
|/
|
|
|
|
|
|
|
|
|
|
| |
-developer-build, part 2.
Some autotests use private (unexported) code, either because they're
testing private classes or because that's the easiest way to test
the public classes. Configuring Qt with `-developer-build' is needed
for these tests.
This commit fixes the tests so configuring without `-developer-build'
only builds the tests which strictly use public API.
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
| |
QWidget::repaint() is not immediate on the Mac; it has to go through
the event loop.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QGLWidget does not support partial updates unless the context is
single buffered and auto-fill background is disabled. The problem
was that QPaintEvent::region() returned the requested update region
without taking into account the limitation of QGLWidget. If QGLWidget
doesn't support partial updates, it means everything has to be updated,
and QPaintEvent::region() must return the whole widget rect.
Auto test included.
Task-number: 241785
Reviewed-by: Trond
|
|
|