diff options
author | 2015-05-28 08:20:58 -0700 | |
---|---|---|
committer | 2015-05-28 08:20:58 -0700 | |
commit | 084d1b61bca3b9e246cdf26377c373744ab6411c (patch) | |
tree | ddbe73e7823816eed36ca9989739e4ec86f96dbe /src | |
parent | 9138c46e572085870638b6f7ad7fcdfcdf3cac99 (diff) |
Revert of Add direct getter for GrCaps to GrContext. (patchset #4 id:60001 of https://codereview.chromium.org/1149773005/)
Reason for revert:
Breaking
Original issue's description:
> Add direct getter for GrCaps to GrContext.
>
> TBR=joshualitt@google.com
>
> Committed: https://skia.googlesource.com/skia/+/9138c46e572085870638b6f7ad7fcdfcdf3cac99
TBR=joshualitt@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/1164443002
Diffstat (limited to 'src')
-rw-r--r-- | src/core/SkPictureShader.cpp | 3 | ||||
-rw-r--r-- | src/effects/SkAlphaThresholdFilter.cpp | 2 | ||||
-rw-r--r-- | src/effects/SkGpuBlurUtils.cpp | 3 | ||||
-rw-r--r-- | src/gpu/GrAddPathRenderers_default.cpp | 4 | ||||
-rw-r--r-- | src/gpu/GrAtlasTextContext.cpp | 2 | ||||
-rw-r--r-- | src/gpu/GrBlurUtils.cpp | 3 | ||||
-rw-r--r-- | src/gpu/GrClipMaskManager.cpp | 5 | ||||
-rwxr-xr-x | src/gpu/GrContext.cpp | 35 | ||||
-rw-r--r-- | src/gpu/GrCoordTransform.cpp | 2 | ||||
-rw-r--r-- | src/gpu/GrDashLinePathRenderer.cpp | 7 | ||||
-rw-r--r-- | src/gpu/GrDashLinePathRenderer.h | 3 | ||||
-rw-r--r-- | src/gpu/GrDrawTarget.cpp | 2 | ||||
-rw-r--r-- | src/gpu/GrInOrderDrawBuffer.cpp | 7 | ||||
-rw-r--r-- | src/gpu/GrPathRendererChain.cpp | 6 | ||||
-rw-r--r-- | src/gpu/GrSWMaskHelper.cpp | 8 | ||||
-rw-r--r-- | src/gpu/SkGpuDevice.cpp | 8 | ||||
-rw-r--r-- | src/gpu/SkGr.cpp | 17 |
17 files changed, 72 insertions, 45 deletions
diff --git a/src/core/SkPictureShader.cpp b/src/core/SkPictureShader.cpp index bbac9ed114..501d5153f5 100644 --- a/src/core/SkPictureShader.cpp +++ b/src/core/SkPictureShader.cpp @@ -17,7 +17,6 @@ #if SK_SUPPORT_GPU #include "GrContext.h" -#include "GrCaps.h" #endif namespace { @@ -346,7 +345,7 @@ bool SkPictureShader::asFragmentProcessor(GrContext* context, const SkPaint& pai GrFragmentProcessor** fp) const { int maxTextureSize = 0; if (context) { - maxTextureSize = context->caps()->maxTextureSize(); + maxTextureSize = context->getMaxTextureSize(); } SkAutoTUnref<SkShader> bitmapShader(this->refBitmapShader(viewM, localMatrix, maxTextureSize)); if (!bitmapShader) { diff --git a/src/effects/SkAlphaThresholdFilter.cpp b/src/effects/SkAlphaThresholdFilter.cpp index fe8887f54e..395408c23e 100644 --- a/src/effects/SkAlphaThresholdFilter.cpp +++ b/src/effects/SkAlphaThresholdFilter.cpp @@ -271,7 +271,7 @@ bool SkAlphaThresholdFilterImpl::asFragmentProcessor(GrFragmentProcessor** fp, if (fp) { GrContext* context = texture->getContext(); GrSurfaceDesc maskDesc; - if (context->caps()->isConfigRenderable(kAlpha_8_GrPixelConfig, false)) { + if (context->isConfigRenderable(kAlpha_8_GrPixelConfig, false)) { maskDesc.fConfig = kAlpha_8_GrPixelConfig; } else { maskDesc.fConfig = kRGBA_8888_GrPixelConfig; diff --git a/src/effects/SkGpuBlurUtils.cpp b/src/effects/SkGpuBlurUtils.cpp index ad268d6961..4997afe22f 100644 --- a/src/effects/SkGpuBlurUtils.cpp +++ b/src/effects/SkGpuBlurUtils.cpp @@ -13,7 +13,6 @@ #include "effects/GrConvolutionEffect.h" #include "effects/GrMatrixConvolutionEffect.h" #include "GrContext.h" -#include "GrCaps.h" #include "GrDrawContext.h" #endif @@ -155,7 +154,7 @@ GrTexture* GaussianBlur(GrContext* context, SkIRect clearRect; int scaleFactorX, radiusX; int scaleFactorY, radiusY; - int maxTextureSize = context->caps()->maxTextureSize(); + int maxTextureSize = context->getMaxTextureSize(); sigmaX = adjust_sigma(sigmaX, maxTextureSize, &scaleFactorX, &radiusX); sigmaY = adjust_sigma(sigmaY, maxTextureSize, &scaleFactorY, &radiusY); diff --git a/src/gpu/GrAddPathRenderers_default.cpp b/src/gpu/GrAddPathRenderers_default.cpp index 71ced4bc3d..f06856a650 100644 --- a/src/gpu/GrAddPathRenderers_default.cpp +++ b/src/gpu/GrAddPathRenderers_default.cpp @@ -27,7 +27,7 @@ #endif void GrPathRenderer::AddPathRenderers(GrContext* ctx, GrPathRendererChain* chain) { - chain->addPathRenderer(SkNEW(GrDashLinePathRenderer))->unref(); + chain->addPathRenderer(SkNEW_ARGS(GrDashLinePathRenderer, (ctx)))->unref(); #if GR_STROKE_PATH_RENDERING chain->addPathRenderer(SkNEW(GrStrokePathRenderer))->unref(); @@ -36,7 +36,7 @@ void GrPathRenderer::AddPathRenderers(GrContext* ctx, GrPathRendererChain* chain chain->addPathRenderer(SkNEW(GrAndroidPathRenderer))->unref(); #endif if (GrPathRenderer* pr = GrStencilAndCoverPathRenderer::Create(ctx->resourceProvider(), - *ctx->caps())) { + *ctx->getGpu()->caps())) { chain->addPathRenderer(pr)->unref(); } #if GR_TESSELLATING_PATH_RENDERING diff --git a/src/gpu/GrAtlasTextContext.cpp b/src/gpu/GrAtlasTextContext.cpp index 1006d4e863..1d2cc4c68b 100644 --- a/src/gpu/GrAtlasTextContext.cpp +++ b/src/gpu/GrAtlasTextContext.cpp @@ -460,7 +460,7 @@ inline bool GrAtlasTextContext::canDrawAsDistanceFields(const SkPaint& skPaint, // rasterizers and mask filters modify alpha, which doesn't // translate well to distance if (skPaint.getRasterizer() || skPaint.getMaskFilter() || - !fContext->caps()->shaderCaps()->shaderDerivativeSupport()) { + !fContext->shaderDerivativeSupport()) { return false; } diff --git a/src/gpu/GrBlurUtils.cpp b/src/gpu/GrBlurUtils.cpp index 66861ec07f..a757a4aed4 100644 --- a/src/gpu/GrBlurUtils.cpp +++ b/src/gpu/GrBlurUtils.cpp @@ -7,7 +7,6 @@ #include "GrBlurUtils.h" #include "GrDrawContext.h" -#include "GrCaps.h" #include "GrContext.h" #include "effects/GrSimpleTextureEffect.h" #include "GrStrokeInfo.h" @@ -111,7 +110,7 @@ static GrTexture* create_mask_GPU(GrContext* context, // render target so default to RGBA_8888 desc.fConfig = kRGBA_8888_GrPixelConfig; - if (context->caps()->isConfigRenderable(kAlpha_8_GrPixelConfig, desc.fSampleCnt > 0)) { + if (context->isConfigRenderable(kAlpha_8_GrPixelConfig, desc.fSampleCnt > 0)) { desc.fConfig = kAlpha_8_GrPixelConfig; } diff --git a/src/gpu/GrClipMaskManager.cpp b/src/gpu/GrClipMaskManager.cpp index f8e045ba7f..9279ba5450 100644 --- a/src/gpu/GrClipMaskManager.cpp +++ b/src/gpu/GrClipMaskManager.cpp @@ -489,7 +489,7 @@ GrTexture* GrClipMaskManager::createTempMask(int width, int height) { desc.fFlags = kRenderTarget_GrSurfaceFlag; desc.fWidth = width; desc.fHeight = height; - if (this->getContext()->caps()->isConfigRenderable(kAlpha_8_GrPixelConfig, false)) { + if (this->getContext()->isConfigRenderable(kAlpha_8_GrPixelConfig, false)) { desc.fConfig = kAlpha_8_GrPixelConfig; } else { desc.fConfig = kRGBA_8888_GrPixelConfig; @@ -526,8 +526,7 @@ GrTexture* GrClipMaskManager::allocMaskTexture(int32_t elementsGenID, desc.fWidth = clipSpaceIBounds.width(); desc.fHeight = clipSpaceIBounds.height(); desc.fConfig = kRGBA_8888_GrPixelConfig; - if (willUpload || - this->getContext()->caps()->isConfigRenderable(kAlpha_8_GrPixelConfig, false)) { + if (willUpload || this->getContext()->isConfigRenderable(kAlpha_8_GrPixelConfig, false)) { // We would always like A8 but it isn't supported on all platforms desc.fConfig = kAlpha_8_GrPixelConfig; } diff --git a/src/gpu/GrContext.cpp b/src/gpu/GrContext.cpp index 2bb085b6bc..5baf722093 100755 --- a/src/gpu/GrContext.cpp +++ b/src/gpu/GrContext.cpp @@ -138,7 +138,6 @@ static int32_t next_id() { GrContext::GrContext() : fUniqueID(next_id()) { fGpu = NULL; - fCaps = NULL; fResourceCache = NULL; fResourceProvider = NULL; fPathRendererChain = NULL; @@ -174,13 +173,10 @@ void GrContext::initCommon() { fBatchFontCache = SkNEW_ARGS(GrBatchFontCache, (this)); fTextBlobCache.reset(SkNEW_ARGS(GrTextBlobCache, (TextBlobCacheOverBudgetCB, this))); - - fCaps = SkRef(fGpu->caps()); } GrContext::~GrContext() { if (!fGpu) { - SkASSERT(!fCaps); return; } @@ -195,7 +191,6 @@ GrContext::~GrContext() { SkDELETE(fBatchFontCache); fGpu->unref(); - fCaps->unref(); SkSafeUnref(fPathRendererChain); SkSafeUnref(fSoftwarePathRenderer); } @@ -263,6 +258,18 @@ GrTextContext* GrContext::createTextContext(GrRenderTarget* renderTarget, //////////////////////////////////////////////////////////////////////////////// +bool GrContext::shaderDerivativeSupport() const { + return fGpu->caps()->shaderCaps()->shaderDerivativeSupport(); +} + +bool GrContext::isConfigTexturable(GrPixelConfig config) const { + return fGpu->caps()->isConfigTexturable(config); +} + +bool GrContext::npotTextureTileSupport() const { + return fGpu->caps()->npotTextureTileSupport(); +} + void GrContext::OverBudgetCB(void* data) { SkASSERT(data); @@ -283,6 +290,18 @@ void GrContext::TextBlobCacheOverBudgetCB(void* data) { context->flush(); } +int GrContext::getMaxTextureSize() const { + return fGpu->caps()->maxTextureSize(); +} + +int GrContext::getMaxRenderTargetSize() const { + return fGpu->caps()->maxRenderTargetSize(); +} + +int GrContext::getMaxSampleCount() const { + return fGpu->caps()->maxSampleCount(); +} + //////////////////////////////////////////////////////////////////////////////// void GrContext::flush(int flagsBitfield) { @@ -668,9 +687,13 @@ GrPathRenderer* GrContext::getPathRenderer(const GrDrawTarget* target, } //////////////////////////////////////////////////////////////////////////////// +bool GrContext::isConfigRenderable(GrPixelConfig config, bool withMSAA) const { + return fGpu->caps()->isConfigRenderable(config, withMSAA); +} + int GrContext::getRecommendedSampleCount(GrPixelConfig config, SkScalar dpi) const { - if (!this->caps()->isConfigRenderable(config, true)) { + if (!this->isConfigRenderable(config, true)) { return 0; } int chosenSampleCount = 0; diff --git a/src/gpu/GrCoordTransform.cpp b/src/gpu/GrCoordTransform.cpp index e7d9b1ecb0..596a94bbdf 100644 --- a/src/gpu/GrCoordTransform.cpp +++ b/src/gpu/GrCoordTransform.cpp @@ -27,7 +27,7 @@ void GrCoordTransform::reset(GrCoordSet sourceCoords, const SkMatrix& m, const G int subPixelThresh = filter > GrTextureParams::kNone_FilterMode ? 4 : 1; fPrecision = kDefault_GrSLPrecision; if (texture->getContext()) { - const GrShaderCaps* caps = texture->getContext()->caps()->shaderCaps(); + const GrShaderCaps* caps = texture->getContext()->getGpu()->caps()->shaderCaps(); if (caps->floatPrecisionVaries()) { int maxD = SkTMax(texture->width(), texture->height()); const GrShaderCaps::PrecisionInfo* info; diff --git a/src/gpu/GrDashLinePathRenderer.cpp b/src/gpu/GrDashLinePathRenderer.cpp index c27e61b70f..67dc6c7703 100644 --- a/src/gpu/GrDashLinePathRenderer.cpp +++ b/src/gpu/GrDashLinePathRenderer.cpp @@ -10,6 +10,13 @@ #include "GrGpu.h" #include "effects/GrDashingEffect.h" +GrDashLinePathRenderer::GrDashLinePathRenderer(GrContext* context) + : fGpu(SkRef(context->getGpu())) { +} + +GrDashLinePathRenderer::~GrDashLinePathRenderer() { +} + bool GrDashLinePathRenderer::canDrawPath(const GrDrawTarget* target, const GrPipelineBuilder* pipelineBuilder, const SkMatrix& viewMatrix, diff --git a/src/gpu/GrDashLinePathRenderer.h b/src/gpu/GrDashLinePathRenderer.h index 09dc7ee236..632f30a898 100644 --- a/src/gpu/GrDashLinePathRenderer.h +++ b/src/gpu/GrDashLinePathRenderer.h @@ -13,6 +13,9 @@ class GrDashLinePathRenderer : public GrPathRenderer { public: + GrDashLinePathRenderer(GrContext*); + ~GrDashLinePathRenderer(); + bool canDrawPath(const GrDrawTarget*, const GrPipelineBuilder*, const SkMatrix& viewMatrix, diff --git a/src/gpu/GrDrawTarget.cpp b/src/gpu/GrDrawTarget.cpp index a2c824b58c..7d5a4f992f 100644 --- a/src/gpu/GrDrawTarget.cpp +++ b/src/gpu/GrDrawTarget.cpp @@ -32,7 +32,7 @@ GrDrawTarget::GrDrawTarget(GrContext* context) : fContext(context) - , fCaps(SkRef(context->caps())) + , fCaps(SkRef(context->getGpu()->caps())) , fGpuTraceMarkerCount(0) , fFlushing(false) { SkASSERT(context); diff --git a/src/gpu/GrInOrderDrawBuffer.cpp b/src/gpu/GrInOrderDrawBuffer.cpp index 491e5cf577..10633fc340 100644 --- a/src/gpu/GrInOrderDrawBuffer.cpp +++ b/src/gpu/GrInOrderDrawBuffer.cpp @@ -9,14 +9,15 @@ // We will use the reordering buffer, unless we have NVPR. // TODO move NVPR to batch so we can reorder -static inline bool allow_reordering(const GrCaps* caps) { - //return !caps->shaderCaps()->pathRenderingSupport(); +static inline bool allow_reordering(const GrGpu* gpu) { + //const GrCaps* caps = gpu->caps(); + //return caps && caps->shaderCaps() && !caps->shaderCaps()->pathRenderingSupport(); return false; } GrInOrderDrawBuffer::GrInOrderDrawBuffer(GrContext* context) : INHERITED(context) - , fCommands(GrCommandBuilder::Create(context->getGpu(), allow_reordering(context->caps()))) + , fCommands(GrCommandBuilder::Create(context->getGpu(), allow_reordering(context->getGpu()))) , fPathIndexBuffer(kPathIdxBufferMinReserve * sizeof(char)/4) , fPathTransformBuffer(kPathXformBufferMinReserve * sizeof(float)/4) , fPipelineBuffer(kPipelineBufferMinReserve) diff --git a/src/gpu/GrPathRendererChain.cpp b/src/gpu/GrPathRendererChain.cpp index 7c68a02469..bc74e2f4f7 100644 --- a/src/gpu/GrPathRendererChain.cpp +++ b/src/gpu/GrPathRendererChain.cpp @@ -78,9 +78,9 @@ GrPathRenderer* GrPathRendererChain::getPathRenderer(const GrDrawTarget* target, void GrPathRendererChain::init() { SkASSERT(!fInit); - const GrCaps* caps = fOwner->caps(); - bool twoSided = caps->twoSidedStencilSupport(); - bool wrapOp = caps->stencilWrapOpsSupport(); + GrGpu* gpu = fOwner->getGpu(); + bool twoSided = gpu->caps()->twoSidedStencilSupport(); + bool wrapOp = gpu->caps()->stencilWrapOpsSupport(); GrPathRenderer::AddPathRenderers(fOwner, this); this->addPathRenderer(SkNEW_ARGS(GrDefaultPathRenderer, (twoSided, wrapOp)))->unref(); diff --git a/src/gpu/GrSWMaskHelper.cpp b/src/gpu/GrSWMaskHelper.cpp index cc5fb00653..c978866c3f 100644 --- a/src/gpu/GrSWMaskHelper.cpp +++ b/src/gpu/GrSWMaskHelper.cpp @@ -174,8 +174,8 @@ bool GrSWMaskHelper::init(const SkIRect& resultBounds, resultBounds.height()); if (allowCompression && - fContext->caps()->drawPathMasksToCompressedTexturesSupport() && - choose_compressed_fmt(fContext->caps(), &fCompressedFormat)) { + fContext->getGpu()->caps()->drawPathMasksToCompressedTexturesSupport() && + choose_compressed_fmt(fContext->getGpu()->caps(), &fCompressedFormat)) { fCompressionMode = kCompress_CompressionMode; } @@ -245,7 +245,7 @@ GrTexture* GrSWMaskHelper::createTexture() { #endif desc.fConfig = fmt_to_config(fCompressedFormat); - SkASSERT(fContext->caps()->isConfigTexturable(desc.fConfig)); + SkASSERT(fContext->getGpu()->caps()->isConfigTexturable(desc.fConfig)); } return fContext->textureProvider()->refScratchTexture( @@ -256,7 +256,7 @@ void GrSWMaskHelper::sendTextureData(GrTexture *texture, const GrSurfaceDesc& de const void *data, size_t rowbytes) { // If we aren't reusing scratch textures we don't need to flush before // writing since no one else will be using 'texture' - bool reuseScratch = fContext->caps()->reuseScratchTextures(); + bool reuseScratch = fContext->getGpu()->caps()->reuseScratchTextures(); // Since we're uploading to it, and it's compressed, 'texture' shouldn't // have a render target. diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp index beed2fab28..90e53a0b10 100644 --- a/src/gpu/SkGpuDevice.cpp +++ b/src/gpu/SkGpuDevice.cpp @@ -910,7 +910,7 @@ void SkGpuDevice::drawBitmapCommon(const SkDraw& draw, // FIXME: the tiled bitmap code path doesn't currently support // anti-aliased edges, we work around that for now by drawing directly // if the image size exceeds maximum texture size. - int maxTextureSize = fContext->caps()->maxTextureSize(); + int maxTextureSize = fContext->getMaxTextureSize(); bool directDraw = fRenderTarget->isMultisampled() || !paint.isAntiAlias() || bitmap.width() > maxTextureSize || @@ -1034,7 +1034,7 @@ void SkGpuDevice::drawBitmapCommon(const SkDraw& draw, } params.setFilterMode(textureFilterMode); - int maxTileSize = fContext->caps()->maxTextureSize() - 2 * tileFilterPad; + int maxTileSize = fContext->getMaxTextureSize() - 2 * tileFilterPad; int tileSize; SkIRect clippedSrcRect; @@ -1163,8 +1163,8 @@ void SkGpuDevice::internalDrawBitmap(const SkBitmap& bitmap, SkCanvas::DrawBitmapRectFlags flags, bool bicubic, bool needsTextureDomain) { - SkASSERT(bitmap.width() <= fContext->caps()->maxTextureSize() && - bitmap.height() <= fContext->caps()->maxTextureSize()); + SkASSERT(bitmap.width() <= fContext->getMaxTextureSize() && + bitmap.height() <= fContext->getMaxTextureSize()); GrTexture* texture; AutoBitmapTexture abt(fContext, bitmap, ¶ms, &texture); diff --git a/src/gpu/SkGr.cpp b/src/gpu/SkGr.cpp index 70c81f930a..decb35848e 100644 --- a/src/gpu/SkGr.cpp +++ b/src/gpu/SkGr.cpp @@ -7,7 +7,6 @@ #include "SkGr.h" -#include "GrCaps.h" #include "GrDrawContext.h" #include "GrXferProcessor.h" #include "SkColorFilter.h" @@ -97,7 +96,7 @@ enum Stretch { static Stretch get_stretch_type(const GrContext* ctx, int width, int height, const GrTextureParams* params) { if (params && params->isTiled()) { - if (!ctx->caps()->npotTextureTileSupport() && (!SkIsPow2(width) || !SkIsPow2(height))) { + if (!ctx->npotTextureTileSupport() && (!SkIsPow2(width) || !SkIsPow2(height))) { switch(params->filterMode()) { case GrTextureParams::kNone_FilterMode: return kNearest_Stretch; @@ -199,7 +198,6 @@ GrTexture* stretch_texture_to_next_pot(GrTexture* inputTexture, Stretch stretch, GrContext* context = inputTexture->getContext(); SkASSERT(context); - const GrCaps* caps = context->caps(); // Either it's a cache miss or the original wasn't cached to begin with. GrSurfaceDesc rtDesc = inputTexture->desc(); @@ -210,18 +208,18 @@ GrTexture* stretch_texture_to_next_pot(GrTexture* inputTexture, Stretch stretch, // If the config isn't renderable try converting to either A8 or an 32 bit config. Otherwise, // fail. - if (!caps->isConfigRenderable(rtDesc.fConfig, false)) { + if (!context->isConfigRenderable(rtDesc.fConfig, false)) { if (GrPixelConfigIsAlphaOnly(rtDesc.fConfig)) { - if (caps->isConfigRenderable(kAlpha_8_GrPixelConfig, false)) { + if (context->isConfigRenderable(kAlpha_8_GrPixelConfig, false)) { rtDesc.fConfig = kAlpha_8_GrPixelConfig; - } else if (caps->isConfigRenderable(kSkia8888_GrPixelConfig, false)) { + } else if (context->isConfigRenderable(kSkia8888_GrPixelConfig, false)) { rtDesc.fConfig = kSkia8888_GrPixelConfig; } else { return NULL; } } else if (kRGB_GrColorComponentFlags == (kRGB_GrColorComponentFlags & GrPixelConfigComponentMask(rtDesc.fConfig))) { - if (caps->isConfigRenderable(kSkia8888_GrPixelConfig, false)) { + if (context->isConfigRenderable(kSkia8888_GrPixelConfig, false)) { rtDesc.fConfig = kSkia8888_GrPixelConfig; } else { return NULL; @@ -425,10 +423,9 @@ static GrTexture* create_unstretched_bitmap_texture(GrContext* ctx, GrSurfaceDesc desc; generate_bitmap_texture_desc(*bitmap, &desc); - const GrCaps* caps = ctx->caps(); if (kIndex_8_SkColorType == bitmap->colorType()) { - if (caps->isConfigTexturable(kIndex_8_GrPixelConfig)) { + if (ctx->isConfigTexturable(kIndex_8_GrPixelConfig)) { size_t imageSize = GrCompressedFormatDataSize(kIndex_8_GrPixelConfig, bitmap->width(), bitmap->height()); SkAutoMalloc storage(imageSize); @@ -450,7 +447,7 @@ static GrTexture* create_unstretched_bitmap_texture(GrContext* ctx, #ifndef SK_IGNORE_ETC1_SUPPORT // Make sure that the underlying device supports ETC1 textures before we go ahead // and check the data. - else if (caps->isConfigTexturable(kETC1_GrPixelConfig) + else if (ctx->isConfigTexturable(kETC1_GrPixelConfig) // If the bitmap had compressed data and was then uncompressed, it'll still return // compressed data on 'refEncodedData' and upload it. Probably not good, since if // the bitmap has available pixels, then they might not be what the decompressed |