Index: gpu/command_buffer/service/gles2_cmd_validation.h |
=================================================================== |
--- gpu/command_buffer/service/gles2_cmd_validation.h (revision 49807) |
+++ gpu/command_buffer/service/gles2_cmd_validation.h (working copy) |
@@ -7,12 +7,40 @@ |
#ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_VALIDATION_H_ |
#define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_VALIDATION_H_ |
+#include <vector> |
+#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 <typename T> |
+class ValueValidator { |
+ public: |
+ 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<T> valid_values_; |
+}; |
+ |
+struct Validators { |
+ Validators(); |
#include "gpu/command_buffer/service/gles2_cmd_validation_autogen.h" |
+}; |
} // namespace gles2 |
} // namespace gpu |