summaryrefslogtreecommitdiffstats
path: root/gpu/command_buffer
diff options
context:
space:
mode:
Diffstat (limited to 'gpu/command_buffer')
-rw-r--r--gpu/command_buffer/client/gles2_implementation.cc10
-rw-r--r--gpu/command_buffer/client/gles2_implementation.h2
2 files changed, 9 insertions, 3 deletions
diff --git a/gpu/command_buffer/client/gles2_implementation.cc b/gpu/command_buffer/client/gles2_implementation.cc
index 94ad783..5d46196 100644
--- a/gpu/command_buffer/client/gles2_implementation.cc
+++ b/gpu/command_buffer/client/gles2_implementation.cc
@@ -1036,6 +1036,10 @@ void GLES2Implementation::Flush() {
void GLES2Implementation::Finish() {
GPU_CLIENT_SINGLE_THREAD_CHECK();
+ FinishHelper();
+}
+
+void GLES2Implementation::FinishHelper() {
GPU_CLIENT_LOG("[" << this << "] glFinish()");
TRACE_EVENT0("gpu", "GLES2::Finish");
// Insert the cmd to call glFinish
@@ -3002,13 +3006,13 @@ void GLES2Implementation::DeleteQueriesEXTHelper(
}
if (query_pending) {
- Finish();
+ FinishHelper();
}
for (GLsizei ii = 0; ii < n; ++ii) {
QueryTracker::Query* query = query_tracker_->GetQuery(queries[ii]);
if (query && query->Pending()) {
- GPU_CHECK(!query->CheckResultsAvailable(helper_));
+ GPU_CHECK(query->CheckResultsAvailable(helper_));
}
query_tracker_->RemoveQuery(queries[ii]);
}
@@ -3141,7 +3145,7 @@ void GLES2Implementation::GetQueryObjectuivEXT(
helper_->WaitForToken(query->token());
if (!query->CheckResultsAvailable(helper_)) {
// TODO(gman): Speed this up.
- Finish();
+ FinishHelper();
GPU_CHECK(query->CheckResultsAvailable(helper_));
}
}
diff --git a/gpu/command_buffer/client/gles2_implementation.h b/gpu/command_buffer/client/gles2_implementation.h
index e4b838e..b8c3da1 100644
--- a/gpu/command_buffer/client/gles2_implementation.h
+++ b/gpu/command_buffer/client/gles2_implementation.h
@@ -472,6 +472,8 @@ class GLES2_IMPL_EXPORT GLES2Implementation {
IdHandlerInterface* GetIdHandler(int id_namespace) const;
+ void FinishHelper();
+
GLES2Util util_;
GLES2CmdHelper* helper_;
TransferBufferInterface* transfer_buffer_;