4#ifndef LINUXDMABUFCLIENTBUFFERINTEGRATION_H
5#define LINUXDMABUFCLIENTBUFFERINTEGRATION_H
9#include <QtWaylandCompositor/private/qwlclientbufferintegration_p.h>
10#include <QtWaylandCompositor/private/qwlclientbuffer_p.h>
11#include <QtWaylandCompositor/private/qwayland-server-wayland.h>
12#include <QtCore/QMutex>
14#include <drm_fourcc.h>
22class LinuxDmabufClientBufferIntegrationPrivate;
45 void initializeHardware(struct ::wl_display *
display)
override;
48 void removeBuffer(wl_resource *resource);
49 void deleteOrphanedTextures();
53 PFNGLEGLIMAGETARGETTEXTURE2DOESPROC gl_egl_image_target_texture_2d =
nullptr;
58 PFNEGLBINDWAYLANDDISPLAYWL egl_bind_wayland_display =
nullptr;
59 PFNEGLUNBINDWAYLANDDISPLAYWL egl_unbind_wayland_display =
nullptr;
60 PFNEGLCREATEIMAGEKHRPROC egl_create_image =
nullptr;
61 PFNEGLDESTROYIMAGEKHRPROC egl_destroy_image =
nullptr;
62 PFNEGLQUERYDMABUFMODIFIERSEXTPROC egl_query_dmabuf_modifiers_ext =
nullptr;
63 PFNEGLQUERYDMABUFFORMATSEXTPROC egl_query_dmabuf_formats_ext =
nullptr;
71 ::wl_display *m_wlDisplay =
nullptr;
72 bool m_displayBound =
false;
74 QMutex m_orphanedTexturesLock;
79 bool m_supportsDmabufModifiers =
false;
95 void setDestroyed()
override;
99 friend class LinuxDmabufClientBufferIntegrationPrivate;
Origin
This enum type is used to specify the origin of a QWaylandSurface's buffer.
struct wl_display * display
EGLint EGLint EGLuint64KHR EGLBoolean EGLint * num_modifiers
QT_BEGIN_NAMESPACE typedef struct wl_resource EGLint attribute
QT_BEGIN_NAMESPACE typedef EGLBoolean(EGLAPIENTRYP PFNEGLQUERYWAYLANDBUFFERWL_compat)(EGLDisplay dpy
EGLint EGLint EGLuint64KHR EGLBoolean * external_only
EGLint EGLint max_modifiers
EGLint EGLint EGLint * num_formats
QT_BEGIN_NAMESPACE typedef struct wl_resource * buffer
QT_BEGIN_NAMESPACE typedef struct wl_resource EGLint EGLint * value
EGLint EGLint EGLuint64KHR * modifiers
Combined button and popup list for selecting options.
typedef EGLDisplay(EGLAPIENTRYP PFNEGLGETPLATFORMDISPLAYEXTPROC)(EGLenum platform
GLenum GLuint GLintptr GLsizeiptr size
[1]