mirror of
				https://github.com/glfw/glfw.git
				synced 2025-11-04 06:15:07 +00:00 
			
		
		
		
	Update Vulkan headers to 1.0.39.1 SDK
This commit is contained in:
		
							parent
							
								
									a46c95c7f2
								
							
						
					
					
						commit
						3af0c47c97
					
				
							
								
								
									
										2
									
								
								deps/vulkan/vk_platform.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/vulkan/vk_platform.h
									
									
									
									
										vendored
									
									
								
							@ -53,7 +53,7 @@ extern "C"
 | 
			
		||||
    #define VKAPI_PTR  VKAPI_CALL
 | 
			
		||||
#elif defined(__ANDROID__) && defined(__ARM_ARCH) && __ARM_ARCH < 7
 | 
			
		||||
    #error "Vulkan isn't supported for the 'armeabi' NDK ABI"
 | 
			
		||||
#elif defined(__ANDROID__) && defined(__ARM_ARCH) && __ARM_ARCH >= 7 && __ARM_32BIT_STATE
 | 
			
		||||
#elif defined(__ANDROID__) && defined(__ARM_ARCH) && __ARM_ARCH >= 7 && defined(__ARM_32BIT_STATE)
 | 
			
		||||
    // On Android 32-bit ARM targets, Vulkan functions use the "hardfloat"
 | 
			
		||||
    // calling convention, i.e. float parameters are passed in registers. This
 | 
			
		||||
    // is true even if the rest of the application passes floats on the stack,
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										654
									
								
								deps/vulkan/vulkan.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										654
									
								
								deps/vulkan/vulkan.h
									
									
									
									
										vendored
									
									
								
							@ -6,7 +6,7 @@ extern "C" {
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
** Copyright (c) 2015-2016 The Khronos Group Inc.
 | 
			
		||||
** Copyright (c) 2015-2017 The Khronos Group Inc.
 | 
			
		||||
**
 | 
			
		||||
** Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
** you may not use this file except in compliance with the License.
 | 
			
		||||
@ -43,7 +43,7 @@ extern "C" {
 | 
			
		||||
#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
 | 
			
		||||
#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
 | 
			
		||||
// Version of this file
 | 
			
		||||
#define VK_HEADER_VERSION 26
 | 
			
		||||
#define VK_HEADER_VERSION 39
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define VK_NULL_HANDLE 0
 | 
			
		||||
@ -145,6 +145,7 @@ typedef enum VkResult {
 | 
			
		||||
    VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001,
 | 
			
		||||
    VK_ERROR_VALIDATION_FAILED_EXT = -1000011001,
 | 
			
		||||
    VK_ERROR_INVALID_SHADER_NV = -1000012000,
 | 
			
		||||
    VK_ERROR_OUT_OF_POOL_MEMORY_KHR = -1000069000,
 | 
			
		||||
    VK_RESULT_BEGIN_RANGE = VK_ERROR_FRAGMENTED_POOL,
 | 
			
		||||
    VK_RESULT_END_RANGE = VK_INCOMPLETE,
 | 
			
		||||
    VK_RESULT_RANGE_SIZE = (VK_INCOMPLETE - VK_ERROR_FRAGMENTED_POOL + 1),
 | 
			
		||||
@ -225,6 +226,28 @@ typedef enum VkStructureType {
 | 
			
		||||
    VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000,
 | 
			
		||||
    VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001,
 | 
			
		||||
    VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000,
 | 
			
		||||
    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = 1000059000,
 | 
			
		||||
    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = 1000059001,
 | 
			
		||||
    VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = 1000059002,
 | 
			
		||||
    VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = 1000059003,
 | 
			
		||||
    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = 1000059004,
 | 
			
		||||
    VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = 1000059005,
 | 
			
		||||
    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = 1000059006,
 | 
			
		||||
    VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = 1000059007,
 | 
			
		||||
    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = 1000059008,
 | 
			
		||||
    VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000,
 | 
			
		||||
    VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000,
 | 
			
		||||
    VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX = 1000086000,
 | 
			
		||||
    VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX = 1000086001,
 | 
			
		||||
    VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX = 1000086002,
 | 
			
		||||
    VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX = 1000086003,
 | 
			
		||||
    VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX = 1000086004,
 | 
			
		||||
    VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX = 1000086005,
 | 
			
		||||
    VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = 1000090000,
 | 
			
		||||
    VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000,
 | 
			
		||||
    VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001,
 | 
			
		||||
    VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002,
 | 
			
		||||
    VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003,
 | 
			
		||||
    VK_STRUCTURE_TYPE_BEGIN_RANGE = VK_STRUCTURE_TYPE_APPLICATION_INFO,
 | 
			
		||||
    VK_STRUCTURE_TYPE_END_RANGE = VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO,
 | 
			
		||||
    VK_STRUCTURE_TYPE_RANGE_SIZE = (VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO - VK_STRUCTURE_TYPE_APPLICATION_INFO + 1),
 | 
			
		||||
@ -833,6 +856,8 @@ typedef enum VkFormatFeatureFlagBits {
 | 
			
		||||
    VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800,
 | 
			
		||||
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000,
 | 
			
		||||
    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,
 | 
			
		||||
    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = 0x00004000,
 | 
			
		||||
    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = 0x00008000,
 | 
			
		||||
    VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
 | 
			
		||||
} VkFormatFeatureFlagBits;
 | 
			
		||||
typedef VkFlags VkFormatFeatureFlags;
 | 
			
		||||
@ -856,6 +881,7 @@ typedef enum VkImageCreateFlagBits {
 | 
			
		||||
    VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
 | 
			
		||||
    VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,
 | 
			
		||||
    VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,
 | 
			
		||||
    VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = 0x00000020,
 | 
			
		||||
    VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
 | 
			
		||||
} VkImageCreateFlagBits;
 | 
			
		||||
typedef VkFlags VkImageCreateFlags;
 | 
			
		||||
@ -917,6 +943,7 @@ typedef enum VkPipelineStageFlagBits {
 | 
			
		||||
    VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,
 | 
			
		||||
    VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,
 | 
			
		||||
    VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
 | 
			
		||||
    VK_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX = 0x00020000,
 | 
			
		||||
    VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
 | 
			
		||||
} VkPipelineStageFlagBits;
 | 
			
		||||
typedef VkFlags VkPipelineStageFlags;
 | 
			
		||||
@ -1091,6 +1118,8 @@ typedef enum VkAccessFlagBits {
 | 
			
		||||
    VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
 | 
			
		||||
    VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
 | 
			
		||||
    VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
 | 
			
		||||
    VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX = 0x00020000,
 | 
			
		||||
    VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX = 0x00040000,
 | 
			
		||||
    VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
 | 
			
		||||
} VkAccessFlagBits;
 | 
			
		||||
typedef VkFlags VkAccessFlags;
 | 
			
		||||
@ -3196,6 +3225,18 @@ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
 | 
			
		||||
 | 
			
		||||
typedef enum VkColorSpaceKHR {
 | 
			
		||||
    VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
 | 
			
		||||
    VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104001,
 | 
			
		||||
    VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104002,
 | 
			
		||||
    VK_COLOR_SPACE_SCRGB_LINEAR_EXT = 1000104003,
 | 
			
		||||
    VK_COLOR_SPACE_SCRGB_NONLINEAR_EXT = 1000104004,
 | 
			
		||||
    VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104005,
 | 
			
		||||
    VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104006,
 | 
			
		||||
    VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104007,
 | 
			
		||||
    VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104008,
 | 
			
		||||
    VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104009,
 | 
			
		||||
    VK_COLOR_SPACE_BT2020_NONLINEAR_EXT = 1000104010,
 | 
			
		||||
    VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,
 | 
			
		||||
    VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,
 | 
			
		||||
    VK_COLOR_SPACE_BEGIN_RANGE_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
 | 
			
		||||
    VK_COLOR_SPACE_END_RANGE_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
 | 
			
		||||
    VK_COLOR_SPACE_RANGE_SIZE_KHR = (VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - VK_COLOR_SPACE_SRGB_NONLINEAR_KHR + 1),
 | 
			
		||||
@ -3731,10 +3772,140 @@ VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWin32PresentationSupportKHR(
 | 
			
		||||
#define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define VK_KHR_get_physical_device_properties2 1
 | 
			
		||||
#define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 1
 | 
			
		||||
#define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
 | 
			
		||||
 | 
			
		||||
typedef struct VkPhysicalDeviceFeatures2KHR {
 | 
			
		||||
    VkStructureType             sType;
 | 
			
		||||
    void*                       pNext;
 | 
			
		||||
    VkPhysicalDeviceFeatures    features;
 | 
			
		||||
} VkPhysicalDeviceFeatures2KHR;
 | 
			
		||||
 | 
			
		||||
typedef struct VkPhysicalDeviceProperties2KHR {
 | 
			
		||||
    VkStructureType               sType;
 | 
			
		||||
    void*                         pNext;
 | 
			
		||||
    VkPhysicalDeviceProperties    properties;
 | 
			
		||||
} VkPhysicalDeviceProperties2KHR;
 | 
			
		||||
 | 
			
		||||
typedef struct VkFormatProperties2KHR {
 | 
			
		||||
    VkStructureType       sType;
 | 
			
		||||
    void*                 pNext;
 | 
			
		||||
    VkFormatProperties    formatProperties;
 | 
			
		||||
} VkFormatProperties2KHR;
 | 
			
		||||
 | 
			
		||||
typedef struct VkImageFormatProperties2KHR {
 | 
			
		||||
    VkStructureType            sType;
 | 
			
		||||
    void*                      pNext;
 | 
			
		||||
    VkImageFormatProperties    imageFormatProperties;
 | 
			
		||||
} VkImageFormatProperties2KHR;
 | 
			
		||||
 | 
			
		||||
typedef struct VkPhysicalDeviceImageFormatInfo2KHR {
 | 
			
		||||
    VkStructureType       sType;
 | 
			
		||||
    const void*           pNext;
 | 
			
		||||
    VkFormat              format;
 | 
			
		||||
    VkImageType           type;
 | 
			
		||||
    VkImageTiling         tiling;
 | 
			
		||||
    VkImageUsageFlags     usage;
 | 
			
		||||
    VkImageCreateFlags    flags;
 | 
			
		||||
} VkPhysicalDeviceImageFormatInfo2KHR;
 | 
			
		||||
 | 
			
		||||
typedef struct VkQueueFamilyProperties2KHR {
 | 
			
		||||
    VkStructureType            sType;
 | 
			
		||||
    void*                      pNext;
 | 
			
		||||
    VkQueueFamilyProperties    queueFamilyProperties;
 | 
			
		||||
} VkQueueFamilyProperties2KHR;
 | 
			
		||||
 | 
			
		||||
typedef struct VkPhysicalDeviceMemoryProperties2KHR {
 | 
			
		||||
    VkStructureType                     sType;
 | 
			
		||||
    void*                               pNext;
 | 
			
		||||
    VkPhysicalDeviceMemoryProperties    memoryProperties;
 | 
			
		||||
} VkPhysicalDeviceMemoryProperties2KHR;
 | 
			
		||||
 | 
			
		||||
typedef struct VkSparseImageFormatProperties2KHR {
 | 
			
		||||
    VkStructureType                  sType;
 | 
			
		||||
    void*                            pNext;
 | 
			
		||||
    VkSparseImageFormatProperties    properties;
 | 
			
		||||
} VkSparseImageFormatProperties2KHR;
 | 
			
		||||
 | 
			
		||||
typedef struct VkPhysicalDeviceSparseImageFormatInfo2KHR {
 | 
			
		||||
    VkStructureType          sType;
 | 
			
		||||
    const void*              pNext;
 | 
			
		||||
    VkFormat                 format;
 | 
			
		||||
    VkImageType              type;
 | 
			
		||||
    VkSampleCountFlagBits    samples;
 | 
			
		||||
    VkImageUsageFlags        usage;
 | 
			
		||||
    VkImageTiling            tiling;
 | 
			
		||||
} VkPhysicalDeviceSparseImageFormatInfo2KHR;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2KHR* pFeatures);
 | 
			
		||||
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2KHR* pProperties);
 | 
			
		||||
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2KHR* pFormatProperties);
 | 
			
		||||
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2KHR* pImageFormatInfo, VkImageFormatProperties2KHR* pImageFormatProperties);
 | 
			
		||||
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2KHR* pQueueFamilyProperties);
 | 
			
		||||
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2KHR* pMemoryProperties);
 | 
			
		||||
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2KHR* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2KHR* pProperties);
 | 
			
		||||
 | 
			
		||||
#ifndef VK_NO_PROTOTYPES
 | 
			
		||||
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR(
 | 
			
		||||
    VkPhysicalDevice                            physicalDevice,
 | 
			
		||||
    VkPhysicalDeviceFeatures2KHR*               pFeatures);
 | 
			
		||||
 | 
			
		||||
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(
 | 
			
		||||
    VkPhysicalDevice                            physicalDevice,
 | 
			
		||||
    VkPhysicalDeviceProperties2KHR*             pProperties);
 | 
			
		||||
 | 
			
		||||
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR(
 | 
			
		||||
    VkPhysicalDevice                            physicalDevice,
 | 
			
		||||
    VkFormat                                    format,
 | 
			
		||||
    VkFormatProperties2KHR*                     pFormatProperties);
 | 
			
		||||
 | 
			
		||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR(
 | 
			
		||||
    VkPhysicalDevice                            physicalDevice,
 | 
			
		||||
    const VkPhysicalDeviceImageFormatInfo2KHR*  pImageFormatInfo,
 | 
			
		||||
    VkImageFormatProperties2KHR*                pImageFormatProperties);
 | 
			
		||||
 | 
			
		||||
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(
 | 
			
		||||
    VkPhysicalDevice                            physicalDevice,
 | 
			
		||||
    uint32_t*                                   pQueueFamilyPropertyCount,
 | 
			
		||||
    VkQueueFamilyProperties2KHR*                pQueueFamilyProperties);
 | 
			
		||||
 | 
			
		||||
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(
 | 
			
		||||
    VkPhysicalDevice                            physicalDevice,
 | 
			
		||||
    VkPhysicalDeviceMemoryProperties2KHR*       pMemoryProperties);
 | 
			
		||||
 | 
			
		||||
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
 | 
			
		||||
    VkPhysicalDevice                            physicalDevice,
 | 
			
		||||
    const VkPhysicalDeviceSparseImageFormatInfo2KHR* pFormatInfo,
 | 
			
		||||
    uint32_t*                                   pPropertyCount,
 | 
			
		||||
    VkSparseImageFormatProperties2KHR*          pProperties);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define VK_KHR_shader_draw_parameters 1
 | 
			
		||||
#define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
 | 
			
		||||
#define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define VK_KHR_maintenance1 1
 | 
			
		||||
#define VK_KHR_MAINTENANCE1_SPEC_VERSION  1
 | 
			
		||||
#define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1"
 | 
			
		||||
 | 
			
		||||
typedef VkFlags VkCommandPoolTrimFlagsKHR;
 | 
			
		||||
 | 
			
		||||
typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlagsKHR flags);
 | 
			
		||||
 | 
			
		||||
#ifndef VK_NO_PROTOTYPES
 | 
			
		||||
VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR(
 | 
			
		||||
    VkDevice                                    device,
 | 
			
		||||
    VkCommandPool                               commandPool,
 | 
			
		||||
    VkCommandPoolTrimFlagsKHR                   flags);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define VK_EXT_debug_report 1
 | 
			
		||||
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
 | 
			
		||||
 | 
			
		||||
#define VK_EXT_DEBUG_REPORT_SPEC_VERSION  3
 | 
			
		||||
#define VK_EXT_DEBUG_REPORT_SPEC_VERSION  4
 | 
			
		||||
#define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
 | 
			
		||||
#define VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT
 | 
			
		||||
 | 
			
		||||
@ -3769,9 +3940,13 @@ typedef enum VkDebugReportObjectTypeEXT {
 | 
			
		||||
    VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
 | 
			
		||||
    VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
 | 
			
		||||
    VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = 28,
 | 
			
		||||
    VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
 | 
			
		||||
    VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
 | 
			
		||||
    VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT = 31,
 | 
			
		||||
    VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT = 32,
 | 
			
		||||
    VK_DEBUG_REPORT_OBJECT_TYPE_BEGIN_RANGE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT,
 | 
			
		||||
    VK_DEBUG_REPORT_OBJECT_TYPE_END_RANGE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT,
 | 
			
		||||
    VK_DEBUG_REPORT_OBJECT_TYPE_RANGE_SIZE_EXT = (VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT - VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT + 1),
 | 
			
		||||
    VK_DEBUG_REPORT_OBJECT_TYPE_END_RANGE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT,
 | 
			
		||||
    VK_DEBUG_REPORT_OBJECT_TYPE_RANGE_SIZE_EXT = (VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT - VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT + 1),
 | 
			
		||||
    VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
 | 
			
		||||
} VkDebugReportObjectTypeEXT;
 | 
			
		||||
 | 
			
		||||
@ -3972,8 +4147,8 @@ typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define VK_AMD_draw_indirect_count 1
 | 
			
		||||
#define VK_AMD_EXTENSION_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
 | 
			
		||||
#define VK_AMD_EXTENSION_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
 | 
			
		||||
#define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
 | 
			
		||||
#define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
 | 
			
		||||
 | 
			
		||||
typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
 | 
			
		||||
typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
 | 
			
		||||
@ -3998,6 +4173,21 @@ VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD(
 | 
			
		||||
    uint32_t                                    stride);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define VK_AMD_negative_viewport_height 1
 | 
			
		||||
#define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
 | 
			
		||||
#define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define VK_AMD_gpu_shader_half_float 1
 | 
			
		||||
#define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 1
 | 
			
		||||
#define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define VK_AMD_shader_ballot 1
 | 
			
		||||
#define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
 | 
			
		||||
#define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define VK_IMG_format_pvrtc 1
 | 
			
		||||
#define VK_IMG_FORMAT_PVRTC_SPEC_VERSION  1
 | 
			
		||||
#define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
 | 
			
		||||
@ -4116,6 +4306,456 @@ typedef struct VkWin32KeyedMutexAcquireReleaseInfoNV {
 | 
			
		||||
 | 
			
		||||
#endif /* VK_USE_PLATFORM_WIN32_KHR */
 | 
			
		||||
 | 
			
		||||
#define VK_EXT_validation_flags 1
 | 
			
		||||
#define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 1
 | 
			
		||||
#define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
typedef enum VkValidationCheckEXT {
 | 
			
		||||
    VK_VALIDATION_CHECK_ALL_EXT = 0,
 | 
			
		||||
    VK_VALIDATION_CHECK_BEGIN_RANGE_EXT = VK_VALIDATION_CHECK_ALL_EXT,
 | 
			
		||||
    VK_VALIDATION_CHECK_END_RANGE_EXT = VK_VALIDATION_CHECK_ALL_EXT,
 | 
			
		||||
    VK_VALIDATION_CHECK_RANGE_SIZE_EXT = (VK_VALIDATION_CHECK_ALL_EXT - VK_VALIDATION_CHECK_ALL_EXT + 1),
 | 
			
		||||
    VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF
 | 
			
		||||
} VkValidationCheckEXT;
 | 
			
		||||
 | 
			
		||||
typedef struct VkValidationFlagsEXT {
 | 
			
		||||
    VkStructureType          sType;
 | 
			
		||||
    const void*              pNext;
 | 
			
		||||
    uint32_t                 disabledValidationCheckCount;
 | 
			
		||||
    VkValidationCheckEXT*    pDisabledValidationChecks;
 | 
			
		||||
} VkValidationFlagsEXT;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifdef VK_USE_PLATFORM_VI_NN
 | 
			
		||||
#define VK_NN_vi_surface 1
 | 
			
		||||
#define VK_NN_VI_SURFACE_SPEC_VERSION     1
 | 
			
		||||
#define VK_NN_VI_SURFACE_EXTENSION_NAME   "VK_NN_vi_surface"
 | 
			
		||||
 | 
			
		||||
typedef VkFlags VkViSurfaceCreateFlagsNN;
 | 
			
		||||
 | 
			
		||||
typedef struct VkViSurfaceCreateInfoNN {
 | 
			
		||||
    VkStructureType             sType;
 | 
			
		||||
    const void*                 pNext;
 | 
			
		||||
    VkViSurfaceCreateFlagsNN    flags;
 | 
			
		||||
    void*                       window;
 | 
			
		||||
} VkViSurfaceCreateInfoNN;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateViSurfaceNN)(VkInstance instance, const VkViSurfaceCreateInfoNN* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
 | 
			
		||||
 | 
			
		||||
#ifndef VK_NO_PROTOTYPES
 | 
			
		||||
VKAPI_ATTR VkResult VKAPI_CALL vkCreateViSurfaceNN(
 | 
			
		||||
    VkInstance                                  instance,
 | 
			
		||||
    const VkViSurfaceCreateInfoNN*              pCreateInfo,
 | 
			
		||||
    const VkAllocationCallbacks*                pAllocator,
 | 
			
		||||
    VkSurfaceKHR*                               pSurface);
 | 
			
		||||
#endif
 | 
			
		||||
#endif /* VK_USE_PLATFORM_VI_NN */
 | 
			
		||||
 | 
			
		||||
#define VK_EXT_shader_subgroup_ballot 1
 | 
			
		||||
#define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
 | 
			
		||||
#define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define VK_EXT_shader_subgroup_vote 1
 | 
			
		||||
#define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1
 | 
			
		||||
#define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define VK_NVX_device_generated_commands 1
 | 
			
		||||
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkObjectTableNVX)
 | 
			
		||||
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNVX)
 | 
			
		||||
 | 
			
		||||
#define VK_NVX_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 1
 | 
			
		||||
#define VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NVX_device_generated_commands"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
typedef enum VkIndirectCommandsTokenTypeNVX {
 | 
			
		||||
    VK_INDIRECT_COMMANDS_TOKEN_PIPELINE_NVX = 0,
 | 
			
		||||
    VK_INDIRECT_COMMANDS_TOKEN_DESCRIPTOR_SET_NVX = 1,
 | 
			
		||||
    VK_INDIRECT_COMMANDS_TOKEN_INDEX_BUFFER_NVX = 2,
 | 
			
		||||
    VK_INDIRECT_COMMANDS_TOKEN_VERTEX_BUFFER_NVX = 3,
 | 
			
		||||
    VK_INDIRECT_COMMANDS_TOKEN_PUSH_CONSTANT_NVX = 4,
 | 
			
		||||
    VK_INDIRECT_COMMANDS_TOKEN_DRAW_INDEXED_NVX = 5,
 | 
			
		||||
    VK_INDIRECT_COMMANDS_TOKEN_DRAW_NVX = 6,
 | 
			
		||||
    VK_INDIRECT_COMMANDS_TOKEN_DISPATCH_NVX = 7,
 | 
			
		||||
    VK_INDIRECT_COMMANDS_TOKEN_TYPE_BEGIN_RANGE_NVX = VK_INDIRECT_COMMANDS_TOKEN_PIPELINE_NVX,
 | 
			
		||||
    VK_INDIRECT_COMMANDS_TOKEN_TYPE_END_RANGE_NVX = VK_INDIRECT_COMMANDS_TOKEN_DISPATCH_NVX,
 | 
			
		||||
    VK_INDIRECT_COMMANDS_TOKEN_TYPE_RANGE_SIZE_NVX = (VK_INDIRECT_COMMANDS_TOKEN_DISPATCH_NVX - VK_INDIRECT_COMMANDS_TOKEN_PIPELINE_NVX + 1),
 | 
			
		||||
    VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NVX = 0x7FFFFFFF
 | 
			
		||||
} VkIndirectCommandsTokenTypeNVX;
 | 
			
		||||
 | 
			
		||||
typedef enum VkObjectEntryTypeNVX {
 | 
			
		||||
    VK_OBJECT_ENTRY_DESCRIPTOR_SET_NVX = 0,
 | 
			
		||||
    VK_OBJECT_ENTRY_PIPELINE_NVX = 1,
 | 
			
		||||
    VK_OBJECT_ENTRY_INDEX_BUFFER_NVX = 2,
 | 
			
		||||
    VK_OBJECT_ENTRY_VERTEX_BUFFER_NVX = 3,
 | 
			
		||||
    VK_OBJECT_ENTRY_PUSH_CONSTANT_NVX = 4,
 | 
			
		||||
    VK_OBJECT_ENTRY_TYPE_BEGIN_RANGE_NVX = VK_OBJECT_ENTRY_DESCRIPTOR_SET_NVX,
 | 
			
		||||
    VK_OBJECT_ENTRY_TYPE_END_RANGE_NVX = VK_OBJECT_ENTRY_PUSH_CONSTANT_NVX,
 | 
			
		||||
    VK_OBJECT_ENTRY_TYPE_RANGE_SIZE_NVX = (VK_OBJECT_ENTRY_PUSH_CONSTANT_NVX - VK_OBJECT_ENTRY_DESCRIPTOR_SET_NVX + 1),
 | 
			
		||||
    VK_OBJECT_ENTRY_TYPE_MAX_ENUM_NVX = 0x7FFFFFFF
 | 
			
		||||
} VkObjectEntryTypeNVX;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
typedef enum VkIndirectCommandsLayoutUsageFlagBitsNVX {
 | 
			
		||||
    VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX = 0x00000001,
 | 
			
		||||
    VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX = 0x00000002,
 | 
			
		||||
    VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX = 0x00000004,
 | 
			
		||||
    VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX = 0x00000008,
 | 
			
		||||
    VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NVX = 0x7FFFFFFF
 | 
			
		||||
} VkIndirectCommandsLayoutUsageFlagBitsNVX;
 | 
			
		||||
typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNVX;
 | 
			
		||||
 | 
			
		||||
typedef enum VkObjectEntryUsageFlagBitsNVX {
 | 
			
		||||
    VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX = 0x00000001,
 | 
			
		||||
    VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX = 0x00000002,
 | 
			
		||||
    VK_OBJECT_ENTRY_USAGE_FLAG_BITS_MAX_ENUM_NVX = 0x7FFFFFFF
 | 
			
		||||
} VkObjectEntryUsageFlagBitsNVX;
 | 
			
		||||
typedef VkFlags VkObjectEntryUsageFlagsNVX;
 | 
			
		||||
 | 
			
		||||
typedef struct VkDeviceGeneratedCommandsFeaturesNVX {
 | 
			
		||||
    VkStructureType    sType;
 | 
			
		||||
    const void*        pNext;
 | 
			
		||||
    VkBool32           computeBindingPointSupport;
 | 
			
		||||
} VkDeviceGeneratedCommandsFeaturesNVX;
 | 
			
		||||
 | 
			
		||||
typedef struct VkDeviceGeneratedCommandsLimitsNVX {
 | 
			
		||||
    VkStructureType    sType;
 | 
			
		||||
    const void*        pNext;
 | 
			
		||||
    uint32_t           maxIndirectCommandsLayoutTokenCount;
 | 
			
		||||
    uint32_t           maxObjectEntryCounts;
 | 
			
		||||
    uint32_t           minSequenceCountBufferOffsetAlignment;
 | 
			
		||||
    uint32_t           minSequenceIndexBufferOffsetAlignment;
 | 
			
		||||
    uint32_t           minCommandsTokenBufferOffsetAlignment;
 | 
			
		||||
} VkDeviceGeneratedCommandsLimitsNVX;
 | 
			
		||||
 | 
			
		||||
typedef struct VkIndirectCommandsTokenNVX {
 | 
			
		||||
    VkIndirectCommandsTokenTypeNVX    tokenType;
 | 
			
		||||
    VkBuffer                          buffer;
 | 
			
		||||
    VkDeviceSize                      offset;
 | 
			
		||||
} VkIndirectCommandsTokenNVX;
 | 
			
		||||
 | 
			
		||||
typedef struct VkIndirectCommandsLayoutTokenNVX {
 | 
			
		||||
    VkIndirectCommandsTokenTypeNVX    tokenType;
 | 
			
		||||
    uint32_t                          bindingUnit;
 | 
			
		||||
    uint32_t                          dynamicCount;
 | 
			
		||||
    uint32_t                          divisor;
 | 
			
		||||
} VkIndirectCommandsLayoutTokenNVX;
 | 
			
		||||
 | 
			
		||||
typedef struct VkIndirectCommandsLayoutCreateInfoNVX {
 | 
			
		||||
    VkStructureType                            sType;
 | 
			
		||||
    const void*                                pNext;
 | 
			
		||||
    VkPipelineBindPoint                        pipelineBindPoint;
 | 
			
		||||
    VkIndirectCommandsLayoutUsageFlagsNVX      flags;
 | 
			
		||||
    uint32_t                                   tokenCount;
 | 
			
		||||
    const VkIndirectCommandsLayoutTokenNVX*    pTokens;
 | 
			
		||||
} VkIndirectCommandsLayoutCreateInfoNVX;
 | 
			
		||||
 | 
			
		||||
typedef struct VkCmdProcessCommandsInfoNVX {
 | 
			
		||||
    VkStructureType                      sType;
 | 
			
		||||
    const void*                          pNext;
 | 
			
		||||
    VkObjectTableNVX                     objectTable;
 | 
			
		||||
    VkIndirectCommandsLayoutNVX          indirectCommandsLayout;
 | 
			
		||||
    uint32_t                             indirectCommandsTokenCount;
 | 
			
		||||
    const VkIndirectCommandsTokenNVX*    pIndirectCommandsTokens;
 | 
			
		||||
    uint32_t                             maxSequencesCount;
 | 
			
		||||
    VkCommandBuffer                      targetCommandBuffer;
 | 
			
		||||
    VkBuffer                             sequencesCountBuffer;
 | 
			
		||||
    VkDeviceSize                         sequencesCountOffset;
 | 
			
		||||
    VkBuffer                             sequencesIndexBuffer;
 | 
			
		||||
    VkDeviceSize                         sequencesIndexOffset;
 | 
			
		||||
} VkCmdProcessCommandsInfoNVX;
 | 
			
		||||
 | 
			
		||||
typedef struct VkCmdReserveSpaceForCommandsInfoNVX {
 | 
			
		||||
    VkStructureType                sType;
 | 
			
		||||
    const void*                    pNext;
 | 
			
		||||
    VkObjectTableNVX               objectTable;
 | 
			
		||||
    VkIndirectCommandsLayoutNVX    indirectCommandsLayout;
 | 
			
		||||
    uint32_t                       maxSequencesCount;
 | 
			
		||||
} VkCmdReserveSpaceForCommandsInfoNVX;
 | 
			
		||||
 | 
			
		||||
typedef struct VkObjectTableCreateInfoNVX {
 | 
			
		||||
    VkStructureType                      sType;
 | 
			
		||||
    const void*                          pNext;
 | 
			
		||||
    uint32_t                             objectCount;
 | 
			
		||||
    const VkObjectEntryTypeNVX*          pObjectEntryTypes;
 | 
			
		||||
    const uint32_t*                      pObjectEntryCounts;
 | 
			
		||||
    const VkObjectEntryUsageFlagsNVX*    pObjectEntryUsageFlags;
 | 
			
		||||
    uint32_t                             maxUniformBuffersPerDescriptor;
 | 
			
		||||
    uint32_t                             maxStorageBuffersPerDescriptor;
 | 
			
		||||
    uint32_t                             maxStorageImagesPerDescriptor;
 | 
			
		||||
    uint32_t                             maxSampledImagesPerDescriptor;
 | 
			
		||||
    uint32_t                             maxPipelineLayouts;
 | 
			
		||||
} VkObjectTableCreateInfoNVX;
 | 
			
		||||
 | 
			
		||||
typedef struct VkObjectTableEntryNVX {
 | 
			
		||||
    VkObjectEntryTypeNVX          type;
 | 
			
		||||
    VkObjectEntryUsageFlagsNVX    flags;
 | 
			
		||||
} VkObjectTableEntryNVX;
 | 
			
		||||
 | 
			
		||||
typedef struct VkObjectTablePipelineEntryNVX {
 | 
			
		||||
    VkObjectEntryTypeNVX          type;
 | 
			
		||||
    VkObjectEntryUsageFlagsNVX    flags;
 | 
			
		||||
    VkPipeline                    pipeline;
 | 
			
		||||
} VkObjectTablePipelineEntryNVX;
 | 
			
		||||
 | 
			
		||||
typedef struct VkObjectTableDescriptorSetEntryNVX {
 | 
			
		||||
    VkObjectEntryTypeNVX          type;
 | 
			
		||||
    VkObjectEntryUsageFlagsNVX    flags;
 | 
			
		||||
    VkPipelineLayout              pipelineLayout;
 | 
			
		||||
    VkDescriptorSet               descriptorSet;
 | 
			
		||||
} VkObjectTableDescriptorSetEntryNVX;
 | 
			
		||||
 | 
			
		||||
typedef struct VkObjectTableVertexBufferEntryNVX {
 | 
			
		||||
    VkObjectEntryTypeNVX          type;
 | 
			
		||||
    VkObjectEntryUsageFlagsNVX    flags;
 | 
			
		||||
    VkBuffer                      buffer;
 | 
			
		||||
} VkObjectTableVertexBufferEntryNVX;
 | 
			
		||||
 | 
			
		||||
typedef struct VkObjectTableIndexBufferEntryNVX {
 | 
			
		||||
    VkObjectEntryTypeNVX          type;
 | 
			
		||||
    VkObjectEntryUsageFlagsNVX    flags;
 | 
			
		||||
    VkBuffer                      buffer;
 | 
			
		||||
    VkIndexType                   indexType;
 | 
			
		||||
} VkObjectTableIndexBufferEntryNVX;
 | 
			
		||||
 | 
			
		||||
typedef struct VkObjectTablePushConstantEntryNVX {
 | 
			
		||||
    VkObjectEntryTypeNVX          type;
 | 
			
		||||
    VkObjectEntryUsageFlagsNVX    flags;
 | 
			
		||||
    VkPipelineLayout              pipelineLayout;
 | 
			
		||||
    VkShaderStageFlags            stageFlags;
 | 
			
		||||
} VkObjectTablePushConstantEntryNVX;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
typedef void (VKAPI_PTR *PFN_vkCmdProcessCommandsNVX)(VkCommandBuffer commandBuffer, const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo);
 | 
			
		||||
typedef void (VKAPI_PTR *PFN_vkCmdReserveSpaceForCommandsNVX)(VkCommandBuffer commandBuffer, const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo);
 | 
			
		||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNVX)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout);
 | 
			
		||||
typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNVX)(VkDevice device, VkIndirectCommandsLayoutNVX indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);
 | 
			
		||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateObjectTableNVX)(VkDevice device, const VkObjectTableCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkObjectTableNVX* pObjectTable);
 | 
			
		||||
typedef void (VKAPI_PTR *PFN_vkDestroyObjectTableNVX)(VkDevice device, VkObjectTableNVX objectTable, const VkAllocationCallbacks* pAllocator);
 | 
			
		||||
typedef VkResult (VKAPI_PTR *PFN_vkRegisterObjectsNVX)(VkDevice device, VkObjectTableNVX objectTable, uint32_t objectCount, const VkObjectTableEntryNVX* const*    ppObjectTableEntries, const uint32_t* pObjectIndices);
 | 
			
		||||
typedef VkResult (VKAPI_PTR *PFN_vkUnregisterObjectsNVX)(VkDevice device, VkObjectTableNVX objectTable, uint32_t objectCount, const VkObjectEntryTypeNVX* pObjectEntryTypes, const uint32_t* pObjectIndices);
 | 
			
		||||
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX)(VkPhysicalDevice physicalDevice, VkDeviceGeneratedCommandsFeaturesNVX* pFeatures, VkDeviceGeneratedCommandsLimitsNVX* pLimits);
 | 
			
		||||
 | 
			
		||||
#ifndef VK_NO_PROTOTYPES
 | 
			
		||||
VKAPI_ATTR void VKAPI_CALL vkCmdProcessCommandsNVX(
 | 
			
		||||
    VkCommandBuffer                             commandBuffer,
 | 
			
		||||
    const VkCmdProcessCommandsInfoNVX*          pProcessCommandsInfo);
 | 
			
		||||
 | 
			
		||||
VKAPI_ATTR void VKAPI_CALL vkCmdReserveSpaceForCommandsNVX(
 | 
			
		||||
    VkCommandBuffer                             commandBuffer,
 | 
			
		||||
    const VkCmdReserveSpaceForCommandsInfoNVX*  pReserveSpaceInfo);
 | 
			
		||||
 | 
			
		||||
VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNVX(
 | 
			
		||||
    VkDevice                                    device,
 | 
			
		||||
    const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo,
 | 
			
		||||
    const VkAllocationCallbacks*                pAllocator,
 | 
			
		||||
    VkIndirectCommandsLayoutNVX*                pIndirectCommandsLayout);
 | 
			
		||||
 | 
			
		||||
VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNVX(
 | 
			
		||||
    VkDevice                                    device,
 | 
			
		||||
    VkIndirectCommandsLayoutNVX                 indirectCommandsLayout,
 | 
			
		||||
    const VkAllocationCallbacks*                pAllocator);
 | 
			
		||||
 | 
			
		||||
VKAPI_ATTR VkResult VKAPI_CALL vkCreateObjectTableNVX(
 | 
			
		||||
    VkDevice                                    device,
 | 
			
		||||
    const VkObjectTableCreateInfoNVX*           pCreateInfo,
 | 
			
		||||
    const VkAllocationCallbacks*                pAllocator,
 | 
			
		||||
    VkObjectTableNVX*                           pObjectTable);
 | 
			
		||||
 | 
			
		||||
VKAPI_ATTR void VKAPI_CALL vkDestroyObjectTableNVX(
 | 
			
		||||
    VkDevice                                    device,
 | 
			
		||||
    VkObjectTableNVX                            objectTable,
 | 
			
		||||
    const VkAllocationCallbacks*                pAllocator);
 | 
			
		||||
 | 
			
		||||
VKAPI_ATTR VkResult VKAPI_CALL vkRegisterObjectsNVX(
 | 
			
		||||
    VkDevice                                    device,
 | 
			
		||||
    VkObjectTableNVX                            objectTable,
 | 
			
		||||
    uint32_t                                    objectCount,
 | 
			
		||||
    const VkObjectTableEntryNVX* const*         ppObjectTableEntries,
 | 
			
		||||
    const uint32_t*                             pObjectIndices);
 | 
			
		||||
 | 
			
		||||
VKAPI_ATTR VkResult VKAPI_CALL vkUnregisterObjectsNVX(
 | 
			
		||||
    VkDevice                                    device,
 | 
			
		||||
    VkObjectTableNVX                            objectTable,
 | 
			
		||||
    uint32_t                                    objectCount,
 | 
			
		||||
    const VkObjectEntryTypeNVX*                 pObjectEntryTypes,
 | 
			
		||||
    const uint32_t*                             pObjectIndices);
 | 
			
		||||
 | 
			
		||||
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX(
 | 
			
		||||
    VkPhysicalDevice                            physicalDevice,
 | 
			
		||||
    VkDeviceGeneratedCommandsFeaturesNVX*       pFeatures,
 | 
			
		||||
    VkDeviceGeneratedCommandsLimitsNVX*         pLimits);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define VK_EXT_direct_mode_display 1
 | 
			
		||||
#define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1
 | 
			
		||||
#define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display"
 | 
			
		||||
 | 
			
		||||
typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
 | 
			
		||||
 | 
			
		||||
#ifndef VK_NO_PROTOTYPES
 | 
			
		||||
VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT(
 | 
			
		||||
    VkPhysicalDevice                            physicalDevice,
 | 
			
		||||
    VkDisplayKHR                                display);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
 | 
			
		||||
#define VK_EXT_acquire_xlib_display 1
 | 
			
		||||
#include <X11/extensions/Xrandr.h>
 | 
			
		||||
 | 
			
		||||
#define VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION 1
 | 
			
		||||
#define VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_xlib_display"
 | 
			
		||||
 | 
			
		||||
typedef VkResult (VKAPI_PTR *PFN_vkAcquireXlibDisplayEXT)(VkPhysicalDevice physicalDevice, Display* dpy, VkDisplayKHR display);
 | 
			
		||||
typedef VkResult (VKAPI_PTR *PFN_vkGetRandROutputDisplayEXT)(VkPhysicalDevice physicalDevice, Display* dpy, RROutput rrOutput, VkDisplayKHR* pDisplay);
 | 
			
		||||
 | 
			
		||||
#ifndef VK_NO_PROTOTYPES
 | 
			
		||||
VKAPI_ATTR VkResult VKAPI_CALL vkAcquireXlibDisplayEXT(
 | 
			
		||||
    VkPhysicalDevice                            physicalDevice,
 | 
			
		||||
    Display*                                    dpy,
 | 
			
		||||
    VkDisplayKHR                                display);
 | 
			
		||||
 | 
			
		||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetRandROutputDisplayEXT(
 | 
			
		||||
    VkPhysicalDevice                            physicalDevice,
 | 
			
		||||
    Display*                                    dpy,
 | 
			
		||||
    RROutput                                    rrOutput,
 | 
			
		||||
    VkDisplayKHR*                               pDisplay);
 | 
			
		||||
#endif
 | 
			
		||||
#endif /* VK_USE_PLATFORM_XLIB_XRANDR_EXT */
 | 
			
		||||
 | 
			
		||||
#define VK_EXT_display_surface_counter 1
 | 
			
		||||
#define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1
 | 
			
		||||
#define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
typedef enum VkSurfaceCounterFlagBitsEXT {
 | 
			
		||||
    VK_SURFACE_COUNTER_VBLANK_EXT = 0x00000001,
 | 
			
		||||
    VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
 | 
			
		||||
} VkSurfaceCounterFlagBitsEXT;
 | 
			
		||||
typedef VkFlags VkSurfaceCounterFlagsEXT;
 | 
			
		||||
 | 
			
		||||
typedef struct VkSurfaceCapabilities2EXT {
 | 
			
		||||
    VkStructureType                  sType;
 | 
			
		||||
    void*                            pNext;
 | 
			
		||||
    uint32_t                         minImageCount;
 | 
			
		||||
    uint32_t                         maxImageCount;
 | 
			
		||||
    VkExtent2D                       currentExtent;
 | 
			
		||||
    VkExtent2D                       minImageExtent;
 | 
			
		||||
    VkExtent2D                       maxImageExtent;
 | 
			
		||||
    uint32_t                         maxImageArrayLayers;
 | 
			
		||||
    VkSurfaceTransformFlagsKHR       supportedTransforms;
 | 
			
		||||
    VkSurfaceTransformFlagBitsKHR    currentTransform;
 | 
			
		||||
    VkCompositeAlphaFlagsKHR         supportedCompositeAlpha;
 | 
			
		||||
    VkImageUsageFlags                supportedUsageFlags;
 | 
			
		||||
    VkSurfaceCounterFlagsEXT         supportedSurfaceCounters;
 | 
			
		||||
} VkSurfaceCapabilities2EXT;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
 | 
			
		||||
 | 
			
		||||
#ifndef VK_NO_PROTOTYPES
 | 
			
		||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT(
 | 
			
		||||
    VkPhysicalDevice                            physicalDevice,
 | 
			
		||||
    VkSurfaceKHR                                surface,
 | 
			
		||||
    VkSurfaceCapabilities2EXT*                  pSurfaceCapabilities);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define VK_EXT_display_control 1
 | 
			
		||||
#define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1
 | 
			
		||||
#define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
typedef enum VkDisplayPowerStateEXT {
 | 
			
		||||
    VK_DISPLAY_POWER_STATE_OFF_EXT = 0,
 | 
			
		||||
    VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,
 | 
			
		||||
    VK_DISPLAY_POWER_STATE_ON_EXT = 2,
 | 
			
		||||
    VK_DISPLAY_POWER_STATE_BEGIN_RANGE_EXT = VK_DISPLAY_POWER_STATE_OFF_EXT,
 | 
			
		||||
    VK_DISPLAY_POWER_STATE_END_RANGE_EXT = VK_DISPLAY_POWER_STATE_ON_EXT,
 | 
			
		||||
    VK_DISPLAY_POWER_STATE_RANGE_SIZE_EXT = (VK_DISPLAY_POWER_STATE_ON_EXT - VK_DISPLAY_POWER_STATE_OFF_EXT + 1),
 | 
			
		||||
    VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF
 | 
			
		||||
} VkDisplayPowerStateEXT;
 | 
			
		||||
 | 
			
		||||
typedef enum VkDeviceEventTypeEXT {
 | 
			
		||||
    VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0,
 | 
			
		||||
    VK_DEVICE_EVENT_TYPE_BEGIN_RANGE_EXT = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT,
 | 
			
		||||
    VK_DEVICE_EVENT_TYPE_END_RANGE_EXT = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT,
 | 
			
		||||
    VK_DEVICE_EVENT_TYPE_RANGE_SIZE_EXT = (VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT - VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT + 1),
 | 
			
		||||
    VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
 | 
			
		||||
} VkDeviceEventTypeEXT;
 | 
			
		||||
 | 
			
		||||
typedef enum VkDisplayEventTypeEXT {
 | 
			
		||||
    VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0,
 | 
			
		||||
    VK_DISPLAY_EVENT_TYPE_BEGIN_RANGE_EXT = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT,
 | 
			
		||||
    VK_DISPLAY_EVENT_TYPE_END_RANGE_EXT = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT,
 | 
			
		||||
    VK_DISPLAY_EVENT_TYPE_RANGE_SIZE_EXT = (VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT - VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT + 1),
 | 
			
		||||
    VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
 | 
			
		||||
} VkDisplayEventTypeEXT;
 | 
			
		||||
 | 
			
		||||
typedef struct VkDisplayPowerInfoEXT {
 | 
			
		||||
    VkStructureType           sType;
 | 
			
		||||
    const void*               pNext;
 | 
			
		||||
    VkDisplayPowerStateEXT    powerState;
 | 
			
		||||
} VkDisplayPowerInfoEXT;
 | 
			
		||||
 | 
			
		||||
typedef struct VkDeviceEventInfoEXT {
 | 
			
		||||
    VkStructureType         sType;
 | 
			
		||||
    const void*             pNext;
 | 
			
		||||
    VkDeviceEventTypeEXT    deviceEvent;
 | 
			
		||||
} VkDeviceEventInfoEXT;
 | 
			
		||||
 | 
			
		||||
typedef struct VkDisplayEventInfoEXT {
 | 
			
		||||
    VkStructureType          sType;
 | 
			
		||||
    const void*              pNext;
 | 
			
		||||
    VkDisplayEventTypeEXT    displayEvent;
 | 
			
		||||
} VkDisplayEventInfoEXT;
 | 
			
		||||
 | 
			
		||||
typedef struct VkSwapchainCounterCreateInfoEXT {
 | 
			
		||||
    VkStructureType             sType;
 | 
			
		||||
    const void*                 pNext;
 | 
			
		||||
    VkSurfaceCounterFlagsEXT    surfaceCounters;
 | 
			
		||||
} VkSwapchainCounterCreateInfoEXT;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
 | 
			
		||||
typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
 | 
			
		||||
typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
 | 
			
		||||
typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue);
 | 
			
		||||
 | 
			
		||||
#ifndef VK_NO_PROTOTYPES
 | 
			
		||||
VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT(
 | 
			
		||||
    VkDevice                                    device,
 | 
			
		||||
    VkDisplayKHR                                display,
 | 
			
		||||
    const VkDisplayPowerInfoEXT*                pDisplayPowerInfo);
 | 
			
		||||
 | 
			
		||||
VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT(
 | 
			
		||||
    VkDevice                                    device,
 | 
			
		||||
    const VkDeviceEventInfoEXT*                 pDeviceEventInfo,
 | 
			
		||||
    const VkAllocationCallbacks*                pAllocator,
 | 
			
		||||
    VkFence*                                    pFence);
 | 
			
		||||
 | 
			
		||||
VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT(
 | 
			
		||||
    VkDevice                                    device,
 | 
			
		||||
    VkDisplayKHR                                display,
 | 
			
		||||
    const VkDisplayEventInfoEXT*                pDisplayEventInfo,
 | 
			
		||||
    const VkAllocationCallbacks*                pAllocator,
 | 
			
		||||
    VkFence*                                    pFence);
 | 
			
		||||
 | 
			
		||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT(
 | 
			
		||||
    VkDevice                                    device,
 | 
			
		||||
    VkSwapchainKHR                              swapchain,
 | 
			
		||||
    VkSurfaceCounterFlagBitsEXT                 counter,
 | 
			
		||||
    uint64_t*                                   pCounterValue);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define VK_EXT_swapchain_colorspace 1
 | 
			
		||||
#define VK_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 1
 | 
			
		||||
#define VK_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user