Index: gpu/command_buffer/service/gles2_cmd_decoder.cc |
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc |
index c2fd4e743e4e9c663192ec4adf4556273a6fd84e..87108d237c15b2ab1749387513894a83acbdcb09 100644 |
--- a/gpu/command_buffer/service/gles2_cmd_decoder.cc |
+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc |
@@ -11599,7 +11599,9 @@ error::Error GLES2DecoderImpl::HandleBeginQueryEXT(uint32 immediate_data_size, |
return error::kNoError; |
} |
break; |
- default: |
+ case GL_SAMPLES_PASSED: |
+ case GL_ANY_SAMPLES_PASSED: |
+ case GL_ANY_SAMPLES_PASSED_CONSERVATIVE: |
if (!features().occlusion_query_boolean) { |
LOCAL_SET_GL_ERROR( |
GL_INVALID_OPERATION, "glBeginQueryEXT", |
@@ -11607,6 +11609,19 @@ error::Error GLES2DecoderImpl::HandleBeginQueryEXT(uint32 immediate_data_size, |
return error::kNoError; |
} |
break; |
+ case GL_TIME_ELAPSED: |
+ if (!query_manager_->GPUTimingAvailable()) { |
+ LOCAL_SET_GL_ERROR( |
+ GL_INVALID_OPERATION, "glBeginQueryEXT", |
+ "not enabled for timing queries"); |
+ return error::kNoError; |
+ } |
+ break; |
+ default: |
+ LOCAL_SET_GL_ERROR( |
+ GL_INVALID_OPERATION, "glBeginQueryEXT", |
+ "unknown query target"); |
+ return error::kNoError; |
} |
if (state_.current_queries.find(target) != state_.current_queries.end()) { |