mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-28 12:30:09 +01:00
mesa/vbo: Add draw_id field to struct _mesa_prim
The drivers will need this for passing in gl_DrawIDARB. For indirect multidraw calls, we get the prim array and prim[i].draw_id == i and is redundant. But for non-indirect calls, we get one primitive at a time and need the draw_id field. Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
parent
70d8dbc9a1
commit
42dd2c028d
2 changed files with 5 additions and 0 deletions
|
|
@ -58,6 +58,7 @@ struct _mesa_prim {
|
|||
GLint basevertex;
|
||||
GLuint num_instances;
|
||||
GLuint base_instance;
|
||||
GLuint draw_id;
|
||||
|
||||
GLsizeiptr indirect_offset;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1341,6 +1341,7 @@ vbo_validated_multidrawelements(struct gl_context *ctx, GLenum mode,
|
|||
prim[i].indexed = 1;
|
||||
prim[i].num_instances = 1;
|
||||
prim[i].base_instance = 0;
|
||||
prim[i].draw_id = i;
|
||||
prim[i].is_indirect = 0;
|
||||
if (basevertex != NULL)
|
||||
prim[i].basevertex = basevertex[i];
|
||||
|
|
@ -1371,6 +1372,7 @@ vbo_validated_multidrawelements(struct gl_context *ctx, GLenum mode,
|
|||
prim[0].indexed = 1;
|
||||
prim[0].num_instances = 1;
|
||||
prim[0].base_instance = 0;
|
||||
prim[0].draw_id = i;
|
||||
prim[0].is_indirect = 0;
|
||||
if (basevertex != NULL)
|
||||
prim[0].basevertex = basevertex[i];
|
||||
|
|
@ -1598,6 +1600,7 @@ vbo_validated_multidrawarraysindirect(struct gl_context *ctx,
|
|||
prim[i].mode = mode;
|
||||
prim[i].indirect_offset = offset;
|
||||
prim[i].is_indirect = 1;
|
||||
prim[i].draw_id = i;
|
||||
}
|
||||
|
||||
check_buffers_are_unmapped(exec->array.inputs);
|
||||
|
|
@ -1684,6 +1687,7 @@ vbo_validated_multidrawelementsindirect(struct gl_context *ctx,
|
|||
prim[i].indexed = 1;
|
||||
prim[i].indirect_offset = offset;
|
||||
prim[i].is_indirect = 1;
|
||||
prim[i].draw_id = i;
|
||||
}
|
||||
|
||||
check_buffers_are_unmapped(exec->array.inputs);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue