svga: check for null fs pointer in update_samplers()
authorBrian Paul <brianp@vmware.com>
Thu, 28 Dec 2017 16:16:44 +0000 (09:16 -0700)
committerBrian Paul <brianp@vmware.com>
Thu, 28 Dec 2017 16:49:31 +0000 (09:49 -0700)
This can happen when there's no active fragment shader, such as
when using transform feedback.  This wasn't hit by any Piglit test
but is hit by Daniel Rákos' Nature demo.  VMware bug 2026189.

Reviewed-by: Charmaine Lee <charmainel@vmware.com>
src/gallium/drivers/svga/svga_state_sampler.c

index 9bd0d5303bdd31fd0d8273d8698021ae79fd4527..11f36e3553ba4c1e091169aab0e791d2a7b42a6b 100644 (file)
@@ -399,7 +399,7 @@ update_samplers(struct svga_context *svga, unsigned dirty )
              * for this texture unit, don't enable shadow compare in
              * the texture sampler state.
              */
-            if (fs->fs_shadow_compare_units & (1 << i)) {
+            if (fs && (fs->fs_shadow_compare_units & (1 << i))) {
                fs_shadow = true;
             }
          }