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