radeonsi: skip draw calls with 0-sized index buffers
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
This commit is contained in:
parent
e777720173
commit
b38f5eb17a
|
@ -868,6 +868,12 @@ static void si_emit_draw_packets(struct si_context *sctx,
|
||||||
if (original_index_size) {
|
if (original_index_size) {
|
||||||
index_max_size = (indexbuf->width0 - index_offset) /
|
index_max_size = (indexbuf->width0 - index_offset) /
|
||||||
original_index_size;
|
original_index_size;
|
||||||
|
/* Skip draw calls with 0-sized index buffers.
|
||||||
|
* They cause a hang on some chips, like Navi10-14.
|
||||||
|
*/
|
||||||
|
if (!index_max_size)
|
||||||
|
return;
|
||||||
|
|
||||||
index_va = si_resource(indexbuf)->gpu_address + index_offset;
|
index_va = si_resource(indexbuf)->gpu_address + index_offset;
|
||||||
|
|
||||||
radeon_add_to_buffer_list(sctx, sctx->gfx_cs,
|
radeon_add_to_buffer_list(sctx, sctx->gfx_cs,
|
||||||
|
|
Loading…
Reference in New Issue