| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
The GL1 engine will use the raster fall back for pixmap filters. We
anyhow use GLSL for the filters, which requires OpenGL 2 support, and in
that case the GL2 engine is the default.
Reviewed-by: Gunnar Sletta
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) Need to transfer to brush drawing mode when switching active engine,
to make sure we reset the vertex / texture coordinate pointers for image
drawing.
2) QGLPixmapGLPaintDevice::beginPaint() was changed to use
QGLContext::drawTexture() for blitting the old texture contents to the
render FBO, which means that we also need to set up viewport, modelview,
and projection matrices, and ensure that clipping / stencil testing
is disabled.
3) Make sure stencil testing is disabled when clearing the FBO.
Reviewed-by: Tom
|
|
|
|
|
| |
Reviewed-by: Samuel
Reviewed-by: Tom Cooksey
|
| |
|
|
|
|
|
|
|
|
| |
Change c72eaee91136bbe1a9fa99cdb0a7593bec60264b was wrong, we should
call ensureActive(), not syncState().
Task-number: 261113
Reviewed-by: Trond
|
|
|
|
|
|
|
|
|
|
|
| |
When dumping the rectangle clip to the depth buffer due to needing to
intersect with a more complex clip, we didn't take into consideration
that writeClip will transform the path by the current matrix, whereas
the rectangle clip is in device coordinates. Thus, we need to map the
path by the inverse matrix.
Task-number: 260701
Reviewed-by: Trond
|
|
|
|
|
|
|
|
|
| |
We need to call ensureActive() when save() is called, to make sure
systemStateChanged() gets called and updates the scissorTestEnabled
flag, so that we don't lose it on the next restore().
Task-number: 261113
Reviewed-by: Trond
|
|
|
|
| |
Reviewed-by: Trond
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
OpenGL ES does not support GL_REPEAT wrap modes for NPOT textures. So
instead, we emulate GL_REPEAT by only taking the fractional part of the
texture coords in the fragment shader.
Task-number: 260982
Reviewed-by: Samuel
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use qpen_ and qbrush_ accessors for slightly better performance
and avoid calling for the same value again and again. Secondly,
the engine doesn't use its pen and brush states so there is
no point in maintaining them, so don't reset old brush all the
time.
Reviewed-by: Samuel
|
|/
|
|
| |
Reviewed-by: Samuel
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The handling for the current QGLContext was looking up the same
TLS data several times per call (hasLocalData() and localData()
calls particularly).
This change also refactors the code a little so that the
setting of the QGLContext within makeCurrent() and doneCurrent()
is in one location in the code instead of six (one per platform).
Reviewed-by: Michael Brasser
Reviewed-by: Sarah Smith
|
| |
|
|
|
|
| |
Reviewed-by: Sarah Smith
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Update documentation and #ifdef out the implementation.
Reviewed-by: trustme
|
| |
|
|
|
|
|
|
|
|
|
| |
The renderText() function is only for legacy desktop systems,
so revert the previous attempts to port it to OpenGL/ES.
Documentation note added to direct users to QPainter::drawText()
for the correct way to render text onto an OpenGL paint device.
Reviewed-by: trustme
|
|\
| |
| |
| |
| |
| | |
Conflicts:
tests/auto/qhttpnetworkconnection/qhttpnetworkconnection.pro
tests/auto/qhttpnetworkreply/qhttpnetworkreply.pro
|
| |
| |
| |
| |
| |
| |
| | |
Stops the license checker failing each time the file is re-generated.
Also added "_P" to the generated header guard, as it's a private header.
Reviewed-by: Gunnar Sletta
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QGL2PaintEngineEx::clip() needs to call ensureActive() to make sure the
engine is active and synced before doing any clipping operations. We
also need to set needsSync to false before entering setState() since
otherwise we end up in an infinite loop in the case where
replayClipOperations() again calls QGL2PaintEngineEx::clip().
Reviewed-by: Tom
|
| |
| |
| |
| | |
Reviewed-by: Gunnar
|
| |
| |
| |
| | |
Reviewed-by: trustme
|
| |
| |
| |
| | |
Reviewed-by: trustme
|
| |
| |
| |
| |
| |
| |
| |
| | |
This change should make qt_resolve_buffer_extensions() handle all
of the ARB, OES, and regular name variants for glBindBuffer(), etc
that may occur in the wild.
Reviewed-by: trustme
|
| |
| |
| |
| | |
Reviewed-by: trustme
|
| |
| |
| |
| | |
Reviewed-by: trustme
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It should be up to QGLPaintDevice::beginPaint() to make the correct
context current, so everything needing a current context needs to be
moved after that call.
This patch also modifies QGLPixmapData to use QGLContext::drawTexture
rather than the GL2 PE's drawTexture, which shouldn't be called inside
beginPaint as the paint engine hasn't been fully initialised yet.
Reviewed-by: Eskil
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We should bind the text mask texture after calling prepareForDraw(),
since prepareForDraw() might need to initialize the gradient texture,
which means the text mask will no longer be bound.
Task-number: 261058
Reviewed-by: Kim
|
| |
| |
| |
| | |
Reviewed-by: Tom
|
| |
| |
| |
| | |
Reviewed-by: Tom
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
wglGetProcAddress() on Windows requires a current context. Since there
was none, the resolution of GL extensions would silently fail, the
function pointers would be null and when we tried to use them later we
would get a crash (e.g. in startup of PadNavigator.) I've added an
assert to make the cause of the crash clearer, and a makeCurrent() to
fix the crash.
Reviewed-by: Tom
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The problem was the QGLContextResource destructor which was called
when the QtOpenGL dll was unloaded. At this point in time, the gl
driver had already been unloaded so any gl calls at this point in time
would crash. It is simply wrong for the destructor to try to clean up,
so we instead output a warning if resources are leaked.
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QGLPaintDevice::format() was returning the context's format, not
the format of the window surface's FBO. This caused the OpenGL1
paint engine to think that the window didn't have depth and
stencil buffers, even though the FBO most certainly did.
This change makes QGLPaintDevice::format() virtual and overrides it
in QGLFBOGLPaintDevice to return an updated format that includes
the context parameters plus the extra features that the FBO supports.
Reviewed-by: Tom Cooksey
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Text drawing on OpenGL/ES 1.1 systems using QPF was displaying filled
boxes in place of the character glyphs. This is due to the QPF
implementation of alphaMapForGlyph() returning a different
color table than that expected by QGLGlyphCache::cacheGlyphs().
Reviewed-by: Sarah Smith
|
| |
| |
| |
| | |
Reviewed-by: trustme
|
| |
| |
| |
| | |
Reviewed-by: trustme
|
| |
| |
| |
| | |
Reviewed-by: trustme
|
| |
| |
| |
| | |
Reviewed-by: trustme
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously, QtOpenGL assumed that by linking against QtGui, it would
automatically also be linked against EGL. However, this is no longer the
case after 83940f25dba51a9942ab55ed8475fc7fc8a8da84 which makes sure
only QtGui links against EGL and not other libs/apps linking against
QtGui.
Reviewed-by: Rhys Weatherley
|
| |
| |
| |
| |
| |
| |
| | |
This bug was exposed by a change in the QSvg module, and it
fixes the framebufferobject and pbuffers2 GL examples.
Reviewed-by: Kim
|
| |
| |
| |
| |
| |
| | |
QGLPixmapData needs to be #define'd out for OpenGL ES 1.x
Reviewed-by: Trustme
|