From 7da66f8f25f89132b2aa62f9a39981f1c4872b0b Mon Sep 17 00:00:00 2001 From: Konstantin Seurer Date: Sun, 11 Sep 2022 13:28:55 +0200 Subject: [PATCH] radv/rra: Replace aliasing assert with a warning Signed-off-by: Konstantin Seurer Reviewed-by: Friedrich Vock Part-of: --- src/amd/vulkan/layers/radv_rra_layer.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/amd/vulkan/layers/radv_rra_layer.c b/src/amd/vulkan/layers/radv_rra_layer.c index 5ea2df7c870..4f05e204e79 100644 --- a/src/amd/vulkan/layers/radv_rra_layer.c +++ b/src/amd/vulkan/layers/radv_rra_layer.c @@ -116,8 +116,12 @@ rra_CreateAccelerationStructureKHR(VkDevice _device, RADV_FROM_HANDLE(radv_acceleration_structure, structure, *pAccelerationStructure); simple_mtx_lock(&device->rra_trace.data_mtx); - assert(!_mesa_hash_table_u64_search(device->rra_trace.accel_struct_vas, - radv_accel_struct_get_va(structure))); + if (_mesa_hash_table_u64_search(device->rra_trace.accel_struct_vas, + radv_accel_struct_get_va(structure)) != NULL) { + fprintf(stderr, "radv: Memory aliasing between acceleration structures detected. RRA " + "captures might not work correctly.\n"); + goto end; + } VkEvent _build_submit_event; radv_CreateEvent(radv_device_to_handle(device), @@ -132,6 +136,7 @@ rra_CreateAccelerationStructureKHR(VkDevice _device, _mesa_hash_table_u64_insert(device->rra_trace.accel_struct_vas, radv_accel_struct_get_va(structure), structure); +end: simple_mtx_unlock(&device->rra_trace.data_mtx); return VK_SUCCESS; }