| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| |
| |
| |
| |
| | |
Enable it by setting QT_USE_X11GL_PIXMAPS environment variable while
using the -graphicssystem opengl
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Before the QExplicitlySharedDataPointer change, the ref-count was 0 when
calling the cleanup hooks from ~QPixmap. That enabled the hook to figure
out if the pixmap is being modified or deleted. As the ref count is now
1 when calling the cleanup hooks in ~QPixmap, we need to seperate the
hooks.
This change should make using textre-from-pixmap faster as the EGL/glX
surface wont get re-created everytime the pixmap is modified.
Reviewed-By: Gunnar
|
|/ |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If the QWS_DISPLAY is specified as "Transformed:powervr:...",
then we will encounter QScreen::TransformedClass rather than
QScreen::ProxyClass when searching for the QGLScreen. This change
makes the code search for both.
Task-number: QT-2261
Reviewed-by: Sarah Smith
|
| |
| |
| |
| | |
Reviewed-by: Tom
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The GLSL implementation messes up return values from functions so that
all our srcPixel()'s become black and several matrices are off. We
don't want to rewrite the shader code to fit an "ancient" graphics
card, so we simply fall back to the GL 1 engine.
Reviewed-by: Trond
(cherry picked from commit 33ed3d0bacddce214a43be60eb6481903e753a88)
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-4822, QTBUG-4824
Reviewed-by: Sarah Smith
Reviewed-by: Samuel
|
| |
| |
| |
| |
| |
| | |
Also, unbind the texture after it is initialized.
Reviewed-by: Sarah Smith
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| | |
QGLFramebuffer::isBound() would crash if it was called when there
wasn't a current context bound.
Reviewed-by: Kim
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When QGLPixmapData is bound after a fill(), without being painted on in
the mean-time, it's cheaper to directly generate a source image than to
go through convertToGLFormat(), since all the pixels in the image will
have the same value.
Reviewed-by: Trond
|
| |
| |
| |
| |
| |
| | |
Fixes test failures in fill() and setGetMask().
Reviewed-by: Trond
|
| |
| |
| |
| |
| |
| | |
Don't use texture_from_pixmap extension for QBitmaps.
Reviewed-by: Tom
|
| |
| |
| |
| |
| |
| |
| | |
Fixed drawing of bitmap brushes and tiled bitmaps so that they are
painted with the brush colour or pen colour instead of black.
Reviewed-by: Trond
|
| |
| |
| |
| |
| |
| |
| |
| | |
Fixed the output of enums such that the last item in the enum is not
followed by comma. Changed the output of the license to say that the
file is part of the QtOpenGL module, not the test suite.
Reviewed-by: Trond
|
| |
| |
| |
| |
| |
| |
| | |
Fixed warnings about int->float and float->vecN conversions. Removed
unused shader files.
Reviewed-by: Trond
|