diff options
author | Robert Phillips <robertphillips@google.com> | 2017-08-01 16:13:04 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-08-01 20:46:28 +0000 |
commit | 369e8b70eedfd151c7f88e50d7f430f4cda5d57e (patch) | |
tree | 3e77b9ce2c1f4b604bfa42d211f158140e242d2e /src/gpu/glsl/GrGLSLProgramBuilder.cpp | |
parent | 0e9605542444a7653359f4fc610f7620df9f6313 (diff) |
Fix cleanup on program creation failure
Change-Id: Ibc9b96537f774a3b8a43848b8b626f3f036b07b3
Reviewed-on: https://skia-review.googlesource.com/29561
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src/gpu/glsl/GrGLSLProgramBuilder.cpp')
-rw-r--r-- | src/gpu/glsl/GrGLSLProgramBuilder.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gpu/glsl/GrGLSLProgramBuilder.cpp b/src/gpu/glsl/GrGLSLProgramBuilder.cpp index a3c20c3dd1..bb3dc4f0a9 100644 --- a/src/gpu/glsl/GrGLSLProgramBuilder.cpp +++ b/src/gpu/glsl/GrGLSLProgramBuilder.cpp @@ -95,7 +95,7 @@ void GrGLSLProgramBuilder::emitAndInstallPrimProc(const GrPrimitiveProcessor& pr fVS.codeAppendf("// Primitive Processor %s\n", proc.name()); SkASSERT(!fGeometryProcessor); - fGeometryProcessor = proc.createGLSLInstance(*this->shaderCaps()); + fGeometryProcessor.reset(proc.createGLSLInstance(*this->shaderCaps())); SkSTArray<4, SamplerHandle> texSamplers(proc.numTextureSamplers()); SkSTArray<2, TexelBufferHandle> texelBuffers(proc.numBuffers()); @@ -207,7 +207,7 @@ void GrGLSLProgramBuilder::emitAndInstallXferProc(const SkString& colorIn, SkASSERT(!fXferProcessor); const GrXferProcessor& xp = fPipeline.getXferProcessor(); - fXferProcessor = xp.createGLSLInstance(); + fXferProcessor.reset(xp.createGLSLInstance()); // Enable dual source secondary output if we have one if (xp.hasSecondaryOutput()) { |