diff --git a/include/vulkan/vulkan.h b/include/vulkan/vulkan.h
index e1398c68bac..048866c444f 100644
--- a/include/vulkan/vulkan.h
+++ b/include/vulkan/vulkan.h
@@ -43,7 +43,7 @@ extern "C" {
#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
// Version of this file
-#define VK_HEADER_VERSION 63
+#define VK_HEADER_VERSION 64
#define VK_NULL_HANDLE 0
@@ -5194,7 +5194,7 @@ VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR(
#define VK_EXT_debug_report 1
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
-#define VK_EXT_DEBUG_REPORT_SPEC_VERSION 8
+#define VK_EXT_DEBUG_REPORT_SPEC_VERSION 9
#define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
#define VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT
#define VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT
@@ -5488,6 +5488,52 @@ typedef struct VkTextureLODGatherFormatPropertiesAMD {
+#define VK_AMD_shader_info 1
+#define VK_AMD_SHADER_INFO_SPEC_VERSION 1
+#define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info"
+
+
+typedef enum VkShaderInfoTypeAMD {
+ VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0,
+ VK_SHADER_INFO_TYPE_BINARY_AMD = 1,
+ VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2,
+ VK_SHADER_INFO_TYPE_BEGIN_RANGE_AMD = VK_SHADER_INFO_TYPE_STATISTICS_AMD,
+ VK_SHADER_INFO_TYPE_END_RANGE_AMD = VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD,
+ VK_SHADER_INFO_TYPE_RANGE_SIZE_AMD = (VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD - VK_SHADER_INFO_TYPE_STATISTICS_AMD + 1),
+ VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF
+} VkShaderInfoTypeAMD;
+
+typedef struct VkShaderResourceUsageAMD {
+ uint32_t numUsedVgprs;
+ uint32_t numUsedSgprs;
+ uint32_t ldsSizePerLocalWorkGroup;
+ size_t ldsUsageSizeInBytes;
+ size_t scratchMemUsageInBytes;
+} VkShaderResourceUsageAMD;
+
+typedef struct VkShaderStatisticsInfoAMD {
+ VkShaderStageFlags shaderStageMask;
+ VkShaderResourceUsageAMD resourceUsage;
+ uint32_t numPhysicalVgprs;
+ uint32_t numPhysicalSgprs;
+ uint32_t numAvailableVgprs;
+ uint32_t numAvailableSgprs;
+ uint32_t computeWorkGroupSize[3];
+} VkShaderStatisticsInfoAMD;
+
+
+typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD(
+ VkDevice device,
+ VkPipeline pipeline,
+ VkShaderStageFlagBits shaderStage,
+ VkShaderInfoTypeAMD infoType,
+ size_t* pInfoSize,
+ void* pInfo);
+#endif
+
#define VK_AMD_shader_image_load_store_lod 1
#define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1
#define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod"
diff --git a/src/vulkan/registry/vk.xml b/src/vulkan/registry/vk.xml
index 88e0997148a..d2aba617c9a 100644
--- a/src/vulkan/registry/vk.xml
+++ b/src/vulkan/registry/vk.xml
@@ -107,7 +107,7 @@ private version is maintained in the 1.0 branch of the member gitlab server.
// Vulkan 1.0 version number
#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 63
+#define VK_HEADER_VERSION 64
#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
@@ -386,6 +386,7 @@ private version is maintained in the 1.0 branch of the member gitlab server.
+
WSI extensions
@@ -1251,7 +1252,7 @@ private version is maintained in the 1.0 branch of the member gitlab server.
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 shaderResourceMinLodshader can use texture operations that specify minimum resource LOD
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
@@ -1341,7 +1342,7 @@ private version is maintained in the 1.0 branch of the member gitlab server.
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 maxSamplerLodBiasmax absolute sampler LOD bias
float maxSamplerAnisotropymax degree of sampler anisotropy
uint32_t maxViewportsmax number of active viewports
uint32_t maxViewportDimensions[2]max viewport dimensions (x,y)
@@ -2624,6 +2625,22 @@ private version is maintained in the 1.0 branch of the member gitlab server.
int format
int usage
+
+ uint32_t numUsedVgprs
+ uint32_t numUsedSgprs
+ uint32_t ldsSizePerLocalWorkGroup
+ size_t ldsUsageSizeInBytes
+ size_t scratchMemUsageInBytes
+
+
+ VkShaderStageFlags shaderStageMask
+ VkShaderResourceUsageAMD resourceUsage
+ uint32_t numPhysicalVgprs
+ uint32_t numPhysicalSgprs
+ uint32_t numAvailableVgprs
+ uint32_t numAvailableSgprs
+ uint32_t computeWorkGroupSize[3]
+
VkStructureType sType
const void* pNext
@@ -3655,6 +3672,11 @@ private version is maintained in the 1.0 branch of the member gitlab server.
+
+
+
+
+
@@ -5403,6 +5425,15 @@ private version is maintained in the 1.0 branch of the member gitlab server.
VkImage image
int* pNativeFenceFd
+
+ VkResult vkGetShaderInfoAMD
+ VkDevice device
+ VkPipeline pipeline
+ VkShaderStageFlagBits shaderStage
+ VkShaderInfoTypeAMD infoType
+ size_t* pInfoSize
+ void* pInfo
+
@@ -5778,7 +5809,7 @@ private version is maintained in the 1.0 branch of the member gitlab server.
-
+
@@ -6001,10 +6032,14 @@ private version is maintained in the 1.0 branch of the member gitlab server.
-
+
-
-
+
+
+
+
+
+
@@ -7359,40 +7394,40 @@ private version is maintained in the 1.0 branch of the member gitlab server.
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
@@ -7405,11 +7440,83 @@ private version is maintained in the 1.0 branch of the member gitlab server.
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+