nvk: add bind buffer memory
authorDave Airlie <airlied@redhat.com>
Sat, 28 May 2022 22:14:51 +0000 (08:14 +1000)
committerMarge Bot <emma+marge@anholt.net>
Fri, 4 Aug 2023 21:31:53 +0000 (21:31 +0000)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>

src/nouveau/vulkan/nvk_buffer.c
src/nouveau/vulkan/nvk_buffer.h

index ccd53fd..8b534d6 100644 (file)
@@ -1,6 +1,7 @@
 #include "nvk_buffer.h"
 
 #include "nvk_device.h"
+#include "nvk_device_memory.h"
 #include "nvk_physical_device.h"
 
 VKAPI_ATTR VkResult VKAPI_CALL nvk_CreateBuffer(VkDevice _device,
@@ -55,3 +56,17 @@ VKAPI_ATTR void VKAPI_CALL nvk_GetBufferMemoryRequirements2(
       }
    }
 }
+
+VKAPI_ATTR VkResult VKAPI_CALL
+nvk_BindBufferMemory2(VkDevice _device, uint32_t bindInfoCount,
+                     const VkBindBufferMemoryInfo *pBindInfos)
+{
+   for (uint32_t i = 0; i < bindInfoCount; ++i) {
+      VK_FROM_HANDLE(nvk_device_memory, mem, pBindInfos[i].memory);
+      VK_FROM_HANDLE(nvk_buffer, buffer, pBindInfos[i].buffer);
+
+      buffer->mem = mem;
+      buffer->offset = pBindInfos[i].memoryOffset;
+   }
+   return VK_SUCCESS;
+}
index 6914bd0..ba12e38 100644 (file)
@@ -5,8 +5,12 @@
 
 #include "vulkan/runtime/vk_buffer.h"
 
+struct nvk_device_memory;
+
 struct nvk_buffer {
    struct vk_buffer vk;
+   struct nvk_device_memory *mem;
+   VkDeviceSize offset;
 };
 
 VK_DEFINE_HANDLE_CASTS(nvk_buffer, vk.base, VkBuffer, VK_OBJECT_TYPE_BUFFER)