To render to an EGLDevice through stream#
Query EGL extensions using
eglGetProcAddress
.Query available EGLDevices with
eglQueryDevicesEXT
.Obtain an EGL display from the EGL device using
eglGetPlatformDisplayEXT
.
This step creates an EGLDisplay that does not belong to any native platform.
Initialize/setup EGL using
eglInitialize
.Setup an EGLOutput. For detailed steps, see Setting Up the Display with OpenWFD and EGL Device.
Selecting an output:
Can be done by enumerating all outputs and selecting a known index.
Can be done by looking up an output associated with a native (e.g. DRM) screen handle.
If necessary, initialize display settings using native interfaces
Direct rendering to an EGLOutput.
Create an EGL stream using
eglCreateStreamKHR
.Connect the output layer to the stream. Bind consumer end of stream to EGLOutput window object using
eglStreamConsumerOutputEXT
.
Set buffer configurations by choosing an EGLConfig
Create a stream producer surface to feed the stream using
eglCreateStreamProducerSurfaceKHR
.Create an EGL context, make it current by binding it to the stream surface using
eglMakeCurrent
.Post surface contents to the stream using
eglSwapBuffers
.