softpipe: cope with nr_cbufs == 0

Disable blend code when no color buffer
This commit is contained in:
Keith Whitwell 2009-07-27 11:23:51 +01:00
parent bac8e34c9e
commit 1078844d18

View file

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