Index: components/mus/gles2/command_buffer_local.cc |
diff --git a/components/mus/gles2/command_buffer_local.cc b/components/mus/gles2/command_buffer_local.cc |
index 834722ca5bc1b43181b5992ad96011df7181e4f9..a11ccc90bb5926cb140e41f998ab8f650ea12197 100644 |
--- a/components/mus/gles2/command_buffer_local.cc |
+++ b/components/mus/gles2/command_buffer_local.cc |
@@ -23,6 +23,7 @@ |
#include "gpu/command_buffer/service/image_factory.h" |
#include "gpu/command_buffer/service/image_manager.h" |
#include "gpu/command_buffer/service/memory_tracking.h" |
+#include "gpu/command_buffer/service/query_manager.h" |
#include "gpu/command_buffer/service/shader_translator_cache.h" |
#include "gpu/command_buffer/service/transfer_buffer_manager.h" |
#include "gpu/command_buffer/service/valuebuffer_manager.h" |
@@ -326,11 +327,19 @@ void CommandBufferLocal::SignalSyncPoint(uint32_t sync_point, |
base::Bind(&PostTask, client_thread_task_runner_, callback)); |
} |
-void CommandBufferLocal::SignalQuery(uint32_t query, |
+void CommandBufferLocal::SignalQuery(uint32_t query_id, |
const base::Closure& callback) { |
DCHECK(CalledOnValidThread()); |
- // TODO(piman) |
- NOTIMPLEMENTED(); |
+ |
+ gpu::gles2::QueryManager* query_manager = |
+ driver_->GetDecoder()->GetQueryManager(); |
+ DCHECK(query_manager); |
+ |
+ gpu::gles2::QueryManager::Query* query = query_manager->GetQuery(query_id); |
Peng
2016/01/20 19:57:13
CommandBufferLocal::SignalQuery() is called on the
Hadi
2016/01/20 21:33:29
Done. Used gpu_state_->command_buffer_task_runner(
|
+ if (query) |
+ query->AddCallback(callback); |
+ else |
+ callback.Run(); |
} |
void CommandBufferLocal::SetLock(base::Lock* lock) { |