llvmpipe: 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 committed by José Fonseca
parent 4639f8aad5
commit 38a1479fe1
1 changed files with 13 additions and 3 deletions

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 = llvmpipe->blend;
qs->run = blend_fallback;
if (!llvmpipe->blend->logicop_enable &&
llvmpipe->blend->colormask == 0xf)
if (llvmpipe->framebuffer.nr_cbufs == 0) {
qs->run = blend_noop;
}
else if (!llvmpipe->blend->logicop_enable &&
llvmpipe->blend->colormask == 0xf)
{
if (!blend->blend_enable) {
qs->run = single_output_color;