| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2015 Google Inc. | 2 * Copyright 2015 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 GrTextureProvider_DEFINED | 8 #ifndef GrTextureProvider_DEFINED |
| 9 #define GrTextureProvider_DEFINED | 9 #define GrTextureProvider_DEFINED |
| 10 | 10 |
| (...skipping 28 matching lines...) Expand all Loading... |
| 39 findTextureByUniqueKey(). If an existing texture has this key, it's key
will be removed. */ | 39 findTextureByUniqueKey(). If an existing texture has this key, it's key
will be removed. */ |
| 40 void assignUniqueKeyToTexture(const GrUniqueKey& key, GrTexture* texture) { | 40 void assignUniqueKeyToTexture(const GrUniqueKey& key, GrTexture* texture) { |
| 41 this->assignUniqueKeyToResource(key, texture); | 41 this->assignUniqueKeyToResource(key, texture); |
| 42 } | 42 } |
| 43 | 43 |
| 44 /** Finds a texture by unique key. If the texture is found it is ref'ed and
returned. */ | 44 /** Finds a texture by unique key. If the texture is found it is ref'ed and
returned. */ |
| 45 GrTexture* findAndRefTextureByUniqueKey(const GrUniqueKey& key) { | 45 GrTexture* findAndRefTextureByUniqueKey(const GrUniqueKey& key) { |
| 46 GrGpuResource* resource = this->findAndRefResourceByUniqueKey(key); | 46 GrGpuResource* resource = this->findAndRefResourceByUniqueKey(key); |
| 47 if (resource) { | 47 if (resource) { |
| 48 GrTexture* texture = static_cast<GrSurface*>(resource)->asTexture(); | 48 GrTexture* texture = static_cast<GrSurface*>(resource)->asTexture(); |
| 49 SkASSERT(texture->fromRawPixels2() || texture->fException2); |
| 49 SkASSERT(texture); | 50 SkASSERT(texture); |
| 50 return texture; | 51 return texture; |
| 51 } | 52 } |
| 52 return NULL; | 53 return NULL; |
| 53 } | 54 } |
| 54 | 55 |
| 55 /** | 56 /** |
| 56 * Determines whether a texture is associated with the unique key. If the te
xture is found it | 57 * Determines whether a texture is associated with the unique key. If the te
xture is found it |
| 57 * will not be locked or returned. This call does not affect the priority of
the resource for | 58 * will not be locked or returned. This call does not affect the priority of
the resource for |
| 58 * deletion. | 59 * deletion. |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 94 return kApprox_SizeConstraint; | 95 return kApprox_SizeConstraint; |
| 95 } | 96 } |
| 96 } | 97 } |
| 97 | 98 |
| 98 /** Legacy function that no longer should be used. */ | 99 /** Legacy function that no longer should be used. */ |
| 99 enum ScratchTexMatch { | 100 enum ScratchTexMatch { |
| 100 kExact_ScratchTexMatch, | 101 kExact_ScratchTexMatch, |
| 101 kApprox_ScratchTexMatch | 102 kApprox_ScratchTexMatch |
| 102 }; | 103 }; |
| 103 GrTexture* refScratchTexture(const GrSurfaceDesc& desc, ScratchTexMatch matc
h) { | 104 GrTexture* refScratchTexture(const GrSurfaceDesc& desc, ScratchTexMatch matc
h) { |
| 105 GrTexture* texture; |
| 104 if (kApprox_ScratchTexMatch == match) { | 106 if (kApprox_ScratchTexMatch == match) { |
| 105 return this->createApproxTexture(desc); | 107 texture = this->createApproxTexture(desc); |
| 106 } else { | 108 } else { |
| 107 return this->createTexture(desc, true); | 109 texture = this->createTexture(desc, true); |
| 108 } | 110 } |
| 111 if (texture) { |
| 112 SkASSERT(!texture->fromRawPixels2()); |
| 113 } |
| 114 return texture; |
| 109 } | 115 } |
| 110 | 116 |
| 111 /////////////////////////////////////////////////////////////////////////// | 117 /////////////////////////////////////////////////////////////////////////// |
| 112 // Wrapped Backend Surfaces | 118 // Wrapped Backend Surfaces |
| 113 | 119 |
| 114 /** | 120 /** |
| 115 * Wraps an existing texture with a GrTexture object. | 121 * Wraps an existing texture with a GrTexture object. |
| 116 * | 122 * |
| 117 * OpenGL: if the object is a texture Gr may change its GL texture params | 123 * OpenGL: if the object is a texture Gr may change its GL texture params |
| 118 * when it is drawn. | 124 * when it is drawn. |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 182 SkASSERT(SkToBool(fGpu) == SkToBool(fCache)); | 188 SkASSERT(SkToBool(fGpu) == SkToBool(fCache)); |
| 183 return !SkToBool(fCache); | 189 return !SkToBool(fCache); |
| 184 } | 190 } |
| 185 | 191 |
| 186 private: | 192 private: |
| 187 GrResourceCache* fCache; | 193 GrResourceCache* fCache; |
| 188 GrGpu* fGpu; | 194 GrGpu* fGpu; |
| 189 }; | 195 }; |
| 190 | 196 |
| 191 #endif | 197 #endif |
| OLD | NEW |