From 0580910aa9f61a931f3fd27d9de5243e4c80213b Mon Sep 17 00:00:00 2001 From: Konstantin Seurer Date: Sun, 17 Jul 2022 11:20:23 +0200 Subject: [PATCH] radv: Only set rt stack size for dynamic stacks When using a static callable stack, the required scratch has already been allocated. Dynamic stacks are located at the end of scratch memory and are allocated on demand using radv_set_rt_stack_size. Static stacks live at the start of scratch memory and are allocated in create_rt_shader by setting scratch_size. Signed-off-by: Konstantin Seurer Reviewed-By: Tatsuyuki Ishi Reviewed-by: Bas Nieuwenhuizen Part-of: --- src/amd/vulkan/radv_cmd_buffer.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 18546fa80f2..8f39dacbec3 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -5289,7 +5289,8 @@ radv_CmdBindPipeline(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipeline cmd_buffer->state.rt_pipeline = compute_pipeline; cmd_buffer->push_constant_stages |= RADV_RT_STAGE_BITS; - radv_set_rt_stack_size(cmd_buffer, cmd_buffer->state.rt_stack_size); + if (compute_pipeline->dynamic_stack_size) + radv_set_rt_stack_size(cmd_buffer, cmd_buffer->state.rt_stack_size); break; } case VK_PIPELINE_BIND_POINT_GRAPHICS: {