radv: limit LATE_ALLOC_GS to prevent a GPU hang on GFX10
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Tue, 11 Aug 2020 09:26:16 +0000 (11:26 +0200)
committerMarge Bot <eric+marge@anholt.net>
Tue, 11 Aug 2020 12:47:33 +0000 (12:47 +0000)
Found by inspection, doesn't fix anything known.

Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6279>

src/amd/vulkan/si_cmd_buffer.c

index 1286a7609e746debcc9190529638aa5ac6a87516..d3b0fd24f4722ac7da858e83a74d45ab7283cab9 100644 (file)
@@ -336,6 +336,10 @@ si_emit_graphics(struct radv_device *device,
                                late_alloc_wave64_gs = 0;
                                cu_mask_gs = 0xffff;
                        }
+
+                       /* Limit LATE_ALLOC_GS for prevent a hang (hw bug). */
+                       if (physical_device->rad_info.chip_class == GFX10)
+                               late_alloc_wave64_gs = MIN2(late_alloc_wave64_gs, 64);
                } else {
                        if (!physical_device->rad_info.use_late_alloc) {
                                late_alloc_wave64 = 0;