Index: src/gpu/gl/builders/GrGLPathProgramBuilder.cpp |
diff --git a/src/gpu/gl/builders/GrGLPathProgramBuilder.cpp b/src/gpu/gl/builders/GrGLPathProgramBuilder.cpp |
index c9f88cd702b3d0636585731f460c4561ab5dcd69..9bebe0d89e212b701ff9121861ee768f00fd2c0e 100644 |
--- a/src/gpu/gl/builders/GrGLPathProgramBuilder.cpp |
+++ b/src/gpu/gl/builders/GrGLPathProgramBuilder.cpp |
@@ -35,9 +35,25 @@ GrGLProgramBuilder::SeparableVaryingHandle GrGLPathProgramBuilder::addSeparableV |
return SeparableVaryingHandle::CreateFromSeparableVaryingIndex(varyingInfo.fLocation); |
} |
+void GrGLPathProgramBuilder::bindProgramResourceLocations(GrGLuint programID) { |
+ this->INHERITED::bindProgramResourceLocations(programID); |
+ if (!fGpu->glPathRendering()->shouldBindFragmentInputs()) { |
+ return; |
+ } |
+ int count = fSeparableVaryingInfos.count(); |
+ for (int i = 0; i < count; ++i) { |
+ GL_CALL(BindFragmentInputLocation(programID, |
+ i, |
+ fSeparableVaryingInfos[i].fVariable.c_str())); |
+ fSeparableVaryingInfos[i].fLocation = i; |
+ } |
+} |
+ |
void GrGLPathProgramBuilder::resolveProgramResourceLocations(GrGLuint programID) { |
this->INHERITED::resolveProgramResourceLocations(programID); |
- |
+ if (fGpu->glPathRendering()->shouldBindFragmentInputs()) { |
+ return; |
+ } |
int count = fSeparableVaryingInfos.count(); |
for (int i = 0; i < count; ++i) { |
GrGLint location; |