Fix NoGPU compilation
All of these functions were written to work without GPU support, just forgot to compile them in that situation. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4796 Change-Id: Ia23d304f07eb16714390b459dd448bc08402f479 Reviewed-on: https://skia-review.googlesource.com/4796 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Stan Iliev <stani@google.com> Commit-Queue: Brian Osman <brianosman@google.com> Commit-Queue: Stan Iliev <stani@google.com>
This commit is contained in:
parent
1ee70359a1
commit
d5a78805c5
@ -263,44 +263,6 @@ bool SkImageCacherator::lockAsBitmap(SkBitmap* bitmap, const SkImage* client,
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#if SK_SUPPORT_GPU
|
||||
|
||||
#ifdef SK_SUPPORT_COMPRESSED_TEXTURES_IN_CACHERATOR
|
||||
static GrTexture* load_compressed_into_texture(GrContext* ctx, SkData* data, GrSurfaceDesc desc) {
|
||||
const void* rawStart;
|
||||
GrPixelConfig config = GrIsCompressedTextureDataSupported(ctx, data, desc.fWidth, desc.fHeight,
|
||||
&rawStart);
|
||||
if (kUnknown_GrPixelConfig == config) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
desc.fConfig = config;
|
||||
return ctx->textureProvider()->createTexture(desc, SkBudgeted::kYes, rawStart, 0);
|
||||
}
|
||||
#endif
|
||||
|
||||
class Generator_GrYUVProvider : public GrYUVProvider {
|
||||
SkImageGenerator* fGen;
|
||||
|
||||
public:
|
||||
Generator_GrYUVProvider(SkImageGenerator* gen) : fGen(gen) {}
|
||||
|
||||
uint32_t onGetID() override { return fGen->uniqueID(); }
|
||||
bool onQueryYUV8(SkYUVSizeInfo* sizeInfo, SkYUVColorSpace* colorSpace) const override {
|
||||
return fGen->queryYUV8(sizeInfo, colorSpace);
|
||||
}
|
||||
bool onGetYUV8Planes(const SkYUVSizeInfo& sizeInfo, void* planes[3]) override {
|
||||
return fGen->getYUV8Planes(sizeInfo, planes);
|
||||
}
|
||||
};
|
||||
|
||||
static GrTexture* set_key_and_return(GrTexture* tex, const GrUniqueKey& key) {
|
||||
if (key.isValid()) {
|
||||
tex->resourcePriv().setUniqueKey(key);
|
||||
}
|
||||
return tex;
|
||||
}
|
||||
|
||||
// Abstraction of GrCaps that handles the cases where we don't have a caps pointer (because
|
||||
// we're in raster mode), or where GPU support is entirely missing.
|
||||
struct CacheCaps {
|
||||
@ -466,6 +428,46 @@ SkImageInfo SkImageCacherator::buildCacheInfo(CachedFormat format) {
|
||||
}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#if SK_SUPPORT_GPU
|
||||
|
||||
#ifdef SK_SUPPORT_COMPRESSED_TEXTURES_IN_CACHERATOR
|
||||
static GrTexture* load_compressed_into_texture(GrContext* ctx, SkData* data, GrSurfaceDesc desc) {
|
||||
const void* rawStart;
|
||||
GrPixelConfig config = GrIsCompressedTextureDataSupported(ctx, data, desc.fWidth, desc.fHeight,
|
||||
&rawStart);
|
||||
if (kUnknown_GrPixelConfig == config) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
desc.fConfig = config;
|
||||
return ctx->textureProvider()->createTexture(desc, SkBudgeted::kYes, rawStart, 0);
|
||||
}
|
||||
#endif
|
||||
|
||||
class Generator_GrYUVProvider : public GrYUVProvider {
|
||||
SkImageGenerator* fGen;
|
||||
|
||||
public:
|
||||
Generator_GrYUVProvider(SkImageGenerator* gen) : fGen(gen) {}
|
||||
|
||||
uint32_t onGetID() override { return fGen->uniqueID(); }
|
||||
bool onQueryYUV8(SkYUVSizeInfo* sizeInfo, SkYUVColorSpace* colorSpace) const override {
|
||||
return fGen->queryYUV8(sizeInfo, colorSpace);
|
||||
}
|
||||
bool onGetYUV8Planes(const SkYUVSizeInfo& sizeInfo, void* planes[3]) override {
|
||||
return fGen->getYUV8Planes(sizeInfo, planes);
|
||||
}
|
||||
};
|
||||
|
||||
static GrTexture* set_key_and_return(GrTexture* tex, const GrUniqueKey& key) {
|
||||
if (key.isValid()) {
|
||||
tex->resourcePriv().setUniqueKey(key);
|
||||
}
|
||||
return tex;
|
||||
}
|
||||
|
||||
/*
|
||||
* We have a 5 ways to try to return a texture (in sorted order)
|
||||
*
|
||||
|
@ -112,6 +112,9 @@ private:
|
||||
|
||||
SkImageCacherator(Validator*);
|
||||
|
||||
CachedFormat chooseCacheFormat(SkDestinationSurfaceColorMode, const GrCaps* = nullptr);
|
||||
SkImageInfo buildCacheInfo(CachedFormat);
|
||||
|
||||
bool generateBitmap(SkBitmap*, const SkImageInfo&);
|
||||
bool tryLockAsBitmap(SkBitmap*, const SkImage*, SkImage::CachingHint, CachedFormat,
|
||||
const SkImageInfo&);
|
||||
@ -120,8 +123,6 @@ private:
|
||||
// it should use the passed in key (if the key is valid).
|
||||
GrTexture* lockTexture(GrContext*, const GrUniqueKey& key, const SkImage* client,
|
||||
SkImage::CachingHint, bool willBeMipped, SkDestinationSurfaceColorMode);
|
||||
CachedFormat chooseCacheFormat(SkDestinationSurfaceColorMode, const GrCaps* = nullptr);
|
||||
SkImageInfo buildCacheInfo(CachedFormat);
|
||||
#endif
|
||||
|
||||
sk_sp<SharedGenerator> fSharedGenerator;
|
||||
|
Loading…
Reference in New Issue
Block a user