nvk: Implement CmdBindIndexBuffer2KHR
authorFaith Ekstrand <faith.ekstrand@collabora.com>
Fri, 4 Aug 2023 15:43:15 +0000 (10:43 -0500)
committerMarge Bot <emma+marge@anholt.net>
Fri, 4 Aug 2023 21:32:07 +0000 (21:32 +0000)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>

src/nouveau/vulkan/nvk_cmd_draw.c

index 7e41da8..8192a5b 100644 (file)
@@ -1474,10 +1474,11 @@ vk_index_to_restart(VkIndexType index_type)
 }
 
 VKAPI_ATTR void VKAPI_CALL
-nvk_CmdBindIndexBuffer(VkCommandBuffer commandBuffer,
-                       VkBuffer _buffer,
-                       VkDeviceSize offset,
-                       VkIndexType indexType)
+nvk_CmdBindIndexBuffer2KHR(VkCommandBuffer commandBuffer,
+                           VkBuffer _buffer,
+                           VkDeviceSize offset,
+                           VkDeviceSize size,
+                           VkIndexType indexType)
 {
    VK_FROM_HANDLE(nvk_cmd_buffer, cmd, commandBuffer);
    VK_FROM_HANDLE(nvk_buffer, buffer, _buffer);
@@ -1485,9 +1486,9 @@ nvk_CmdBindIndexBuffer(VkCommandBuffer commandBuffer,
    struct nv_push *p = nvk_cmd_buffer_push(cmd, 10);
 
    uint64_t addr, range;
-   if (buffer) {
+   if (buffer != NULL && size > 0) {
       addr = nvk_buffer_address(buffer, offset);
-      range = vk_buffer_range(&buffer->vk, offset, VK_WHOLE_SIZE);
+      range = vk_buffer_range(&buffer->vk, offset, size);
    } else {
       range = addr = 0;
    }