st/vega: don't use user_buffer_create
[mesa.git] / src / gallium / auxiliary / util / u_draw_quad.c
index 1fbe12171c5eb48cfa3668a4a0e7a07f55253ba9..469c874988db84937d23682d1cc8fae31480f21c 100644 (file)
@@ -69,6 +69,27 @@ util_draw_vertex_buffer(struct pipe_context *pipe,
 }
 
 
+/**
+ * Draw a simple vertex buffer / primitive.
+ * Limited to float[4] vertex attribs, tightly packed.
+ */
+void
+util_draw_user_vertex_buffer(struct cso_context *cso, void *buffer,
+                             uint prim_type, uint num_verts, uint num_attribs)
+{
+   struct pipe_vertex_buffer vbuffer = {0};
+
+   assert(num_attribs <= PIPE_MAX_ATTRIBS);
+
+   vbuffer.user_buffer = buffer;
+   vbuffer.stride = num_attribs * 4 * sizeof(float);  /* vertex size */
+
+   /* note: vertex elements already set by caller */
+
+   cso_set_vertex_buffers(cso, 1, &vbuffer);
+   cso_draw_arrays(cso, prim_type, 0, num_verts);
+}
+
 
 /**
  * Draw screen-aligned textured quad.