blob: e788a30b98d40ee34737bb2d14787bd36921a135 [file] [log] [blame]
Adam Sawickif1a793c2018-03-13 15:42:22 +01001#ifndef VMA_USAGE_H_
2#define VMA_USAGE_H_
3
4#ifdef _WIN32
5
6#define NOMINMAX
7#define WIN32_LEAN_AND_MEAN
8#include <Windows.h>
9#define VK_USE_PLATFORM_WIN32_KHR
10
11#include <vulkan/vulkan.h>
12
13/*
14In every place where you want to use Vulkan Memory Allocator, define appropriate
15macros if you want to configure the library and then include its header to
16include all public interface declarations. Example:
17*/
18
19//#define VMA_USE_STL_CONTAINERS 1
20
Adam Sawicki212a4a62018-06-14 15:44:45 +020021//#define VMA_HEAVY_ASSERT(expr) assert(expr)
Adam Sawickif1a793c2018-03-13 15:42:22 +010022
Adam Sawicki4f919392018-04-03 13:45:39 +020023//#define VMA_DEDICATED_ALLOCATION 0
24
Adam Sawicki212a4a62018-06-14 15:44:45 +020025//#define VMA_DEBUG_MARGIN 16
26//#define VMA_DEBUG_DETECT_CORRUPTION 1
Adam Sawickie44c6262018-06-15 14:30:39 +020027//#define VMA_DEBUG_INITIALIZE_ALLOCATIONS 1
Adam Sawickie5d9b012018-08-20 15:50:03 +020028//#define VMA_RECORDING_ENABLED 0
Adam Sawicki212a4a62018-06-14 15:44:45 +020029
Adam Sawickif1a793c2018-03-13 15:42:22 +010030#pragma warning(push, 4)
31#pragma warning(disable: 4127) // conditional expression is constant
32#pragma warning(disable: 4100) // unreferenced formal parameter
33#pragma warning(disable: 4189) // local variable is initialized but not referenced
34
35#include "vk_mem_alloc.h"
36
37#pragma warning(pop)
38
39#else // #ifdef _WIN32
40
41#include <vulkan/vulkan.h>
42#include "vk_mem_alloc.h"
43
44#endif // #ifdef _WIN32
45
46#endif