diff --git a/.pick_status.json b/.pick_status.json index 953c0b919c4..220571880a4 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -5214,7 +5214,7 @@ "description": "radv: reserve more CS space when executing DGC calls", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 9de90e40212..095995d443b 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -12108,6 +12108,8 @@ radv_dgc_execute_ib(struct radv_cmd_buffer *cmd_buffer, const VkGeneratedCommand const uint64_t main_ib_va = ib_va + radv_get_indirect_main_cmdbuf_offset(pGeneratedCommandsInfo); const uint64_t main_trailer_va = ib_va + radv_get_indirect_main_trailer_offset(pGeneratedCommandsInfo); + radeon_check_space(device->ws, cmd_buffer->cs, 64); + device->ws->cs_chain_dgc_ib(cmd_buffer->cs, main_ib_va, cmdbuf_size >> 2, main_trailer_va, cmd_buffer->state.predicating); @@ -12208,6 +12210,8 @@ radv_CmdExecuteGeneratedCommandsEXT(VkCommandBuffer commandBuffer, VkBool32 isPr } if (!radv_cmd_buffer_uses_mec(cmd_buffer)) { + radeon_check_space(device->ws, cmd_buffer->cs, 2); + radeon_begin(cmd_buffer->cs); radeon_emit(PKT3(PKT3_PFP_SYNC_ME, 0, cmd_buffer->state.predicating)); radeon_emit(0);