From: Jason Ekstrand Date: Tue, 1 Aug 2017 15:59:24 +0000 (-0700) Subject: vulkan: Import in the latest 1.0.57 header and XML from Khronos X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=35338a242bbe72bbd75082917f36ffb991be9a62;p=mesa.git vulkan: Import in the latest 1.0.57 header and XML from Khronos Acked-by: Dave Airlie --- diff --git a/include/vulkan/vulkan.h b/include/vulkan/vulkan.h index 16434fefbe6..3a74f5e3c87 100644 --- a/include/vulkan/vulkan.h +++ b/include/vulkan/vulkan.h @@ -34,16 +34,16 @@ extern "C" { (((major) << 22) | ((minor) << 12) | (patch)) // DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead. -//#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) +//#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0 // Vulkan 1.0 version number -#define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0) +#define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0)// Patch version should always be set to 0 #define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22) #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 54 +#define VK_HEADER_VERSION 57 #define VK_NULL_HANDLE 0 @@ -1366,6 +1366,27 @@ typedef enum VkStencilFaceFlagBits { } VkStencilFaceFlagBits; typedef VkFlags VkStencilFaceFlags; +typedef struct VkApplicationInfo { + VkStructureType sType; + const void* pNext; + const char* pApplicationName; + uint32_t applicationVersion; + const char* pEngineName; + uint32_t engineVersion; + uint32_t apiVersion; +} VkApplicationInfo; + +typedef struct VkInstanceCreateInfo { + VkStructureType sType; + const void* pNext; + VkInstanceCreateFlags flags; + const VkApplicationInfo* pApplicationInfo; + uint32_t enabledLayerCount; + const char* const* ppEnabledLayerNames; + uint32_t enabledExtensionCount; + const char* const* ppEnabledExtensionNames; +} VkInstanceCreateInfo; + typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)( void* pUserData, size_t size, @@ -1395,29 +1416,6 @@ typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)( VkInternalAllocationType allocationType, VkSystemAllocationScope allocationScope); -typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void); - -typedef struct VkApplicationInfo { - VkStructureType sType; - const void* pNext; - const char* pApplicationName; - uint32_t applicationVersion; - const char* pEngineName; - uint32_t engineVersion; - uint32_t apiVersion; -} VkApplicationInfo; - -typedef struct VkInstanceCreateInfo { - VkStructureType sType; - const void* pNext; - VkInstanceCreateFlags flags; - const VkApplicationInfo* pApplicationInfo; - uint32_t enabledLayerCount; - const char* const* ppEnabledLayerNames; - uint32_t enabledExtensionCount; - const char* const* ppEnabledExtensionNames; -} VkInstanceCreateInfo; - typedef struct VkAllocationCallbacks { void* pUserData; PFN_vkAllocationFunction pfnAllocation; @@ -1658,6 +1656,7 @@ typedef struct VkPhysicalDeviceMemoryProperties { VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS]; } VkPhysicalDeviceMemoryProperties; +typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void); typedef struct VkDeviceQueueCreateInfo { VkStructureType sType; const void* pNext; @@ -3433,6 +3432,7 @@ typedef enum VkColorSpaceKHR { VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011, VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012, VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013, + VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014, 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), @@ -4851,6 +4851,11 @@ typedef struct VkMemoryDedicatedAllocateInfoKHR { #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class" +#define VK_KHR_relaxed_block_layout 1 +#define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1 +#define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout" + + #define VK_KHR_get_memory_requirements2 1 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2" @@ -4979,7 +4984,6 @@ typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)( const char* pMessage, void* pUserData); - typedef struct VkDebugReportCallbackCreateInfoEXT { VkStructureType sType; const void* pNext; @@ -5021,6 +5025,11 @@ VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT( #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader" +#define VK_EXT_depth_range_unrestricted 1 +#define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1 +#define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted" + + #define VK_IMG_filter_cubic 1 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic" @@ -5088,31 +5097,31 @@ typedef struct VkDebugMarkerMarkerInfoEXT { } VkDebugMarkerMarkerInfoEXT; -typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, VkDebugMarkerObjectTagInfoEXT* pTagInfo); -typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, VkDebugMarkerObjectNameInfoEXT* pNameInfo); -typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, VkDebugMarkerMarkerInfoEXT* pMarkerInfo); +typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo); +typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo); +typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer); -typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, VkDebugMarkerMarkerInfoEXT* pMarkerInfo); +typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); #ifndef VK_NO_PROTOTYPES VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT( VkDevice device, - VkDebugMarkerObjectTagInfoEXT* pTagInfo); + const VkDebugMarkerObjectTagInfoEXT* pTagInfo); VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT( VkDevice device, - VkDebugMarkerObjectNameInfoEXT* pNameInfo); + const VkDebugMarkerObjectNameInfoEXT* pNameInfo); VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT( VkCommandBuffer commandBuffer, - VkDebugMarkerMarkerInfoEXT* pMarkerInfo); + const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT( VkCommandBuffer commandBuffer); VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT( VkCommandBuffer commandBuffer, - VkDebugMarkerMarkerInfoEXT* pMarkerInfo); + const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); #endif #define VK_AMD_gcn_shader 1 @@ -6204,7 +6213,7 @@ VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT( #endif #define VK_EXT_swapchain_colorspace 1 -#define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 2 +#define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 3 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace" @@ -6328,6 +6337,11 @@ typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT { #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16" +#define VK_AMD_mixed_attachment_samples 1 +#define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1 +#define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples" + + #define VK_EXT_blend_operation_advanced 1 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced" @@ -6421,6 +6435,11 @@ typedef struct VkPipelineCoverageModulationStateCreateInfoNV { #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle" +#define VK_EXT_post_depth_coverage 1 +#define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1 +#define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage" + + #ifdef __cplusplus } #endif diff --git a/src/vulkan/registry/vk.xml b/src/vulkan/registry/vk.xml index a3e142f7bad..85a49afb701 100644 --- a/src/vulkan/registry/vk.xml +++ b/src/vulkan/registry/vk.xml @@ -27,17 +27,16 @@ the master branch of the Khronos Vulkan GitHub project. The authoritative private version is maintained in the 1.0 branch of the member gitlab server. - - + - - + + @@ -59,14 +58,15 @@ private version is maintained in the 1.0 branch of the member gitlab server. + - - + #include "vk_platform.h" - + + WSI extensions #include "vulkan.h" #include <X11/Xlib.h> #include <X11/extensions/Xrandr.h> @@ -102,11 +102,11 @@ private version is maintained in the 1.0 branch of the member gitlab server. #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff) // DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead. -//#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) +//#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0 // Vulkan 1.0 version number -#define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0) +#define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0)// Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 54 +#define VK_HEADER_VERSION 57 #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; @@ -130,7 +130,7 @@ private version is maintained in the 1.0 branch of the member gitlab server. typedef uint32_t VkFlags; typedef uint64_t VkDeviceSize; - + Basic C types, pulled in via vk_platform.h @@ -140,89 +140,91 @@ private version is maintained in the 1.0 branch of the member gitlab server. - - typedef VkFlags VkFramebufferCreateFlags; - typedef VkFlags VkQueryPoolCreateFlags; - typedef VkFlags VkRenderPassCreateFlags; - typedef VkFlags VkSamplerCreateFlags; - typedef VkFlags VkPipelineLayoutCreateFlags; - typedef VkFlags VkPipelineCacheCreateFlags; - typedef VkFlags VkPipelineDepthStencilStateCreateFlags; - typedef VkFlags VkPipelineDynamicStateCreateFlags; - typedef VkFlags VkPipelineColorBlendStateCreateFlags; - typedef VkFlags VkPipelineMultisampleStateCreateFlags; - typedef VkFlags VkPipelineRasterizationStateCreateFlags; - typedef VkFlags VkPipelineViewportStateCreateFlags; - typedef VkFlags VkPipelineTessellationStateCreateFlags; - typedef VkFlags VkPipelineInputAssemblyStateCreateFlags; - typedef VkFlags VkPipelineVertexInputStateCreateFlags; - typedef VkFlags VkPipelineShaderStageCreateFlags; - typedef VkFlags VkDescriptorSetLayoutCreateFlags; - typedef VkFlags VkBufferViewCreateFlags; - typedef VkFlags VkInstanceCreateFlags; - typedef VkFlags VkDeviceCreateFlags; - typedef VkFlags VkDeviceQueueCreateFlags; - typedef VkFlags VkQueueFlags; - typedef VkFlags VkMemoryPropertyFlags; - typedef VkFlags VkMemoryHeapFlags; - typedef VkFlags VkAccessFlags; - typedef VkFlags VkBufferUsageFlags; - typedef VkFlags VkBufferCreateFlags; - typedef VkFlags VkShaderStageFlags; - typedef VkFlags VkImageUsageFlags; - typedef VkFlags VkImageCreateFlags; - typedef VkFlags VkImageViewCreateFlags; - typedef VkFlags VkPipelineCreateFlags; - typedef VkFlags VkColorComponentFlags; - typedef VkFlags VkFenceCreateFlags; - typedef VkFlags VkSemaphoreCreateFlags; - typedef VkFlags VkFormatFeatureFlags; - typedef VkFlags VkQueryControlFlags; - typedef VkFlags VkQueryResultFlags; - typedef VkFlags VkShaderModuleCreateFlags; - typedef VkFlags VkEventCreateFlags; - typedef VkFlags VkCommandPoolCreateFlags; - typedef VkFlags VkCommandPoolResetFlags; - typedef VkFlags VkCommandBufferResetFlags; - typedef VkFlags VkCommandBufferUsageFlags; - typedef VkFlags VkQueryPipelineStatisticFlags; - typedef VkFlags VkMemoryMapFlags; - typedef VkFlags VkImageAspectFlags; - typedef VkFlags VkSparseMemoryBindFlags; - typedef VkFlags VkSparseImageFormatFlags; - typedef VkFlags VkSubpassDescriptionFlags; - typedef VkFlags VkPipelineStageFlags; - typedef VkFlags VkSampleCountFlags; - typedef VkFlags VkAttachmentDescriptionFlags; - typedef VkFlags VkStencilFaceFlags; - typedef VkFlags VkCullModeFlags; - typedef VkFlags VkDescriptorPoolCreateFlags; - typedef VkFlags VkDescriptorPoolResetFlags; - typedef VkFlags VkDependencyFlags; - typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNVX; - typedef VkFlags VkObjectEntryUsageFlagsNVX; + Bitmask types + typedef VkFlags VkFramebufferCreateFlags; + typedef VkFlags VkQueryPoolCreateFlags; + typedef VkFlags VkRenderPassCreateFlags; + typedef VkFlags VkSamplerCreateFlags; + typedef VkFlags VkPipelineLayoutCreateFlags; + typedef VkFlags VkPipelineCacheCreateFlags; + typedef VkFlags VkPipelineDepthStencilStateCreateFlags; + typedef VkFlags VkPipelineDynamicStateCreateFlags; + typedef VkFlags VkPipelineColorBlendStateCreateFlags; + typedef VkFlags VkPipelineMultisampleStateCreateFlags; + typedef VkFlags VkPipelineRasterizationStateCreateFlags; + typedef VkFlags VkPipelineViewportStateCreateFlags; + typedef VkFlags VkPipelineTessellationStateCreateFlags; + typedef VkFlags VkPipelineInputAssemblyStateCreateFlags; + typedef VkFlags VkPipelineVertexInputStateCreateFlags; + typedef VkFlags VkPipelineShaderStageCreateFlags; + typedef VkFlags VkDescriptorSetLayoutCreateFlags; + typedef VkFlags VkBufferViewCreateFlags; + typedef VkFlags VkInstanceCreateFlags; + typedef VkFlags VkDeviceCreateFlags; + typedef VkFlags VkDeviceQueueCreateFlags; + typedef VkFlags VkQueueFlags; + typedef VkFlags VkMemoryPropertyFlags; + typedef VkFlags VkMemoryHeapFlags; + typedef VkFlags VkAccessFlags; + typedef VkFlags VkBufferUsageFlags; + typedef VkFlags VkBufferCreateFlags; + typedef VkFlags VkShaderStageFlags; + typedef VkFlags VkImageUsageFlags; + typedef VkFlags VkImageCreateFlags; + typedef VkFlags VkImageViewCreateFlags; + typedef VkFlags VkPipelineCreateFlags; + typedef VkFlags VkColorComponentFlags; + typedef VkFlags VkFenceCreateFlags; + typedef VkFlags VkSemaphoreCreateFlags; + typedef VkFlags VkFormatFeatureFlags; + typedef VkFlags VkQueryControlFlags; + typedef VkFlags VkQueryResultFlags; + typedef VkFlags VkShaderModuleCreateFlags; + typedef VkFlags VkEventCreateFlags; + typedef VkFlags VkCommandPoolCreateFlags; + typedef VkFlags VkCommandPoolResetFlags; + typedef VkFlags VkCommandBufferResetFlags; + typedef VkFlags VkCommandBufferUsageFlags; + typedef VkFlags VkQueryPipelineStatisticFlags; + typedef VkFlags VkMemoryMapFlags; + typedef VkFlags VkImageAspectFlags; + typedef VkFlags VkSparseMemoryBindFlags; + typedef VkFlags VkSparseImageFormatFlags; + typedef VkFlags VkSubpassDescriptionFlags; + typedef VkFlags VkPipelineStageFlags; + typedef VkFlags VkSampleCountFlags; + typedef VkFlags VkAttachmentDescriptionFlags; + typedef VkFlags VkStencilFaceFlags; + typedef VkFlags VkCullModeFlags; + typedef VkFlags VkDescriptorPoolCreateFlags; + typedef VkFlags VkDescriptorPoolResetFlags; + typedef VkFlags VkDependencyFlags; + + typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNVX; + typedef VkFlags VkObjectEntryUsageFlagsNVX; - typedef VkFlags VkDescriptorUpdateTemplateCreateFlagsKHR; - + typedef VkFlags VkDescriptorUpdateTemplateCreateFlagsKHR; + + WSI extensions typedef VkFlags VkCompositeAlphaFlagsKHR; typedef VkFlags VkDisplayPlaneAlphaFlagsKHR; typedef VkFlags VkSurfaceTransformFlagsKHR; - typedef VkFlags VkSwapchainCreateFlagsKHR; - typedef VkFlags VkDisplayModeCreateFlagsKHR; - typedef VkFlags VkDisplaySurfaceCreateFlagsKHR; - typedef VkFlags VkAndroidSurfaceCreateFlagsKHR; - typedef VkFlags VkMirSurfaceCreateFlagsKHR; - typedef VkFlags VkViSurfaceCreateFlagsNN; - typedef VkFlags VkWaylandSurfaceCreateFlagsKHR; - typedef VkFlags VkWin32SurfaceCreateFlagsKHR; - typedef VkFlags VkXlibSurfaceCreateFlagsKHR; - typedef VkFlags VkXcbSurfaceCreateFlagsKHR; - typedef VkFlags VkIOSSurfaceCreateFlagsMVK; - typedef VkFlags VkMacOSSurfaceCreateFlagsMVK; - typedef VkFlags VkPeerMemoryFeatureFlagsKHX; - typedef VkFlags VkMemoryAllocateFlagsKHX; - typedef VkFlags VkDeviceGroupPresentModeFlagsKHX; + typedef VkFlags VkSwapchainCreateFlagsKHR; + typedef VkFlags VkDisplayModeCreateFlagsKHR; + typedef VkFlags VkDisplaySurfaceCreateFlagsKHR; + typedef VkFlags VkAndroidSurfaceCreateFlagsKHR; + typedef VkFlags VkMirSurfaceCreateFlagsKHR; + typedef VkFlags VkViSurfaceCreateFlagsNN; + typedef VkFlags VkWaylandSurfaceCreateFlagsKHR; + typedef VkFlags VkWin32SurfaceCreateFlagsKHR; + typedef VkFlags VkXlibSurfaceCreateFlagsKHR; + typedef VkFlags VkXcbSurfaceCreateFlagsKHR; + typedef VkFlags VkIOSSurfaceCreateFlagsMVK; + typedef VkFlags VkMacOSSurfaceCreateFlagsMVK; + typedef VkFlags VkPeerMemoryFeatureFlagsKHX; + typedef VkFlags VkMemoryAllocateFlagsKHX; + typedef VkFlags VkDeviceGroupPresentModeFlagsKHX; typedef VkFlags VkDebugReportFlagsEXT; typedef VkFlags VkCommandPoolTrimFlagsKHR; @@ -237,12 +239,12 @@ private version is maintained in the 1.0 branch of the member gitlab server. typedef VkFlags VkExternalFenceFeatureFlagsKHR; typedef VkFlags VkFenceImportFlagsKHR; typedef VkFlags VkSurfaceCounterFlagsEXT; - typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV; - typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT; - typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV; + typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV; + typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT; + typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV; typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV; - + Types which can be void pointers or class pointers, selected at compile time VK_DEFINE_HANDLE(VkInstance) VK_DEFINE_HANDLE(VkPhysicalDevice) VK_DEFINE_HANDLE(VkDevice) @@ -272,14 +274,14 @@ private version is maintained in the 1.0 branch of the member gitlab server. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNVX) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplateKHR) - + WSI extensions VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT) - + Types generated from corresponding enums tags below @@ -367,7 +369,8 @@ private version is maintained in the 1.0 branch of the member gitlab server. - + + Extensions @@ -377,7 +380,8 @@ private version is maintained in the 1.0 branch of the member gitlab server. - + + WSI extensions @@ -408,7 +412,7 @@ private version is maintained in the 1.0 branch of the member gitlab server. - + The PFN_vk*Function types are used by VkAllocationCallbacks below typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)( void* pUserData, size_t size, @@ -434,10 +438,10 @@ private version is maintained in the 1.0 branch of the member gitlab server. void* pUserData, void* pMemory); - + The PFN_vkVoidFunction type are used by VkGet*ProcAddr below typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void); - + The PFN_vkDebugReportCallbackEXT type are used by the DEBUG_REPORT extension typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)( VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, @@ -448,7 +452,7 @@ private version is maintained in the 1.0 branch of the member gitlab server. const char* pMessage, void* pUserData); - + Struct types int32_t x int32_t y @@ -506,18 +510,18 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkPhysicalDeviceSparseProperties sparseProperties - char extensionName[VK_MAX_EXTENSION_NAME_SIZE] - uint32_t specVersion + char extensionName[VK_MAX_EXTENSION_NAME_SIZE]extension name + uint32_t specVersionversion of the extension specification implemented - char layerName[VK_MAX_EXTENSION_NAME_SIZE] - uint32_t specVersion - uint32_t implementationVersion - char description[VK_MAX_DESCRIPTION_SIZE] + char layerName[VK_MAX_EXTENSION_NAME_SIZE]layer name + uint32_t specVersionversion of the layer specification implemented + uint32_t implementationVersionbuild or release version of the layer's library + char description[VK_MAX_DESCRIPTION_SIZE]Free-form description of the layer VkStructureType sType - const void* pNext + const void* pNext const char* pApplicationName uint32_t applicationVersion const char* pEngineName @@ -534,39 +538,39 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkStructureType sType - const void* pNext - VkDeviceQueueCreateFlags flags + const void* pNext + VkDeviceQueueCreateFlags flags uint32_t queueFamilyIndex uint32_t queueCount const float* pQueuePriorities VkStructureType sType - const void* pNext - VkDeviceCreateFlags flags + const void* pNext + VkDeviceCreateFlags flags uint32_t queueCreateInfoCount const VkDeviceQueueCreateInfo* pQueueCreateInfos uint32_t enabledLayerCount - const char* const* ppEnabledLayerNames + const char* const* ppEnabledLayerNamesOrdered list of layer names to be enabled uint32_t enabledExtensionCount const char* const* ppEnabledExtensionNames const VkPhysicalDeviceFeatures* pEnabledFeatures VkStructureType sType - const void* pNext - VkInstanceCreateFlags flags + const void* pNext + VkInstanceCreateFlags flags const VkApplicationInfo* pApplicationInfo uint32_t enabledLayerCount - const char* const* ppEnabledLayerNames + const char* const* ppEnabledLayerNamesOrdered list of layer names to be enabled uint32_t enabledExtensionCount - const char* const* ppEnabledExtensionNames + const char* const* ppEnabledExtensionNamesExtension names to be enabled - VkQueueFlags queueFlags + VkQueueFlags queueFlagsQueue flags uint32_t queueCount uint32_t timestampValidBits - VkExtent3D minImageTransferGranularity + VkExtent3D minImageTransferGranularityMinimum alignment requirement for image transfers uint32_t memoryTypeCount @@ -576,14 +580,14 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkStructureType sType - const void* pNext - VkDeviceSize allocationSize - uint32_t memoryTypeIndex + const void* pNext + VkDeviceSize allocationSizeSize of memory allocation + uint32_t memoryTypeIndexIndex of the of the memory type to allocate from - VkDeviceSize size - VkDeviceSize alignment - uint32_t memoryTypeBits + VkDeviceSize sizeSpecified in bytes + VkDeviceSize alignmentSpecified in bytes + uint32_t memoryTypeBitsBitmask of the allowed memory type indices into memoryTypes[] for this object VkImageAspectFlags aspectMask @@ -593,88 +597,88 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkSparseImageFormatProperties formatProperties uint32_t imageMipTailFirstLod - VkDeviceSize imageMipTailSize - VkDeviceSize imageMipTailOffset - VkDeviceSize imageMipTailStride + VkDeviceSize imageMipTailSizeSpecified in bytes, must be a multiple of sparse block size in bytes / alignment + VkDeviceSize imageMipTailOffsetSpecified in bytes, must be a multiple of sparse block size in bytes / alignment + VkDeviceSize imageMipTailStrideSpecified in bytes, must be a multiple of sparse block size in bytes / alignment - VkMemoryPropertyFlags propertyFlags - uint32_t heapIndex + VkMemoryPropertyFlags propertyFlagsMemory properties of this memory type + uint32_t heapIndexIndex of the memory heap allocations of this memory type are taken from - VkDeviceSize size - VkMemoryHeapFlags flags + VkDeviceSize sizeAvailable memory in the heap + VkMemoryHeapFlags flagsFlags for the heap VkStructureType sType - const void* pNext - VkDeviceMemory memory - VkDeviceSize offset - VkDeviceSize size + const void* pNext + VkDeviceMemory memoryMapped memory object + VkDeviceSize offsetOffset within the memory object where the range starts + VkDeviceSize sizeSize of the range within the memory object - VkFormatFeatureFlags linearTilingFeatures - VkFormatFeatureFlags optimalTilingFeatures - VkFormatFeatureFlags bufferFeatures + VkFormatFeatureFlags linearTilingFeaturesFormat features in case of linear tiling + VkFormatFeatureFlags optimalTilingFeaturesFormat features in case of optimal tiling + VkFormatFeatureFlags bufferFeaturesFormat features supported by buffers - VkExtent3D maxExtent - uint32_t maxMipLevels - uint32_t maxArrayLayers - VkSampleCountFlags sampleCounts - VkDeviceSize maxResourceSize + VkExtent3D maxExtentmax image dimensions for this resource type + uint32_t maxMipLevelsmax number of mipmap levels for this resource type + uint32_t maxArrayLayersmax array size for this resource type + VkSampleCountFlags sampleCountssupported sample counts for this resource type + VkDeviceSize maxResourceSizemax size (in bytes) of this resource type - VkBuffer buffer - VkDeviceSize offset - VkDeviceSize range + VkBuffer bufferBuffer used for this descriptor slot when the descriptor is UNIFORM_BUFFER[_DYNAMIC] or STORAGE_BUFFER[_DYNAMIC]. VK_NULL_HANDLE otherwise. + VkDeviceSize offsetBase offset from buffer start in bytes to update in the descriptor set. + VkDeviceSize rangeSize in bytes of the buffer resource for this descriptor update. - VkSampler sampler - VkImageView imageView - VkImageLayout imageLayout + VkSampler samplerSampler to write to the descriptor in case it is a SAMPLER or COMBINED_IMAGE_SAMPLER descriptor. Ignored otherwise. + VkImageView imageViewImage view to write to the descriptor in case it is a SAMPLED_IMAGE, STORAGE_IMAGE, COMBINED_IMAGE_SAMPLER, or INPUT_ATTACHMENT descriptor. Ignored otherwise. + VkImageLayout imageLayoutLayout the image is expected to be in when accessed using this descriptor (only used if imageView is not VK_NULL_HANDLE). VkStructureType sType - const void* pNext - VkDescriptorSet dstSet - uint32_t dstBinding - uint32_t dstArrayElement - uint32_t descriptorCount - VkDescriptorType descriptorType - const VkDescriptorImageInfo* pImageInfo - const VkDescriptorBufferInfo* pBufferInfo - const VkBufferView* pTexelBufferView + const void* pNext + VkDescriptorSet dstSetDestination descriptor set + uint32_t dstBindingBinding within the destination descriptor set to write + uint32_t dstArrayElementArray element within the destination binding to write + uint32_t descriptorCountNumber of descriptors to write (determines the size of the array pointed by pDescriptors) + VkDescriptorType descriptorTypeDescriptor type to write (determines which members of the array pointed by pDescriptors are going to be used) + const VkDescriptorImageInfo* pImageInfoSampler, image view, and layout for SAMPLER, COMBINED_IMAGE_SAMPLER, {SAMPLED,STORAGE}_IMAGE, and INPUT_ATTACHMENT descriptor types. + const VkDescriptorBufferInfo* pBufferInfoRaw buffer, size, and offset for {UNIFORM,STORAGE}_BUFFER[_DYNAMIC] descriptor types. + const VkBufferView* pTexelBufferViewBuffer view to write to the descriptor for {UNIFORM,STORAGE}_TEXEL_BUFFER descriptor types. VkStructureType sType - const void* pNext - VkDescriptorSet srcSet - uint32_t srcBinding - uint32_t srcArrayElement - VkDescriptorSet dstSet - uint32_t dstBinding - uint32_t dstArrayElement - uint32_t descriptorCount + const void* pNext + VkDescriptorSet srcSetSource descriptor set + uint32_t srcBindingBinding within the source descriptor set to copy from + uint32_t srcArrayElementArray element within the source binding to copy from + VkDescriptorSet dstSetDestination descriptor set + uint32_t dstBindingBinding within the destination descriptor set to copy to + uint32_t dstArrayElementArray element within the destination binding to copy to + uint32_t descriptorCountNumber of descriptors to write (determines the size of the array pointed by pDescriptors) VkStructureType sType - const void* pNext - VkBufferCreateFlags flags - VkDeviceSize size - VkBufferUsageFlags usage + const void* pNext + VkBufferCreateFlags flagsBuffer creation flags + VkDeviceSize sizeSpecified in bytes + VkBufferUsageFlags usageBuffer usage flags VkSharingMode sharingMode uint32_t queueFamilyIndexCount const uint32_t* pQueueFamilyIndices VkStructureType sType - const void* pNext - VkBufferViewCreateFlagsflags + const void* pNext + VkBufferViewCreateFlagsflags VkBuffer buffer - VkFormat format - VkDeviceSize offset - VkDeviceSize range + VkFormat formatOptionally specifies format of elements + VkDeviceSize offsetSpecified in bytes + VkDeviceSize rangeView size specified in bytes VkImageAspectFlags aspectMask @@ -696,37 +700,37 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkStructureType sType - const void* pNext - VkAccessFlags srcAccessMask - VkAccessFlags dstAccessMask + const void* pNext + VkAccessFlags srcAccessMaskMemory accesses from the source of the dependency to synchronize + VkAccessFlags dstAccessMaskMemory accesses from the destination of the dependency to synchronize VkStructureType sType - const void* pNext - VkAccessFlags srcAccessMask - VkAccessFlags dstAccessMask - uint32_t srcQueueFamilyIndex - uint32_t dstQueueFamilyIndex - VkBuffer buffer - VkDeviceSize offset - VkDeviceSize size + const void* pNext + VkAccessFlags srcAccessMaskMemory accesses from the source of the dependency to synchronize + VkAccessFlags dstAccessMaskMemory accesses from the destination of the dependency to synchronize + uint32_t srcQueueFamilyIndexQueue family to transition ownership from + uint32_t dstQueueFamilyIndexQueue family to transition ownership to + VkBuffer bufferBuffer to sync + VkDeviceSize offsetOffset within the buffer to sync + VkDeviceSize sizeAmount of bytes to sync VkStructureType sType - const void* pNext - VkAccessFlags srcAccessMask - VkAccessFlags dstAccessMask - VkImageLayout oldLayout - VkImageLayout newLayout - uint32_t srcQueueFamilyIndex - uint32_t dstQueueFamilyIndex - VkImage image - VkImageSubresourceRange subresourceRange + const void* pNext + VkAccessFlags srcAccessMaskMemory accesses from the source of the dependency to synchronize + VkAccessFlags dstAccessMaskMemory accesses from the destination of the dependency to synchronize + VkImageLayout oldLayoutCurrent layout of the image + VkImageLayout newLayoutNew layout to transition the image to + uint32_t srcQueueFamilyIndexQueue family to transition ownership from + uint32_t dstQueueFamilyIndexQueue family to transition ownership to + VkImage imageImage to sync + VkImageSubresourceRange subresourceRangeSubresource range to sync VkStructureType sType - const void* pNext - VkImageCreateFlags flags + const void* pNext + VkImageCreateFlags flagsImage creation flags VkImageType imageType VkFormat format VkExtent3D extent @@ -734,23 +738,23 @@ private version is maintained in the 1.0 branch of the member gitlab server. uint32_t arrayLayers VkSampleCountFlagBits samples VkImageTiling tiling - VkImageUsageFlags usage - VkSharingMode sharingMode - uint32_t queueFamilyIndexCount - const uint32_t* pQueueFamilyIndices - VkImageLayout initialLayout + VkImageUsageFlags usageImage usage flags + VkSharingMode sharingModeCross-queue-family sharing mode + uint32_t queueFamilyIndexCountNumber of queue families to share across + const uint32_t* pQueueFamilyIndicesArray of queue family indices to share across + VkImageLayout initialLayoutInitial image layout for all subresources - VkDeviceSize offset - VkDeviceSize size - VkDeviceSize rowPitch - VkDeviceSize arrayPitch - VkDeviceSize depthPitch + VkDeviceSize offsetSpecified in bytes + VkDeviceSize sizeSpecified in bytes + VkDeviceSize rowPitchSpecified in bytes + VkDeviceSize arrayPitchSpecified in bytes + VkDeviceSize depthPitchSpecified in bytes VkStructureType sType - const void* pNext - VkImageViewCreateFlags flags + const void* pNext + VkImageViewCreateFlags flags VkImage image VkImageViewType viewType VkFormat format @@ -758,24 +762,24 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkImageSubresourceRange subresourceRange - VkDeviceSize srcOffset - VkDeviceSize dstOffset - VkDeviceSize size + VkDeviceSize srcOffsetSpecified in bytes + VkDeviceSize dstOffsetSpecified in bytes + VkDeviceSize sizeSpecified in bytes - VkDeviceSize resourceOffset - VkDeviceSize size + VkDeviceSize resourceOffsetSpecified in bytes + VkDeviceSize sizeSpecified in bytes VkDeviceMemory memory - VkDeviceSize memoryOffset - VkSparseMemoryBindFlagsflags + VkDeviceSize memoryOffsetSpecified in bytes + VkSparseMemoryBindFlagsflags VkImageSubresource subresource VkOffset3D offset VkExtent3D extent VkDeviceMemory memory - VkDeviceSize memoryOffset - VkSparseMemoryBindFlagsflags + VkDeviceSize memoryOffsetSpecified in bytes + VkSparseMemoryBindFlagsflags VkBuffer buffer @@ -794,7 +798,7 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkStructureType sType - const void* pNext + const void* pNext uint32_t waitSemaphoreCount const VkSemaphore* pWaitSemaphores uint32_t bufferBindCount @@ -808,24 +812,24 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkImageSubresourceLayers srcSubresource - VkOffset3D srcOffset + VkOffset3D srcOffsetSpecified in pixels for both compressed and uncompressed images VkImageSubresourceLayers dstSubresource - VkOffset3D dstOffset - VkExtent3D extent + VkOffset3D dstOffsetSpecified in pixels for both compressed and uncompressed images + VkExtent3D extentSpecified in pixels for both compressed and uncompressed images VkImageSubresourceLayers srcSubresource - VkOffset3D srcOffsets[2] + VkOffset3D srcOffsets[2]Specified in pixels for both compressed and uncompressed images VkImageSubresourceLayers dstSubresource - VkOffset3D dstOffsets[2] + VkOffset3D dstOffsets[2]Specified in pixels for both compressed and uncompressed images - VkDeviceSize bufferOffset - uint32_t bufferRowLength + VkDeviceSize bufferOffsetSpecified in bytes + uint32_t bufferRowLengthSpecified in texels uint32_t bufferImageHeight VkImageSubresourceLayers imageSubresource - VkOffset3D imageOffset - VkExtent3D imageExtent + VkOffset3D imageOffsetSpecified in pixels for both compressed and uncompressed images + VkExtent3D imageExtentSpecified in pixels for both compressed and uncompressed images VkImageSubresourceLayers srcSubresource @@ -836,24 +840,24 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkStructureType sType - const void* pNext - VkShaderModuleCreateFlags flags - size_t codeSize - const uint32_t* pCode + const void* pNext + VkShaderModuleCreateFlags flags + size_t codeSizeSpecified in bytes + const uint32_t* pCodeBinary code of size codeSize - uint32_t binding - VkDescriptorType descriptorType - uint32_t descriptorCount - VkShaderStageFlags stageFlags - const VkSampler* pImmutableSamplers + uint32_t bindingBinding number for this entry + VkDescriptorType descriptorTypeType of the descriptors in this binding + uint32_t descriptorCountNumber of descriptors in this binding + VkShaderStageFlags stageFlagsShader stages this binding is visible to + const VkSampler* pImmutableSamplersImmutable samplers (used if descriptor type is SAMPLER or COMBINED_IMAGE_SAMPLER, is either NULL or contains count number of elements) VkStructureType sType - const void* pNext - VkDescriptorSetLayoutCreateFlags flags - uint32_t bindingCount - const VkDescriptorSetLayoutBinding* pBindings + const void* pNext + VkDescriptorSetLayoutCreateFlags flags + uint32_t bindingCountNumber of bindings in the descriptor set layout + const VkDescriptorSetLayoutBinding* pBindingsArray of descriptor set layout bindings VkDescriptorType type @@ -861,7 +865,7 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkStructureType sType - const void* pNext + const void* pNext VkDescriptorPoolCreateFlags flags uint32_t maxSets uint32_t poolSizeCount @@ -869,77 +873,77 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkStructureType sType - const void* pNext + const void* pNext VkDescriptorPool descriptorPool uint32_t descriptorSetCount const VkDescriptorSetLayout* pSetLayouts - uint32_t constantID - uint32_t offset - size_t size + uint32_t constantIDThe SpecConstant ID specified in the BIL + uint32_t offsetOffset of the value in the data block + size_t sizeSize in bytes of the SpecConstant - uint32_t mapEntryCount - const VkSpecializationMapEntry* pMapEntries - size_t dataSize - const void* pData + uint32_t mapEntryCountNumber of entries in the map + const VkSpecializationMapEntry* pMapEntriesArray of map entries + size_t dataSizeSize in bytes of pData + const void* pDataPointer to SpecConstant data VkStructureType sType - const void* pNext - VkPipelineShaderStageCreateFlags flags - VkShaderStageFlagBits stage - VkShaderModule module - const char* pName + const void* pNext + VkPipelineShaderStageCreateFlags flags + VkShaderStageFlagBits stageShader stage + VkShaderModule moduleModule containing entry point + const char* pNameNull-terminated entry point name const VkSpecializationInfo* pSpecializationInfo VkStructureType sType - const void* pNext - VkPipelineCreateFlags flags + const void* pNext + VkPipelineCreateFlags flagsPipeline creation flags VkPipelineShaderStageCreateInfo stage - VkPipelineLayout layout - VkPipeline basePipelineHandle - int32_t basePipelineIndex + VkPipelineLayout layoutInterface layout of the pipeline + VkPipeline basePipelineHandleIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is nonzero, it specifies the handle of the base pipeline this is a derivative of + int32_t basePipelineIndexIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is not -1, it specifies an index into pCreateInfos of the base pipeline this is a derivative of - uint32_t binding - uint32_t stride - VkVertexInputRate inputRate + uint32_t bindingVertex buffer binding id + uint32_t strideDistance between vertices in bytes (0 = no advancement) + VkVertexInputRate inputRateThe rate at which the vertex data is consumed - uint32_t location - uint32_t binding - VkFormat format - uint32_t offset + uint32_t locationlocation of the shader vertex attrib + uint32_t bindingVertex buffer binding id + VkFormat formatformat of source data + uint32_t offsetOffset of first element in bytes from base of vertex VkStructureType sType - const void* pNext - VkPipelineVertexInputStateCreateFlags flags - uint32_t vertexBindingDescriptionCount + const void* pNext + VkPipelineVertexInputStateCreateFlags flags + uint32_t vertexBindingDescriptionCountnumber of bindings const VkVertexInputBindingDescription* pVertexBindingDescriptions - uint32_t vertexAttributeDescriptionCount + uint32_t vertexAttributeDescriptionCountnumber of attributes const VkVertexInputAttributeDescription* pVertexAttributeDescriptions VkStructureType sType - const void* pNext - VkPipelineInputAssemblyStateCreateFlags flags + const void* pNext + VkPipelineInputAssemblyStateCreateFlags flags VkPrimitiveTopology topology VkBool32 primitiveRestartEnable VkStructureType sType - const void* pNext - VkPipelineTessellationStateCreateFlags flags + const void* pNext + VkPipelineTessellationStateCreateFlags flags uint32_t patchControlPoints VkStructureType sType - const void* pNext - VkPipelineViewportStateCreateFlags flags + const void* pNext + VkPipelineViewportStateCreateFlags flags uint32_t viewportCount const VkViewport* pViewports uint32_t scissorCount @@ -947,11 +951,11 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkStructureType sType - const void* pNext - VkPipelineRasterizationStateCreateFlags flags + const void* pNext + VkPipelineRasterizationStateCreateFlags flags VkBool32 depthClampEnable VkBool32 rasterizerDiscardEnable - VkPolygonMode polygonMode + VkPolygonMode polygonModeoptional (GL45) VkCullModeFlags cullMode VkFrontFace frontFace VkBool32 depthBiasEnable @@ -962,12 +966,12 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkStructureType sType - const void* pNext - VkPipelineMultisampleStateCreateFlags flags - VkSampleCountFlagBits rasterizationSamples - VkBool32 sampleShadingEnable - float minSampleShading - const VkSampleMask* pSampleMask + const void* pNext + VkPipelineMultisampleStateCreateFlags flags + VkSampleCountFlagBits rasterizationSamplesNumber of samples used for rasterization + VkBool32 sampleShadingEnableoptional (GL45) + float minSampleShadingoptional (GL45) + const VkSampleMask* pSampleMaskArray of sampleMask words VkBool32 alphaToCoverageEnable VkBool32 alphaToOneEnable @@ -983,18 +987,18 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkStructureType sType - const void* pNext - VkPipelineColorBlendStateCreateFlags flags + const void* pNext + VkPipelineColorBlendStateCreateFlags flags VkBool32 logicOpEnable VkLogicOp logicOp - uint32_t attachmentCount + uint32_t attachmentCount# of pAttachments const VkPipelineColorBlendAttachmentState* pAttachments float blendConstants[4] VkStructureType sType - const void* pNext - VkPipelineDynamicStateCreateFlags flags + const void* pNext + VkPipelineDynamicStateCreateFlags flags uint32_t dynamicStateCount const VkDynamicState* pDynamicStates @@ -1009,12 +1013,12 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkStructureType sType - const void* pNext - VkPipelineDepthStencilStateCreateFlags flags + const void* pNext + VkPipelineDepthStencilStateCreateFlags flags VkBool32 depthTestEnable VkBool32 depthWriteEnable VkCompareOp depthCompareOp - VkBool32 depthBoundsTestEnable + VkBool32 depthBoundsTestEnableoptional (depth_bounds_test) VkBool32 stencilTestEnable VkStencilOpState front VkStencilOpState back @@ -1023,10 +1027,10 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkStructureType sType - const void* pNext - VkPipelineCreateFlags flags + const void* pNext + VkPipelineCreateFlags flagsPipeline creation flags uint32_t stageCount - const VkPipelineShaderStageCreateInfo* pStages + const VkPipelineShaderStageCreateInfo* pStagesOne entry for each active shader stage const VkPipelineVertexInputStateCreateInfo* pVertexInputState const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState const VkPipelineTessellationStateCreateInfo* pTessellationState @@ -1036,40 +1040,40 @@ private version is maintained in the 1.0 branch of the member gitlab server. const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState const VkPipelineColorBlendStateCreateInfo* pColorBlendState const VkPipelineDynamicStateCreateInfo* pDynamicState - VkPipelineLayout layout + VkPipelineLayout layoutInterface layout of the pipeline VkRenderPass renderPass uint32_t subpass - VkPipeline basePipelineHandle - int32_t basePipelineIndex + VkPipeline basePipelineHandleIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is nonzero, it specifies the handle of the base pipeline this is a derivative of + int32_t basePipelineIndexIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is not -1, it specifies an index into pCreateInfos of the base pipeline this is a derivative of VkStructureType sType - const void* pNext - VkPipelineCacheCreateFlags flags - size_t initialDataSize - const void* pInitialData + const void* pNext + VkPipelineCacheCreateFlags flags + size_t initialDataSizeSize of initial data to populate cache, in bytes + const void* pInitialDataInitial data to populate cache - VkShaderStageFlags stageFlags - uint32_t offset - uint32_t size + VkShaderStageFlags stageFlagsWhich stages use the range + uint32_t offsetStart of the range, in bytes + uint32_t sizeSize of the range, in bytes VkStructureType sType - const void* pNext - VkPipelineLayoutCreateFlags flags - uint32_t setLayoutCount - const VkDescriptorSetLayout* pSetLayouts - uint32_t pushConstantRangeCount - const VkPushConstantRange* pPushConstantRanges + const void* pNext + VkPipelineLayoutCreateFlags flags + uint32_t setLayoutCountNumber of descriptor sets interfaced by the pipeline + const VkDescriptorSetLayout* pSetLayoutsArray of setCount number of descriptor set layout objects defining the layout of the + uint32_t pushConstantRangeCountNumber of push-constant ranges used by the pipeline + const VkPushConstantRange* pPushConstantRangesArray of pushConstantRangeCount number of ranges used by various shader stages VkStructureType sType - const void* pNext - VkSamplerCreateFlags flags - VkFilter magFilter - VkFilter minFilter - VkSamplerMipmapMode mipmapMode + const void* pNext + VkSamplerCreateFlags flags + VkFilter magFilterFilter mode for magnification + VkFilter minFilterFilter mode for minifiation + VkSamplerMipmapMode mipmapModeMipmap selection mode VkSamplerAddressMode addressModeU VkSamplerAddressMode addressModeV VkSamplerAddressMode addressModeW @@ -1085,36 +1089,36 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkStructureType sType - const void* pNext - VkCommandPoolCreateFlags flags + const void* pNext + VkCommandPoolCreateFlags flagsCommand pool creation flags uint32_t queueFamilyIndex VkStructureType sType - const void* pNext + const void* pNext VkCommandPool commandPool VkCommandBufferLevel level uint32_t commandBufferCount VkStructureType sType - const void* pNext - VkRenderPass renderPass + const void* pNext + VkRenderPass renderPassRender pass for secondary command buffers uint32_t subpass - VkFramebuffer framebuffer - VkBool32 occlusionQueryEnable - VkQueryControlFlags queryFlags - VkQueryPipelineStatisticFlags pipelineStatistics + VkFramebuffer framebufferFramebuffer for secondary command buffers + VkBool32 occlusionQueryEnableWhether this secondary command buffer may be executed during an occlusion query + VkQueryControlFlags queryFlagsQuery flags used by this secondary command buffer, if executed during an occlusion query + VkQueryPipelineStatisticFlags pipelineStatisticsPipeline statistics that may be counted for this secondary command buffer VkStructureType sType - const void* pNext - VkCommandBufferUsageFlags flags - const VkCommandBufferInheritanceInfo* pInheritanceInfo + const void* pNext + VkCommandBufferUsageFlags flagsCommand buffer usage flags + const VkCommandBufferInheritanceInfo* pInheritanceInfoPointer to inheritance info for secondary command buffers VkStructureType sType - const void* pNext + const void* pNext VkRenderPass renderPass VkFramebuffer framebuffer VkRect2D renderArea @@ -1143,10 +1147,10 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkAttachmentDescriptionFlags flags VkFormat format VkSampleCountFlagBits samples - VkAttachmentLoadOp loadOp - VkAttachmentStoreOp storeOp - VkAttachmentLoadOp stencilLoadOp - VkAttachmentStoreOp stencilStoreOp + VkAttachmentLoadOp loadOpLoad operation for color or depth data + VkAttachmentStoreOp storeOpStore operation for color or depth data + VkAttachmentLoadOp stencilLoadOpLoad operation for stencil data + VkAttachmentStoreOp stencilStoreOpStore operation for stencil data VkImageLayout initialLayout VkImageLayout finalLayout @@ -1156,7 +1160,7 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkSubpassDescriptionFlags flags - VkPipelineBindPoint pipelineBindPoint + VkPipelineBindPoint pipelineBindPointMust be VK_PIPELINE_BIND_POINT_GRAPHICS for now uint32_t inputAttachmentCount const VkAttachmentReference* pInputAttachments uint32_t colorAttachmentCount @@ -1171,14 +1175,14 @@ private version is maintained in the 1.0 branch of the member gitlab server. uint32_t dstSubpass VkPipelineStageFlags srcStageMask VkPipelineStageFlags dstStageMask - VkAccessFlags srcAccessMask - VkAccessFlags dstAccessMask + VkAccessFlags srcAccessMaskMemory accesses from the source of the dependency to synchronize + VkAccessFlags dstAccessMaskMemory accesses from the destination of the dependency to synchronize VkDependencyFlags dependencyFlags VkStructureType sType - const void* pNext - VkRenderPassCreateFlags flags + const void* pNext + VkRenderPassCreateFlags flags uint32_t attachmentCount const VkAttachmentDescription* pAttachments uint32_t subpassCount @@ -1188,212 +1192,212 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkStructureType sType - const void* pNext - VkEventCreateFlags flags + const void* pNext + VkEventCreateFlags flagsEvent creation flags VkStructureType sType - const void* pNext - VkFenceCreateFlags flags + const void* pNext + VkFenceCreateFlags flagsFence creation flags - VkBool32 robustBufferAccess - VkBool32 fullDrawIndexUint32 - VkBool32 imageCubeArray - VkBool32 independentBlend - VkBool32 geometryShader - VkBool32 tessellationShader - VkBool32 sampleRateShading - VkBool32 dualSrcBlend - VkBool32 logicOp - VkBool32 multiDrawIndirect - VkBool32 drawIndirectFirstInstance - VkBool32 depthClamp - VkBool32 depthBiasClamp - VkBool32 fillModeNonSolid - VkBool32 depthBounds - VkBool32 wideLines - VkBool32 largePoints - VkBool32 alphaToOne - VkBool32 multiViewport - VkBool32 samplerAnisotropy - VkBool32 textureCompressionETC2 - VkBool32 textureCompressionASTC_LDR - VkBool32 textureCompressionBC - VkBool32 occlusionQueryPrecise - VkBool32 pipelineStatisticsQuery - VkBool32 vertexPipelineStoresAndAtomics - VkBool32 fragmentStoresAndAtomics - VkBool32 shaderTessellationAndGeometryPointSize - VkBool32 shaderImageGatherExtended - VkBool32 shaderStorageImageExtendedFormats - VkBool32 shaderStorageImageMultisample - VkBool32 shaderStorageImageReadWithoutFormat - VkBool32 shaderStorageImageWriteWithoutFormat - VkBool32 shaderUniformBufferArrayDynamicIndexing - VkBool32 shaderSampledImageArrayDynamicIndexing - VkBool32 shaderStorageBufferArrayDynamicIndexing - VkBool32 shaderStorageImageArrayDynamicIndexing - VkBool32 shaderClipDistance - VkBool32 shaderCullDistance - VkBool32 shaderFloat64 - VkBool32 shaderInt64 - VkBool32 shaderInt16 - VkBool32 shaderResourceResidency - VkBool32 shaderResourceMinLod - VkBool32 sparseBinding - VkBool32 sparseResidencyBuffer - VkBool32 sparseResidencyImage2D - VkBool32 sparseResidencyImage3D - VkBool32 sparseResidency2Samples - VkBool32 sparseResidency4Samples - VkBool32 sparseResidency8Samples - VkBool32 sparseResidency16Samples - VkBool32 sparseResidencyAliased - VkBool32 variableMultisampleRate - VkBool32 inheritedQueries + VkBool32 robustBufferAccessout of bounds buffer accesses are well defined + VkBool32 fullDrawIndexUint32full 32-bit range of indices for indexed draw calls + VkBool32 imageCubeArrayimage views which are arrays of cube maps + VkBool32 independentBlendblending operations are controlled per-attachment + VkBool32 geometryShadergeometry stage + VkBool32 tessellationShadertessellation control and evaluation stage + VkBool32 sampleRateShadingper-sample shading and interpolation + VkBool32 dualSrcBlendblend operations which take two sources + VkBool32 logicOplogic operations + VkBool32 multiDrawIndirectmulti draw indirect + VkBool32 drawIndirectFirstInstanceindirect draws can use non-zero firstInstance + VkBool32 depthClampdepth clamping + VkBool32 depthBiasClampdepth bias clamping + VkBool32 fillModeNonSolidpoint and wireframe fill modes + VkBool32 depthBoundsdepth bounds test + VkBool32 wideLineslines with width greater than 1 + VkBool32 largePointspoints with size greater than 1 + VkBool32 alphaToOnethe fragment alpha component can be forced to maximum representable alpha value + VkBool32 multiViewportviewport arrays + VkBool32 samplerAnisotropyanisotropic sampler filtering + VkBool32 textureCompressionETC2ETC texture compression formats + VkBool32 textureCompressionASTC_LDRASTC LDR texture compression formats + VkBool32 textureCompressionBCBC1-7 texture compressed formats + VkBool32 occlusionQueryPreciseprecise occlusion queries returning actual sample counts + VkBool32 pipelineStatisticsQuerypipeline statistics query + VkBool32 vertexPipelineStoresAndAtomicsstores and atomic ops on storage buffers and images are supported in vertex, tessellation, and geometry stages + VkBool32 fragmentStoresAndAtomicsstores and atomic ops on storage buffers and images are supported in the fragment stage + VkBool32 shaderTessellationAndGeometryPointSizetessellation and geometry stages can export point size + VkBool32 shaderImageGatherExtendedimage gather with run-time values and independent offsets + VkBool32 shaderStorageImageExtendedFormatsthe extended set of formats can be used for storage images + VkBool32 shaderStorageImageMultisamplemultisample images can be used for storage images + VkBool32 shaderStorageImageReadWithoutFormatread from storage image does not require format qualifier + VkBool32 shaderStorageImageWriteWithoutFormatwrite to storage image does not require format qualifier + VkBool32 shaderUniformBufferArrayDynamicIndexingarrays of uniform buffers can be accessed with dynamically uniform indices + VkBool32 shaderSampledImageArrayDynamicIndexingarrays of sampled images can be accessed with dynamically uniform indices + VkBool32 shaderStorageBufferArrayDynamicIndexingarrays of storage buffers can be accessed with dynamically uniform indices + VkBool32 shaderStorageImageArrayDynamicIndexingarrays of storage images can be accessed with dynamically uniform indices + VkBool32 shaderClipDistanceclip distance in shaders + VkBool32 shaderCullDistancecull distance in shaders + VkBool32 shaderFloat6464-bit floats (doubles) in shaders + VkBool32 shaderInt6464-bit integers in shaders + VkBool32 shaderInt1616-bit integers in shaders + VkBool32 shaderResourceResidencyshader can use texture operations that return resource residency information (requires sparseNonResident support) + VkBool32 shaderResourceMinLodshader can use texture operations that specify minimum resource level of detail + VkBool32 sparseBindingSparse resources support: Resource memory can be managed at opaque page level rather than object level + VkBool32 sparseResidencyBufferSparse resources support: GPU can access partially resident buffers + VkBool32 sparseResidencyImage2DSparse resources support: GPU can access partially resident 2D (non-MSAA non-depth/stencil) images + VkBool32 sparseResidencyImage3DSparse resources support: GPU can access partially resident 3D images + VkBool32 sparseResidency2SamplesSparse resources support: GPU can access partially resident MSAA 2D images with 2 samples + VkBool32 sparseResidency4SamplesSparse resources support: GPU can access partially resident MSAA 2D images with 4 samples + VkBool32 sparseResidency8SamplesSparse resources support: GPU can access partially resident MSAA 2D images with 8 samples + VkBool32 sparseResidency16SamplesSparse resources support: GPU can access partially resident MSAA 2D images with 16 samples + VkBool32 sparseResidencyAliasedSparse resources support: GPU can correctly access data aliased into multiple locations (opt-in) + VkBool32 variableMultisampleRatemultisample rate must be the same for all pipelines in a subpass + VkBool32 inheritedQueriesQueries may be inherited from primary to secondary command buffers - VkBool32 residencyStandard2DBlockShape - VkBool32 residencyStandard2DMultisampleBlockShape - VkBool32 residencyStandard3DBlockShape - VkBool32 residencyAlignedMipSize - VkBool32 residencyNonResidentStrict + VkBool32 residencyStandard2DBlockShapeSparse resources support: GPU will access all 2D (single sample) sparse resources using the standard sparse image block shapes (based on pixel format) + VkBool32 residencyStandard2DMultisampleBlockShapeSparse resources support: GPU will access all 2D (multisample) sparse resources using the standard sparse image block shapes (based on pixel format) + VkBool32 residencyStandard3DBlockShapeSparse resources support: GPU will access all 3D sparse resources using the standard sparse image block shapes (based on pixel format) + VkBool32 residencyAlignedMipSizeSparse resources support: Images with mip level dimensions that are NOT a multiple of the sparse image block dimensions will be placed in the mip tail + VkBool32 residencyNonResidentStrictSparse resources support: GPU can consistently access non-resident regions of a resource, all reads return as if data is 0, writes are discarded - - uint32_t maxImageDimension1D - uint32_t maxImageDimension2D - uint32_t maxImageDimension3D - uint32_t maxImageDimensionCube - uint32_t maxImageArrayLayers - uint32_t maxTexelBufferElements - uint32_t maxUniformBufferRange - uint32_t maxStorageBufferRange - uint32_t maxPushConstantsSize - - uint32_t maxMemoryAllocationCount - uint32_t maxSamplerAllocationCount - VkDeviceSize bufferImageGranularity - VkDeviceSize sparseAddressSpaceSize - - uint32_t maxBoundDescriptorSets - uint32_t maxPerStageDescriptorSamplers - uint32_t maxPerStageDescriptorUniformBuffers - uint32_t maxPerStageDescriptorStorageBuffers - uint32_t maxPerStageDescriptorSampledImages - uint32_t maxPerStageDescriptorStorageImages - uint32_t maxPerStageDescriptorInputAttachments - uint32_t maxPerStageResources - uint32_t maxDescriptorSetSamplers - uint32_t maxDescriptorSetUniformBuffers - uint32_t maxDescriptorSetUniformBuffersDynamic - uint32_t maxDescriptorSetStorageBuffers - uint32_t maxDescriptorSetStorageBuffersDynamic - uint32_t maxDescriptorSetSampledImages - uint32_t maxDescriptorSetStorageImages - uint32_t maxDescriptorSetInputAttachments - - uint32_t maxVertexInputAttributes - uint32_t maxVertexInputBindings - uint32_t maxVertexInputAttributeOffset - uint32_t maxVertexInputBindingStride - uint32_t maxVertexOutputComponents - - uint32_t maxTessellationGenerationLevel - uint32_t maxTessellationPatchSize - uint32_t maxTessellationControlPerVertexInputComponents - uint32_t maxTessellationControlPerVertexOutputComponents - uint32_t maxTessellationControlPerPatchOutputComponents - uint32_t maxTessellationControlTotalOutputComponents - - uint32_t maxTessellationEvaluationInputComponents - uint32_t maxTessellationEvaluationOutputComponents - - uint32_t maxGeometryShaderInvocations - uint32_t maxGeometryInputComponents - uint32_t maxGeometryOutputComponents - uint32_t maxGeometryOutputVertices - uint32_t maxGeometryTotalOutputComponents - - uint32_t maxFragmentInputComponents - uint32_t maxFragmentOutputAttachments - uint32_t maxFragmentDualSrcAttachments - uint32_t maxFragmentCombinedOutputResources - - uint32_t maxComputeSharedMemorySize - uint32_t maxComputeWorkGroupCount[3] - uint32_t maxComputeWorkGroupInvocations - uint32_t maxComputeWorkGroupSize[3] - uint32_t subPixelPrecisionBits - uint32_t subTexelPrecisionBits - uint32_t mipmapPrecisionBits - uint32_t maxDrawIndexedIndexValue - uint32_t maxDrawIndirectCount - float maxSamplerLodBias - float maxSamplerAnisotropy - uint32_t maxViewports - uint32_t maxViewportDimensions[2] - float viewportBoundsRange[2] - uint32_t viewportSubPixelBits - size_t minMemoryMapAlignment - VkDeviceSize minTexelBufferOffsetAlignment - VkDeviceSize minUniformBufferOffsetAlignment - VkDeviceSize minStorageBufferOffsetAlignment - int32_t minTexelOffset - uint32_t maxTexelOffset - int32_t minTexelGatherOffset - uint32_t maxTexelGatherOffset - float minInterpolationOffset - float maxInterpolationOffset - uint32_t subPixelInterpolationOffsetBits - uint32_t maxFramebufferWidth - uint32_t maxFramebufferHeight - uint32_t maxFramebufferLayers - VkSampleCountFlags framebufferColorSampleCounts - VkSampleCountFlags framebufferDepthSampleCounts - VkSampleCountFlags framebufferStencilSampleCounts - VkSampleCountFlags framebufferNoAttachmentsSampleCounts - uint32_t maxColorAttachments - VkSampleCountFlags sampledImageColorSampleCounts - VkSampleCountFlags sampledImageIntegerSampleCounts - VkSampleCountFlags sampledImageDepthSampleCounts - VkSampleCountFlags sampledImageStencilSampleCounts - VkSampleCountFlags storageImageSampleCounts - uint32_t maxSampleMaskWords - VkBool32 timestampComputeAndGraphics - float timestampPeriod - uint32_t maxClipDistances - uint32_t maxCullDistances - uint32_t maxCombinedClipAndCullDistances - uint32_t discreteQueuePriorities - float pointSizeRange[2] - float lineWidthRange[2] - float pointSizeGranularity - float lineWidthGranularity - VkBool32 strictLines - VkBool32 standardSampleLocations - VkDeviceSize optimalBufferCopyOffsetAlignment - VkDeviceSize optimalBufferCopyRowPitchAlignment - VkDeviceSize nonCoherentAtomSize + resource maximum sizes + uint32_t maxImageDimension1Dmax 1D image dimension + uint32_t maxImageDimension2Dmax 2D image dimension + uint32_t maxImageDimension3Dmax 3D image dimension + uint32_t maxImageDimensionCubemax cubemap image dimension + uint32_t maxImageArrayLayersmax layers for image arrays + uint32_t maxTexelBufferElementsmax texel buffer size (fstexels) + uint32_t maxUniformBufferRangemax uniform buffer range (bytes) + uint32_t maxStorageBufferRangemax storage buffer range (bytes) + uint32_t maxPushConstantsSizemax size of the push constants pool (bytes) + memory limits + uint32_t maxMemoryAllocationCountmax number of device memory allocations supported + uint32_t maxSamplerAllocationCountmax number of samplers that can be allocated on a device + VkDeviceSize bufferImageGranularityGranularity (in bytes) at which buffers and images can be bound to adjacent memory for simultaneous usage + VkDeviceSize sparseAddressSpaceSizeTotal address space available for sparse allocations (bytes) + descriptor set limits + uint32_t maxBoundDescriptorSetsmax number of descriptors sets that can be bound to a pipeline + uint32_t maxPerStageDescriptorSamplersmax number of samplers allowed per-stage in a descriptor set + uint32_t maxPerStageDescriptorUniformBuffersmax number of uniform buffers allowed per-stage in a descriptor set + uint32_t maxPerStageDescriptorStorageBuffersmax number of storage buffers allowed per-stage in a descriptor set + uint32_t maxPerStageDescriptorSampledImagesmax number of sampled images allowed per-stage in a descriptor set + uint32_t maxPerStageDescriptorStorageImagesmax number of storage images allowed per-stage in a descriptor set + uint32_t maxPerStageDescriptorInputAttachmentsmax number of input attachments allowed per-stage in a descriptor set + uint32_t maxPerStageResourcesmax number of resources allowed by a single stage + uint32_t maxDescriptorSetSamplersmax number of samplers allowed in all stages in a descriptor set + uint32_t maxDescriptorSetUniformBuffersmax number of uniform buffers allowed in all stages in a descriptor set + uint32_t maxDescriptorSetUniformBuffersDynamicmax number of dynamic uniform buffers allowed in all stages in a descriptor set + uint32_t maxDescriptorSetStorageBuffersmax number of storage buffers allowed in all stages in a descriptor set + uint32_t maxDescriptorSetStorageBuffersDynamicmax number of dynamic storage buffers allowed in all stages in a descriptor set + uint32_t maxDescriptorSetSampledImagesmax number of sampled images allowed in all stages in a descriptor set + uint32_t maxDescriptorSetStorageImagesmax number of storage images allowed in all stages in a descriptor set + uint32_t maxDescriptorSetInputAttachmentsmax number of input attachments allowed in all stages in a descriptor set + vertex stage limits + uint32_t maxVertexInputAttributesmax number of vertex input attribute slots + uint32_t maxVertexInputBindingsmax number of vertex input binding slots + uint32_t maxVertexInputAttributeOffsetmax vertex input attribute offset added to vertex buffer offset + uint32_t maxVertexInputBindingStridemax vertex input binding stride + uint32_t maxVertexOutputComponentsmax number of output components written by vertex shader + tessellation control stage limits + uint32_t maxTessellationGenerationLevelmax level supported by tessellation primitive generator + uint32_t maxTessellationPatchSizemax patch size (vertices) + uint32_t maxTessellationControlPerVertexInputComponentsmax number of input components per-vertex in TCS + uint32_t maxTessellationControlPerVertexOutputComponentsmax number of output components per-vertex in TCS + uint32_t maxTessellationControlPerPatchOutputComponentsmax number of output components per-patch in TCS + uint32_t maxTessellationControlTotalOutputComponentsmax total number of per-vertex and per-patch output components in TCS + tessellation evaluation stage limits + uint32_t maxTessellationEvaluationInputComponentsmax number of input components per vertex in TES + uint32_t maxTessellationEvaluationOutputComponentsmax number of output components per vertex in TES + geometry stage limits + uint32_t maxGeometryShaderInvocationsmax invocation count supported in geometry shader + uint32_t maxGeometryInputComponentsmax number of input components read in geometry stage + uint32_t maxGeometryOutputComponentsmax number of output components written in geometry stage + uint32_t maxGeometryOutputVerticesmax number of vertices that can be emitted in geometry stage + uint32_t maxGeometryTotalOutputComponentsmax total number of components (all vertices) written in geometry stage + fragment stage limits + uint32_t maxFragmentInputComponentsmax number of input compontents read in fragment stage + uint32_t maxFragmentOutputAttachmentsmax number of output attachments written in fragment stage + uint32_t maxFragmentDualSrcAttachmentsmax number of output attachments written when using dual source blending + uint32_t maxFragmentCombinedOutputResourcesmax total number of storage buffers, storage images and output buffers + compute stage limits + uint32_t maxComputeSharedMemorySizemax total storage size of work group local storage (bytes) + uint32_t maxComputeWorkGroupCount[3]max num of compute work groups that may be dispatched by a single command (x,y,z) + uint32_t maxComputeWorkGroupInvocationsmax total compute invocations in a single local work group + uint32_t maxComputeWorkGroupSize[3]max local size of a compute work group (x,y,z) + uint32_t subPixelPrecisionBitsnumber bits of subpixel precision in screen x and y + uint32_t subTexelPrecisionBitsnumber bits of precision for selecting texel weights + uint32_t mipmapPrecisionBitsnumber bits of precision for selecting mipmap weights + uint32_t maxDrawIndexedIndexValuemax index value for indexed draw calls (for 32-bit indices) + uint32_t maxDrawIndirectCountmax draw count for indirect draw calls + float maxSamplerLodBiasmax absolute sampler level of detail bias + float maxSamplerAnisotropymax degree of sampler anisotropy + uint32_t maxViewportsmax number of active viewports + uint32_t maxViewportDimensions[2]max viewport dimensions (x,y) + float viewportBoundsRange[2]viewport bounds range (min,max) + uint32_t viewportSubPixelBitsnumber bits of subpixel precision for viewport + size_t minMemoryMapAlignmentmin required alignment of pointers returned by MapMemory (bytes) + VkDeviceSize minTexelBufferOffsetAlignmentmin required alignment for texel buffer offsets (bytes) + VkDeviceSize minUniformBufferOffsetAlignmentmin required alignment for uniform buffer sizes and offsets (bytes) + VkDeviceSize minStorageBufferOffsetAlignmentmin required alignment for storage buffer offsets (bytes) + int32_t minTexelOffsetmin texel offset for OpTextureSampleOffset + uint32_t maxTexelOffsetmax texel offset for OpTextureSampleOffset + int32_t minTexelGatherOffsetmin texel offset for OpTextureGatherOffset + uint32_t maxTexelGatherOffsetmax texel offset for OpTextureGatherOffset + float minInterpolationOffsetfurthest negative offset for interpolateAtOffset + float maxInterpolationOffsetfurthest positive offset for interpolateAtOffset + uint32_t subPixelInterpolationOffsetBitsnumber of subpixel bits for interpolateAtOffset + uint32_t maxFramebufferWidthmax width for a framebuffer + uint32_t maxFramebufferHeightmax height for a framebuffer + uint32_t maxFramebufferLayersmax layer count for a layered framebuffer + VkSampleCountFlags framebufferColorSampleCountssupported color sample counts for a framebuffer + VkSampleCountFlags framebufferDepthSampleCountssupported depth sample counts for a framebuffer + VkSampleCountFlags framebufferStencilSampleCountssupported stencil sample counts for a framebuffer + VkSampleCountFlags framebufferNoAttachmentsSampleCountssupported sample counts for a framebuffer with no attachments + uint32_t maxColorAttachmentsmax number of color attachments per subpass + VkSampleCountFlags sampledImageColorSampleCountssupported color sample counts for a non-integer sampled image + VkSampleCountFlags sampledImageIntegerSampleCountssupported sample counts for an integer image + VkSampleCountFlags sampledImageDepthSampleCountssupported depth sample counts for a sampled image + VkSampleCountFlags sampledImageStencilSampleCountssupported stencil sample counts for a sampled image + VkSampleCountFlags storageImageSampleCountssupported sample counts for a storage image + uint32_t maxSampleMaskWordsmax number of sample mask words + VkBool32 timestampComputeAndGraphicstimestamps on graphics and compute queues + float timestampPeriodnumber of nanoseconds it takes for timestamp query value to increment by 1 + uint32_t maxClipDistancesmax number of clip distances + uint32_t maxCullDistancesmax number of cull distances + uint32_t maxCombinedClipAndCullDistancesmax combined number of user clipping + uint32_t discreteQueuePrioritiesdistinct queue priorities available + float pointSizeRange[2]range (min,max) of supported point sizes + float lineWidthRange[2]range (min,max) of supported line widths + float pointSizeGranularitygranularity of supported point sizes + float lineWidthGranularitygranularity of supported line widths + VkBool32 strictLinesline rasterization follows preferred rules + VkBool32 standardSampleLocationssupports standard sample locations for all supported sample counts + VkDeviceSize optimalBufferCopyOffsetAlignmentoptimal offset of buffer copies + VkDeviceSize optimalBufferCopyRowPitchAlignmentoptimal pitch of buffer copies + VkDeviceSize nonCoherentAtomSizeminimum size and alignment for non-coherent host-mapped device memory access VkStructureType sType - const void* pNext - VkSemaphoreCreateFlags flags + const void* pNext + VkSemaphoreCreateFlags flagsSemaphore creation flags VkStructureType sType - const void* pNext - VkQueryPoolCreateFlags flags + const void* pNext + VkQueryPoolCreateFlags flags VkQueryType queryType uint32_t queryCount - VkQueryPipelineStatisticFlags pipelineStatistics + VkQueryPipelineStatisticFlags pipelineStatisticsOptional VkStructureType sType - const void* pNext - VkFramebufferCreateFlags flags + const void* pNext + VkFramebufferCreateFlags flags VkRenderPass renderPass uint32_t attachmentCount const VkImageView* pAttachments @@ -1421,7 +1425,7 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkStructureType sType - const void* pNext + const void* pNext uint32_t waitSemaphoreCount const VkSemaphore* pWaitSemaphores const VkPipelineStageFlags* pWaitDstStageMask @@ -1430,37 +1434,37 @@ private version is maintained in the 1.0 branch of the member gitlab server. uint32_t signalSemaphoreCount const VkSemaphore* pSignalSemaphores - + WSI extensions - VkDisplayKHR display - const char* displayName - VkExtent2D physicalDimensions - VkExtent2D physicalResolution - VkSurfaceTransformFlagsKHR supportedTransforms - VkBool32 planeReorderPossible - VkBool32 persistentContent + VkDisplayKHR displayHandle of the display object + const char* displayNameName of the display + VkExtent2D physicalDimensionsIn millimeters? + VkExtent2D physicalResolutionMax resolution for CRT? + VkSurfaceTransformFlagsKHR supportedTransformsone or more bits from VkSurfaceTransformFlagsKHR + VkBool32 planeReorderPossibleVK_TRUE if the overlay plane's z-order can be changed on this display. + VkBool32 persistentContentVK_TRUE if this is a "smart" display that supports self-refresh/internal buffering. - VkDisplayKHR currentDisplay - uint32_t currentStackIndex + VkDisplayKHR currentDisplayDisplay the plane is currently associated with. Will be VK_NULL_HANDLE if the plane is not in use. + uint32_t currentStackIndexCurrent z-order of the plane. - VkExtent2D visibleRegion - uint32_t refreshRate + VkExtent2D visibleRegionVisible scanout region. + uint32_t refreshRateNumber of times per second the display is updated. - VkDisplayModeKHR displayMode - VkDisplayModeParametersKHR parameters + VkDisplayModeKHR displayModeHandle of this display mode. + VkDisplayModeParametersKHR parametersThe parameters this mode uses. VkStructureType sType - const void* pNext - VkDisplayModeCreateFlagsKHR flags - VkDisplayModeParametersKHR parameters + const void* pNext + VkDisplayModeCreateFlagsKHR flags + VkDisplayModeParametersKHR parametersThe parameters this mode uses. - VkDisplayPlaneAlphaFlagsKHR supportedAlpha - VkOffset2D minSrcPosition + VkDisplayPlaneAlphaFlagsKHR supportedAlphaTypes of alpha blending supported, if any. + VkOffset2D minSrcPositionDoes the plane have any position and extent restrictions? VkOffset2D maxSrcPosition VkExtent2D minSrcExtent VkExtent2D maxSrcExtent @@ -1471,171 +1475,171 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkStructureType sType - const void* pNext - VkDisplaySurfaceCreateFlagsKHR flags - VkDisplayModeKHR displayMode - uint32_t planeIndex - uint32_t planeStackIndex - VkSurfaceTransformFlagBitsKHR transform - float globalAlpha - VkDisplayPlaneAlphaFlagBitsKHR alphaMode - VkExtent2D imageExtent - - + const void* pNext + VkDisplaySurfaceCreateFlagsKHR flags + VkDisplayModeKHR displayModeThe mode to use when displaying this surface + uint32_t planeIndexThe plane on which this surface appears. Must be between 0 and the value returned by vkGetPhysicalDeviceDisplayPlanePropertiesKHR() in pPropertyCount. + uint32_t planeStackIndexThe z-order of the plane. + VkSurfaceTransformFlagBitsKHR transformTransform to apply to the images as part of the scanout operation + float globalAlphaGlobal alpha value. Must be between 0 and 1, inclusive. Ignored if alphaMode is not VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR + VkDisplayPlaneAlphaFlagBitsKHR alphaModeWhat type of alpha blending to use. Must be a bit from vkGetDisplayPlanePropertiesKHR::supportedAlpha. + VkExtent2D imageExtentsize of the images to use with this surface + + VkStructureType sType - const void* pNext - VkRect2D srcRect - VkRect2D dstRect - VkBool32 persistent + const void* pNext + VkRect2D srcRectRectangle within the presentable image to read pixel data from when presenting to the display. + VkRect2D dstRectRectangle within the current display mode's visible region to display srcRectangle in. + VkBool32 persistentFor smart displays, use buffered mode. If the display properties member "persistentMode" is VK_FALSE, this member must always be VK_FALSE. - uint32_t minImageCount - uint32_t maxImageCount - VkExtent2D currentExtent - VkExtent2D minImageExtent - VkExtent2D maxImageExtent - uint32_t maxImageArrayLayers - VkSurfaceTransformFlagsKHR supportedTransforms - VkSurfaceTransformFlagBitsKHR currentTransform - VkCompositeAlphaFlagsKHR supportedCompositeAlpha - VkImageUsageFlags supportedUsageFlags + uint32_t minImageCountSupported minimum number of images for the surface + uint32_t maxImageCountSupported maximum number of images for the surface, 0 for unlimited + VkExtent2D currentExtentCurrent image width and height for the surface, (0, 0) if undefined + VkExtent2D minImageExtentSupported minimum image width and height for the surface + VkExtent2D maxImageExtentSupported maximum image width and height for the surface + uint32_t maxImageArrayLayersSupported maximum number of image layers for the surface + VkSurfaceTransformFlagsKHR supportedTransforms1 or more bits representing the transforms supported + VkSurfaceTransformFlagBitsKHR currentTransformThe surface's current transform relative to the device's natural orientation + VkCompositeAlphaFlagsKHR supportedCompositeAlpha1 or more bits representing the alpha compositing modes supported + VkImageUsageFlags supportedUsageFlagsSupported image usage flags for the surface VkStructureType sType - const void* pNext - VkAndroidSurfaceCreateFlagsKHR flags + const void* pNext + VkAndroidSurfaceCreateFlagsKHR flags ANativeWindow* window VkStructureType sType - const void* pNext - VkMirSurfaceCreateFlagsKHR flags + const void* pNext + VkMirSurfaceCreateFlagsKHR flags MirConnection* connection MirSurface* mirSurface VkStructureType sType - const void* pNext - VkViSurfaceCreateFlagsNN flags + const void* pNext + VkViSurfaceCreateFlagsNN flags void* window VkStructureType sType - const void* pNext - VkWaylandSurfaceCreateFlagsKHR flags + const void* pNext + VkWaylandSurfaceCreateFlagsKHR flags struct wl_display* display struct wl_surface* surface VkStructureType sType - const void* pNext - VkWin32SurfaceCreateFlagsKHR flags + const void* pNext + VkWin32SurfaceCreateFlagsKHR flags HINSTANCE hinstance HWND hwnd VkStructureType sType - const void* pNext - VkXlibSurfaceCreateFlagsKHR flags + const void* pNext + VkXlibSurfaceCreateFlagsKHR flags Display* dpy Window window VkStructureType sType - const void* pNext - VkXcbSurfaceCreateFlagsKHR flags + const void* pNext + VkXcbSurfaceCreateFlagsKHR flags xcb_connection_t* connection xcb_window_t window - VkFormat format - VkColorSpaceKHR colorSpace + VkFormat formatSupported pair of rendering format + VkColorSpaceKHR colorSpaceand color space for the surface VkStructureType sType - const void* pNext - VkSwapchainCreateFlagsKHR flags - VkSurfaceKHR surface - uint32_t minImageCount - VkFormat imageFormat - VkColorSpaceKHR imageColorSpace - VkExtent2D imageExtent - uint32_t imageArrayLayers - VkImageUsageFlags imageUsage - VkSharingMode imageSharingMode - uint32_t queueFamilyIndexCount - const uint32_t* pQueueFamilyIndices - VkSurfaceTransformFlagBitsKHR preTransform - VkCompositeAlphaFlagBitsKHR compositeAlpha - VkPresentModeKHR presentMode - VkBool32 clipped - VkSwapchainKHR oldSwapchain + const void* pNext + VkSwapchainCreateFlagsKHR flags + VkSurfaceKHR surfaceThe swapchain's target surface + uint32_t minImageCountMinimum number of presentation images the application needs + VkFormat imageFormatFormat of the presentation images + VkColorSpaceKHR imageColorSpaceColorspace of the presentation images + VkExtent2D imageExtentDimensions of the presentation images + uint32_t imageArrayLayersDetermines the number of views for multiview/stereo presentation + VkImageUsageFlags imageUsageBits indicating how the presentation images will be used + VkSharingMode imageSharingModeSharing mode used for the presentation images + uint32_t queueFamilyIndexCountNumber of queue families having access to the images in case of concurrent sharing mode + const uint32_t* pQueueFamilyIndicesArray of queue family indices having access to the images in case of concurrent sharing mode + VkSurfaceTransformFlagBitsKHR preTransformThe transform, relative to the device's natural orientation, applied to the image content prior to presentation + VkCompositeAlphaFlagBitsKHR compositeAlphaThe alpha blending mode used when compositing this surface with other surfaces in the window system + VkPresentModeKHR presentModeWhich presentation mode to use for presents on this swap chain + VkBool32 clippedSpecifies whether presentable images may be affected by window clip regions + VkSwapchainKHR oldSwapchainExisting swap chain to replace, if any VkStructureType sType - const void* pNext - uint32_t waitSemaphoreCount - const VkSemaphore* pWaitSemaphores - uint32_t swapchainCount - const VkSwapchainKHR* pSwapchains - const uint32_t* pImageIndices - VkResult* pResults - - + const void* pNext + uint32_t waitSemaphoreCountNumber of semaphores to wait for before presenting + const VkSemaphore* pWaitSemaphoresSemaphores to wait for before presenting + uint32_t swapchainCountNumber of swapchains to present in this call + const VkSwapchainKHR* pSwapchainsSwapchains to present an image from + const uint32_t* pImageIndicesIndices of which presentable images to present + VkResult* pResultsOptional (i.e. if non-NULL) VkResult for each swapchain + + VkStructureType sType - const void* pNext - VkDebugReportFlagsEXT flags - PFN_vkDebugReportCallbackEXT pfnCallback - void* pUserData - - - VkStructureType sType - const void* pNext - uint32_t disabledValidationCheckCount - VkValidationCheckEXT* pDisabledValidationChecks - - + const void* pNext + VkDebugReportFlagsEXT flagsIndicates which events call this callback + PFN_vkDebugReportCallbackEXT pfnCallbackFunction pointer of a callback function + void* pUserDataUser data provided to callback function + + + VkStructureType sTypeMust be VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT + const void* pNext + uint32_t disabledValidationCheckCountNumber of validation checks to disable + VkValidationCheckEXT* pDisabledValidationChecksValidation checks to disable + + VkStructureType sType - const void* pNext - VkRasterizationOrderAMD rasterizationOrder + const void* pNext + VkRasterizationOrderAMD rasterizationOrderRasterization order to use for the pipeline VkStructureType sType - const void* pNext - VkDebugReportObjectTypeEXT objectType - uint64_t object - const char* pObjectName + const void* pNext + VkDebugReportObjectTypeEXT objectTypeThe type of the object + uint64_t objectThe handle of the object, cast to uint64_t + const char* pObjectNameName to apply to the object VkStructureType sType - const void* pNext - VkDebugReportObjectTypeEXT objectType - uint64_t object - uint64_t tagName - size_t tagSize - const void* pTag + const void* pNext + VkDebugReportObjectTypeEXT objectTypeThe type of the object + uint64_t objectThe handle of the object, cast to uint64_t + uint64_t tagNameThe name of the tag to set on the object + size_t tagSizeThe length in bytes of the tag data + const void* pTagTag data to attach to the object VkStructureType sType - const void* pNext - const char* pMarkerName - float color[4] + const void* pNext + const char* pMarkerNameName of the debug marker + float color[4]Optional color for debug marker - + VkStructureType sType - const void* pNext - VkBool32 dedicatedAllocation + const void* pNext + VkBool32 dedicatedAllocationWhether this image uses a dedicated allocation - + VkStructureType sType - const void* pNext - VkBool32 dedicatedAllocation + const void* pNext + VkBool32 dedicatedAllocationWhether this buffer uses a dedicated allocation - + VkStructureType sType - const void* pNext - VkImage image - VkBuffer buffer + const void* pNext + VkImage imageImage that this allocation will be bound to + VkBuffer bufferBuffer that this allocation will be bound to VkImageFormatProperties imageFormatProperties @@ -1643,29 +1647,29 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes - + VkStructureType sType const void* pNext VkExternalMemoryHandleTypeFlagsNV handleTypes - + VkStructureType sType const void* pNext VkExternalMemoryHandleTypeFlagsNV handleTypes - + VkStructureType sType const void* pNext VkExternalMemoryHandleTypeFlagsNV handleType HANDLE handle - + VkStructureType sType const void* pNext const SECURITY_ATTRIBUTES* pAttributes DWORD dwAccess - + VkStructureType sType const void* pNext uint32_t acquireCount @@ -1692,14 +1696,14 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkIndirectCommandsTokenTypeNVX tokenType - VkBuffer buffer - VkDeviceSize offset + VkBuffer bufferbuffer containing tableEntries and additional data for indirectCommands + VkDeviceSize offsetoffset from the base address of the buffer VkIndirectCommandsTokenTypeNVX tokenType - uint32_t bindingUnit - uint32_t dynamicCount - uint32_t divisor + uint32_t bindingUnitBinding unit for vertex attribute / descriptor set, offset for pushconstants + uint32_t dynamicCountNumber of variable dynamic values for descriptor set / push constants + uint32_t divisorRate the which the array is advanced per element (must be power of 2, minimum 1) VkStructureType sType @@ -1776,29 +1780,29 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkPipelineLayout pipelineLayout VkShaderStageFlags stageFlags - + VkStructureType sType - void* pNext + void* pNext VkPhysicalDeviceFeatures features VkStructureType sType - void* pNext + void* pNext VkPhysicalDeviceProperties properties VkStructureType sType - void* pNext + void* pNext VkFormatProperties formatProperties VkStructureType sType - void* pNext + void* pNext VkImageFormatProperties imageFormatProperties VkStructureType sType - const void* pNext + const void* pNext VkFormat format VkImageType type VkImageTiling tiling @@ -1807,51 +1811,51 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkStructureType sType - void* pNext + void* pNext VkQueueFamilyProperties queueFamilyProperties VkStructureType sType - void* pNext + void* pNext VkPhysicalDeviceMemoryProperties memoryProperties VkStructureType sType - void* pNext + void* pNext VkSparseImageFormatProperties properties VkStructureType sType - const void* pNext + const void* pNext VkFormat format VkImageType type VkSampleCountFlagBits samples VkImageUsageFlags usage VkImageTiling tiling - + VkStructureType sType - void* pNext + void* pNext uint32_t maxPushDescriptors - + VkStructureType sType - const void* pNext - uint32_t swapchainCount - const VkPresentRegionKHR* pRegions + const void* pNext + uint32_t swapchainCountCopy of VkPresentInfoKHR::swapchainCount + const VkPresentRegionKHR* pRegionsThe regions that have changed - uint32_t rectangleCount - const VkRectLayerKHR* pRectangles + uint32_t rectangleCountNumber of rectangles in pRectangles + const VkRectLayerKHR* pRectanglesArray of rectangles that have changed in a swapchain's image(s) - VkOffset2D offset - VkExtent2D extent - uint32_t layer + VkOffset2D offsetupper-left corner of a rectangle that has not changed, in pixels of a presentation images + VkExtent2D extentDimensions of a rectangle that has not changed, in pixels of a presentation images + uint32_t layerLayer of a swapchain's image(s), for stereoscopic-3D images - + VkStructureType sType - void* pNext + void* pNext VkBool32 variablePointersStorageBuffer VkBool32 variablePointers @@ -1860,97 +1864,97 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkExternalMemoryHandleTypeFlagsKHR exportFromImportedHandleTypes VkExternalMemoryHandleTypeFlagsKHR compatibleHandleTypes - + VkStructureType sType - const void* pNext + const void* pNext VkExternalMemoryHandleTypeFlagBitsKHR handleType - + VkStructureType sType - void* pNext + void* pNext VkExternalMemoryPropertiesKHR externalMemoryProperties VkStructureType sType - const void* pNext + const void* pNext VkBufferCreateFlags flags VkBufferUsageFlags usage VkExternalMemoryHandleTypeFlagBitsKHR handleType VkStructureType sType - void* pNext + void* pNext VkExternalMemoryPropertiesKHR externalMemoryProperties - + VkStructureType sType - void* pNext + void* pNext uint8_t deviceUUID[VK_UUID_SIZE] uint8_t driverUUID[VK_UUID_SIZE] uint8_t deviceLUID[VK_LUID_SIZE_KHR] uint32_t deviceNodeMask VkBool32 deviceLUIDValid - + VkStructureType sType - const void* pNext + const void* pNext VkExternalMemoryHandleTypeFlagsKHR handleTypes - + VkStructureType sType - const void* pNext + const void* pNext VkExternalMemoryHandleTypeFlagsKHR handleTypes - + VkStructureType sType - const void* pNext + const void* pNext VkExternalMemoryHandleTypeFlagsKHR handleTypes - + VkStructureType sType - const void* pNext + const void* pNext VkExternalMemoryHandleTypeFlagBitsKHR handleType HANDLE handle LPCWSTR name - + VkStructureType sType - const void* pNext + const void* pNext const SECURITY_ATTRIBUTES* pAttributes DWORD dwAccess LPCWSTR name VkStructureType sType - void* pNext + void* pNext uint32_t memoryTypeBits VkStructureType sType - const void* pNext + const void* pNext VkDeviceMemory memory VkExternalMemoryHandleTypeFlagBitsKHR handleType - + VkStructureType sType - const void* pNext + const void* pNext VkExternalMemoryHandleTypeFlagBitsKHR handleType int fd VkStructureType sType - void* pNext + void* pNext uint32_t memoryTypeBits VkStructureType sType - const void* pNext + const void* pNext VkDeviceMemory memory VkExternalMemoryHandleTypeFlagBitsKHR handleType - + VkStructureType sType - const void* pNext + const void* pNext uint32_t acquireCount const VkDeviceMemory* pAcquireSyncs const uint64_t* pAcquireKeys @@ -1961,40 +1965,40 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkStructureType sType - const void* pNext + const void* pNext VkExternalSemaphoreHandleTypeFlagBitsKHR handleType VkStructureType sType - void* pNext + void* pNext VkExternalSemaphoreHandleTypeFlagsKHR exportFromImportedHandleTypes VkExternalSemaphoreHandleTypeFlagsKHR compatibleHandleTypes VkExternalSemaphoreFeatureFlagsKHR externalSemaphoreFeatures - + VkStructureType sType - const void* pNext + const void* pNext VkExternalSemaphoreHandleTypeFlagsKHR handleTypes VkStructureType sType - const void* pNext + const void* pNext VkSemaphore semaphore VkSemaphoreImportFlagsKHR flags VkExternalSemaphoreHandleTypeFlagBitsKHR handleType HANDLE handle LPCWSTR name - + VkStructureType sType - const void* pNext + const void* pNext const SECURITY_ATTRIBUTES* pAttributes DWORD dwAccess LPCWSTR name - + VkStructureType sType - const void* pNext + const void* pNext uint32_t waitSemaphoreValuesCount const uint64_t* pWaitSemaphoreValues uint32_t signalSemaphoreValuesCount @@ -2002,13 +2006,13 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkStructureType sType - const void* pNext + const void* pNext VkSemaphore semaphore VkExternalSemaphoreHandleTypeFlagBitsKHR handleType VkStructureType sType - const void* pNext + const void* pNext VkSemaphore semaphore VkSemaphoreImportFlagsKHR flags VkExternalSemaphoreHandleTypeFlagBitsKHR handleType @@ -2016,52 +2020,52 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkStructureType sType - const void* pNext + const void* pNext VkSemaphore semaphore VkExternalSemaphoreHandleTypeFlagBitsKHR handleType VkStructureType sType - const void* pNext + const void* pNext VkExternalFenceHandleTypeFlagBitsKHR handleType VkStructureType sType - void* pNext + void* pNext VkExternalFenceHandleTypeFlagsKHR exportFromImportedHandleTypes VkExternalFenceHandleTypeFlagsKHR compatibleHandleTypes VkExternalFenceFeatureFlagsKHR externalFenceFeatures - + VkStructureType sType - const void* pNext + const void* pNext VkExternalFenceHandleTypeFlagsKHR handleTypes VkStructureType sType - const void* pNext + const void* pNext VkFence fence VkFenceImportFlagsKHR flags VkExternalFenceHandleTypeFlagBitsKHR handleType HANDLE handle LPCWSTR name - + VkStructureType sType - const void* pNext + const void* pNext const SECURITY_ATTRIBUTES* pAttributes DWORD dwAccess LPCWSTR name VkStructureType sType - const void* pNext + const void* pNext VkFence fence VkExternalFenceHandleTypeFlagBitsKHR handleType VkStructureType sType - const void* pNext + const void* pNext VkFence fence VkFenceImportFlagsKHR flags VkExternalFenceHandleTypeFlagBitsKHR handleType @@ -2069,26 +2073,26 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkStructureType sType - const void* pNext + const void* pNext VkFence fence VkExternalFenceHandleTypeFlagBitsKHR handleType - + VkStructureType sType - void* pNext - VkBool32 multiview - VkBool32 multiviewGeometryShader - VkBool32 multiviewTessellationShader + void* pNext + VkBool32 multiviewMultiple views in a renderpass + VkBool32 multiviewGeometryShaderMultiple views in a renderpass w/ geometry shader + VkBool32 multiviewTessellationShaderMultiple views in a renderpass w/ tessellation shader - + VkStructureType sType - void* pNext - uint32_t maxMultiviewViewCount - uint32_t maxMultiviewInstanceIndex + void* pNext + uint32_t maxMultiviewViewCountmax number of views in a subpass + uint32_t maxMultiviewInstanceIndexmax instance index for a draw in a multiview subpass - + VkStructureType sType - const void* pNext + const void* pNext uint32_t subpassCount const uint32_t* pViewMasks uint32_t dependencyCount @@ -2099,16 +2103,16 @@ private version is maintained in the 1.0 branch of the member gitlab server. 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 + uint32_t minImageCountSupported minimum number of images for the surface + uint32_t maxImageCountSupported maximum number of images for the surface, 0 for unlimited + VkExtent2D currentExtentCurrent image width and height for the surface, (0, 0) if undefined + VkExtent2D minImageExtentSupported minimum image width and height for the surface + VkExtent2D maxImageExtentSupported maximum image width and height for the surface + uint32_t maxImageArrayLayersSupported maximum number of image layers for the surface + VkSurfaceTransformFlagsKHR supportedTransforms1 or more bits representing the transforms supported + VkSurfaceTransformFlagBitsKHR currentTransformThe surface's current transform relative to the device's natural orientation + VkCompositeAlphaFlagsKHR supportedCompositeAlpha1 or more bits representing the alpha compositing modes supported + VkImageUsageFlags supportedUsageFlagsSupported image usage flags for the surface VkSurfaceCounterFlagsEXT supportedSurfaceCounters @@ -2126,27 +2130,27 @@ private version is maintained in the 1.0 branch of the member gitlab server. const void* pNext VkDisplayEventTypeEXT displayEvent - + VkStructureType sType const void* pNext VkSurfaceCounterFlagsEXT surfaceCounters VkStructureType sType - void* pNext + void* pNext uint32_t physicalDeviceCount VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE_KHX] VkBool32 subsetAllocation - + VkStructureType sType - const void* pNext + const void* pNext VkMemoryAllocateFlagsKHX flags uint32_t deviceMask VkStructureType sType - const void* pNext + const void* pNext VkBuffer buffer VkDeviceMemory memory VkDeviceSize memoryOffset @@ -2155,7 +2159,7 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkStructureType sType - const void* pNext + const void* pNext VkImage image VkDeviceMemory memory VkDeviceSize memoryOffset @@ -2164,21 +2168,21 @@ private version is maintained in the 1.0 branch of the member gitlab server. uint32_t SFRRectCount const VkRect2D* pSFRRects - + VkStructureType sType - const void* pNext + const void* pNext uint32_t deviceMask uint32_t deviceRenderAreaCount const VkRect2D* pDeviceRenderAreas - + VkStructureType sType - const void* pNext + const void* pNext uint32_t deviceMask - + VkStructureType sType - const void* pNext + const void* pNext uint32_t waitSemaphoreCount const uint32_t* pWaitSemaphoreDeviceIndices uint32_t commandBufferCount @@ -2186,135 +2190,134 @@ private version is maintained in the 1.0 branch of the member gitlab server. uint32_t signalSemaphoreCount const uint32_t* pSignalSemaphoreDeviceIndices - + VkStructureType sType - const void* pNext + const void* pNext uint32_t resourceDeviceIndex uint32_t memoryDeviceIndex VkStructureType sType - const void* pNext + const void* pNext uint32_t presentMask[VK_MAX_DEVICE_GROUP_SIZE_KHX] VkDeviceGroupPresentModeFlagsKHX modes - + VkStructureType sType - const void* pNext + const void* pNext VkSwapchainKHR swapchain - + VkStructureType sType - const void* pNext + const void* pNext VkSwapchainKHR swapchain uint32_t imageIndex VkStructureType sType - const void* pNext + const void* pNext VkSwapchainKHR swapchain uint64_t timeout VkSemaphore semaphore VkFence fence uint32_t deviceMask - + VkStructureType sType - const void* pNext + const void* pNext uint32_t swapchainCount const uint32_t* pDeviceMasks VkDeviceGroupPresentModeFlagBitsKHX mode - + VkStructureType sType - const void* pNext + const void* pNext uint32_t physicalDeviceCount const VkPhysicalDevice* pPhysicalDevices - + VkStructureType sType - const void* pNext + const void* pNext VkDeviceGroupPresentModeFlagsKHX modes - uint32_t dstBinding - uint32_t dstArrayElement - uint32_t descriptorCount - VkDescriptorType descriptorType - size_t offset - size_t stride + uint32_t dstBindingBinding within the destination descriptor set to write + uint32_t dstArrayElementArray element within the destination binding to write + uint32_t descriptorCountNumber of descriptors to write + VkDescriptorType descriptorTypeDescriptor type to write + size_t offsetOffset into pData where the descriptors to update are stored + size_t strideStride between two descriptors in pData when writing more than one descriptor VkStructureType sType - void* pNext - VkDescriptorUpdateTemplateCreateFlagsKHR flags - uint32_t descriptorUpdateEntryCount - const VkDescriptorUpdateTemplateEntryKHR* pDescriptorUpdateEntries + void* pNext + VkDescriptorUpdateTemplateCreateFlagsKHR flags + uint32_t descriptorUpdateEntryCountNumber of descriptor update entries to use for the update template + const VkDescriptorUpdateTemplateEntryKHR* pDescriptorUpdateEntriesDescriptor update entries for the template VkDescriptorUpdateTemplateTypeKHR templateType VkDescriptorSetLayout descriptorSetLayout VkPipelineBindPoint pipelineBindPoint - VkPipelineLayoutpipelineLayout + VkPipelineLayoutpipelineLayoutIf used for push descriptors, this is the only allowed layout uint32_t set - - + float x float y - + Display primary in chromaticity coordinates VkStructureType sType const void* pNext - - VkXYColorEXT displayPrimaryRed - VkXYColorEXT displayPrimaryGreen - VkXYColorEXT displayPrimaryBlue - VkXYColorEXT whitePoint - float maxLuminance - float minLuminance - - float maxContentLightLevel + From SMPTE 2086 + VkXYColorEXT displayPrimaryRedDisplay primary's Red + VkXYColorEXT displayPrimaryGreenDisplay primary's Green + VkXYColorEXT displayPrimaryBlueDisplay primary's Blue + VkXYColorEXT whitePointDisplay primary's Blue + float maxLuminanceDisplay maximum luminance + float minLuminanceDisplay minimum luminance + From CTA 861.3 + float maxContentLightLevelContent maximum luminance float maxFrameAverageLightLevel - uint64_t refreshDuration + uint64_t refreshDurationNumber of nanoseconds from the start of one refresh cycle to the next - uint32_t presentID - uint64_t desiredPresentTime - uint64_t actualPresentTime - uint64_t earliestPresentTime - uint64_t presentMargin + uint32_t presentIDApplication-provided identifier, previously given to vkQueuePresentKHR + uint64_t desiredPresentTimeEarliest time an image should have been presented, previously given to vkQueuePresentKHR + uint64_t actualPresentTimeTime the image was actually displayed + uint64_t earliestPresentTimeEarliest time the image could have been displayed + uint64_t presentMarginHow early vkQueuePresentKHR was processed vs. how soon it needed to be and make earliestPresentTime - + VkStructureType sType - const void* pNext - uint32_t swapchainCount - const VkPresentTimeGOOGLE* pTimes + const void* pNext + uint32_t swapchainCountCopy of VkPresentInfoKHR::swapchainCount + const VkPresentTimeGOOGLE* pTimesThe earliest times to present images - uint32_t presentID - uint64_t desiredPresentTime + uint32_t presentIDApplication-provided identifier + uint64_t desiredPresentTimeEarliest time an image should be presented VkStructureType sType - const void* pNext - VkIOSSurfaceCreateFlagsMVK flags + const void* pNext + VkIOSSurfaceCreateFlagsMVK flags const void* pView VkStructureType sType - const void* pNext - VkMacOSSurfaceCreateFlagsMVK flags + const void* pNext + VkMacOSSurfaceCreateFlagsMVK flags const void* pView float xcoeff float ycoeff - + VkStructureType sType - const void* pNext + const void* pNext VkBool32 viewportWScalingEnable uint32_t viewportCount const VkViewportWScalingNV* pViewportWScalings @@ -2325,29 +2328,29 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkViewportCoordinateSwizzleNV z VkViewportCoordinateSwizzleNV w - + VkStructureType sType - const void* pNext - VkPipelineViewportSwizzleStateCreateFlagsNV flags + const void* pNext + VkPipelineViewportSwizzleStateCreateFlagsNV flags uint32_t viewportCount const VkViewportSwizzleNV* pViewportSwizzles - + VkStructureType sType - void* pNext - uint32_t maxDiscardRectangles + void* pNext + uint32_t maxDiscardRectanglesmax number of active discard rectangles - + VkStructureType sType - const void* pNext - VkPipelineDiscardRectangleStateCreateFlagsEXT flags + const void* pNext + VkPipelineDiscardRectangleStateCreateFlagsEXT flags VkDiscardRectangleModeEXT discardRectangleMode uint32_t discardRectangleCount const VkRect2D* pDiscardRectangles - + VkStructureType sType - void* pNext + void* pNext VkBool32 perViewPositionAllComponents @@ -2357,7 +2360,7 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkStructureType sType - void* pNext + void* pNext VkSurfaceCapabilitiesKHR surfaceCapabilities @@ -2365,87 +2368,87 @@ private version is maintained in the 1.0 branch of the member gitlab server. void* pNext VkSurfaceFormatKHR surfaceFormat - + VkStructureType sType - void* pNext - VkImageUsageFlags sharedPresentSupportedUsageFlags + void* pNext + VkImageUsageFlags sharedPresentSupportedUsageFlagsSupported image usage flags if swapchain created using a shared present mode - + VkStructureType sType - void* pNext - VkBool32 storageBuffer16BitAccess - VkBool32 uniformAndStorageBuffer16BitAccess - VkBool32 storagePushConstant16 - VkBool32 storageInputOutput16 + void* pNext + VkBool32 storageBuffer16BitAccess16-bit integer/floating-point variables supported in BufferBlock + VkBool32 uniformAndStorageBuffer16BitAccess16-bit integer/floating-point variables supported in BufferBlock and Block + VkBool32 storagePushConstant1616-bit integer/floating-point variables supported in PushConstant + VkBool32 storageInputOutput1616-bit integer/floating-point variables supported in shader inputs and outputs VkStructureType sType - const void* pNext + const void* pNext VkBuffer buffer VkStructureType sType - const void* pNext + const void* pNext VkImage image VkStructureType sType - const void* pNext + const void* pNext VkImage image VkStructureType sType - void* pNext + void* pNext VkMemoryRequirements memoryRequirements VkStructureType sType - void* pNext + void* pNext VkSparseImageMemoryRequirements memoryRequirements - + VkStructureType sType - void* pNext + void* pNext VkBool32 prefersDedicatedAllocation VkBool32 requiresDedicatedAllocation - + VkStructureType sType - const void* pNext - VkImage image - VkBuffer buffer + const void* pNext + VkImage imageImage that this allocation will be bound to + VkBuffer bufferBuffer that this allocation will be bound to - + VkStructureType sType - void* pNext + void* pNext VkBool32 supportsTextureGatherLODBiasAMD - + VkStructureType sType - const void* pNext - VkPipelineCoverageToColorStateCreateFlagsNV flags + const void* pNext + VkPipelineCoverageToColorStateCreateFlagsNV flags VkBool32 coverageToColorEnable uint32_t coverageToColorLocation - + VkStructureType sType - void* pNext + void* pNext VkBool32 filterMinmaxSingleComponentFormats VkBool32 filterMinmaxImageComponentMapping - + VkStructureType sType - const void* pNext + const void* pNext VkSamplerReductionModeEXT reductionMode - + VkStructureType sType - void* pNext + void* pNext VkBool32 advancedBlendCoherentOperations - + VkStructureType sType - void* pNext + void* pNext uint32_t advancedBlendMaxColorAttachments VkBool32 advancedBlendIndependentBlend VkBool32 advancedBlendNonPremultipliedSrcColor @@ -2453,17 +2456,17 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkBool32 advancedBlendCorrelatedOverlap VkBool32 advancedBlendAllOperations - + VkStructureType sType - const void* pNext + const void* pNext VkBool32 srcPremultiplied VkBool32 dstPremultiplied VkBlendOverlapEXT blendOverlap - + VkStructureType sType - const void* pNext - VkPipelineCoverageModulationStateCreateFlagsNV flags + const void* pNext + VkPipelineCoverageModulationStateCreateFlagsNV flags VkCoverageModulationModeNV coverageModulationMode VkBool32 coverageModulationTableEnable uint32_t coverageModulationTableCount @@ -2471,17 +2474,16 @@ private version is maintained in the 1.0 branch of the member gitlab server. - + Vulkan enumerant (token) definitions - - + - + @@ -2495,12 +2497,14 @@ private version is maintained in the 1.0 branch of the member gitlab server. - + + Unlike OpenGL, most tokens in Vulkan are actual typed enumerants in + their own numeric namespaces. The "name" attribute is the C enum + type name, and is pulled in from a type tag definition above + (slightly clunky, but retains the type / enum distinction). "type" + attributes of "enum" or "bitmask" indicate that these values should + be generated inside an appropriate definition. + @@ -2620,7 +2624,11 @@ private version is maintained in the 1.0 branch of the member gitlab server. - + + value="4" reserved for VK_KHR_sampler_mirror_clamp_to_edge + enum VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE; do not + alias! + @@ -2959,22 +2967,22 @@ private version is maintained in the 1.0 branch of the member gitlab server. - - + + - - + + Return codes (positive values) - + Error codes (negative values) @@ -3033,7 +3041,7 @@ private version is maintained in the 1.0 branch of the member gitlab server. - + Flags @@ -3234,7 +3242,8 @@ private version is maintained in the 1.0 branch of the member gitlab server. - + + WSI Extensions @@ -3310,8 +3319,8 @@ private version is maintained in the 1.0 branch of the member gitlab server. - - + + @@ -3327,27 +3336,27 @@ private version is maintained in the 1.0 branch of the member gitlab server. - + Placeholder for validation enums to be defined for VK_EXT_Validation_flags extension - - - - + + + + - - - - - - - - + + + + + + + + @@ -3463,8 +3472,7 @@ private version is maintained in the 1.0 branch of the member gitlab server. - - + VkResult vkCreateInstance const VkInstanceCreateInfo* pCreateInfo @@ -4641,17 +4649,17 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkResult vkDebugMarkerSetObjectNameEXT VkDevice device - VkDebugMarkerObjectNameInfoEXT* pNameInfo + const VkDebugMarkerObjectNameInfoEXT* pNameInfo VkResult vkDebugMarkerSetObjectTagEXT VkDevice device - VkDebugMarkerObjectTagInfoEXT* pTagInfo + const VkDebugMarkerObjectTagInfoEXT* pTagInfo void vkCmdDebugMarkerBeginEXT VkCommandBuffer commandBuffer - VkDebugMarkerMarkerInfoEXT* pMarkerInfo + const VkDebugMarkerMarkerInfoEXT* pMarkerInfo void vkCmdDebugMarkerEndEXT @@ -4660,7 +4668,7 @@ private version is maintained in the 1.0 branch of the member gitlab server. void vkCmdDebugMarkerInsertEXT VkCommandBuffer commandBuffer - VkDebugMarkerMarkerInfoEXT* pMarkerInfo + const VkDebugMarkerMarkerInfoEXT* pMarkerInfo VkResult vkGetPhysicalDeviceExternalImageFormatPropertiesNV @@ -5049,8 +5057,8 @@ private version is maintained in the 1.0 branch of the member gitlab server. void vkSetHdrMetadataEXT VkDevice device - uint32_t swapchainCount - const VkSwapchainKHR* pSwapchains + uint32_t swapchainCount + const VkSwapchainKHR* pSwapchains const VkHdrMetadataEXT* pMetadata @@ -5133,8 +5141,7 @@ private version is maintained in the 1.0 branch of the member gitlab server. - - + @@ -5348,11 +5355,7 @@ private version is maintained in the 1.0 branch of the member gitlab server. - - + @@ -5363,9 +5366,7 @@ private version is maintained in the 1.0 branch of the member gitlab server. - - - + @@ -5529,13 +5530,13 @@ private version is maintained in the 1.0 branch of the member gitlab server. - + - - - + + + @@ -6419,7 +6420,7 @@ private version is maintained in the 1.0 branch of the member gitlab server. - + @@ -6434,6 +6435,7 @@ private version is maintained in the 1.0 branch of the member gitlab server. + @@ -6689,10 +6691,10 @@ private version is maintained in the 1.0 branch of the member gitlab server. - + - - + + @@ -6737,10 +6739,10 @@ private version is maintained in the 1.0 branch of the member gitlab server. - + - - + + @@ -6878,10 +6880,10 @@ private version is maintained in the 1.0 branch of the member gitlab server. - + - - + + @@ -6908,5 +6910,17 @@ private version is maintained in the 1.0 branch of the member gitlab server. + + + + + + + + + + + +