search for: nv50tcl_vertex_data

Displaying 2 results from an estimated 2 matches for "nv50tcl_vertex_data".

Did you mean: nv20tcl_vertex_data
2009 Oct 14
0
[PATCH 3/7] nv50: submit user vbo data through the fifo
...+ struct nouveau_grobj *tesla = nv50->screen->tesla; + struct nv50_vbo_emitctx emit; + + if (emit_prepare(nv50, &emit, start) == FALSE) + return FALSE; + + while (count) { + unsigned i, dw, nr = MIN2(count, emit.vtx_max); + dw = nr * emit.vtx_dwords; + + BEGIN_RING(chan, tesla, NV50TCL_VERTEX_DATA | 0x40000000, dw); + for (i = 0; i < nr; ++i) + emit_vtx_next(chan, &emit); + + count -= nr; + } + nv50_unmap_vbufs(nv50); + + return TRUE; +} + +static boolean +nv50_push_elements_u32(struct nv50_context *nv50, uint32_t *map, unsigned count) +{ + struct nouveau_channel *chan = nv50->...
2009 Oct 14
0
[PATCH] nv50/gallium: submit user vbufs through the fifo
Mesa sometimes hands us large user buffers where only a few vertices are read from in the drawing calls before they change again. In such cases, allocating a new buffer from the kernel and copying all the data takes much too long, so this patch uses NV50TCL_VERTEX_DATA to push vertices on the FIFO, which speeds up e.g. nexuiz quite a lot. Additionally it gets rid of the issue that the card uses garbage as vertex data, which is probably an issue we should still investigate further. Maybe using memcpy to upload data doesn't invalidate caches on the GPU sid...