| Name |
| |
| CHROMIUM_schedule_overlay_plane |
| |
| Name Strings |
| |
| GL_CHROMIUM_schedule_overlay_plane |
| |
| Version |
| |
| Last Modified Date: March 28, 2018 |
| |
| 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 |
| 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 |
| 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. |
| <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. |
| |
| Errors |
| |
| None. |
| |
| New State |
| |
| None. |
| |
| Revision History |
| |
| 04/02/2014 Documented the extension |
| 03/18/2018 Added enable_blend parameter |
| 03/28/2018 Added gpu_fence_id parameter |