diff --git a/.pick_status.json b/.pick_status.json index 6436c2e2ca8..c80aedf5eb8 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -2754,7 +2754,7 @@ "description": "radv/rt: Flush L2 after writing internal node offset 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 d442ae7d676..8c449eb1659 100644 --- a/src/amd/vulkan/radv_acceleration_structure.c +++ b/src/amd/vulkan/radv_acceleration_structure.c @@ -409,6 +409,8 @@ radv_encode_as(VkCommandBuffer commandBuffer, const VkAccelerationStructureBuild uint32_t dst_offset = layout.internal_nodes_offset - layout.bvh_offset; radv_update_buffer_cp(cmd_buffer, intermediate_header_addr + offsetof(struct vk_ir_header, dst_node_offset), &dst_offset, sizeof(uint32_t)); + if (radv_device_physical(device)->info.cp_sdma_ge_use_system_memory_scope) + cmd_buffer->state.flush_bits |= RADV_CMD_FLAG_INV_L2; } const struct encode_args args = {