Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QtWaylandClient::QWaylandGLContext Class Reference

#include <qwaylandglcontext_p.h>

+ Inheritance diagram for QtWaylandClient::QWaylandGLContext:
+ Collaboration diagram for QtWaylandClient::QWaylandGLContext:

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.
 
- Public Member Functions inherited from QEGLPlatformContext
 QEGLPlatformContext (const QSurfaceFormat &format, QPlatformOpenGLContext *share, EGLDisplay display, EGLConfig *config=nullptr, Flags flags={ })
 
 ~QEGLPlatformContext ()
 
void initialize () override
 Called after a new instance is constructed.
 
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
 
- Public Member Functions inherited from QPlatformOpenGLContext
 QPlatformOpenGLContext ()
 
virtual ~QPlatformOpenGLContext ()
 
QOpenGLContextcontext () const
 

Protected Member Functions

EGLSurface eglSurfaceForPlatformSurface (QPlatformSurface *surface) override
 
EGLSurface createTemporaryOffscreenSurface () override
 
void destroyTemporaryOffscreenSurface (EGLSurface surface) override
 
- Protected Member Functions inherited from QEGLPlatformContext
 QEGLPlatformContext ()
 
virtual void runGLChecks ()
 

Additional Inherited Members

- Public Types inherited from QEGLPlatformContext
enum  Flag { NoSurfaceless = 0x01 }
 
- Static Public Member Functions inherited from QEGLPlatformContext
template<typename T >
static QOpenGLContextcreateFrom (EGLContext context, EGLDisplay contextDisplay, EGLDisplay platformDisplay, QOpenGLContext *shareContext)
 
- Static Public Member Functions inherited from QPlatformOpenGLContext
static bool parseOpenGLVersion (const QByteArray &versionString, int &major, int &minor)
 

Detailed Description

Definition at line 34 of file qwaylandglcontext_p.h.

Constructor & Destructor Documentation

◆ QWaylandGLContext()

QtWaylandClient::QWaylandGLContext::QWaylandGLContext ( EGLDisplay eglDisplay,
QWaylandDisplay * display,
const QSurfaceFormat & format,
QPlatformOpenGLContext * share )

◆ ~QWaylandGLContext()

QtWaylandClient::QWaylandGLContext::~QWaylandGLContext ( )

Definition at line 264 of file qwaylandglcontext.cpp.

References QObject::disconnect(), and QEGLPlatformContext::eglDisplay().

+ Here is the call graph for this function:

Member Function Documentation

◆ beginFrame()

void QtWaylandClient::QWaylandGLContext::beginFrame ( )
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 273 of file qwaylandglcontext.cpp.

References QtWaylandClient::QWaylandWindow::beginFrame(), and Q_ASSERT.

+ Here is the call graph for this function:

◆ createTemporaryOffscreenSurface()

EGLSurface QtWaylandClient::QWaylandGLContext::createTemporaryOffscreenSurface ( )
overrideprotectedvirtual

Reimplemented from QEGLPlatformContext.

Definition at line 242 of file qwaylandglcontext.cpp.

References QtWaylandClient::QWaylandDisplay::createSurface(), QEGLPlatformContext::eglConfig(), QEGLPlatformContext::eglDisplay(), and EGLSurface().

+ Here is the call graph for this function:

◆ defaultFramebufferObject()

GLuint QtWaylandClient::QWaylandGLContext::defaultFramebufferObject ( QPlatformSurface * surface) const
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.

◆ destroyTemporaryOffscreenSurface()

void QtWaylandClient::QWaylandGLContext::destroyTemporaryOffscreenSurface ( EGLSurface surface)
overrideprotectedvirtual

Reimplemented from QEGLPlatformContext.

Definition at line 255 of file qwaylandglcontext.cpp.

References QEGLPlatformContext::eglDisplay().

+ Here is the call graph for this function:

◆ doneCurrent()

void QtWaylandClient::QWaylandGLContext::doneCurrent ( )
overridevirtual

Reimplemented from QEGLPlatformContext.

Definition at line 335 of file qwaylandglcontext.cpp.

References QEGLPlatformContext::eglDisplay().

+ Here is the call graph for this function:

◆ eglSurfaceForPlatformSurface()

EGLSurface QtWaylandClient::QWaylandGLContext::eglSurfaceForPlatformSurface ( QPlatformSurface * surface)
overrideprotectedvirtual

Implements QEGLPlatformContext.

Definition at line 393 of file qwaylandglcontext.cpp.

◆ endFrame()

void QtWaylandClient::QWaylandGLContext::endFrame ( )
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.

+ Here is the call graph for this function:

◆ getProcAddress()

QFunctionPointer QtWaylandClient::QWaylandGLContext::getProcAddress ( const char * procName)
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.

◆ makeCurrent()

◆ swapBuffers()

void QtWaylandClient::QWaylandGLContext::swapBuffers ( QPlatformSurface * surface)
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 340 of file qwaylandglcontext.cpp.

References QtWaylandClient::DecorationsBlitter::blit(), QEGLPlatformContext::eglDisplay(), EGLDisplay(), EGLSurface(), QEGLPlatformContext::format(), qCWarning, QSurfaceFormat::swapInterval(), and window().

+ Here is the call graph for this function:

The documentation for this class was generated from the following files: