diff options
author | 2016-04-11 12:18:09 -0700 | |
---|---|---|
committer | 2016-04-11 12:18:09 -0700 | |
commit | 3f6f76f98b6b37d17d1492791ff0feb1b7586bd6 (patch) | |
tree | f9d4ea6d87cfe9f1f05626eaac549e163bd00638 /src/gpu | |
parent | a6b92ad1f7b79106caef6a4c721903544f507a02 (diff) |
Rename EmitArgs::fSamplers to fTexSamplers
Renames fSamplers to fTexSamplers in GrProcessor EmitArgs, and renames
GrGLSLTextureSampler to GrGLSLSampler. This will allow us to add a
second array of buffer samplers.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1862373003
Review URL: https://codereview.chromium.org/1862373003
Diffstat (limited to 'src/gpu')
21 files changed, 74 insertions, 74 deletions
diff --git a/src/gpu/effects/GrBicubicEffect.cpp b/src/gpu/effects/GrBicubicEffect.cpp index a74b2d48fb..0a06b62c41 100644 --- a/src/gpu/effects/GrBicubicEffect.cpp +++ b/src/gpu/effects/GrBicubicEffect.cpp @@ -99,7 +99,7 @@ void GrGLBicubicEffect::emitCode(EmitArgs& args) { domain, sampleVar.c_str(), coord, - args.fSamplers[0]); + args.fTexSamplers[0]); } fragBuilder->codeAppendf( "\tvec4 s%d = %s(%s, f.x, rowColors[0], rowColors[1], rowColors[2], rowColors[3]);\n", diff --git a/src/gpu/effects/GrBitmapTextGeoProc.cpp b/src/gpu/effects/GrBitmapTextGeoProc.cpp index b5bae466fd..246d7be627 100644 --- a/src/gpu/effects/GrBitmapTextGeoProc.cpp +++ b/src/gpu/effects/GrBitmapTextGeoProc.cpp @@ -66,14 +66,14 @@ public: if (cte.maskFormat() == kARGB_GrMaskFormat) { fragBuilder->codeAppendf("%s = ", args.fOutputColor); fragBuilder->appendTextureLookupAndModulate(args.fOutputColor, - args.fSamplers[0], + args.fTexSamplers[0], v.fsIn(), kVec2f_GrSLType); fragBuilder->codeAppend(";"); fragBuilder->codeAppendf("%s = vec4(1);", args.fOutputCoverage); } else { fragBuilder->codeAppendf("%s = ", args.fOutputCoverage); - fragBuilder->appendTextureLookup(args.fSamplers[0], v.fsIn(), kVec2f_GrSLType); + fragBuilder->appendTextureLookup(args.fTexSamplers[0], v.fsIn(), kVec2f_GrSLType); fragBuilder->codeAppend(";"); if (cte.maskFormat() == kA565_GrMaskFormat) { // set alpha to be max of rgb coverage diff --git a/src/gpu/effects/GrConfigConversionEffect.cpp b/src/gpu/effects/GrConfigConversionEffect.cpp index bedcc78370..4743f34692 100644 --- a/src/gpu/effects/GrConfigConversionEffect.cpp +++ b/src/gpu/effects/GrConfigConversionEffect.cpp @@ -31,7 +31,7 @@ public: fragBuilder->codeAppendf("%s;", tmpDecl.c_str()); fragBuilder->codeAppendf("%s = ", tmpVar.c_str()); - fragBuilder->appendTextureLookup(args.fSamplers[0], args.fCoords[0].c_str(), + fragBuilder->appendTextureLookup(args.fTexSamplers[0], args.fCoords[0].c_str(), args.fCoords[0].getType()); fragBuilder->codeAppend(";"); diff --git a/src/gpu/effects/GrConvolutionEffect.cpp b/src/gpu/effects/GrConvolutionEffect.cpp index 4f09138493..9567e4c221 100644 --- a/src/gpu/effects/GrConvolutionEffect.cpp +++ b/src/gpu/effects/GrConvolutionEffect.cpp @@ -82,7 +82,7 @@ void GrGLConvolutionEffect::emitCode(EmitArgs& args) { component, bounds, component, bounds); } fragBuilder->codeAppendf("\t\t%s += ", args.fOutputColor); - fragBuilder->appendTextureLookup(args.fSamplers[0], "coord"); + fragBuilder->appendTextureLookup(args.fTexSamplers[0], "coord"); fragBuilder->codeAppendf(" * %s;\n", kernelIndex.c_str()); if (ce.useBounds()) { fragBuilder->codeAppend("}"); diff --git a/src/gpu/effects/GrDistanceFieldGeoProc.cpp b/src/gpu/effects/GrDistanceFieldGeoProc.cpp index 5153ad848a..0c4125d962 100644 --- a/src/gpu/effects/GrDistanceFieldGeoProc.cpp +++ b/src/gpu/effects/GrDistanceFieldGeoProc.cpp @@ -101,7 +101,7 @@ public: fragBuilder->codeAppendf("vec2 uv = %s;\n", uv.fsIn()); fragBuilder->codeAppend("\tfloat texColor = "); - fragBuilder->appendTextureLookup(args.fSamplers[0], + fragBuilder->appendTextureLookup(args.fTexSamplers[0], "uv", kVec2f_GrSLType); fragBuilder->codeAppend(".r;\n"); @@ -338,7 +338,7 @@ public: fragBuilder->codeAppendf("vec2 uv = %s;", v.fsIn()); fragBuilder->codeAppend("float texColor = "); - fragBuilder->appendTextureLookup(args.fSamplers[0], + fragBuilder->appendTextureLookup(args.fTexSamplers[0], "uv", kVec2f_GrSLType); fragBuilder->codeAppend(".r;"); @@ -607,20 +607,20 @@ public: // green is distance to uv center fragBuilder->codeAppend("\tvec4 texColor = "); - fragBuilder->appendTextureLookup(args.fSamplers[0], "uv", kVec2f_GrSLType); + fragBuilder->appendTextureLookup(args.fTexSamplers[0], "uv", kVec2f_GrSLType); fragBuilder->codeAppend(";\n"); fragBuilder->codeAppend("\tvec3 distance;\n"); fragBuilder->codeAppend("\tdistance.y = texColor.r;\n"); // red is distance to left offset fragBuilder->codeAppend("\tvec2 uv_adjusted = uv - offset;\n"); fragBuilder->codeAppend("\ttexColor = "); - fragBuilder->appendTextureLookup(args.fSamplers[0], "uv_adjusted", kVec2f_GrSLType); + fragBuilder->appendTextureLookup(args.fTexSamplers[0], "uv_adjusted", kVec2f_GrSLType); fragBuilder->codeAppend(";\n"); fragBuilder->codeAppend("\tdistance.x = texColor.r;\n"); // blue is distance to right offset fragBuilder->codeAppend("\tuv_adjusted = uv + offset;\n"); fragBuilder->codeAppend("\ttexColor = "); - fragBuilder->appendTextureLookup(args.fSamplers[0], "uv_adjusted", kVec2f_GrSLType); + fragBuilder->appendTextureLookup(args.fTexSamplers[0], "uv_adjusted", kVec2f_GrSLType); fragBuilder->codeAppend(";\n"); fragBuilder->codeAppend("\tdistance.z = texColor.r;\n"); diff --git a/src/gpu/effects/GrMatrixConvolutionEffect.cpp b/src/gpu/effects/GrMatrixConvolutionEffect.cpp index 21af5351c7..60f518ba24 100644 --- a/src/gpu/effects/GrMatrixConvolutionEffect.cpp +++ b/src/gpu/effects/GrMatrixConvolutionEffect.cpp @@ -86,7 +86,7 @@ void GrGLMatrixConvolutionEffect::emitCode(EmitArgs& args) { domain, "c", coord, - args.fSamplers[0]); + args.fTexSamplers[0]); if (!mce.convolveAlpha()) { fragBuilder->codeAppend("c.rgb /= c.a;"); fragBuilder->codeAppend("c.rgb = clamp(c.rgb, 0.0, 1.0);"); @@ -105,7 +105,7 @@ void GrGLMatrixConvolutionEffect::emitCode(EmitArgs& args) { domain, "c", coords2D, - args.fSamplers[0]); + args.fTexSamplers[0]); fragBuilder->codeAppendf("%s.a = c.a;", args.fOutputColor); fragBuilder->codeAppendf("%s.rgb = sum.rgb * %s + %s;", args.fOutputColor, gain, bias); fragBuilder->codeAppendf("%s.rgb *= %s.a;", args.fOutputColor, args.fOutputColor); diff --git a/src/gpu/effects/GrSimpleTextureEffect.cpp b/src/gpu/effects/GrSimpleTextureEffect.cpp index 904b898c14..f4cbd06af9 100644 --- a/src/gpu/effects/GrSimpleTextureEffect.cpp +++ b/src/gpu/effects/GrSimpleTextureEffect.cpp @@ -17,7 +17,7 @@ public: GrGLSLFPFragmentBuilder* fragBuilder = args.fFragBuilder; fragBuilder->codeAppendf("%s = ", args.fOutputColor); fragBuilder->appendTextureLookupAndModulate(args.fInputColor, - args.fSamplers[0], + args.fTexSamplers[0], args.fCoords[0].c_str(), args.fCoords[0].getType()); fragBuilder->codeAppend(";"); diff --git a/src/gpu/effects/GrTextureDomain.cpp b/src/gpu/effects/GrTextureDomain.cpp index 724b3ec21d..4394c0ed64 100644 --- a/src/gpu/effects/GrTextureDomain.cpp +++ b/src/gpu/effects/GrTextureDomain.cpp @@ -12,8 +12,8 @@ #include "glsl/GrGLSLFragmentProcessor.h" #include "glsl/GrGLSLFragmentShaderBuilder.h" #include "glsl/GrGLSLProgramDataManager.h" +#include "glsl/GrGLSLSampler.h" #include "glsl/GrGLSLShaderBuilder.h" -#include "glsl/GrGLSLTextureSampler.h" #include "glsl/GrGLSLUniformHandler.h" GrTextureDomain::GrTextureDomain(const SkRect& domain, Mode mode, int index) @@ -49,7 +49,7 @@ void GrTextureDomain::GLDomain::sampleTexture(GrGLSLShaderBuilder* builder, const GrTextureDomain& textureDomain, const char* outColor, const SkString& inCoords, - const GrGLSLTextureSampler& sampler, + const GrGLSLSampler& sampler, const char* inModulateColor) { SkASSERT((Mode)-1 == fMode || textureDomain.mode() == fMode); SkDEBUGCODE(fMode = textureDomain.mode();) @@ -198,7 +198,7 @@ void GrGLTextureDomainEffect::emitCode(EmitArgs& args) { domain, args.fOutputColor, coords2D, - args.fSamplers[0], + args.fTexSamplers[0], args.fInputColor); } diff --git a/src/gpu/effects/GrTextureDomain.h b/src/gpu/effects/GrTextureDomain.h index e88f5d5fd0..2877c3927e 100644 --- a/src/gpu/effects/GrTextureDomain.h +++ b/src/gpu/effects/GrTextureDomain.h @@ -15,7 +15,7 @@ class GrGLProgramBuilder; class GrGLSLShaderBuilder; class GrInvariantOutput; -class GrGLSLTextureSampler; +class GrGLSLSampler; class GrGLSLUniformHandler; struct SkRect; @@ -120,7 +120,7 @@ public: const GrTextureDomain& textureDomain, const char* outColor, const SkString& inCoords, - const GrGLSLTextureSampler& sampler, + const GrGLSLSampler& sampler, const char* inModulateColor = nullptr); /** diff --git a/src/gpu/effects/GrYUVEffect.cpp b/src/gpu/effects/GrYUVEffect.cpp index ef1bf1bfd7..97ef663bb7 100644 --- a/src/gpu/effects/GrYUVEffect.cpp +++ b/src/gpu/effects/GrYUVEffect.cpp @@ -106,13 +106,13 @@ public: kMat44f_GrSLType, kDefault_GrSLPrecision, "ColorSpaceMatrix", &colorSpaceMatrix); fragBuilder->codeAppendf("%s = vec4(", args.fOutputColor); - fragBuilder->appendTextureLookup(args.fSamplers[0], args.fCoords[0].c_str(), + fragBuilder->appendTextureLookup(args.fTexSamplers[0], args.fCoords[0].c_str(), args.fCoords[0].getType()); fragBuilder->codeAppend(".r,"); - fragBuilder->appendTextureLookup(args.fSamplers[1], args.fCoords[1].c_str(), + fragBuilder->appendTextureLookup(args.fTexSamplers[1], args.fCoords[1].c_str(), args.fCoords[1].getType()); fragBuilder->codeAppend(".r,"); - fragBuilder->appendTextureLookup(args.fSamplers[2], args.fCoords[2].c_str(), + fragBuilder->appendTextureLookup(args.fTexSamplers[2], args.fCoords[2].c_str(), args.fCoords[2].getType()); fragBuilder->codeAppendf(".r, 1.0) * %s;", colorSpaceMatrix); } diff --git a/src/gpu/gl/builders/GrGLProgramBuilder.cpp b/src/gpu/gl/builders/GrGLProgramBuilder.cpp index fe617fbaee..fbe1722ded 100644 --- a/src/gpu/gl/builders/GrGLProgramBuilder.cpp +++ b/src/gpu/gl/builders/GrGLProgramBuilder.cpp @@ -23,7 +23,7 @@ #include "glsl/GrGLSLFragmentProcessor.h" #include "glsl/GrGLSLGeometryProcessor.h" #include "glsl/GrGLSLProgramDataManager.h" -#include "glsl/GrGLSLTextureSampler.h" +#include "glsl/GrGLSLSampler.h" #include "glsl/GrGLSLXferProcessor.h" #define GL_CALL(X) GR_GL_CALL(this->gpu()->glInterface(), X) diff --git a/src/gpu/glsl/GrGLSLFragmentProcessor.cpp b/src/gpu/glsl/GrGLSLFragmentProcessor.cpp index ac3d734c90..c3e57bc314 100644 --- a/src/gpu/glsl/GrGLSLFragmentProcessor.cpp +++ b/src/gpu/glsl/GrGLSLFragmentProcessor.cpp @@ -81,12 +81,12 @@ void GrGLSLFragmentProcessor::internalEmitChild(int childIndex, const char* inpu firstSamplerAt += args.fFp.childProcessor(i).numTextures(); } GrGLSLTransformedCoordsArray childCoords; - TextureSamplerArray childSamplers; + SamplerArray childTexSamplers; if (childProc.numTransforms() > 0) { childCoords.push_back_n(childProc.numTransforms(), &args.fCoords[firstCoordAt]); } if (childProc.numTextures() > 0) { - childSamplers.push_back_n(childProc.numTextures(), &args.fSamplers[firstSamplerAt]); + childTexSamplers.push_back_n(childProc.numTextures(), &args.fTexSamplers[firstSamplerAt]); } // emit the code for the child in its own scope @@ -100,7 +100,7 @@ void GrGLSLFragmentProcessor::internalEmitChild(int childIndex, const char* inpu outputColor, inputColor, childCoords, - childSamplers); + childTexSamplers); this->childProcessor(childIndex)->emitCode(childArgs); fragBuilder->codeAppend("}\n"); diff --git a/src/gpu/glsl/GrGLSLFragmentProcessor.h b/src/gpu/glsl/GrGLSLFragmentProcessor.h index ae2d69dbce..5c71340a1c 100644 --- a/src/gpu/glsl/GrGLSLFragmentProcessor.h +++ b/src/gpu/glsl/GrGLSLFragmentProcessor.h @@ -8,9 +8,10 @@ #ifndef GrGLSLFragmentProcessor_DEFINED #define GrGLSLFragmentProcessor_DEFINED +#include "GrFragmentProcessor.h" #include "glsl/GrGLSLProcessorTypes.h" #include "glsl/GrGLSLProgramDataManager.h" -#include "glsl/GrGLSLTextureSampler.h" +#include "glsl/GrGLSLSampler.h" class GrProcessor; class GrProcessorKeyBuilder; @@ -30,7 +31,7 @@ public: } typedef GrGLSLProgramDataManager::UniformHandle UniformHandle; - typedef GrGLSLTextureSampler::TextureSamplerArray TextureSamplerArray; + typedef GrGLSLSampler::SamplerArray SamplerArray; /** Called when the program stage should insert its code into the shaders. The code in each shader will be in its own block ({}) and so locally scoped names will not collide across @@ -59,7 +60,7 @@ public: const char* outputColor, const char* inputColor, const GrGLSLTransformedCoordsArray& coords, - const TextureSamplerArray& samplers) + const SamplerArray& texSamplers) : fFragBuilder(fragBuilder) , fUniformHandler(uniformHandler) , fGLSLCaps(caps) @@ -67,7 +68,7 @@ public: , fOutputColor(outputColor) , fInputColor(inputColor) , fCoords(coords) - , fSamplers(samplers) {} + , fTexSamplers(texSamplers) {} GrGLSLFPFragmentBuilder* fFragBuilder; GrGLSLUniformHandler* fUniformHandler; const GrGLSLCaps* fGLSLCaps; @@ -75,7 +76,7 @@ public: const char* fOutputColor; const char* fInputColor; const GrGLSLTransformedCoordsArray& fCoords; - const TextureSamplerArray& fSamplers; + const SamplerArray& fTexSamplers; }; virtual void emitCode(EmitArgs&) = 0; diff --git a/src/gpu/glsl/GrGLSLPrimitiveProcessor.h b/src/gpu/glsl/GrGLSLPrimitiveProcessor.h index ccfbc3e3a5..fc0c4788b5 100644 --- a/src/gpu/glsl/GrGLSLPrimitiveProcessor.h +++ b/src/gpu/glsl/GrGLSLPrimitiveProcessor.h @@ -11,7 +11,7 @@ #include "GrPrimitiveProcessor.h" #include "glsl/GrGLSLProcessorTypes.h" #include "glsl/GrGLSLProgramDataManager.h" -#include "glsl/GrGLSLTextureSampler.h" +#include "glsl/GrGLSLSampler.h" class GrBatchTracker; class GrPrimitiveProcessor; @@ -27,7 +27,7 @@ public: virtual ~GrGLSLPrimitiveProcessor() {} typedef GrGLSLProgramDataManager::UniformHandle UniformHandle; - typedef GrGLSLTextureSampler::TextureSamplerArray TextureSamplerArray; + typedef GrGLSLSampler::SamplerArray SamplerArray; typedef SkSTArray<2, const GrCoordTransform*, true> ProcCoords; typedef SkSTArray<8, ProcCoords> TransformsIn; @@ -42,7 +42,7 @@ public: const GrPrimitiveProcessor& gp, const char* outputColor, const char* outputCoverage, - const TextureSamplerArray& samplers, + const SamplerArray& texSamplers, const TransformsIn& transformsIn, TransformsOut* transformsOut) : fVertBuilder(vertBuilder) @@ -53,7 +53,7 @@ public: , fGP(gp) , fOutputColor(outputColor) , fOutputCoverage(outputCoverage) - , fSamplers(samplers) + , fTexSamplers(texSamplers) , fTransformsIn(transformsIn) , fTransformsOut(transformsOut) {} GrGLSLVertexBuilder* fVertBuilder; @@ -64,7 +64,7 @@ public: const GrPrimitiveProcessor& fGP; const char* fOutputColor; const char* fOutputCoverage; - const TextureSamplerArray& fSamplers; + const SamplerArray& fTexSamplers; const TransformsIn& fTransformsIn; TransformsOut* fTransformsOut; }; diff --git a/src/gpu/glsl/GrGLSLProgramBuilder.cpp b/src/gpu/glsl/GrGLSLProgramBuilder.cpp index 4e90452925..ccb078b144 100644 --- a/src/gpu/glsl/GrGLSLProgramBuilder.cpp +++ b/src/gpu/glsl/GrGLSLProgramBuilder.cpp @@ -97,8 +97,8 @@ void GrGLSLProgramBuilder::emitAndInstallPrimProc(const GrPrimitiveProcessor& pr SkASSERT(!fGeometryProcessor); fGeometryProcessor = proc.createGLSLInstance(*this->glslCaps()); - SkSTArray<4, GrGLSLTextureSampler> samplers(proc.numTextures()); - this->emitSamplers(proc, &samplers); + SkSTArray<4, GrGLSLSampler> texSamplers(proc.numTextures()); + this->emitSamplers(proc, &texSamplers); GrGLSLGeometryProcessor::EmitArgs args(&fVS, &fFS, @@ -108,7 +108,7 @@ void GrGLSLProgramBuilder::emitAndInstallPrimProc(const GrPrimitiveProcessor& pr proc, outputColor->c_str(), outputCoverage->c_str(), - samplers, + texSamplers, fCoordTransforms, &fOutCoords); fGeometryProcessor->emitCode(args); @@ -148,8 +148,8 @@ void GrGLSLProgramBuilder::emitAndInstallFragProc(const GrFragmentProcessor& fp, GrGLSLFragmentProcessor* fragProc = fp.createGLSLInstance(); - SkSTArray<4, GrGLSLTextureSampler> samplers(fp.numTextures()); - this->emitSamplers(fp, &samplers); + SkSTArray<4, GrGLSLSampler> texSamplers(fp.numTextures()); + this->emitSamplers(fp, &texSamplers); GrGLSLFragmentProcessor::EmitArgs args(&fFS, this->uniformHandler(), @@ -158,7 +158,7 @@ void GrGLSLProgramBuilder::emitAndInstallFragProc(const GrFragmentProcessor& fp, output->c_str(), input.isOnes() ? nullptr : input.c_str(), fOutCoords[index], - samplers); + texSamplers); fragProc->emitCode(args); // We have to check that effects and the code they emit are consistent, ie if an effect @@ -193,8 +193,8 @@ void GrGLSLProgramBuilder::emitAndInstallXferProc(const GrXferProcessor& xp, openBrace.printf("{ // Xfer Processor: %s\n", xp.name()); fFS.codeAppend(openBrace.c_str()); - SkSTArray<4, GrGLSLTextureSampler> samplers(xp.numTextures()); - this->emitSamplers(xp, &samplers); + SkSTArray<4, GrGLSLSampler> texSamplers(xp.numTextures()); + this->emitSamplers(xp, &texSamplers); bool usePLSDstRead = (plsState == GrPixelLocalStorageState::kFinish_GrPixelLocalStorageState); GrGLSLXferProcessor::EmitArgs args(&fFS, @@ -204,7 +204,7 @@ void GrGLSLProgramBuilder::emitAndInstallXferProc(const GrXferProcessor& xp, ignoresCoverage ? nullptr : coverageIn.c_str(), fFS.getPrimaryColorOutputName(), fFS.getSecondaryColorOutputName(), - samplers, + texSamplers, usePLSDstRead); fXferProcessor->emitCode(args); @@ -215,7 +215,7 @@ void GrGLSLProgramBuilder::emitAndInstallXferProc(const GrXferProcessor& xp, } void GrGLSLProgramBuilder::emitSamplers(const GrProcessor& processor, - GrGLSLTextureSampler::TextureSamplerArray* outSamplers) { + GrGLSLSampler::SamplerArray* outTexSamplers) { int numTextures = processor.numTextures(); UniformHandle* localSamplerUniforms = fSamplerUniforms.push_back_n(numTextures); SkString name; @@ -248,7 +248,7 @@ void GrGLSLProgramBuilder::emitSamplers(const GrProcessor& processor, samplerType, precision, name.c_str()); - outSamplers->emplace_back(localSamplerUniforms[t], access); + outTexSamplers->emplace_back(localSamplerUniforms[t], access.getTexture()->config()); } } diff --git a/src/gpu/glsl/GrGLSLProgramBuilder.h b/src/gpu/glsl/GrGLSLProgramBuilder.h index 952db7e09b..4d253c73bf 100644 --- a/src/gpu/glsl/GrGLSLProgramBuilder.h +++ b/src/gpu/glsl/GrGLSLProgramBuilder.h @@ -15,7 +15,7 @@ #include "glsl/GrGLSLPrimitiveProcessor.h" #include "glsl/GrGLSLProgramDataManager.h" #include "glsl/GrGLSLUniformHandler.h" -#include "glsl/GrGLSLTextureSampler.h" +#include "glsl/GrGLSLSampler.h" #include "glsl/GrGLSLVertexShaderBuilder.h" #include "glsl/GrGLSLXferProcessor.h" @@ -146,8 +146,7 @@ private: const GrGLSLExpr4& coverageIn, bool ignoresCoverage, GrPixelLocalStorageState plsState); - void emitSamplers(const GrProcessor& processor, - GrGLSLTextureSampler::TextureSamplerArray* outSamplers); + void emitSamplers(const GrProcessor& processor, GrGLSLSampler::SamplerArray* outTexSamplers); void emitFSOutputSwizzle(bool hasSecondaryOutput); bool checkSamplerCounts(); diff --git a/src/gpu/glsl/GrGLSLTextureSampler.h b/src/gpu/glsl/GrGLSLSampler.h index fd8bcb26e9..0fc67a9c93 100644 --- a/src/gpu/glsl/GrGLSLTextureSampler.h +++ b/src/gpu/glsl/GrGLSLSampler.h @@ -1,25 +1,25 @@ /* - * Copyright 2015 Google Inc. + * Copyright 2016 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ -#ifndef GrGLSLTextureSampler_DEFINED -#define GrGLSLTextureSampler_DEFINED +#ifndef GrGLSLSampler_DEFINED +#define GrGLSLSampler_DEFINED -#include "GrShaderVar.h" -#include "GrTextureAccess.h" +#include "GrTypes.h" +#include "SkTArray.h" #include "glsl/GrGLSLProgramDataManager.h" -class GrGLSLTextureSampler { +class GrGLSLSampler { public: typedef GrGLSLProgramDataManager::UniformHandle UniformHandle; - typedef SkTArray<GrGLSLTextureSampler> TextureSamplerArray; + typedef SkTArray<GrGLSLSampler> SamplerArray; - GrGLSLTextureSampler(UniformHandle uniform, const GrTextureAccess& access) + GrGLSLSampler(UniformHandle uniform, GrPixelConfig config) : fSamplerUniform(uniform) - , fConfig(access.getTexture()->config()) { + , fConfig(config) { SkASSERT(kUnknown_GrPixelConfig != fConfig); } diff --git a/src/gpu/glsl/GrGLSLShaderBuilder.cpp b/src/gpu/glsl/GrGLSLShaderBuilder.cpp index 795e5cb585..91a0f9b1b5 100644 --- a/src/gpu/glsl/GrGLSLShaderBuilder.cpp +++ b/src/gpu/glsl/GrGLSLShaderBuilder.cpp @@ -9,7 +9,7 @@ #include "glsl/GrGLSLShaderBuilder.h" #include "glsl/GrGLSLCaps.h" #include "glsl/GrGLSLShaderVar.h" -#include "glsl/GrGLSLTextureSampler.h" +#include "glsl/GrGLSLSampler.h" #include "glsl/GrGLSLProgramBuilder.h" GrGLSLShaderBuilder::GrGLSLShaderBuilder(GrGLSLProgramBuilder* program) @@ -63,7 +63,7 @@ void GrGLSLShaderBuilder::emitFunction(GrSLType returnType, } void GrGLSLShaderBuilder::appendTextureLookup(SkString* out, - const GrGLSLTextureSampler& sampler, + const GrGLSLSampler& sampler, const char* coordName, GrSLType varyingType) const { const GrGLSLCaps* glslCaps = fProgramBuilder->glslCaps(); @@ -103,14 +103,14 @@ void GrGLSLShaderBuilder::appendTextureLookup(SkString* out, } } -void GrGLSLShaderBuilder::appendTextureLookup(const GrGLSLTextureSampler& sampler, +void GrGLSLShaderBuilder::appendTextureLookup(const GrGLSLSampler& sampler, const char* coordName, GrSLType varyingType) { this->appendTextureLookup(&this->code(), sampler, coordName, varyingType); } void GrGLSLShaderBuilder::appendTextureLookupAndModulate(const char* modulation, - const GrGLSLTextureSampler& sampler, + const GrGLSLSampler& sampler, const char* coordName, GrSLType varyingType) { SkString lookup; diff --git a/src/gpu/glsl/GrGLSLShaderBuilder.h b/src/gpu/glsl/GrGLSLShaderBuilder.h index cddf7b2db4..6f8bf68bab 100644 --- a/src/gpu/glsl/GrGLSLShaderBuilder.h +++ b/src/gpu/glsl/GrGLSLShaderBuilder.h @@ -15,7 +15,7 @@ #include <stdarg.h> class GrGLSLProgramBuilder; -class GrGLSLTextureSampler; +class GrGLSLSampler; /** base class for all shaders builders @@ -27,25 +27,25 @@ public: /** Appends a 2D texture sample with projection if necessary. coordType must either be Vec2f or Vec3f. The latter is interpreted as projective texture coords. The vec length and swizzle - order of the result depends on the GrTextureAccess associated with the GrGLSLTextureSampler. + order of the result depends on the GrTextureAccess associated with the GrGLSLSampler. */ void appendTextureLookup(SkString* out, - const GrGLSLTextureSampler&, + const GrGLSLSampler&, const char* coordName, GrSLType coordType = kVec2f_GrSLType) const; /** Version of above that appends the result to the fragment shader code instead.*/ - void appendTextureLookup(const GrGLSLTextureSampler&, + void appendTextureLookup(const GrGLSLSampler&, const char* coordName, GrSLType coordType = kVec2f_GrSLType); /** Does the work of appendTextureLookup and modulates the result by modulation. The result is - always a vec4. modulation and the swizzle specified by GrGLSLTextureSampler must both be + always a vec4. modulation and the swizzle specified by GrGLSLSampler must both be vec4 or float. If modulation is "" or nullptr it this function acts as though appendTextureLookup were called. */ void appendTextureLookupAndModulate(const char* modulation, - const GrGLSLTextureSampler&, + const GrGLSLSampler&, const char* coordName, GrSLType coordType = kVec2f_GrSLType); diff --git a/src/gpu/glsl/GrGLSLXferProcessor.cpp b/src/gpu/glsl/GrGLSLXferProcessor.cpp index c4b62be525..f0f5efd37b 100644 --- a/src/gpu/glsl/GrGLSLXferProcessor.cpp +++ b/src/gpu/glsl/GrGLSLXferProcessor.cpp @@ -57,7 +57,7 @@ void GrGLSLXferProcessor::emitCode(const EmitArgs& args) { } fragBuilder->codeAppendf("vec4 %s = ", dstColor); - fragBuilder->appendTextureLookup(args.fSamplers[0], "_dstTexCoord", kVec2f_GrSLType); + fragBuilder->appendTextureLookup(args.fTexSamplers[0], "_dstTexCoord", kVec2f_GrSLType); fragBuilder->codeAppend(";"); } diff --git a/src/gpu/glsl/GrGLSLXferProcessor.h b/src/gpu/glsl/GrGLSLXferProcessor.h index 478956df34..3f190ce82f 100644 --- a/src/gpu/glsl/GrGLSLXferProcessor.h +++ b/src/gpu/glsl/GrGLSLXferProcessor.h @@ -9,7 +9,7 @@ #define GrGLSLXferProcessor_DEFINED #include "glsl/GrGLSLProgramDataManager.h" -#include "glsl/GrGLSLTextureSampler.h" +#include "glsl/GrGLSLSampler.h" class GrXferProcessor; class GrGLSLCaps; @@ -22,7 +22,7 @@ public: GrGLSLXferProcessor() {} virtual ~GrGLSLXferProcessor() {} - typedef GrGLSLTextureSampler::TextureSamplerArray TextureSamplerArray; + typedef GrGLSLSampler::SamplerArray SamplerArray; struct EmitArgs { EmitArgs(GrGLSLXPFragmentBuilder* fragBuilder, GrGLSLUniformHandler* uniformHandler, @@ -32,7 +32,7 @@ public: const char* inputCoverage, const char* outputPrimary, const char* outputSecondary, - const TextureSamplerArray& samplers, + const SamplerArray& texSamplers, const bool usePLSDstRead) : fXPFragBuilder(fragBuilder) , fUniformHandler(uniformHandler) @@ -42,7 +42,7 @@ public: , fInputCoverage(inputCoverage) , fOutputPrimary(outputPrimary) , fOutputSecondary(outputSecondary) - , fSamplers(samplers) + , fTexSamplers(texSamplers) , fUsePLSDstRead(usePLSDstRead) {} GrGLSLXPFragmentBuilder* fXPFragBuilder; @@ -53,7 +53,7 @@ public: const char* fInputCoverage; const char* fOutputPrimary; const char* fOutputSecondary; - const TextureSamplerArray& fSamplers; + const SamplerArray& fTexSamplers; bool fUsePLSDstRead; }; /** |