Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(248)

Unified Diff: gpu/command_buffer/tests/gl_manager.cc

Issue 2550583002: gpu: Thread-safe command buffer state lookup. (Closed)
Patch Set: jbauman's review Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gpu/command_buffer/tests/gl_manager.h ('k') | gpu/command_buffer/tests/gl_readback_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gpu/command_buffer/tests/gl_manager.cc
diff --git a/gpu/command_buffer/tests/gl_manager.cc b/gpu/command_buffer/tests/gl_manager.cc
index a9e0a305de7aa4ccf9c7c9757bb8041a53bf5d32..49db8c83d4a9131876e9ee95bdda20c71a48e0d8 100644
--- a/gpu/command_buffer/tests/gl_manager.cc
+++ b/gpu/command_buffer/tests/gl_manager.cc
@@ -428,6 +428,7 @@ void GLManager::SetupBaseContext() {
void GLManager::OnFenceSyncRelease(uint64_t release) {
DCHECK(sync_point_client_);
DCHECK(!sync_point_client_->client_state()->IsFenceSyncReleased(release));
+ command_buffer_->SetReleaseCount(release);
sync_point_client_->ReleaseFenceSync(release);
}
@@ -455,6 +456,10 @@ void GLManager::SetSurface(gl::GLSurface* surface) {
decoder_->SetSurface(surface);
}
+void GLManager::PerformIdleWork() {
+ executor_->PerformIdleWork();
+}
+
void GLManager::Destroy() {
if (gles2_implementation_.get()) {
MakeCurrent();
@@ -633,6 +638,10 @@ bool GLManager::IsFenceSyncFlushReceived(uint64_t release) {
return IsFenceSyncRelease(release);
}
+bool GLManager::IsFenceSyncReleased(uint64_t release) {
+ return release <= command_buffer_->GetLastState().release_count;
+}
+
void GLManager::SignalSyncToken(const gpu::SyncToken& sync_token,
const base::Closure& callback) {
if (sync_point_manager_) {
« no previous file with comments | « gpu/command_buffer/tests/gl_manager.h ('k') | gpu/command_buffer/tests/gl_readback_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698