From c60f1d8b007625f62a53010bb75e70462eb970ae Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Thu, 6 Jan 2011 19:02:12 +0100 Subject: [PATCH] r300g: fix corruption when nr_cbufs==0 and multiwrites enabled https://bugs.freedesktop.org/show_bug.cgi?id=32634 --- src/gallium/drivers/r300/r300_emit.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/r300/r300_emit.c b/src/gallium/drivers/r300/r300_emit.c index e1a3714aac7..f5e9f738374 100644 --- a/src/gallium/drivers/r300/r300_emit.c +++ b/src/gallium/drivers/r300/r300_emit.c @@ -380,7 +380,8 @@ void r300_emit_fb_state(struct r300_context* r300, unsigned size, void* state) if (r300->screen->caps.is_r500) { rb3d_cctl = R300_RB3D_CCTL_INDEPENDENT_COLORFORMAT_ENABLE_ENABLE; } - if (r300_fragment_shader_writes_all(r300_fs(r300))) { + if (fb->nr_cbufs && + r300_fragment_shader_writes_all(r300_fs(r300))) { rb3d_cctl |= R300_RB3D_CCTL_NUM_MULTIWRITES(fb->nr_cbufs); } -- 2.30.2