kiba-engine
device.h
1 #pragma once
2 
3 #include <kiba/gpu/device.h>
4 #include <vulkan/vulkan.h>
5 
6 // TODO be consistent how backend_device is passed around, also in general gpu-lib part
7 
8 // TODO research best practices for memory in vulkan
9 b8 vk_device_allocate_memory(struct gpu_backend_device device,
10  VkDeviceMemory *memory,
11  VkMemoryRequirements requirements,
12  VkMemoryPropertyFlagBits properties);
13 
14 b8 vk_device_create_framebuffer(struct gpu_backend_device *device,
15  struct vk_framebuffer_key key,
16  VkRenderPass renderpass,
17  VkFramebuffer *out_framebuffer);
18 
19 b8 vk_device_create_renderpass(struct gpu_backend_device *device,
20  struct vk_renderpass_key key,
21  VkRenderPass *out_renderpass);
22 
23 void vk_device_set_object_name(VkDevice device, VkObjectType type, void *handle, const char *name);