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...