This source file includes following definitions.
- AppendFullUpload
- AppendPartialUpload
- ClearUploadsToEvictedResources
- ClearUploadsToEvictedResources
- TakeFirstFullUpload
- TakeFirstPartialUpload
- HasMoreUpdates
#include "cc/resources/resource_update_queue.h"
#include "cc/resources/prioritized_resource.h"
namespace cc {
ResourceUpdateQueue::ResourceUpdateQueue() {}
ResourceUpdateQueue::~ResourceUpdateQueue() {}
void ResourceUpdateQueue::AppendFullUpload(const ResourceUpdate& upload) {
full_entries_.push_back(upload);
}
void ResourceUpdateQueue::AppendPartialUpload(const ResourceUpdate& upload) {
partial_entries_.push_back(upload);
}
void ResourceUpdateQueue::ClearUploadsToEvictedResources() {
ClearUploadsToEvictedResources(&full_entries_);
ClearUploadsToEvictedResources(&partial_entries_);
}
void ResourceUpdateQueue::ClearUploadsToEvictedResources(
std::deque<ResourceUpdate>* entry_queue) {
std::deque<ResourceUpdate> temp;
entry_queue->swap(temp);
while (temp.size()) {
ResourceUpdate upload = temp.front();
temp.pop_front();
if (!upload.texture->BackingResourceWasEvicted())
entry_queue->push_back(upload);
}
}
ResourceUpdate ResourceUpdateQueue::TakeFirstFullUpload() {
ResourceUpdate first = full_entries_.front();
full_entries_.pop_front();
return first;
}
ResourceUpdate ResourceUpdateQueue::TakeFirstPartialUpload() {
ResourceUpdate first = partial_entries_.front();
partial_entries_.pop_front();
return first;
}
bool ResourceUpdateQueue::HasMoreUpdates() const {
return !full_entries_.empty() || !partial_entries_.empty();
}
}