| OLD | NEW | 
|    1 /* |    1 /* | 
|    2  * Copyright 2014 Google Inc. |    2  * Copyright 2014 Google Inc. | 
|    3  * |    3  * | 
|    4  * Use of this source code is governed by a BSD-style license that can be |    4  * Use of this source code is governed by a BSD-style license that can be | 
|    5  * found in the LICENSE file. |    5  * found in the LICENSE file. | 
|    6  */ |    6  */ | 
|    7  |    7  | 
|    8 #ifndef GrGpuResource_DEFINED |    8 #ifndef GrGpuResource_DEFINED | 
|    9 #define GrGpuResource_DEFINED |    9 #define GrGpuResource_DEFINED | 
|   10  |   10  | 
| (...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  167      */ |  167      */ | 
|  168     uint32_t getUniqueID() const { return fUniqueID; } |  168     uint32_t getUniqueID() const { return fUniqueID; } | 
|  169  |  169  | 
|  170     /** |  170     /** | 
|  171      * Internal-only helper class used for cache manipulations of the reosurce. |  171      * Internal-only helper class used for cache manipulations of the reosurce. | 
|  172      */ |  172      */ | 
|  173     class CacheAccess; |  173     class CacheAccess; | 
|  174     inline CacheAccess cacheAccess(); |  174     inline CacheAccess cacheAccess(); | 
|  175     inline const CacheAccess cacheAccess() const; |  175     inline const CacheAccess cacheAccess() const; | 
|  176  |  176  | 
 |  177     /** | 
 |  178      * Removes references to objects in the underlying 3D API without freeing th
     em. | 
 |  179      * Called by CacheAccess. | 
 |  180      * In general this method should not be called outside of skia. It was | 
 |  181      * made by public for a special case where it needs to be called in Blink | 
 |  182      * when a texture becomes unsafe to use after having been shared through | 
 |  183      * a texture mailbox. | 
 |  184      */ | 
 |  185     void abandon(); | 
 |  186  | 
|  177 protected: |  187 protected: | 
|  178     // This must be called by every GrGpuObject. It should be called once the ob
     ject is fully |  188     // This must be called by every GrGpuObject. It should be called once the ob
     ject is fully | 
|  179     // initialized (i.e. not in a base class constructor). |  189     // initialized (i.e. not in a base class constructor). | 
|  180     void registerWithCache(); |  190     void registerWithCache(); | 
|  181  |  191  | 
|  182     GrGpuResource(GrGpu*, bool isWrapped); |  192     GrGpuResource(GrGpu*, bool isWrapped); | 
|  183     virtual ~GrGpuResource(); |  193     virtual ~GrGpuResource(); | 
|  184  |  194  | 
|  185     GrGpu* getGpu() const { return fGpu; } |  195     GrGpu* getGpu() const { return fGpu; } | 
|  186  |  196  | 
| (...skipping 17 matching lines...) Expand all  Loading... | 
|  204      * By default resources are not usable as scratch. This should only be calle
     d once. |  214      * By default resources are not usable as scratch. This should only be calle
     d once. | 
|  205      **/ |  215      **/ | 
|  206     void setScratchKey(const GrResourceKey& scratchKey); |  216     void setScratchKey(const GrResourceKey& scratchKey); | 
|  207  |  217  | 
|  208 private: |  218 private: | 
|  209     /** |  219     /** | 
|  210      * Frees the object in the underlying 3D API. Called by CacheAccess. |  220      * Frees the object in the underlying 3D API. Called by CacheAccess. | 
|  211      */ |  221      */ | 
|  212     void release(); |  222     void release(); | 
|  213  |  223  | 
|  214     /** |  | 
|  215      * Removes references to objects in the underlying 3D API without freeing th
     em.  |  | 
|  216      * Called by CacheAccess. |  | 
|  217      */ |  | 
|  218     void abandon(); |  | 
|  219  |  | 
|  220     virtual size_t onGpuMemorySize() const = 0; |  224     virtual size_t onGpuMemorySize() const = 0; | 
|  221  |  225  | 
|  222     // See comments in CacheAccess. |  226     // See comments in CacheAccess. | 
|  223     bool setContentKey(const GrResourceKey& contentKey); |  227     bool setContentKey(const GrResourceKey& contentKey); | 
|  224     void setBudgeted(bool countsAgainstBudget); |  228     void setBudgeted(bool countsAgainstBudget); | 
|  225     void notifyIsPurgable() const; |  229     void notifyIsPurgable() const; | 
|  226     void removeScratchKey(); |  230     void removeScratchKey(); | 
|  227  |  231  | 
|  228 #ifdef SK_DEBUG |  232 #ifdef SK_DEBUG | 
|  229     friend class GrGpu; // for assert in GrGpu to access getGpu |  233     friend class GrGpu; // for assert in GrGpu to access getGpu | 
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  266     mutable size_t          fGpuMemorySize; |  270     mutable size_t          fGpuMemorySize; | 
|  267  |  271  | 
|  268     uint32_t                fFlags; |  272     uint32_t                fFlags; | 
|  269     const uint32_t          fUniqueID; |  273     const uint32_t          fUniqueID; | 
|  270  |  274  | 
|  271     typedef GrIORef<GrGpuResource> INHERITED; |  275     typedef GrIORef<GrGpuResource> INHERITED; | 
|  272     friend class GrIORef<GrGpuResource>; // to access notifyIsPurgable. |  276     friend class GrIORef<GrGpuResource>; // to access notifyIsPurgable. | 
|  273 }; |  277 }; | 
|  274  |  278  | 
|  275 #endif |  279 #endif | 
| OLD | NEW |