| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
If creating a QGLWidget triggers the creation of a QPixmap then we might
end up in an infinite recursion due to QPixmap trying to access
qt_gl_share_widget(). This can happen via setWindowIcon for example.
Adding an initializing flag to QGLGlobalShareWidget and preventing
QGLFramebufferObject::hasOpenGLFramebufferObjects() and
::hasOpenGLFramebufferBlit() from creating a QGLWidget every time they
are called with no active GL context.
Reviewed-by: Trond
|
|\ |
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
| |
| |
| |
| |
| |
| | |
GL window surface and GL pixmap backend should work with old GL engine
as well, though not supported to the same degree.
Reviewed-by: Trond
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The window surface has been modified to track widget deletion to make
sure it doesn't try to access the widget's context data after deletion.
QGLPixmapData now also uses GL_RGB instead of GL_RGBA when appropriate,
and hasAlphaChannel() has been modified in view of this.
A number of other issues have been fixed in QGLPixmapData, and the
autotest has been modified to use a more lenient pixmap compare function
due to off-by-one pixel errors here and there.
Reviewed-by: Trond
|
| |
| |
| |
| | |
Reviewed-By: TrustMe
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a buffer swap leaves the back buffer intact we don't have to use
an FBO or PB, but can render directly to the window's back buffer,
yielding higher performance and depending less on extensions such as
multisample FBOs and FBO blitting.
Reviewed-by: Trond
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Using GL 2 as default engine breaks the use cases where OpenGL commands
are inter-mixed with QPainter commands, such as when using raw OpenGL in
graphicsview.
For now we'll use the old OpenGL engine for QGLWidget, QGLPixelBuffer,
and QGLFramebufferObject on desktop, and the OpenGL 2 paint engine when
the OpenGL graphics system is used.
Reviewed-by: Trond
|
| |
| |
| |
| |
| |
| | |
At the moment, for the GL graphics system to work properly with GLES 2
without the FramebufferBlit extension swapBuffers() needs to preserve
the back buffer.
|
| |
| |
| |
| |
| |
| |
| | |
Compile both GL and GL2 paint engine on desktop, and choose between them
at run-time based on GL version flags.
Reviewed-by: Tom
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| | |
Enable GL graphics system on ES 2.0 builds - it wont work, but now
QGLDrawable is being used it's just easier to build the graphics system.
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/opengl/opengl.pro
src/opengl/qglextensions.cpp
src/opengl/qglextensions_p.h
src/opengl/qglshaderprogram.cpp
src/opengl/qglshaderprogram.h
|
| |
| |
| |
| | |
Reviewed-by: Thiago
|
| |
| |
| |
| | |
Reviewed-by: trustme
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| |/
|/|
| |
| | |
Conflicts:
src/opengl/opengl.pro
|
| |
| |
| |
| | |
Reviewed-by: trustme
|
| |
| |
| |
| | |
RevBy: Trond
|
| |
| |
| |
| |
| |
| | |
RevBy: Trond
Details: Need to make sure clipping/scissoring etc is turned off and
that we are in a good state.
|
| |
| |
| |
| |
| |
| | |
Details: As a window surface is created even for embedded widgets, don't create
the GL resources required by the surface until they are actually needed.
RevBy: Tom
|
|/ |
|
|
|