From 53e518bcda1cfa66c02a3e8dbbde156950d10938 Mon Sep 17 00:00:00 2001 From: Connor Abbott Date: Fri, 1 Sep 2023 15:31:08 +0200 Subject: [PATCH] tu: Implement vkCmdBindIndexBuffer2KHR Part-of: --- src/freedreno/vulkan/tu_cmd_buffer.cc | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/freedreno/vulkan/tu_cmd_buffer.cc b/src/freedreno/vulkan/tu_cmd_buffer.cc index a419a40..49ae238 100644 --- a/src/freedreno/vulkan/tu_cmd_buffer.cc +++ b/src/freedreno/vulkan/tu_cmd_buffer.cc @@ -2311,15 +2311,16 @@ tu_CmdBindVertexBuffers2EXT(VkCommandBuffer commandBuffer, } VKAPI_ATTR void VKAPI_CALL -tu_CmdBindIndexBuffer(VkCommandBuffer commandBuffer, - VkBuffer buffer, - VkDeviceSize offset, - VkIndexType indexType) +tu_CmdBindIndexBuffer2KHR(VkCommandBuffer commandBuffer, + VkBuffer buffer, + VkDeviceSize offset, + VkDeviceSize size, + VkIndexType indexType) { TU_FROM_HANDLE(tu_cmd_buffer, cmd, commandBuffer); TU_FROM_HANDLE(tu_buffer, buf, buffer); - + size = vk_buffer_range(&buf->vk, offset, size); uint32_t index_size, index_shift, restart_index; @@ -2347,10 +2348,8 @@ tu_CmdBindIndexBuffer(VkCommandBuffer commandBuffer, if (cmd->state.index_size != index_size) tu_cs_emit_regs(&cmd->draw_cs, A6XX_PC_RESTART_INDEX(restart_index)); - assert(buf->vk.size >= offset); - cmd->state.index_va = buf->iova + offset; - cmd->state.max_index_count = (buf->vk.size - offset) >> index_shift; + cmd->state.max_index_count = size >> index_shift; cmd->state.index_size = index_size; } -- 2.7.4