softpipe: fix crash when accessing null colorbuffer
authorBrian Paul <brianp@vmware.com>
Mon, 20 Jan 2014 15:59:25 +0000 (07:59 -0800)
committerBrian Paul <brianp@vmware.com>
Mon, 20 Jan 2014 16:18:21 +0000 (08:18 -0800)
Fixes piglit fbo-missing-attachment-blit test.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73755

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
src/gallium/drivers/softpipe/sp_quad_blend.c

index fb19ba52e8bff48400a436e05ca25f5de88c7d51..41149a06b636a5e4ecee446f83f51c4fad35f825 100644 (file)
@@ -1232,7 +1232,10 @@ choose_blend_quad(struct quad_stage *qs,
             softpipe->blend->rt[0].colormask == 0xf &&
             softpipe->framebuffer.nr_cbufs == 1)
    {
-      if (!blend->rt[0].blend_enable) {
+      if (softpipe->framebuffer.cbufs[0] == NULL) {
+         qs->run = blend_noop;
+      }
+      else if (!blend->rt[0].blend_enable) {
          qs->run = single_output_color;
       }
       else if (blend->rt[0].rgb_src_factor == blend->rt[0].alpha_src_factor &&