blob: 7b0270688814216256981b8195dc95e7b606ebbf [file] [log] [blame]
Name
CHROMIUM_schedule_overlay_plane
Name Strings
GL_CHROMIUM_schedule_overlay_plane
Version
Last Modified Date: April 2, 2014
Dependencies
OpenGL ES 2.0 is required.
Overview
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.
Issues
None
New Tokens
None
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);
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
composition.
<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.
Errors
None.
New State
None.