Index: cc/layers/surface_layer_impl.cc |
diff --git a/cc/layers/surface_layer_impl.cc b/cc/layers/surface_layer_impl.cc |
index 4498068000daec8c0c5a13d8cc05559dc315107a..d7f0dfd7a574b9c54c024101fad1f9dd15101717 100644 |
--- a/cc/layers/surface_layer_impl.cc |
+++ b/cc/layers/surface_layer_impl.cc |
@@ -5,8 +5,8 @@ |
#include "cc/layers/surface_layer_impl.h" |
#include "cc/debug/debug_colors.h" |
-#include "cc/layers/quad_sink.h" |
#include "cc/quads/surface_draw_quad.h" |
+#include "cc/trees/occlusion_tracker.h" |
namespace cc { |
@@ -35,24 +35,29 @@ void SurfaceLayerImpl::PushPropertiesTo(LayerImpl* layer) { |
layer_impl->SetSurfaceId(surface_id_); |
} |
-void SurfaceLayerImpl::AppendQuads(QuadSink* quad_sink, |
- AppendQuadsData* append_quads_data) { |
- SharedQuadState* shared_quad_state = quad_sink->CreateSharedQuadState(); |
+void SurfaceLayerImpl::AppendQuads( |
+ RenderPass* render_pass, |
+ const OcclusionTracker<LayerImpl>& occlusion_tracker, |
+ AppendQuadsData* append_quads_data) { |
+ SharedQuadState* shared_quad_state = |
+ render_pass->CreateAndAppendSharedQuadState(); |
PopulateSharedQuadState(shared_quad_state); |
- AppendDebugBorderQuad(quad_sink, shared_quad_state, append_quads_data); |
+ AppendDebugBorderQuad(render_pass, shared_quad_state, append_quads_data); |
if (!surface_id_) |
return; |
scoped_ptr<SurfaceDrawQuad> quad = SurfaceDrawQuad::Create(); |
gfx::Rect quad_rect(content_bounds()); |
- gfx::Rect visible_quad_rect = quad_sink->UnoccludedContentRect( |
- this, quad_rect, draw_properties().target_space_transform); |
+ gfx::Rect visible_quad_rect = occlusion_tracker.UnoccludedContentRect( |
+ this->render_target(), |
+ quad_rect, |
+ draw_properties().target_space_transform); |
if (visible_quad_rect.IsEmpty()) |
return; |
quad->SetNew(shared_quad_state, quad_rect, visible_quad_rect, surface_id_); |
- quad_sink->Append(quad.PassAs<DrawQuad>()); |
+ render_pass->AppendDrawQuad(quad.PassAs<DrawQuad>()); |
} |
void SurfaceLayerImpl::GetDebugBorderProperties(SkColor* color, |