| Index: cc/quads/render_pass.cc
|
| diff --git a/cc/quads/render_pass.cc b/cc/quads/render_pass.cc
|
| index 567145a82d6d12565c6a835aef264d32ba94ab9c..591f3b9c5c17ca75884fb75ba0a6184a4db089fc 100644
|
| --- a/cc/quads/render_pass.cc
|
| +++ b/cc/quads/render_pass.cc
|
| @@ -25,6 +25,7 @@
|
| #include "cc/quads/texture_draw_quad.h"
|
| #include "cc/quads/tile_draw_quad.h"
|
| #include "cc/quads/yuv_video_draw_quad.h"
|
| +#include "ui/gfx/geometry/rect_conversions.h"
|
|
|
| namespace {
|
| const size_t kDefaultNumSharedQuadStatesToReserve = 32;
|
| @@ -86,11 +87,8 @@ RenderPass::~RenderPass() {
|
| scoped_ptr<RenderPass> RenderPass::Copy(RenderPassId new_id) const {
|
| scoped_ptr<RenderPass> copy_pass(
|
| Create(shared_quad_state_list.size(), quad_list.size()));
|
| - copy_pass->SetAll(new_id,
|
| - output_rect,
|
| - damage_rect,
|
| - transform_to_root_target,
|
| - has_transparent_background);
|
| + copy_pass->SetAll(new_id, output_rect, damage_rect, overlay_rect,
|
| + transform_to_root_target, has_transparent_background);
|
| return copy_pass.Pass();
|
| }
|
|
|
| @@ -106,10 +104,8 @@ void RenderPass::CopyAll(const ScopedPtrVector<RenderPass>& in,
|
|
|
| scoped_ptr<RenderPass> copy_pass(Create(
|
| source->shared_quad_state_list.size(), source->quad_list.size()));
|
| - copy_pass->SetAll(source->id,
|
| - source->output_rect,
|
| - source->damage_rect,
|
| - source->transform_to_root_target,
|
| + copy_pass->SetAll(source->id, source->output_rect, source->damage_rect,
|
| + source->overlay_rect, source->transform_to_root_target,
|
| source->has_transparent_background);
|
| for (const auto& shared_quad_state : source->shared_quad_state_list) {
|
| SharedQuadState* copy_shared_quad_state =
|
| @@ -165,6 +161,7 @@ void RenderPass::SetNew(RenderPassId id,
|
| void RenderPass::SetAll(RenderPassId id,
|
| const gfx::Rect& output_rect,
|
| const gfx::Rect& damage_rect,
|
| + const gfx::Rect& overlay_rect,
|
| const gfx::Transform& transform_to_root_target,
|
| bool has_transparent_background) {
|
| DCHECK_GT(id.layer_id, 0);
|
| @@ -173,6 +170,7 @@ void RenderPass::SetAll(RenderPassId id,
|
| this->id = id;
|
| this->output_rect = output_rect;
|
| this->damage_rect = damage_rect;
|
| + this->overlay_rect = overlay_rect;
|
| this->transform_to_root_target = transform_to_root_target;
|
| this->has_transparent_background = has_transparent_background;
|
|
|
| @@ -183,6 +181,7 @@ void RenderPass::SetAll(RenderPassId id,
|
| void RenderPass::AsValueInto(base::trace_event::TracedValue* value) const {
|
| MathUtil::AddToTracedValue("output_rect", output_rect, value);
|
| MathUtil::AddToTracedValue("damage_rect", damage_rect, value);
|
| + MathUtil::AddToTracedValue("overlay_rect", overlay_rect, value);
|
|
|
| value->SetBoolean("has_transparent_background", has_transparent_background);
|
| value->SetInteger("copy_requests", copy_requests.size());
|
| @@ -269,4 +268,8 @@ DrawQuad* RenderPass::CopyFromAndAppendDrawQuad(
|
| return quad_list.back();
|
| }
|
|
|
| +gfx::Rect RenderPass::GetFullDamageRect() {
|
| + return gfx::UnionRects(damage_rect, overlay_rect);
|
| +}
|
| +
|
| } // namespace cc
|
|
|