![]() |
Qt 6.x
The Qt SDK
|
Collaboration diagram for WaylandEglClientBufferIntegrationPrivate:Public Member Functions | |
| WaylandEglClientBufferIntegrationPrivate () | |
| void | initBuffer (WaylandEglClientBuffer *buffer) |
| void | initEglTexture (WaylandEglClientBuffer *buffer, EGLint format) |
| bool | ensureContext () |
| bool | initEglStream (WaylandEglClientBuffer *buffer, struct ::wl_resource *bufferHandle) |
| void | setupBufferAndCleanup (BufferState *bs, QOpenGLTexture *texture, int plane) |
| void | handleEglstreamTexture (WaylandEglClientBuffer *buffer, wl_resource *bufferHandle) |
| void | registerBuffer (struct ::wl_resource *buffer, BufferState state) |
| void | deleteGLTextureWhenPossible (QOpenGLTexture *texture, QOpenGLContext *ctx) |
| void | deleteOrphanedTextures () |
| void | deleteSpecificOrphanedTexture (QOpenGLTexture *texture) |
Static Public Member Functions | |
| static WaylandEglClientBufferIntegrationPrivate * | get (WaylandEglClientBufferIntegration *integration) |
Public Attributes | |
| EGLDisplay | egl_display = EGL_NO_DISPLAY |
| bool | display_bound = false |
| ::wl_display * | wlDisplay = nullptr |
| QOffscreenSurface * | offscreenSurface = nullptr |
| QOpenGLContext * | localContext = nullptr |
| QMutex | orphanedTexturesLock |
| QList< QOpenGLTexture * > | orphanedTextures |
| QList< QMetaObject::Connection > | orphanedTexturesAboutToBeDestroyedConnection |
| PFNEGLBINDWAYLANDDISPLAYWL | egl_bind_wayland_display = nullptr |
| PFNEGLUNBINDWAYLANDDISPLAYWL | egl_unbind_wayland_display = nullptr |
| PFNEGLQUERYWAYLANDBUFFERWL_compat | egl_query_wayland_buffer = nullptr |
| PFNEGLCREATEIMAGEKHRPROC | egl_create_image = nullptr |
| PFNEGLDESTROYIMAGEKHRPROC | egl_destroy_image = nullptr |
| PFNGLEGLIMAGETARGETTEXTURE2DOESPROC | gl_egl_image_target_texture_2d = nullptr |
| QEGLStreamConvenience * | funcs = nullptr |
Static Public Attributes | |
| static bool | shuttingDown = false |
Definition at line 141 of file waylandeglclientbufferintegration.cpp.
| WaylandEglClientBufferIntegrationPrivate::WaylandEglClientBufferIntegrationPrivate | ( | ) |
Definition at line 187 of file waylandeglclientbufferintegration.cpp.
| void WaylandEglClientBufferIntegrationPrivate::deleteGLTextureWhenPossible | ( | QOpenGLTexture * | texture, |
| QOpenGLContext * | ctx | ||
| ) |
Definition at line 420 of file waylandeglclientbufferintegration.cpp.
References QOpenGLContext::aboutToBeDestroyed(), QObject::connect(), deleteSpecificOrphanedTexture(), Qt::DirectConnection, orphanedTextures, orphanedTexturesAboutToBeDestroyedConnection, orphanedTexturesLock, Q_ASSERT, Q_FUNC_INFO, qCDebug, and QList< T >::size().
Here is the call graph for this function:| void WaylandEglClientBufferIntegrationPrivate::deleteOrphanedTextures | ( | ) |
Definition at line 437 of file waylandeglclientbufferintegration.cpp.
References QList< T >::clear(), con, QOpenGLContext::currentContext(), QObject::disconnect(), i, orphanedTextures, orphanedTexturesAboutToBeDestroyedConnection, orphanedTexturesLock, Q_ASSERT, Q_FUNC_INFO, qCDebug, qDeleteAll(), and QList< T >::size().
Here is the call graph for this function:| void WaylandEglClientBufferIntegrationPrivate::deleteSpecificOrphanedTexture | ( | QOpenGLTexture * | texture | ) |
Definition at line 458 of file waylandeglclientbufferintegration.cpp.
References con, QObject::disconnect(), i, QListSpecialMethodsBase< T >::indexOf(), QList< T >::length(), orphanedTextures, orphanedTexturesAboutToBeDestroyedConnection, orphanedTexturesLock, Q_ASSERT, Q_FUNC_INFO, qCDebug, qCWarning, QList< T >::removeAt(), QList< T >::size(), and QList< T >::takeAt().
Referenced by deleteGLTextureWhenPossible().
Here is the call graph for this function:
Here is the caller graph for this function:| bool WaylandEglClientBufferIntegrationPrivate::ensureContext | ( | ) |
Definition at line 273 of file waylandeglclientbufferintegration.cpp.
References QOffscreenSurface::create(), QOpenGLContext::create(), QOpenGLContext::currentContext(), QOpenGLContext::format(), QOpenGLContext::globalShareContext(), localContext, QOpenGLContext::makeCurrent(), offscreenSurface, QOffscreenSurface::setFormat(), and QOpenGLContext::setShareContext().
Referenced by handleEglstreamTexture().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
Definition at line 178 of file waylandeglclientbufferintegration.cpp.
References QScopedPointer< T, Cleanup >::data(), nullptr, and shuttingDown.
Referenced by WaylandEglClientBuffer::WaylandEglClientBuffer(), WaylandEglClientBuffer::~WaylandEglClientBuffer(), WaylandEglClientBuffer::lockNativeBuffer(), WaylandEglClientBuffer::setCommitted(), WaylandEglClientBuffer::toOpenGlTexture(), and WaylandEglClientBuffer::unlockNativeBuffer().
Here is the call graph for this function:
Here is the caller graph for this function:| void WaylandEglClientBufferIntegrationPrivate::handleEglstreamTexture | ( | WaylandEglClientBuffer * | buffer, |
| wl_resource * | bufferHandle | ||
| ) |
Definition at line 391 of file waylandeglclientbufferintegration.cpp.
References QOpenGLContext::doneCurrent(), egl_display, EGL_STREAM_STATE_KHR, EGL_STREAM_STATE_NEW_FRAME_AVAILABLE_KHR, ensureContext(), funcs, initEglStream(), localContext, BufferState::ModeUninitialized, Q_FUNC_INFO, qCWarning, QEGLStreamConvenience::query_stream, state, and QEGLStreamConvenience::stream_consumer_acquire.
Here is the call graph for this function:| void WaylandEglClientBufferIntegrationPrivate::initBuffer | ( | WaylandEglClientBuffer * | buffer | ) |
Definition at line 191 of file waylandeglclientbufferintegration.cpp.
References egl_display, egl_query_wayland_buffer, and initEglTexture().
Here is the call graph for this function:| bool WaylandEglClientBufferIntegrationPrivate::initEglStream | ( | WaylandEglClientBuffer * | buffer, |
| struct ::wl_resource * | bufferHandle | ||
| ) |
Definition at line 339 of file waylandeglclientbufferintegration.cpp.
References QEGLStreamConvenience::create_stream_attrib_nv, QEGLStreamConvenience::create_stream_from_file_descriptor, QOpenGLContext::currentContext(), QEGLStreamConvenience::destroy_stream, egl_display, egl_error_string(), EGL_NO_FILE_DESCRIPTOR_KHR, EGL_NO_STREAM_KHR, egl_query_wayland_buffer, EGL_TEXTURE_EXTERNAL_WL, EGL_WAYLAND_BUFFER_WL, EGL_WAYLAND_EGLSTREAM_WL, funcs, GL_TEXTURE_EXTERNAL_OES, Qt::hex(), BufferState::ModeEGLStream, Q_FUNC_INFO, qCDebug, qCWarning, setupBufferAndCleanup(), state, and QEGLStreamConvenience::stream_consumer_gltexture.
Referenced by handleEglstreamTexture().
Here is the call graph for this function:
Here is the caller graph for this function:| void WaylandEglClientBufferIntegrationPrivate::initEglTexture | ( | WaylandEglClientBuffer * | buffer, |
| EGLint | format | ||
| ) |
Definition at line 199 of file waylandeglclientbufferintegration.cpp.
References egl_create_image, egl_display, egl_query_wayland_buffer, EGL_TEXTURE_EXTERNAL_WL, EGL_TEXTURE_RGB, EGL_TEXTURE_RGBA, EGL_TEXTURE_Y_U_V_WL, EGL_TEXTURE_Y_UV_WL, EGL_TEXTURE_Y_XUXV_WL, EGL_WAYLAND_BUFFER_WL, EGL_WAYLAND_PLANE_WL, EGL_WAYLAND_Y_INVERTED_WL, EGLBoolean(), gl_egl_image_target_texture_2d, i, BufferState::ModeEGLImage, qCWarning, ret, and state.
Referenced by initBuffer().
Here is the call graph for this function:
Here is the caller graph for this function:| void WaylandEglClientBufferIntegrationPrivate::registerBuffer | ( | struct ::wl_resource * | buffer, |
| BufferState | state | ||
| ) |
| void WaylandEglClientBufferIntegrationPrivate::setupBufferAndCleanup | ( | BufferState * | bs, |
| QOpenGLTexture * | texture, | ||
| int | plane | ||
| ) |
Definition at line 296 of file waylandeglclientbufferintegration.cpp.
References QOpenGLContext::aboutToBeDestroyed(), QObject::connect(), QOpenGLContext::currentContext(), Qt::DirectConnection, Q_ASSERT, Q_FUNC_INFO, qCDebug, BufferState::textures, BufferState::texturesAboutToBeDestroyedConnection, BufferState::texturesContext, and BufferState::texturesLock.
Referenced by initEglStream().
Here is the call graph for this function:
Here is the caller graph for this function:| bool WaylandEglClientBufferIntegrationPrivate::display_bound = false |
Definition at line 158 of file waylandeglclientbufferintegration.cpp.
| PFNEGLBINDWAYLANDDISPLAYWL WaylandEglClientBufferIntegrationPrivate::egl_bind_wayland_display = nullptr |
Definition at line 168 of file waylandeglclientbufferintegration.cpp.
| PFNEGLCREATEIMAGEKHRPROC WaylandEglClientBufferIntegrationPrivate::egl_create_image = nullptr |
Definition at line 172 of file waylandeglclientbufferintegration.cpp.
Referenced by initEglTexture().
| PFNEGLDESTROYIMAGEKHRPROC WaylandEglClientBufferIntegrationPrivate::egl_destroy_image = nullptr |
Definition at line 173 of file waylandeglclientbufferintegration.cpp.
| EGLDisplay WaylandEglClientBufferIntegrationPrivate::egl_display = EGL_NO_DISPLAY |
Definition at line 157 of file waylandeglclientbufferintegration.cpp.
Referenced by handleEglstreamTexture(), initBuffer(), initEglStream(), and initEglTexture().
| PFNEGLQUERYWAYLANDBUFFERWL_compat WaylandEglClientBufferIntegrationPrivate::egl_query_wayland_buffer = nullptr |
Definition at line 170 of file waylandeglclientbufferintegration.cpp.
Referenced by initBuffer(), initEglStream(), and initEglTexture().
| PFNEGLUNBINDWAYLANDDISPLAYWL WaylandEglClientBufferIntegrationPrivate::egl_unbind_wayland_display = nullptr |
Definition at line 169 of file waylandeglclientbufferintegration.cpp.
| QEGLStreamConvenience* WaylandEglClientBufferIntegrationPrivate::funcs = nullptr |
Definition at line 177 of file waylandeglclientbufferintegration.cpp.
Referenced by handleEglstreamTexture(), and initEglStream().
| PFNGLEGLIMAGETARGETTEXTURE2DOESPROC WaylandEglClientBufferIntegrationPrivate::gl_egl_image_target_texture_2d = nullptr |
Definition at line 175 of file waylandeglclientbufferintegration.cpp.
Referenced by initEglTexture().
| QOpenGLContext* WaylandEglClientBufferIntegrationPrivate::localContext = nullptr |
Definition at line 161 of file waylandeglclientbufferintegration.cpp.
Referenced by ensureContext(), and handleEglstreamTexture().
| QOffscreenSurface* WaylandEglClientBufferIntegrationPrivate::offscreenSurface = nullptr |
Definition at line 160 of file waylandeglclientbufferintegration.cpp.
Referenced by ensureContext().
| QList<QOpenGLTexture *> WaylandEglClientBufferIntegrationPrivate::orphanedTextures |
Definition at line 164 of file waylandeglclientbufferintegration.cpp.
Referenced by deleteGLTextureWhenPossible(), deleteOrphanedTextures(), and deleteSpecificOrphanedTexture().
| QList<QMetaObject::Connection> WaylandEglClientBufferIntegrationPrivate::orphanedTexturesAboutToBeDestroyedConnection |
Definition at line 165 of file waylandeglclientbufferintegration.cpp.
Referenced by deleteGLTextureWhenPossible(), deleteOrphanedTextures(), and deleteSpecificOrphanedTexture().
| QMutex WaylandEglClientBufferIntegrationPrivate::orphanedTexturesLock |
Definition at line 163 of file waylandeglclientbufferintegration.cpp.
Referenced by deleteGLTextureWhenPossible(), deleteOrphanedTextures(), and deleteSpecificOrphanedTexture().
|
static |
Definition at line 182 of file waylandeglclientbufferintegration.cpp.
Referenced by WaylandEglClientBufferIntegration::~WaylandEglClientBufferIntegration(), and get().
| ::wl_display* WaylandEglClientBufferIntegrationPrivate::wlDisplay = nullptr |
Definition at line 159 of file waylandeglclientbufferintegration.cpp.