| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Make sure makeCurrent() on a window surface unbinds any active FBO, and
simplify ensureActive() code in GL2 paint engine a bit. We don't need
the last_engine pointer as ensureActive() will take care of ensuring the
correct engine is active anway.
|
|
|
|
|
|
| |
Override systemStateChanged() to get the system clip updates.
Reviewed-by: Trond
|
| |
|
|
|
|
| |
Reviewed-by: Trond
|
| |
|
|
|
|
|
|
|
| |
Compile both GL and GL2 paint engine on desktop, and choose between them
at run-time based on GL version flags.
Reviewed-by: Tom
|
|\
| |
| |
| |
| | |
Conflicts:
src/gui/painting/qpaintengine_raster.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Clean up the extension naming and make things build on OpenGL ES 2.0
again. All the extensions which made it into OpenGL 2.0 spec have have
the EXT postfix removed. This also eliminates defines on ES 2.0 as the
code now refers to the in-spec names.
Reviewed-by: sroedal
|
| |
| |
| |
| | |
Reviewed-by: trustme
|
|/ |
|
|
|
|
| |
The list of shaders shouldn't change too much now.
|
|
|
|
|
| |
Returns true if it had to change the shader program so the engine knows
it needs to clean the uniforms.
|
| |
|
|
|
|
| |
I.e. After composition, not before.
|
|\
| |
| |
| |
| |
| | |
Conflicts:
src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
src/opengl/opengl.pro
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Special-case TextDrawingMode in updateMatrix() as we know that we'll
have a pure translating transform, and round the transform's dx and dy
to avoid drawing on non-integer offsets.
Task-number: 245806
Reviewed-by: Tom
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In the case where a GL pixmap is used when there it still has an active
engine we need to ensure that the pixmap has been flushed from the
render FBO first. The newly added QGLPixmapData::copyBackFromRenderFbo()
handles this.
In addition, because several GL 2 paint engines can be active on the same
context at the same time, we can't make any assumptions and need to call
the newly added QGL2PaintEngineEx::ensureCreated() in the beginning of
any state-dependent paint engine function.
QGL2PaintEngineEx::ensureCreated() correctly transfers control to the
current engine if a different engine is active.
Running lance with -pixmap and -graphicssystem opengl works correctly
with the GL pixmap backend now.
|
| |
| |
| |
| |
| |
| |
| |
| | |
We now use FBOs to implement render-to-pixmap for the GL pixmap backend.
A multisample FBO is used for rendering, and is then blitted onto a
non-multisample FBO dynamically bound to the relevant texture.
Reviewed-by: Tom
|
| |
| |
| |
| | |
Only call updateDepthClip() if the clip has actually changed.
|
| |
| |
| |
| |
| | |
- But now it can handle non-solid-color pens, the whole reason for
the refactor in the first place.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Rename inputVertex -> vertexCoordsArray to be more consistent with other
vertex attribute array naming conventions.
SimpleVertexShader has also been replaced with a combination of
MainVertexShader & PositionOnlyVertexShader, so can be killed.
|
| | |
|
| |
| |
| |
| |
| |
| | |
- atan2 is just called atan in GLSL (which supports overloads)
- varyings can't be modified in fragment shaders
- #defines need to be on their own line
|
| |
| |
| |
| |
| |
| | |
If you see shocking pink in the rendering output, it's probably because
the "simple" shader is in use but color writes have somehow been
enabled. :-)
|
| |
| |
| |
| | |
Reviewed-by: Samuel Rødal
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Reviewed-by: TrustMe
|
| |
| |
| |
| | |
Reviewed-by: Trustme
|
|/ |
|
|
|
|
|
|
| |
RevBy: Trond
Details: Need to make sure clipping/scissoring etc is turned off and
that we are in a good state.
|
|
|
|
| |
RevBy: Tom
|
|
|
|
| |
RevBy: Tom
|
|
|
|
| |
RevBy: Tom
|
|
|
|
| |
RevBy: Tom
|
|
|
|
|
|
|
|
| |
RevBy: Tom
Details: Mode transfer lets us optimize the case where the same operation is
done a lot of times in a row, for example image or text drawing, by
being able to assume that most of the state has already been set up
properly.
|
|
|
|
|
|
|
| |
RevBy: Tom
Details: Buffer vertex and texture coordinates so that we get away
with just a single glDrawArrays call per text item.
Also move drawCachedGlyphs() into the private class.
|
|
|
|
|
| |
Details: Avoid adding 0.5 to dx() / dy() which caused images / glyphs to
get slight antialiasing and edge artifacts.
|
| |
|
|
|
|
|
|
|
|
| |
paint engine.
RevBy: Tom
Details: Now we can use the GL 2 paint engine on non-widget paint devices like pixel buffers,
framebuffer objects, and GL window surfaces. Using -graphicssystem opengl works now.
|
| |
|
|
|