Chromium Code Reviews| 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(); |