blob: 5d1caaec9143d6085925ea9dd183273b2bc00da1 [file] [log] [blame]
Name
CHROMIUM_schedule_ca_layer
Name Strings
GL_CHROMIUM_schedule_ca_layer
Version
Last Modified Date: April 12, 2016
Dependencies
OpenGL ES 2.0 is required.
Overview
This extension allows a client to request a texture be presented as a
CoreAnimation layer. The expectation is that all the CALayers scheduled
since the last call to glSwapBuffers or glPostSubBufferCHROMIUM are
displayed atomically at the time of the next call to swap buffers. Scheduled
CALayers are not stateful and need to be rescheduled after the buffers were
swapped.
Issues
None
New Tokens
Accepted by the <edge_aa_mask> parameter of glScheduleCALayerCHROMIUM:
GL_CA_LAYER_EDGE_LEFT_CHROMIUM 0x01
GL_CA_LAYER_EDGE_RIGHT_CHROMIUM 0x02
GL_CA_LAYER_EDGE_BOTTOM_CHROMIUM 0x04
GL_CA_LAYER_EDGE_TOP_CHROMIUM 0x08
New Procedures and Functions
The command
glScheduleCALayerCHROMIUM(GLuint contents_texture_id,
const GLfloat* contents_rect,
GLfloat opacity,
GLuint background_color,
GLuint edge_aa_mask,
const GLfloat* bounds_rect,
GLboolean is_clipped,
const GLfloat* clip_rect,
const GLfloat* transform,
GLuint filter);
Set the CALayer parameters to be presented at the time of the next call to
swap buffers. The order of the calls schedule CALayers determines their
back-to-front presentation order.
<contents_texture_id> is the texture to be presented. If zero, then the
CALayer will be a solid color.
<contents_rect> contains four values indicating the x, y, width, and height
of the sub-rectangle to display from the texture specified in
<contents_texture_id>, in normalized coordinates.
<opacity> specifies the opacity of the CALayer.
<background_color> specifies the background color of the CALayer, as a
32-bit ARGB value.
<edge_aa_mask> is a bitfield specifying which of the edges of the layer are
to have anti-aliasing.
<bounds_rect> contains four values indicating the x, y, width, and height of
the layer in pixels.
<is_clipped> indicates if the layer should be clipped.
<clip_rect> contains four values indicating the x, y, width, and height of
the rectangle to clip the layer to, if it is to be clipped.
<transform> contains sixteen values indicating the row major order 4x4
transformation matrix to apply to the CALayer.
<filter> will be used for both minification and magnification filtering. The
only valid values are GL_LINEAR and GL_NEAREST.
Errors
None.
New State
None.
Revision History
4/12/2016 Add a parameter to support minification and magnification
filtering.
12/16/2015 Add clipping and edge anti-aliasing.
11/7/2015 Initial checkin