blob: d88344db84782c17877baac8f5a151fcfc83af21 [file] [log] [blame]
Name Strings
Last Modified Date: March 28, 2018
OpenGL ES 2.0 is required.
This extension allows a client to request a texture be presented as a
hardware overlay plane along with the framebuffer. The expectation is that
all the planes scheduled since the last call to glSwapBuffers or
glPostSubBufferCHROMIUM are displayed atomically with the framebuffer during
the next call to swap buffers. Scheduled planes are not stateful and need
to be rescheduled after the buffers were swapped.
This extension could be used in conjunction with OES_EGL_image_external
to render into buffers suitable for scanout and present them directly
via display hardware without further compositing in GLES.
An example use case would be displaying a video buffer which was decoded by
dedicated hardware as part of a GLES application.
New Tokens
New Procedures and Functions
The command
glScheduleOverlayPlaneCHROMIUM (GLint plane_z_order,
GLenum plane_transform,
GLuint overlay_texture_id,
GLint bounds_x,
GLint bounds_y,
GLint bounds_width,
GLint bounds_height,
GLfloat uv_x,
GLfloat uv_y,
GLfloat uv_width,
GLfloat uv_height
GLboolean enable_blend,
GLuint gpu_fence_id);
Sets the overlay plane to be presented synchronously along with the primary
framebuffer during the call to swap buffers.
<plane_z_order> specifies the stacking order of the plane relative to the
main framebuffer located at index 0.
<plane_transform> specifies how the buffer is to be transformed during
<overlay_texture_id> is the buffer to be presented by the overlay.
<bounds_x>, <bounds_y>, <bounds_width>, <bounds_height> specify where it is
supposed to be on the screen.
<uv_x>, <uv_y>, <uv_width>, <uv_height> specify the region within the
buffer to be placed inside the bounds.
<enable_blend> specifies whether alpha blending should be enabled or
disabled when the buffer is presented.
<gpu_fence_id> is the id of a gpu fence which when signaled marks that the
the buffer is ready to be presented as an overlay.
New State
Revision History
04/02/2014 Documented the extension
03/18/2018 Added enable_blend parameter
03/28/2018 Added gpu_fence_id parameter