| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| | |
Reviewed-by: Trond
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
introduce QMAKE_LIBS_OPENGL_ES1, QMAKE_LIBS_OPENGL_ES1CL and
QMAKE_LIBS_OPENGL_ES2 so we do not have to force users to copy/paste
around entire mkspecs just to change the OpenGL backend.
This should make the "-opengl es2" (and friends) configure option
work out of the box with any mkspec on Linux+WinCE.
Also removes a WinCE specific hack that is not required anymore.
Reviewed-by: Tom Cooksey
Reviewed-by: Trond Kjernåsen
Approved-by: Lars Knoll
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
for WindowsCE
Be more consistant in the usage of <private/foo_p.h> vs "foo_p.h"
Task-number: QTBUG-5149
Reviewed-by: Trond Kjernåsen
|
| |\ |
|
| | |\ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Reviewed-by: Gunnar Sletta
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We add an internal cache which keeps four half-scaled versions of the
source pixmap at different blur radii, then we simply interpolate
between the two pixmaps around the desired blur radius, or between the
base source pixmap and the first blurred version.
Reviewed-by: Gunnar Sletta
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Added AnimationHint, which didn't make too much sense in a generic enum,
so Qt::RenderHint was moved back into QGraphicsBlurEffect as
QGraphicsBlurEffect::BlurHint.
Reviewed-by: Gunnar Sletta
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The strict size parameter can be used when it's critical that we get the
exact size we ask for.
Reviewed-by: Gunnar Sletta
|
| | | | |
| | | | |
| | | | |
| | | | | |
Reviewed-By: Samuel
|
|/ / / /
| | | |
| | | |
| | | | |
Reviewed-by: TrustMe
|
| | | |
| | | |
| | | |
| | | | |
Reviewed-by: trustme
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When the number of programs held in the cache exceeds a threshold, the
least frequantly used programs get deleted. This also covers programs
with custom snippets of code. As a conequence, when a
QGLCustomShaderStage gets deleted, any programs using that code will
(eventually) be freed.
Reviewed-By: Samuel Rødal
|
| | | |
| | | |
| | | |
| | | | |
This patch also adds a "snippetNameStr" helper for debugging.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is a first step towards supporting binary shaders.
Note: This change will introduce a (rare) leak of shader objects, as the
shaders will never be kicked out from the cache (because the cache is
still a QList) :-) This will be corrected by the next patch.
Reviewed-By: Samuel
|
|\ \ \ \
| |/ / /
|/| | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Better than having to befriend QPixmapData and setting is_cached
manually.
Reviewed-by: Tom Cooksey
|
|\ \ \ \
| |/ / /
|/| | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
After API review discussions, it was decided to remove shader
binary support until we have a better handle on what we need.
Applications can directly load shader binaries on the shaderId()
using glShaderBinary() directly so they aren't prevented from
using the feature.
Reviewed-by: trustme
|
| | |/
| |/|
| | |
| | |
| | |
| | | |
Looks like a couple of files missed the namespace macro...
Rev-By: gunnar
|
| | |
| | |
| | |
| | |
| | |
| | | |
This improves performance on certain OpenGL ES 2.0 platforms.
Reviewed-by: Gunnar Sletta
|
| | |
| | |
| | |
| | |
| | |
| | | |
The texture parameters are set in drawTexture anyways.
Reviewed-by: Gunnar Sletta
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Use ExpandToTransparentBorderPadMode since we can use GL_CLAMP_TO_EDGE
to clamp to the texture.
* Shrink the bounding rects reported by the blur
and drop shadow filters (expanding by 2 * radius isn't needed).
* Use a single-pass blur for radii <= 3 to avoid the overhead of
rendering to an FBO.
* Made the fast blur setting generate filters for only a predefined set
of radii, and then use the actual blur radius to spread the sample
points outwards.
* Optimized the generated program to rely less on temporary variables,
as those seemed to not be handled very well by certain GLSL compilers.
Reviewed-by: Gunnar Sletta
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The error message come from the QGLContextPrivate::bindTexture.
But since OpenGl errors are retains until glGetError is called the
actual error was happening somewhere else.
After adding in all the gl* call a check for a gl error, I was able
to get the place where opengl fail with a GL_INVALID_ENUM.
This happen in the call of glEnable(GL_TEXTURE_2D) in the file
qgl_x11egl.cpp. This glEnable call does not need: removed.
Reviewed-by: Tom Cooksey
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
There's no reason to lock ourselves to int in the API when some of the
backend could handle floating point blur radii.
Reviewed-by: Bjørn Erik Nilsen
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | | |
Reviewed-by: Samuel
|
|/ / /
| | |
| | |
| | | |
Reviewed-by: Tom
|
|/ /
| |
| |
| | |
Reviewed-by: Eskil
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Reviewed-by: Sarah Smith
|
| |
| |
| |
| | |
Reviewed-by: Sarah Smith
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Attribute locations must be bound before a shader program is linked
according to the GLSL specification. Issue a warning to the user if
they do it in the wrong order, which should help to isolate hard
to find bugs much quicker.
Reviewed-by: trustme
|
|/ |
|
|\
| |
| |
| |
| | |
Conflicts:
src/gui/painting/qtextureglyphcache.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The QGLEngineShaderManager pointers in QGLCustomShaderStagePrivate have
been changed to QPointers to prevent the QGLPixmapFilters in
QGL2PaintEngineEx from dereferencing the QGLEngineShaderManager after
it is destroyed.
Reviewed-by: Rhys Weatherley
|
| |
| |
| |
| |
| |
| |
| | |
We can't create a QGLWidget in the QGLEngineSelector, since it may
be called before a QApplication object has been constructed.
Reviewed-by: Kim
|
| |
| |
| |
| |
| |
| |
| | |
QGLTextureCache installs pixmap cleanup hooks which are used to clean up
the EGL surfaces.
Reviewed-By: Trustme
|
| |
| |
| |
| |
| | |
The new surface uses XCopyArea to post updates to the window and thus,
supports partial updates.
|
| |
| |
| |
| |
| |
| |
| |
| | |
If the system clip changed the stencil buffer wasn't necessarily updated
correctly. Use a region to keep track of the dirty areas in the stencil
buffer, like we do in the GL 2 engine.
Reviewed-by: Samuel
|
| |
| |
| |
| | |
Hash-Define out X11GL pixmap data until the GLX implementation is ready.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
On 16 bpp systems, RGB pixmaps are 16-bit whereas ARGB pixmaps are
32-bit. This means two different EGL configs are used which are
incompatable with each other. As a result, we have to use 2 different
EGL contexts - one for each config.
Reviewed-By: Trustme
|