Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
LinuxDmabufClientBufferIntegration Class Reference

#include <linuxdmabufclientbufferintegration.h>

+ Inheritance diagram for LinuxDmabufClientBufferIntegration:
+ Collaboration diagram for LinuxDmabufClientBufferIntegration:

Public Member Functions

 LinuxDmabufClientBufferIntegration ()
 
 ~LinuxDmabufClientBufferIntegration () override
 
void initializeHardware (struct ::wl_display *display) override
 
QtWayland::ClientBuffercreateBufferFor (wl_resource *resource) override
 
bool importBuffer (wl_resource *resource, LinuxDmabufWlBuffer *linuxDmabufBuffer)
 
void removeBuffer (wl_resource *resource)
 
void deleteOrphanedTextures ()
 
void deleteSpecificOrphanedTexture (QOpenGLTexture *texture)
 
void deleteImage (EGLImageKHR image)
 
void deleteGLTextureWhenPossible (QOpenGLTexture *texture, QOpenGLContext *ctx)
 
- Public Member Functions inherited from QtWayland::ClientBufferIntegration
 ClientBufferIntegration ()
 
virtual ~ClientBufferIntegration ()
 
void setCompositor (QWaylandCompositor *compositor)
 
QWaylandCompositorcompositor () const
 
virtual void initializeHardware (struct ::wl_display *display)=0
 
virtual ClientBuffercreateBufferFor (struct ::wl_resource *buffer)=0
 
virtual bool isProtected (struct ::wl_resource *buffer)
 

Public Attributes

PFNGLEGLIMAGETARGETTEXTURE2DOESPROC gl_egl_image_target_texture_2d = nullptr
 

Additional Inherited Members

- Protected Attributes inherited from QtWayland::ClientBufferIntegration
QWaylandCompositorm_compositor = nullptr
 

Detailed Description

Definition at line 39 of file linuxdmabufclientbufferintegration.h.

Constructor & Destructor Documentation

◆ LinuxDmabufClientBufferIntegration()

LinuxDmabufClientBufferIntegration::LinuxDmabufClientBufferIntegration ( )

Definition at line 218 of file linuxdmabufclientbufferintegration.cpp.

References DRM_FORMAT_GR88, YuvPlaneConversion::format, YuvPlaneConversion::heightDivisor, YuvFormatConversion::inputPlanes, QHash< Key, T >::insert(), YuvFormatConversion::outputPlanes, YuvFormatConversion::plane, YuvPlaneConversion::planeIndex, and YuvPlaneConversion::widthDivisor.

+ Here is the call graph for this function:

◆ ~LinuxDmabufClientBufferIntegration()

LinuxDmabufClientBufferIntegration::~LinuxDmabufClientBufferIntegration ( )
override

Definition at line 241 of file linuxdmabufclientbufferintegration.cpp.

References QHash< Key, T >::clear(), Q_ASSERT, and qCWarning.

+ Here is the call graph for this function:

Member Function Documentation

◆ createBufferFor()

QtWayland::ClientBuffer * LinuxDmabufClientBufferIntegration::createBufferFor ( wl_resource *  resource)
override

Definition at line 421 of file linuxdmabufclientbufferintegration.cpp.

References QHash< Key, T >::end(), QHash< Key, T >::find(), it, and QHash< Key, T >::value().

+ Here is the call graph for this function:

◆ deleteGLTextureWhenPossible()

void LinuxDmabufClientBufferIntegration::deleteGLTextureWhenPossible ( QOpenGLTexture texture,
QOpenGLContext ctx 
)

Definition at line 354 of file linuxdmabufclientbufferintegration.cpp.

References QOpenGLContext::aboutToBeDestroyed(), QObject::connect(), deleteSpecificOrphanedTexture(), Qt::DirectConnection, Q_ASSERT, and QList< T >::size().

Referenced by LinuxDmabufWlBuffer::buffer_destroy().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deleteImage()

void LinuxDmabufClientBufferIntegration::deleteImage ( EGLImageKHR  image)

Definition at line 416 of file linuxdmabufclientbufferintegration.cpp.

Referenced by LinuxDmabufWlBuffer::buffer_destroy().

+ Here is the caller graph for this function:

◆ deleteOrphanedTextures()

void LinuxDmabufClientBufferIntegration::deleteOrphanedTextures ( )

Definition at line 367 of file linuxdmabufclientbufferintegration.cpp.

References QList< T >::clear(), con, QOpenGLContext::currentContext(), QObject::disconnect(), QList< T >::isEmpty(), Q_ASSERT, qCDebug, and qDeleteAll().

Referenced by LinuxDmabufClientBuffer::toOpenGlTexture().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deleteSpecificOrphanedTexture()

void LinuxDmabufClientBufferIntegration::deleteSpecificOrphanedTexture ( QOpenGLTexture texture)

Definition at line 386 of file linuxdmabufclientbufferintegration.cpp.

References con, QObject::disconnect(), i, QListSpecialMethodsBase< T >::indexOf(), QList< T >::length(), 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:

◆ importBuffer()

bool LinuxDmabufClientBufferIntegration::importBuffer ( wl_resource *  resource,
LinuxDmabufWlBuffer linuxDmabufBuffer 
)

Definition at line 432 of file linuxdmabufclientbufferintegration.cpp.

References QHash< Key, T >::contains(), LinuxDmabufWlBuffer::drmFormat(), and qCWarning.

Referenced by LinuxDmabufParams::zwp_linux_buffer_params_v1_create(), and LinuxDmabufParams::zwp_linux_buffer_params_v1_create_immed().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initializeHardware()

void LinuxDmabufClientBufferIntegration::initializeHardware ( struct ::wl_display *  display)
overridevirtual

Implements QtWayland::ClientBufferIntegration.

Definition at line 252 of file linuxdmabufclientbufferintegration.cpp.

References QByteArray::isEmpty(), QPlatformNativeInterface::nativeResourceForIntegration(), QGuiApplication::platformNativeInterface(), qCDebug, qCWarning, qgetenv(), QScopedPointer< T, Cleanup >::reset(), LinuxDmabuf::setSupportedModifiers(), and QByteArray::toInt().

+ Here is the call graph for this function:

◆ removeBuffer()

void LinuxDmabufClientBufferIntegration::removeBuffer ( wl_resource *  resource)

Definition at line 445 of file linuxdmabufclientbufferintegration.cpp.

References QHash< Key, T >::remove().

Referenced by LinuxDmabufWlBuffer::~LinuxDmabufWlBuffer(), and LinuxDmabufClientBuffer::setDestroyed().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ gl_egl_image_target_texture_2d

PFNGLEGLIMAGETARGETTEXTURE2DOESPROC LinuxDmabufClientBufferIntegration::gl_egl_image_target_texture_2d = nullptr

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