| Index: cc/layers/render_surface_impl.cc
|
| diff --git a/cc/layers/render_surface_impl.cc b/cc/layers/render_surface_impl.cc
|
| index af8c41a5343ebec9ed5ae3383082b2ec22385db5..0133b388ece0f76458447cb7e6a99d867a2fbbaa 100644
|
| --- a/cc/layers/render_surface_impl.cc
|
| +++ b/cc/layers/render_surface_impl.cc
|
| @@ -12,13 +12,13 @@
|
| #include "cc/debug/debug_colors.h"
|
| #include "cc/layers/delegated_renderer_layer_impl.h"
|
| #include "cc/layers/layer_impl.h"
|
| -#include "cc/layers/quad_sink.h"
|
| #include "cc/layers/render_pass_sink.h"
|
| #include "cc/quads/debug_border_draw_quad.h"
|
| #include "cc/quads/render_pass.h"
|
| #include "cc/quads/render_pass_draw_quad.h"
|
| #include "cc/quads/shared_quad_state.h"
|
| #include "cc/trees/damage_tracker.h"
|
| +#include "cc/trees/occlusion_tracker.h"
|
| #include "third_party/skia/include/core/SkImageFilter.h"
|
| #include "ui/gfx/rect_conversions.h"
|
| #include "ui/gfx/transform.h"
|
| @@ -136,21 +136,24 @@ void RenderSurfaceImpl::AppendRenderPasses(RenderPassSink* pass_sink) {
|
| pass_sink->AppendRenderPass(pass.Pass());
|
| }
|
|
|
| -void RenderSurfaceImpl::AppendQuads(QuadSink* quad_sink,
|
| - AppendQuadsData* append_quads_data,
|
| - bool for_replica,
|
| - RenderPass::Id render_pass_id) {
|
| +void RenderSurfaceImpl::AppendQuads(
|
| + RenderPass* render_pass,
|
| + const OcclusionTracker<LayerImpl>& occlusion_tracker,
|
| + AppendQuadsData* append_quads_data,
|
| + bool for_replica,
|
| + RenderPass::Id render_pass_id) {
|
| DCHECK(!for_replica || owning_layer_->has_replica());
|
|
|
| const gfx::Transform& draw_transform =
|
| for_replica ? replica_draw_transform_ : draw_transform_;
|
| gfx::Rect visible_content_rect =
|
| - quad_sink->UnoccludedContributingSurfaceContentRect(content_rect_,
|
| - draw_transform);
|
| + occlusion_tracker.UnoccludedContributingSurfaceContentRect(
|
| + content_rect_, draw_transform);
|
| if (visible_content_rect.IsEmpty())
|
| return;
|
|
|
| - SharedQuadState* shared_quad_state = quad_sink->CreateSharedQuadState();
|
| + SharedQuadState* shared_quad_state =
|
| + render_pass->CreateAndAppendSharedQuadState();
|
| shared_quad_state->SetAll(draw_transform,
|
| content_rect_.size(),
|
| content_rect_,
|
| @@ -173,7 +176,7 @@ void RenderSurfaceImpl::AppendQuads(QuadSink* quad_sink,
|
| DebugBorderDrawQuad::Create();
|
| debug_border_quad->SetNew(
|
| shared_quad_state, content_rect_, visible_content_rect, color, width);
|
| - quad_sink->Append(debug_border_quad.PassAs<DrawQuad>());
|
| + render_pass->AppendDrawQuad(debug_border_quad.PassAs<DrawQuad>());
|
| }
|
|
|
| // TODO(shawnsingh): By using the same RenderSurfaceImpl for both the content
|
| @@ -233,7 +236,7 @@ void RenderSurfaceImpl::AppendQuads(QuadSink* quad_sink,
|
| mask_uv_rect,
|
| owning_layer_->filters(),
|
| owning_layer_->background_filters());
|
| - quad_sink->Append(quad.PassAs<DrawQuad>());
|
| + render_pass->AppendDrawQuad(quad.PassAs<DrawQuad>());
|
| }
|
|
|
| } // namespace cc
|
|
|