Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(133)

Side by Side Diff: cc/resources/resource_update_queue.cc

Issue 12962007: cc: Chromify resource_update_queue (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/resources/resource_update_queue.h" 5 #include "cc/resources/resource_update_queue.h"
6 6
7 #include "cc/resources/prioritized_resource.h" 7 #include "cc/resources/prioritized_resource.h"
8 8
9 namespace cc { 9 namespace cc {
10 10
11 ResourceUpdateQueue::ResourceUpdateQueue() 11 ResourceUpdateQueue::ResourceUpdateQueue() {}
12 { 12
13 ResourceUpdateQueue::~ResourceUpdateQueue() {}
14
15 void ResourceUpdateQueue::AppendFullUpload(const ResourceUpdate& upload) {
16 full_entries_.push_back(upload);
13 } 17 }
14 18
15 ResourceUpdateQueue::~ResourceUpdateQueue() 19 void ResourceUpdateQueue::AppendPartialUpload(const ResourceUpdate& upload) {
16 { 20 partial_entries_.push_back(upload);
17 } 21 }
18 22
19 void ResourceUpdateQueue::appendFullUpload(const ResourceUpdate& upload) 23 void ResourceUpdateQueue::AppendCopy(TextureCopier::Parameters copy) {
20 { 24 copy_entries_.push_back(copy);
21 m_fullEntries.push_back(upload);
22 } 25 }
23 26
24 void ResourceUpdateQueue::appendPartialUpload(const ResourceUpdate& upload) 27 void ResourceUpdateQueue::ClearUploadsToEvictedResources() {
25 { 28 ClearUploadsToEvictedResources(&full_entries_);
26 m_partialEntries.push_back(upload); 29 ClearUploadsToEvictedResources(&partial_entries_);
27 } 30 }
28 31
29 void ResourceUpdateQueue::appendCopy(TextureCopier::Parameters copy) 32 void ResourceUpdateQueue::ClearUploadsToEvictedResources(
30 { 33 std::deque<ResourceUpdate>* entry_queue) {
31 m_copyEntries.push_back(copy); 34 std::deque<ResourceUpdate> temp;
35 entry_queue->swap(temp);
36 while (temp.size()) {
37 ResourceUpdate upload = temp.front();
38 temp.pop_front();
39 if (!upload.texture->BackingResourceWasEvicted())
40 entry_queue->push_back(upload);
41 }
32 } 42 }
33 43
34 void ResourceUpdateQueue::clearUploadsToEvictedResources() 44 ResourceUpdate ResourceUpdateQueue::TakeFirstFullUpload() {
35 { 45 ResourceUpdate first = full_entries_.front();
36 clearUploadsToEvictedResources(m_fullEntries); 46 full_entries_.pop_front();
37 clearUploadsToEvictedResources(m_partialEntries); 47 return first;
38 } 48 }
39 49
40 void ResourceUpdateQueue::clearUploadsToEvictedResources(std::deque<ResourceUpda te>& entryQueue) 50 ResourceUpdate ResourceUpdateQueue::TakeFirstPartialUpload() {
41 { 51 ResourceUpdate first = partial_entries_.front();
42 std::deque<ResourceUpdate> temp; 52 partial_entries_.pop_front();
43 entryQueue.swap(temp); 53 return first;
44 while (temp.size()) {
45 ResourceUpdate upload = temp.front();
46 temp.pop_front();
47 if (!upload.texture->BackingResourceWasEvicted())
48 entryQueue.push_back(upload);
49 }
50 } 54 }
51 55
52 ResourceUpdate ResourceUpdateQueue::takeFirstFullUpload() 56 TextureCopier::Parameters ResourceUpdateQueue::TakeFirstCopy() {
53 { 57 TextureCopier::Parameters first = copy_entries_.front();
54 ResourceUpdate first = m_fullEntries.front(); 58 copy_entries_.pop_front();
55 m_fullEntries.pop_front(); 59 return first;
56 return first;
57 } 60 }
58 61
59 ResourceUpdate ResourceUpdateQueue::takeFirstPartialUpload() 62 bool ResourceUpdateQueue::HasMoreUpdates() const {
60 { 63 return full_entries_.size() || partial_entries_.size() ||
61 ResourceUpdate first = m_partialEntries.front(); 64 copy_entries_.size();
jamesr 2013/03/20 19:59:30 .empty() would be slightly better, I think
62 m_partialEntries.pop_front();
63 return first;
64 }
65
66 TextureCopier::Parameters ResourceUpdateQueue::takeFirstCopy()
67 {
68 TextureCopier::Parameters first = m_copyEntries.front();
69 m_copyEntries.pop_front();
70 return first;
71 }
72
73 bool ResourceUpdateQueue::hasMoreUpdates() const
74 {
75 return m_fullEntries.size() || m_partialEntries.size() || m_copyEntries.size ();
76 } 65 }
77 66
78 } // namespace cc 67 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698