1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // This file is auto-generated from
6 // gpu/command_buffer/build_gles2_cmd_buffer.py
7 // It's formatted by clang-format using chromium coding style:
8 // clang-format -i -style=chromium filename
11 // It is included by context_state.h
12 #ifndef GPU_COMMAND_BUFFER_SERVICE_CONTEXT_STATE_AUTOGEN_H_
13 #define GPU_COMMAND_BUFFER_SERVICE_CONTEXT_STATE_AUTOGEN_H_
20 bool cached_cull_face
;
22 bool cached_depth_test
;
25 bool polygon_offset_fill
;
26 bool cached_polygon_offset_fill
;
27 bool sample_alpha_to_coverage
;
28 bool cached_sample_alpha_to_coverage
;
30 bool cached_sample_coverage
;
32 bool cached_scissor_test
;
34 bool cached_stencil_test
;
37 GLfloat blend_color_red
;
38 GLfloat blend_color_green
;
39 GLfloat blend_color_blue
;
40 GLfloat blend_color_alpha
;
41 GLenum blend_equation_rgb
;
42 GLenum blend_equation_alpha
;
43 GLenum blend_source_rgb
;
44 GLenum blend_dest_rgb
;
45 GLenum blend_source_alpha
;
46 GLenum blend_dest_alpha
;
47 GLfloat color_clear_red
;
48 GLfloat color_clear_green
;
49 GLfloat color_clear_blue
;
50 GLfloat color_clear_alpha
;
53 GLboolean color_mask_red
;
54 GLboolean cached_color_mask_red
;
55 GLboolean color_mask_green
;
56 GLboolean cached_color_mask_green
;
57 GLboolean color_mask_blue
;
58 GLboolean cached_color_mask_blue
;
59 GLboolean color_mask_alpha
;
60 GLboolean cached_color_mask_alpha
;
64 GLboolean cached_depth_mask
;
68 GLenum hint_generate_mipmap
;
69 GLenum hint_fragment_shader_derivative
;
71 GLfloat modelview_matrix
[16];
72 GLfloat projection_matrix
[16];
74 GLint unpack_alignment
;
75 GLfloat polygon_offset_factor
;
76 GLfloat polygon_offset_units
;
77 GLclampf sample_coverage_value
;
78 GLboolean sample_coverage_invert
;
81 GLsizei scissor_width
;
82 GLsizei scissor_height
;
83 GLenum stencil_front_func
;
84 GLint stencil_front_ref
;
85 GLuint stencil_front_mask
;
86 GLenum stencil_back_func
;
87 GLint stencil_back_ref
;
88 GLuint stencil_back_mask
;
89 GLuint stencil_front_writemask
;
90 GLuint cached_stencil_front_writemask
;
91 GLuint stencil_back_writemask
;
92 GLuint cached_stencil_back_writemask
;
93 GLenum stencil_front_fail_op
;
94 GLenum stencil_front_z_fail_op
;
95 GLenum stencil_front_z_pass_op
;
96 GLenum stencil_back_fail_op
;
97 GLenum stencil_back_z_fail_op
;
98 GLenum stencil_back_z_pass_op
;
101 GLsizei viewport_width
;
102 GLsizei viewport_height
;
104 inline void SetDeviceCapabilityState(GLenum cap
, bool enable
) {
107 if (enable_flags
.cached_blend
== enable
&& !ignore_cached_state
)
109 enable_flags
.cached_blend
= enable
;
112 if (enable_flags
.cached_cull_face
== enable
&& !ignore_cached_state
)
114 enable_flags
.cached_cull_face
= enable
;
117 if (enable_flags
.cached_depth_test
== enable
&& !ignore_cached_state
)
119 enable_flags
.cached_depth_test
= enable
;
122 if (enable_flags
.cached_dither
== enable
&& !ignore_cached_state
)
124 enable_flags
.cached_dither
= enable
;
126 case GL_POLYGON_OFFSET_FILL
:
127 if (enable_flags
.cached_polygon_offset_fill
== enable
&&
128 !ignore_cached_state
)
130 enable_flags
.cached_polygon_offset_fill
= enable
;
132 case GL_SAMPLE_ALPHA_TO_COVERAGE
:
133 if (enable_flags
.cached_sample_alpha_to_coverage
== enable
&&
134 !ignore_cached_state
)
136 enable_flags
.cached_sample_alpha_to_coverage
= enable
;
138 case GL_SAMPLE_COVERAGE
:
139 if (enable_flags
.cached_sample_coverage
== enable
&& !ignore_cached_state
)
141 enable_flags
.cached_sample_coverage
= enable
;
143 case GL_SCISSOR_TEST
:
144 if (enable_flags
.cached_scissor_test
== enable
&& !ignore_cached_state
)
146 enable_flags
.cached_scissor_test
= enable
;
148 case GL_STENCIL_TEST
:
149 if (enable_flags
.cached_stencil_test
== enable
&& !ignore_cached_state
)
151 enable_flags
.cached_stencil_test
= enable
;
162 #endif // GPU_COMMAND_BUFFER_SERVICE_CONTEXT_STATE_AUTOGEN_H_