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

Side by Side Diff: cc/CCPrioritizedTexture.h

Issue 10919320: Integrate r128344 and r128253 from WebKit (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix unit test build break Created 8 years, 3 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 | Annotate | Revision Log
« no previous file with comments | « cc/CCLayerTreeHostImplTest.cpp ('k') | cc/CCPrioritizedTexture.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #ifndef CCPrioritizedTexture_h 5 #ifndef CCPrioritizedTexture_h
6 #define CCPrioritizedTexture_h 6 #define CCPrioritizedTexture_h
7 7
8 #include "CCPriorityCalculator.h" 8 #include "CCPriorityCalculator.h"
9 #include "CCResourceProvider.h" 9 #include "CCResourceProvider.h"
10 #include "CCTexture.h" 10 #include "CCTexture.h"
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 // Self-managed textures are accounted for when prioritizing other textures, 73 // Self-managed textures are accounted for when prioritizing other textures,
74 // but they are not allocated/recycled/deleted, so this needs to be done 74 // but they are not allocated/recycled/deleted, so this needs to be done
75 // externally. canAcquireBackingTexture() indicates if the texture would hav e 75 // externally. canAcquireBackingTexture() indicates if the texture would hav e
76 // been allowed given its priority. 76 // been allowed given its priority.
77 void setIsSelfManaged(bool isSelfManaged) { m_isSelfManaged = isSelfManaged; } 77 void setIsSelfManaged(bool isSelfManaged) { m_isSelfManaged = isSelfManaged; }
78 bool isSelfManaged() { return m_isSelfManaged; } 78 bool isSelfManaged() { return m_isSelfManaged; }
79 void setToSelfManagedMemoryPlaceholder(size_t bytes); 79 void setToSelfManagedMemoryPlaceholder(size_t bytes);
80 80
81 private: 81 private:
82 friend class CCPrioritizedTextureManager; 82 friend class CCPrioritizedTextureManager;
83 friend class CCPrioritizedTextureTest;
83 84
84 class Backing : public CCTexture { 85 class Backing : public CCTexture {
85 WTF_MAKE_NONCOPYABLE(Backing); 86 WTF_MAKE_NONCOPYABLE(Backing);
86 public: 87 public:
87 Backing(unsigned id, IntSize size, GC3Denum format) 88 Backing(unsigned id, IntSize, GC3Denum format);
88 : CCTexture(id, size, format), m_owner(0) { } 89 ~Backing();
89 ~Backing() { ASSERT(!m_owner); } 90 void updatePriority();
90 91
91 CCPrioritizedTexture* owner() { return m_owner; } 92 CCPrioritizedTexture* owner() { return m_owner; }
93 bool hadOwnerAtLastPriorityUpdate() const { return m_ownerExistedAtLastP riorityUpdate; }
94 bool requestPriorityAtLastPriorityUpdate() const { return m_priorityAtLa stPriorityUpdate; }
95 bool wasAbovePriorityCutoffAtLastPriorityUpdate() const { return m_wasAb ovePriorityCutoffAtLastPriorityUpdate; }
96
92 private: 97 private:
93 friend class CCPrioritizedTexture; 98 friend class CCPrioritizedTexture;
94 CCPrioritizedTexture* m_owner; 99 CCPrioritizedTexture* m_owner;
100 int m_priorityAtLastPriorityUpdate;
101 bool m_ownerExistedAtLastPriorityUpdate;
102 bool m_wasAbovePriorityCutoffAtLastPriorityUpdate;
95 }; 103 };
96 104
97 CCPrioritizedTexture(CCPrioritizedTextureManager*, IntSize, GC3Denum format) ; 105 CCPrioritizedTexture(CCPrioritizedTextureManager*, IntSize, GC3Denum format) ;
98 106
99 bool isAbovePriorityCutoff() { return m_isAbovePriorityCutoff; } 107 bool isAbovePriorityCutoff() { return m_isAbovePriorityCutoff; }
100 void setAbovePriorityCutoff(bool isAbovePriorityCutoff) { m_isAbovePriorityC utoff = isAbovePriorityCutoff; } 108 void setAbovePriorityCutoff(bool isAbovePriorityCutoff) { m_isAbovePriorityC utoff = isAbovePriorityCutoff; }
101 void setManagerInternal(CCPrioritizedTextureManager* manager) { m_manager = manager; } 109 void setManagerInternal(CCPrioritizedTextureManager* manager) { m_manager = manager; }
102 110
103 Backing* backing() const { return m_backing; } 111 Backing* backing() const { return m_backing; }
104 void link(Backing*); 112 void link(Backing*);
105 void unlink(); 113 void unlink();
106 114
107 IntSize m_size; 115 IntSize m_size;
108 GC3Denum m_format; 116 GC3Denum m_format;
109 size_t m_bytes; 117 size_t m_bytes;
110 118
111 int m_priority; 119 int m_priority;
112 bool m_isAbovePriorityCutoff; 120 bool m_isAbovePriorityCutoff;
113 bool m_isSelfManaged; 121 bool m_isSelfManaged;
114 122
115 Backing* m_backing; 123 Backing* m_backing;
116 CCPrioritizedTextureManager* m_manager; 124 CCPrioritizedTextureManager* m_manager;
117 }; 125 };
118 126
119 } // namespace cc 127 } // namespace cc
120 128
121 #endif 129 #endif
OLDNEW
« no previous file with comments | « cc/CCLayerTreeHostImplTest.cpp ('k') | cc/CCPrioritizedTexture.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698