30 #define VK_VERSION_1_0 1
33 #define VK_MAKE_VERSION(major, minor, patch) \
34 (((major) << 22) | ((minor) << 12) | (patch))
40 #define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0)// Patch version should always be set to 0
42 #define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22)
43 #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
44 #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
46 #define VK_HEADER_VERSION 59
49 #define VK_NULL_HANDLE 0
53 #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
56 #if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE)
57 #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
58 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
60 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;
97 #define VK_LOD_CLAMP_NONE 1000.0f
98 #define VK_REMAINING_MIP_LEVELS (~0U)
99 #define VK_REMAINING_ARRAY_LAYERS (~0U)
100 #define VK_WHOLE_SIZE (~0ULL)
101 #define VK_ATTACHMENT_UNUSED (~0U)
104 #define VK_QUEUE_FAMILY_IGNORED (~0U)
105 #define VK_SUBPASS_EXTERNAL (~0U)
106 #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256
107 #define VK_UUID_SIZE 16
108 #define VK_MAX_MEMORY_TYPES 32
109 #define VK_MAX_MEMORY_HEAPS 16
110 #define VK_MAX_EXTENSION_NAME_SIZE 256
111 #define VK_MAX_DESCRIPTION_SIZE 256
1958 VkPipelineVertexInputStateCreateFlags
flags;
1968 VkPipelineInputAssemblyStateCreateFlags
flags;
1976 VkPipelineTessellationStateCreateFlags
flags;
2007 VkPipelineViewportStateCreateFlags
flags;
2017 VkPipelineRasterizationStateCreateFlags
flags;
2033 VkPipelineMultisampleStateCreateFlags
flags;
2055 VkPipelineDepthStencilStateCreateFlags
flags;
2081 VkPipelineColorBlendStateCreateFlags
flags;
2092 VkPipelineDynamicStateCreateFlags
flags;
2600 typedef void (
VKAPI_PTR *
PFN_vkCmdWaitEvents)(VkCommandBuffer commandBuffer,
uint32_t eventCount,
const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask,
uint32_t memoryBarrierCount,
const VkMemoryBarrier* pMemoryBarriers,
uint32_t bufferMemoryBarrierCount,
const VkBufferMemoryBarrier* pBufferMemoryBarriers,
uint32_t imageMemoryBarrierCount,
const VkImageMemoryBarrier* pImageMemoryBarriers);
2613 #ifndef VK_NO_PROTOTYPES
2617 VkInstance* pInstance);
2620 VkInstance instance,
2624 VkInstance instance,
2626 VkPhysicalDevice* pPhysicalDevices);
2629 VkPhysicalDevice physicalDevice,
2633 VkPhysicalDevice physicalDevice,
2638 VkPhysicalDevice physicalDevice,
2642 VkImageUsageFlags usage,
2643 VkImageCreateFlags flags,
2647 VkPhysicalDevice physicalDevice,
2651 VkPhysicalDevice physicalDevice,
2652 uint32_t* pQueueFamilyPropertyCount,
2656 VkPhysicalDevice physicalDevice,
2660 VkInstance instance,
2668 VkPhysicalDevice physicalDevice,
2678 const char* pLayerName,
2683 VkPhysicalDevice physicalDevice,
2684 const char* pLayerName,
2693 VkPhysicalDevice physicalDevice,
2719 VkDeviceMemory* pMemory);
2723 VkDeviceMemory memory,
2728 VkDeviceMemory memory,
2729 VkDeviceSize offset,
2731 VkMemoryMapFlags flags,
2736 VkDeviceMemory memory);
2750 VkDeviceMemory memory,
2751 VkDeviceSize* pCommittedMemoryInBytes);
2756 VkDeviceMemory memory,
2757 VkDeviceSize memoryOffset);
2762 VkDeviceMemory memory,
2763 VkDeviceSize memoryOffset);
2778 uint32_t* pSparseMemoryRequirementCount,
2782 VkPhysicalDevice physicalDevice,
2786 VkImageUsageFlags usage,
2811 const VkFence* pFences);
2820 const VkFence* pFences,
2828 VkSemaphore* pSemaphore);
2832 VkSemaphore semaphore,
2862 VkQueryPool* pQueryPool);
2866 VkQueryPool queryPool,
2871 VkQueryPool queryPool,
2876 VkDeviceSize stride,
2877 VkQueryResultFlags flags);
2894 VkBufferView* pView);
2898 VkBufferView bufferView,
2922 VkImageView* pView);
2926 VkImageView imageView,
2933 VkShaderModule* pShaderModule);
2937 VkShaderModule shaderModule,
2944 VkPipelineCache* pPipelineCache);
2948 VkPipelineCache pipelineCache,
2953 VkPipelineCache pipelineCache,
2959 VkPipelineCache dstCache,
2961 const VkPipelineCache* pSrcCaches);
2965 VkPipelineCache pipelineCache,
2969 VkPipeline* pPipelines);
2973 VkPipelineCache pipelineCache,
2977 VkPipeline* pPipelines);
2981 VkPipeline pipeline,
2988 VkPipelineLayout* pPipelineLayout);
2992 VkPipelineLayout pipelineLayout,
2999 VkSampler* pSampler);
3010 VkDescriptorSetLayout* pSetLayout);
3014 VkDescriptorSetLayout descriptorSetLayout,
3021 VkDescriptorPool* pDescriptorPool);
3025 VkDescriptorPool descriptorPool,
3030 VkDescriptorPool descriptorPool,
3031 VkDescriptorPoolResetFlags flags);
3036 VkDescriptorSet* pDescriptorSets);
3040 VkDescriptorPool descriptorPool,
3042 const VkDescriptorSet* pDescriptorSets);
3055 VkFramebuffer* pFramebuffer);
3059 VkFramebuffer framebuffer,
3066 VkRenderPass* pRenderPass);
3070 VkRenderPass renderPass,
3075 VkRenderPass renderPass,
3082 VkCommandPool* pCommandPool);
3086 VkCommandPool commandPool,
3091 VkCommandPool commandPool,
3092 VkCommandPoolResetFlags flags);
3097 VkCommandBuffer* pCommandBuffers);
3101 VkCommandPool commandPool,
3103 const VkCommandBuffer* pCommandBuffers);
3106 VkCommandBuffer commandBuffer,
3110 VkCommandBuffer commandBuffer);
3113 VkCommandBuffer commandBuffer,
3114 VkCommandBufferResetFlags flags);
3117 VkCommandBuffer commandBuffer,
3119 VkPipeline pipeline);
3122 VkCommandBuffer commandBuffer,
3128 VkCommandBuffer commandBuffer,
3134 VkCommandBuffer commandBuffer,
3138 VkCommandBuffer commandBuffer,
3139 float depthBiasConstantFactor,
3140 float depthBiasClamp,
3141 float depthBiasSlopeFactor);
3144 VkCommandBuffer commandBuffer,
3145 const float blendConstants[4]);
3148 VkCommandBuffer commandBuffer,
3149 float minDepthBounds,
3150 float maxDepthBounds);
3153 VkCommandBuffer commandBuffer,
3154 VkStencilFaceFlags faceMask,
3158 VkCommandBuffer commandBuffer,
3159 VkStencilFaceFlags faceMask,
3163 VkCommandBuffer commandBuffer,
3164 VkStencilFaceFlags faceMask,
3168 VkCommandBuffer commandBuffer,
3170 VkPipelineLayout layout,
3173 const VkDescriptorSet* pDescriptorSets,
3178 VkCommandBuffer commandBuffer,
3180 VkDeviceSize offset,
3184 VkCommandBuffer commandBuffer,
3187 const VkBuffer* pBuffers,
3188 const VkDeviceSize* pOffsets);
3191 VkCommandBuffer commandBuffer,
3198 VkCommandBuffer commandBuffer,
3206 VkCommandBuffer commandBuffer,
3208 VkDeviceSize offset,
3213 VkCommandBuffer commandBuffer,
3215 VkDeviceSize offset,
3220 VkCommandBuffer commandBuffer,
3226 VkCommandBuffer commandBuffer,
3228 VkDeviceSize offset);
3231 VkCommandBuffer commandBuffer,
3238 VkCommandBuffer commandBuffer,
3247 VkCommandBuffer commandBuffer,
3257 VkCommandBuffer commandBuffer,
3265 VkCommandBuffer commandBuffer,
3273 VkCommandBuffer commandBuffer,
3275 VkDeviceSize dstOffset,
3276 VkDeviceSize dataSize,
3280 VkCommandBuffer commandBuffer,
3282 VkDeviceSize dstOffset,
3287 VkCommandBuffer commandBuffer,
3295 VkCommandBuffer commandBuffer,
3303 VkCommandBuffer commandBuffer,
3310 VkCommandBuffer commandBuffer,
3319 VkCommandBuffer commandBuffer,
3321 VkPipelineStageFlags stageMask);
3324 VkCommandBuffer commandBuffer,
3326 VkPipelineStageFlags stageMask);
3329 VkCommandBuffer commandBuffer,
3331 const VkEvent* pEvents,
3332 VkPipelineStageFlags srcStageMask,
3333 VkPipelineStageFlags dstStageMask,
3342 VkCommandBuffer commandBuffer,
3343 VkPipelineStageFlags srcStageMask,
3344 VkPipelineStageFlags dstStageMask,
3345 VkDependencyFlags dependencyFlags,
3354 VkCommandBuffer commandBuffer,
3355 VkQueryPool queryPool,
3357 VkQueryControlFlags flags);
3360 VkCommandBuffer commandBuffer,
3361 VkQueryPool queryPool,
3365 VkCommandBuffer commandBuffer,
3366 VkQueryPool queryPool,
3371 VkCommandBuffer commandBuffer,
3373 VkQueryPool queryPool,
3377 VkCommandBuffer commandBuffer,
3378 VkQueryPool queryPool,
3382 VkDeviceSize dstOffset,
3383 VkDeviceSize stride,
3384 VkQueryResultFlags flags);
3387 VkCommandBuffer commandBuffer,
3388 VkPipelineLayout layout,
3389 VkShaderStageFlags stageFlags,
3392 const void* pValues);
3395 VkCommandBuffer commandBuffer,
3400 VkCommandBuffer commandBuffer,
3404 VkCommandBuffer commandBuffer);
3407 VkCommandBuffer commandBuffer,
3409 const VkCommandBuffer* pCommandBuffers);
3412 #define VK_KHR_surface 1
3415 #define VK_KHR_SURFACE_SPEC_VERSION 25
3416 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
3417 #define VK_COLORSPACE_SRGB_NONLINEAR_KHR VK_COLOR_SPACE_SRGB_NONLINEAR_KHR
3504 #ifndef VK_NO_PROTOTYPES
3506 VkInstance instance,
3507 VkSurfaceKHR surface,
3511 VkPhysicalDevice physicalDevice,
3513 VkSurfaceKHR surface,
3514 VkBool32* pSupported);
3517 VkPhysicalDevice physicalDevice,
3518 VkSurfaceKHR surface,
3522 VkPhysicalDevice physicalDevice,
3523 VkSurfaceKHR surface,
3528 VkPhysicalDevice physicalDevice,
3529 VkSurfaceKHR surface,
3534 #define VK_KHR_swapchain 1
3537 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 68
3538 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
3586 #ifndef VK_NO_PROTOTYPES
3591 VkSwapchainKHR* pSwapchain);
3595 VkSwapchainKHR swapchain,
3600 VkSwapchainKHR swapchain,
3602 VkImage* pSwapchainImages);
3606 VkSwapchainKHR swapchain,
3608 VkSemaphore semaphore,
3617 #define VK_KHR_display 1
3621 #define VK_KHR_DISPLAY_SPEC_VERSION 21
3622 #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
3702 #ifndef VK_NO_PROTOTYPES
3704 VkPhysicalDevice physicalDevice,
3709 VkPhysicalDevice physicalDevice,
3714 VkPhysicalDevice physicalDevice,
3717 VkDisplayKHR* pDisplays);
3720 VkPhysicalDevice physicalDevice,
3721 VkDisplayKHR display,
3726 VkPhysicalDevice physicalDevice,
3727 VkDisplayKHR display,
3730 VkDisplayModeKHR* pMode);
3733 VkPhysicalDevice physicalDevice,
3734 VkDisplayModeKHR mode,
3739 VkInstance instance,
3742 VkSurfaceKHR* pSurface);
3745 #define VK_KHR_display_swapchain 1
3746 #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 9
3747 #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
3760 #ifndef VK_NO_PROTOTYPES
3766 VkSwapchainKHR* pSwapchains);
3769 #ifdef VK_USE_PLATFORM_XLIB_KHR
3770 #define VK_KHR_xlib_surface 1
3771 #include <X11/Xlib.h>
3773 #define VK_KHR_XLIB_SURFACE_SPEC_VERSION 6
3774 #define VK_KHR_XLIB_SURFACE_EXTENSION_NAME "VK_KHR_xlib_surface"
3776 typedef VkFlags VkXlibSurfaceCreateFlagsKHR;
3778 typedef struct VkXlibSurfaceCreateInfoKHR {
3781 VkXlibSurfaceCreateFlagsKHR
flags;
3784 } VkXlibSurfaceCreateInfoKHR;
3787 typedef VkResult (
VKAPI_PTR *PFN_vkCreateXlibSurfaceKHR)(VkInstance instance,
const VkXlibSurfaceCreateInfoKHR* pCreateInfo,
const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
3788 typedef VkBool32 (
VKAPI_PTR *PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR)(VkPhysicalDevice physicalDevice,
uint32_t queueFamilyIndex, Display*
dpy, VisualID visualID);
3790 #ifndef VK_NO_PROTOTYPES
3792 VkInstance instance,
3793 const VkXlibSurfaceCreateInfoKHR* pCreateInfo,
3795 VkSurfaceKHR* pSurface);
3798 VkPhysicalDevice physicalDevice,
3805 #ifdef VK_USE_PLATFORM_XCB_KHR
3806 #define VK_KHR_xcb_surface 1
3807 #include <xcb/xcb.h>
3809 #define VK_KHR_XCB_SURFACE_SPEC_VERSION 6
3810 #define VK_KHR_XCB_SURFACE_EXTENSION_NAME "VK_KHR_xcb_surface"
3812 typedef VkFlags VkXcbSurfaceCreateFlagsKHR;
3814 typedef struct VkXcbSurfaceCreateInfoKHR {
3817 VkXcbSurfaceCreateFlagsKHR
flags;
3818 xcb_connection_t* connection;
3820 } VkXcbSurfaceCreateInfoKHR;
3823 typedef VkResult (
VKAPI_PTR *PFN_vkCreateXcbSurfaceKHR)(VkInstance instance,
const VkXcbSurfaceCreateInfoKHR* pCreateInfo,
const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
3824 typedef VkBool32 (
VKAPI_PTR *PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR)(VkPhysicalDevice physicalDevice,
uint32_t queueFamilyIndex, xcb_connection_t* connection, xcb_visualid_t visual_id);
3826 #ifndef VK_NO_PROTOTYPES
3828 VkInstance instance,
3829 const VkXcbSurfaceCreateInfoKHR* pCreateInfo,
3831 VkSurfaceKHR* pSurface);
3834 VkPhysicalDevice physicalDevice,
3836 xcb_connection_t* connection,
3837 xcb_visualid_t visual_id);
3841 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
3842 #define VK_KHR_wayland_surface 1
3843 #include <wayland-client.h>
3845 #define VK_KHR_WAYLAND_SURFACE_SPEC_VERSION 6
3846 #define VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME "VK_KHR_wayland_surface"
3848 typedef VkFlags VkWaylandSurfaceCreateFlagsKHR;
3850 typedef struct VkWaylandSurfaceCreateInfoKHR {
3853 VkWaylandSurfaceCreateFlagsKHR
flags;
3854 struct wl_display* display;
3856 } VkWaylandSurfaceCreateInfoKHR;
3859 typedef VkResult (
VKAPI_PTR *PFN_vkCreateWaylandSurfaceKHR)(VkInstance instance,
const VkWaylandSurfaceCreateInfoKHR* pCreateInfo,
const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
3860 typedef VkBool32 (
VKAPI_PTR *PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR)(VkPhysicalDevice physicalDevice,
uint32_t queueFamilyIndex,
struct wl_display* display);
3862 #ifndef VK_NO_PROTOTYPES
3864 VkInstance instance,
3865 const VkWaylandSurfaceCreateInfoKHR* pCreateInfo,
3867 VkSurfaceKHR* pSurface);
3870 VkPhysicalDevice physicalDevice,
3872 struct wl_display* display);
3876 #ifdef VK_USE_PLATFORM_MIR_KHR
3877 #define VK_KHR_mir_surface 1
3878 #include <mir_toolkit/client_types.h>
3880 #define VK_KHR_MIR_SURFACE_SPEC_VERSION 4
3881 #define VK_KHR_MIR_SURFACE_EXTENSION_NAME "VK_KHR_mir_surface"
3883 typedef VkFlags VkMirSurfaceCreateFlagsKHR;
3885 typedef struct VkMirSurfaceCreateInfoKHR {
3888 VkMirSurfaceCreateFlagsKHR
flags;
3889 MirConnection* connection;
3890 MirSurface* mirSurface;
3891 } VkMirSurfaceCreateInfoKHR;
3894 typedef VkResult (
VKAPI_PTR *PFN_vkCreateMirSurfaceKHR)(VkInstance instance,
const VkMirSurfaceCreateInfoKHR* pCreateInfo,
const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
3895 typedef VkBool32 (
VKAPI_PTR *PFN_vkGetPhysicalDeviceMirPresentationSupportKHR)(VkPhysicalDevice physicalDevice,
uint32_t queueFamilyIndex, MirConnection* connection);
3897 #ifndef VK_NO_PROTOTYPES
3899 VkInstance instance,
3900 const VkMirSurfaceCreateInfoKHR* pCreateInfo,
3902 VkSurfaceKHR* pSurface);
3905 VkPhysicalDevice physicalDevice,
3907 MirConnection* connection);
3911 #ifdef VK_USE_PLATFORM_ANDROID_KHR
3912 #define VK_KHR_android_surface 1
3913 #include <android/native_window.h>
3915 #define VK_KHR_ANDROID_SURFACE_SPEC_VERSION 6
3916 #define VK_KHR_ANDROID_SURFACE_EXTENSION_NAME "VK_KHR_android_surface"
3918 typedef VkFlags VkAndroidSurfaceCreateFlagsKHR;
3920 typedef struct VkAndroidSurfaceCreateInfoKHR {
3923 VkAndroidSurfaceCreateFlagsKHR
flags;
3925 } VkAndroidSurfaceCreateInfoKHR;
3928 typedef VkResult (
VKAPI_PTR *PFN_vkCreateAndroidSurfaceKHR)(VkInstance instance,
const VkAndroidSurfaceCreateInfoKHR* pCreateInfo,
const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
3930 #ifndef VK_NO_PROTOTYPES
3932 VkInstance instance,
3933 const VkAndroidSurfaceCreateInfoKHR* pCreateInfo,
3935 VkSurfaceKHR* pSurface);
3939 #ifdef VK_USE_PLATFORM_WIN32_KHR
3940 #define VK_KHR_win32_surface 1
3941 #include <windows.h>
3943 #define VK_KHR_WIN32_SURFACE_SPEC_VERSION 6
3944 #define VK_KHR_WIN32_SURFACE_EXTENSION_NAME "VK_KHR_win32_surface"
3946 typedef VkFlags VkWin32SurfaceCreateFlagsKHR;
3948 typedef struct VkWin32SurfaceCreateInfoKHR {
3951 VkWin32SurfaceCreateFlagsKHR
flags;
3952 HINSTANCE hinstance;
3954 } VkWin32SurfaceCreateInfoKHR;
3957 typedef VkResult (
VKAPI_PTR *PFN_vkCreateWin32SurfaceKHR)(VkInstance instance,
const VkWin32SurfaceCreateInfoKHR* pCreateInfo,
const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
3958 typedef VkBool32 (
VKAPI_PTR *PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR)(VkPhysicalDevice physicalDevice,
uint32_t queueFamilyIndex);
3960 #ifndef VK_NO_PROTOTYPES
3962 VkInstance instance,
3963 const VkWin32SurfaceCreateInfoKHR* pCreateInfo,
3965 VkSurfaceKHR* pSurface);
3968 VkPhysicalDevice physicalDevice,
3973 #define VK_KHR_sampler_mirror_clamp_to_edge 1
3974 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 1
3975 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
3978 #define VK_KHR_get_physical_device_properties2 1
3979 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 1
3980 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
4053 #ifndef VK_NO_PROTOTYPES
4055 VkPhysicalDevice physicalDevice,
4059 VkPhysicalDevice physicalDevice,
4063 VkPhysicalDevice physicalDevice,
4068 VkPhysicalDevice physicalDevice,
4073 VkPhysicalDevice physicalDevice,
4074 uint32_t* pQueueFamilyPropertyCount,
4078 VkPhysicalDevice physicalDevice,
4082 VkPhysicalDevice physicalDevice,
4088 #define VK_KHR_shader_draw_parameters 1
4089 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
4090 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
4093 #define VK_KHR_maintenance1 1
4094 #define VK_KHR_MAINTENANCE1_SPEC_VERSION 1
4095 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1"
4101 #ifndef VK_NO_PROTOTYPES
4104 VkCommandPool commandPool,
4105 VkCommandPoolTrimFlagsKHR flags);
4108 #define VK_KHR_external_memory_capabilities 1
4109 #define VK_LUID_SIZE_KHR 8
4110 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
4111 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities"
4179 #ifndef VK_NO_PROTOTYPES
4181 VkPhysicalDevice physicalDevice,
4186 #define VK_KHR_external_memory 1
4187 #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1
4188 #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory"
4189 #define VK_QUEUE_FAMILY_EXTERNAL_KHR (~0U-1)
4211 #ifdef VK_USE_PLATFORM_WIN32_KHR
4212 #define VK_KHR_external_memory_win32 1
4213 #define VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION 1
4214 #define VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME "VK_KHR_external_memory_win32"
4216 typedef struct VkImportMemoryWin32HandleInfoKHR {
4222 } VkImportMemoryWin32HandleInfoKHR;
4224 typedef struct VkExportMemoryWin32HandleInfoKHR {
4227 const SECURITY_ATTRIBUTES* pAttributes;
4230 } VkExportMemoryWin32HandleInfoKHR;
4232 typedef struct VkMemoryWin32HandlePropertiesKHR {
4236 } VkMemoryWin32HandlePropertiesKHR;
4238 typedef struct VkMemoryGetWin32HandleInfoKHR {
4243 } VkMemoryGetWin32HandleInfoKHR;
4246 typedef VkResult (
VKAPI_PTR *PFN_vkGetMemoryWin32HandleKHR)(VkDevice
device,
const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle);
4249 #ifndef VK_NO_PROTOTYPES
4252 const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo,
4259 VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties);
4263 #define VK_KHR_external_memory_fd 1
4264 #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1
4265 #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd"
4291 #ifndef VK_NO_PROTOTYPES
4304 #ifdef VK_USE_PLATFORM_WIN32_KHR
4305 #define VK_KHR_win32_keyed_mutex 1
4306 #define VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION 1
4307 #define VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME "VK_KHR_win32_keyed_mutex"
4309 typedef struct VkWin32KeyedMutexAcquireReleaseInfoKHR {
4313 const VkDeviceMemory* pAcquireSyncs;
4317 const VkDeviceMemory* pReleaseSyncs;
4319 } VkWin32KeyedMutexAcquireReleaseInfoKHR;
4324 #define VK_KHR_external_semaphore_capabilities 1
4325 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1
4326 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities"
4363 #ifndef VK_NO_PROTOTYPES
4365 VkPhysicalDevice physicalDevice,
4370 #define VK_KHR_external_semaphore 1
4371 #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
4372 #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore"
4389 #ifdef VK_USE_PLATFORM_WIN32_KHR
4390 #define VK_KHR_external_semaphore_win32 1
4391 #define VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION 1
4392 #define VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME "VK_KHR_external_semaphore_win32"
4394 typedef struct VkImportSemaphoreWin32HandleInfoKHR {
4397 VkSemaphore semaphore;
4398 VkSemaphoreImportFlagsKHR
flags;
4402 } VkImportSemaphoreWin32HandleInfoKHR;
4404 typedef struct VkExportSemaphoreWin32HandleInfoKHR {
4407 const SECURITY_ATTRIBUTES* pAttributes;
4410 } VkExportSemaphoreWin32HandleInfoKHR;
4412 typedef struct VkD3D12FenceSubmitInfoKHR {
4416 const uint64_t* pWaitSemaphoreValues;
4417 uint32_t signalSemaphoreValuesCount;
4418 const uint64_t* pSignalSemaphoreValues;
4419 } VkD3D12FenceSubmitInfoKHR;
4421 typedef struct VkSemaphoreGetWin32HandleInfoKHR {
4424 VkSemaphore semaphore;
4426 } VkSemaphoreGetWin32HandleInfoKHR;
4429 typedef VkResult (
VKAPI_PTR *PFN_vkImportSemaphoreWin32HandleKHR)(VkDevice
device,
const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo);
4430 typedef VkResult (
VKAPI_PTR *PFN_vkGetSemaphoreWin32HandleKHR)(VkDevice
device,
const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle);
4432 #ifndef VK_NO_PROTOTYPES
4435 const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo);
4439 const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo,
4444 #define VK_KHR_external_semaphore_fd 1
4445 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1
4446 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd"
4468 #ifndef VK_NO_PROTOTYPES
4479 #define VK_KHR_push_descriptor 1
4480 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 1
4481 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
4492 #ifndef VK_NO_PROTOTYPES
4494 VkCommandBuffer commandBuffer,
4496 VkPipelineLayout layout,
4498 uint32_t descriptorWriteCount,
4502 #define VK_KHR_16bit_storage 1
4503 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
4504 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
4517 #define VK_KHR_incremental_present 1
4518 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 1
4519 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
4541 #define VK_KHR_descriptor_update_template 1
4544 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
4545 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"
4571 VkDescriptorUpdateTemplateCreateFlagsKHR
flags;
4587 #ifndef VK_NO_PROTOTYPES
4592 VkDescriptorUpdateTemplateKHR* pDescriptorUpdateTemplate);
4596 VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate,
4601 VkDescriptorSet descriptorSet,
4602 VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate,
4606 VkCommandBuffer commandBuffer,
4607 VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate,
4608 VkPipelineLayout layout,
4613 #define VK_KHR_shared_presentable_image 1
4614 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1
4615 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image"
4626 #ifndef VK_NO_PROTOTYPES
4629 VkSwapchainKHR swapchain);
4632 #define VK_KHR_external_fence_capabilities 1
4633 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1
4634 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities"
4670 #ifndef VK_NO_PROTOTYPES
4672 VkPhysicalDevice physicalDevice,
4677 #define VK_KHR_external_fence 1
4678 #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1
4679 #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence"
4696 #ifdef VK_USE_PLATFORM_WIN32_KHR
4697 #define VK_KHR_external_fence_win32 1
4698 #define VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION 1
4699 #define VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME "VK_KHR_external_fence_win32"
4701 typedef struct VkImportFenceWin32HandleInfoKHR {
4705 VkFenceImportFlagsKHR
flags;
4709 } VkImportFenceWin32HandleInfoKHR;
4711 typedef struct VkExportFenceWin32HandleInfoKHR {
4714 const SECURITY_ATTRIBUTES* pAttributes;
4717 } VkExportFenceWin32HandleInfoKHR;
4719 typedef struct VkFenceGetWin32HandleInfoKHR {
4724 } VkFenceGetWin32HandleInfoKHR;
4727 typedef VkResult (
VKAPI_PTR *PFN_vkImportFenceWin32HandleKHR)(VkDevice
device,
const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo);
4728 typedef VkResult (
VKAPI_PTR *PFN_vkGetFenceWin32HandleKHR)(VkDevice
device,
const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle);
4730 #ifndef VK_NO_PROTOTYPES
4733 const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo);
4737 const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo,
4742 #define VK_KHR_external_fence_fd 1
4743 #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1
4744 #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd"
4766 #ifndef VK_NO_PROTOTYPES
4777 #define VK_KHR_get_surface_capabilities2 1
4778 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1
4779 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"
4803 #ifndef VK_NO_PROTOTYPES
4805 VkPhysicalDevice physicalDevice,
4810 VkPhysicalDevice physicalDevice,
4812 uint32_t* pSurfaceFormatCount,
4816 #define VK_KHR_variable_pointers 1
4817 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
4818 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
4829 #define VK_KHR_dedicated_allocation 1
4830 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
4831 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"
4849 #define VK_KHR_storage_buffer_storage_class 1
4850 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
4851 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
4854 #define VK_KHR_relaxed_block_layout 1
4855 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
4856 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"
4859 #define VK_KHR_get_memory_requirements2 1
4860 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1
4861 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
4898 #ifndef VK_NO_PROTOTYPES
4912 uint32_t* pSparseMemoryRequirementCount,
4916 #define VK_EXT_debug_report 1
4919 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 8
4920 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
4921 #define VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT
4922 #define VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT
4978 VkDebugReportFlagsEXT
flags,
4983 const char* pLayerPrefix,
4984 const char* pMessage,
5000 #ifndef VK_NO_PROTOTYPES
5002 VkInstance instance,
5005 VkDebugReportCallbackEXT* pCallback);
5008 VkInstance instance,
5009 VkDebugReportCallbackEXT callback,
5013 VkInstance instance,
5014 VkDebugReportFlagsEXT flags,
5019 const char* pLayerPrefix,
5020 const char* pMessage);
5023 #define VK_NV_glsl_shader 1
5024 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1
5025 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader"
5028 #define VK_EXT_depth_range_unrestricted 1
5029 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1
5030 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"
5033 #define VK_IMG_filter_cubic 1
5034 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
5035 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
5038 #define VK_AMD_rasterization_order 1
5039 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1
5040 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"
5060 #define VK_AMD_shader_trinary_minmax 1
5061 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1
5062 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"
5065 #define VK_AMD_shader_explicit_vertex_parameter 1
5066 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1
5067 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
5070 #define VK_EXT_debug_marker 1
5071 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4
5072 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"
5106 #ifndef VK_NO_PROTOTYPES
5116 VkCommandBuffer commandBuffer,
5120 VkCommandBuffer commandBuffer);
5123 VkCommandBuffer commandBuffer,
5127 #define VK_AMD_gcn_shader 1
5128 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1
5129 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader"
5132 #define VK_NV_dedicated_allocation 1
5133 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1
5134 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"
5157 #define VK_AMD_draw_indirect_count 1
5158 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
5159 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
5164 #ifndef VK_NO_PROTOTYPES
5166 VkCommandBuffer commandBuffer,
5168 VkDeviceSize offset,
5169 VkBuffer countBuffer,
5170 VkDeviceSize countBufferOffset,
5171 uint32_t maxDrawCount,
5175 VkCommandBuffer commandBuffer,
5177 VkDeviceSize offset,
5178 VkBuffer countBuffer,
5179 VkDeviceSize countBufferOffset,
5180 uint32_t maxDrawCount,
5184 #define VK_AMD_negative_viewport_height 1
5185 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
5186 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
5189 #define VK_AMD_gpu_shader_half_float 1
5190 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 1
5191 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
5194 #define VK_AMD_shader_ballot 1
5195 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
5196 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
5199 #define VK_AMD_texture_gather_bias_lod 1
5200 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1
5201 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"
5211 #define VK_KHX_multiview 1
5212 #define VK_KHX_MULTIVIEW_SPEC_VERSION 1
5213 #define VK_KHX_MULTIVIEW_EXTENSION_NAME "VK_KHX_multiview"
5243 #define VK_IMG_format_pvrtc 1
5244 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
5245 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
5248 #define VK_NV_external_memory_capabilities 1
5249 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
5250 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities"
5280 #ifndef VK_NO_PROTOTYPES
5282 VkPhysicalDevice physicalDevice,
5286 VkImageUsageFlags usage,
5287 VkImageCreateFlags flags,
5288 VkExternalMemoryHandleTypeFlagsNV externalHandleType,
5292 #define VK_NV_external_memory 1
5293 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1
5294 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"
5310 #ifdef VK_USE_PLATFORM_WIN32_KHR
5311 #define VK_NV_external_memory_win32 1
5312 #define VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION 1
5313 #define VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME "VK_NV_external_memory_win32"
5315 typedef struct VkImportMemoryWin32HandleInfoNV {
5318 VkExternalMemoryHandleTypeFlagsNV
handleType;
5320 } VkImportMemoryWin32HandleInfoNV;
5322 typedef struct VkExportMemoryWin32HandleInfoNV {
5325 const SECURITY_ATTRIBUTES* pAttributes;
5327 } VkExportMemoryWin32HandleInfoNV;
5332 #ifndef VK_NO_PROTOTYPES
5335 VkDeviceMemory memory,
5336 VkExternalMemoryHandleTypeFlagsNV handleType,
5341 #ifdef VK_USE_PLATFORM_WIN32_KHR
5342 #define VK_NV_win32_keyed_mutex 1
5343 #define VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION 1
5344 #define VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME "VK_NV_win32_keyed_mutex"
5346 typedef struct VkWin32KeyedMutexAcquireReleaseInfoNV {
5349 uint32_t acquireCount;
5350 const VkDeviceMemory* pAcquireSyncs;
5352 const uint32_t* pAcquireTimeoutMilliseconds;
5353 uint32_t releaseCount;
5354 const VkDeviceMemory* pReleaseSyncs;
5356 } VkWin32KeyedMutexAcquireReleaseInfoNV;
5361 #define VK_KHX_device_group 1
5362 #define VK_MAX_DEVICE_GROUP_SIZE_KHX 32
5363 #define VK_KHX_DEVICE_GROUP_SPEC_VERSION 1
5364 #define VK_KHX_DEVICE_GROUP_EXTENSION_NAME "VK_KHX_device_group"
5504 typedef void (
VKAPI_PTR *
PFN_vkCmdDispatchBaseKHX)(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
5507 #ifndef VK_NO_PROTOTYPES
5511 uint32_t localDeviceIndex,
5512 uint32_t remoteDeviceIndex,
5513 VkPeerMemoryFeatureFlagsKHX* pPeerMemoryFeatures);
5517 uint32_t bindInfoCount,
5522 uint32_t bindInfoCount,
5526 VkCommandBuffer commandBuffer,
5527 uint32_t deviceMask);
5535 VkSurfaceKHR surface,
5536 VkDeviceGroupPresentModeFlagsKHX* pModes);
5541 uint32_t* pImageIndex);
5544 VkCommandBuffer commandBuffer,
5545 uint32_t baseGroupX,
5546 uint32_t baseGroupY,
5547 uint32_t baseGroupZ,
5548 uint32_t groupCountX,
5549 uint32_t groupCountY,
5550 uint32_t groupCountZ);
5553 VkPhysicalDevice physicalDevice,
5554 VkSurfaceKHR surface,
5555 uint32_t* pRectCount,
5559 #define VK_EXT_validation_flags 1
5560 #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 1
5561 #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"
5582 #ifdef VK_USE_PLATFORM_VI_NN
5583 #define VK_NN_vi_surface 1
5584 #define VK_NN_VI_SURFACE_SPEC_VERSION 1
5585 #define VK_NN_VI_SURFACE_EXTENSION_NAME "VK_NN_vi_surface"
5587 typedef VkFlags VkViSurfaceCreateFlagsNN;
5589 typedef struct VkViSurfaceCreateInfoNN {
5592 VkViSurfaceCreateFlagsNN
flags;
5594 } VkViSurfaceCreateInfoNN;
5599 #ifndef VK_NO_PROTOTYPES
5601 VkInstance instance,
5602 const VkViSurfaceCreateInfoNN* pCreateInfo,
5604 VkSurfaceKHR* pSurface);
5608 #define VK_EXT_shader_subgroup_ballot 1
5609 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
5610 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"
5613 #define VK_EXT_shader_subgroup_vote 1
5614 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1
5615 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"
5618 #define VK_KHX_device_group_creation 1
5619 #define VK_KHX_DEVICE_GROUP_CREATION_SPEC_VERSION 1
5620 #define VK_KHX_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHX_device_group_creation"
5640 #ifndef VK_NO_PROTOTYPES
5642 VkInstance instance,
5643 uint32_t* pPhysicalDeviceGroupCount,
5647 #define VK_NVX_device_generated_commands 1
5651 #define VK_NVX_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3
5652 #define VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NVX_device_generated_commands"
5732 VkIndirectCommandsLayoutUsageFlagsNVX
flags;
5823 #ifndef VK_NO_PROTOTYPES
5825 VkCommandBuffer commandBuffer,
5829 VkCommandBuffer commandBuffer,
5836 VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout);
5840 VkIndirectCommandsLayoutNVX indirectCommandsLayout,
5847 VkObjectTableNVX* pObjectTable);
5851 VkObjectTableNVX objectTable,
5856 VkObjectTableNVX objectTable,
5857 uint32_t objectCount,
5859 const uint32_t* pObjectIndices);
5863 VkObjectTableNVX objectTable,
5864 uint32_t objectCount,
5866 const uint32_t* pObjectIndices);
5869 VkPhysicalDevice physicalDevice,
5874 #define VK_NV_clip_space_w_scaling 1
5875 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1
5876 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"
5894 #ifndef VK_NO_PROTOTYPES
5896 VkCommandBuffer commandBuffer,
5897 uint32_t firstViewport,
5898 uint32_t viewportCount,
5902 #define VK_EXT_direct_mode_display 1
5903 #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1
5904 #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display"
5908 #ifndef VK_NO_PROTOTYPES
5910 VkPhysicalDevice physicalDevice,
5911 VkDisplayKHR display);
5914 #ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
5915 #define VK_EXT_acquire_xlib_display 1
5916 #include <X11/extensions/Xrandr.h>
5918 #define VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION 1
5919 #define VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_xlib_display"
5921 typedef VkResult (
VKAPI_PTR *PFN_vkAcquireXlibDisplayEXT)(VkPhysicalDevice physicalDevice, Display*
dpy, VkDisplayKHR display);
5922 typedef VkResult (
VKAPI_PTR *PFN_vkGetRandROutputDisplayEXT)(VkPhysicalDevice physicalDevice, Display*
dpy, RROutput rrOutput, VkDisplayKHR* pDisplay);
5924 #ifndef VK_NO_PROTOTYPES
5926 VkPhysicalDevice physicalDevice,
5928 VkDisplayKHR display);
5931 VkPhysicalDevice physicalDevice,
5934 VkDisplayKHR* pDisplay);
5938 #define VK_EXT_display_surface_counter 1
5939 #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1
5940 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter"
5941 #define VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT
5969 #ifndef VK_NO_PROTOTYPES
5971 VkPhysicalDevice physicalDevice,
5972 VkSurfaceKHR surface,
5976 #define VK_EXT_display_control 1
5977 #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1
5978 #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control"
6037 #ifndef VK_NO_PROTOTYPES
6040 VkDisplayKHR display,
6051 VkDisplayKHR display,
6058 VkSwapchainKHR swapchain,
6063 #define VK_GOOGLE_display_timing 1
6064 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1
6065 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing"
6095 #ifndef VK_NO_PROTOTYPES
6098 VkSwapchainKHR swapchain,
6103 VkSwapchainKHR swapchain,
6104 uint32_t* pPresentationTimingCount,
6108 #define VK_NV_sample_mask_override_coverage 1
6109 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
6110 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"
6113 #define VK_NV_geometry_shader_passthrough 1
6114 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1
6115 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"
6118 #define VK_NV_viewport_array2 1
6119 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION 1
6120 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME "VK_NV_viewport_array2"
6123 #define VK_NVX_multiview_per_view_attributes 1
6124 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1
6125 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes"
6135 #define VK_NV_viewport_swizzle 1
6136 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1
6137 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"
6167 VkPipelineViewportSwizzleStateCreateFlagsNV
flags;
6174 #define VK_EXT_discard_rectangles 1
6175 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1
6176 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"
6199 VkPipelineDiscardRectangleStateCreateFlagsEXT
flags;
6208 #ifndef VK_NO_PROTOTYPES
6210 VkCommandBuffer commandBuffer,
6211 uint32_t firstDiscardRectangle,
6212 uint32_t discardRectangleCount,
6213 const VkRect2D* pDiscardRectangles);
6216 #define VK_EXT_swapchain_colorspace 1
6217 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 3
6218 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"
6221 #define VK_EXT_hdr_metadata 1
6222 #define VK_EXT_HDR_METADATA_SPEC_VERSION 1
6223 #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"
6246 #ifndef VK_NO_PROTOTYPES
6249 uint32_t swapchainCount,
6250 const VkSwapchainKHR* pSwapchains,
6254 #ifdef VK_USE_PLATFORM_IOS_MVK
6255 #define VK_MVK_ios_surface 1
6256 #define VK_MVK_IOS_SURFACE_SPEC_VERSION 2
6257 #define VK_MVK_IOS_SURFACE_EXTENSION_NAME "VK_MVK_ios_surface"
6259 typedef VkFlags VkIOSSurfaceCreateFlagsMVK;
6261 typedef struct VkIOSSurfaceCreateInfoMVK {
6264 VkIOSSurfaceCreateFlagsMVK
flags;
6266 } VkIOSSurfaceCreateInfoMVK;
6269 typedef VkResult (
VKAPI_PTR *PFN_vkCreateIOSSurfaceMVK)(VkInstance instance,
const VkIOSSurfaceCreateInfoMVK* pCreateInfo,
const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
6271 #ifndef VK_NO_PROTOTYPES
6273 VkInstance instance,
6274 const VkIOSSurfaceCreateInfoMVK* pCreateInfo,
6276 VkSurfaceKHR* pSurface);
6280 #ifdef VK_USE_PLATFORM_MACOS_MVK
6281 #define VK_MVK_macos_surface 1
6282 #define VK_MVK_MACOS_SURFACE_SPEC_VERSION 2
6283 #define VK_MVK_MACOS_SURFACE_EXTENSION_NAME "VK_MVK_macos_surface"
6285 typedef VkFlags VkMacOSSurfaceCreateFlagsMVK;
6287 typedef struct VkMacOSSurfaceCreateInfoMVK {
6290 VkMacOSSurfaceCreateFlagsMVK
flags;
6292 } VkMacOSSurfaceCreateInfoMVK;
6295 typedef VkResult (
VKAPI_PTR *PFN_vkCreateMacOSSurfaceMVK)(VkInstance instance,
const VkMacOSSurfaceCreateInfoMVK* pCreateInfo,
const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
6297 #ifndef VK_NO_PROTOTYPES
6299 VkInstance instance,
6300 const VkMacOSSurfaceCreateInfoMVK* pCreateInfo,
6302 VkSurfaceKHR* pSurface);
6306 #define VK_EXT_sampler_filter_minmax 1
6307 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 1
6308 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
6336 #define VK_AMD_gpu_shader_int16 1
6337 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 1
6338 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
6341 #define VK_AMD_mixed_attachment_samples 1
6342 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
6343 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
6346 #define VK_EXT_shader_stencil_export 1
6347 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1
6348 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export"
6351 #define VK_EXT_blend_operation_advanced 1
6352 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2
6353 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
6393 #define VK_NV_fragment_coverage_to_color 1
6394 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1
6395 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color"
6402 VkPipelineCoverageToColorStateCreateFlagsNV
flags;
6409 #define VK_NV_framebuffer_mixed_samples 1
6410 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1
6411 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"
6430 VkPipelineCoverageModulationStateCreateFlagsNV
flags;
6439 #define VK_NV_fill_rectangle 1
6440 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1
6441 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
6444 #define VK_EXT_post_depth_coverage 1
6445 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1
6446 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"
6449 #define VK_EXT_shader_viewport_index_layer 1
6450 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1
6451 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"