[PATCH] nv50: fix HPOS mapping when there are no FP attrs

Christoph Bumiller e0425955 at student.tuwien.ac.at
Mon Jun 15 05:01:20 PDT 2009


---
 src/gallium/drivers/nv50/nv50_program.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/nv50/nv50_program.c b/src/gallium/drivers/nv50/nv50_program.c
index 5f7d06d..32d1bf8 100644
--- a/src/gallium/drivers/nv50/nv50_program.c
+++ b/src/gallium/drivers/nv50/nv50_program.c
@@ -1796,6 +1796,8 @@ nv50_program_tx_prep(struct nv50_pc *pc)
 	if (pc->p->type == PIPE_SHADER_FRAGMENT) {
 		pc->p->cfg.fp.regs[0] = 0x01000404;
 		pc->p->cfg.fp.regs[1] = 0x00000400;
+		pc->p->cfg.fp.map[0] = 0x03020100;
+		pc->p->cfg.fp.high_map = 1;
 	}
 
 	tgsi_parse_init(&p, pc->p->pipe.tokens);
@@ -1954,9 +1956,8 @@ nv50_program_tx_prep(struct nv50_pc *pc)
 						      &mid, &aid, &oid);
 				oid = 0;
 				pc->p->cfg.fp.regs[1] |= (mask << 24);
-				pc->p->cfg.fp.map[0] = 0x04040404 * fcrd;
+				pc->p->cfg.fp.map[0] += 0x04040404 * fcrd;
 			}
-			pc->p->cfg.fp.map[0] += 0x03020100;
 
 			/* should do MAD fcrd.xy, fcrd, SOME_CONST, fcrd */
 
-- 
1.6.0.6


--------------090503050107050804030002
Content-Type: text/plain;
 name="0003-nv50-select-shader-program-through-VP-FP_START_ID.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename*0="0003-nv50-select-shader-program-through-VP-FP_START_ID.patch"



More information about the Nouveau mailing list