#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,
}
}
}
+
+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;
+}
#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)