Displaying 3 results from an estimated 3 matches for "io_nr".
Did you mean:
iov_nr
2009 Sep 12
0
[PATCH 10/13] nv50: proper linkage between VP and FP
...return ret;
}
@@ -2246,24 +2259,26 @@ ctor_nv50_pc(struct nv50_pc *pc, struct nv50_program *p)
p->cfg.high_temp = 4;
+ p->cfg.two_side[0].hw_id = 0x40;
+ p->cfg.two_side[1].hw_id = 0x40;
+
switch (p->type) {
case PIPE_SHADER_VERTEX:
+ p->cfg.clpd = 0x40;
+ p->cfg.io_nr = pc->result_nr;
break;
case PIPE_SHADER_FRAGMENT:
- p->cfg.fp.regs[0] = 0x01000404;
- p->cfg.fp.regs[1] = 0x00000400;
-
- p->cfg.fp.map[0] = 0x03020100;
- p->cfg.fp.high_map = 1;
-
rtype[0] = rtype[1] = P_TEMP;
+ p->cfg.regs[0] = 0x01000404;
+ p->cfg.io_nr = pc...
2009 Sep 12
0
[PATCH 11/13] nv50: add support for light-twoside
...ogram.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_CLIP_DISTANCE:
p->cfg.clpd = MIN2(p->cfg.clpd, first);
@@ -2125,6 +2130,11 @@ nv50_program_tx_prep(struct nv50_pc *pc)
p->cfg.io[i].mask |= 1 << c;
}
}
+
+ for (c = 0; c <...
2009 Sep 12
0
[PATCH 13/13] nv50: add support for point sprites
...ertprog;
+ unsigned i, c, m = base;
+
+ /* XXX: This can't work correctly in all cases yet, we either
+ * have to create TGSI_SEMANTIC_PNTC or sprite_coord_mode has
+ * to be per FP input instead of per VP output
+ */
+ memset(pntc, 0, 8 * sizeof(uint32_t));
+
+ for (i = 0; i < fp->cfg.io_nr; i++) {
+ uint8_t sn, si, j = fp->cfg.io[i].tgsi_id;
+ unsigned n = popcnt4(fp->cfg.io[i].mask);
+
+ if (fp->info.input_semantic_name[i] != TGSI_SEMANTIC_GENERIC) {
+ m += n;
+ continue;
+ }
+
+ sn = vp->info.input_semantic_name[j];
+ si = vp->info.input_semantic_index[j];...