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

Unified Diff: cc/output/ca_layer_overlay.cc

Issue 2205133003: Implement new RPDQ copy logic for CALayer promotion. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@temp60_more_refactor
Patch Set: Fix vertical flip. Created 4 years, 4 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
Index: cc/output/ca_layer_overlay.cc
diff --git a/cc/output/ca_layer_overlay.cc b/cc/output/ca_layer_overlay.cc
index 094940502daf0ba2249ea3f3b0d640382112f894..802fd41dfb9a9e5e40342bb44d7cd4721047e81b 100644
--- a/cc/output/ca_layer_overlay.cc
+++ b/cc/output/ca_layer_overlay.cc
@@ -128,6 +128,9 @@ CALayerResult FromRenderPassQuad(ResourceProvider* resource_provider,
}
}
+ // The original RenderPassDrawQuad will be destroyed before the GLRenderer has
+ // a chance to do any copying. Save a new copy.
+ ca_layer_overlay->rpdq.reset(new RenderPassDrawQuad(*quad));
ca_layer_overlay->render_pass_id = quad->render_pass_id;
ca_layer_overlay->contents_rect = gfx::RectF(0, 0, 1, 1);
@@ -294,6 +297,16 @@ class CALayerOverlayProcessor {
} // namespace
+CALayerOverlaySharedState& CALayerOverlaySharedState::operator=(
+ const CALayerOverlaySharedState& other) {
+ sorting_context_id = other.sorting_context_id;
+ is_clipped = other.is_clipped;
+ clip_rect = other.clip_rect;
+ opacity = other.opacity;
+ transform = other.transform;
+ return *this;
ccameron 2016/08/04 01:46:01 This can just be =default then, right?
erikchen 2016/08/05 17:15:06 No longer necessary at all.
+}
+
CALayerOverlay::CALayerOverlay() : filter(GL_LINEAR) {}
CALayerOverlay::CALayerOverlay(const CALayerOverlay& other) = default;

Powered by Google App Engine
This is Rietveld 408576698