Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
waylandeglclientbufferintegration.cpp File Reference
#include "waylandeglclientbufferintegration_p.h"
#include <QtWaylandCompositor/QWaylandCompositor>
#include <qpa/qplatformnativeinterface.h>
#include <QtOpenGL/QOpenGLTexture>
#include <QtGui/QGuiApplication>
#include <QtGui/QOpenGLContext>
#include <QtGui/QOffscreenSurface>
#include <qpa/qplatformscreen.h>
#include <QtGui/QWindow>
#include <QtCore/QPointer>
#include <QDebug>
#include <QMutex>
#include <QMutexLocker>
#include <QVarLengthArray>
#include <QtCore/private/qcore_unix_p.h>
#include <QtGui/private/qeglstreamconvenience_p.h>
+ Include dependency graph for waylandeglclientbufferintegration.cpp:

Go to the source code of this file.

Classes

struct  BufferState
 
class  WaylandEglClientBufferIntegrationPrivate
 

Macros

#define GL_TEXTURE_EXTERNAL_OES   0x8D65
 
#define EGL_WAYLAND_BUFFER_WL   0x31D5
 
#define EGL_WAYLAND_EGLSTREAM_WL   0x334B
 
#define EGL_WAYLAND_PLANE_WL   0x31D6
 
#define EGL_WAYLAND_Y_INVERTED_WL   0x31DB
 
#define EGL_TEXTURE_RGB   0x305D
 
#define EGL_TEXTURE_RGBA   0x305E
 
#define EGL_TEXTURE_EXTERNAL_WL   0x31DA
 
#define EGL_TEXTURE_Y_U_V_WL   0x31D7
 
#define EGL_TEXTURE_Y_UV_WL   0x31D8
 
#define EGL_TEXTURE_Y_XUXV_WL   0x31D9
 
#define EGL_PLATFORM_X11_KHR   0x31D5
 
#define MYERRCODE(x)   case x: return #x;
 

Typedefs

typedef struct wl_resource * buffer
 
typedef struct wl_resource EGLint attribute
 
typedef struct wl_resource EGLint EGLint * value
 
typedef struct wl_display * display
 
typedef EGLContext ctx
 
typedef EGLContext EGLenum target
 
typedef EGLContext EGLenum EGLClientBuffer const EGLint * attrib_list
 
typedef EGLImageKHR image
 

Functions

typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYWAYLANDBUFFERWL_compat)(EGLDisplay dpy
 
typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC)(EGLDisplay dpy
 
typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC)(GLenum target
 
static QT_BEGIN_NAMESPACE const char * egl_error_string (EGLint code)
 
static QWaylandBufferRef::BufferFormatEgl formatFromEglFormat (EGLint format)
 
static QOpenGLTexture::TextureFormat openGLFormatFromEglFormat (EGLint format)
 

Macro Definition Documentation

◆ EGL_PLATFORM_X11_KHR

#define EGL_PLATFORM_X11_KHR   0x31D5

Definition at line 68 of file waylandeglclientbufferintegration.cpp.

◆ EGL_TEXTURE_EXTERNAL_WL

#define EGL_TEXTURE_EXTERNAL_WL   0x31DA

Definition at line 52 of file waylandeglclientbufferintegration.cpp.

◆ EGL_TEXTURE_RGB

#define EGL_TEXTURE_RGB   0x305D

Definition at line 44 of file waylandeglclientbufferintegration.cpp.

◆ EGL_TEXTURE_RGBA

#define EGL_TEXTURE_RGBA   0x305E

Definition at line 48 of file waylandeglclientbufferintegration.cpp.

◆ EGL_TEXTURE_Y_U_V_WL

#define EGL_TEXTURE_Y_U_V_WL   0x31D7

Definition at line 56 of file waylandeglclientbufferintegration.cpp.

◆ EGL_TEXTURE_Y_UV_WL

#define EGL_TEXTURE_Y_UV_WL   0x31D8

Definition at line 60 of file waylandeglclientbufferintegration.cpp.

◆ EGL_TEXTURE_Y_XUXV_WL

#define EGL_TEXTURE_Y_XUXV_WL   0x31D9

Definition at line 64 of file waylandeglclientbufferintegration.cpp.

◆ EGL_WAYLAND_BUFFER_WL

#define EGL_WAYLAND_BUFFER_WL   0x31D5

Definition at line 28 of file waylandeglclientbufferintegration.cpp.

◆ EGL_WAYLAND_EGLSTREAM_WL

#define EGL_WAYLAND_EGLSTREAM_WL   0x334B

Definition at line 32 of file waylandeglclientbufferintegration.cpp.

◆ EGL_WAYLAND_PLANE_WL

#define EGL_WAYLAND_PLANE_WL   0x31D6

Definition at line 36 of file waylandeglclientbufferintegration.cpp.

◆ EGL_WAYLAND_Y_INVERTED_WL

#define EGL_WAYLAND_Y_INVERTED_WL   0x31DB

Definition at line 40 of file waylandeglclientbufferintegration.cpp.

◆ GL_TEXTURE_EXTERNAL_OES

#define GL_TEXTURE_EXTERNAL_OES   0x8D65

Definition at line 24 of file waylandeglclientbufferintegration.cpp.

◆ MYERRCODE

#define MYERRCODE (   x)    case x: return #x;

Typedef Documentation

◆ attrib_list

typedef EGLContext EGLenum EGLClientBuffer const EGLint* attrib_list

Definition at line 80 of file waylandeglclientbufferintegration.cpp.

◆ attribute

typedef struct wl_resource EGLint attribute

Definition at line 72 of file waylandeglclientbufferintegration.cpp.

◆ buffer

typedef EGLContext EGLenum EGLClientBuffer buffer

Definition at line 72 of file waylandeglclientbufferintegration.cpp.

◆ ctx

typedef EGLContext ctx

Definition at line 80 of file waylandeglclientbufferintegration.cpp.

◆ display

typedef struct wl_display* display

Definition at line 75 of file waylandeglclientbufferintegration.cpp.

◆ image

Definition at line 81 of file waylandeglclientbufferintegration.cpp.

◆ target

typedef EGLContext EGLenum target

Definition at line 80 of file waylandeglclientbufferintegration.cpp.

◆ value

typedef struct wl_resource EGLint EGLint* value

Definition at line 72 of file waylandeglclientbufferintegration.cpp.

Function Documentation

◆ egl_error_string()

static QT_BEGIN_NAMESPACE const char * egl_error_string ( EGLint  code)
static

Definition at line 92 of file waylandeglclientbufferintegration.cpp.

References MYERRCODE.

Referenced by WaylandEglClientBufferIntegrationPrivate::initEglStream().

+ Here is the caller graph for this function:

◆ EGLBoolean()

typedef EGLBoolean ( EGLAPIENTRYP  PFNEGLQUERYWAYLANDBUFFERWL_compat)

Referenced by WaylandEglClientBufferIntegrationPrivate::initEglTexture().

+ Here is the caller graph for this function:

◆ EGLImageKHR()

typedef EGLImageKHR ( EGLAPIENTRYP  PFNEGLCREATEIMAGEKHRPROC)

◆ formatFromEglFormat()

◆ openGLFormatFromEglFormat()

static QOpenGLTexture::TextureFormat openGLFormatFromEglFormat ( EGLint  format)
static

Definition at line 645 of file waylandeglclientbufferintegration.cpp.

References EGL_TEXTURE_RGB, EGL_TEXTURE_RGBA, QOpenGLTexture::NoFormat, QOpenGLTexture::RGBAFormat, and QOpenGLTexture::RGBFormat.

Referenced by WaylandEglClientBuffer::toOpenGlTexture().

+ Here is the caller graph for this function:

◆ void()

typedef void ( GL_APIENTRYP  PFNGLEGLIMAGETARGETTEXTURE2DOESPROC)