#include "cc/resources/scoped_resource.h"
#include "cc/resources/single_release_callback_impl.h"
#include "cc/trees/layer_tree_impl.h"
-#include "cc/trees/occlusion_tracker.h"
+#include "cc/trees/occlusion.h"
namespace cc {
scoped_ptr<LayerImpl> TextureLayerImpl::CreateLayerImpl(
LayerTreeImpl* tree_impl) {
- return TextureLayerImpl::Create(tree_impl, id()).PassAs<LayerImpl>();
+ return TextureLayerImpl::Create(tree_impl, id());
}
void TextureLayerImpl::PushPropertiesTo(LayerImpl* layer) {
resource_provider->CreateResourceFromTextureMailbox(
texture_mailbox_, release_callback_.Pass());
DCHECK(external_texture_resource_);
- texture_copy_.reset();
+ texture_copy_ = nullptr;
valid_texture_copy_ = false;
}
if (external_texture_resource_)
LayerImpl::WillDraw(draw_mode, resource_provider);
}
-void TextureLayerImpl::AppendQuads(
- RenderPass* render_pass,
- const OcclusionTracker<LayerImpl>& occlusion_tracker,
- AppendQuadsData* append_quads_data) {
+void TextureLayerImpl::AppendQuads(RenderPass* render_pass,
+ const Occlusion& occlusion_in_content_space,
+ AppendQuadsData* append_quads_data) {
DCHECK(external_texture_resource_ || valid_texture_copy_);
SharedQuadState* shared_quad_state =
gfx::Rect quad_rect(content_bounds());
gfx::Rect opaque_rect = opaque ? quad_rect : gfx::Rect();
gfx::Rect visible_quad_rect =
- occlusion_tracker.GetCurrentOcclusionForLayer(
- draw_properties().target_space_transform)
- .GetUnoccludedContentRect(quad_rect);
+ occlusion_in_content_space.GetUnoccludedContentRect(quad_rect);
if (visible_quad_rect.IsEmpty())
return;
void TextureLayerImpl::ReleaseResources() {
FreeTextureMailbox();
- texture_copy_.reset();
+ texture_copy_ = nullptr;
external_texture_resource_ = 0;
valid_texture_copy_ = false;
}
layer_tree_impl()->BlockingMainThreadTaskRunner());
}
texture_mailbox_ = TextureMailbox();
- release_callback_.reset();
+ release_callback_ = nullptr;
} else if (external_texture_resource_) {
DCHECK(!own_mailbox_);
ResourceProvider* resource_provider =