Handle account removal correctly on all platforms.
[chromium-blink-merge.git] / gpu / command_buffer / service / context_state_autogen.h
blobfcae244ca8b86659ae36d40b78518d50611ddf1d
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
9 // DO NOT EDIT!
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_
15 struct EnableFlags {
16 EnableFlags();
17 bool blend;
18 bool cached_blend;
19 bool cull_face;
20 bool cached_cull_face;
21 bool depth_test;
22 bool cached_depth_test;
23 bool dither;
24 bool cached_dither;
25 bool polygon_offset_fill;
26 bool cached_polygon_offset_fill;
27 bool sample_alpha_to_coverage;
28 bool cached_sample_alpha_to_coverage;
29 bool sample_coverage;
30 bool cached_sample_coverage;
31 bool scissor_test;
32 bool cached_scissor_test;
33 bool stencil_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;
51 GLclampf depth_clear;
52 GLint stencil_clear;
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;
61 GLenum cull_mode;
62 GLenum depth_func;
63 GLboolean depth_mask;
64 GLboolean cached_depth_mask;
65 GLclampf z_near;
66 GLclampf z_far;
67 GLenum front_face;
68 GLenum hint_generate_mipmap;
69 GLenum hint_fragment_shader_derivative;
70 GLfloat line_width;
71 GLfloat modelview_matrix[16];
72 GLfloat projection_matrix[16];
73 GLint pack_alignment;
74 GLint unpack_alignment;
75 GLfloat polygon_offset_factor;
76 GLfloat polygon_offset_units;
77 GLclampf sample_coverage_value;
78 GLboolean sample_coverage_invert;
79 GLint scissor_x;
80 GLint scissor_y;
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;
99 GLint viewport_x;
100 GLint viewport_y;
101 GLsizei viewport_width;
102 GLsizei viewport_height;
104 inline void SetDeviceCapabilityState(GLenum cap, bool enable) {
105 switch (cap) {
106 case GL_BLEND:
107 if (enable_flags.cached_blend == enable && !ignore_cached_state)
108 return;
109 enable_flags.cached_blend = enable;
110 break;
111 case GL_CULL_FACE:
112 if (enable_flags.cached_cull_face == enable && !ignore_cached_state)
113 return;
114 enable_flags.cached_cull_face = enable;
115 break;
116 case GL_DEPTH_TEST:
117 if (enable_flags.cached_depth_test == enable && !ignore_cached_state)
118 return;
119 enable_flags.cached_depth_test = enable;
120 break;
121 case GL_DITHER:
122 if (enable_flags.cached_dither == enable && !ignore_cached_state)
123 return;
124 enable_flags.cached_dither = enable;
125 break;
126 case GL_POLYGON_OFFSET_FILL:
127 if (enable_flags.cached_polygon_offset_fill == enable &&
128 !ignore_cached_state)
129 return;
130 enable_flags.cached_polygon_offset_fill = enable;
131 break;
132 case GL_SAMPLE_ALPHA_TO_COVERAGE:
133 if (enable_flags.cached_sample_alpha_to_coverage == enable &&
134 !ignore_cached_state)
135 return;
136 enable_flags.cached_sample_alpha_to_coverage = enable;
137 break;
138 case GL_SAMPLE_COVERAGE:
139 if (enable_flags.cached_sample_coverage == enable && !ignore_cached_state)
140 return;
141 enable_flags.cached_sample_coverage = enable;
142 break;
143 case GL_SCISSOR_TEST:
144 if (enable_flags.cached_scissor_test == enable && !ignore_cached_state)
145 return;
146 enable_flags.cached_scissor_test = enable;
147 break;
148 case GL_STENCIL_TEST:
149 if (enable_flags.cached_stencil_test == enable && !ignore_cached_state)
150 return;
151 enable_flags.cached_stencil_test = enable;
152 break;
153 default:
154 NOTREACHED();
155 return;
157 if (enable)
158 glEnable(cap);
159 else
160 glDisable(cap);
162 #endif // GPU_COMMAND_BUFFER_SERVICE_CONTEXT_STATE_AUTOGEN_H_