i965/gen6: Fix segfault in prepare_blend_state()
authorChad Versace <chad@chad-versace.us>
Sun, 9 Oct 2011 03:00:50 +0000 (20:00 -0700)
committerChad Versace <chad@chad-versace.us>
Tue, 18 Oct 2011 18:42:54 +0000 (11:42 -0700)
Don't dereference the color buffer if one isn't attached.

This fixes the following Piglit tests in my experimental HiZ branch:
    glean/logicOp
    glean/paths

Note: This is a candidate for the stable branches.
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Chad Versace <chad@chad-versace.us>
src/mesa/drivers/dri/i965/gen6_cc.c

index 1e6c4cfed32b65891e3115b201396d2a14f54fe9..b3ad157d032d6148d01a23f05c2dbbc2a2333d2b 100644 (file)
@@ -64,7 +64,7 @@ prepare_blend_state(struct brw_context *brw)
         /* Floating point RTs should have no effect from LogicOp,
          * except for disabling of blending
          */
-        if (_mesa_get_format_datatype(rb->Format) != GL_FLOAT) {
+        if (rb && _mesa_get_format_datatype(rb->Format) != GL_FLOAT) {
            blend[b].blend1.logic_op_enable = 1;
            blend[b].blend1.logic_op_func =
               intel_translate_logic_op(ctx->Color.LogicOp);