aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar twiz@google.com <twiz@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-08-02 17:32:25 +0000
committerGravatar twiz@google.com <twiz@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-08-02 17:32:25 +0000
commit1bfccadae265a2ec0e5adfcc8fe98bee07b73835 (patch)
treec898f3374f4a594b3f4709c05b0f494c1811c783
parenta2f8008fd7720e69094ed7f99a4ccc4652c79337 (diff)
Early out the texture key generation if there is no texture passed to the GrGLShaderBuilder::keyForTextureAccess.
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
-rw-r--r--src/gpu/gl/GrGLShaderBuilder.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gpu/gl/GrGLShaderBuilder.cpp b/src/gpu/gl/GrGLShaderBuilder.cpp
index 0d2a1ecf44..7171029f5b 100644
--- a/src/gpu/gl/GrGLShaderBuilder.cpp
+++ b/src/gpu/gl/GrGLShaderBuilder.cpp
@@ -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()) {