Displaying 5 results from an estimated 5 matches for "nv50_program_validate_code".
2009 Jun 21
0
[PATCH] nv50: don't allocate in the param buffer
...nv50->constbuf[p->type]);
}
if (p->param_nr > count) {
- start += count;
- count = p->cfg.vp.ucp.nr * 4;
nv50_program_upload_data(nv50, &p->cfg.vp.ucp.ucp[0][0],
- start, count, cbuf);
+ count, p->cfg.vp.ucp.nr * 4, cbuf);
}
}
@@ -2526,8 +2511,7 @@ nv50_program_validate_code(struct nv50_context *nv50, struct nv50_program *p)
assert(!"No more space in program VRAM buffer.");
}
- if ((p->data[0] && p->data[0]->start != p->data_start[0]) ||
- (p->data[1] && p->data[1]->start != p->data_start[1]))
+ if (p->da...
2009 Jun 21
0
[PATCH] nv50: initial support for IF, ELSE, ENDIF insns
...d last instruction */
pc->allow32 = TRUE;
- if (pc->insn_cur == 0 || pc->insn_cur + 2 == pc->insn_nr)
+ if (pc->insn_cur == 0 || pc->insn_cur + 2 == pc->insn_nr ||
+ pc->join_on)
pc->allow32 = FALSE;
tgsi_parse_token(&parse);
@@ -2383,11 +2476,29 @@ nv50_program_validate_code(struct nv50_context *nv50, struct nv50_program *p)
heap = nv50->screen->code_heap[p->type];
code = nv50->screen->sprogbuf_code[p->type];
+ size = align(p->exec_size * 4, 0x100);
+
+ if (!p->code) {
+ ret = nouveau_resource_alloc(heap, size, p, &p->code);
+ if...
2009 Jun 21
0
[PATCH] nv50: add support for two-sided lighting
...x00000400;
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");
@@ -2389,15 +2407,12 @@ nv50_vertprog_validate(struct nv50_context *nv50)
nv50_program_validate_data(nv50, p);
nv50_program_validate_code(nv50, p);
- so = so_new(10, 0);
+ so = so_new(32, 0);
so_method(so, tesla, 0x1650, 2);
so_data (so, p->cfg.vp.attr[0]);
so_data (so, p->cfg.vp.attr[1]);
so_method(so, tesla, 0x16b8, 1);
so_data (so, p->cfg.high_result);
- so_method(so, tesla, 0x16ac, 2);
- so_data (so, p-&g...
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 Dec 30
4
[PATCH 1/3] nv50: remove vtxbuf stateobject after a referenced vtxbuf is mapped
- This avoids problematic "reloc'ed while mapped" messages and
some associated corruption as well.
Signed-off-by: Maarten Maathuis <madman2003 at gmail.com>
---
src/gallium/drivers/nouveau/nouveau_screen.c | 21 +++++++++++++++++++++
src/gallium/drivers/nouveau/nouveau_screen.h | 3 +++
src/gallium/drivers/nouveau/nouveau_stateobj.h | 13 +++++++++++++