Remove uniform names from top of GrGLProgram.cpp, builder responsible for "u" and stage num tags.
Also add LF eol-style property to some files in src/gpu/effects.
Review URL: http://codereview.appspot.com/6448049/
git-svn-id: http://skia.googlecode.com/svn/trunk@4770 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/gpu/gl/GrGLShaderBuilder.cpp b/src/gpu/gl/GrGLShaderBuilder.cpp
index f56f102..2844953 100644
--- a/src/gpu/gl/GrGLShaderBuilder.cpp
+++ b/src/gpu/gl/GrGLShaderBuilder.cpp
@@ -38,7 +38,8 @@
, fVaryingDims(0)
, fComplexCoord(false)
, fContext(ctx)
- , fUniformManager(uniformManager) {
+ , fUniformManager(uniformManager)
+ , fCurrentStage(kNonStageIdx) {
}
void GrGLShaderBuilder::computeSwizzle(uint32_t configFlags) {
@@ -119,11 +120,11 @@
fFSCode.appendf("%s%s;\n", fSwizzle.c_str(), fModulate.c_str());
}
-GrGLUniformManager::UniformHandle GrGLShaderBuilder::addUniform(uint32_t visibility,
- GrSLType type,
- const char* name,
- int stageNum,
- int count) {
+GrGLUniformManager::UniformHandle GrGLShaderBuilder::addUniformArray(uint32_t visibility,
+ GrSLType type,
+ const char* name,
+ int count,
+ const char** outName) {
GrAssert(name && strlen(name));
static const uint32_t kVisibilityMask = kVertex_ShaderType | kFragment_ShaderType;
GrAssert(0 == (~kVisibilityMask & visibility));
@@ -138,9 +139,11 @@
GrAssert(h2 == h);
uni.fVariable.setType(type);
uni.fVariable.setTypeModifier(GrGLShaderVar::kUniform_TypeModifier);
- uni.fVariable.setName(name);
- if (stageNum >= 0) {
- uni.fVariable.accessName()->appendS32(stageNum);
+ SkString* uniName = uni.fVariable.accessName();
+ if (kNonStageIdx == fCurrentStage) {
+ uniName->printf("u%s", name);
+ } else {
+ uniName->printf("u%s%d", name, fCurrentStage);
}
uni.fVariable.setArrayCount(count);
uni.fVisibility = visibility;
@@ -153,6 +156,10 @@
uni.fVariable.setPrecision(kDefaultFragmentPrecision);
}
+ if (NULL != outName) {
+ *outName = uni.fVariable.c_str();
+ }
+
return h;
}
@@ -167,7 +174,11 @@
fVSOutputs.push_back();
fVSOutputs.back().setType(type);
fVSOutputs.back().setTypeModifier(GrGLShaderVar::kOut_TypeModifier);
- fVSOutputs.back().accessName()->printf("v%s", name);
+ if (kNonStageIdx == fCurrentStage) {
+ fVSOutputs.back().accessName()->printf("v%s", name);
+ } else {
+ fVSOutputs.back().accessName()->printf("v%s%d", name, fCurrentStage);
+ }
if (vsOutName) {
*vsOutName = fVSOutputs.back().getName().c_str();
}
@@ -198,15 +209,6 @@
}
}
-void GrGLShaderBuilder::addVarying(GrSLType type,
- const char* name,
- int stageNum,
- const char** vsOutName,
- const char** fsInName) {
- SkString nameWithStage(name);
- nameWithStage.appendS32(stageNum);
- this->addVarying(type, nameWithStage.c_str(), vsOutName, fsInName);
-}
namespace {