| Index: src/gpu/gl/builders/GrGLGeometryShaderBuilder.cpp
|
| diff --git a/src/gpu/gl/builders/GrGLGeometryShaderBuilder.cpp b/src/gpu/gl/builders/GrGLGeometryShaderBuilder.cpp
|
| index af95f564cf885b54b024a78a2ae2ca02a5de036d..8a3b1f4a6eb7df27dd8826509c637e4601afb565 100644
|
| --- a/src/gpu/gl/builders/GrGLGeometryShaderBuilder.cpp
|
| +++ b/src/gpu/gl/builders/GrGLGeometryShaderBuilder.cpp
|
| @@ -15,26 +15,25 @@
|
|
|
| }
|
|
|
| -void GrGLGeometryBuilder::addVarying(const char* name, GrGLVarying* v) {
|
| +void GrGLGeometryBuilder::addVarying(GrSLType type,
|
| + const char* name,
|
| + const char** gsOutName) {
|
| // if we have a GS take each varying in as an array
|
| // and output as non-array.
|
| - if (v->vsVarying()) {
|
| - fInputs.push_back();
|
| - fInputs.back().setType(v->fType);
|
| - fInputs.back().setTypeModifier(GrGLShaderVar::kVaryingIn_TypeModifier);
|
| - fInputs.back().setUnsizedArray();
|
| - *fInputs.back().accessName() = v->fVsOut;
|
| - v->fGsIn = v->fVsOut;
|
| - }
|
| -
|
| - if (v->fsVarying()) {
|
| - fOutputs.push_back();
|
| - fOutputs.back().setType(v->fType);
|
| - fOutputs.back().setTypeModifier(GrGLShaderVar::kVaryingOut_TypeModifier);
|
| - fProgramBuilder->nameVariable(fOutputs.back().accessName(), 'g', name);
|
| - v->fGsOut = fOutputs.back().getName().c_str();
|
| + fInputs.push_back();
|
| + fInputs.back().setType(type);
|
| + fInputs.back().setTypeModifier(GrGLShaderVar::kVaryingIn_TypeModifier);
|
| + fInputs.back().setUnsizedArray();
|
| + *fInputs.back().accessName() = name;
|
| + fOutputs.push_back();
|
| + fOutputs.back().setType(type);
|
| + fOutputs.back().setTypeModifier(GrGLShaderVar::kVaryingOut_TypeModifier);
|
| + fProgramBuilder->nameVariable(fOutputs.back().accessName(), 'g', name);
|
| + if (gsOutName) {
|
| + *gsOutName = fOutputs.back().getName().c_str();
|
| }
|
| }
|
| +
|
|
|
| bool GrGLGeometryBuilder::compileAndAttachShaders(GrGLuint programId,
|
| SkTDArray<GrGLuint>* shaderIds) const {
|
|
|