mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-08 19:20:12 +01:00
radv/rt: Flush L2 after writing internal node offset on GFX12
Otherwise the encoder can read a stale value and make internal nodes
point into leaf space (if 0 is read).
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33985>
(cherry picked from commit a1b0599105)
This commit is contained in:
parent
5603cefd94
commit
9bcbdbfcf2
2 changed files with 3 additions and 1 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 = {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue