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
waylandeglclientbufferintegration.cpp File Reference

(acce7bc40d287eff826cd97dbea595da3050669f)

#include "waylandeglclientbufferintegration_p.h"
#include <QtWaylandCompositor/QWaylandCompositor>
#include <QtWaylandCompositor/private/qwltextureorphanage_p.h>
#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 69 of file waylandeglclientbufferintegration.cpp.

◆ EGL_TEXTURE_EXTERNAL_WL

◆ EGL_TEXTURE_RGB

◆ EGL_TEXTURE_RGBA

◆ EGL_TEXTURE_Y_U_V_WL

#define EGL_TEXTURE_Y_U_V_WL   0x31D7

◆ EGL_TEXTURE_Y_UV_WL

#define EGL_TEXTURE_Y_UV_WL   0x31D8

◆ EGL_TEXTURE_Y_XUXV_WL

#define EGL_TEXTURE_Y_XUXV_WL   0x31D9

◆ EGL_WAYLAND_BUFFER_WL

◆ EGL_WAYLAND_EGLSTREAM_WL

#define EGL_WAYLAND_EGLSTREAM_WL   0x334B

◆ EGL_WAYLAND_PLANE_WL

#define EGL_WAYLAND_PLANE_WL   0x31D6

◆ EGL_WAYLAND_Y_INVERTED_WL

#define EGL_WAYLAND_Y_INVERTED_WL   0x31DB

◆ GL_TEXTURE_EXTERNAL_OES

#define GL_TEXTURE_EXTERNAL_OES   0x8D65

◆ MYERRCODE

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

Typedef Documentation

◆ attrib_list

typedef EGLContext EGLenum EGLClientBuffer const EGLint* attrib_list

Definition at line 81 of file waylandeglclientbufferintegration.cpp.

◆ attribute

typedef struct wl_resource EGLint attribute

Definition at line 73 of file waylandeglclientbufferintegration.cpp.

◆ buffer

typedef EGLContext EGLenum EGLClientBuffer buffer

Definition at line 73 of file waylandeglclientbufferintegration.cpp.

◆ ctx

typedef EGLContext ctx

Definition at line 81 of file waylandeglclientbufferintegration.cpp.

◆ display

typedef struct wl_display* display

Definition at line 76 of file waylandeglclientbufferintegration.cpp.

◆ image

Definition at line 82 of file waylandeglclientbufferintegration.cpp.

◆ target

typedef EGLContext EGLenum target

Definition at line 81 of file waylandeglclientbufferintegration.cpp.

◆ value

typedef struct wl_resource EGLint EGLint* value

Definition at line 73 of file waylandeglclientbufferintegration.cpp.

Function Documentation

◆ egl_error_string()

static QT_BEGIN_NAMESPACE const char * egl_error_string ( EGLint code)
static

Definition at line 93 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 573 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)