8#ifdef VISUTWIN_HAS_VULKAN
10#include <vulkan/vulkan.h>
11#include <vk_mem_alloc.h>
20 VulkanVertexBuffer(GraphicsDevice* device,
const std::shared_ptr<VertexFormat>& format,
21 int numVertices,
const VertexBufferOptions& options = VertexBufferOptions{});
22 ~VulkanVertexBuffer()
override;
24 void unlock()
override;
25 void* nativeBuffer()
const override {
return reinterpret_cast<void*
>(_buffer); }
27 [[nodiscard]] VkBuffer buffer()
const {
return _buffer; }
30 VkBuffer _buffer = VK_NULL_HANDLE;
31 VmaAllocation _allocation = VK_NULL_HANDLE;
32 VmaAllocator _allocator = VK_NULL_HANDLE;