| OLD | NEW |
| 1 Name | 1 Name |
| 2 | 2 |
| 3 CHROMIUM_schedule_ca_layer | 3 CHROMIUM_schedule_ca_layer |
| 4 | 4 |
| 5 Name Strings | 5 Name Strings |
| 6 | 6 |
| 7 GL_CHROMIUM_schedule_ca_layer | 7 GL_CHROMIUM_schedule_ca_layer |
| 8 | 8 |
| 9 Version | 9 Version |
| 10 | 10 |
| 11 Last Modified Date: November 7, 2015 | 11 Last Modified Date: December 16, 2015 |
| 12 | 12 |
| 13 Dependencies | 13 Dependencies |
| 14 | 14 |
| 15 OpenGL ES 2.0 is required. | 15 OpenGL ES 2.0 is required. |
| 16 | 16 |
| 17 Overview | 17 Overview |
| 18 | 18 |
| 19 This extension allows a client to request a texture be presented as a | 19 This extension allows a client to request a texture be presented as a |
| 20 CoreAnimation layer. The expectation is that all the CALayers scheduled | 20 CoreAnimation layer. The expectation is that all the CALayers scheduled |
| 21 since the last call to glSwapBuffers or glPostSubBufferCHROMIUM are | 21 since the last call to glSwapBuffers or glPostSubBufferCHROMIUM are |
| 22 displayed atomically at the time of the next call to swap buffers. Scheduled | 22 displayed atomically at the time of the next call to swap buffers. Scheduled |
| 23 CALayers are not stateful and need to be rescheduled after the buffers were | 23 CALayers are not stateful and need to be rescheduled after the buffers were |
| 24 swapped. | 24 swapped. |
| 25 | 25 |
| 26 Issues | 26 Issues |
| 27 | 27 |
| 28 None | 28 None |
| 29 | 29 |
| 30 New Tokens | 30 New Tokens |
| 31 | 31 |
| 32 None | 32 Accepted by the <edge_aa_mask> parameter of glScheduleCALayerCHROMIUM: |
| 33 GL_CA_LAYER_EDGE_LEFT_CHROMIUM 0x01 |
| 34 GL_CA_LAYER_EDGE_RIGHT_CHROMIUM 0x02 |
| 35 GL_CA_LAYER_EDGE_BOTTOM_CHROMIUM 0x04 |
| 36 GL_CA_LAYER_EDGE_TOP_CHROMIUM 0x08 |
| 33 | 37 |
| 34 New Procedures and Functions | 38 New Procedures and Functions |
| 35 | 39 |
| 36 The command | 40 The command |
| 37 | 41 |
| 38 glScheduleCALayerCHROMIUM(GLuint contents_texture_id, | 42 glScheduleCALayerCHROMIUM(GLuint contents_texture_id, |
| 39 const GLfloat* contents_rect, | 43 const GLfloat* contents_rect, |
| 40 GLfloat opacity, | 44 GLfloat opacity, |
| 41 GLuint background_color, | 45 GLuint background_color, |
| 42 const GLfloat* bounds_size, | 46 GLuint edge_aa_mask, |
| 47 const GLfloat* bounds_rect, |
| 48 GLboolean is_clipped, |
| 49 const GLfloat* clip_rect, |
| 43 const GLfloat* transform); | 50 const GLfloat* transform); |
| 44 | 51 |
| 45 Set the CALayer parameters to be presented at the time of the next call to | 52 Set the CALayer parameters to be presented at the time of the next call to |
| 46 swap buffers. The order of the calls schedule CALayers determines their | 53 swap buffers. The order of the calls schedule CALayers determines their |
| 47 back-to-front presentation order. | 54 back-to-front presentation order. |
| 48 <contents_texture_id> is the texture to be presented. If zero, then the | 55 <contents_texture_id> is the texture to be presented. If zero, then the |
| 49 CALayer will be a solid color. | 56 CALayer will be a solid color. |
| 50 <contents_rect> contains four values indicating the x, y, width, and height | 57 <contents_rect> contains four values indicating the x, y, width, and height |
| 51 of the sub-rectangle to display from the texture specified in | 58 of the sub-rectangle to display from the texture specified in |
| 52 <contents_texture_id>, in normalized coordinates. | 59 <contents_texture_id>, in normalized coordinates. |
| 53 <opacity> specifies the opacity of the CALayer. | 60 <opacity> specifies the opacity of the CALayer. |
| 54 <background_color> specifies the background color of the CALayer, as a | 61 <background_color> specifies the background color of the CALayer, as a |
| 55 32-bit ARGB value. | 62 32-bit ARGB value. |
| 56 <bounds_size> contains two values indicating the width and height of the | 63 <edge_aa_mask> is a bitfield specifying which of the edges of the layer are |
| 57 layer in pixels. | 64 to have anti-aliasing. |
| 65 <bounds_rect> contains four values indicating the x, y, width, and height of |
| 66 the layer in pixels. |
| 67 <is_clipped> indicates if the layer should be clipped. |
| 68 <clip_rect> contains four values indicating the x, y, width, and height of |
| 69 the rectangle to clip the layer to, if it is to be clipped. |
| 58 <transform> contains sixteen values indicating the row major order 4x4 | 70 <transform> contains sixteen values indicating the row major order 4x4 |
| 59 transformation matrix to apply to the CALayer. | 71 transformation matrix to apply to the CALayer. |
| 60 | 72 |
| 61 Errors | 73 Errors |
| 62 | 74 |
| 63 None. | 75 None. |
| 64 | 76 |
| 65 New State | 77 New State |
| 66 | 78 |
| 67 None. | 79 None. |
| 80 |
| 81 Revision History |
| 82 |
| 83 12/16/2015 Add clipping and edge anti-aliasing. |
| 84 11/7/2015 Initial checkin |
| 85 |
| OLD | NEW |