Mesa (master): radv: skip draw calls with 0-sized index buffers

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jul 31 10:11:24 UTC 2019


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

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Wed Jul 31 09:39:18 2019 +0200

radv: skip draw calls with 0-sized index buffers

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>

---

 src/amd/vulkan/radv_cmd_buffer.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c
index a833fc4221b..bd5d30ad7a2 100644
--- a/src/amd/vulkan/radv_cmd_buffer.c
+++ b/src/amd/vulkan/radv_cmd_buffer.c
@@ -4323,6 +4323,12 @@ radv_emit_draw_packets(struct radv_cmd_buffer *cmd_buffer,
 			int index_size = radv_get_vgt_index_size(state->index_type);
 			uint64_t index_va;
 
+			/* Skip draw calls with 0-sized index buffers. They
+			 * cause a hang on some chips, like Navi10-14.
+			 */
+			if (!cmd_buffer->state.max_index_count)
+				return;
+
 			index_va = state->index_va;
 			index_va += info->first_index * index_size;
 




More information about the mesa-commit mailing list