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

Author: Christoph Bumiller <[email protected]>
Date:   Mon Nov  9 14:29:00 2009 +0100

nv50: clarify data for method 0x121c

---

 src/gallium/drivers/nv50/nv50_state_validate.c |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/gallium/drivers/nv50/nv50_state_validate.c 
b/src/gallium/drivers/nv50/nv50_state_validate.c
index a13d64b..799d275 100644
--- a/src/gallium/drivers/nv50/nv50_state_validate.c
+++ b/src/gallium/drivers/nv50/nv50_state_validate.c
@@ -37,13 +37,14 @@ nv50_state_validate_fb(struct nv50_context *nv50)
        struct pipe_framebuffer_state *fb = &nv50->framebuffer;
        unsigned i, w, h, gw = 0;
 
-       /* Set nr of active RTs. Don't know what 0xfac6880 does, but
-        * at least 0x880 was required to draw to more than 1 RT.
-        * In some special cases, 0xfac6880 is not used, we probably
-        * don't hit any of these though.
+       /* Set nr of active RTs and select RT for each colour output.
+        * FP result 0 always goes to RT[0], bits 4 - 6 are ignored.
+        * Ambiguous assignment results in no rendering (no DATA_ERROR).
         */
        so_method(so, tesla, 0x121c, 1);
-       so_data  (so, 0x0fac6880 | fb->nr_cbufs);
+       so_data  (so, fb->nr_cbufs |
+                 (0 <<  4) | (1 <<  7) | (2 << 10) | (3 << 13) |
+                 (4 << 16) | (5 << 19) | (6 << 22) | (7 << 25));
 
        for (i = 0; i < fb->nr_cbufs; i++) {
                struct pipe_texture *pt = fb->cbufs[i]->texture;

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to