blob: a85bf9e905c0dd66f1cafbdab7c1a56ab391cae7 [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
Adam Sawicki212a4a62018-06-14 15:44:45 +020019//#define VMA_HEAVY_ASSERT(expr) assert(expr)
Adam Sawicki0a607132018-08-24 11:18:41 +020020//#define VMA_USE_STL_CONTAINERS 1
Adam Sawicki4f919392018-04-03 13:45:39 +020021//#define VMA_DEDICATED_ALLOCATION 0
Adam Sawicki212a4a62018-06-14 15:44:45 +020022//#define VMA_DEBUG_MARGIN 16
23//#define VMA_DEBUG_DETECT_CORRUPTION 1
Adam Sawickie44c6262018-06-15 14:30:39 +020024//#define VMA_DEBUG_INITIALIZE_ALLOCATIONS 1
Adam Sawickie5d9b012018-08-20 15:50:03 +020025//#define VMA_RECORDING_ENABLED 0
Adam Sawicki0a607132018-08-24 11:18:41 +020026//#define VMA_DEBUG_MIN_BUFFER_IMAGE_GRANULARITY 256
Adam Sawicki212a4a62018-06-14 15:44:45 +020027
Adam Sawickif1a793c2018-03-13 15:42:22 +010028#pragma warning(push, 4)
29#pragma warning(disable: 4127) // conditional expression is constant
30#pragma warning(disable: 4100) // unreferenced formal parameter
31#pragma warning(disable: 4189) // local variable is initialized but not referenced
32
33#include "vk_mem_alloc.h"
34
35#pragma warning(pop)
36
37#else // #ifdef _WIN32
38
39#include <vulkan/vulkan.h>
40#include "vk_mem_alloc.h"
41
42#endif // #ifdef _WIN32
43
44#endif