Displaying 6 results from an estimated 6 matches for "nv50_program_tx_prep".
2009 Sep 12
0
[PATCH 09/13] nv50: move allocation of pc regs
...index = i;
 
-		if (pc->attr[n].acc == acc[n])
+		if (!pc->attr[n].acc)
 			continue;
 		mask |= (1 << c);
 
-		pc->attr[n].acc = acc[n];
-		pc->attr[n].rhw = pc->attr[n].hw = -1;
 		alloc_reg(pc, &pc->attr[n]);
 
 		pc->attr[n].rhw = (*aid)++;
@@ -2025,23 +2007,13 @@ nv50_program_tx_prep(struct nv50_pc *pc)
 	struct tgsi_parse_context p;
 	boolean ret = FALSE;
 	unsigned i, c;
-	unsigned fcol, bcol, fcrd, depr;
+	unsigned fcol, bcol, fcrd;
 
 	/* count (centroid) perspective interpolations */
 	unsigned centroid_loads = 0;
 	unsigned perspect_loads = 0;
 
-	/* track register access...
2009 Jun 21
0
[PATCH] nv50: add support for two-sided lighting
...v50, struct nv50_program *p);
 
 /* nv50_state_validate.c */
diff --git a/src/gallium/drivers/nv50/nv50_program.c b/src/gallium/drivers/nv50/nv50_program.c
index 7a4bc18..30a1d32 100644
--- a/src/gallium/drivers/nv50/nv50_program.c
+++ b/src/gallium/drivers/nv50/nv50_program.c
@@ -1779,7 +1779,7 @@ nv50_program_tx_prep(struct nv50_pc *pc)
 	struct tgsi_parse_context p;
 	boolean ret = FALSE;
 	unsigned i, c;
-	unsigned fcol, bcol, fcrd, depr;
+	unsigned fcol[2], bcol[2], fcrd, depr;
 
 	/* count (centroid) perspective interpolations */
 	unsigned centroid_loads = 0;
@@ -1791,7 +1791,9 @@ nv50_program_tx_prep(stru...
2009 Jun 24
0
[PATCH] nv50: fix previous patches
...= (*aid)++;
 
-		pc->p->cfg.fp.map[mid / 4] |= (oid + c) << (8 * (mid % 4));
+		pc->p->cfg.fp.map[mid / 4] |= oid << (8 * (mid % 4));
 		mid++;
 		pc->p->cfg.fp.regs[1] += 0x00010001;
 	}
 
 	*p_mid = mid;
-	*p_oid = oid + 4;
 	return mask;
 }
 
@@ -1958,6 +1963,10 @@ nv50_program_tx_prep(struct nv50_pc *pc)
 			const struct tgsi_full_immediate *imm =
 				&p.FullToken.FullImmediate;
 
+#ifdef NV50_PROGRAM_DUMP
+			tgsi_dump_immediate(imm);
+#endif
+
 			ctor_immd(pc, imm->u.ImmediateFloat32[0].Float,
 				      imm->u.ImmediateFloat32[1].Float,
 				      imm->u.Immedi...
2009 Sep 12
0
[PATCH 11/13] nv50: add support for light-twoside
...4 +++-
 2 files changed, 22 insertions(+), 1 deletions(-)
diff --git a/src/gallium/drivers/nv50/nv50_program.c b/src/gallium/drivers/nv50/nv50_program.c
index feb1504..39c3afc 100644
--- a/src/gallium/drivers/nv50/nv50_program.c
+++ b/src/gallium/drivers/nv50/nv50_program.c
@@ -2048,6 +2048,11 @@ nv50_program_tx_prep(struct nv50_pc *pc)
 
 				si = d->Semantic.SemanticIndex;
 				switch (d->Semantic.SemanticName) {
+				case TGSI_SEMANTIC_BCOLOR:
+					p->cfg.two_side[si].hw_id = first;
+					if (p->cfg.io_nr > first)
+						p->cfg.io_nr = first;
+					break;
 					/*
 				case TGSI_SEMANTIC_C...
2009 Sep 12
0
[PATCH 10/13] nv50: proper linkage between VP and FP
...d << (8 * ((*mid) % 4));
-		(*mid)++;
-		pc->p->cfg.fp.regs[1] += 0x00010001;
+		/* XXX: when loading interpolants dynamically, move these
+		 * to the program head, or make sure it can't be skipped.
+		 */
 	}
 
-	return mask;
+	emit_interp(pc, reg, iv, mode);
 }
 
 static boolean
 nv50_program_tx_prep(struct nv50_pc *pc)
 {
-	struct tgsi_parse_context p;
+	struct tgsi_parse_context tp;
+	struct nv50_program *p = pc->p;
 	boolean ret = FALSE;
-	unsigned i, c;
-	unsigned fcol, bcol, fcrd;
-
-	/* count (centroid) perspective interpolations */
-	unsigned centroid_loads = 0;
-	unsigned perspect_lo...
2009 May 06
2
nv50: shader generation patches
Hi ! I've been trying to improve NV50 shader generation a bit the last couple of weeks, so here is
what I've produced. I don't know if it's usable for you or just a pile of horrible hacks, but at
least it makes some mesa demos render more correcly, p.e. the teapot (aside from mip-mapping issues
of the floor texture), arbfplight, and I think the gears also didn't appear as they