summaryrefslogtreecommitdiffstats
path: root/src/mesa/pipe/softpipe/sp_quad.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/pipe/softpipe/sp_quad.c')
-rw-r--r--src/mesa/pipe/softpipe/sp_quad.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/mesa/pipe/softpipe/sp_quad.c b/src/mesa/pipe/softpipe/sp_quad.c
index 419a720de9a..5f34f5f1b34 100644
--- a/src/mesa/pipe/softpipe/sp_quad.c
+++ b/src/mesa/pipe/softpipe/sp_quad.c
@@ -21,6 +21,16 @@ sp_build_quad_pipeline(struct softpipe_context *sp)
sp->quad.first = sp->quad.blend;
}
+ if (sp->framebuffer.num_cbufs == 1) {
+ /* the usual case: write to exactly one colorbuf */
+ sp->cbuf = sp->framebuffer.cbufs[0];
+ }
+ else {
+ /* insert bufloop stage */
+ sp->quad.bufloop->next = sp->quad.first;
+ sp->quad.first = sp->quad.bufloop;
+ }
+
if ( sp->stencil.front_enabled
|| sp->stencil.front_enabled) {
sp->quad.stencil_test->next = sp->quad.first;