search for: nv50_program_tx_prep

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