From 2f3ebc4f46aff22582bb0795b47b7b2c945ec3d1 Mon Sep 17 00:00:00 2001 From: Emma Anholt Date: Tue, 2 Dec 2025 17:02:53 -0800 Subject: [PATCH] tu: Template tu_CmdBindTransformFeedbackBuffersEXT by CHIP. Gets the right regs for reg packing on 8xx. Part-of: --- src/freedreno/vulkan/tu_cmd_buffer.cc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/freedreno/vulkan/tu_cmd_buffer.cc b/src/freedreno/vulkan/tu_cmd_buffer.cc index 83f814f6582..20796dad7fa 100644 --- a/src/freedreno/vulkan/tu_cmd_buffer.cc +++ b/src/freedreno/vulkan/tu_cmd_buffer.cc @@ -4999,6 +4999,7 @@ tu_CmdPushDescriptorSetWithTemplate2KHR( pPushDescriptorSetWithTemplateInfo->set, 1, desc_set, 0, NULL); } +template VKAPI_ATTR void VKAPI_CALL tu_CmdBindTransformFeedbackBuffersEXT(VkCommandBuffer commandBuffer, uint32_t firstBinding, @@ -5029,15 +5030,15 @@ tu_CmdBindTransformFeedbackBuffersEXT(VkCommandBuffer commandBuffer, uint32_t offset = iova & 0x1f; iova &= ~(uint64_t) 0x1f; - tu_cs_emit_pkt4(cs, REG_A6XX_VPC_SO_BUFFER_BASE(idx), 3); - tu_cs_emit_qw(cs, iova); - tu_cs_emit(cs, size + offset); + tu_cs_emit_regs(cs, VPC_SO_BUFFER_BASE(CHIP, idx, .qword = iova), + VPC_SO_BUFFER_SIZE(CHIP, idx, size + offset)); cmd->state.streamout_offset[idx] = offset; } tu_cond_exec_end(cs); } +TU_GENX(tu_CmdBindTransformFeedbackBuffersEXT); template VKAPI_ATTR void VKAPI_CALL