| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Use painter paths instead of rectangles for perspective transformed
rects, as the rectangles might have been clipped.
Task-number: 251485
Reviewed-by: Trond
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Mac/Cocoa.
Check if the view is visible before attaching it to a context.
Task-number: related to 250066
Reviewed-by: Norwegian Rock Cat
BT: yes
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
glpixmapfilter should not be compiled for OpenGL ES 2.0 on nay platform
Reviewed-by: Tom Cooksey
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The NSOpenGLContext seems to be tied to the window. So if the view
changes from one window to another, the OpenGL context needs to be
cleared. We can do this by hooking into the viewWillChangeWindow and
viewDidChangeWindow events and clear and reset the drawable
respectively. We also found out that QCocoaOpenGLView was not being used
at all, so just remove it to get rid of any confusion.
Task-number: 250066
Reviewed-by: Trond
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Implement a manual fast scale, so that we can do a scale, swizzle and
mirror in the same loop without any temporary image copies.
This potentially increases texture uploads on embedded hw with a factor
of 10.
Reviewed-by: Samuel
|
| | | | | |
|
|/ / / / |
|
| | | |
| | | |
| | | |
| | | | |
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
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Fall back to using pbuffers only if the FBO fails.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Zero the pointer before destroying the widget, as QGLWidget's destructor
may indirectly trigger access to the share widget.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Only call updateDepthClip() if the clip has actually changed.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The bottom-right coordinates are exclusive, not inclusive.
|
| |\ \ \ \ \
| | |/ / / /
| |/| / / /
| | |/ / /
| | | | | |
Conflicts:
src/opengl/opengl.pro
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Mac/Cocoa.
Check if the view is visible before attaching it to a context.
Task-number: related to 250066
Reviewed-by: Norwegian Rock Cat
BT: yes
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
glpixmapfilter should not be compiled for OpenGL ES 2.0 on nay platform
Reviewed-by: Tom Cooksey
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The NSOpenGLContext seems to be tied to the window. So if the view
changes from one window to another, the OpenGL context needs to be
cleared. We can do this by hooking into the viewWillChangeWindow and
viewDidChangeWindow events and clear and reset the drawable
respectively. We also found out that QCocoaOpenGLView was not being used
at all, so just remove it to get rid of any confusion.
Task-number: 250066
Reviewed-by: Trond
|
| | |\ \ \
| | | |/ /
| | | | |
| | | | |
| | | | | |
Conflicts:
src/gui/graphicsview/qgraphicsitem.cpp
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
QGLPixelBuffer::generateDynamicTexture() will bind the texture to the
pbuffer regardless. Why this works on Carbon is a mystery, but if we're
to follow our own docs, we should NOT bind the texture to the pbuffer
by default. An explicit call to ::bindToDynamicTexture() is required for
that.
Task-number: 250664
Reviewed-by: Samuel
BT: yes
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
with Cocoa support on Mac.
The Cocoa API doesn't have a concept of Z-ordering of widgets, and it's
implemented by reordering the widget hierarchy for normal widgets. This
does unfortunately not work for GL widgets, and it's not supported by
Apple. This apparently work with the Carbon AGL API though.
Task-number: 244890
Reviewed-by: Gunnar Sletta
BT: yes
|
| | | | |
| | | | |
| | | | |
| | | | | |
Reviewed-by: trustme
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The function was added in fde7f3d03782c801901f511131458d6fcb1021a5
and we believe qFuzzyIsNull is a better naming and more in line
with qFuzzyCompare.
Reviewed-by: Lars Knoll
Reviewed-by: nrc
Reviewed-by: Samuel
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
See also fde7f3d03782c801901f511131458d6fcb1021a5
Reviewed-by: Olivier
Reviewed-by: Samuel
|
| | | | |
| | | | |
| | | | |
| | | | | |
Reviewed-by: trustme
|
| | |\ \ \
| | | |/ / |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Reviewed-by: Kim
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
- 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: Rhys Weatherley
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
|/ / / / /
| | | | |
| | | | |
| | | | | |
Reviewed-by: TrustMe
|
| | | | |
| | | | |
| | | | |
| | | | | |
Reviewed-by: Trustme
|
| | | | | |
|