Mesa (master): nv04: Use the new draw vbuf interface

Keith Whitwell keithw at kemper.freedesktop.org
Wed Feb 18 12:55:59 UTC 2009


Module: Mesa
Branch: master
Commit: 1ba3849192dccafb72b464b19bc1ff99c202944d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1ba3849192dccafb72b464b19bc1ff99c202944d

Author: Jakob Bornecrantz <jakob at vmware.com>
Date:   Tue Feb 17 14:37:20 2009 +0000

nv04: Use the new draw vbuf interface

---

 src/gallium/drivers/nv04/nv04_prim_vbuf.c |   22 +++++++++++++++++-----
 1 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/src/gallium/drivers/nv04/nv04_prim_vbuf.c b/src/gallium/drivers/nv04/nv04_prim_vbuf.c
index 18a8872..68c61e1 100644
--- a/src/gallium/drivers/nv04/nv04_prim_vbuf.c
+++ b/src/gallium/drivers/nv04/nv04_prim_vbuf.c
@@ -51,7 +51,7 @@ nv04_vbuf_render_get_vertex_info( struct vbuf_render *render )
 }
 
 
-static void *
+static boolean
 nv04_vbuf_render_allocate_vertices( struct vbuf_render *render,
 		ushort vertex_size,
 		ushort nr_vertices )
@@ -61,9 +61,22 @@ nv04_vbuf_render_allocate_vertices( struct vbuf_render *render,
 	nv04_render->buffer = (unsigned char*) MALLOC(VERTEX_BUFFER_SIZE);
 	assert(!nv04_render->buffer);
 
+	return nv04_render->buffer ? TRUE : FALSE;
+}
+
+static void *
+nv04_vbuf_render_map_vertices( struct vbuf_render *render )
+{
+	struct nv04_vbuf_render *nv04_render = nv04_vbuf_render(render);
 	return nv04_render->buffer;
 }
 
+static void
+nv04_vbuf_render_unmap_vertices( struct vbuf_render *render,
+		ushort min_index,
+		ushort max_index )
+{
+}
 
 static boolean 
 nv04_vbuf_render_set_primitive( struct vbuf_render *render, 
@@ -244,10 +257,7 @@ nv04_vbuf_render_draw( struct vbuf_render *render,
 
 
 static void
-nv04_vbuf_render_release_vertices( struct vbuf_render *render,
-		void *vertices, 
-		unsigned vertex_size,
-		unsigned vertices_used )
+nv04_vbuf_render_release_vertices( struct vbuf_render *render )
 {
 	struct nv04_vbuf_render *nv04_render = nv04_vbuf_render(render);
 
@@ -278,6 +288,8 @@ nv04_vbuf_render_create( struct nv04_context *nv04 )
 	nv04_render->base.max_indices = 65536; 
 	nv04_render->base.get_vertex_info = nv04_vbuf_render_get_vertex_info;
 	nv04_render->base.allocate_vertices = nv04_vbuf_render_allocate_vertices;
+	nv04_render->base.map_vertices = nv04_vbuf_render_map_vertices;
+	nv04_render->base.unmap_vertices = nv04_vbuf_render_unmap_vertices;
 	nv04_render->base.set_primitive = nv04_vbuf_render_set_primitive;
 	nv04_render->base.draw = nv04_vbuf_render_draw;
 	nv04_render->base.release_vertices = nv04_vbuf_render_release_vertices;




More information about the mesa-commit mailing list