search for: iv_c

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

Did you mean: in_c
2009 Jun 24
0
[PATCH] nv50: fix previous patches
...= aid - 1; - emit_flop(pc, 0, pc->iv_p, - &pc->attr[fcrd * 4 + 3]); - } + pc->p->cfg.fp.regs[1] |= (1 << 27); + emit_interp(pc, pc->iv_p, NULL, INTERP_LINEAR); + emit_flop(pc, 0, pc->iv_p, pc->iv_p); } if (centroid_loads) { pc->iv_c = alloc_temp(pc, NULL); - pc->iv_c->rhw = pc->iv_p ? aid - 1 : aid++; + pc->iv_c->rhw = aid - 1; + if (!(pc->p->cfg.fp.regs[1] & (1 << 27))) + pc->iv_c->rhw = aid++; + pc->p->cfg.fp.regs[1] |= (1 << 27); emit_interp(pc, pc->iv...
2009 Sep 12
0
[PATCH 10/13] nv50: proper linkage between VP and FP
...; } -static 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) - conti...
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 Jun 21
0
[PATCH] nv50: add support for two-sided lighting
...lt;< 16; + /* reset oid and load remaining attrs */ + oid = (fcrd == 0xffff) ? 4 : 0; for (i = 0; i < pc->attr_nr; i++) load_fp_attrib(pc, i, r_usage[1], &mid, &aid, &oid); @@ -1985,8 +2000,7 @@ nv50_program_tx_prep(struct nv50_pc *pc) if (pc->iv_c) free_temp(pc, pc->iv_c); - pc->p->cfg.fp.high_map = (mid / 4); - pc->p->cfg.fp.high_map += ((mid % 4) ? 1 : 0); + pc->p->cfg.fp.high_map = mid; } else { /* vertex program */ for (i = 0; i < pc->attr_nr; i++) { @@ -2011,6 +2025,10 @@ nv50_program_t...