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..e987ceae67451c4f50028072447fd109f31e4bb9 100644 |
--- a/components/mus/gles2/command_buffer_local.cc |
+++ b/components/mus/gles2/command_buffer_local.cc |
@@ -326,11 +326,13 @@ 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_state_->command_buffer_task_runner()->PostTask( |
+ driver_.get(), base::Bind(&CommandBufferLocal::SignalQueryOnGpuThread, |
+ base::Unretained(this), query_id, callback)); |
} |
void CommandBufferLocal::SetLock(base::Lock* lock) { |
@@ -551,6 +553,12 @@ bool CommandBufferLocal::DeleteOnGpuThread() { |
return true; |
} |
+bool CommandBufferLocal::SignalQueryOnGpuThread(uint32_t query_id, |
+ const base::Closure& callback) { |
+ driver_->SignalQuery(query_id, callback); |
Peng
2016/01/20 22:27:29
You must make sure the callback is called on the c
Hadi
2016/01/21 15:46:27
Done.
|
+ return true; |
+} |
+ |
void CommandBufferLocal::DidLoseContextOnClientThread(uint32_t reason) { |
if (client_) |
client_->DidLoseContext(); |