Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(521)

Side by Side Diff: gpu/GLES2/extensions/CHROMIUM/CHROMIUM_schedule_ca_layer.txt

Issue 2163493002: Break glScheduleCALayerCHROMIUM into smaller functions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@temp37_cleanup_calayeroverlay
Patch Set: Comments from piman. Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « cc/output/gl_renderer.cc ('k') | gpu/GLES2/gl2chromium_autogen.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
(...skipping 21 matching lines...) Expand all
32 Accepted by the <edge_aa_mask> parameter of glScheduleCALayerCHROMIUM: 32 Accepted by the <edge_aa_mask> parameter of glScheduleCALayerCHROMIUM:
33 GL_CA_LAYER_EDGE_LEFT_CHROMIUM 0x01 33 GL_CA_LAYER_EDGE_LEFT_CHROMIUM 0x01
34 GL_CA_LAYER_EDGE_RIGHT_CHROMIUM 0x02 34 GL_CA_LAYER_EDGE_RIGHT_CHROMIUM 0x02
35 GL_CA_LAYER_EDGE_BOTTOM_CHROMIUM 0x04 35 GL_CA_LAYER_EDGE_BOTTOM_CHROMIUM 0x04
36 GL_CA_LAYER_EDGE_TOP_CHROMIUM 0x08 36 GL_CA_LAYER_EDGE_TOP_CHROMIUM 0x08
37 37
38 New Procedures and Functions 38 New Procedures and Functions
39 39
40 The command 40 The command
41 41
42 glScheduleCALayerSharedStateCHROMIUM(GLfloat opacity,
43 GLboolean is_clipped,
44 const GLfloat* clip_rect,
45 GLint sorting_context_id,
46 const GLfloat* transform);
47
48 sets state that will be shared by each subsequent call to
49 glScheduleCALayerCHROMIUM. A subsequent call to
50 glScheduleCALayerSharedStateCHROMIUM overrides the previous shared state
51 values. A call to glSwapBuffers clears the shared state values.
52 <opacity> specifies the opacity of the CALayer.
53 <is_clipped> indicates if the layer should be clipped.
54 <clip_rect> contains four values indicating the x, y, width, and height of
55 the rectangle to clip the layer to, if it is to be clipped.
56 <sorting_context_id> Layers in a non-zero sorting context exist in the same
57 3D space and should intersect.
58 <transform> contains sixteen values indicating the row major order 4x4
59 transformation matrix to apply to the CALayer.
60
61 The command
62
42 glScheduleCALayerCHROMIUM(GLuint contents_texture_id, 63 glScheduleCALayerCHROMIUM(GLuint contents_texture_id,
43 const GLfloat* contents_rect, 64 const GLfloat* contents_rect,
44 GLfloat opacity,
45 GLuint background_color, 65 GLuint background_color,
46 GLuint edge_aa_mask, 66 GLuint edge_aa_mask,
47 const GLfloat* bounds_rect, 67 const GLfloat* bounds_rect,
48 GLboolean is_clipped,
49 const GLfloat* clip_rect,
50 const GLfloat* transform,
51 GLuint filter); 68 GLuint filter);
52 69
53 Set the CALayer parameters to be presented at the time of the next call to 70 requires that shared state has been previously set by
54 swap buffers. The order of the calls schedule CALayers determines their 71 glScheduleCALayerSharedStateCHROMIUM. It sets the CALayer parameters to be
55 back-to-front presentation order. 72 presented at the time of the next call to swap buffers. The order of the
73 calls schedule CALayers determines their back-to-front presentation order.
56 <contents_texture_id> is the texture to be presented. If zero, then the 74 <contents_texture_id> is the texture to be presented. If zero, then the
57 CALayer will be a solid color. 75 CALayer will be a solid color.
58 <contents_rect> contains four values indicating the x, y, width, and height 76 <contents_rect> contains four values indicating the x, y, width, and height
59 of the sub-rectangle to display from the texture specified in 77 of the sub-rectangle to display from the texture specified in
60 <contents_texture_id>, in normalized coordinates. 78 <contents_texture_id>, in normalized coordinates.
61 <opacity> specifies the opacity of the CALayer.
62 <background_color> specifies the background color of the CALayer, as a 79 <background_color> specifies the background color of the CALayer, as a
63 32-bit ARGB value. 80 32-bit ARGB value.
64 <edge_aa_mask> is a bitfield specifying which of the edges of the layer are 81 <edge_aa_mask> is a bitfield specifying which of the edges of the layer are
65 to have anti-aliasing. 82 to have anti-aliasing.
66 <bounds_rect> contains four values indicating the x, y, width, and height of 83 <bounds_rect> contains four values indicating the x, y, width, and height of
67 the layer in pixels. 84 the layer in pixels.
68 <is_clipped> indicates if the layer should be clipped.
69 <clip_rect> contains four values indicating the x, y, width, and height of
70 the rectangle to clip the layer to, if it is to be clipped.
71 <transform> contains sixteen values indicating the row major order 4x4
72 transformation matrix to apply to the CALayer.
73 <filter> will be used for both minification and magnification filtering. The 85 <filter> will be used for both minification and magnification filtering. The
74 only valid values are GL_LINEAR and GL_NEAREST. 86 only valid values are GL_LINEAR and GL_NEAREST.
75 87
76 The command 88 The command
77 89
78 glScheduleCALayerInUseQueryCHROMIUM(GLsizei count, GLuint* textures); 90 glScheduleCALayerInUseQueryCHROMIUM(GLsizei count, GLuint* textures);
79 91
80 schedules a query at the time of the next call to swap buffers. If the given 92 schedules a query at the time of the next call to swap buffers. If the given
81 texture is backed by an IOSurface, then the query checks to see whether the 93 texture is backed by an IOSurface, then the query checks to see whether the
82 IOSurface is in use by the Window Server. Otherwise, the query returns 94 IOSurface is in use by the Window Server. Otherwise, the query returns
83 false. All the results will be returned with the swap ACK in 95 false. All the results will be returned with the swap ACK in
84 GpuCommandBufferMsg_SwapBuffersCompleted_Params. Clients should not destroy 96 GpuCommandBufferMsg_SwapBuffersCompleted_Params. Clients should not destroy
85 any textures while they are being queried, as the swap ACK will use the 97 any textures while they are being queried, as the swap ACK will use the
86 original texture id to identify the queried textures. 98 original texture id to identify the queried textures.
87 99
88 Errors 100 Errors
89 101
90 None. 102 GL_INVALID_OPERATION is generated when glScheduleCALayerCHROMIUM is called
103 without a prior call to glScheduleCALayerSharedStateCHROMIUM.
91 104
92 New State 105 New State
93 106
94 None. 107 None.
95 108
96 Revision History 109 Revision History
97 110
98 6/13/2016 Add glScheduleCALayerInUseQueryCHROMIUM. 111 6/13/2016 Add glScheduleCALayerInUseQueryCHROMIUM.
99 4/12/2016 Add a parameter to support minification and magnification 112 4/12/2016 Add a parameter to support minification and magnification
100 filtering. 113 filtering.
101 12/16/2015 Add clipping and edge anti-aliasing. 114 12/16/2015 Add clipping and edge anti-aliasing.
102 11/7/2015 Initial checkin 115 11/7/2015 Initial checkin
103 116
OLDNEW
« no previous file with comments | « cc/output/gl_renderer.cc ('k') | gpu/GLES2/gl2chromium_autogen.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698