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

Unified Diff: cc/quads/render_pass.cc

Issue 2873593002: Force use of and cache render surface. (Closed)
Patch Set: Created 3 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
Index: cc/quads/render_pass.cc
diff --git a/cc/quads/render_pass.cc b/cc/quads/render_pass.cc
index 3ad5fb0cf83c75a8c94f6fcd8f8c9365c0b17791..e1880de62c1cbe9e2210b37bfc9e74a562ff6801 100644
--- a/cc/quads/render_pass.cc
+++ b/cc/quads/render_pass.cc
@@ -68,17 +68,17 @@ RenderPass::RenderPass()
// is a good hint for what to reserve here.
RenderPass::RenderPass(size_t num_layers)
: has_transparent_background(true),
+ force_render_surface(false),
quad_list(kDefaultNumQuadsToReserve),
- shared_quad_state_list(sizeof(SharedQuadState), num_layers) {
-}
+ shared_quad_state_list(sizeof(SharedQuadState), num_layers) {}
RenderPass::RenderPass(size_t shared_quad_state_list_size,
size_t quad_list_size)
: has_transparent_background(true),
+ force_render_surface(false),
quad_list(quad_list_size),
shared_quad_state_list(sizeof(SharedQuadState),
- shared_quad_state_list_size) {
-}
+ shared_quad_state_list_size) {}
RenderPass::~RenderPass() {
TRACE_EVENT_OBJECT_DELETED_WITH_ID(
@@ -91,7 +91,7 @@ std::unique_ptr<RenderPass> RenderPass::Copy(int new_id) const {
Create(shared_quad_state_list.size(), quad_list.size()));
copy_pass->SetAll(new_id, output_rect, damage_rect, transform_to_root_target,
filters, background_filters, color_space,
- has_transparent_background);
+ has_transparent_background, force_render_surface);
return copy_pass;
}
@@ -104,7 +104,7 @@ std::unique_ptr<RenderPass> RenderPass::DeepCopy() const {
Create(shared_quad_state_list.size(), quad_list.size()));
copy_pass->SetAll(id, output_rect, damage_rect, transform_to_root_target,
filters, background_filters, color_space,
- has_transparent_background);
+ has_transparent_background, force_render_surface);
for (auto* shared_quad_state : shared_quad_state_list) {
SharedQuadState* copy_shared_quad_state =
copy_pass->CreateAndAppendSharedQuadState();
@@ -167,7 +167,8 @@ void RenderPass::SetAll(int id,
const FilterOperations& filters,
const FilterOperations& background_filters,
const gfx::ColorSpace& color_space,
- bool has_transparent_background) {
+ bool has_transparent_background,
+ bool force_render_surface) {
DCHECK(id);
this->id = id;
@@ -178,6 +179,7 @@ void RenderPass::SetAll(int id,
this->background_filters = background_filters;
this->color_space = color_space;
this->has_transparent_background = has_transparent_background;
+ this->force_render_surface = force_render_surface;
DCHECK(quad_list.empty());
DCHECK(shared_quad_state_list.empty());
@@ -188,6 +190,7 @@ void RenderPass::AsValueInto(base::trace_event::TracedValue* value) const {
MathUtil::AddToTracedValue("damage_rect", damage_rect, value);
value->SetBoolean("has_transparent_background", has_transparent_background);
+ value->SetBoolean("force_render_surface", force_render_surface);
value->SetInteger("copy_requests",
base::saturated_cast<int>(copy_requests.size()));

Powered by Google App Engine
This is Rietveld 408576698