// Copyright (c) 2009 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. // Contains various validation functions for the GLES2 service. #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_VALIDATION_H_ #define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_VALIDATION_H_ #include #include #define GLES2_GPU_SERVICE 1 #include "gpu/command_buffer/common/gles2_cmd_format.h" namespace gpu { namespace gles2 { // ValueValidator returns true if a value is valid. template class ValueValidator { public: ValueValidator() {} ValueValidator(const T* valid_values, int num_values) { for (int ii = 0; ii < num_values; ++ii) { AddValue(valid_values[ii]); } } void AddValue(const T value) { valid_values_.push_back(value); } bool IsValid(const T value) const { return std::find(valid_values_.begin(), valid_values_.end(), value) != valid_values_.end(); } private: std::vector valid_values_; }; struct Validators { Validators(); #include "gpu/command_buffer/service/gles2_cmd_validation_autogen.h" }; } // namespace gles2 } // namespace gpu #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_VALIDATION_H_