Module: Mesa Branch: main Commit: c421ecea56e3587d197fd860952eaad72f52e202 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c421ecea56e3587d197fd860952eaad72f52e202
Author: Caio Oliveira <[email protected]> Date: Fri Jun 23 10:59:54 2023 -0700 vulkan: Update XML and headers to 1.3.255 Acked-by: Ivan Briano <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23837> --- include/vulkan/vulkan_core.h | 68 +++++++++++++++++++++++++++++++++++++- src/vulkan/registry/vk.xml | 78 ++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 139 insertions(+), 7 deletions(-) diff --git a/include/vulkan/vulkan_core.h b/include/vulkan/vulkan_core.h index 79626cd17b5..6fed7cf52ac 100644 --- a/include/vulkan/vulkan_core.h +++ b/include/vulkan/vulkan_core.h @@ -68,7 +68,7 @@ extern "C" { #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 254 +#define VK_HEADER_VERSION 255 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) @@ -1068,6 +1068,9 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM = 1000497001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT = 1000498000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT = 1000499000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR = 1000506000, + VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_KHR = 1000506001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR = 1000506002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM = 1000510000, VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM = 1000510001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT = 1000524000, @@ -10303,6 +10306,69 @@ typedef struct VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR { +#define VK_KHR_cooperative_matrix 1 +#define VK_KHR_COOPERATIVE_MATRIX_SPEC_VERSION 2 +#define VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_KHR_cooperative_matrix" + +typedef enum VkComponentTypeKHR { + VK_COMPONENT_TYPE_FLOAT16_KHR = 0, + VK_COMPONENT_TYPE_FLOAT32_KHR = 1, + VK_COMPONENT_TYPE_FLOAT64_KHR = 2, + VK_COMPONENT_TYPE_SINT8_KHR = 3, + VK_COMPONENT_TYPE_SINT16_KHR = 4, + VK_COMPONENT_TYPE_SINT32_KHR = 5, + VK_COMPONENT_TYPE_SINT64_KHR = 6, + VK_COMPONENT_TYPE_UINT8_KHR = 7, + VK_COMPONENT_TYPE_UINT16_KHR = 8, + VK_COMPONENT_TYPE_UINT32_KHR = 9, + VK_COMPONENT_TYPE_UINT64_KHR = 10, + VK_COMPONENT_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF +} VkComponentTypeKHR; + +typedef enum VkScopeKHR { + VK_SCOPE_DEVICE_KHR = 1, + VK_SCOPE_WORKGROUP_KHR = 2, + VK_SCOPE_SUBGROUP_KHR = 3, + VK_SCOPE_QUEUE_FAMILY_KHR = 5, + VK_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF +} VkScopeKHR; +typedef struct VkCooperativeMatrixPropertiesKHR { + VkStructureType sType; + void* pNext; + uint32_t MSize; + uint32_t NSize; + uint32_t KSize; + VkComponentTypeKHR AType; + VkComponentTypeKHR BType; + VkComponentTypeKHR CType; + VkComponentTypeKHR ResultType; + VkBool32 saturatingAccumulation; + VkScopeKHR scope; +} VkCooperativeMatrixPropertiesKHR; + +typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesKHR { + VkStructureType sType; + void* pNext; + VkBool32 cooperativeMatrix; + VkBool32 cooperativeMatrixRobustBufferAccess; +} VkPhysicalDeviceCooperativeMatrixFeaturesKHR; + +typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesKHR { + VkStructureType sType; + void* pNext; + VkShaderStageFlags cooperativeMatrixSupportedStages; +} VkPhysicalDeviceCooperativeMatrixPropertiesKHR; + +typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesKHR* pProperties); + +#ifndef VK_NO_PROTOTYPES +VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( + VkPhysicalDevice physicalDevice, + uint32_t* pPropertyCount, + VkCooperativeMatrixPropertiesKHR* pProperties); +#endif + + #define VK_EXT_debug_report 1 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT) #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 10 diff --git a/src/vulkan/registry/vk.xml b/src/vulkan/registry/vk.xml index 0c4bb61609f..1ebb5bbd6d5 100644 --- a/src/vulkan/registry/vk.xml +++ b/src/vulkan/registry/vk.xml @@ -175,7 +175,7 @@ branch of the member gitlab server. #define <name>VKSC_API_VERSION_1_0</name> <type>VK_MAKE_API_VERSION</type>(VKSC_API_VARIANT, 1, 0, 0)// Patch version should always be set to 0</type> <type api="vulkan" category="define">// Version of this file -#define <name>VK_HEADER_VERSION</name> 254</type> +#define <name>VK_HEADER_VERSION</name> 255</type> <type api="vulkan" category="define" requires="VK_HEADER_VERSION">// Complete version of this file #define <name>VK_HEADER_VERSION_COMPLETE</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 3, VK_HEADER_VERSION)</type> <type api="vulkansc" category="define">// Version of this file @@ -779,6 +779,8 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkDisplacementMicromapFormatNV" category="enum"/> <type name="VkShaderCreateFlagBitsEXT" category="enum"/> <type name="VkShaderCodeTypeEXT" category="enum"/> + <type name="VkScopeKHR" category="enum"/> + <type name="VkComponentTypeKHR" category="enum"/> <comment>WSI extensions</comment> <type name="VkColorSpaceKHR" category="enum"/> @@ -8362,6 +8364,30 @@ typedef void* <name>MTLSharedEvent_id</name>; <member optional="true"><type>void</type>* <name>pNext</name></member> <member><type>VkBool32</type> <name>screenBufferImport</name></member> </type> + <type category="struct" name="VkPhysicalDeviceCooperativeMatrixFeaturesKHR" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> + <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true"><type>void</type>* <name>pNext</name></member> + <member><type>VkBool32</type> <name>cooperativeMatrix</name></member> + <member><type>VkBool32</type> <name>cooperativeMatrixRobustBufferAccess</name></member> + </type> + <type category="struct" name="VkCooperativeMatrixPropertiesKHR"> + <member values="VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_KHR"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true"><type>void</type>* <name>pNext</name></member> + <member><type>uint32_t</type> <name>MSize</name></member> + <member><type>uint32_t</type> <name>NSize</name></member> + <member><type>uint32_t</type> <name>KSize</name></member> + <member><type>VkComponentTypeKHR</type> <name>AType</name></member> + <member><type>VkComponentTypeKHR</type> <name>BType</name></member> + <member><type>VkComponentTypeKHR</type> <name>CType</name></member> + <member><type>VkComponentTypeKHR</type> <name>ResultType</name></member> + <member><type>VkBool32</type> <name>saturatingAccumulation</name></member> + <member><type>VkScopeKHR</type> <name>scope</name></member> + </type> + <type category="struct" name="VkPhysicalDeviceCooperativeMatrixPropertiesKHR" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> + <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true"><type>void</type>* <name>pNext</name></member> + <member limittype="bitmask"><type>VkShaderStageFlags</type> <name>cooperativeMatrixSupportedStages</name></member> + </type> </types> @@ -10416,6 +10442,25 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value="0" name="VK_SHADER_CODE_TYPE_BINARY_EXT"/> <enum value="1" name="VK_SHADER_CODE_TYPE_SPIRV_EXT"/> </enums> + <enums name="VkScopeKHR" type="enum"> + <enum value="1" name="VK_SCOPE_DEVICE_KHR"/> + <enum value="2" name="VK_SCOPE_WORKGROUP_KHR"/> + <enum value="3" name="VK_SCOPE_SUBGROUP_KHR"/> + <enum value="5" name="VK_SCOPE_QUEUE_FAMILY_KHR"/> + </enums> + <enums name="VkComponentTypeKHR" type="enum"> + <enum value="0" name="VK_COMPONENT_TYPE_FLOAT16_KHR"/> + <enum value="1" name="VK_COMPONENT_TYPE_FLOAT32_KHR"/> + <enum value="2" name="VK_COMPONENT_TYPE_FLOAT64_KHR"/> + <enum value="3" name="VK_COMPONENT_TYPE_SINT8_KHR"/> + <enum value="4" name="VK_COMPONENT_TYPE_SINT16_KHR"/> + <enum value="5" name="VK_COMPONENT_TYPE_SINT32_KHR"/> + <enum value="6" name="VK_COMPONENT_TYPE_SINT64_KHR"/> + <enum value="7" name="VK_COMPONENT_TYPE_UINT8_KHR"/> + <enum value="8" name="VK_COMPONENT_TYPE_UINT16_KHR"/> + <enum value="9" name="VK_COMPONENT_TYPE_UINT32_KHR"/> + <enum value="10" name="VK_COMPONENT_TYPE_UINT64_KHR"/> + </enums> <commands comment="Vulkan command definitions"> <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_INITIALIZATION_FAILED,VK_ERROR_LAYER_NOT_PRESENT,VK_ERROR_EXTENSION_NOT_PRESENT,VK_ERROR_INCOMPATIBLE_DRIVER"> @@ -14319,6 +14364,12 @@ typedef void* <name>MTLSharedEvent_id</name>; <param>const struct <type>_screen_buffer</type>* <name>buffer</name></param> <param><type>VkScreenBufferPropertiesQNX</type>* <name>pProperties</name></param> </command> + <command successcodes="VK_SUCCESS,VK_INCOMPLETE" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY"> + <proto><type>VkResult</type> <name>vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR</name></proto> + <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param> + <param optional="false,true"><type>uint32_t</type>* <name>pPropertyCount</name></param> + <param optional="true" len="pPropertyCount"><type>VkCooperativeMatrixPropertiesKHR</type>* <name>pProperties</name></param> + </command> </commands> <feature api="vulkan,vulkansc" name="VK_VERSION_1_0" number="1.0" comment="Vulkan core API interface definitions"> @@ -22293,10 +22344,19 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_NV_extension_506"" name="VK_NV_EXTENSION_506_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_KHR_extension_507" number="507" author="KHR" contact="Kevin Petit @kevinpetit" type="device" supported="disabled"> + <extension name="VK_KHR_cooperative_matrix" number="507" type="device" depends="VK_KHR_get_physical_device_properties2" author="KHR" contact="Kevin Petit @kevinpetit" supported="vulkan" ratified="vulkan"> <require> - <enum value="0" name="VK_KHR_EXTENSION_507_SPEC_VERSION"/> - <enum value=""VK_KHR_extension_507"" name="VK_KHR_EXTENSION_507_EXTENSION_NAME"/> + <enum value="2" name="VK_KHR_COOPERATIVE_MATRIX_SPEC_VERSION"/> + <enum value=""VK_KHR_cooperative_matrix"" name="VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME"/> + <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR"/> + <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_KHR"/> + <enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR"/> + <type name="VkCooperativeMatrixPropertiesKHR"/> + <type name="VkScopeKHR"/> + <type name="VkComponentTypeKHR"/> + <type name="VkPhysicalDeviceCooperativeMatrixFeaturesKHR"/> + <type name="VkPhysicalDeviceCooperativeMatrixPropertiesKHR"/> + <command name="vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR"/> </require> </extension> <extension name="VK_EXT_extension_508" number="508" author="EXT" contact="Kevin Petit @kevinpetit" type="device" supported="disabled"> @@ -22578,8 +22638,8 @@ typedef void* <name>MTLSharedEvent_id</name>; </format> <format name="VK_FORMAT_B5G5R5A1_UNORM_PACK16" class="16-bit" blockSize="2" texelsPerBlock="1" packed="16"> <component name="B" bits="5" numericFormat="UNORM"/> - <component name="R" bits="5" numericFormat="UNORM"/> <component name="G" bits="5" numericFormat="UNORM"/> + <component name="R" bits="5" numericFormat="UNORM"/> <component name="A" bits="1" numericFormat="UNORM"/> </format> <format name="VK_FORMAT_A1R5G5B5_UNORM_PACK16" class="16-bit" blockSize="2" texelsPerBlock="1" packed="16"> @@ -23182,7 +23242,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <format name="VK_FORMAT_B10G11R11_UFLOAT_PACK32" class="32-bit" blockSize="4" texelsPerBlock="1" packed="32"> <component name="B" bits="10" numericFormat="UFLOAT"/> <component name="G" bits="11" numericFormat="UFLOAT"/> - <component name="R" bits="10" numericFormat="UFLOAT"/> + <component name="R" bits="11" numericFormat="UFLOAT"/> <spirvimageformat name="R11fG11fB10f"/> </format> <format name="VK_FORMAT_E5B9G9R9_UFLOAT_PACK32" class="32-bit" blockSize="4" texelsPerBlock="1" packed="32"> @@ -24140,6 +24200,9 @@ typedef void* <name>MTLSharedEvent_id</name>; <spirvextension name="SPV_EXT_opacity_micromap"> <enable extension="VK_EXT_opacity_micromap"/> </spirvextension> + <spirvextension name="SPV_KHR_cooperative_matrix"> + <enable extension="VK_KHR_cooperative_matrix"/> + </spirvextension> </spirvextensions> <spirvcapabilities comment="SPIR-V Capabilities allowed in Vulkan and what is required to use it"> <spirvcapability name="Matrix"> @@ -24626,6 +24689,9 @@ typedef void* <name>MTLSharedEvent_id</name>; <spirvcapability name="TileImageStencilReadAccessEXT"> <enable struct="VkPhysicalDeviceShaderTileImageFeaturesEXT" feature="shaderTileImageStencilReadAccess" requires="VK_EXT_shader_tile_image"/> </spirvcapability> + <spirvcapability name="CooperativeMatrixKHR"> + <enable struct="VkPhysicalDeviceCooperativeMatrixFeaturesKHR" feature="cooperativeMatrix" requires="VK_KHR_cooperative_matrix"/> + </spirvcapability> </spirvcapabilities> <sync comment="Machine readable representation of the synchronization objects and their mappings"> <syncstage name="VK_PIPELINE_STAGE_2_NONE" alias="VK_PIPELINE_STAGE_NONE">
