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

Unified Diff: cc/resources/resource_provider.h

Issue 2508203004: Add hints for potential overlay promotion on android. (Closed)
Patch Set: #include and comment cleanup Created 4 years, 1 month 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
Index: cc/resources/resource_provider.h
diff --git a/cc/resources/resource_provider.h b/cc/resources/resource_provider.h
index afabed7b8d8fcbc91c4278e70eab31e247cb7edb..a4579f9a8aaef66a131ddab4a0c8ab01ebefb267 100644
--- a/cc/resources/resource_provider.h
+++ b/cc/resources/resource_provider.h
@@ -478,6 +478,13 @@ class CC_EXPORT ResourceProvider
// Indicates if this resource may be used for a hardware overlay plane.
bool IsOverlayCandidate(ResourceId id);
+#if defined(OS_ANDROID)
+ // Indicates if this resource is backed by an Android SurfaceTexture, and thus
+ // can't really be promoted to an overlay.
+ // TODO(liberato): be sure that this is sent via IPC.
+ bool IsBackedBySurfaceTexture(ResourceId id);
+#endif
+
void WaitSyncTokenIfNeeded(ResourceId id);
static GLint GetActiveTextureUnit(gpu::gles2::GLES2Interface* gl);
@@ -581,6 +588,19 @@ class CC_EXPORT ResourceProvider
bool read_lock_fences_enabled : 1;
bool has_shared_bitmap_id : 1;
bool is_overlay_candidate : 1;
+#if defined(OS_ANDROID)
+ // Indicates whether this resource may not be overlayed on Android, since
+ // it's
+ // not backed by a SurfaceView. This may be set in combination with
+ // |is_overlay_candidate|, to find out if switching the resource to a
+ // a SurfaceView would result in overlay promotion. It's good to find this
+ // out in advance, since one has no fallback path for displaying a
+ // SurfaceView except via promoting it to an overlay. Ideally, one _could_
+ // promote SurfaceTexture via the overlay path, even if one ended up just
+ // drawing a quad in the compositor. However, for now, we use this flag to
+ // refuse to promote so that the compositor will draw the quad.
+ bool is_backed_by_surface_texture : 1;
+#endif
scoped_refptr<Fence> read_lock_fence;
gfx::Size size;
Origin origin;

Powered by Google App Engine
This is Rietveld 408576698