Displaying 5 results from an estimated 5 matches for "result_nr".
Did you mean:
result_
2009 Sep 12
0
[PATCH 09/13] nv50: move allocation of pc regs
...tgsi_parse_end_of_tokens(&p)) {
@@ -2071,32 +2043,11 @@ nv50_program_tx_prep(struct nv50_pc *pc)
switch (d->Declaration.File) {
case TGSI_FILE_TEMPORARY:
- if (pc->temp_nr < (last + 1))
- pc->temp_nr = last + 1;
break;
case TGSI_FILE_OUTPUT:
- if (pc->result_nr < (last + 1))
- pc->result_nr = last + 1;
-
- if (!d->Declaration.Semantic)
- break;
-
- switch (d->Semantic.SemanticName) {
- case TGSI_SEMANTIC_POSITION:
- depr = first;
- pc->p->cfg.fp.regs[2] |= 0x00000100;
- pc->p->cfg.fp.regs[3] |= 0x000000...
2009 Sep 12
0
[PATCH 10/13] nv50: proper linkage between VP and FP
...- emit_flop(pc, 0, pc->iv_p,
- &pc->attr[fcrd * 4 + 3]);
- }
+ for (i = 0; i < pc->attr_nr * 4; ++i) {
+ if (pc->attr[i].acc) {
+ pc->attr[i].hw = rid++;
+ p->cfg.attr[i / 32] |= 1 << (i % 32);
}
+ }
+
+ for (i = 0, rid = 0; i < pc->result_nr; ++i) {
+ p->cfg.io[i].hw_id = rid;
+ p->cfg.io[i].tgsi_id = i;
- if (centroid_loads) {
- pc->iv_c = alloc_temp(pc, NULL);
- pc->iv_c->rhw = pc->iv_p ? aid - 1 : aid++;
- emit_interp(pc, pc->iv_c, NULL,
- INTERP_CENTROID);
- emit_flop(pc, 0, pc->i...
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 24
0
[PATCH] nv50: fix previous patches
...NTROID);
emit_flop(pc, 0, pc->iv_c, pc->iv_c);
- pc->p->cfg.fp.regs[1] |= 0x08000000;
}
/* load colors directly after position - XXX: might
@@ -2301,7 +2312,8 @@ nv50fp_move_outputs(struct nv50_pc *pc)
ctor_reg(&out, P_TEMP, -1, -1);
for (i = 0; i < pc->result_nr * 4; i++) {
- if (pc->result[i].rhw < 0)
+ if (pc->result[i].rhw < 0 ||
+ pc->result[i].rhw == pc->result[i].hw)
continue;
out.hw = pc->result[i].rhw;
emit_mov(pc, &out, &pc->result[i]);
@@ -2337,7 +2349,7 @@ static void nv50_program_tx_postprocess(s...
2009 Jun 21
0
[PATCH] nv50: add support for two-sided lighting
...r (i = 0; i < nr; i++)
ctor_reg(&pc->result[i], P_RESULT, i / 4, i);
+
+ /* output id offset bcol from fcol */
+ if (bcol[0] != 0xffff)
+ pc->p->cfg.vp.bcol = bcol[0] - fcol[0];
} else {
/* pc->p->type == PIPE_SHADER_FRAGMENT */
for (i = 0; i < pc->result_nr; i++) {
@@ -2101,7 +2119,7 @@ ctor_nv50_pc(struct nv50_pc *pc, struct nv50_program *p)
p->cfg.fp.regs[1] = 0x00000400;
p->cfg.fp.map[0] = 0x03020100;
- p->cfg.fp.high_map = 1;
+ p->cfg.fp.high_map = 4;
break;
default:
assert(!"unsupported GPU program type");...