| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Reviewed-by: Trond
|
|
|
|
|
|
|
| |
Need to blit into a regular QGLFramebufferObject first to force a
multisample resolve.
Reviewed-by: Trond
|
|
|
|
| |
Reviewed-by: Trond
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before this patch we were only able to do 20 or so IntersectClips before
failing, this patch instead adapts to the fixed point nature of typical
depth buffer implementations and lets us do ~2^15 IntersectClip
operations before failing, which should be a reasonable limit for any
real-world application.
Using the following mapping of old floating point depths to integer
depths:
-1.0 -> 0, -0.5 -> 1,
0.0 -> 2, 0.25 -> 3,
0.5 -> 4, 0.625 -> 5,
etc..
Reviewed-by: Tom
|
|
|
|
|
|
|
|
| |
GLSL shaders require that #version and #extension must appear
before any other code. The #define's we insert for highp/mediump/etc
must therefore be moved down to just after them.
Reviewed-by: Gunnar Sletta
|
|
|
|
| |
Reviewed-by: trustme
|
|
|
|
| |
Reviewed-by: trustme
|
|
|
|
| |
Reviewed-by: Trond
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
|
|
|
|
| |
I renamed QGLContextGroupResources to QGLContextGroup because we are
using it to identify context groups. I also added a pointer to one of
the contexts in the group. Together with qgl_share_reg(), the pointer
can be used to find all contexts in a group.
I renamed QGLContextPrivate::qt_get_extension_funcs() to
QGLContextPrivate::extensionFuncs() to follow Qt's naming convention.
Reviewed-by: Trond
|
|
|
|
|
|
|
| |
Blending should not be enabled when copying the font cache texture
into the fbo. It *may* cause artifacts with some drivers.
Reviewed-by: Samuel
|
|
|
|
|
|
|
|
|
|
|
| |
Made the GL blur filter code slightly less hacky by not reusing the same
paint engine for rendering both to the offscreen FBO and to the actual
target device. This should make the code less reliant on paint engine
implementation details and thus more robust with regards to changes in
the paint engine.
Task-number: 260402
Reviewed-by: Trond
|
|
|
|
|
|
|
| |
It's insufficient to use a single paint engine to render to all FBOs. If
the default engine is already in used we need to create our own engine.
Reviewed-by: Trond
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Shader objects had a pointer to the context they were originally
created in. If the context was destroyed, the shader would (on Windows)
dereference an invalid pointer and cause the program to crash. I
replaced the context pointer with a pointer to the context group. I
also added checks in debug mode to make sure the context associated
with the shader shares resources with the current context.
Reviewed-by: Tom
|
|\ |
|
| | |
|
|/
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
|
| |
QGL2PaintEngineExPrivate::drawTexture() texture coordinates have been
inverted, so they need to be inverted here too.
Reviewed-by: Kim
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| | |
Reviewed-by: Samuel
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QGLWidget::renderText() needs to respect the current depth and scissor
tests that the user has set. Therefore we needs some special casing in
the GL 2 paint engine to handle the custom depth testing. The private
setRenderTextActive() has been added for this purpose.
Reviewed-by: Samuel
|
| | |
| | |
| | |
| | | |
Reviewed-by: Samuel
|
| | |
| | |
| | |
| | | |
Reviewed-by: Trond
|
| | | |
|
|/ /
| |
| |
| | |
issues with flipped pixmaps on X11
|
| |
| |
| |
| | |
Reviewed-by: Tom Cooksey
|
| |
| |
| |
| | |
Reviewed-by: trustme
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The bounding box was not updated for moveTo-commands except the first
one. Therefore, the calculated bounding box could be too small for
paths with more than one subpath, and when the stencil method was used,
parts of the path would not be filled.
Task-number: 245803
Reviewed-by: Samuel
|
| |
| |
| |
| | |
Reviewed-by: Samuel
|
| |
| |
| |
| | |
Reviewed-by: Trond
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
|
| | |
| | |
| | |
| | |
| | |
| | | |
making it into a bitmask. I'll add GeometryShader in the future
Reviewed-by: Rhys Weatherley
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It used to be possible to derive the shader type from the file extension,
but this isn't very extensible and doesn't capture the usual extensions.
Change it so that the shader type must be supplied explicitly.
Also add the addShaderFromFile() function to QGLShaderProgram to
provide a convenient short-cut for file-based shader creation.
Reviewed-by: Sarah Smith
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This makes mixing GL and QPainter code safer. We need to be able to
assume default GL state in begin(), and set back whatever we change to
the default state in end() in the GL 2 paint engine.
Reviewed-by: Trond
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Only use bilinear filtering when SmoothPixmapTransform render hint is
used.
Reviewed-by: Kim
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The recommended specifiers are lowp for colors / normal vectors, mediump
for texture coordinates when a limited range is sufficient, and highp
for generic texture coordinates and vertex coordinates / transformation
matrices.
We used to use mediump for texture coordinate in some places, but
since we don't control the texturing scenarios we need to handle the
worst case, which is zooming in on part of a large texture (2048x2048)
with bilinear filtering. To properly handle this case without color
banding mediump is probably not sufficient, so we'll use highp for
texture coordinates.
Reviewed-by: Tom
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previously we were using QPaintEngine::syncState() which is not ideal
naming-wise, since it actually prepares for native painting instead of
syncing the painter's state to native state.
Reviewed-by: Trond
|
| | |
| | |
| | |
| | | |
Graphics effects are no longer in the Graphics View module.
|
| | |
| | |
| | |
| | | |
Reviewed-by: Kavindra
|
| | |
| | |
| | |
| | |
| | |
| | | |
The precision specifiers need to be there on OpenGL ES 2.0.
Reviewed-by: Tom
|
| | | |
|
|/ /
| |
| |
| |
| |
| |
| | |
and y-axis inversion and overall less conversion, making significantly faster
for plain usecases
Reviewed-by: Trond
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QVectorPath::hints() is not a strict bit field, and thus can not be
anded with RectangleHint. Instead, QVectorPath::shape() should be
directly compared with RectangleHint to check if the vector path is a
rectangle or not. In this case the first four points of a regular
painter path were treated as a rectangle with dire consequences.
Reviewed-by: Tom
|
| |
| |
| |
| |
| |
| |
| | |
The entry point has been changed to be customShader, taking source
image and texture coordinates as parameters.
Reviewed-by: Tom
|