Index: src/gpu/gl/GrGLShaderBuilder.cpp |
diff --git a/src/gpu/gl/GrGLShaderBuilder.cpp b/src/gpu/gl/GrGLShaderBuilder.cpp |
index 348ee2622f0dbeb9efb198ea377997cf4d4c847e..961cad798fcf46b0de06c1dc4817f5bbe954baaa 100644 |
--- a/src/gpu/gl/GrGLShaderBuilder.cpp |
+++ b/src/gpu/gl/GrGLShaderBuilder.cpp |
@@ -588,6 +588,9 @@ bool GrGLShaderBuilder::finish(GrGLuint* outProgramId) { |
} |
this->bindProgramLocations(programId); |
+ if (fUniformManager.isUsingBindUniform()) { |
+ fUniformManager.getUniformLocations(programId, fUniforms); |
+ } |
GL_CALL(LinkProgram(programId)); |
@@ -619,7 +622,9 @@ bool GrGLShaderBuilder::finish(GrGLuint* outProgramId) { |
} |
} |
- fUniformManager.getUniformLocations(programId, fUniforms); |
+ if (!fUniformManager.isUsingBindUniform()) { |
+ fUniformManager.getUniformLocations(programId, fUniforms); |
+ } |
*outProgramId = programId; |
return true; |
} |