Index: components/mus/gles2/command_buffer_driver.cc |
diff --git a/components/mus/gles2/command_buffer_driver.cc b/components/mus/gles2/command_buffer_driver.cc |
index b0d024be33b3d71e2e18f7322f72fc15d35d08e8..d6a0dae2a4597d06edb0f546be7c08d4094d9d12 100644 |
--- a/components/mus/gles2/command_buffer_driver.cc |
+++ b/components/mus/gles2/command_buffer_driver.cc |
@@ -21,6 +21,7 @@ |
#include "gpu/command_buffer/service/image_factory.h" |
#include "gpu/command_buffer/service/image_manager.h" |
#include "gpu/command_buffer/service/mailbox_manager.h" |
+#include "gpu/command_buffer/service/query_manager.h" |
#include "gpu/command_buffer/service/sync_point_manager.h" |
#include "gpu/command_buffer/service/transfer_buffer_manager.h" |
#include "gpu/command_buffer/service/valuebuffer_manager.h" |
@@ -499,4 +500,16 @@ void CommandBufferDriver::OnContextLost(uint32_t reason) { |
client_->DidLoseContext(reason); |
} |
+void CommandBufferDriver::SignalQuery(uint32_t query_id, |
+ const base::Closure& callback) { |
+ DCHECK(CalledOnValidThread()); |
+ |
+ gpu::gles2::QueryManager* query_manager = decoder_->GetQueryManager(); |
+ gpu::gles2::QueryManager::Query* query = query_manager->GetQuery(query_id); |
+ if (query) |
+ query->AddCallback(callback); |
+ else |
+ callback.Run(); |
+} |
+ |
} // namespace mus |