Mesa (master): i965/gen6: Fix segfault in prepare_blend_state()

Chad Versace chadversary at kemper.freedesktop.org
Tue Oct 18 11:44:27 PDT 2011


Module: Mesa
Branch: master
Commit: b48e02383e6bf8a4e1c05d11c6dce25cb796fcf4
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b48e02383e6bf8a4e1c05d11c6dce25cb796fcf4

Author: Chad Versace <chad at chad-versace.us>
Date:   Sat Oct  8 20:00:50 2011 -0700

i965/gen6: Fix segfault in prepare_blend_state()

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 at anholt.net>
Signed-off-by: Chad Versace <chad at chad-versace.us>

---

 src/mesa/drivers/dri/i965/gen6_cc.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/gen6_cc.c b/src/mesa/drivers/dri/i965/gen6_cc.c
index 1e6c4cf..b3ad157 100644
--- a/src/mesa/drivers/dri/i965/gen6_cc.c
+++ b/src/mesa/drivers/dri/i965/gen6_cc.c
@@ -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);



More information about the mesa-commit mailing list