Rename ShaderType enum to ShaderVisibility
Renames ShaderType in GrGLShaderBuilder to ShaderVisibility. It is now
used solely as a bitfield. Methods that previously accepted a single
ShaderType value are split into separate calls:
- getShader -> vsGetShader, gsGetShader, fsGetShader
- emiitFunction -> fsEmitFunction
- appendTextureLookup -> fsAppendTextureLookup
No change in functionality. This is a refactoring to allow us to
separate the vertex/geometry and fragment parts of GrGLShaderBuilder.
R=bsalomon@google.com
Author: cdalton@nvidia.com
Review URL: https://chromiumcodereview.appspot.com/23826002
git-svn-id: http://skia.googlecode.com/svn/trunk@11044 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/gpu/effects/GrConfigConversionEffect.cpp b/src/gpu/effects/GrConfigConversionEffect.cpp
index 8f58fef..d504847 100644
--- a/src/gpu/effects/GrConfigConversionEffect.cpp
+++ b/src/gpu/effects/GrConfigConversionEffect.cpp
@@ -33,10 +33,7 @@
SkString coords;
GrSLType coordsType = fEffectMatrix.emitCode(builder, key, &coords);
builder->fsCodeAppendf("\t\t%s = ", outputColor);
- builder->appendTextureLookup(GrGLShaderBuilder::kFragment_ShaderType,
- samplers[0],
- coords.c_str(),
- coordsType);
+ builder->fsAppendTextureLookup(samplers[0], coords.c_str(), coordsType);
builder->fsCodeAppend(";\n");
if (GrConfigConversionEffect::kNone_PMConversion == fPMConversion) {
SkASSERT(fSwapRedAndBlue);
diff --git a/src/gpu/effects/GrConvolutionEffect.cpp b/src/gpu/effects/GrConvolutionEffect.cpp
index d3d1840..dd25d40 100644
--- a/src/gpu/effects/GrConvolutionEffect.cpp
+++ b/src/gpu/effects/GrConvolutionEffect.cpp
@@ -64,13 +64,13 @@
const TextureSamplerArray& samplers) {
SkString coords;
fEffectMatrix.emitCodeMakeFSCoords2D(builder, key, &coords);
- fImageIncrementUni = builder->addUniform(GrGLShaderBuilder::kFragment_ShaderType,
+ fImageIncrementUni = builder->addUniform(GrGLShaderBuilder::kFragment_Visibility,
kVec2f_GrSLType, "ImageIncrement");
if (this->useBounds()) {
- fBoundsUni = builder->addUniform(GrGLShaderBuilder::kFragment_ShaderType,
+ fBoundsUni = builder->addUniform(GrGLShaderBuilder::kFragment_Visibility,
kVec2f_GrSLType, "Bounds");
}
- fKernelUni = builder->addUniformArray(GrGLShaderBuilder::kFragment_ShaderType,
+ fKernelUni = builder->addUniformArray(GrGLShaderBuilder::kFragment_Visibility,
kFloat_GrSLType, "Kernel", this->width());
builder->fsCodeAppendf("\t\t%s = vec4(0, 0, 0, 0);\n", outputColor);
@@ -88,7 +88,7 @@
index.appendS32(i);
kernel.appendArrayAccess(index.c_str(), &kernelIndex);
builder->fsCodeAppendf("\t\t%s += ", outputColor);
- builder->appendTextureLookup(GrGLShaderBuilder::kFragment_ShaderType, samplers[0], "coord");
+ builder->fsAppendTextureLookup(samplers[0], "coord");
if (this->useBounds()) {
const char* bounds = builder->getUniformCStr(fBoundsUni);
const char* component = this->direction() == Gr1DKernelEffect::kY_Direction ? "y" : "x";
diff --git a/src/gpu/effects/GrSimpleTextureEffect.cpp b/src/gpu/effects/GrSimpleTextureEffect.cpp
index 6a85e47..7a1692b 100644
--- a/src/gpu/effects/GrSimpleTextureEffect.cpp
+++ b/src/gpu/effects/GrSimpleTextureEffect.cpp
@@ -48,11 +48,10 @@
fsCoordSLType = fEffectMatrix.get()->emitCode(builder, key, &fsCoordName);
}
builder->fsCodeAppendf("\t%s = ", outputColor);
- builder->appendTextureLookupAndModulate(GrGLShaderBuilder::kFragment_ShaderType,
- inputColor,
- samplers[0],
- fsCoordName.c_str(),
- fsCoordSLType);
+ builder->fsAppendTextureLookupAndModulate(inputColor,
+ samplers[0],
+ fsCoordName.c_str(),
+ fsCoordSLType);
builder->fsCodeAppend(";\n");
}
diff --git a/src/gpu/effects/GrTextureDomainEffect.cpp b/src/gpu/effects/GrTextureDomainEffect.cpp
index 6f400cf..c7eda88 100644
--- a/src/gpu/effects/GrTextureDomainEffect.cpp
+++ b/src/gpu/effects/GrTextureDomainEffect.cpp
@@ -53,7 +53,7 @@
SkString coords;
fEffectMatrix.emitCodeMakeFSCoords2D(builder, key, &coords);
const char* domain;
- fNameUni = builder->addUniform(GrGLShaderBuilder::kFragment_ShaderType,
+ fNameUni = builder->addUniform(GrGLShaderBuilder::kFragment_Visibility,
kVec4f_GrSLType, "TexDom", &domain);
if (GrTextureDomainEffect::kClamp_WrapMode == texDom.wrapMode()) {
@@ -61,10 +61,7 @@
coords.c_str(), domain, domain);
builder->fsCodeAppendf("\t%s = ", outputColor);
- builder->appendTextureLookupAndModulate(GrGLShaderBuilder::kFragment_ShaderType,
- inputColor,
- samplers[0],
- "clampCoord");
+ builder->fsAppendTextureLookupAndModulate(inputColor, samplers[0], "clampCoord");
builder->fsCodeAppend(";\n");
} else {
SkASSERT(GrTextureDomainEffect::kDecal_WrapMode == texDom.wrapMode());
@@ -78,10 +75,7 @@
// result=white;" code fails to compile.
builder->fsCodeAppend("\tvec4 outside = vec4(0.0, 0.0, 0.0, 0.0);\n");
builder->fsCodeAppend("\tvec4 inside = ");
- builder->appendTextureLookupAndModulate(GrGLShaderBuilder::kFragment_ShaderType,
- inputColor,
- samplers[0],
- coords.c_str());
+ builder->fsAppendTextureLookupAndModulate(inputColor, samplers[0], coords.c_str());
builder->fsCodeAppend(";\n");
builder->fsCodeAppendf("\tfloat x = abs(2.0*(%s.x - %s.x)/(%s.z - %s.x) - 1.0);\n",
@@ -95,10 +89,7 @@
builder->fsCodeAppendf("\toutside.xy = lessThan(%s, %s.xy);\n", coords.c_str(), domain);
builder->fsCodeAppendf("\toutside.zw = greaterThan(%s, %s.zw);\n", coords.c_str(), domain);
builder->fsCodeAppendf("\t%s = any(outside) ? vec4(0.0, 0.0, 0.0, 0.0) : ", outputColor);
- builder->appendTextureLookupAndModulate(GrGLShaderBuilder::kFragment_ShaderType,
- inputColor,
- samplers[0],
- coords.c_str());
+ builder->fsAppendTextureLookupAndModulate(inputColor, samplers[0], coords.c_str());
builder->fsCodeAppend(";\n");
}
}