| Index: gpu/command_buffer/service/query_manager.cc
|
| diff --git a/gpu/command_buffer/service/query_manager.cc b/gpu/command_buffer/service/query_manager.cc
|
| index c74a65000c30408a5ca0695560d864e24d0d5d1c..541689db904c5227e30f720d8330428356960599 100644
|
| --- a/gpu/command_buffer/service/query_manager.cc
|
| +++ b/gpu/command_buffer/service/query_manager.cc
|
| @@ -644,6 +644,23 @@ bool QueryManager::Query::MarkAsCompleted(uint64 result) {
|
| return true;
|
| }
|
|
|
| +bool QueryManager::Query::UpdateTarget(GLenum target) {
|
| + switch (target_) {
|
| + // The boolean occlusion targets are interchangable.
|
| + case GL_ANY_SAMPLES_PASSED:
|
| + case GL_ANY_SAMPLES_PASSED_CONSERVATIVE:
|
| + if (target == GL_ANY_SAMPLES_PASSED ||
|
| + target == GL_ANY_SAMPLES_PASSED_CONSERVATIVE) {
|
| + target_ = target;
|
| + return true;
|
| + };
|
| + return false;
|
| + // Otherwise target is finalized the first time beginQuery() is called.
|
| + default:
|
| + return target_ == target;
|
| + }
|
| +}
|
| +
|
| bool QueryManager::ProcessPendingQueries(bool did_finish) {
|
| while (!pending_queries_.empty()) {
|
| Query* query = pending_queries_.front().get();
|
|
|