diff --git a/.pick_status.json b/.pick_status.json index b99617d70e5..78049e364d8 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -31,7 +31,7 @@ "description": "radv: limit LATE_ALLOC_GS to prevent a GPU hang on GFX10", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": null }, diff --git a/src/amd/vulkan/si_cmd_buffer.c b/src/amd/vulkan/si_cmd_buffer.c index 1286a7609e7..d3b0fd24f47 100644 --- a/src/amd/vulkan/si_cmd_buffer.c +++ b/src/amd/vulkan/si_cmd_buffer.c @@ -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;