Early out the texture key generation if there is no texture passed to the GrGLShaderB...
authortwiz@google.com <twiz@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>
Thu, 2 Aug 2012 17:32:25 +0000 (17:32 +0000)
committertwiz@google.com <twiz@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>
Thu, 2 Aug 2012 17:32:25 +0000 (17:32 +0000)
Under normal circumstances, there will always be a passed texture.  However, when running in the unit tests, CustomStages are constructed without a texture input.
Review URL: https://codereview.appspot.com/6450083

git-svn-id: http://skia.googlecode.com/svn/trunk@4924 2bbb7eff-a529-9590-31e7-b0007b416f81

src/gpu/gl/GrGLShaderBuilder.cpp

index 0d2a1ec..7171029 100644 (file)
@@ -180,6 +180,11 @@ void GrGLShaderBuilder::emitCustomTextureLookup(SamplerMode samplerMode,
 GrCustomStage::StageKey GrGLShaderBuilder::KeyForTextureAccess(const GrTextureAccess& access,
                                                                const GrGLCaps& caps) {
     GrCustomStage::StageKey key = 0;
+    
+    if (!access.getTexture()) {
+        return key;
+    }    
+    
     // Assume that swizzle support implies that we never have to modify a shader to adjust
     // for texture format/swizzle settings.
     if (caps.textureSwizzleSupport()) {