| 2326 | } |
| 2327 | |
| 2328 | static HVertexBuffer VulkanNewVertexBuffer(HContext _context, uint32_t size, const void* data, BufferUsage buffer_usage) |
| 2329 | { |
| 2330 | VulkanContext* context = (VulkanContext*)_context; |
| 2331 | VkBufferUsageFlags usage_flags = VK_BUFFER_USAGE_VERTEX_BUFFER_BIT; |
| 2332 | if (buffer_usage & BUFFER_USAGE_TRANSFER) |
| 2333 | { |
| 2334 | usage_flags |= VK_BUFFER_USAGE_TRANSFER_SRC_BIT; |
| 2335 | usage_flags |= VK_BUFFER_USAGE_TRANSFER_DST_BIT; |
| 2336 | } |
| 2337 | |
| 2338 | DeviceBuffer* buffer = new DeviceBuffer(usage_flags); |
| 2339 | |
| 2340 | if (size > 0) |
| 2341 | { |
| 2342 | DeviceBufferUploadHelper(context, data, size, 0, buffer); |
| 2343 | } |
| 2344 | |
| 2345 | return (HVertexBuffer) buffer; |
| 2346 | } |
| 2347 | |
| 2348 | static void VulkanDeleteVertexBuffer(HVertexBuffer buffer) |
| 2349 | { |
nothing calls this directly
no test coverage detected