| Index: gpu/command_buffer/service/gles2_cmd_validation_implementation_autogen.h
|
| ===================================================================
|
| --- gpu/command_buffer/service/gles2_cmd_validation_implementation_autogen.h (revision 49807)
|
| +++ gpu/command_buffer/service/gles2_cmd_validation_implementation_autogen.h (working copy)
|
| @@ -7,620 +7,507 @@
|
| #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_VALIDATION_IMPLEMENTATION_AUTOGEN_H_ // NOLINT
|
| #define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_VALIDATION_IMPLEMENTATION_AUTOGEN_H_ // NOLINT
|
|
|
| -bool ValidateGLenumAttachment(GLenum value) {
|
| - switch (value) {
|
| - case GL_COLOR_ATTACHMENT0:
|
| - case GL_DEPTH_ATTACHMENT:
|
| - case GL_STENCIL_ATTACHMENT:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_attachment_table[] = {
|
| + GL_COLOR_ATTACHMENT0,
|
| + GL_DEPTH_ATTACHMENT,
|
| + GL_STENCIL_ATTACHMENT,
|
| +};
|
|
|
| -bool ValidateGLenumBufferParameter(GLenum value) {
|
| - switch (value) {
|
| - case GL_BUFFER_SIZE:
|
| - case GL_BUFFER_USAGE:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_buffer_parameter_table[] = {
|
| + GL_BUFFER_SIZE,
|
| + GL_BUFFER_USAGE,
|
| +};
|
|
|
| -bool ValidateGLenumBufferTarget(GLenum value) {
|
| - switch (value) {
|
| - case GL_ARRAY_BUFFER:
|
| - case GL_ELEMENT_ARRAY_BUFFER:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_buffer_target_table[] = {
|
| + GL_ARRAY_BUFFER,
|
| + GL_ELEMENT_ARRAY_BUFFER,
|
| +};
|
|
|
| -bool ValidateGLenumBufferUsage(GLenum value) {
|
| - switch (value) {
|
| - case GL_STREAM_DRAW:
|
| - case GL_STATIC_DRAW:
|
| - case GL_DYNAMIC_DRAW:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_buffer_usage_table[] = {
|
| + GL_STREAM_DRAW,
|
| + GL_STATIC_DRAW,
|
| + GL_DYNAMIC_DRAW,
|
| +};
|
|
|
| -bool ValidateGLenumCapability(GLenum value) {
|
| - switch (value) {
|
| - case GL_BLEND:
|
| - case GL_CULL_FACE:
|
| - case GL_DEPTH_TEST:
|
| - case GL_DITHER:
|
| - case GL_POLYGON_OFFSET_FILL:
|
| - case GL_SAMPLE_ALPHA_TO_COVERAGE:
|
| - case GL_SAMPLE_COVERAGE:
|
| - case GL_SCISSOR_TEST:
|
| - case GL_STENCIL_TEST:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_capability_table[] = {
|
| + GL_BLEND,
|
| + GL_CULL_FACE,
|
| + GL_DEPTH_TEST,
|
| + GL_DITHER,
|
| + GL_POLYGON_OFFSET_FILL,
|
| + GL_SAMPLE_ALPHA_TO_COVERAGE,
|
| + GL_SAMPLE_COVERAGE,
|
| + GL_SCISSOR_TEST,
|
| + GL_STENCIL_TEST,
|
| +};
|
|
|
| -bool ValidateGLenumCmpFunction(GLenum value) {
|
| - switch (value) {
|
| - case GL_NEVER:
|
| - case GL_LESS:
|
| - case GL_EQUAL:
|
| - case GL_LEQUAL:
|
| - case GL_GREATER:
|
| - case GL_NOTEQUAL:
|
| - case GL_GEQUAL:
|
| - case GL_ALWAYS:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_cmp_function_table[] = {
|
| + GL_NEVER,
|
| + GL_LESS,
|
| + GL_EQUAL,
|
| + GL_LEQUAL,
|
| + GL_GREATER,
|
| + GL_NOTEQUAL,
|
| + GL_GEQUAL,
|
| + GL_ALWAYS,
|
| +};
|
|
|
| -bool ValidateGLenumCompressedTextureFormat(GLenum value) {
|
| - switch (value) {
|
| - case GL_COMPRESSED_RGB_S3TC_DXT1_EXT:
|
| - case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_compressed_texture_format_table[] = {
|
| + GL_COMPRESSED_RGB_S3TC_DXT1_EXT,
|
| + GL_COMPRESSED_RGBA_S3TC_DXT1_EXT,
|
| +};
|
|
|
| -bool ValidateGLenumDrawMode(GLenum value) {
|
| - switch (value) {
|
| - case GL_POINTS:
|
| - case GL_LINE_STRIP:
|
| - case GL_LINE_LOOP:
|
| - case GL_LINES:
|
| - case GL_TRIANGLE_STRIP:
|
| - case GL_TRIANGLE_FAN:
|
| - case GL_TRIANGLES:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_draw_mode_table[] = {
|
| + GL_POINTS,
|
| + GL_LINE_STRIP,
|
| + GL_LINE_LOOP,
|
| + GL_LINES,
|
| + GL_TRIANGLE_STRIP,
|
| + GL_TRIANGLE_FAN,
|
| + GL_TRIANGLES,
|
| +};
|
|
|
| -bool ValidateGLenumDstBlendFactor(GLenum value) {
|
| - switch (value) {
|
| - case GL_ZERO:
|
| - case GL_ONE:
|
| - case GL_SRC_COLOR:
|
| - case GL_ONE_MINUS_SRC_COLOR:
|
| - case GL_DST_COLOR:
|
| - case GL_ONE_MINUS_DST_COLOR:
|
| - case GL_SRC_ALPHA:
|
| - case GL_ONE_MINUS_SRC_ALPHA:
|
| - case GL_DST_ALPHA:
|
| - case GL_ONE_MINUS_DST_ALPHA:
|
| - case GL_CONSTANT_COLOR:
|
| - case GL_ONE_MINUS_CONSTANT_COLOR:
|
| - case GL_CONSTANT_ALPHA:
|
| - case GL_ONE_MINUS_CONSTANT_ALPHA:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_dst_blend_factor_table[] = {
|
| + GL_ZERO,
|
| + GL_ONE,
|
| + GL_SRC_COLOR,
|
| + GL_ONE_MINUS_SRC_COLOR,
|
| + GL_DST_COLOR,
|
| + GL_ONE_MINUS_DST_COLOR,
|
| + GL_SRC_ALPHA,
|
| + GL_ONE_MINUS_SRC_ALPHA,
|
| + GL_DST_ALPHA,
|
| + GL_ONE_MINUS_DST_ALPHA,
|
| + GL_CONSTANT_COLOR,
|
| + GL_ONE_MINUS_CONSTANT_COLOR,
|
| + GL_CONSTANT_ALPHA,
|
| + GL_ONE_MINUS_CONSTANT_ALPHA,
|
| +};
|
|
|
| -bool ValidateGLenumEquation(GLenum value) {
|
| - switch (value) {
|
| - case GL_FUNC_ADD:
|
| - case GL_FUNC_SUBTRACT:
|
| - case GL_FUNC_REVERSE_SUBTRACT:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_equation_table[] = {
|
| + GL_FUNC_ADD,
|
| + GL_FUNC_SUBTRACT,
|
| + GL_FUNC_REVERSE_SUBTRACT,
|
| +};
|
|
|
| -bool ValidateGLenumFaceMode(GLenum value) {
|
| - switch (value) {
|
| - case GL_CW:
|
| - case GL_CCW:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_face_mode_table[] = {
|
| + GL_CW,
|
| + GL_CCW,
|
| +};
|
|
|
| -bool ValidateGLenumFaceType(GLenum value) {
|
| - switch (value) {
|
| - case GL_FRONT:
|
| - case GL_BACK:
|
| - case GL_FRONT_AND_BACK:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_face_type_table[] = {
|
| + GL_FRONT,
|
| + GL_BACK,
|
| + GL_FRONT_AND_BACK,
|
| +};
|
|
|
| -bool ValidateGLbooleanFalse(GLenum value) {
|
| - switch (value) {
|
| - case false:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLboolean valid_false_only_table[] = {
|
| + false,
|
| +};
|
|
|
| -bool ValidateGLenumFrameBufferParameter(GLenum value) {
|
| - switch (value) {
|
| - case GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:
|
| - case GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:
|
| - case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:
|
| - case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_frame_buffer_parameter_table[] = {
|
| + GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
|
| + GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
|
| + GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
|
| + GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
|
| +};
|
|
|
| -bool ValidateGLenumFrameBufferTarget(GLenum value) {
|
| - switch (value) {
|
| - case GL_FRAMEBUFFER:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_frame_buffer_target_table[] = {
|
| + GL_FRAMEBUFFER,
|
| +};
|
|
|
| -bool ValidateGLenumGLState(GLenum value) {
|
| - switch (value) {
|
| - case GL_ACTIVE_TEXTURE:
|
| - case GL_ALIASED_LINE_WIDTH_RANGE:
|
| - case GL_ALIASED_POINT_SIZE_RANGE:
|
| - case GL_ALPHA_BITS:
|
| - case GL_ARRAY_BUFFER_BINDING:
|
| - case GL_BLEND:
|
| - case GL_BLEND_COLOR:
|
| - case GL_BLEND_DST_ALPHA:
|
| - case GL_BLEND_DST_RGB:
|
| - case GL_BLEND_EQUATION_ALPHA:
|
| - case GL_BLEND_EQUATION_RGB:
|
| - case GL_BLEND_SRC_ALPHA:
|
| - case GL_BLEND_SRC_RGB:
|
| - case GL_BLUE_BITS:
|
| - case GL_COLOR_CLEAR_VALUE:
|
| - case GL_COLOR_WRITEMASK:
|
| - case GL_COMPRESSED_TEXTURE_FORMATS:
|
| - case GL_CULL_FACE:
|
| - case GL_CULL_FACE_MODE:
|
| - case GL_CURRENT_PROGRAM:
|
| - case GL_DEPTH_BITS:
|
| - case GL_DEPTH_CLEAR_VALUE:
|
| - case GL_DEPTH_FUNC:
|
| - case GL_DEPTH_RANGE:
|
| - case GL_DEPTH_TEST:
|
| - case GL_DEPTH_WRITEMASK:
|
| - case GL_DITHER:
|
| - case GL_ELEMENT_ARRAY_BUFFER_BINDING:
|
| - case GL_FRAMEBUFFER_BINDING:
|
| - case GL_FRONT_FACE:
|
| - case GL_GENERATE_MIPMAP_HINT:
|
| - case GL_GREEN_BITS:
|
| - case GL_IMPLEMENTATION_COLOR_READ_FORMAT:
|
| - case GL_IMPLEMENTATION_COLOR_READ_TYPE:
|
| - case GL_LINE_WIDTH:
|
| - case GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS:
|
| - case GL_MAX_CUBE_MAP_TEXTURE_SIZE:
|
| - case GL_MAX_FRAGMENT_UNIFORM_VECTORS:
|
| - case GL_MAX_RENDERBUFFER_SIZE:
|
| - case GL_MAX_TEXTURE_IMAGE_UNITS:
|
| - case GL_MAX_TEXTURE_SIZE:
|
| - case GL_MAX_VARYING_VECTORS:
|
| - case GL_MAX_VERTEX_ATTRIBS:
|
| - case GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS:
|
| - case GL_MAX_VERTEX_UNIFORM_VECTORS:
|
| - case GL_MAX_VIEWPORT_DIMS:
|
| - case GL_NUM_COMPRESSED_TEXTURE_FORMATS:
|
| - case GL_NUM_SHADER_BINARY_FORMATS:
|
| - case GL_PACK_ALIGNMENT:
|
| - case GL_POLYGON_OFFSET_FACTOR:
|
| - case GL_POLYGON_OFFSET_FILL:
|
| - case GL_POLYGON_OFFSET_UNITS:
|
| - case GL_RED_BITS:
|
| - case GL_RENDERBUFFER_BINDING:
|
| - case GL_SAMPLE_BUFFERS:
|
| - case GL_SAMPLE_COVERAGE_INVERT:
|
| - case GL_SAMPLE_COVERAGE_VALUE:
|
| - case GL_SAMPLES:
|
| - case GL_SCISSOR_BOX:
|
| - case GL_SCISSOR_TEST:
|
| - case GL_SHADER_BINARY_FORMATS:
|
| - case GL_SHADER_COMPILER:
|
| - case GL_STENCIL_BACK_FAIL:
|
| - case GL_STENCIL_BACK_FUNC:
|
| - case GL_STENCIL_BACK_PASS_DEPTH_FAIL:
|
| - case GL_STENCIL_BACK_PASS_DEPTH_PASS:
|
| - case GL_STENCIL_BACK_REF:
|
| - case GL_STENCIL_BACK_VALUE_MASK:
|
| - case GL_STENCIL_BACK_WRITEMASK:
|
| - case GL_STENCIL_BITS:
|
| - case GL_STENCIL_CLEAR_VALUE:
|
| - case GL_STENCIL_FAIL:
|
| - case GL_STENCIL_FUNC:
|
| - case GL_STENCIL_PASS_DEPTH_FAIL:
|
| - case GL_STENCIL_PASS_DEPTH_PASS:
|
| - case GL_STENCIL_REF:
|
| - case GL_STENCIL_TEST:
|
| - case GL_STENCIL_VALUE_MASK:
|
| - case GL_STENCIL_WRITEMASK:
|
| - case GL_SUBPIXEL_BITS:
|
| - case GL_TEXTURE_BINDING_2D:
|
| - case GL_TEXTURE_BINDING_CUBE_MAP:
|
| - case GL_UNPACK_ALIGNMENT:
|
| - case GL_VIEWPORT:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_g_l_state_table[] = {
|
| + GL_ACTIVE_TEXTURE,
|
| + GL_ALIASED_LINE_WIDTH_RANGE,
|
| + GL_ALIASED_POINT_SIZE_RANGE,
|
| + GL_ALPHA_BITS,
|
| + GL_ARRAY_BUFFER_BINDING,
|
| + GL_BLEND,
|
| + GL_BLEND_COLOR,
|
| + GL_BLEND_DST_ALPHA,
|
| + GL_BLEND_DST_RGB,
|
| + GL_BLEND_EQUATION_ALPHA,
|
| + GL_BLEND_EQUATION_RGB,
|
| + GL_BLEND_SRC_ALPHA,
|
| + GL_BLEND_SRC_RGB,
|
| + GL_BLUE_BITS,
|
| + GL_COLOR_CLEAR_VALUE,
|
| + GL_COLOR_WRITEMASK,
|
| + GL_COMPRESSED_TEXTURE_FORMATS,
|
| + GL_CULL_FACE,
|
| + GL_CULL_FACE_MODE,
|
| + GL_CURRENT_PROGRAM,
|
| + GL_DEPTH_BITS,
|
| + GL_DEPTH_CLEAR_VALUE,
|
| + GL_DEPTH_FUNC,
|
| + GL_DEPTH_RANGE,
|
| + GL_DEPTH_TEST,
|
| + GL_DEPTH_WRITEMASK,
|
| + GL_DITHER,
|
| + GL_ELEMENT_ARRAY_BUFFER_BINDING,
|
| + GL_FRAMEBUFFER_BINDING,
|
| + GL_FRONT_FACE,
|
| + GL_GENERATE_MIPMAP_HINT,
|
| + GL_GREEN_BITS,
|
| + GL_IMPLEMENTATION_COLOR_READ_FORMAT,
|
| + GL_IMPLEMENTATION_COLOR_READ_TYPE,
|
| + GL_LINE_WIDTH,
|
| + GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
|
| + GL_MAX_CUBE_MAP_TEXTURE_SIZE,
|
| + GL_MAX_FRAGMENT_UNIFORM_VECTORS,
|
| + GL_MAX_RENDERBUFFER_SIZE,
|
| + GL_MAX_TEXTURE_IMAGE_UNITS,
|
| + GL_MAX_TEXTURE_SIZE,
|
| + GL_MAX_VARYING_VECTORS,
|
| + GL_MAX_VERTEX_ATTRIBS,
|
| + GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
|
| + GL_MAX_VERTEX_UNIFORM_VECTORS,
|
| + GL_MAX_VIEWPORT_DIMS,
|
| + GL_NUM_COMPRESSED_TEXTURE_FORMATS,
|
| + GL_NUM_SHADER_BINARY_FORMATS,
|
| + GL_PACK_ALIGNMENT,
|
| + GL_POLYGON_OFFSET_FACTOR,
|
| + GL_POLYGON_OFFSET_FILL,
|
| + GL_POLYGON_OFFSET_UNITS,
|
| + GL_RED_BITS,
|
| + GL_RENDERBUFFER_BINDING,
|
| + GL_SAMPLE_BUFFERS,
|
| + GL_SAMPLE_COVERAGE_INVERT,
|
| + GL_SAMPLE_COVERAGE_VALUE,
|
| + GL_SAMPLES,
|
| + GL_SCISSOR_BOX,
|
| + GL_SCISSOR_TEST,
|
| + GL_SHADER_BINARY_FORMATS,
|
| + GL_SHADER_COMPILER,
|
| + GL_STENCIL_BACK_FAIL,
|
| + GL_STENCIL_BACK_FUNC,
|
| + GL_STENCIL_BACK_PASS_DEPTH_FAIL,
|
| + GL_STENCIL_BACK_PASS_DEPTH_PASS,
|
| + GL_STENCIL_BACK_REF,
|
| + GL_STENCIL_BACK_VALUE_MASK,
|
| + GL_STENCIL_BACK_WRITEMASK,
|
| + GL_STENCIL_BITS,
|
| + GL_STENCIL_CLEAR_VALUE,
|
| + GL_STENCIL_FAIL,
|
| + GL_STENCIL_FUNC,
|
| + GL_STENCIL_PASS_DEPTH_FAIL,
|
| + GL_STENCIL_PASS_DEPTH_PASS,
|
| + GL_STENCIL_REF,
|
| + GL_STENCIL_TEST,
|
| + GL_STENCIL_VALUE_MASK,
|
| + GL_STENCIL_WRITEMASK,
|
| + GL_SUBPIXEL_BITS,
|
| + GL_TEXTURE_BINDING_2D,
|
| + GL_TEXTURE_BINDING_CUBE_MAP,
|
| + GL_UNPACK_ALIGNMENT,
|
| + GL_VIEWPORT,
|
| +};
|
|
|
| -bool ValidateGLenumGetMaxIndexType(GLenum value) {
|
| - switch (value) {
|
| - case GL_UNSIGNED_BYTE:
|
| - case GL_UNSIGNED_SHORT:
|
| - case GL_UNSIGNED_INT:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_get_max_index_type_table[] = {
|
| + GL_UNSIGNED_BYTE,
|
| + GL_UNSIGNED_SHORT,
|
| + GL_UNSIGNED_INT,
|
| +};
|
|
|
| -bool ValidateGLenumHintMode(GLenum value) {
|
| - switch (value) {
|
| - case GL_FASTEST:
|
| - case GL_NICEST:
|
| - case GL_DONT_CARE:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_hint_mode_table[] = {
|
| + GL_FASTEST,
|
| + GL_NICEST,
|
| + GL_DONT_CARE,
|
| +};
|
|
|
| -bool ValidateGLenumHintTarget(GLenum value) {
|
| - switch (value) {
|
| - case GL_GENERATE_MIPMAP_HINT:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_hint_target_table[] = {
|
| + GL_GENERATE_MIPMAP_HINT,
|
| +};
|
|
|
| -bool ValidateGLenumIndexType(GLenum value) {
|
| - switch (value) {
|
| - case GL_UNSIGNED_BYTE:
|
| - case GL_UNSIGNED_SHORT:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_index_type_table[] = {
|
| + GL_UNSIGNED_BYTE,
|
| + GL_UNSIGNED_SHORT,
|
| +};
|
|
|
| -bool ValidateGLenumPixelStore(GLenum value) {
|
| - switch (value) {
|
| - case GL_PACK_ALIGNMENT:
|
| - case GL_UNPACK_ALIGNMENT:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_pixel_store_table[] = {
|
| + GL_PACK_ALIGNMENT,
|
| + GL_UNPACK_ALIGNMENT,
|
| +};
|
|
|
| -bool ValidateGLintPixelStoreAlignment(GLenum value) {
|
| - switch (value) {
|
| - case 1:
|
| - case 2:
|
| - case 4:
|
| - case 8:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLint valid_pixel_store_alignment_table[] = {
|
| + 1,
|
| + 2,
|
| + 4,
|
| + 8,
|
| +};
|
|
|
| -bool ValidateGLenumPixelType(GLenum value) {
|
| - switch (value) {
|
| - case GL_UNSIGNED_BYTE:
|
| - case GL_UNSIGNED_SHORT_5_6_5:
|
| - case GL_UNSIGNED_SHORT_4_4_4_4:
|
| - case GL_UNSIGNED_SHORT_5_5_5_1:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_pixel_type_table[] = {
|
| + GL_UNSIGNED_BYTE,
|
| + GL_UNSIGNED_SHORT_5_6_5,
|
| + GL_UNSIGNED_SHORT_4_4_4_4,
|
| + GL_UNSIGNED_SHORT_5_5_5_1,
|
| +};
|
|
|
| -bool ValidateGLenumProgramParameter(GLenum value) {
|
| - switch (value) {
|
| - case GL_DELETE_STATUS:
|
| - case GL_LINK_STATUS:
|
| - case GL_VALIDATE_STATUS:
|
| - case GL_INFO_LOG_LENGTH:
|
| - case GL_ATTACHED_SHADERS:
|
| - case GL_ACTIVE_ATTRIBUTES:
|
| - case GL_ACTIVE_ATTRIBUTE_MAX_LENGTH:
|
| - case GL_ACTIVE_UNIFORMS:
|
| - case GL_ACTIVE_UNIFORM_MAX_LENGTH:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_program_parameter_table[] = {
|
| + GL_DELETE_STATUS,
|
| + GL_LINK_STATUS,
|
| + GL_VALIDATE_STATUS,
|
| + GL_INFO_LOG_LENGTH,
|
| + GL_ATTACHED_SHADERS,
|
| + GL_ACTIVE_ATTRIBUTES,
|
| + GL_ACTIVE_ATTRIBUTE_MAX_LENGTH,
|
| + GL_ACTIVE_UNIFORMS,
|
| + GL_ACTIVE_UNIFORM_MAX_LENGTH,
|
| +};
|
|
|
| -bool ValidateGLenumReadPixelFormat(GLenum value) {
|
| - switch (value) {
|
| - case GL_ALPHA:
|
| - case GL_RGB:
|
| - case GL_RGBA:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_read_pixel_format_table[] = {
|
| + GL_ALPHA,
|
| + GL_RGB,
|
| + GL_RGBA,
|
| +};
|
|
|
| -bool ValidateGLenumRenderBufferFormat(GLenum value) {
|
| - switch (value) {
|
| - case GL_RGBA4:
|
| - case GL_RGB565:
|
| - case GL_RGB5_A1:
|
| - case GL_DEPTH_COMPONENT16:
|
| - case GL_STENCIL_INDEX8:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_render_buffer_format_table[] = {
|
| + GL_RGBA4,
|
| + GL_RGB565,
|
| + GL_RGB5_A1,
|
| + GL_DEPTH_COMPONENT16,
|
| + GL_STENCIL_INDEX8,
|
| +};
|
|
|
| -bool ValidateGLenumRenderBufferParameter(GLenum value) {
|
| - switch (value) {
|
| - case GL_RENDERBUFFER_WIDTH:
|
| - case GL_RENDERBUFFER_HEIGHT:
|
| - case GL_RENDERBUFFER_INTERNAL_FORMAT:
|
| - case GL_RENDERBUFFER_RED_SIZE:
|
| - case GL_RENDERBUFFER_GREEN_SIZE:
|
| - case GL_RENDERBUFFER_BLUE_SIZE:
|
| - case GL_RENDERBUFFER_ALPHA_SIZE:
|
| - case GL_RENDERBUFFER_DEPTH_SIZE:
|
| - case GL_RENDERBUFFER_STENCIL_SIZE:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_render_buffer_parameter_table[] = {
|
| + GL_RENDERBUFFER_WIDTH,
|
| + GL_RENDERBUFFER_HEIGHT,
|
| + GL_RENDERBUFFER_INTERNAL_FORMAT,
|
| + GL_RENDERBUFFER_RED_SIZE,
|
| + GL_RENDERBUFFER_GREEN_SIZE,
|
| + GL_RENDERBUFFER_BLUE_SIZE,
|
| + GL_RENDERBUFFER_ALPHA_SIZE,
|
| + GL_RENDERBUFFER_DEPTH_SIZE,
|
| + GL_RENDERBUFFER_STENCIL_SIZE,
|
| +};
|
|
|
| -bool ValidateGLenumRenderBufferTarget(GLenum value) {
|
| - switch (value) {
|
| - case GL_RENDERBUFFER:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_render_buffer_target_table[] = {
|
| + GL_RENDERBUFFER,
|
| +};
|
|
|
| -bool ValidateGLenumShaderParameter(GLenum value) {
|
| - switch (value) {
|
| - case GL_SHADER_TYPE:
|
| - case GL_DELETE_STATUS:
|
| - case GL_COMPILE_STATUS:
|
| - case GL_INFO_LOG_LENGTH:
|
| - case GL_SHADER_SOURCE_LENGTH:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_shader_parameter_table[] = {
|
| + GL_SHADER_TYPE,
|
| + GL_DELETE_STATUS,
|
| + GL_COMPILE_STATUS,
|
| + GL_INFO_LOG_LENGTH,
|
| + GL_SHADER_SOURCE_LENGTH,
|
| +};
|
|
|
| -bool ValidateGLenumShaderPrecision(GLenum value) {
|
| - switch (value) {
|
| - case GL_LOW_FLOAT:
|
| - case GL_MEDIUM_FLOAT:
|
| - case GL_HIGH_FLOAT:
|
| - case GL_LOW_INT:
|
| - case GL_MEDIUM_INT:
|
| - case GL_HIGH_INT:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_shader_precision_table[] = {
|
| + GL_LOW_FLOAT,
|
| + GL_MEDIUM_FLOAT,
|
| + GL_HIGH_FLOAT,
|
| + GL_LOW_INT,
|
| + GL_MEDIUM_INT,
|
| + GL_HIGH_INT,
|
| +};
|
|
|
| -bool ValidateGLenumShaderType(GLenum value) {
|
| - switch (value) {
|
| - case GL_VERTEX_SHADER:
|
| - case GL_FRAGMENT_SHADER:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_shader_type_table[] = {
|
| + GL_VERTEX_SHADER,
|
| + GL_FRAGMENT_SHADER,
|
| +};
|
|
|
| -bool ValidateGLenumSrcBlendFactor(GLenum value) {
|
| - switch (value) {
|
| - case GL_ZERO:
|
| - case GL_ONE:
|
| - case GL_SRC_COLOR:
|
| - case GL_ONE_MINUS_SRC_COLOR:
|
| - case GL_DST_COLOR:
|
| - case GL_ONE_MINUS_DST_COLOR:
|
| - case GL_SRC_ALPHA:
|
| - case GL_ONE_MINUS_SRC_ALPHA:
|
| - case GL_DST_ALPHA:
|
| - case GL_ONE_MINUS_DST_ALPHA:
|
| - case GL_CONSTANT_COLOR:
|
| - case GL_ONE_MINUS_CONSTANT_COLOR:
|
| - case GL_CONSTANT_ALPHA:
|
| - case GL_ONE_MINUS_CONSTANT_ALPHA:
|
| - case GL_SRC_ALPHA_SATURATE:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_src_blend_factor_table[] = {
|
| + GL_ZERO,
|
| + GL_ONE,
|
| + GL_SRC_COLOR,
|
| + GL_ONE_MINUS_SRC_COLOR,
|
| + GL_DST_COLOR,
|
| + GL_ONE_MINUS_DST_COLOR,
|
| + GL_SRC_ALPHA,
|
| + GL_ONE_MINUS_SRC_ALPHA,
|
| + GL_DST_ALPHA,
|
| + GL_ONE_MINUS_DST_ALPHA,
|
| + GL_CONSTANT_COLOR,
|
| + GL_ONE_MINUS_CONSTANT_COLOR,
|
| + GL_CONSTANT_ALPHA,
|
| + GL_ONE_MINUS_CONSTANT_ALPHA,
|
| + GL_SRC_ALPHA_SATURATE,
|
| +};
|
|
|
| -bool ValidateGLenumStencilOp(GLenum value) {
|
| - switch (value) {
|
| - case GL_KEEP:
|
| - case GL_ZERO:
|
| - case GL_REPLACE:
|
| - case GL_INCR:
|
| - case GL_INCR_WRAP:
|
| - case GL_DECR:
|
| - case GL_DECR_WRAP:
|
| - case GL_INVERT:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_stencil_op_table[] = {
|
| + GL_KEEP,
|
| + GL_ZERO,
|
| + GL_REPLACE,
|
| + GL_INCR,
|
| + GL_INCR_WRAP,
|
| + GL_DECR,
|
| + GL_DECR_WRAP,
|
| + GL_INVERT,
|
| +};
|
|
|
| -bool ValidateGLenumStringType(GLenum value) {
|
| - switch (value) {
|
| - case GL_VENDOR:
|
| - case GL_RENDERER:
|
| - case GL_VERSION:
|
| - case GL_SHADING_LANGUAGE_VERSION:
|
| - case GL_EXTENSIONS:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_string_type_table[] = {
|
| + GL_VENDOR,
|
| + GL_RENDERER,
|
| + GL_VERSION,
|
| + GL_SHADING_LANGUAGE_VERSION,
|
| + GL_EXTENSIONS,
|
| +};
|
|
|
| -bool ValidateGLenumTextureBindTarget(GLenum value) {
|
| - switch (value) {
|
| - case GL_TEXTURE_2D:
|
| - case GL_TEXTURE_CUBE_MAP:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_texture_bind_target_table[] = {
|
| + GL_TEXTURE_2D,
|
| + GL_TEXTURE_CUBE_MAP,
|
| +};
|
|
|
| -bool ValidateGLintTextureBorder(GLenum value) {
|
| - switch (value) {
|
| - case 0:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLint valid_texture_border_table[] = {
|
| + 0,
|
| +};
|
|
|
| -bool ValidateGLenumTextureFormat(GLenum value) {
|
| - switch (value) {
|
| - case GL_ALPHA:
|
| - case GL_LUMINANCE:
|
| - case GL_LUMINANCE_ALPHA:
|
| - case GL_RGB:
|
| - case GL_RGBA:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_texture_format_table[] = {
|
| + GL_ALPHA,
|
| + GL_LUMINANCE,
|
| + GL_LUMINANCE_ALPHA,
|
| + GL_RGB,
|
| + GL_RGBA,
|
| +};
|
|
|
| -bool ValidateGLenumTextureParameter(GLenum value) {
|
| - switch (value) {
|
| - case GL_TEXTURE_MAG_FILTER:
|
| - case GL_TEXTURE_MIN_FILTER:
|
| - case GL_TEXTURE_WRAP_S:
|
| - case GL_TEXTURE_WRAP_T:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_texture_parameter_table[] = {
|
| + GL_TEXTURE_MAG_FILTER,
|
| + GL_TEXTURE_MIN_FILTER,
|
| + GL_TEXTURE_WRAP_S,
|
| + GL_TEXTURE_WRAP_T,
|
| +};
|
|
|
| -bool ValidateGLenumTextureTarget(GLenum value) {
|
| - switch (value) {
|
| - case GL_TEXTURE_2D:
|
| - case GL_TEXTURE_CUBE_MAP_POSITIVE_X:
|
| - case GL_TEXTURE_CUBE_MAP_NEGATIVE_X:
|
| - case GL_TEXTURE_CUBE_MAP_POSITIVE_Y:
|
| - case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y:
|
| - case GL_TEXTURE_CUBE_MAP_POSITIVE_Z:
|
| - case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_texture_target_table[] = {
|
| + GL_TEXTURE_2D,
|
| + GL_TEXTURE_CUBE_MAP_POSITIVE_X,
|
| + GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
|
| + GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
|
| + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
|
| + GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
|
| + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
|
| +};
|
|
|
| -bool ValidateGLintVertexAttribSize(GLenum value) {
|
| - switch (value) {
|
| - case 1:
|
| - case 2:
|
| - case 3:
|
| - case 4:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLint valid_vertex_attrib_size_table[] = {
|
| + 1,
|
| + 2,
|
| + 3,
|
| + 4,
|
| +};
|
|
|
| -bool ValidateGLenumVertexAttribType(GLenum value) {
|
| - switch (value) {
|
| - case GL_BYTE:
|
| - case GL_UNSIGNED_BYTE:
|
| - case GL_SHORT:
|
| - case GL_UNSIGNED_SHORT:
|
| - case GL_FLOAT:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_vertex_attrib_type_table[] = {
|
| + GL_BYTE,
|
| + GL_UNSIGNED_BYTE,
|
| + GL_SHORT,
|
| + GL_UNSIGNED_SHORT,
|
| + GL_FLOAT,
|
| +};
|
|
|
| -bool ValidateGLenumVertexAttribute(GLenum value) {
|
| - switch (value) {
|
| - case GL_VERTEX_ATTRIB_ARRAY_NORMALIZED:
|
| - case GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:
|
| - case GL_VERTEX_ATTRIB_ARRAY_ENABLED:
|
| - case GL_VERTEX_ATTRIB_ARRAY_SIZE:
|
| - case GL_VERTEX_ATTRIB_ARRAY_STRIDE:
|
| - case GL_VERTEX_ATTRIB_ARRAY_TYPE:
|
| - case GL_CURRENT_VERTEX_ATTRIB:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_vertex_attribute_table[] = {
|
| + GL_VERTEX_ATTRIB_ARRAY_NORMALIZED,
|
| + GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
|
| + GL_VERTEX_ATTRIB_ARRAY_ENABLED,
|
| + GL_VERTEX_ATTRIB_ARRAY_SIZE,
|
| + GL_VERTEX_ATTRIB_ARRAY_STRIDE,
|
| + GL_VERTEX_ATTRIB_ARRAY_TYPE,
|
| + GL_CURRENT_VERTEX_ATTRIB,
|
| +};
|
|
|
| -bool ValidateGLenumVertexPointer(GLenum value) {
|
| - switch (value) {
|
| - case GL_VERTEX_ATTRIB_ARRAY_POINTER:
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| -}
|
| +static GLenum valid_vertex_pointer_table[] = {
|
| + GL_VERTEX_ATTRIB_ARRAY_POINTER,
|
| +};
|
|
|
| +Validators::Validators()
|
| + : attachment(
|
| + valid_attachment_table, arraysize(valid_attachment_table)),
|
| + buffer_parameter(
|
| + valid_buffer_parameter_table, arraysize(valid_buffer_parameter_table)),
|
| + buffer_target(
|
| + valid_buffer_target_table, arraysize(valid_buffer_target_table)),
|
| + buffer_usage(
|
| + valid_buffer_usage_table, arraysize(valid_buffer_usage_table)),
|
| + capability(
|
| + valid_capability_table, arraysize(valid_capability_table)),
|
| + cmp_function(
|
| + valid_cmp_function_table, arraysize(valid_cmp_function_table)),
|
| + compressed_texture_format(
|
| + valid_compressed_texture_format_table, arraysize(
|
| + valid_compressed_texture_format_table)),
|
| + draw_mode(
|
| + valid_draw_mode_table, arraysize(valid_draw_mode_table)),
|
| + dst_blend_factor(
|
| + valid_dst_blend_factor_table, arraysize(valid_dst_blend_factor_table)),
|
| + equation(
|
| + valid_equation_table, arraysize(valid_equation_table)),
|
| + face_mode(
|
| + valid_face_mode_table, arraysize(valid_face_mode_table)),
|
| + face_type(
|
| + valid_face_type_table, arraysize(valid_face_type_table)),
|
| + false_only(
|
| + valid_false_only_table, arraysize(valid_false_only_table)),
|
| + frame_buffer_parameter(
|
| + valid_frame_buffer_parameter_table, arraysize(
|
| + valid_frame_buffer_parameter_table)),
|
| + frame_buffer_target(
|
| + valid_frame_buffer_target_table, arraysize(
|
| + valid_frame_buffer_target_table)),
|
| + g_l_state(
|
| + valid_g_l_state_table, arraysize(valid_g_l_state_table)),
|
| + get_max_index_type(
|
| + valid_get_max_index_type_table, arraysize(
|
| + valid_get_max_index_type_table)),
|
| + hint_mode(
|
| + valid_hint_mode_table, arraysize(valid_hint_mode_table)),
|
| + hint_target(
|
| + valid_hint_target_table, arraysize(valid_hint_target_table)),
|
| + index_type(
|
| + valid_index_type_table, arraysize(valid_index_type_table)),
|
| + pixel_store(
|
| + valid_pixel_store_table, arraysize(valid_pixel_store_table)),
|
| + pixel_store_alignment(
|
| + valid_pixel_store_alignment_table, arraysize(
|
| + valid_pixel_store_alignment_table)),
|
| + pixel_type(
|
| + valid_pixel_type_table, arraysize(valid_pixel_type_table)),
|
| + program_parameter(
|
| + valid_program_parameter_table, arraysize(
|
| + valid_program_parameter_table)),
|
| + read_pixel_format(
|
| + valid_read_pixel_format_table, arraysize(
|
| + valid_read_pixel_format_table)),
|
| + render_buffer_format(
|
| + valid_render_buffer_format_table, arraysize(
|
| + valid_render_buffer_format_table)),
|
| + render_buffer_parameter(
|
| + valid_render_buffer_parameter_table, arraysize(
|
| + valid_render_buffer_parameter_table)),
|
| + render_buffer_target(
|
| + valid_render_buffer_target_table, arraysize(
|
| + valid_render_buffer_target_table)),
|
| + shader_parameter(
|
| + valid_shader_parameter_table, arraysize(valid_shader_parameter_table)),
|
| + shader_precision(
|
| + valid_shader_precision_table, arraysize(valid_shader_precision_table)),
|
| + shader_type(
|
| + valid_shader_type_table, arraysize(valid_shader_type_table)),
|
| + src_blend_factor(
|
| + valid_src_blend_factor_table, arraysize(valid_src_blend_factor_table)),
|
| + stencil_op(
|
| + valid_stencil_op_table, arraysize(valid_stencil_op_table)),
|
| + string_type(
|
| + valid_string_type_table, arraysize(valid_string_type_table)),
|
| + texture_bind_target(
|
| + valid_texture_bind_target_table, arraysize(
|
| + valid_texture_bind_target_table)),
|
| + texture_border(
|
| + valid_texture_border_table, arraysize(valid_texture_border_table)),
|
| + texture_format(
|
| + valid_texture_format_table, arraysize(valid_texture_format_table)),
|
| + texture_parameter(
|
| + valid_texture_parameter_table, arraysize(
|
| + valid_texture_parameter_table)),
|
| + texture_target(
|
| + valid_texture_target_table, arraysize(valid_texture_target_table)),
|
| + vertex_attrib_size(
|
| + valid_vertex_attrib_size_table, arraysize(
|
| + valid_vertex_attrib_size_table)),
|
| + vertex_attrib_type(
|
| + valid_vertex_attrib_type_table, arraysize(
|
| + valid_vertex_attrib_type_table)),
|
| + vertex_attribute(
|
| + valid_vertex_attribute_table, arraysize(valid_vertex_attribute_table)),
|
| + vertex_pointer(
|
| + valid_vertex_pointer_table, arraysize(valid_vertex_pointer_table)) {
|
| +}
|
| #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_VALIDATION_IMPLEMENTATION_AUTOGEN_H_ // NOLINT
|
|
|
|
|