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

Unified Diff: cc/output/gl_renderer.h

Issue 1984873002: Add logic to ResourceProvider to correctly lock GpuMemoryBuffer Resources. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 months 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 | « no previous file | cc/output/gl_renderer.cc » ('j') | cc/resources/resource_provider.h » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/output/gl_renderer.h
diff --git a/cc/output/gl_renderer.h b/cc/output/gl_renderer.h
index d1de2c24595fcd0835db3f00cf27aa592c08d331..3e03015e0925bdefb4eb2e63ad8777508d134ed4 100644
--- a/cc/output/gl_renderer.h
+++ b/cc/output/gl_renderer.h
@@ -258,11 +258,24 @@ class CC_EXPORT GLRenderer : public DirectRenderer {
void ScheduleCALayers(DrawingFrame* frame);
void ScheduleOverlays(DrawingFrame* frame);
+ // Releases the read lock from GpuMemoryBuffer resources that are no longer in
+ // use by the Window Server.
+ void ReleaseGpuMemoryBufferResources();
+
using OverlayResourceLockList =
std::vector<std::unique_ptr<ResourceProvider::ScopedReadLockGL>>;
OverlayResourceLockList pending_overlay_resources_;
std::deque<OverlayResourceLockList> swapped_overlay_resources_;
+ using GmbResourceLockList = std::vector<
+ std::unique_ptr<ResourceProvider::ScopedReadLockGpuMemoryBuffer>>;
+
+ // GpuMemoryBuffers that have been sent to the GPU process for display.
+ GmbResourceLockList pending_gmb_resources_;
+
+ // GpuMemoryBuffers that are known to have been received by the Window Server.
+ std::deque<GmbResourceLockList> in_use_gmb_resources_;
ccameron 2016/05/17 03:36:38 Couple of things: 1. This logic should be shared
erikchen 2016/05/17 22:13:20 Done.
+
RendererCapabilitiesImpl capabilities_;
unsigned offscreen_framebuffer_id_;
« no previous file with comments | « no previous file | cc/output/gl_renderer.cc » ('j') | cc/resources/resource_provider.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698