Module: Mesa
Branch: master
Commit: b38f5eb17abb2c051ebe4d2be1077c069250e92a
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b38f5eb17abb2c051ebe4d2be1077c069250e92a

Author: Marek Olšák <[email protected]>
Date:   Tue Jul 30 17:10:59 2019 -0400

radeonsi: skip draw calls with 0-sized index buffers

Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>

---

 src/gallium/drivers/radeonsi/si_state_draw.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/gallium/drivers/radeonsi/si_state_draw.c 
b/src/gallium/drivers/radeonsi/si_state_draw.c
index a099805e43d..529b11c364a 100644
--- a/src/gallium/drivers/radeonsi/si_state_draw.c
+++ b/src/gallium/drivers/radeonsi/si_state_draw.c
@@ -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,

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to