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
---

Ian Romanick <i...@freedesktop.org> writes:
> Either way, ctx->DrawBuffer->Visual contains either the window 
> configuration or a mirror of the state for the current FBO.  It should 
> always be safe to use that.  Using ctx->DrawBuffer->Visual.alphaBits 
> will ensure that you get the correct answer even when rb is NULL.

OK. Here's a patch that does exactly that.

-Carl

 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

Attachment: pgpSjeVvTodq8.pgp
Description: PGP signature

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to