search for: nv50_program_validate_cod

Displaying 5 results from an estimated 5 matches for "nv50_program_validate_cod".

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->d...
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-&...
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 +++++++++++++