Revert "Expand use of GrMakeCachedBitmapProxy"
This reverts commit 561d1f8153
.
Reason for revert: ios-device-xcode-clang
Original change's description:
> Expand use of GrMakeCachedBitmapProxy
>
> Change-Id: Ic276b9d772763dc16ac6b15a0896578d2d02e06e
> Reviewed-on: https://skia-review.googlesource.com/8666
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>
>
TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: I5349cfea983cb65c11b5c250e674a841b9691c40
Reviewed-on: https://skia-review.googlesource.com/8677
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
This commit is contained in:
parent
310f4d02c1
commit
eae7524c59
@ -20,7 +20,6 @@
|
||||
#include "GrContext.h"
|
||||
#include "GrCoordTransform.h"
|
||||
#include "SkGr.h"
|
||||
#include "SkGrPriv.h"
|
||||
#include "effects/GrConstColorProcessor.h"
|
||||
#include "glsl/GrGLSLFragmentProcessor.h"
|
||||
#include "glsl/GrGLSLFragmentShaderBuilder.h"
|
||||
@ -622,16 +621,14 @@ private:
|
||||
|
||||
class GrPerlinNoise2Effect : public GrFragmentProcessor {
|
||||
public:
|
||||
static sk_sp<GrFragmentProcessor> Make(GrTextureProvider* textureProvider,
|
||||
SkPerlinNoiseShader2::Type type,
|
||||
static sk_sp<GrFragmentProcessor> Make(SkPerlinNoiseShader2::Type type,
|
||||
int numOctaves, bool stitchTiles,
|
||||
SkPerlinNoiseShader2::PaintingData* paintingData,
|
||||
sk_sp<GrTextureProxy> permutationsProxy,
|
||||
sk_sp<GrTextureProxy> noiseProxy,
|
||||
GrTexture* permutationsTexture, GrTexture* noiseTexture,
|
||||
const SkMatrix& matrix) {
|
||||
return sk_sp<GrFragmentProcessor>(
|
||||
new GrPerlinNoise2Effect(textureProvider, type, numOctaves, stitchTiles, paintingData,
|
||||
std::move(permutationsProxy), std::move(noiseProxy), matrix));
|
||||
new GrPerlinNoise2Effect(type, numOctaves, stitchTiles, paintingData,
|
||||
permutationsTexture, noiseTexture, matrix));
|
||||
}
|
||||
|
||||
virtual ~GrPerlinNoise2Effect() { delete fPaintingData; }
|
||||
@ -665,18 +662,16 @@ private:
|
||||
fPaintingData->fStitchDataInit == s.fPaintingData->fStitchDataInit;
|
||||
}
|
||||
|
||||
GrPerlinNoise2Effect(GrTextureProvider* textureProvider,
|
||||
SkPerlinNoiseShader2::Type type, int numOctaves, bool stitchTiles,
|
||||
GrPerlinNoise2Effect(SkPerlinNoiseShader2::Type type, int numOctaves, bool stitchTiles,
|
||||
SkPerlinNoiseShader2::PaintingData* paintingData,
|
||||
sk_sp<GrTextureProxy> permutationsProxy,
|
||||
sk_sp<GrTextureProxy> noiseProxy,
|
||||
GrTexture* permutationsTexture, GrTexture* noiseTexture,
|
||||
const SkMatrix& matrix)
|
||||
: INHERITED(kNone_OptimizationFlags)
|
||||
, fType(type)
|
||||
, fNumOctaves(numOctaves)
|
||||
, fStitchTiles(stitchTiles)
|
||||
, fPermutationsSampler(textureProvider, std::move(permutationsProxy))
|
||||
, fNoiseSampler(textureProvider, std::move(noiseProxy))
|
||||
, fPermutationsSampler(permutationsTexture)
|
||||
, fNoiseSampler(noiseTexture)
|
||||
, fPaintingData(paintingData) {
|
||||
this->initClassID<GrPerlinNoise2Effect>();
|
||||
this->addTextureSampler(&fPermutationsSampler);
|
||||
@ -1339,21 +1334,20 @@ sk_sp<GrFragmentProcessor> SkPerlinNoiseShader2::asFragmentProcessor(const AsFPA
|
||||
GrConstColorProcessor::kIgnore_InputMode);
|
||||
}
|
||||
|
||||
sk_sp<GrTextureProxy> permutationsProxy = GrMakeCachedBitmapProxy(
|
||||
args.fContext,
|
||||
paintingData->getPermutationsBitmap());
|
||||
sk_sp<GrTextureProxy> noiseProxy = GrMakeCachedBitmapProxy(args.fContext,
|
||||
paintingData->getNoiseBitmap());
|
||||
sk_sp<GrTexture> permutationsTexture(
|
||||
GrRefCachedBitmapTexture(args.fContext, paintingData->getPermutationsBitmap(),
|
||||
GrSamplerParams::ClampNoFilter(), nullptr));
|
||||
sk_sp<GrTexture> noiseTexture(
|
||||
GrRefCachedBitmapTexture(args.fContext, paintingData->getNoiseBitmap(),
|
||||
GrSamplerParams::ClampNoFilter(), nullptr));
|
||||
|
||||
if (permutationsProxy && noiseProxy) {
|
||||
if ((permutationsTexture) && (noiseTexture)) {
|
||||
sk_sp<GrFragmentProcessor> inner(
|
||||
GrPerlinNoise2Effect::Make(args.fContext->textureProvider(),
|
||||
fType,
|
||||
GrPerlinNoise2Effect::Make(fType,
|
||||
fNumOctaves,
|
||||
fStitchTiles,
|
||||
paintingData,
|
||||
std::move(permutationsProxy),
|
||||
std::move(noiseProxy),
|
||||
permutationsTexture.get(), noiseTexture.get(),
|
||||
m));
|
||||
return GrFragmentProcessor::MulOutputByInputAlpha(std::move(inner));
|
||||
}
|
||||
|
@ -261,7 +261,9 @@ public:
|
||||
|
||||
sk_sp<GrTextureProxy> onAsTextureProxy(GrContext* context) const override {
|
||||
if (context) {
|
||||
return GrMakeCachedBitmapProxy(context, fBitmap);
|
||||
sk_sp<GrTexture> tex(sk_ref_sp(GrRefCachedBitmapTexture(
|
||||
context, fBitmap, GrSamplerParams::ClampNoFilter(), nullptr)));
|
||||
return GrSurfaceProxy::MakeWrapped(std::move(tex));
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
|
@ -19,7 +19,6 @@
|
||||
#include "GrContext.h"
|
||||
#include "GrCoordTransform.h"
|
||||
#include "SkGr.h"
|
||||
#include "SkGrPriv.h"
|
||||
#include "effects/GrConstColorProcessor.h"
|
||||
#include "glsl/GrGLSLFragmentProcessor.h"
|
||||
#include "glsl/GrGLSLFragmentShaderBuilder.h"
|
||||
@ -486,16 +485,14 @@ private:
|
||||
|
||||
class GrPerlinNoiseEffect : public GrFragmentProcessor {
|
||||
public:
|
||||
static sk_sp<GrFragmentProcessor> Make(GrTextureProvider* textureProvider,
|
||||
SkPerlinNoiseShader::Type type,
|
||||
static sk_sp<GrFragmentProcessor> Make(SkPerlinNoiseShader::Type type,
|
||||
int numOctaves, bool stitchTiles,
|
||||
SkPerlinNoiseShader::PaintingData* paintingData,
|
||||
sk_sp<GrTextureProxy> permutationsProxy,
|
||||
sk_sp<GrTextureProxy> noiseProxy,
|
||||
GrTexture* permutationsTexture, GrTexture* noiseTexture,
|
||||
const SkMatrix& matrix) {
|
||||
return sk_sp<GrFragmentProcessor>(
|
||||
new GrPerlinNoiseEffect(textureProvider, type, numOctaves, stitchTiles, paintingData,
|
||||
std::move(permutationsProxy), std::move(noiseProxy), matrix));
|
||||
new GrPerlinNoiseEffect(type, numOctaves, stitchTiles, paintingData,
|
||||
permutationsTexture, noiseTexture, matrix));
|
||||
}
|
||||
|
||||
virtual ~GrPerlinNoiseEffect() { delete fPaintingData; }
|
||||
@ -528,18 +525,17 @@ private:
|
||||
fPaintingData->fStitchDataInit == s.fPaintingData->fStitchDataInit;
|
||||
}
|
||||
|
||||
GrPerlinNoiseEffect(GrTextureProvider* textureProvider,
|
||||
SkPerlinNoiseShader::Type type, int numOctaves, bool stitchTiles,
|
||||
GrPerlinNoiseEffect(SkPerlinNoiseShader::Type type, int numOctaves, bool stitchTiles,
|
||||
SkPerlinNoiseShader::PaintingData* paintingData,
|
||||
sk_sp<GrTextureProxy> permutationsProxy, sk_sp<GrTextureProxy> noiseProxy,
|
||||
GrTexture* permutationsTexture, GrTexture* noiseTexture,
|
||||
const SkMatrix& matrix)
|
||||
: INHERITED(kNone_OptimizationFlags)
|
||||
, fType(type)
|
||||
, fCoordTransform(matrix)
|
||||
, fNumOctaves(numOctaves)
|
||||
, fStitchTiles(stitchTiles)
|
||||
, fPermutationsSampler(textureProvider, std::move(permutationsProxy))
|
||||
, fNoiseSampler(textureProvider, std::move(noiseProxy))
|
||||
, fPermutationsSampler(permutationsTexture)
|
||||
, fNoiseSampler(noiseTexture)
|
||||
, fPaintingData(paintingData) {
|
||||
this->initClassID<GrPerlinNoiseEffect>();
|
||||
this->addTextureSampler(&fPermutationsSampler);
|
||||
@ -915,24 +911,23 @@ sk_sp<GrFragmentProcessor> SkPerlinNoiseShader::asFragmentProcessor(const AsFPAr
|
||||
|
||||
SkPerlinNoiseShader::PaintingData* paintingData =
|
||||
new PaintingData(fTileSize, fSeed, fBaseFrequencyX, fBaseFrequencyY, matrix);
|
||||
sk_sp<GrTextureProxy> permutationsProxy(GrMakeCachedBitmapProxy(
|
||||
args.fContext,
|
||||
paintingData->getPermutationsBitmap()));
|
||||
sk_sp<GrTextureProxy> noiseProxy(GrMakeCachedBitmapProxy(args.fContext,
|
||||
paintingData->getNoiseBitmap()));
|
||||
sk_sp<GrTexture> permutationsTexture(
|
||||
GrRefCachedBitmapTexture(args.fContext, paintingData->getPermutationsBitmap(),
|
||||
GrSamplerParams::ClampNoFilter(), nullptr));
|
||||
sk_sp<GrTexture> noiseTexture(
|
||||
GrRefCachedBitmapTexture(args.fContext, paintingData->getNoiseBitmap(),
|
||||
GrSamplerParams::ClampNoFilter(), nullptr));
|
||||
|
||||
SkMatrix m = *args.fViewMatrix;
|
||||
m.setTranslateX(-localMatrix.getTranslateX() + SK_Scalar1);
|
||||
m.setTranslateY(-localMatrix.getTranslateY() + SK_Scalar1);
|
||||
if (permutationsProxy && noiseProxy) {
|
||||
if ((permutationsTexture) && (noiseTexture)) {
|
||||
sk_sp<GrFragmentProcessor> inner(
|
||||
GrPerlinNoiseEffect::Make(args.fContext->textureProvider(),
|
||||
fType,
|
||||
GrPerlinNoiseEffect::Make(fType,
|
||||
fNumOctaves,
|
||||
fStitchTiles,
|
||||
paintingData,
|
||||
std::move(permutationsProxy),
|
||||
std::move(noiseProxy),
|
||||
permutationsTexture.get(), noiseTexture.get(),
|
||||
m));
|
||||
return GrFragmentProcessor::MulOutputByInputAlpha(std::move(inner));
|
||||
}
|
||||
|
@ -10,7 +10,6 @@
|
||||
#include "SkArenaAlloc.h"
|
||||
#include "SkBitmap.h"
|
||||
#include "SkColorPriv.h"
|
||||
#include "SkGrPriv.h"
|
||||
#include "SkRasterPipeline.h"
|
||||
#include "SkReadBuffer.h"
|
||||
#include "SkString.h"
|
||||
@ -371,9 +370,7 @@ sk_sp<SkColorFilter> SkTable_ColorFilter::makeComposed(sk_sp<SkColorFilter> inne
|
||||
|
||||
class ColorTableEffect : public GrFragmentProcessor {
|
||||
public:
|
||||
static sk_sp<GrFragmentProcessor> Make(GrContext* context,
|
||||
const SkBitmap& bitmap,
|
||||
unsigned flags);
|
||||
static sk_sp<GrFragmentProcessor> Make(GrContext* context, SkBitmap bitmap, unsigned flags);
|
||||
|
||||
virtual ~ColorTableEffect();
|
||||
|
||||
@ -483,7 +480,7 @@ void GLColorTableEffect::emitCode(EmitArgs& args) {
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
sk_sp<GrFragmentProcessor> ColorTableEffect::Make(GrContext* context, const SkBitmap& bitmap,
|
||||
sk_sp<GrFragmentProcessor> ColorTableEffect::Make(GrContext* context, SkBitmap bitmap,
|
||||
unsigned flags) {
|
||||
|
||||
GrTextureStripAtlas::Desc desc;
|
||||
@ -497,19 +494,12 @@ sk_sp<GrFragmentProcessor> ColorTableEffect::Make(GrContext* context, const SkBi
|
||||
sk_sp<GrTexture> texture;
|
||||
if (-1 == row) {
|
||||
atlas = nullptr;
|
||||
|
||||
sk_sp<GrTextureProxy> proxy = GrMakeCachedBitmapProxy(context, bitmap);
|
||||
if (proxy) {
|
||||
texture.reset(proxy->instantiate(context->textureProvider()));
|
||||
}
|
||||
texture.reset(
|
||||
GrRefCachedBitmapTexture(context, bitmap, GrSamplerParams::ClampNoFilter(), nullptr));
|
||||
} else {
|
||||
texture.reset(SkRef(atlas->getTexture()));
|
||||
}
|
||||
|
||||
if (!texture) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return sk_sp<GrFragmentProcessor>(new ColorTableEffect(texture.get(), atlas, row, flags));
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user