Index: cc/resources/prioritized_resource.cc |
diff --git a/cc/resources/prioritized_resource.cc b/cc/resources/prioritized_resource.cc |
deleted file mode 100644 |
index 968083cb968ed491e98475abe7029731db4765d7..0000000000000000000000000000000000000000 |
--- a/cc/resources/prioritized_resource.cc |
+++ /dev/null |
@@ -1,203 +0,0 @@ |
-// Copyright 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "cc/resources/prioritized_resource.h" |
- |
-#include <algorithm> |
- |
-#include "cc/resources/platform_color.h" |
-#include "cc/resources/prioritized_resource_manager.h" |
-#include "cc/resources/priority_calculator.h" |
-#include "cc/trees/proxy.h" |
- |
-namespace cc { |
- |
-PrioritizedResource::PrioritizedResource(PrioritizedResourceManager* manager, |
- const gfx::Size& size, |
- ResourceFormat format) |
- : size_(size), |
- format_(format), |
- bytes_(0), |
- contents_swizzled_(false), |
- priority_(PriorityCalculator::LowestPriority()), |
- is_above_priority_cutoff_(false), |
- is_self_managed_(false), |
- backing_(NULL), |
- manager_(NULL) { |
- bytes_ = Resource::MemorySizeBytes(size, format); |
- if (manager) |
- manager->RegisterTexture(this); |
-} |
- |
-PrioritizedResource::~PrioritizedResource() { |
- if (manager_) |
- manager_->UnregisterTexture(this); |
-} |
- |
-void PrioritizedResource::SetTextureManager( |
- PrioritizedResourceManager* manager) { |
- if (manager_ == manager) |
- return; |
- if (manager_) |
- manager_->UnregisterTexture(this); |
- if (manager) |
- manager->RegisterTexture(this); |
-} |
- |
-void PrioritizedResource::SetDimensions(const gfx::Size& size, |
- ResourceFormat format) { |
- if (format_ != format || size_ != size) { |
- is_above_priority_cutoff_ = false; |
- format_ = format; |
- size_ = size; |
- bytes_ = Resource::MemorySizeBytes(size, format); |
- DCHECK(manager_ || !backing_); |
- if (manager_) |
- manager_->ReturnBackingTexture(this); |
- } |
-} |
- |
-bool PrioritizedResource::RequestLate() { |
- if (!manager_) |
- return false; |
- return manager_->RequestLate(this); |
-} |
- |
-bool PrioritizedResource::BackingResourceWasEvicted() const { |
- return backing_ ? backing_->ResourceHasBeenDeleted() : false; |
-} |
- |
-void PrioritizedResource::AcquireBackingTexture( |
- ResourceProvider* resource_provider) { |
- DCHECK(is_above_priority_cutoff_); |
- if (is_above_priority_cutoff_) |
- manager_->AcquireBackingTextureIfNeeded(this, resource_provider); |
-} |
- |
-void PrioritizedResource::SetPixels(ResourceProvider* resource_provider, |
- const uint8_t* image, |
- const gfx::Rect& image_rect, |
- const gfx::Rect& source_rect, |
- const gfx::Vector2d& dest_offset) { |
- DCHECK(is_above_priority_cutoff_); |
- if (is_above_priority_cutoff_) |
- AcquireBackingTexture(resource_provider); |
- DCHECK(backing_); |
- resource_provider->SetPixels( |
- resource_id(), image, image_rect, source_rect, dest_offset); |
- |
- // The component order may be bgra if we uploaded bgra pixels to rgba |
- // texture. Mark contents as swizzled if image component order is |
- // different than texture format. |
- contents_swizzled_ = !PlatformColor::SameComponentOrder(format_); |
-} |
- |
-void PrioritizedResource::Link(Backing* backing) { |
- DCHECK(backing); |
- DCHECK(!backing->owner_); |
- DCHECK(!backing_); |
- |
- backing_ = backing; |
- backing_->owner_ = this; |
-} |
- |
-void PrioritizedResource::Unlink() { |
- DCHECK(backing_); |
- DCHECK(backing_->owner_ == this); |
- |
- backing_->owner_ = NULL; |
- backing_ = NULL; |
-} |
- |
-void PrioritizedResource::SetToSelfManagedMemoryPlaceholder(size_t bytes) { |
- SetDimensions(gfx::Size(), RGBA_8888); |
- set_is_self_managed(true); |
- bytes_ = bytes; |
-} |
- |
-PrioritizedResource::Backing::Backing(unsigned id, |
- ResourceProvider* resource_provider, |
- const gfx::Size& size, |
- ResourceFormat format) |
- : Resource(id, size, format), |
- owner_(NULL), |
- priority_at_last_priority_update_(PriorityCalculator::LowestPriority()), |
- was_above_priority_cutoff_at_last_priority_update_(false), |
- in_drawing_impl_tree_(false), |
- in_parent_compositor_(false), |
-#if !DCHECK_IS_ON() |
- resource_has_been_deleted_(false) { |
-#else |
- resource_has_been_deleted_(false), |
- resource_provider_(resource_provider) { |
-#endif |
-} |
- |
-PrioritizedResource::Backing::~Backing() { |
- DCHECK(!owner_); |
- DCHECK(resource_has_been_deleted_); |
-} |
- |
-void PrioritizedResource::Backing::DeleteResource( |
- ResourceProvider* resource_provider) { |
- DCHECK(!proxy() || proxy()->IsImplThread()); |
- DCHECK(!resource_has_been_deleted_); |
-#if DCHECK_IS_ON() |
- DCHECK(resource_provider == resource_provider_); |
-#endif |
- |
- resource_provider->DeleteResource(id()); |
- set_id(0); |
- resource_has_been_deleted_ = true; |
-} |
- |
-bool PrioritizedResource::Backing::ResourceHasBeenDeleted() const { |
- DCHECK(!proxy() || proxy()->IsImplThread()); |
- return resource_has_been_deleted_; |
-} |
- |
-bool PrioritizedResource::Backing::CanBeRecycledIfNotInExternalUse() const { |
- DCHECK(!proxy() || proxy()->IsImplThread()); |
- return !was_above_priority_cutoff_at_last_priority_update_ && |
- !in_drawing_impl_tree_; |
-} |
- |
-void PrioritizedResource::Backing::UpdatePriority() { |
- DCHECK(!proxy() || |
- (proxy()->IsImplThread() && proxy()->IsMainThreadBlocked())); |
- if (owner_) { |
- priority_at_last_priority_update_ = owner_->request_priority(); |
- was_above_priority_cutoff_at_last_priority_update_ = |
- owner_->is_above_priority_cutoff(); |
- } else { |
- priority_at_last_priority_update_ = PriorityCalculator::LowestPriority(); |
- was_above_priority_cutoff_at_last_priority_update_ = false; |
- } |
-} |
- |
-void PrioritizedResource::Backing::UpdateState( |
- ResourceProvider* resource_provider) { |
- DCHECK(!proxy() || |
- (proxy()->IsImplThread() && proxy()->IsMainThreadBlocked())); |
- in_drawing_impl_tree_ = !!owner(); |
- in_parent_compositor_ = resource_provider->InUseByConsumer(id()); |
- if (!in_drawing_impl_tree_) { |
- DCHECK_EQ(priority_at_last_priority_update_, |
- PriorityCalculator::LowestPriority()); |
- } |
-} |
- |
-void PrioritizedResource::ReturnBackingTexture() { |
- DCHECK(manager_ || !backing_); |
- if (manager_) |
- manager_->ReturnBackingTexture(this); |
-} |
- |
-const Proxy* PrioritizedResource::Backing::proxy() const { |
- if (!owner_ || !owner_->resource_manager()) |
- return NULL; |
- return owner_->resource_manager()->ProxyForDebug(); |
-} |
- |
-} // namespace cc |