diff --git a/.pick_status.json b/.pick_status.json index 2364b54c7b7..bf7b813195a 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1484,7 +1484,7 @@ "description": "radv/rt: Flush CP writes from the common BVH framework with INV_L2 on GFX12", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/amd/vulkan/radv_acceleration_structure.c b/src/amd/vulkan/radv_acceleration_structure.c index 8c449eb1659..79fb341b7d2 100644 --- a/src/amd/vulkan/radv_acceleration_structure.c +++ b/src/amd/vulkan/radv_acceleration_structure.c @@ -662,6 +662,12 @@ radv_write_buffer_cp(VkCommandBuffer commandBuffer, VkDeviceAddress addr, void * static void radv_flush_buffer_write_cp(VkCommandBuffer commandBuffer) { + VK_FROM_HANDLE(radv_cmd_buffer, cmd_buffer, commandBuffer); + const struct radv_device *device = radv_cmd_buffer_device(cmd_buffer); + const struct radv_physical_device *pdev = radv_device_physical(device); + + if (pdev->info.cp_sdma_ge_use_system_memory_scope) + cmd_buffer->state.flush_bits |= RADV_CMD_FLAG_INV_L2; } static void