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

Side by Side Diff: cc/prioritized_texture.h

Issue 11232051: Remove static thread pointers from CC (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Apply code review comments Created 8 years, 1 month 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 #ifndef CCPrioritizedTexture_h 5 #ifndef CCPrioritizedTexture_h
6 #define CCPrioritizedTexture_h 6 #define CCPrioritizedTexture_h
7 7
8 #include "IntRect.h" 8 #include "IntRect.h"
9 #include "IntSize.h" 9 #include "IntSize.h"
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
11 #include "base/logging.h" 11 #include "base/logging.h"
12 #include "base/memory/scoped_ptr.h" 12 #include "base/memory/scoped_ptr.h"
13 #include "cc/priority_calculator.h" 13 #include "cc/priority_calculator.h"
14 #include "cc/resource_provider.h" 14 #include "cc/resource_provider.h"
15 #include "cc/texture.h" 15 #include "cc/texture.h"
16 #include "third_party/khronos/GLES2/gl2.h" 16 #include "third_party/khronos/GLES2/gl2.h"
17 17
18 namespace cc { 18 namespace cc {
19 19
20 class PrioritizedTextureManager; 20 class PrioritizedTextureManager;
21 class Proxy;
21 22
22 class PrioritizedTexture { 23 class PrioritizedTexture {
23 public: 24 public:
24 static scoped_ptr<PrioritizedTexture> create(PrioritizedTextureManager* mana ger, IntSize size, GLenum format) 25 static scoped_ptr<PrioritizedTexture> create(PrioritizedTextureManager* mana ger, IntSize size, GLenum format)
25 { 26 {
26 return make_scoped_ptr(new PrioritizedTexture(manager, size, format)); 27 return make_scoped_ptr(new PrioritizedTexture(manager, size, format));
27 } 28 }
28 static scoped_ptr<PrioritizedTexture> create(PrioritizedTextureManager* mana ger) 29 static scoped_ptr<PrioritizedTexture> create(PrioritizedTextureManager* mana ger)
29 { 30 {
30 return make_scoped_ptr(new PrioritizedTexture(manager, IntSize(), 0)); 31 return make_scoped_ptr(new PrioritizedTexture(manager, IntSize(), 0));
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 PrioritizedTexture* owner() { return m_owner; } 100 PrioritizedTexture* owner() { return m_owner; }
100 bool canBeRecycled() const; 101 bool canBeRecycled() const;
101 int requestPriorityAtLastPriorityUpdate() const { return m_priorityAtLas tPriorityUpdate; } 102 int requestPriorityAtLastPriorityUpdate() const { return m_priorityAtLas tPriorityUpdate; }
102 bool wasAbovePriorityCutoffAtLastPriorityUpdate() const { return m_wasAb ovePriorityCutoffAtLastPriorityUpdate; } 103 bool wasAbovePriorityCutoffAtLastPriorityUpdate() const { return m_wasAb ovePriorityCutoffAtLastPriorityUpdate; }
103 bool inDrawingImplTree() const { return m_inDrawingImplTree; } 104 bool inDrawingImplTree() const { return m_inDrawingImplTree; }
104 105
105 void deleteResource(ResourceProvider*); 106 void deleteResource(ResourceProvider*);
106 bool resourceHasBeenDeleted() const; 107 bool resourceHasBeenDeleted() const;
107 108
108 private: 109 private:
110 const Proxy* proxy() const;
111
109 friend class PrioritizedTexture; 112 friend class PrioritizedTexture;
110 PrioritizedTexture* m_owner; 113 PrioritizedTexture* m_owner;
111 int m_priorityAtLastPriorityUpdate; 114 int m_priorityAtLastPriorityUpdate;
112 bool m_wasAbovePriorityCutoffAtLastPriorityUpdate; 115 bool m_wasAbovePriorityCutoffAtLastPriorityUpdate;
113 116
114 // Set if this is currently-drawing impl tree. 117 // Set if this is currently-drawing impl tree.
115 bool m_inDrawingImplTree; 118 bool m_inDrawingImplTree;
116 119
117 bool m_resourceHasBeenDeleted; 120 bool m_resourceHasBeenDeleted;
118 #ifndef NDEBUG 121 #ifndef NDEBUG
119 ResourceProvider* m_resourceProvider; 122 ResourceProvider* m_resourceProvider;
120 #endif 123 #endif
121
122 DISALLOW_COPY_AND_ASSIGN(Backing); 124 DISALLOW_COPY_AND_ASSIGN(Backing);
123 }; 125 };
124 126
125 PrioritizedTexture(PrioritizedTextureManager*, IntSize, GLenum format); 127 PrioritizedTexture(PrioritizedTextureManager*, IntSize, GLenum format);
126 128
127 bool isAbovePriorityCutoff() { return m_isAbovePriorityCutoff; } 129 bool isAbovePriorityCutoff() { return m_isAbovePriorityCutoff; }
128 void setAbovePriorityCutoff(bool isAbovePriorityCutoff) { m_isAbovePriorityC utoff = isAbovePriorityCutoff; } 130 void setAbovePriorityCutoff(bool isAbovePriorityCutoff) { m_isAbovePriorityC utoff = isAbovePriorityCutoff; }
129 void setManagerInternal(PrioritizedTextureManager* manager) { m_manager = ma nager; } 131 void setManagerInternal(PrioritizedTextureManager* manager) { m_manager = ma nager; }
130 132
131 Backing* backing() const { return m_backing; } 133 Backing* backing() const { return m_backing; }
(...skipping 11 matching lines...) Expand all
143 145
144 Backing* m_backing; 146 Backing* m_backing;
145 PrioritizedTextureManager* m_manager; 147 PrioritizedTextureManager* m_manager;
146 148
147 DISALLOW_COPY_AND_ASSIGN(PrioritizedTexture); 149 DISALLOW_COPY_AND_ASSIGN(PrioritizedTexture);
148 }; 150 };
149 151
150 } // namespace cc 152 } // namespace cc
151 153
152 #endif 154 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698