mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 13:10:10 +01:00
i965: pass indirect buffer to primitive restart check
Signed-off-by: Chris Forbes <chrisf@ijw.co.nz> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
parent
02f9757ab5
commit
803fcc3298
3 changed files with 9 additions and 6 deletions
|
|
@ -376,7 +376,8 @@ static bool brw_try_draw_prims( struct gl_context *ctx,
|
|||
GLuint nr_prims,
|
||||
const struct _mesa_index_buffer *ib,
|
||||
GLuint min_index,
|
||||
GLuint max_index )
|
||||
GLuint max_index,
|
||||
struct gl_buffer_object *indirect)
|
||||
{
|
||||
struct brw_context *brw = brw_context(ctx);
|
||||
bool retval = true;
|
||||
|
|
@ -528,7 +529,7 @@ void brw_draw_prims( struct gl_context *ctx,
|
|||
return;
|
||||
|
||||
/* Handle primitive restart if needed */
|
||||
if (brw_handle_primitive_restart(ctx, prims, nr_prims, ib)) {
|
||||
if (brw_handle_primitive_restart(ctx, prims, nr_prims, ib, indirect)) {
|
||||
/* The draw was handled, so we can exit now */
|
||||
return;
|
||||
}
|
||||
|
|
@ -559,7 +560,7 @@ void brw_draw_prims( struct gl_context *ctx,
|
|||
* manage it. swrast doesn't support our featureset, so we can't fall back
|
||||
* to it.
|
||||
*/
|
||||
brw_try_draw_prims(ctx, arrays, prims, nr_prims, ib, min_index, max_index);
|
||||
brw_try_draw_prims(ctx, arrays, prims, nr_prims, ib, min_index, max_index, indirect);
|
||||
}
|
||||
|
||||
void brw_draw_init( struct brw_context *brw )
|
||||
|
|
|
|||
|
|
@ -52,6 +52,7 @@ GLboolean
|
|||
brw_handle_primitive_restart(struct gl_context *ctx,
|
||||
const struct _mesa_prim *prims,
|
||||
GLuint nr_prims,
|
||||
const struct _mesa_index_buffer *ib);
|
||||
const struct _mesa_index_buffer *ib,
|
||||
struct gl_buffer_object *indirect);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -129,7 +129,8 @@ GLboolean
|
|||
brw_handle_primitive_restart(struct gl_context *ctx,
|
||||
const struct _mesa_prim *prims,
|
||||
GLuint nr_prims,
|
||||
const struct _mesa_index_buffer *ib)
|
||||
const struct _mesa_index_buffer *ib,
|
||||
struct gl_buffer_object *indirect)
|
||||
{
|
||||
struct brw_context *brw = brw_context(ctx);
|
||||
|
||||
|
|
@ -169,7 +170,7 @@ brw_handle_primitive_restart(struct gl_context *ctx,
|
|||
/* Cut index should work for primitive restart, so use it
|
||||
*/
|
||||
brw->prim_restart.enable_cut_index = true;
|
||||
brw_draw_prims(ctx, prims, nr_prims, ib, GL_FALSE, -1, -1, NULL, NULL);
|
||||
brw_draw_prims(ctx, prims, nr_prims, ib, GL_FALSE, -1, -1, NULL, indirect);
|
||||
brw->prim_restart.enable_cut_index = false;
|
||||
} else {
|
||||
/* Not all the primitive draw modes are supported by the cut index,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue