Mesa (master): r300g: fix corruption when nr_cbufs== 0 and multiwrites enabled

Marek Olšák mareko at kemper.freedesktop.org
Thu Jan 6 18:07:01 UTC 2011


Module: Mesa
Branch: master
Commit: c60f1d8b007625f62a53010bb75e70462eb970ae
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c60f1d8b007625f62a53010bb75e70462eb970ae

Author: Marek Olšák <maraeo at gmail.com>
Date:   Thu Jan  6 19:02:12 2011 +0100

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 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/src/gallium/drivers/r300/r300_emit.c b/src/gallium/drivers/r300/r300_emit.c
index e1a3714..f5e9f73 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);
     }
 




More information about the mesa-commit mailing list