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 a1938e51384922444bc13f93d9d3460849af3a48..c2cd4ec976beb424fff40b026e7fda4dc4c49b53 100644 |
--- a/gpu/command_buffer/service/query_manager.cc |
+++ b/gpu/command_buffer/service/query_manager.cc |
@@ -504,7 +504,12 @@ void CommandsCompletedQuery::Resume() { |
} |
bool CommandsCompletedQuery::End(base::subtle::Atomic32 submit_count) { |
- fence_.reset(gfx::GLFence::Create()); |
+ if (fence_ && fence_->ResetSupported()) { |
+ fence_->ResetState(); |
+ } |
+ else { |
+ fence_.reset(gfx::GLFence::Create()); |
+ } |
DCHECK(fence_); |
return AddToPendingQueue(submit_count); |
} |