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 |