Index: src/core/SkImageCacherator.cpp |
diff --git a/src/core/SkImageCacherator.cpp b/src/core/SkImageCacherator.cpp |
index 03e358a5684b398135446eb78b69639fa95c81ed..5c0d05451dc7824468e9e8d54cf8b7cdad668abc 100644 |
--- a/src/core/SkImageCacherator.cpp |
+++ b/src/core/SkImageCacherator.cpp |
@@ -18,7 +18,7 @@ |
#include "GrContext.h" |
#include "GrGpuResourcePriv.h" |
#include "GrResourceKey.h" |
-#include "GrTextureAccess.h" |
+#include "GrTextureParams.h" |
#include "GrYUVProvider.h" |
#include "SkGr.h" |
#include "SkGrPriv.h" |
@@ -140,7 +140,7 @@ bool SkImageCacherator::lockAsBitmap(SkBitmap* bitmap, const SkImage* client) { |
{ |
ScopedGenerator generator(this); |
SkIRect subset = SkIRect::MakeXYWH(fOrigin.x(), fOrigin.y(), fInfo.width(), fInfo.height()); |
- tex.reset(generator->generateTexture(nullptr, kUntiled_SkImageUsageType, &subset)); |
+ tex.reset(generator->generateTexture(nullptr, GrTextureParams::ClampNoFilter(), &subset)); |
} |
if (!tex) { |
bitmap->reset(); |
@@ -212,12 +212,12 @@ static GrTexture* set_key_and_return(GrTexture* tex, const GrUniqueKey& key) { |
* We have a 5 ways to try to return a texture (in sorted order) |
* |
* 1. Check the cache for a pre-existing one |
- * 2. Ask the genreator to natively create one |
+ * 2. Ask the generator to natively create one |
* 3. Ask the generator to return a compressed form that the GPU might support |
* 4. Ask the generator to return YUV planes, which the GPU can convert |
* 5. Ask the generator to return RGB(A) data, which the GPU can convert |
*/ |
-GrTexture* SkImageCacherator::lockUnstretchedTexture(GrContext* ctx, SkImageUsageType usage, |
+GrTexture* SkImageCacherator::lockUnstretchedTexture(GrContext* ctx, const GrTextureParams& params, |
const SkImage* client) { |
// textures (at least the texture-key) only support 16bit dimensions, so abort early |
// if we're too big. |
@@ -227,7 +227,7 @@ GrTexture* SkImageCacherator::lockUnstretchedTexture(GrContext* ctx, SkImageUsag |
GrUniqueKey key; |
GrMakeKeyFromImageID(&key, fUniqueID, SkIRect::MakeWH(fInfo.width(), fInfo.height()), |
- *ctx->caps(), usage); |
+ *ctx->caps(), params); |
// 1. Check the cache for a pre-existing one |
if (GrTexture* tex = ctx->textureProvider()->findAndRefTextureByUniqueKey(key)) { |
@@ -238,7 +238,7 @@ GrTexture* SkImageCacherator::lockUnstretchedTexture(GrContext* ctx, SkImageUsag |
{ |
ScopedGenerator generator(this); |
SkIRect subset = SkIRect::MakeXYWH(fOrigin.x(), fOrigin.y(), fInfo.width(), fInfo.height()); |
- if (GrTexture* tex = generator->generateTexture(ctx, usage, &subset)) { |
+ if (GrTexture* tex = generator->generateTexture(ctx, params, &subset)) { |
return set_key_and_return(tex, key); |
} |
} |
@@ -267,7 +267,7 @@ GrTexture* SkImageCacherator::lockUnstretchedTexture(GrContext* ctx, SkImageUsag |
// 5. Ask the generator to return RGB(A) data, which the GPU can convert |
SkBitmap bitmap; |
if (this->tryLockAsBitmap(&bitmap, client)) { |
- return GrRefCachedBitmapTexture(ctx, bitmap, usage); |
+ return GrRefCachedBitmapTexture(ctx, bitmap, params); |
} |
return nullptr; |
} |
@@ -278,11 +278,11 @@ GrTexture* SkImageCacherator::lockUnstretchedTexture(GrContext* ctx, SkImageUsag |
class Cacherator_GrTextureMaker : public GrTextureMaker { |
public: |
- Cacherator_GrTextureMaker(SkImageCacherator* cacher, SkImageUsageType usage, |
+ Cacherator_GrTextureMaker(SkImageCacherator* cacher, const GrTextureParams& params, |
const SkImage* client, const GrUniqueKey& unstretchedKey) |
: INHERITED(cacher->info().width(), cacher->info().height()) |
, fCacher(cacher) |
- , fUsage(usage) |
+ , fParams(params) |
, fClient(client) |
, fUnstretchedKey(unstretchedKey) |
{} |
@@ -293,7 +293,7 @@ protected: |
// GrTexture* onGenerateStretchedTexture(GrContext*, const SkGrStretch&) override; |
GrTexture* onRefUnstretchedTexture(GrContext* ctx) override { |
- return fCacher->lockUnstretchedTexture(ctx, fUsage, fClient); |
+ return fCacher->lockUnstretchedTexture(ctx, fParams, fClient); |
} |
bool onMakeStretchedKey(const SkGrStretch& stretch, GrUniqueKey* stretchedKey) override { |
@@ -312,14 +312,14 @@ protected: |
private: |
SkImageCacherator* fCacher; |
- const SkImageUsageType fUsage; |
+ const GrTextureParams& fParams; |
const SkImage* fClient; |
const GrUniqueKey fUnstretchedKey; |
typedef GrTextureMaker INHERITED; |
}; |
-GrTexture* SkImageCacherator::lockAsTexture(GrContext* ctx, SkImageUsageType usage, |
+GrTexture* SkImageCacherator::lockAsTexture(GrContext* ctx, const GrTextureParams& params, |
const SkImage* client) { |
if (!ctx) { |
return nullptr; |
@@ -328,14 +328,14 @@ GrTexture* SkImageCacherator::lockAsTexture(GrContext* ctx, SkImageUsageType usa |
GrUniqueKey key; |
GrMakeKeyFromImageID(&key, this->uniqueID(), |
SkIRect::MakeWH(this->info().width(), this->info().height()), |
- *ctx->caps(), usage); |
+ *ctx->caps(), params); |
- return Cacherator_GrTextureMaker(this, usage, client, key).refCachedTexture(ctx, usage); |
+ return Cacherator_GrTextureMaker(this, params, client, key).refCachedTexture(ctx, params); |
} |
#else |
-GrTexture* SkImageCacherator::lockAsTexture(GrContext* ctx, SkImageUsageType usage, |
+GrTexture* SkImageCacherator::lockAsTexture(GrContext* ctx, const GrTextureParams&, |
const SkImage* client) { |
return nullptr; |
} |