option('ENABLE_VALIDATION_OPT', type: 'boolean', value: false, description: 'Enable Vulkan Validation Layer') option('VKH_ENABLE_VMA', type: 'boolean', value: true, description: 'Enable Vulkan Memory Allocator - For more information: https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator') option('VMA_RECORDING_ENABLED', type: 'boolean', value: false, description: 'Enable VMA memory recording for debugging') option('VMA_USE_STL_CONTAINERS', type: 'boolean', value: false, description: 'Use C++ STL containers instead of VMAs containers') option('VMA_STATIC_VULKAN_FUNCTIONS', type: 'boolean', value: false, description: 'Link statically with Vulkan API') option('VMA_DYNAMIC_VULKAN_FUNCTIONS', type: 'boolean', value: true, description: 'Fetch pointers to Vulkan functions internally (no static linking)') option('VMA_DEBUG_ALWAYS_DEDICATED_MEMORY', type: 'boolean', value: false, description: 'Every allocation will have its own memory block') option('VMA_DEBUG_INITIALIZE_ALLOCATIONS', type: 'boolean', value: false, description: 'Automatically fill new allocations and destroyed allocations with some bit pattern') option('VMA_DEBUG_GLOBAL_MUTEX', type: 'boolean', value: false, description: 'Enable single mutex protecting all entry calls to the library') option('VMA_DEBUG_DONT_EXCEED_MAX_MEMORY_ALLOCATION_COUNT', type: 'boolean', value: false, description: 'Never exceed VkPhysicalDeviceLimits::maxMemoryAllocationCount and return error') option('VMA_DEBUG_ALIGNMENT', type: 'integer', value: 1, description: 'Minimum alignment of all allocations, in bytes. Set to more than 1 for debugging purposes only. Must be power of two.') option('VMA_DEBUG_MARGIN', type: 'integer', value: 0, description: 'Minimum margin before and after every allocation, in bytes. Set nonzero for debugging purposes only.') option('VMA_DEBUG_MIN_BUFFER_IMAGE_GRANULARITY', type: 'integer', value: 1, description: 'Minimum value for VkPhysicalDeviceLimits::bufferImageGranularity. Set to more than 1 for debugging purposes only. Must be power of two.') option('VMA_SMALL_HEAP_MAX_SIZE', type: 'integer', value: 1073741824, description: 'Maximum size of a memory heap in Vulkan to consider it "small".') option('VMA_DEFAULT_LARGE_HEAP_BLOCK_SIZE', type: 'integer', value: 268435456, description: 'Default size of a block allocated as single VkDeviceMemory from a "large" heap.')