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

Side by Side Diff: src/gpu/GrResourceCache2.h

Issue 747043004: Use scratch keys for stencil buffers. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Address comment Created 6 years 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
« no previous file with comments | « src/gpu/GrGpuResourceCacheAccess.h ('k') | src/gpu/GrResourceCache2.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 1
2 /* 2 /*
3 * Copyright 2014 Google Inc. 3 * Copyright 2014 Google Inc.
4 * 4 *
5 * Use of this source code is governed by a BSD-style license that can be 5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 6 * found in the LICENSE file.
7 */ 7 */
8 8
9 #ifndef GrResourceCache2_DEFINED 9 #ifndef GrResourceCache2_DEFINED
10 #define GrResourceCache2_DEFINED 10 #define GrResourceCache2_DEFINED
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 154
155 private: 155 private:
156 /////////////////////////////////////////////////////////////////////////// 156 ///////////////////////////////////////////////////////////////////////////
157 /// @name Methods accessible via ResourceAccess 157 /// @name Methods accessible via ResourceAccess
158 //// 158 ////
159 void insertResource(GrGpuResource*); 159 void insertResource(GrGpuResource*);
160 void removeResource(GrGpuResource*); 160 void removeResource(GrGpuResource*);
161 void notifyPurgable(GrGpuResource*); 161 void notifyPurgable(GrGpuResource*);
162 void didChangeGpuMemorySize(const GrGpuResource*, size_t oldSize); 162 void didChangeGpuMemorySize(const GrGpuResource*, size_t oldSize);
163 bool didSetContentKey(GrGpuResource*); 163 bool didSetContentKey(GrGpuResource*);
164 void willRemoveScratchKey(const GrGpuResource*);
164 void didChangeBudgetStatus(GrGpuResource*); 165 void didChangeBudgetStatus(GrGpuResource*);
165 void makeResourceMRU(GrGpuResource*); 166 void makeResourceMRU(GrGpuResource*);
166 /// @} 167 /// @}
167 168
168 void purgeAsNeeded() { 169 void purgeAsNeeded() {
169 if (fPurging || (fBudgetedCount <= fMaxCount && fBudgetedBytes < fMaxByt es)) { 170 if (fPurging || (fBudgetedCount <= fMaxCount && fBudgetedBytes < fMaxByt es)) {
170 return; 171 return;
171 } 172 }
172 this->internalPurgeAsNeeded(); 173 this->internalPurgeAsNeeded();
173 } 174 }
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
270 /** 271 /**
271 * Called by GrGpuResources when their content keys change. 272 * Called by GrGpuResources when their content keys change.
272 * 273 *
273 * This currently returns a bool and fails when an existing resource has a k ey that collides 274 * This currently returns a bool and fails when an existing resource has a k ey that collides
274 * with the new content key. In the future it will null out the content key for the existing 275 * with the new content key. In the future it will null out the content key for the existing
275 * resource. The failure is a temporary measure taken because duties are spl it between two 276 * resource. The failure is a temporary measure taken because duties are spl it between two
276 * cache objects currently. 277 * cache objects currently.
277 */ 278 */
278 bool didSetContentKey(GrGpuResource* resource) { return fCache->didSetConten tKey(resource); } 279 bool didSetContentKey(GrGpuResource* resource) { return fCache->didSetConten tKey(resource); }
279 280
281 /**
282 * Called by GrGpuResources when the remove their scratch key.
283 */
284 void willRemoveScratchKey(const GrGpuResource* resource) {
285 fCache->willRemoveScratchKey(resource);
286 }
280 287
281 /** 288 /**
282 * Called by GrGpuResources when they change from budgeted to unbudgeted or vice versa. 289 * Called by GrGpuResources when they change from budgeted to unbudgeted or vice versa.
283 */ 290 */
284 void didChangeBudgetStatus(GrGpuResource* resource) { fCache->didChangeBudge tStatus(resource); } 291 void didChangeBudgetStatus(GrGpuResource* resource) { fCache->didChangeBudge tStatus(resource); }
285 292
286 // No taking addresses of this type. 293 // No taking addresses of this type.
287 const ResourceAccess* operator&() const; 294 const ResourceAccess* operator&() const;
288 ResourceAccess* operator&(); 295 ResourceAccess* operator&();
289 296
290 GrResourceCache2* fCache; 297 GrResourceCache2* fCache;
291 298
292 friend class GrGpuResource; // To access all the proxy inline methods. 299 friend class GrGpuResource; // To access all the proxy inline methods.
293 friend class GrResourceCache2; // To create this type. 300 friend class GrResourceCache2; // To create this type.
294 }; 301 };
295 302
296 inline GrResourceCache2::ResourceAccess GrResourceCache2::resourceAccess() { 303 inline GrResourceCache2::ResourceAccess GrResourceCache2::resourceAccess() {
297 return ResourceAccess(this); 304 return ResourceAccess(this);
298 } 305 }
299 306
300 #endif 307 #endif
OLDNEW
« no previous file with comments | « src/gpu/GrGpuResourceCacheAccess.h ('k') | src/gpu/GrResourceCache2.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698