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

Side by Side Diff: cc/prioritized_texture.h

Issue 11079007: Fix issue incremental upload can evict textures being drawn (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Resolve against The Great Renaming Created 8 years, 2 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/layer_tree_host.cc ('k') | cc/prioritized_texture.cc » ('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 "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "CCPriorityCalculator.h" 10 #include "CCPriorityCalculator.h"
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 83
84 private: 84 private:
85 friend class CCPrioritizedTextureManager; 85 friend class CCPrioritizedTextureManager;
86 friend class CCPrioritizedTextureTest; 86 friend class CCPrioritizedTextureTest;
87 87
88 class Backing : public CCTexture { 88 class Backing : public CCTexture {
89 public: 89 public:
90 Backing(unsigned id, CCResourceProvider*, IntSize, GC3Denum format); 90 Backing(unsigned id, CCResourceProvider*, IntSize, GC3Denum format);
91 ~Backing(); 91 ~Backing();
92 void updatePriority(); 92 void updatePriority();
93 void updateInDrawingImplTree();
93 94
94 CCPrioritizedTexture* owner() { return m_owner; } 95 CCPrioritizedTexture* owner() { return m_owner; }
95 bool hadOwnerAtLastPriorityUpdate() const { return m_ownerExistedAtLastP riorityUpdate; } 96 bool canBeRecycled() const;
96 int requestPriorityAtLastPriorityUpdate() const { return m_priorityAtLas tPriorityUpdate; } 97 int requestPriorityAtLastPriorityUpdate() const { return m_priorityAtLas tPriorityUpdate; }
97 bool wasAbovePriorityCutoffAtLastPriorityUpdate() const { return m_wasAb ovePriorityCutoffAtLastPriorityUpdate; } 98 bool wasAbovePriorityCutoffAtLastPriorityUpdate() const { return m_wasAb ovePriorityCutoffAtLastPriorityUpdate; }
99 bool inDrawingImplTree() const { return m_inDrawingImplTree; }
98 100
99 void deleteResource(CCResourceProvider*); 101 void deleteResource(CCResourceProvider*);
100 bool resourceHasBeenDeleted() const; 102 bool resourceHasBeenDeleted() const;
101 103
102 private: 104 private:
103 friend class CCPrioritizedTexture; 105 friend class CCPrioritizedTexture;
104 CCPrioritizedTexture* m_owner; 106 CCPrioritizedTexture* m_owner;
105 int m_priorityAtLastPriorityUpdate; 107 int m_priorityAtLastPriorityUpdate;
106 bool m_ownerExistedAtLastPriorityUpdate;
107 bool m_wasAbovePriorityCutoffAtLastPriorityUpdate; 108 bool m_wasAbovePriorityCutoffAtLastPriorityUpdate;
109
110 // Set if this is currently-drawing impl tree.
111 bool m_inDrawingImplTree;
112
108 bool m_resourceHasBeenDeleted; 113 bool m_resourceHasBeenDeleted;
109 #ifndef NDEBUG 114 #ifndef NDEBUG
110 CCResourceProvider* m_resourceProvider; 115 CCResourceProvider* m_resourceProvider;
111 #endif 116 #endif
112 117
113 DISALLOW_COPY_AND_ASSIGN(Backing); 118 DISALLOW_COPY_AND_ASSIGN(Backing);
114 }; 119 };
115 120
116 CCPrioritizedTexture(CCPrioritizedTextureManager*, IntSize, GC3Denum format) ; 121 CCPrioritizedTexture(CCPrioritizedTextureManager*, IntSize, GC3Denum format) ;
117 122
(...skipping 15 matching lines...) Expand all
133 138
134 Backing* m_backing; 139 Backing* m_backing;
135 CCPrioritizedTextureManager* m_manager; 140 CCPrioritizedTextureManager* m_manager;
136 141
137 DISALLOW_COPY_AND_ASSIGN(CCPrioritizedTexture); 142 DISALLOW_COPY_AND_ASSIGN(CCPrioritizedTexture);
138 }; 143 };
139 144
140 } // namespace cc 145 } // namespace cc
141 146
142 #endif 147 #endif
OLDNEW
« no previous file with comments | « cc/layer_tree_host.cc ('k') | cc/prioritized_texture.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698