Index: include/gpu/GrContext.h |
diff --git a/include/gpu/GrContext.h b/include/gpu/GrContext.h |
index 70d34c5c9770b61d032062342022e5ef46f90d83..e6fdeb89f7771db4c0f18b15241abe76c13a1927 100644 |
--- a/include/gpu/GrContext.h |
+++ b/include/gpu/GrContext.h |
@@ -172,14 +172,14 @@ public: |
/** |
* Stores a custom resource in the cache, based on the specified key. |
*/ |
- void addResourceToCache(const GrResourceKey&, GrGpuResource*); |
+ void addResourceToCache(const GrContentKey&, GrGpuResource*); |
/** |
* Finds a resource in the cache, based on the specified key. This is intended for use in |
* conjunction with addResourceToCache(). The return value will be NULL if not found. The |
* caller must balance with a call to unref(). |
*/ |
- GrGpuResource* findAndRefCachedResource(const GrResourceKey&); |
+ GrGpuResource* findAndRefCachedResource(const GrContentKey&); |
/** |
* Creates a new text rendering context that is optimal for the |
@@ -198,45 +198,53 @@ public: |
* Creates a new entry, based on the specified key and texture and returns it. The caller owns a |
* ref on the returned texture which must be balanced by a call to unref. |
* |
+ * TODO: Move resizing logic out of GrContext and have the caller set the content key on the |
+ * returned texture rather than take it as a param. |
+ * |
* @param params The texture params used to draw a texture may help determine |
* the cache entry used. (e.g. different versions may exist |
* for different wrap modes on GPUs with limited NPOT |
* texture support). NULL implies clamp wrap modes. |
* @param desc Description of the texture properties. |
- * @param cacheID Cache-specific properties (e.g., texture gen ID) |
+ * @param key Key to associate with the texture. |
* @param srcData Pointer to the pixel values. |
* @param rowBytes The number of bytes between rows of the texture. Zero |
* implies tightly packed rows. For compressed pixel configs, this |
* field is ignored. |
- * @param cacheKey (optional) If non-NULL, we'll write the cache key we used to cacheKey. |
+ * @param outKey (optional) If non-NULL, we'll write the cache key we used to cacheKey. this |
+ * may differ from key on GPUs that don't support tiling NPOT textures. |
*/ |
GrTexture* createTexture(const GrTextureParams* params, |
const GrSurfaceDesc& desc, |
- const GrCacheID& cacheID, |
+ const GrContentKey& key, |
const void* srcData, |
size_t rowBytes, |
- GrResourceKey* cacheKey = NULL); |
+ GrContentKey* outKey = NULL); |
/** |
* Search for an entry based on key and dimensions. If found, ref it and return it. The return |
* value will be NULL if not found. The caller must balance with a call to unref. |
* |
+ * TODO: Remove this function and do lookups generically. |
+ * |
* @param desc Description of the texture properties. |
- * @param cacheID Cache-specific properties (e.g., texture gen ID) |
+ * @param key key to use for texture look up. |
* @param params The texture params used to draw a texture may help determine |
* the cache entry used. (e.g. different versions may exist |
* for different wrap modes on GPUs with limited NPOT |
* texture support). NULL implies clamp wrap modes. |
*/ |
GrTexture* findAndRefTexture(const GrSurfaceDesc& desc, |
- const GrCacheID& cacheID, |
+ const GrContentKey& key, |
const GrTextureParams* params); |
/** |
* Determines whether a texture is in the cache. If the texture is found it |
* will not be locked or returned. This call does not affect the priority of |
* the texture for deletion. |
+ * |
+ * TODO: Remove this function and do cache checks generically. |
*/ |
bool isTextureInCache(const GrSurfaceDesc& desc, |
- const GrCacheID& cacheID, |
+ const GrContentKey& key, |
const GrTextureParams* params) const; |
/** |
@@ -871,8 +879,9 @@ private: |
const SkPath&, |
const GrStrokeInfo&); |
- GrTexture* createResizedTexture(const GrSurfaceDesc& desc, |
- const GrCacheID& cacheID, |
+ // TODO: Move this out of GrContext. |
+ GrTexture* createResizedTexture(const GrSurfaceDesc&, |
+ const GrContentKey& origKey, |
const void* srcData, |
size_t rowBytes, |
bool filter); |