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

Side by Side Diff: gpu/command_buffer/service/gles2_cmd_validation_implementation_autogen.h

Issue 2689006: Refactor validation code so it can be modified at runtime.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « gpu/command_buffer/service/gles2_cmd_validation_autogen.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // This file is auto-generated. DO NOT EDIT! 5 // This file is auto-generated. DO NOT EDIT!
6 6
7 #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_VALIDATION_IMPLEMENTATION_AUTOGEN_H _ // NOLINT 7 #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_VALIDATION_IMPLEMENTATION_AUTOGEN_H _ // NOLINT
8 #define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_VALIDATION_IMPLEMENTATION_AUTOGEN_H _ // NOLINT 8 #define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_VALIDATION_IMPLEMENTATION_AUTOGEN_H _ // NOLINT
9 9
10 bool ValidateGLenumAttachment(GLenum value) { 10 static GLenum valid_attachment_table[] = {
11 switch (value) { 11 GL_COLOR_ATTACHMENT0,
12 case GL_COLOR_ATTACHMENT0: 12 GL_DEPTH_ATTACHMENT,
13 case GL_DEPTH_ATTACHMENT: 13 GL_STENCIL_ATTACHMENT,
14 case GL_STENCIL_ATTACHMENT: 14 };
15 return true; 15
16 default: 16 static GLenum valid_buffer_parameter_table[] = {
17 return false; 17 GL_BUFFER_SIZE,
18 } 18 GL_BUFFER_USAGE,
19 };
20
21 static GLenum valid_buffer_target_table[] = {
22 GL_ARRAY_BUFFER,
23 GL_ELEMENT_ARRAY_BUFFER,
24 };
25
26 static GLenum valid_buffer_usage_table[] = {
27 GL_STREAM_DRAW,
28 GL_STATIC_DRAW,
29 GL_DYNAMIC_DRAW,
30 };
31
32 static GLenum valid_capability_table[] = {
33 GL_BLEND,
34 GL_CULL_FACE,
35 GL_DEPTH_TEST,
36 GL_DITHER,
37 GL_POLYGON_OFFSET_FILL,
38 GL_SAMPLE_ALPHA_TO_COVERAGE,
39 GL_SAMPLE_COVERAGE,
40 GL_SCISSOR_TEST,
41 GL_STENCIL_TEST,
42 };
43
44 static GLenum valid_cmp_function_table[] = {
45 GL_NEVER,
46 GL_LESS,
47 GL_EQUAL,
48 GL_LEQUAL,
49 GL_GREATER,
50 GL_NOTEQUAL,
51 GL_GEQUAL,
52 GL_ALWAYS,
53 };
54
55 static GLenum valid_compressed_texture_format_table[] = {
56 GL_COMPRESSED_RGB_S3TC_DXT1_EXT,
57 GL_COMPRESSED_RGBA_S3TC_DXT1_EXT,
58 };
59
60 static GLenum valid_draw_mode_table[] = {
61 GL_POINTS,
62 GL_LINE_STRIP,
63 GL_LINE_LOOP,
64 GL_LINES,
65 GL_TRIANGLE_STRIP,
66 GL_TRIANGLE_FAN,
67 GL_TRIANGLES,
68 };
69
70 static GLenum valid_dst_blend_factor_table[] = {
71 GL_ZERO,
72 GL_ONE,
73 GL_SRC_COLOR,
74 GL_ONE_MINUS_SRC_COLOR,
75 GL_DST_COLOR,
76 GL_ONE_MINUS_DST_COLOR,
77 GL_SRC_ALPHA,
78 GL_ONE_MINUS_SRC_ALPHA,
79 GL_DST_ALPHA,
80 GL_ONE_MINUS_DST_ALPHA,
81 GL_CONSTANT_COLOR,
82 GL_ONE_MINUS_CONSTANT_COLOR,
83 GL_CONSTANT_ALPHA,
84 GL_ONE_MINUS_CONSTANT_ALPHA,
85 };
86
87 static GLenum valid_equation_table[] = {
88 GL_FUNC_ADD,
89 GL_FUNC_SUBTRACT,
90 GL_FUNC_REVERSE_SUBTRACT,
91 };
92
93 static GLenum valid_face_mode_table[] = {
94 GL_CW,
95 GL_CCW,
96 };
97
98 static GLenum valid_face_type_table[] = {
99 GL_FRONT,
100 GL_BACK,
101 GL_FRONT_AND_BACK,
102 };
103
104 static GLboolean valid_false_only_table[] = {
105 false,
106 };
107
108 static GLenum valid_frame_buffer_parameter_table[] = {
109 GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
110 GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
111 GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
112 GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
113 };
114
115 static GLenum valid_frame_buffer_target_table[] = {
116 GL_FRAMEBUFFER,
117 };
118
119 static GLenum valid_g_l_state_table[] = {
120 GL_ACTIVE_TEXTURE,
121 GL_ALIASED_LINE_WIDTH_RANGE,
122 GL_ALIASED_POINT_SIZE_RANGE,
123 GL_ALPHA_BITS,
124 GL_ARRAY_BUFFER_BINDING,
125 GL_BLEND,
126 GL_BLEND_COLOR,
127 GL_BLEND_DST_ALPHA,
128 GL_BLEND_DST_RGB,
129 GL_BLEND_EQUATION_ALPHA,
130 GL_BLEND_EQUATION_RGB,
131 GL_BLEND_SRC_ALPHA,
132 GL_BLEND_SRC_RGB,
133 GL_BLUE_BITS,
134 GL_COLOR_CLEAR_VALUE,
135 GL_COLOR_WRITEMASK,
136 GL_COMPRESSED_TEXTURE_FORMATS,
137 GL_CULL_FACE,
138 GL_CULL_FACE_MODE,
139 GL_CURRENT_PROGRAM,
140 GL_DEPTH_BITS,
141 GL_DEPTH_CLEAR_VALUE,
142 GL_DEPTH_FUNC,
143 GL_DEPTH_RANGE,
144 GL_DEPTH_TEST,
145 GL_DEPTH_WRITEMASK,
146 GL_DITHER,
147 GL_ELEMENT_ARRAY_BUFFER_BINDING,
148 GL_FRAMEBUFFER_BINDING,
149 GL_FRONT_FACE,
150 GL_GENERATE_MIPMAP_HINT,
151 GL_GREEN_BITS,
152 GL_IMPLEMENTATION_COLOR_READ_FORMAT,
153 GL_IMPLEMENTATION_COLOR_READ_TYPE,
154 GL_LINE_WIDTH,
155 GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
156 GL_MAX_CUBE_MAP_TEXTURE_SIZE,
157 GL_MAX_FRAGMENT_UNIFORM_VECTORS,
158 GL_MAX_RENDERBUFFER_SIZE,
159 GL_MAX_TEXTURE_IMAGE_UNITS,
160 GL_MAX_TEXTURE_SIZE,
161 GL_MAX_VARYING_VECTORS,
162 GL_MAX_VERTEX_ATTRIBS,
163 GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
164 GL_MAX_VERTEX_UNIFORM_VECTORS,
165 GL_MAX_VIEWPORT_DIMS,
166 GL_NUM_COMPRESSED_TEXTURE_FORMATS,
167 GL_NUM_SHADER_BINARY_FORMATS,
168 GL_PACK_ALIGNMENT,
169 GL_POLYGON_OFFSET_FACTOR,
170 GL_POLYGON_OFFSET_FILL,
171 GL_POLYGON_OFFSET_UNITS,
172 GL_RED_BITS,
173 GL_RENDERBUFFER_BINDING,
174 GL_SAMPLE_BUFFERS,
175 GL_SAMPLE_COVERAGE_INVERT,
176 GL_SAMPLE_COVERAGE_VALUE,
177 GL_SAMPLES,
178 GL_SCISSOR_BOX,
179 GL_SCISSOR_TEST,
180 GL_SHADER_BINARY_FORMATS,
181 GL_SHADER_COMPILER,
182 GL_STENCIL_BACK_FAIL,
183 GL_STENCIL_BACK_FUNC,
184 GL_STENCIL_BACK_PASS_DEPTH_FAIL,
185 GL_STENCIL_BACK_PASS_DEPTH_PASS,
186 GL_STENCIL_BACK_REF,
187 GL_STENCIL_BACK_VALUE_MASK,
188 GL_STENCIL_BACK_WRITEMASK,
189 GL_STENCIL_BITS,
190 GL_STENCIL_CLEAR_VALUE,
191 GL_STENCIL_FAIL,
192 GL_STENCIL_FUNC,
193 GL_STENCIL_PASS_DEPTH_FAIL,
194 GL_STENCIL_PASS_DEPTH_PASS,
195 GL_STENCIL_REF,
196 GL_STENCIL_TEST,
197 GL_STENCIL_VALUE_MASK,
198 GL_STENCIL_WRITEMASK,
199 GL_SUBPIXEL_BITS,
200 GL_TEXTURE_BINDING_2D,
201 GL_TEXTURE_BINDING_CUBE_MAP,
202 GL_UNPACK_ALIGNMENT,
203 GL_VIEWPORT,
204 };
205
206 static GLenum valid_get_max_index_type_table[] = {
207 GL_UNSIGNED_BYTE,
208 GL_UNSIGNED_SHORT,
209 GL_UNSIGNED_INT,
210 };
211
212 static GLenum valid_hint_mode_table[] = {
213 GL_FASTEST,
214 GL_NICEST,
215 GL_DONT_CARE,
216 };
217
218 static GLenum valid_hint_target_table[] = {
219 GL_GENERATE_MIPMAP_HINT,
220 };
221
222 static GLenum valid_index_type_table[] = {
223 GL_UNSIGNED_BYTE,
224 GL_UNSIGNED_SHORT,
225 };
226
227 static GLenum valid_pixel_store_table[] = {
228 GL_PACK_ALIGNMENT,
229 GL_UNPACK_ALIGNMENT,
230 };
231
232 static GLint valid_pixel_store_alignment_table[] = {
233 1,
234 2,
235 4,
236 8,
237 };
238
239 static GLenum valid_pixel_type_table[] = {
240 GL_UNSIGNED_BYTE,
241 GL_UNSIGNED_SHORT_5_6_5,
242 GL_UNSIGNED_SHORT_4_4_4_4,
243 GL_UNSIGNED_SHORT_5_5_5_1,
244 };
245
246 static GLenum valid_program_parameter_table[] = {
247 GL_DELETE_STATUS,
248 GL_LINK_STATUS,
249 GL_VALIDATE_STATUS,
250 GL_INFO_LOG_LENGTH,
251 GL_ATTACHED_SHADERS,
252 GL_ACTIVE_ATTRIBUTES,
253 GL_ACTIVE_ATTRIBUTE_MAX_LENGTH,
254 GL_ACTIVE_UNIFORMS,
255 GL_ACTIVE_UNIFORM_MAX_LENGTH,
256 };
257
258 static GLenum valid_read_pixel_format_table[] = {
259 GL_ALPHA,
260 GL_RGB,
261 GL_RGBA,
262 };
263
264 static GLenum valid_render_buffer_format_table[] = {
265 GL_RGBA4,
266 GL_RGB565,
267 GL_RGB5_A1,
268 GL_DEPTH_COMPONENT16,
269 GL_STENCIL_INDEX8,
270 };
271
272 static GLenum valid_render_buffer_parameter_table[] = {
273 GL_RENDERBUFFER_WIDTH,
274 GL_RENDERBUFFER_HEIGHT,
275 GL_RENDERBUFFER_INTERNAL_FORMAT,
276 GL_RENDERBUFFER_RED_SIZE,
277 GL_RENDERBUFFER_GREEN_SIZE,
278 GL_RENDERBUFFER_BLUE_SIZE,
279 GL_RENDERBUFFER_ALPHA_SIZE,
280 GL_RENDERBUFFER_DEPTH_SIZE,
281 GL_RENDERBUFFER_STENCIL_SIZE,
282 };
283
284 static GLenum valid_render_buffer_target_table[] = {
285 GL_RENDERBUFFER,
286 };
287
288 static GLenum valid_shader_parameter_table[] = {
289 GL_SHADER_TYPE,
290 GL_DELETE_STATUS,
291 GL_COMPILE_STATUS,
292 GL_INFO_LOG_LENGTH,
293 GL_SHADER_SOURCE_LENGTH,
294 };
295
296 static GLenum valid_shader_precision_table[] = {
297 GL_LOW_FLOAT,
298 GL_MEDIUM_FLOAT,
299 GL_HIGH_FLOAT,
300 GL_LOW_INT,
301 GL_MEDIUM_INT,
302 GL_HIGH_INT,
303 };
304
305 static GLenum valid_shader_type_table[] = {
306 GL_VERTEX_SHADER,
307 GL_FRAGMENT_SHADER,
308 };
309
310 static GLenum valid_src_blend_factor_table[] = {
311 GL_ZERO,
312 GL_ONE,
313 GL_SRC_COLOR,
314 GL_ONE_MINUS_SRC_COLOR,
315 GL_DST_COLOR,
316 GL_ONE_MINUS_DST_COLOR,
317 GL_SRC_ALPHA,
318 GL_ONE_MINUS_SRC_ALPHA,
319 GL_DST_ALPHA,
320 GL_ONE_MINUS_DST_ALPHA,
321 GL_CONSTANT_COLOR,
322 GL_ONE_MINUS_CONSTANT_COLOR,
323 GL_CONSTANT_ALPHA,
324 GL_ONE_MINUS_CONSTANT_ALPHA,
325 GL_SRC_ALPHA_SATURATE,
326 };
327
328 static GLenum valid_stencil_op_table[] = {
329 GL_KEEP,
330 GL_ZERO,
331 GL_REPLACE,
332 GL_INCR,
333 GL_INCR_WRAP,
334 GL_DECR,
335 GL_DECR_WRAP,
336 GL_INVERT,
337 };
338
339 static GLenum valid_string_type_table[] = {
340 GL_VENDOR,
341 GL_RENDERER,
342 GL_VERSION,
343 GL_SHADING_LANGUAGE_VERSION,
344 GL_EXTENSIONS,
345 };
346
347 static GLenum valid_texture_bind_target_table[] = {
348 GL_TEXTURE_2D,
349 GL_TEXTURE_CUBE_MAP,
350 };
351
352 static GLint valid_texture_border_table[] = {
353 0,
354 };
355
356 static GLenum valid_texture_format_table[] = {
357 GL_ALPHA,
358 GL_LUMINANCE,
359 GL_LUMINANCE_ALPHA,
360 GL_RGB,
361 GL_RGBA,
362 };
363
364 static GLenum valid_texture_parameter_table[] = {
365 GL_TEXTURE_MAG_FILTER,
366 GL_TEXTURE_MIN_FILTER,
367 GL_TEXTURE_WRAP_S,
368 GL_TEXTURE_WRAP_T,
369 };
370
371 static GLenum valid_texture_target_table[] = {
372 GL_TEXTURE_2D,
373 GL_TEXTURE_CUBE_MAP_POSITIVE_X,
374 GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
375 GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
376 GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
377 GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
378 GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
379 };
380
381 static GLint valid_vertex_attrib_size_table[] = {
382 1,
383 2,
384 3,
385 4,
386 };
387
388 static GLenum valid_vertex_attrib_type_table[] = {
389 GL_BYTE,
390 GL_UNSIGNED_BYTE,
391 GL_SHORT,
392 GL_UNSIGNED_SHORT,
393 GL_FLOAT,
394 };
395
396 static GLenum valid_vertex_attribute_table[] = {
397 GL_VERTEX_ATTRIB_ARRAY_NORMALIZED,
398 GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
399 GL_VERTEX_ATTRIB_ARRAY_ENABLED,
400 GL_VERTEX_ATTRIB_ARRAY_SIZE,
401 GL_VERTEX_ATTRIB_ARRAY_STRIDE,
402 GL_VERTEX_ATTRIB_ARRAY_TYPE,
403 GL_CURRENT_VERTEX_ATTRIB,
404 };
405
406 static GLenum valid_vertex_pointer_table[] = {
407 GL_VERTEX_ATTRIB_ARRAY_POINTER,
408 };
409
410 Validators::Validators()
411 : attachment(
412 valid_attachment_table, arraysize(valid_attachment_table)),
413 buffer_parameter(
414 valid_buffer_parameter_table, arraysize(valid_buffer_parameter_table)),
415 buffer_target(
416 valid_buffer_target_table, arraysize(valid_buffer_target_table)),
417 buffer_usage(
418 valid_buffer_usage_table, arraysize(valid_buffer_usage_table)),
419 capability(
420 valid_capability_table, arraysize(valid_capability_table)),
421 cmp_function(
422 valid_cmp_function_table, arraysize(valid_cmp_function_table)),
423 compressed_texture_format(
424 valid_compressed_texture_format_table, arraysize(
425 valid_compressed_texture_format_table)),
426 draw_mode(
427 valid_draw_mode_table, arraysize(valid_draw_mode_table)),
428 dst_blend_factor(
429 valid_dst_blend_factor_table, arraysize(valid_dst_blend_factor_table)),
430 equation(
431 valid_equation_table, arraysize(valid_equation_table)),
432 face_mode(
433 valid_face_mode_table, arraysize(valid_face_mode_table)),
434 face_type(
435 valid_face_type_table, arraysize(valid_face_type_table)),
436 false_only(
437 valid_false_only_table, arraysize(valid_false_only_table)),
438 frame_buffer_parameter(
439 valid_frame_buffer_parameter_table, arraysize(
440 valid_frame_buffer_parameter_table)),
441 frame_buffer_target(
442 valid_frame_buffer_target_table, arraysize(
443 valid_frame_buffer_target_table)),
444 g_l_state(
445 valid_g_l_state_table, arraysize(valid_g_l_state_table)),
446 get_max_index_type(
447 valid_get_max_index_type_table, arraysize(
448 valid_get_max_index_type_table)),
449 hint_mode(
450 valid_hint_mode_table, arraysize(valid_hint_mode_table)),
451 hint_target(
452 valid_hint_target_table, arraysize(valid_hint_target_table)),
453 index_type(
454 valid_index_type_table, arraysize(valid_index_type_table)),
455 pixel_store(
456 valid_pixel_store_table, arraysize(valid_pixel_store_table)),
457 pixel_store_alignment(
458 valid_pixel_store_alignment_table, arraysize(
459 valid_pixel_store_alignment_table)),
460 pixel_type(
461 valid_pixel_type_table, arraysize(valid_pixel_type_table)),
462 program_parameter(
463 valid_program_parameter_table, arraysize(
464 valid_program_parameter_table)),
465 read_pixel_format(
466 valid_read_pixel_format_table, arraysize(
467 valid_read_pixel_format_table)),
468 render_buffer_format(
469 valid_render_buffer_format_table, arraysize(
470 valid_render_buffer_format_table)),
471 render_buffer_parameter(
472 valid_render_buffer_parameter_table, arraysize(
473 valid_render_buffer_parameter_table)),
474 render_buffer_target(
475 valid_render_buffer_target_table, arraysize(
476 valid_render_buffer_target_table)),
477 shader_parameter(
478 valid_shader_parameter_table, arraysize(valid_shader_parameter_table)),
479 shader_precision(
480 valid_shader_precision_table, arraysize(valid_shader_precision_table)),
481 shader_type(
482 valid_shader_type_table, arraysize(valid_shader_type_table)),
483 src_blend_factor(
484 valid_src_blend_factor_table, arraysize(valid_src_blend_factor_table)),
485 stencil_op(
486 valid_stencil_op_table, arraysize(valid_stencil_op_table)),
487 string_type(
488 valid_string_type_table, arraysize(valid_string_type_table)),
489 texture_bind_target(
490 valid_texture_bind_target_table, arraysize(
491 valid_texture_bind_target_table)),
492 texture_border(
493 valid_texture_border_table, arraysize(valid_texture_border_table)),
494 texture_format(
495 valid_texture_format_table, arraysize(valid_texture_format_table)),
496 texture_parameter(
497 valid_texture_parameter_table, arraysize(
498 valid_texture_parameter_table)),
499 texture_target(
500 valid_texture_target_table, arraysize(valid_texture_target_table)),
501 vertex_attrib_size(
502 valid_vertex_attrib_size_table, arraysize(
503 valid_vertex_attrib_size_table)),
504 vertex_attrib_type(
505 valid_vertex_attrib_type_table, arraysize(
506 valid_vertex_attrib_type_table)),
507 vertex_attribute(
508 valid_vertex_attribute_table, arraysize(valid_vertex_attribute_table)),
509 vertex_pointer(
510 valid_vertex_pointer_table, arraysize(valid_vertex_pointer_table)) {
19 } 511 }
20
21 bool ValidateGLenumBufferParameter(GLenum value) {
22 switch (value) {
23 case GL_BUFFER_SIZE:
24 case GL_BUFFER_USAGE:
25 return true;
26 default:
27 return false;
28 }
29 }
30
31 bool ValidateGLenumBufferTarget(GLenum value) {
32 switch (value) {
33 case GL_ARRAY_BUFFER:
34 case GL_ELEMENT_ARRAY_BUFFER:
35 return true;
36 default:
37 return false;
38 }
39 }
40
41 bool ValidateGLenumBufferUsage(GLenum value) {
42 switch (value) {
43 case GL_STREAM_DRAW:
44 case GL_STATIC_DRAW:
45 case GL_DYNAMIC_DRAW:
46 return true;
47 default:
48 return false;
49 }
50 }
51
52 bool ValidateGLenumCapability(GLenum value) {
53 switch (value) {
54 case GL_BLEND:
55 case GL_CULL_FACE:
56 case GL_DEPTH_TEST:
57 case GL_DITHER:
58 case GL_POLYGON_OFFSET_FILL:
59 case GL_SAMPLE_ALPHA_TO_COVERAGE:
60 case GL_SAMPLE_COVERAGE:
61 case GL_SCISSOR_TEST:
62 case GL_STENCIL_TEST:
63 return true;
64 default:
65 return false;
66 }
67 }
68
69 bool ValidateGLenumCmpFunction(GLenum value) {
70 switch (value) {
71 case GL_NEVER:
72 case GL_LESS:
73 case GL_EQUAL:
74 case GL_LEQUAL:
75 case GL_GREATER:
76 case GL_NOTEQUAL:
77 case GL_GEQUAL:
78 case GL_ALWAYS:
79 return true;
80 default:
81 return false;
82 }
83 }
84
85 bool ValidateGLenumCompressedTextureFormat(GLenum value) {
86 switch (value) {
87 case GL_COMPRESSED_RGB_S3TC_DXT1_EXT:
88 case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:
89 return true;
90 default:
91 return false;
92 }
93 }
94
95 bool ValidateGLenumDrawMode(GLenum value) {
96 switch (value) {
97 case GL_POINTS:
98 case GL_LINE_STRIP:
99 case GL_LINE_LOOP:
100 case GL_LINES:
101 case GL_TRIANGLE_STRIP:
102 case GL_TRIANGLE_FAN:
103 case GL_TRIANGLES:
104 return true;
105 default:
106 return false;
107 }
108 }
109
110 bool ValidateGLenumDstBlendFactor(GLenum value) {
111 switch (value) {
112 case GL_ZERO:
113 case GL_ONE:
114 case GL_SRC_COLOR:
115 case GL_ONE_MINUS_SRC_COLOR:
116 case GL_DST_COLOR:
117 case GL_ONE_MINUS_DST_COLOR:
118 case GL_SRC_ALPHA:
119 case GL_ONE_MINUS_SRC_ALPHA:
120 case GL_DST_ALPHA:
121 case GL_ONE_MINUS_DST_ALPHA:
122 case GL_CONSTANT_COLOR:
123 case GL_ONE_MINUS_CONSTANT_COLOR:
124 case GL_CONSTANT_ALPHA:
125 case GL_ONE_MINUS_CONSTANT_ALPHA:
126 return true;
127 default:
128 return false;
129 }
130 }
131
132 bool ValidateGLenumEquation(GLenum value) {
133 switch (value) {
134 case GL_FUNC_ADD:
135 case GL_FUNC_SUBTRACT:
136 case GL_FUNC_REVERSE_SUBTRACT:
137 return true;
138 default:
139 return false;
140 }
141 }
142
143 bool ValidateGLenumFaceMode(GLenum value) {
144 switch (value) {
145 case GL_CW:
146 case GL_CCW:
147 return true;
148 default:
149 return false;
150 }
151 }
152
153 bool ValidateGLenumFaceType(GLenum value) {
154 switch (value) {
155 case GL_FRONT:
156 case GL_BACK:
157 case GL_FRONT_AND_BACK:
158 return true;
159 default:
160 return false;
161 }
162 }
163
164 bool ValidateGLbooleanFalse(GLenum value) {
165 switch (value) {
166 case false:
167 return true;
168 default:
169 return false;
170 }
171 }
172
173 bool ValidateGLenumFrameBufferParameter(GLenum value) {
174 switch (value) {
175 case GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:
176 case GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:
177 case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:
178 case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:
179 return true;
180 default:
181 return false;
182 }
183 }
184
185 bool ValidateGLenumFrameBufferTarget(GLenum value) {
186 switch (value) {
187 case GL_FRAMEBUFFER:
188 return true;
189 default:
190 return false;
191 }
192 }
193
194 bool ValidateGLenumGLState(GLenum value) {
195 switch (value) {
196 case GL_ACTIVE_TEXTURE:
197 case GL_ALIASED_LINE_WIDTH_RANGE:
198 case GL_ALIASED_POINT_SIZE_RANGE:
199 case GL_ALPHA_BITS:
200 case GL_ARRAY_BUFFER_BINDING:
201 case GL_BLEND:
202 case GL_BLEND_COLOR:
203 case GL_BLEND_DST_ALPHA:
204 case GL_BLEND_DST_RGB:
205 case GL_BLEND_EQUATION_ALPHA:
206 case GL_BLEND_EQUATION_RGB:
207 case GL_BLEND_SRC_ALPHA:
208 case GL_BLEND_SRC_RGB:
209 case GL_BLUE_BITS:
210 case GL_COLOR_CLEAR_VALUE:
211 case GL_COLOR_WRITEMASK:
212 case GL_COMPRESSED_TEXTURE_FORMATS:
213 case GL_CULL_FACE:
214 case GL_CULL_FACE_MODE:
215 case GL_CURRENT_PROGRAM:
216 case GL_DEPTH_BITS:
217 case GL_DEPTH_CLEAR_VALUE:
218 case GL_DEPTH_FUNC:
219 case GL_DEPTH_RANGE:
220 case GL_DEPTH_TEST:
221 case GL_DEPTH_WRITEMASK:
222 case GL_DITHER:
223 case GL_ELEMENT_ARRAY_BUFFER_BINDING:
224 case GL_FRAMEBUFFER_BINDING:
225 case GL_FRONT_FACE:
226 case GL_GENERATE_MIPMAP_HINT:
227 case GL_GREEN_BITS:
228 case GL_IMPLEMENTATION_COLOR_READ_FORMAT:
229 case GL_IMPLEMENTATION_COLOR_READ_TYPE:
230 case GL_LINE_WIDTH:
231 case GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS:
232 case GL_MAX_CUBE_MAP_TEXTURE_SIZE:
233 case GL_MAX_FRAGMENT_UNIFORM_VECTORS:
234 case GL_MAX_RENDERBUFFER_SIZE:
235 case GL_MAX_TEXTURE_IMAGE_UNITS:
236 case GL_MAX_TEXTURE_SIZE:
237 case GL_MAX_VARYING_VECTORS:
238 case GL_MAX_VERTEX_ATTRIBS:
239 case GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS:
240 case GL_MAX_VERTEX_UNIFORM_VECTORS:
241 case GL_MAX_VIEWPORT_DIMS:
242 case GL_NUM_COMPRESSED_TEXTURE_FORMATS:
243 case GL_NUM_SHADER_BINARY_FORMATS:
244 case GL_PACK_ALIGNMENT:
245 case GL_POLYGON_OFFSET_FACTOR:
246 case GL_POLYGON_OFFSET_FILL:
247 case GL_POLYGON_OFFSET_UNITS:
248 case GL_RED_BITS:
249 case GL_RENDERBUFFER_BINDING:
250 case GL_SAMPLE_BUFFERS:
251 case GL_SAMPLE_COVERAGE_INVERT:
252 case GL_SAMPLE_COVERAGE_VALUE:
253 case GL_SAMPLES:
254 case GL_SCISSOR_BOX:
255 case GL_SCISSOR_TEST:
256 case GL_SHADER_BINARY_FORMATS:
257 case GL_SHADER_COMPILER:
258 case GL_STENCIL_BACK_FAIL:
259 case GL_STENCIL_BACK_FUNC:
260 case GL_STENCIL_BACK_PASS_DEPTH_FAIL:
261 case GL_STENCIL_BACK_PASS_DEPTH_PASS:
262 case GL_STENCIL_BACK_REF:
263 case GL_STENCIL_BACK_VALUE_MASK:
264 case GL_STENCIL_BACK_WRITEMASK:
265 case GL_STENCIL_BITS:
266 case GL_STENCIL_CLEAR_VALUE:
267 case GL_STENCIL_FAIL:
268 case GL_STENCIL_FUNC:
269 case GL_STENCIL_PASS_DEPTH_FAIL:
270 case GL_STENCIL_PASS_DEPTH_PASS:
271 case GL_STENCIL_REF:
272 case GL_STENCIL_TEST:
273 case GL_STENCIL_VALUE_MASK:
274 case GL_STENCIL_WRITEMASK:
275 case GL_SUBPIXEL_BITS:
276 case GL_TEXTURE_BINDING_2D:
277 case GL_TEXTURE_BINDING_CUBE_MAP:
278 case GL_UNPACK_ALIGNMENT:
279 case GL_VIEWPORT:
280 return true;
281 default:
282 return false;
283 }
284 }
285
286 bool ValidateGLenumGetMaxIndexType(GLenum value) {
287 switch (value) {
288 case GL_UNSIGNED_BYTE:
289 case GL_UNSIGNED_SHORT:
290 case GL_UNSIGNED_INT:
291 return true;
292 default:
293 return false;
294 }
295 }
296
297 bool ValidateGLenumHintMode(GLenum value) {
298 switch (value) {
299 case GL_FASTEST:
300 case GL_NICEST:
301 case GL_DONT_CARE:
302 return true;
303 default:
304 return false;
305 }
306 }
307
308 bool ValidateGLenumHintTarget(GLenum value) {
309 switch (value) {
310 case GL_GENERATE_MIPMAP_HINT:
311 return true;
312 default:
313 return false;
314 }
315 }
316
317 bool ValidateGLenumIndexType(GLenum value) {
318 switch (value) {
319 case GL_UNSIGNED_BYTE:
320 case GL_UNSIGNED_SHORT:
321 return true;
322 default:
323 return false;
324 }
325 }
326
327 bool ValidateGLenumPixelStore(GLenum value) {
328 switch (value) {
329 case GL_PACK_ALIGNMENT:
330 case GL_UNPACK_ALIGNMENT:
331 return true;
332 default:
333 return false;
334 }
335 }
336
337 bool ValidateGLintPixelStoreAlignment(GLenum value) {
338 switch (value) {
339 case 1:
340 case 2:
341 case 4:
342 case 8:
343 return true;
344 default:
345 return false;
346 }
347 }
348
349 bool ValidateGLenumPixelType(GLenum value) {
350 switch (value) {
351 case GL_UNSIGNED_BYTE:
352 case GL_UNSIGNED_SHORT_5_6_5:
353 case GL_UNSIGNED_SHORT_4_4_4_4:
354 case GL_UNSIGNED_SHORT_5_5_5_1:
355 return true;
356 default:
357 return false;
358 }
359 }
360
361 bool ValidateGLenumProgramParameter(GLenum value) {
362 switch (value) {
363 case GL_DELETE_STATUS:
364 case GL_LINK_STATUS:
365 case GL_VALIDATE_STATUS:
366 case GL_INFO_LOG_LENGTH:
367 case GL_ATTACHED_SHADERS:
368 case GL_ACTIVE_ATTRIBUTES:
369 case GL_ACTIVE_ATTRIBUTE_MAX_LENGTH:
370 case GL_ACTIVE_UNIFORMS:
371 case GL_ACTIVE_UNIFORM_MAX_LENGTH:
372 return true;
373 default:
374 return false;
375 }
376 }
377
378 bool ValidateGLenumReadPixelFormat(GLenum value) {
379 switch (value) {
380 case GL_ALPHA:
381 case GL_RGB:
382 case GL_RGBA:
383 return true;
384 default:
385 return false;
386 }
387 }
388
389 bool ValidateGLenumRenderBufferFormat(GLenum value) {
390 switch (value) {
391 case GL_RGBA4:
392 case GL_RGB565:
393 case GL_RGB5_A1:
394 case GL_DEPTH_COMPONENT16:
395 case GL_STENCIL_INDEX8:
396 return true;
397 default:
398 return false;
399 }
400 }
401
402 bool ValidateGLenumRenderBufferParameter(GLenum value) {
403 switch (value) {
404 case GL_RENDERBUFFER_WIDTH:
405 case GL_RENDERBUFFER_HEIGHT:
406 case GL_RENDERBUFFER_INTERNAL_FORMAT:
407 case GL_RENDERBUFFER_RED_SIZE:
408 case GL_RENDERBUFFER_GREEN_SIZE:
409 case GL_RENDERBUFFER_BLUE_SIZE:
410 case GL_RENDERBUFFER_ALPHA_SIZE:
411 case GL_RENDERBUFFER_DEPTH_SIZE:
412 case GL_RENDERBUFFER_STENCIL_SIZE:
413 return true;
414 default:
415 return false;
416 }
417 }
418
419 bool ValidateGLenumRenderBufferTarget(GLenum value) {
420 switch (value) {
421 case GL_RENDERBUFFER:
422 return true;
423 default:
424 return false;
425 }
426 }
427
428 bool ValidateGLenumShaderParameter(GLenum value) {
429 switch (value) {
430 case GL_SHADER_TYPE:
431 case GL_DELETE_STATUS:
432 case GL_COMPILE_STATUS:
433 case GL_INFO_LOG_LENGTH:
434 case GL_SHADER_SOURCE_LENGTH:
435 return true;
436 default:
437 return false;
438 }
439 }
440
441 bool ValidateGLenumShaderPrecision(GLenum value) {
442 switch (value) {
443 case GL_LOW_FLOAT:
444 case GL_MEDIUM_FLOAT:
445 case GL_HIGH_FLOAT:
446 case GL_LOW_INT:
447 case GL_MEDIUM_INT:
448 case GL_HIGH_INT:
449 return true;
450 default:
451 return false;
452 }
453 }
454
455 bool ValidateGLenumShaderType(GLenum value) {
456 switch (value) {
457 case GL_VERTEX_SHADER:
458 case GL_FRAGMENT_SHADER:
459 return true;
460 default:
461 return false;
462 }
463 }
464
465 bool ValidateGLenumSrcBlendFactor(GLenum value) {
466 switch (value) {
467 case GL_ZERO:
468 case GL_ONE:
469 case GL_SRC_COLOR:
470 case GL_ONE_MINUS_SRC_COLOR:
471 case GL_DST_COLOR:
472 case GL_ONE_MINUS_DST_COLOR:
473 case GL_SRC_ALPHA:
474 case GL_ONE_MINUS_SRC_ALPHA:
475 case GL_DST_ALPHA:
476 case GL_ONE_MINUS_DST_ALPHA:
477 case GL_CONSTANT_COLOR:
478 case GL_ONE_MINUS_CONSTANT_COLOR:
479 case GL_CONSTANT_ALPHA:
480 case GL_ONE_MINUS_CONSTANT_ALPHA:
481 case GL_SRC_ALPHA_SATURATE:
482 return true;
483 default:
484 return false;
485 }
486 }
487
488 bool ValidateGLenumStencilOp(GLenum value) {
489 switch (value) {
490 case GL_KEEP:
491 case GL_ZERO:
492 case GL_REPLACE:
493 case GL_INCR:
494 case GL_INCR_WRAP:
495 case GL_DECR:
496 case GL_DECR_WRAP:
497 case GL_INVERT:
498 return true;
499 default:
500 return false;
501 }
502 }
503
504 bool ValidateGLenumStringType(GLenum value) {
505 switch (value) {
506 case GL_VENDOR:
507 case GL_RENDERER:
508 case GL_VERSION:
509 case GL_SHADING_LANGUAGE_VERSION:
510 case GL_EXTENSIONS:
511 return true;
512 default:
513 return false;
514 }
515 }
516
517 bool ValidateGLenumTextureBindTarget(GLenum value) {
518 switch (value) {
519 case GL_TEXTURE_2D:
520 case GL_TEXTURE_CUBE_MAP:
521 return true;
522 default:
523 return false;
524 }
525 }
526
527 bool ValidateGLintTextureBorder(GLenum value) {
528 switch (value) {
529 case 0:
530 return true;
531 default:
532 return false;
533 }
534 }
535
536 bool ValidateGLenumTextureFormat(GLenum value) {
537 switch (value) {
538 case GL_ALPHA:
539 case GL_LUMINANCE:
540 case GL_LUMINANCE_ALPHA:
541 case GL_RGB:
542 case GL_RGBA:
543 return true;
544 default:
545 return false;
546 }
547 }
548
549 bool ValidateGLenumTextureParameter(GLenum value) {
550 switch (value) {
551 case GL_TEXTURE_MAG_FILTER:
552 case GL_TEXTURE_MIN_FILTER:
553 case GL_TEXTURE_WRAP_S:
554 case GL_TEXTURE_WRAP_T:
555 return true;
556 default:
557 return false;
558 }
559 }
560
561 bool ValidateGLenumTextureTarget(GLenum value) {
562 switch (value) {
563 case GL_TEXTURE_2D:
564 case GL_TEXTURE_CUBE_MAP_POSITIVE_X:
565 case GL_TEXTURE_CUBE_MAP_NEGATIVE_X:
566 case GL_TEXTURE_CUBE_MAP_POSITIVE_Y:
567 case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y:
568 case GL_TEXTURE_CUBE_MAP_POSITIVE_Z:
569 case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z:
570 return true;
571 default:
572 return false;
573 }
574 }
575
576 bool ValidateGLintVertexAttribSize(GLenum value) {
577 switch (value) {
578 case 1:
579 case 2:
580 case 3:
581 case 4:
582 return true;
583 default:
584 return false;
585 }
586 }
587
588 bool ValidateGLenumVertexAttribType(GLenum value) {
589 switch (value) {
590 case GL_BYTE:
591 case GL_UNSIGNED_BYTE:
592 case GL_SHORT:
593 case GL_UNSIGNED_SHORT:
594 case GL_FLOAT:
595 return true;
596 default:
597 return false;
598 }
599 }
600
601 bool ValidateGLenumVertexAttribute(GLenum value) {
602 switch (value) {
603 case GL_VERTEX_ATTRIB_ARRAY_NORMALIZED:
604 case GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:
605 case GL_VERTEX_ATTRIB_ARRAY_ENABLED:
606 case GL_VERTEX_ATTRIB_ARRAY_SIZE:
607 case GL_VERTEX_ATTRIB_ARRAY_STRIDE:
608 case GL_VERTEX_ATTRIB_ARRAY_TYPE:
609 case GL_CURRENT_VERTEX_ATTRIB:
610 return true;
611 default:
612 return false;
613 }
614 }
615
616 bool ValidateGLenumVertexPointer(GLenum value) {
617 switch (value) {
618 case GL_VERTEX_ATTRIB_ARRAY_POINTER:
619 return true;
620 default:
621 return false;
622 }
623 }
624
625 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_VALIDATION_IMPLEMENTATION_AUTOGE N_H_ // NOLINT 512 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_VALIDATION_IMPLEMENTATION_AUTOGE N_H_ // NOLINT
626 513
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/gles2_cmd_validation_autogen.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698