![]() |
Qt 6.x
The Qt SDK
|
#include <qwaylandglcontext_p.h>
Public Member Functions | |
QWaylandGLContext (EGLDisplay eglDisplay, QWaylandDisplay *display, const QSurfaceFormat &format, QPlatformOpenGLContext *share) | |
~QWaylandGLContext () | |
void | swapBuffers (QPlatformSurface *surface) override |
Reimplement in subclass to native swap buffers calls. | |
bool | makeCurrent (QPlatformSurface *surface) override |
void | doneCurrent () override |
void | beginFrame () override |
Called when the RHI begins rendering a new frame in the context. | |
void | endFrame () override |
Called when the RHI ends rendering a in the context. | |
GLuint | defaultFramebufferObject (QPlatformSurface *surface) const override |
Reimplement in subclass if your platform uses framebuffer objects for surfaces. | |
QFunctionPointer | getProcAddress (const char *procName) override |
Reimplement in subclass to allow dynamic querying of OpenGL symbols. | |
![]() | |
QEGLPlatformContext (const QSurfaceFormat &format, QPlatformOpenGLContext *share, EGLDisplay display, EGLConfig *config=nullptr, Flags flags={ }) | |
~QEGLPlatformContext () | |
void | initialize () override |
Called after a new instance is constructed. | |
bool | makeCurrent (QPlatformSurface *surface) override |
void | doneCurrent () override |
void | swapBuffers (QPlatformSurface *surface) override |
Reimplement in subclass to native swap buffers calls. | |
QFunctionPointer | getProcAddress (const char *procName) override |
Reimplement in subclass to allow dynamic querying of OpenGL symbols. | |
QSurfaceFormat | format () const override |
bool | isSharing () const override |
bool | isValid () const override |
EGLContext | nativeContext () const override |
EGLConfig | config () const override |
EGLDisplay | display () const override |
virtual void | invalidateContext () override |
EGLContext | eglContext () const |
EGLDisplay | eglDisplay () const |
EGLConfig | eglConfig () const |
![]() | |
QPlatformOpenGLContext () | |
virtual | ~QPlatformOpenGLContext () |
virtual void | initialize () |
Called after a new instance is constructed. | |
virtual QSurfaceFormat | format () const =0 |
virtual void | swapBuffers (QPlatformSurface *surface)=0 |
Reimplement in subclass to native swap buffers calls. | |
virtual GLuint | defaultFramebufferObject (QPlatformSurface *surface) const |
Reimplement in subclass if your platform uses framebuffer objects for surfaces. | |
virtual bool | makeCurrent (QPlatformSurface *surface)=0 |
virtual void | doneCurrent ()=0 |
virtual void | beginFrame () |
Called when the RHI begins rendering a new frame in the context. | |
virtual void | endFrame () |
Called when the RHI ends rendering a in the context. | |
virtual bool | isSharing () const |
virtual bool | isValid () const |
virtual QFunctionPointer | getProcAddress (const char *procName)=0 |
Reimplement in subclass to allow dynamic querying of OpenGL symbols. | |
QOpenGLContext * | context () const |
Protected Member Functions | |
EGLSurface | eglSurfaceForPlatformSurface (QPlatformSurface *surface) override |
EGLSurface | createTemporaryOffscreenSurface () override |
void | destroyTemporaryOffscreenSurface (EGLSurface surface) override |
![]() | |
QEGLPlatformContext () | |
virtual EGLSurface | eglSurfaceForPlatformSurface (QPlatformSurface *surface)=0 |
virtual EGLSurface | createTemporaryOffscreenSurface () |
virtual void | destroyTemporaryOffscreenSurface (EGLSurface surface) |
virtual void | runGLChecks () |
Additional Inherited Members | |
![]() | |
enum | Flag { NoSurfaceless = 0x01 } |
![]() | |
template<typename T > | |
static QOpenGLContext * | createFrom (EGLContext context, EGLDisplay contextDisplay, EGLDisplay platformDisplay, QOpenGLContext *shareContext) |
![]() | |
static bool | parseOpenGLVersion (const QByteArray &versionString, int &major, int &minor) |
Definition at line 34 of file qwaylandglcontext_p.h.
QtWaylandClient::QWaylandGLContext::QWaylandGLContext | ( | EGLDisplay | eglDisplay, |
QWaylandDisplay * | display, | ||
const QSurfaceFormat & | format, | ||
QPlatformOpenGLContext * | share | ||
) |
Definition at line 194 of file qwaylandglcontext.cpp.
References QObject::connect(), QList< T >::constData(), QEGLPlatformContext::eglConfig(), QEGLPlatformContext::eglContext(), QEGLPlatformContext::eglDisplay(), QEGLPlatformContext::format(), QEGLPlatformContext::invalidateContext(), ok, QSurfaceFormat::OpenGL, QSurfaceFormat::OpenVG, qEnvironmentVariableIntValue(), qWarning, QtWaylandClient::QWaylandDisplay::reconnected(), and QSurfaceFormat::renderableType().
QtWaylandClient::QWaylandGLContext::~QWaylandGLContext | ( | ) |
Definition at line 265 of file qwaylandglcontext.cpp.
References QObject::disconnect(), and QEGLPlatformContext::eglDisplay().
|
overridevirtual |
Called when the RHI begins rendering a new frame in the context.
Will always be paired with a call to \l endFrame().
Reimplemented from QPlatformOpenGLContext.
Definition at line 274 of file qwaylandglcontext.cpp.
References QtWaylandClient::QWaylandWindow::beginFrame(), and Q_ASSERT.
|
overrideprotectedvirtual |
Reimplemented from QEGLPlatformContext.
Definition at line 243 of file qwaylandglcontext.cpp.
References QtWaylandClient::QWaylandDisplay::createSurface(), QEGLPlatformContext::eglConfig(), QEGLPlatformContext::eglDisplay(), and EGLSurface().
|
overridevirtual |
Reimplement in subclass if your platform uses framebuffer objects for surfaces.
The default implementation returns 0.
Reimplemented from QPlatformOpenGLContext.
Definition at line 380 of file qwaylandglcontext.cpp.
|
overrideprotectedvirtual |
Reimplemented from QEGLPlatformContext.
Definition at line 256 of file qwaylandglcontext.cpp.
References QEGLPlatformContext::eglDisplay().
|
overridevirtual |
Reimplemented from QEGLPlatformContext.
Definition at line 336 of file qwaylandglcontext.cpp.
References QEGLPlatformContext::eglDisplay().
|
overrideprotectedvirtual |
Implements QEGLPlatformContext.
Definition at line 393 of file qwaylandglcontext.cpp.
|
overridevirtual |
Called when the RHI ends rendering a in the context.
Is always preceded by a call to \l beginFrame().
Reimplemented from QPlatformOpenGLContext.
Definition at line 280 of file qwaylandglcontext.cpp.
References QtWaylandClient::QWaylandWindow::endFrame(), and Q_ASSERT.
|
overridevirtual |
Reimplement in subclass to allow dynamic querying of OpenGL symbols.
As opposed to e.g. the wglGetProcAddress function on Windows, Qt expects this methods to be able to return valid function pointers even for standard OpenGL symbols.
Reimplemented from QEGLPlatformContext.
Definition at line 385 of file qwaylandglcontext.cpp.
|
overridevirtual |
Reimplemented from QEGLPlatformContext.
Definition at line 286 of file qwaylandglcontext.cpp.
References QtWaylandClient::QWaylandEglWindow::bindContentFBO(), QPlatformOpenGLContext::context(), QtWaylandClient::QWaylandWindow::createDecoration(), QtWaylandClient::QWaylandWindow::decoration(), QEGLPlatformContext::eglContext(), QEGLPlatformContext::eglDisplay(), QtWaylandClient::QWaylandEglWindow::eglSurface(), EGLSurface(), QtWaylandClient::QWaylandWindow::isExposed(), QEGLPlatformContext::isValid(), QtWaylandClient::QWaylandEglWindow::needToUpdateContentFBO(), qWarning, QtWaylandClient::QWaylandWindow::setCanResize(), QOpenGLContextPrivate::setCurrentContext(), and QtWaylandClient::QWaylandEglWindow::updateSurface().
|
overridevirtual |
Reimplement in subclass to native swap buffers calls.
The implementation must support being called in a thread different than the gui-thread.
Reimplemented from QEGLPlatformContext.
Definition at line 341 of file qwaylandglcontext.cpp.
References QtWaylandClient::DecorationsBlitter::blit(), QEGLPlatformContext::eglDisplay(), EGLDisplay(), EGLSurface(), QEGLPlatformContext::format(), QSurfaceFormat::swapInterval(), and window().