Module: Mesa Branch: softpipe-opt Commit: 1078844d18367b4259cd3b6a3a73e3cd72ea019f URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1078844d18367b4259cd3b6a3a73e3cd72ea019f
Author: Keith Whitwell <[email protected]> Date: Mon Jul 27 11:23:51 2009 +0100 softpipe: cope with nr_cbufs == 0 Disable blend code when no color buffer --- src/gallium/drivers/softpipe/sp_quad_blend.c | 16 +++++++++++++--- 1 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/softpipe/sp_quad_blend.c b/src/gallium/drivers/softpipe/sp_quad_blend.c index e1f0e77..e243c63 100644 --- a/src/gallium/drivers/softpipe/sp_quad_blend.c +++ b/src/gallium/drivers/softpipe/sp_quad_blend.c @@ -924,6 +924,13 @@ single_output_color(struct quad_stage *qs, } } +static void +blend_noop(struct quad_stage *qs, + struct quad_header *quads[], + unsigned nr) +{ +} + static void choose_blend_quad(struct quad_stage *qs, @@ -934,9 +941,12 @@ choose_blend_quad(struct quad_stage *qs, const struct pipe_blend_state *blend = softpipe->blend; qs->run = blend_fallback; - - if (!softpipe->blend->logicop_enable && - softpipe->blend->colormask == 0xf) + + if (softpipe->framebuffer.nr_cbufs == 0) { + qs->run = blend_noop; + } + else if (!softpipe->blend->logicop_enable && + softpipe->blend->colormask == 0xf) { if (!blend->blend_enable) { qs->run = single_output_color; _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
