18#ifndef UE_VK_API_VERSION
19 #define UE_VK_API_VERSION VK_API_VERSION_1_1
23#ifndef VULKAN_SHOULD_DEBUG_IN_DEVELOPMENT
24 #define VULKAN_SHOULD_DEBUG_IN_DEVELOPMENT 1
27#ifndef VULKAN_HAS_DEBUGGING_ENABLED
28 #define VULKAN_HAS_DEBUGGING_ENABLED (!IS_PROGRAM && (UE_BUILD_DEBUG || (UE_BUILD_DEVELOPMENT && VULKAN_SHOULD_DEBUG_IN_DEVELOPMENT)))
38#ifndef VULKAN_VALIDATION_DEFAULT_VALUE
39 #define VULKAN_VALIDATION_DEFAULT_VALUE (UE_BUILD_DEBUG ? 2 : 0)
42#ifndef VULKAN_SHOULD_ENABLE_DRAW_MARKERS
43 #define VULKAN_SHOULD_ENABLE_DRAW_MARKERS 0
47#ifndef VULKAN_ENABLE_DUMP_LAYER
48 #define VULKAN_ENABLE_DUMP_LAYER 0
51#define VULKAN_ENABLE_DRAW_MARKERS VULKAN_SHOULD_ENABLE_DRAW_MARKERS
53#ifndef VULKAN_ENABLE_IMAGE_TRACKING_LAYER
54 #define VULKAN_ENABLE_IMAGE_TRACKING_LAYER 0
57#ifndef VULKAN_ENABLE_BUFFER_TRACKING_LAYER
58 #define VULKAN_ENABLE_BUFFER_TRACKING_LAYER 0
61#define VULKAN_ENABLE_TRACKING_LAYER (VULKAN_ENABLE_BUFFER_TRACKING_LAYER || VULKAN_ENABLE_IMAGE_TRACKING_LAYER)
62#define VULKAN_ENABLE_WRAP_LAYER (VULKAN_ENABLE_DUMP_LAYER || VULKAN_ENABLE_TRACKING_LAYER)
64#define VULKAN_HASH_POOLS_WITH_TYPES_USAGE_ID 1
66#define VULKAN_SINGLE_ALLOCATION_PER_RESOURCE 0
68#ifndef VULKAN_SHOULD_USE_LLM
69 #define VULKAN_SHOULD_USE_LLM 0
73 #define VULKAN_USE_LLM ((ENABLE_LOW_LEVEL_MEM_TRACKER) && VULKAN_SHOULD_USE_LLM)
76#ifndef VULKAN_CUSTOM_MEMORY_MANAGER_ENABLED
77 #define VULKAN_CUSTOM_MEMORY_MANAGER_ENABLED VULKAN_USE_LLM
80#ifndef VULKAN_SHOULD_USE_COMMANDWRAPPERS
81 #define VULKAN_SHOULD_USE_COMMANDWRAPPERS VULKAN_ENABLE_WRAP_LAYER
84#ifndef VULKAN_COMMANDWRAPPERS_ENABLE
85 #define VULKAN_COMMANDWRAPPERS_ENABLE VULKAN_SHOULD_USE_COMMANDWRAPPERS
88#ifndef VULKAN_USE_IMAGE_ACQUIRE_FENCES
89 #define VULKAN_USE_IMAGE_ACQUIRE_FENCES 1
92#define VULKAN_ENABLE_AGGRESSIVE_STATS 0
94#define VULKAN_REUSE_FENCES 1
96#ifndef VULKAN_QUERY_CALLSTACK
97 #define VULKAN_QUERY_CALLSTACK 0
100#ifndef VULKAN_ENABLE_DESKTOP_HMD_SUPPORT
101 #define VULKAN_ENABLE_DESKTOP_HMD_SUPPORT 0
104#ifndef VULKAN_SIGNAL_UNIMPLEMENTED
105 #define VULKAN_SIGNAL_UNIMPLEMENTED()
108#ifndef VULKAN_ENABLE_LRU_CACHE
109 #define VULKAN_ENABLE_LRU_CACHE 0
112#ifdef VK_EXT_validation_cache
113 #define VULKAN_SUPPORTS_VALIDATION_CACHE 1
115 #define VULKAN_SUPPORTS_VALIDATION_CACHE 0
118#ifdef VK_EXT_validation_features
119 #define VULKAN_HAS_VALIDATION_FEATURES 1
121 #define VULKAN_HAS_VALIDATION_FEATURES 0
124#ifndef VULKAN_SUPPORTS_DEDICATED_ALLOCATION
125 #define VULKAN_SUPPORTS_DEDICATED_ALLOCATION 1
128#ifndef VULKAN_SUPPORTS_GOOGLE_DISPLAY_TIMING
129 #define VULKAN_SUPPORTS_GOOGLE_DISPLAY_TIMING 0
132#ifndef VULKAN_USE_CREATE_ANDROID_SURFACE
133 #define VULKAN_USE_CREATE_ANDROID_SURFACE 0
136#ifndef VULKAN_USE_CREATE_WIN32_SURFACE
137 #define VULKAN_USE_CREATE_WIN32_SURFACE 0
140#ifndef VULKAN_USE_DIFFERENT_POOL_CMDBUFFERS
141 #define VULKAN_USE_DIFFERENT_POOL_CMDBUFFERS 1
144#ifndef VULKAN_DELETE_STALE_CMDBUFFERS
145 #define VULKAN_DELETE_STALE_CMDBUFFERS 1
148#ifndef VULKAN_SUPPORTS_SCALAR_BLOCK_LAYOUT
149 #define VULKAN_SUPPORTS_SCALAR_BLOCK_LAYOUT 1
153#ifndef VULKAN_SUPPORTS_MEMORY_BUDGET
154 #define VULKAN_SUPPORTS_MEMORY_BUDGET 1
157#ifndef VULKAN_SUPPORTS_MEMORY_PRIORITY
158 #define VULKAN_SUPPORTS_MEMORY_PRIORITY 1
161#ifndef VULKAN_SUPPORTS_DRIVER_PROPERTIES
162 #define VULKAN_SUPPORTS_DRIVER_PROPERTIES 1
165#ifndef VULKAN_SUPPORTS_QCOM_RENDERPASS_SHADER_RESOLVE
166 #ifdef VK_QCOM_render_pass_shader_resolve
167 #define VULKAN_SUPPORTS_QCOM_RENDERPASS_SHADER_RESOLVE 1
169 #define VULKAN_SUPPORTS_QCOM_RENDERPASS_SHADER_RESOLVE 0
173#ifndef VULKAN_SUPPORTS_FULLSCREEN_EXCLUSIVE
174 #ifdef VK_EXT_full_screen_exclusive
175 #define VULKAN_SUPPORTS_FULLSCREEN_EXCLUSIVE 1
177 #define VULKAN_SUPPORTS_FULLSCREEN_EXCLUSIVE 0
181#ifndef VULKAN_SUPPORTS_TEXTURE_COMPRESSION_ASTC_HDR
182#ifdef VK_EXT_texture_compression_astc_hdr
183#define VULKAN_SUPPORTS_TEXTURE_COMPRESSION_ASTC_HDR 1
185#define VULKAN_SUPPORTS_TEXTURE_COMPRESSION_ASTC_HDR 0
189#ifndef VULKAN_SUPPORTS_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER
190 #define VULKAN_SUPPORTS_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER 1
193#ifndef VULKAN_SUPPORTS_RENDERPASS2
194 #ifdef VK_KHR_create_renderpass2
195 #define VULKAN_SUPPORTS_RENDERPASS2 1
197 #define VULKAN_SUPPORTS_RENDERPASS2 0
201#ifndef VULKAN_SUPPORTS_ASTC_DECODE_MODE
202 #ifdef VK_EXT_astc_decode_mode
203 #define VULKAN_SUPPORTS_ASTC_DECODE_MODE 1
205 #define VULKAN_SUPPORTS_ASTC_DECODE_MODE 0
209#ifdef VK_EXT_shader_viewport_index_layer
210 #define VULKAN_SUPPORTS_SHADER_VIEWPORT_INDEX_LAYER 1
212 #define VULKAN_SUPPORTS_SHADER_VIEWPORT_INDEX_LAYER 0
215#ifndef VULKAN_SUPPORTS_DESCRIPTOR_INDEXING
216 #ifdef VK_EXT_descriptor_indexing
217 #define VULKAN_SUPPORTS_DESCRIPTOR_INDEXING 1
219 #define VULKAN_SUPPORTS_DESCRIPTOR_INDEXING 0
223#ifndef VULKAN_OBJECT_TRACKING
224#define VULKAN_OBJECT_TRACKING 0
229#if VULKAN_CUSTOM_MEMORY_MANAGER_ENABLED
230 #define VULKAN_CPU_ALLOCATOR VulkanRHI::GetMemoryAllocator(nullptr)
232 #define VULKAN_CPU_ALLOCATOR nullptr
235#ifndef VULKAN_PURGE_SHADER_MODULES
236 #define VULKAN_PURGE_SHADER_MODULES 0
239#ifndef VULKAN_SUPPORTS_TRANSIENT_RESOURCE_ALLOCATOR
240 #define VULKAN_SUPPORTS_TRANSIENT_RESOURCE_ALLOCATOR 1
243#ifndef VK_TYPE_TO_STRING
244# define VK_TYPE_TO_STRING(Type, Value) *FString::Printf(TEXT("%u"), (uint32)Value)
246#ifndef VK_FLAGS_TO_STRING
247# define VK_FLAGS_TO_STRING(Type, Value) *FString::Printf(TEXT("%u"), (uint32)Value)
255#if VULKAN_CUSTOM_MEMORY_MANAGER_ENABLED
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
Definition VulkanCommandBuffer.h:22