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="&quot;VK_NV_extension_506&quot;"               
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="&quot;VK_KHR_extension_507&quot;"              
name="VK_KHR_EXTENSION_507_EXTENSION_NAME"/>
+                <enum value="2"                                              
name="VK_KHR_COOPERATIVE_MATRIX_SPEC_VERSION"/>
+                <enum value="&quot;VK_KHR_cooperative_matrix&quot;"          
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">

Reply via email to