search for: iv_p

Displaying 4 results from an estimated 4 matches for "iv_p".

Did you mean: io_p
2009 Jun 24
0
[PATCH] nv50: fix previous patches
...ttrib(pc, fcrd, r_usage[1], &mid, &aid, &oid); pc->p->cfg.fp.regs[1] |= (mask << 24); pc->p->cfg.fp.map[0] += 0x04040404 * fcrd; + oid = 0; } /* should do MAD fcrd.xy, fcrd, SOME_CONST, fcrd */ if (perspect_loads) { pc->iv_p = alloc_temp(pc, NULL); - - if (!(pc->p->cfg.fp.regs[1] & 0x08000000)) { - pc->p->cfg.fp.regs[1] |= 0x08000000; + pc->iv_p->rhw = aid - 1; + if (!(pc->p->cfg.fp.regs[1] & (1 << 27))) pc->iv_p->rhw = aid++; - emit_interp(pc, pc->i...
2009 Sep 12
0
[PATCH 10/13] nv50: proper linkage between VP and FP
...unsigned -load_fp_attrib(struct nv50_pc *pc, int i, int *mid, int *aid, int *p_oid) +static void +load_interpolant(struct nv50_pc *pc, struct nv50_reg *reg) { - struct nv50_reg *iv; - int oid, c, n; - unsigned mask = 0; - - iv = (pc->interp_mode[i] & INTERP_CENTROID) ? pc->iv_c : pc->iv_p; + struct nv50_reg *iv, **ppiv; + unsigned mode = pc->interp_mode[reg->index]; - for (c = 0, n = i * 4; c < 4; c++, n++) { - oid = (*p_oid)++; + ppiv = (mode & INTERP_CENTROID) ? &pc->iv_c : &pc->iv_p; + iv = *ppiv; - if (!pc->attr[n].acc) - continue; - mask |...
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
2009 Sep 12
0
[PATCH 09/13] nv50: move allocation of pc regs
...gs[0] += 0x00010000; } - for (i = 0; i < pc->attr_nr; i++) - load_fp_attrib(pc, i, r_usage[1], - &mid, &aid, &oid); + for (i = ((fcrd < 0x40) ? 1 : 0); i < pc->attr_nr; i++) + load_fp_attrib(pc, i, &mid, &aid, &oid); if (pc->iv_p) free_temp(pc, pc->iv_p); @@ -2253,48 +2173,26 @@ nv50_program_tx_prep(struct nv50_pc *pc) for (i = 0; i < pc->attr_nr * 4; i++) { pc->p->cfg.vp.attr[aid / 32] |= (1 << (aid % 32)); - ctor_reg(&pc->attr[i], P_ATTR, i / 4, aid++); + pc->attr[i...