i965/fs: Fix regression in fbo-alphatest-nocolor.
authorEric Anholt <eric@anholt.net>
Wed, 23 Nov 2011 18:20:12 +0000 (10:20 -0800)
committerEric Anholt <eric@anholt.net>
Wed, 30 Nov 2011 19:23:26 +0000 (11:23 -0800)
In the refactor for handling user-defined out params, we failed to set
up the new color output tracking when there was no color drawbuffer in
place but alpha testing was on.  Just always set up at least one when
handling gl_FragColor, since we won't make use of its value unless we
need to.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42806

src/mesa/drivers/dri/i965/brw_fs_visitor.cpp

index a76ba967d4418b9d717c4e965c39d881382f891f..208572784b80eddcc6ff801a859de2730cae5290 100644 (file)
@@ -74,7 +74,7 @@ fs_visitor::visit(ir_variable *ir)
 
       if (ir->location == FRAG_RESULT_COLOR) {
         /* Writing gl_FragColor outputs to all color regions. */
-        for (int i = 0; i < c->key.nr_color_regions; i++) {
+        for (int i = 0; i < MAX2(c->key.nr_color_regions, 1); i++) {
            this->outputs[i] = *reg;
         }
       } else if (ir->location == FRAG_RESULT_DEPTH) {