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 6806f126eecfad57034b913e38a67c25c3fdfdf5..a776e83fc68da95d87c56737e7d2f08cf29f63a7 100644 |
--- a/gpu/command_buffer/service/gles2_cmd_decoder.cc |
+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc |
@@ -11591,7 +11591,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", |
@@ -11599,6 +11601,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()) { |