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 |