Index: gpu/command_buffer/client/gles2_implementation.cc |
=================================================================== |
--- gpu/command_buffer/client/gles2_implementation.cc (revision 267947) |
+++ gpu/command_buffer/client/gles2_implementation.cc (working copy) |
@@ -66,8 +66,11 @@ |
max_vertex_texture_image_units(0), |
max_vertex_uniform_vectors(0), |
num_compressed_texture_formats(0), |
- num_shader_binary_formats(0) { |
-} |
+ num_shader_binary_formats(0) |
+#if defined(OS_CHROMEOS) |
+ , bind_generates_resource_chromium(0) |
+#endif |
+{} |
GLES2Implementation::SingleThreadChecker::SingleThreadChecker( |
GLES2Implementation* gles2_implementation) |
@@ -188,6 +191,17 @@ |
reserved_ids_[0], |
reserved_ids_[1])); |
+#if defined(OS_CHROMEOS) |
+ // GL_BIND_GENERATES_RESOURCE_CHROMIUM state must be the same |
+ // on Client & Service. |
+ if (static_state_.int_state.bind_generates_resource_chromium != |
+ (share_group_->bind_generates_resource() ? 1 : 0)) { |
+ SetGLError(GL_INVALID_OPERATION, |
+ "Initialize", |
+ "Service bind_generates_resource mismatch."); |
+ return false; |
+ } |
+#endif |
return true; |
} |
@@ -206,6 +220,9 @@ |
GL_MAX_VERTEX_UNIFORM_VECTORS, |
GL_NUM_COMPRESSED_TEXTURE_FORMATS, |
GL_NUM_SHADER_BINARY_FORMATS, |
+#if defined(OS_CHROMEOS) |
+ GL_BIND_GENERATES_RESOURCE_CHROMIUM, |
+#endif |
}; |
GetMultipleIntegervState integerv_state( |