aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu
diff options
context:
space:
mode:
authorGravatar cdalton <cdalton@nvidia.com>2016-04-11 12:18:09 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-04-11 12:18:09 -0700
commit3f6f76f98b6b37d17d1492791ff0feb1b7586bd6 (patch)
treef9d4ea6d87cfe9f1f05626eaac549e163bd00638 /src/gpu
parenta6b92ad1f7b79106caef6a4c721903544f507a02 (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')
-rw-r--r--src/gpu/effects/GrBicubicEffect.cpp2
-rw-r--r--src/gpu/effects/GrBitmapTextGeoProc.cpp4
-rw-r--r--src/gpu/effects/GrConfigConversionEffect.cpp2
-rw-r--r--src/gpu/effects/GrConvolutionEffect.cpp2
-rw-r--r--src/gpu/effects/GrDistanceFieldGeoProc.cpp10
-rw-r--r--src/gpu/effects/GrMatrixConvolutionEffect.cpp4
-rw-r--r--src/gpu/effects/GrSimpleTextureEffect.cpp2
-rw-r--r--src/gpu/effects/GrTextureDomain.cpp6
-rw-r--r--src/gpu/effects/GrTextureDomain.h4
-rw-r--r--src/gpu/effects/GrYUVEffect.cpp6
-rw-r--r--src/gpu/gl/builders/GrGLProgramBuilder.cpp2
-rw-r--r--src/gpu/glsl/GrGLSLFragmentProcessor.cpp6
-rw-r--r--src/gpu/glsl/GrGLSLFragmentProcessor.h11
-rw-r--r--src/gpu/glsl/GrGLSLPrimitiveProcessor.h10
-rw-r--r--src/gpu/glsl/GrGLSLProgramBuilder.cpp22
-rw-r--r--src/gpu/glsl/GrGLSLProgramBuilder.h5
-rw-r--r--src/gpu/glsl/GrGLSLSampler.h (renamed from src/gpu/glsl/GrGLSLTextureSampler.h)18
-rw-r--r--src/gpu/glsl/GrGLSLShaderBuilder.cpp8
-rw-r--r--src/gpu/glsl/GrGLSLShaderBuilder.h12
-rw-r--r--src/gpu/glsl/GrGLSLXferProcessor.cpp2
-rw-r--r--src/gpu/glsl/GrGLSLXferProcessor.h10
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;
};
/**