mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-01 08:08:06 +02:00
Additional parameters to vbuf_render->draw()
Pass complete information about vertex/index buffer location, size, etc.
This commit is contained in:
parent
763e30748e
commit
cac8892ddb
3 changed files with 20 additions and 6 deletions
|
|
@ -291,8 +291,14 @@ vbuf_flush_indices( struct draw_stage *stage )
|
|||
assert(0);
|
||||
}
|
||||
|
||||
vbuf->render->draw(vbuf->render, vbuf->indices, vbuf->nr_indices);
|
||||
|
||||
vbuf->render->draw( vbuf->render,
|
||||
vbuf->prim,
|
||||
vbuf->indices,
|
||||
vbuf->nr_indices,
|
||||
vbuf->vertices,
|
||||
vbuf->nr_vertices,
|
||||
vbuf->vertex_size );
|
||||
|
||||
vbuf->nr_indices = 0;
|
||||
}
|
||||
|
||||
|
|
@ -373,7 +379,7 @@ static void vbuf_destroy( struct draw_stage *stage )
|
|||
{
|
||||
struct vbuf_stage *vbuf = vbuf_stage( stage );
|
||||
|
||||
FREE( vbuf->indices );
|
||||
align_free( vbuf->indices );
|
||||
FREE( stage );
|
||||
}
|
||||
|
||||
|
|
@ -399,7 +405,7 @@ struct draw_stage *draw_vbuf_stage( struct draw_context *draw,
|
|||
|
||||
assert(render->max_indices < UNDEFINED_VERTEX_ID);
|
||||
vbuf->max_indices = render->max_indices;
|
||||
vbuf->indices = MALLOC( vbuf->max_indices );
|
||||
vbuf->indices = align_malloc( vbuf->max_indices, 16 );
|
||||
|
||||
vbuf->vertices = NULL;
|
||||
vbuf->vertex_ptr = vbuf->vertices;
|
||||
|
|
|
|||
|
|
@ -82,8 +82,12 @@ struct vbuf_render {
|
|||
* DrawElements, note indices are ushort:
|
||||
*/
|
||||
void (*draw)( struct vbuf_render *,
|
||||
uint prim,
|
||||
const ushort *indices,
|
||||
unsigned nr_indices );
|
||||
uint nr_indices,
|
||||
const void *vertices,
|
||||
uint nr_vertices,
|
||||
uint vertex_bytes);
|
||||
|
||||
/**
|
||||
* Called when vbuf is done with this set of vertices:
|
||||
|
|
|
|||
|
|
@ -136,8 +136,12 @@ i915_vbuf_render_set_primitive( struct vbuf_render *render,
|
|||
|
||||
static void
|
||||
i915_vbuf_render_draw( struct vbuf_render *render,
|
||||
uint prim,
|
||||
const ushort *indices,
|
||||
unsigned nr_indices )
|
||||
uint nr_indices,
|
||||
const void *vertices,
|
||||
uint nr_vertices,
|
||||
uint vertex_bytes)
|
||||
{
|
||||
struct i915_vbuf_render *i915_render = i915_vbuf_render(render);
|
||||
struct i915_context *i915 = i915_render->i915;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue