11 has_egl_platform_device(
false),
12 has_egl_device_base(
false),
13 has_egl_stream(
false),
14 has_egl_stream_producer_eglsurface(
false),
15 has_egl_stream_consumer_egloutput(
false),
16 has_egl_output_drm(
false),
17 has_egl_output_base(
false),
18 has_egl_stream_cross_process_fd(
false),
19 has_egl_stream_consumer_gltexture(
false)
21 const char *extensions = eglQueryString(EGL_NO_DISPLAY, EGL_EXTENSIONS);
23 qWarning(
"Failed to query EGL extensions");
27 query_devices =
reinterpret_cast<PFNEGLQUERYDEVICESEXTPROC
>(eglGetProcAddress(
"eglQueryDevicesEXT"));
40 if (!eglBindAPI(EGL_OPENGL_ES_API)) {
41 qWarning(
"Failed to bind OpenGL ES API");
45 const char *extensions = eglQueryString(dpy, EGL_EXTENSIONS);
47 qWarning(
"Failed to query EGL extensions");
51 create_stream =
reinterpret_cast<PFNEGLCREATESTREAMKHRPROC
>(eglGetProcAddress(
"eglCreateStreamKHR"));
52 destroy_stream =
reinterpret_cast<PFNEGLDESTROYSTREAMKHRPROC
>(eglGetProcAddress(
"eglDestroyStreamKHR"));
53 stream_attrib =
reinterpret_cast<PFNEGLSTREAMATTRIBKHRPROC
>(eglGetProcAddress(
"eglStreamAttribKHR"));
54 query_stream =
reinterpret_cast<PFNEGLQUERYSTREAMKHRPROC
>(eglGetProcAddress(
"eglQueryStreamKHR"));
55 query_stream_u64 =
reinterpret_cast<PFNEGLQUERYSTREAMU64KHRPROC
>(eglGetProcAddress(
"eglQueryStreamu64KHR"));
56 create_stream_producer_surface =
reinterpret_cast<PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC
>(eglGetProcAddress(
"eglCreateStreamProducerSurfaceKHR"));
57 stream_consumer_output =
reinterpret_cast<PFNEGLSTREAMCONSUMEROUTPUTEXTPROC
>(eglGetProcAddress(
"eglStreamConsumerOutputEXT"));
58 get_output_layers =
reinterpret_cast<PFNEGLGETOUTPUTLAYERSEXTPROC
>(eglGetProcAddress(
"eglGetOutputLayersEXT"));
59 get_output_ports =
reinterpret_cast<PFNEGLGETOUTPUTPORTSEXTPROC
>(eglGetProcAddress(
"eglGetOutputPortsEXT"));
60 output_layer_attrib =
reinterpret_cast<PFNEGLOUTPUTLAYERATTRIBEXTPROC
>(eglGetProcAddress(
"eglOutputLayerAttribEXT"));
61 query_output_layer_attrib =
reinterpret_cast<PFNEGLQUERYOUTPUTLAYERATTRIBEXTPROC
>(eglGetProcAddress(
"eglQueryOutputLayerAttribEXT"));
63 query_output_port_attrib =
reinterpret_cast<PFNEGLQUERYOUTPUTPORTATTRIBEXTPROC
>(eglGetProcAddress(
"eglQueryOutputPortAttribEXT"));
65 get_stream_file_descriptor =
reinterpret_cast<PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC
>(eglGetProcAddress(
"eglGetStreamFileDescriptorKHR"));
67 stream_consumer_gltexture =
reinterpret_cast<PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC
>(eglGetProcAddress(
"eglStreamConsumerGLTextureExternalKHR"));
68 stream_consumer_acquire =
reinterpret_cast<PFNEGLSTREAMCONSUMERACQUIREKHRPROC
>(eglGetProcAddress(
"eglStreamConsumerAcquireKHR"));
69 stream_consumer_release =
reinterpret_cast<PFNEGLSTREAMCONSUMERRELEASEKHRPROC
>(eglGetProcAddress(
"eglStreamConsumerReleaseKHR"));
70 create_stream_attrib_nv =
reinterpret_cast<PFNEGLCREATESTREAMATTRIBNVPROC
>(eglGetProcAddress(
"eglCreateStreamAttribNV"));
71 set_stream_attrib_nv =
reinterpret_cast<PFNEGLSETSTREAMATTRIBNVPROC
>(eglGetProcAddress(
"eglSetStreamAttribNV"));
72 query_stream_attrib_nv =
reinterpret_cast<PFNEGLQUERYSTREAMATTRIBNVPROC
>(eglGetProcAddress(
"eglQueryStreamAttribNV"));
73 acquire_stream_attrib_nv =
reinterpret_cast<PFNEGLSTREAMCONSUMERACQUIREATTRIBNVPROC
>(eglGetProcAddress(
"eglStreamConsumerAcquireAttribNV"));
74 release_stream_attrib_nv =
reinterpret_cast<PFNEGLSTREAMCONSUMERRELEASEATTRIBNVPROC
>(eglGetProcAddress(
"eglStreamConsumerReleaseAttribNV"));
void initialize(EGLDisplay dpy)
PFNEGLGETOUTPUTPORTSEXTPROC get_output_ports
PFNEGLQUERYOUTPUTLAYERATTRIBEXTPROC query_output_layer_attrib
PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC create_stream_producer_surface
PFNEGLSETSTREAMATTRIBNVPROC set_stream_attrib_nv
PFNEGLSTREAMATTRIBKHRPROC stream_attrib
PFNEGLSTREAMCONSUMERACQUIREATTRIBNVPROC acquire_stream_attrib_nv
PFNEGLQUERYOUTPUTPORTSTRINGEXTPROC query_output_port_string
PFNEGLQUERYSTREAMKHRPROC query_stream
PFNEGLOUTPUTLAYERATTRIBEXTPROC output_layer_attrib
PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC create_stream_from_file_descriptor
PFNEGLCREATESTREAMKHRPROC create_stream
PFNEGLSTREAMCONSUMERRELEASEKHRPROC stream_consumer_release
bool has_egl_stream_consumer_gltexture
PFNEGLGETOUTPUTLAYERSEXTPROC get_output_layers
PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC get_stream_file_descriptor
bool has_egl_platform_device
PFNEGLDESTROYSTREAMKHRPROC destroy_stream
bool has_egl_stream_cross_process_fd
PFNEGLQUERYDEVICESTRINGEXTPROC query_device_string
PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC stream_consumer_gltexture
PFNEGLCREATESTREAMATTRIBNVPROC create_stream_attrib_nv
PFNEGLQUERYSTREAMATTRIBNVPROC query_stream_attrib_nv
PFNEGLQUERYOUTPUTPORTATTRIBEXTPROC query_output_port_attrib
PFNEGLQUERYSTREAMU64KHRPROC query_stream_u64
PFNEGLQUERYDEVICESEXTPROC query_devices
bool has_egl_stream_producer_eglsurface
PFNEGLSTREAMCONSUMERRELEASEATTRIBNVPROC release_stream_attrib_nv
PFNEGLSTREAMCONSUMEROUTPUTEXTPROC stream_consumer_output
bool has_egl_stream_consumer_egloutput
PFNEGLQUERYOUTPUTLAYERSTRINGEXTPROC query_output_layer_string
PFNEGLGETPLATFORMDISPLAYEXTPROC get_platform_display
PFNEGLSTREAMCONSUMERACQUIREKHRPROC stream_consumer_acquire
Combined button and popup list for selecting options.
const char *EGLAPIENTRYP PFNEGLQUERYOUTPUTLAYERSTRINGEXTPROC(EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint name)
const char *EGLAPIENTRYP PFNEGLQUERYOUTPUTPORTSTRINGEXTPROC(EGLDisplay dpy, EGLOutputPortEXT port, EGLint name)
typedef EGLDisplay(EGLAPIENTRYP PFNEGLGETPLATFORMDISPLAYEXTPROC)(EGLenum platform
const char *EGLAPIENTRYP PFNEGLQUERYDEVICESTRINGEXTPROC(EGLDeviceEXT device, EGLint name)
EGLDisplay(* PFNEGLGETPLATFORMDISPLAYEXTPROC)(EGLenum platform, void *native_display, const EGLint *attrib_list)