17#ifndef _FGE_VULKAN_VULKANGLOBAL_HPP_INCLUDED
18#define _FGE_VULKAN_VULKANGLOBAL_HPP_INCLUDED
20#include "FastEngine/fge_extern.hpp"
23#define WIN32_LEAN_AND_MEAN
29#define VMA_NULLABLE_NON_DISPATCHABLE
30#include "vk_mem_alloc.h"
36#define FGE_MAX_FRAMES_IN_FLIGHT 1
45FGE_API
extern std::vector<char const*> InstanceLayers;
46FGE_API
extern std::vector<char const*> DeviceExtensions;
47FGE_API
extern std::vector<char const*> InstanceExtensions;
49FGE_API
extern Context& GetActiveContext();
50FGE_API
extern void SetActiveContext(Context& context);
52FGE_API
bool CheckInstanceLayerSupport(
char const* layerName);
54FGE_API
void CreateBuffer(Context
const& context,
56 VkBufferUsageFlags usage,
57 VkMemoryPropertyFlags properties,
59 VmaAllocation& allocation);
61FGE_API
void CreateImage(Context
const& context,
66 VkImageUsageFlags usage,
67 VkMemoryPropertyFlags properties,
70 VmaAllocation& allocation);
72FGE_API VkImageView CreateImageView(LogicalDevice
const& logicalDevice,