Make GrGLProgramBuilder a local stack variable in CreateProgram
authoregdaniel <egdaniel@google.com>
Wed, 20 Jan 2016 15:53:51 +0000 (07:53 -0800)
committerCommit bot <commit-bot@chromium.org>
Wed, 20 Jan 2016 15:53:51 +0000 (07:53 -0800)
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1604313002

Review URL: https://codereview.chromium.org/1604313002

src/gpu/gl/builders/GrGLProgramBuilder.cpp

index 4a1b2e9ac5a5f16b0f8b4770a836ec3978c06533..18d19172893910bf2b64b381deba89affd1e323b 100644 (file)
@@ -33,23 +33,21 @@ GrGLProgram* GrGLProgramBuilder::CreateProgram(const DrawArgs& args, GrGLGpu* gp
 
     // create a builder.  This will be handed off to effects so they can use it to add
     // uniforms, varyings, textures, etc
-    SkAutoTDelete<GrGLProgramBuilder> builder(new GrGLProgramBuilder(gpu, args));
-
-    GrGLProgramBuilder* pb = builder.get();
+    GrGLProgramBuilder builder(gpu, args);
 
     // TODO: Once all stages can handle taking a float or vec4 and correctly handling them we can
     // seed correctly here
     GrGLSLExpr4 inputColor;
     GrGLSLExpr4 inputCoverage;
 
-    if (!pb->emitAndInstallProcs(&inputColor,
-                                 &inputCoverage,
-                                 gpu->glCaps().maxFragmentTextureUnits())) {
-        pb->cleanupFragmentProcessors();
+    if (!builder.emitAndInstallProcs(&inputColor,
+                                     &inputCoverage,
+                                     gpu->glCaps().maxFragmentTextureUnits())) {
+        builder.cleanupFragmentProcessors();
         return nullptr;
     }
 
-    return pb->finalize();
+    return builder.finalize();
 }
 
 /////////////////////////////////////////////////////////////////////////////