From 2b0bf645abd8292c497b4bb423d6a39f27e39051 Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Tue, 19 Feb 2013 16:21:33 -0800 Subject: [PATCH] i965: Avoid segfault in gen6_upload_state This fixes a bug introduced in commit 258453716f001eab1288d99765213 and triggered whenever "rb" is NULL. This uses the same condition as similar code in brw_cc.c (used for older hardware). Fixes bug #59445: [SNB/IVB/HSW Bisected]Oglc draw-buffers2(advanced.blending.none) segfault https://bugs.freedesktop.org/show_bug.cgi?id=59445 --- src/mesa/drivers/dri/i965/gen6_cc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/i965/gen6_cc.c b/src/mesa/drivers/dri/i965/gen6_cc.c index d32f636..a7ff573 100644 --- a/src/mesa/drivers/dri/i965/gen6_cc.c +++ b/src/mesa/drivers/dri/i965/gen6_cc.c @@ -126,7 +126,7 @@ gen6_upload_blend_state(struct brw_context *brw) * not read the alpha channel, but will instead use the correct * implicit value for alpha. */ - if (!_mesa_base_format_has_channel(rb->_BaseFormat, GL_TEXTURE_ALPHA_TYPE)) + if (ctx->DrawBuffer->Visual.alphaBits == 0) { srcRGB = brw_fix_xRGB_alpha(srcRGB); srcA = brw_fix_xRGB_alpha(srcA); -- 1.7.10.4