// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// This file is auto-generated from
// gpu/command_buffer/build_gles2_cmd_buffer.py
// It's formatted by clang-format using chromium coding style:
//    clang-format -i -style=chromium filename
// DO NOT EDIT!

#ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_VALIDATION_AUTOGEN_H_
#define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_VALIDATION_AUTOGEN_H_

ValueValidator<GLenum> attachment;
ValueValidator<GLenum> backbuffer_attachment;
ValueValidator<GLenum> blit_filter;
ValueValidator<GLenum> buffer_parameter;
ValueValidator<GLenum> buffer_target;
ValueValidator<GLenum> buffer_usage;
ValueValidator<GLenum> capability;
ValueValidator<GLenum> cmp_function;
ValueValidator<GLenum> compressed_texture_format;
ValueValidator<GLenum> draw_mode;
ValueValidator<GLenum> dst_blend_factor;
ValueValidator<GLenum> equation;
ValueValidator<GLenum> face_mode;
ValueValidator<GLenum> face_type;
ValueValidator<GLenum> frame_buffer_parameter;
ValueValidator<GLenum> frame_buffer_target;
ValueValidator<GLenum> g_l_state;
ValueValidator<GLenum> get_max_index_type;
ValueValidator<GLenum> get_tex_param_target;
ValueValidator<GLenum> hint_mode;
ValueValidator<GLenum> hint_target;
ValueValidator<GLenum> image_internal_format;
ValueValidator<GLenum> image_usage;
ValueValidator<GLenum> index_type;
ValueValidator<GLenum> matrix_mode;
ValueValidator<GLenum> pixel_store;
ValueValidator<GLint> pixel_store_alignment;
ValueValidator<GLenum> pixel_type;
ValueValidator<GLenum> program_parameter;
ValueValidator<GLenum> query_object_parameter;
ValueValidator<GLenum> query_parameter;
ValueValidator<GLenum> query_target;
ValueValidator<GLenum> read_pixel_format;
ValueValidator<GLenum> read_pixel_type;
ValueValidator<GLenum> render_buffer_format;
ValueValidator<GLenum> render_buffer_parameter;
ValueValidator<GLenum> render_buffer_target;
ValueValidator<GLenum> reset_status;
ValueValidator<GLenum> shader_binary_format;
ValueValidator<GLenum> shader_parameter;
ValueValidator<GLenum> shader_precision;
ValueValidator<GLenum> shader_type;
ValueValidator<GLenum> src_blend_factor;
ValueValidator<GLenum> stencil_op;
ValueValidator<GLenum> string_type;
ValueValidator<GLenum> subscription_target;
ValueValidator<GLenum> texture_3_d_target;
ValueValidator<GLenum> texture_bind_target;
ValueValidator<GLenum> texture_format;
ValueValidator<GLenum> texture_internal_format;
ValueValidator<GLenum> texture_internal_format_storage;
ValueValidator<GLenum> texture_mag_filter_mode;
ValueValidator<GLenum> texture_min_filter_mode;
ValueValidator<GLenum> texture_parameter;
ValueValidator<GLenum> texture_pool;
ValueValidator<GLenum> texture_target;
ValueValidator<GLenum> texture_usage;
ValueValidator<GLenum> texture_wrap_mode;
ValueValidator<GLenum> value_buffer_target;
ValueValidator<GLint> vertex_attrib_size;
ValueValidator<GLenum> vertex_attrib_type;
ValueValidator<GLenum> vertex_attribute;
ValueValidator<GLenum> vertex_pointer;

#endif  // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_VALIDATION_AUTOGEN_H_
