From 1b66ebf09aac52e08c2405eff30e6dba85a76fe8 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Mon, 7 Aug 2023 17:11:39 +0200 Subject: [PATCH] radv/rt: fix capture/replay support When replaying a RT pipeline, RADEON_FLAG_REPLAYABLE should be set. The idea is that for capture, RADEON_FLAG_REPLAYABLE should be passed when allocating a BO (ie. replay_va would be 0), and then for replay the VA would be non-zero but the flag is also required. Fixes dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.multithreaded_compilation.*. Fixes: 744357477ef ("radv: Add utilities to serialize and deserialize shader allocation info") Signed-off-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_shader.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c index dcdfacb0976..04053266f65 100644 --- a/src/amd/vulkan/radv_shader.c +++ b/src/amd/vulkan/radv_shader.c @@ -1296,8 +1296,7 @@ radv_replay_shader_arena_block(struct radv_device *device, const struct radv_ser void *data = _mesa_hash_table_u64_search(device->capture_replay_arena_vas, va); if (!data) { - struct radv_shader_arena *arena = - radv_create_shader_arena(device, NULL, 0, src->arena_size, false, src->arena_va); + struct radv_shader_arena *arena = radv_create_shader_arena(device, NULL, 0, src->arena_size, true, src->arena_va); if (!arena) { mtx_unlock(&device->shader_arena_mutex); return NULL;