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:
Marek Olšák 2019-07-30 17:10:59 -04:00
parent e777720173
commit b38f5eb17a
1 changed files with 6 additions and 0 deletions

View File

@ -868,6 +868,12 @@ static void si_emit_draw_packets(struct si_context *sctx,
if (original_index_size) {
index_max_size = (indexbuf->width0 - index_offset) /
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;
radeon_add_to_buffer_list(sctx, sctx->gfx_cs,