Update for VulkanSC-Docs 1.0.11

This commit is contained in:
Jon Leech 2022-09-12 21:02:44 -07:00
parent 87e53f6cc7
commit 39a669f332
7 changed files with 408 additions and 92 deletions

View file

@ -65,7 +65,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 10
#define VK_HEADER_VERSION 11
// Vulkan SC variant number
#define VKSC_API_VARIANT 1
@ -337,6 +337,7 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000,
VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001,
VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000,
VK_STRUCTURE_TYPE_PRIVATE_VENDOR_INFO_RESERVED_OFFSET_0_NV = 1000051000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000,
VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001,
@ -482,6 +483,10 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001,
VK_STRUCTURE_TYPE_APPLICATION_PARAMETERS_EXT = 1000435000,
VK_STRUCTURE_TYPE_SEMAPHORE_SCI_SYNC_POOL_CREATE_INFO_NV = 1000489000,
VK_STRUCTURE_TYPE_SEMAPHORE_SCI_SYNC_CREATE_INFO_NV = 1000489001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_2_FEATURES_NV = 1000489002,
VK_STRUCTURE_TYPE_DEVICE_SEMAPHORE_SCI_SYNC_POOL_RESERVATION_CREATE_INFO_NV = 1000489003,
VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
} VkStructureType;
@ -525,6 +530,7 @@ typedef enum VkObjectType {
VK_OBJECT_TYPE_QUERY_POOL = 12,
VK_OBJECT_TYPE_BUFFER_VIEW = 13,
VK_OBJECT_TYPE_IMAGE_VIEW = 14,
VK_OBJECT_TYPE_SHADER_MODULE = 15,
VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
VK_OBJECT_TYPE_RENDER_PASS = 18,
@ -541,6 +547,9 @@ typedef enum VkObjectType {
VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
#ifdef VK_USE_PLATFORM_SCI
VK_OBJECT_TYPE_SEMAPHORE_SCI_SYNC_POOL_NV = 1000489000,
#endif
VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
} VkObjectType;
@ -6458,6 +6467,11 @@ VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR(
#define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"
#define VK_NV_private_vendor_info 1
#define VK_NV_PRIVATE_VENDOR_INFO_SPEC_VERSION 2
#define VK_NV_PRIVATE_VENDOR_INFO_EXTENSION_NAME "VK_NV_private_vendor_info"
#define VK_EXT_texture_compression_astc_hdr 1
#define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1
#define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr"

View file

@ -59,13 +59,13 @@ extern "C" {
#endif
#define VK_MAKE_API_VERSION(variant, major, minor, patch) \
((((uint32_t)(variant)) << 29) | (((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch)))
(((static_cast<uint32_t>(variant)) << 29) | ((static_cast<uint32_t>(major)) << 22) | ((static_cast<uint32_t>(minor)) << 12) | (static_cast<uint32_t>(patch)))
// Vulkan 1.0 version number
#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 10
#define VK_HEADER_VERSION 11
// Vulkan SC variant number
#define VKSC_API_VARIANT 1
@ -73,10 +73,10 @@ extern "C" {
// Complete version of this file
#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(VKSC_API_VARIANT, 1, 0, VK_HEADER_VERSION)
#define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29)
#define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22) & 0x7FU)
#define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3FFU)
#define VK_API_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU)
#define VK_API_VERSION_VARIANT(version) (static_cast<uint32_t>(version) >> 29)
#define VK_API_VERSION_MAJOR(version) ((static_cast<uint32_t>(version) >> 22) & 0x7FU)
#define VK_API_VERSION_MINOR(version) ((static_cast<uint32_t>(version) >> 12) & 0x3FFU)
#define VK_API_VERSION_PATCH(version) (static_cast<uint32_t>(version) & 0xFFFU)
typedef uint32_t VkBool32;
typedef uint64_t VkDeviceAddress;
typedef uint64_t VkDeviceSize;
@ -337,6 +337,7 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000,
VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001,
VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000,
VK_STRUCTURE_TYPE_PRIVATE_VENDOR_INFO_RESERVED_OFFSET_0_NV = 1000051000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000,
VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001,
@ -482,6 +483,10 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001,
VK_STRUCTURE_TYPE_APPLICATION_PARAMETERS_EXT = 1000435000,
VK_STRUCTURE_TYPE_SEMAPHORE_SCI_SYNC_POOL_CREATE_INFO_NV = 1000489000,
VK_STRUCTURE_TYPE_SEMAPHORE_SCI_SYNC_CREATE_INFO_NV = 1000489001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_2_FEATURES_NV = 1000489002,
VK_STRUCTURE_TYPE_DEVICE_SEMAPHORE_SCI_SYNC_POOL_RESERVATION_CREATE_INFO_NV = 1000489003,
VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
} VkStructureType;
@ -525,6 +530,7 @@ typedef enum VkObjectType {
VK_OBJECT_TYPE_QUERY_POOL = 12,
VK_OBJECT_TYPE_BUFFER_VIEW = 13,
VK_OBJECT_TYPE_IMAGE_VIEW = 14,
VK_OBJECT_TYPE_SHADER_MODULE = 15,
VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
VK_OBJECT_TYPE_RENDER_PASS = 18,
@ -541,6 +547,9 @@ typedef enum VkObjectType {
VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
#ifdef VK_USE_PLATFORM_SCI
VK_OBJECT_TYPE_SEMAPHORE_SCI_SYNC_POOL_NV = 1000489000,
#endif
VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
} VkObjectType;
@ -6458,6 +6467,11 @@ VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR(
#define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"
#define VK_NV_private_vendor_info 1
#define VK_NV_PRIVATE_VENDOR_INFO_SPEC_VERSION 2
#define VK_NV_PRIVATE_VENDOR_INFO_EXTENSION_NAME "VK_NV_private_vendor_info"
#define VK_EXT_texture_compression_astc_hdr 1
#define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1
#define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr"

View file

@ -46,7 +46,7 @@ typedef struct VkImportFenceSciSyncInfoNV {
const void* pNext;
VkFence fence;
VkExternalFenceHandleTypeFlagBits handleType;
const void* handle;
void* handle;
} VkImportFenceSciSyncInfoNV;
typedef struct VkFenceGetSciSyncInfoNV {
@ -74,7 +74,7 @@ typedef struct VkImportSemaphoreSciSyncInfoNV {
const void* pNext;
VkSemaphore semaphore;
VkExternalSemaphoreHandleTypeFlagBits handleType;
const void* handle;
void* handle;
} VkImportSemaphoreSciSyncInfoNV;
typedef struct VkSemaphoreGetSciSyncInfoNV {
@ -193,6 +193,55 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSciBufAttributesNV(
NvSciBufAttrList pAttributes);
#endif
#define VK_NV_external_sci_sync2 1
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphoreSciSyncPoolNV)
#define VK_NV_EXTERNAL_SCI_SYNC_2_SPEC_VERSION 1
#define VK_NV_EXTERNAL_SCI_SYNC_2_EXTENSION_NAME "VK_NV_external_sci_sync2"
typedef struct VkPhysicalDeviceExternalSciSync2FeaturesNV {
VkStructureType sType;
void* pNext;
VkBool32 sciSyncFence;
VkBool32 sciSyncSemaphore2;
VkBool32 sciSyncImport;
VkBool32 sciSyncExport;
} VkPhysicalDeviceExternalSciSync2FeaturesNV;
typedef struct VkSemaphoreSciSyncPoolCreateInfoNV {
VkStructureType sType;
const void* pNext;
NvSciSyncObj handle;
} VkSemaphoreSciSyncPoolCreateInfoNV;
typedef struct VkSemaphoreSciSyncCreateInfoNV {
VkStructureType sType;
const void* pNext;
VkSemaphoreSciSyncPoolNV semaphorePool;
const NvSciSyncFence* pFence;
} VkSemaphoreSciSyncCreateInfoNV;
typedef struct VkDeviceSemaphoreSciSyncPoolReservationCreateInfoNV {
VkStructureType sType;
const void* pNext;
uint32_t semaphoreSciSyncPoolRequestCount;
} VkDeviceSemaphoreSciSyncPoolReservationCreateInfoNV;
typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphoreSciSyncPoolNV)(VkDevice device, const VkSemaphoreSciSyncPoolCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphoreSciSyncPoolNV* pSemaphorePool);
typedef void (VKAPI_PTR *PFN_vkDestroySemaphoreSciSyncPoolNV)(VkDevice device, VkSemaphoreSciSyncPoolNV semaphorePool, const VkAllocationCallbacks* pAllocator);
#ifndef VK_NO_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphoreSciSyncPoolNV(
VkDevice device,
const VkSemaphoreSciSyncPoolCreateInfoNV* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkSemaphoreSciSyncPoolNV* pSemaphorePool);
VKAPI_ATTR void VKAPI_CALL vkDestroySemaphoreSciSyncPoolNV(
VkDevice device,
VkSemaphoreSciSyncPoolNV semaphorePool,
const VkAllocationCallbacks* pAllocator);
#endif
#ifdef __cplusplus
}
#endif

View file

@ -274,6 +274,8 @@ class COutputGenerator(OutputGenerator):
body += self.genOpts.apientry + noneStr(elem.tail)
else:
body += noneStr(elem.text) + noneStr(elem.tail)
if category == 'define' and self.misracppstyle():
body = body.replace("(uint32_t)", "static_cast<uint32_t>")
if body:
# Add extra newline after multi-line entries.
if '\n' in body[0:-1]:

View file

@ -408,6 +408,7 @@ def makeGenOpts(args):
[ 'vulkan_metal.h', [ 'VK_EXT_metal_surface' ], commonSuppressExtensions ],
[ 'vulkan_screen.h', [ 'VK_QNX_screen_surface' ], commonSuppressExtensions ],
[ 'vulkan_sci.h', [ 'VK_NV_external_sci_sync',
'VK_NV_external_sci_sync2',
'VK_NV_external_memory_sci_buf'], commonSuppressExtensions ],
[ 'vulkan_beta.h', betaRequireExtensions, betaSuppressExtensions ],
]

File diff suppressed because one or more lines are too long

View file

@ -132,6 +132,8 @@ branch of the member gitlab server.
<type requires="screen/screen.h" name="_screen_context"/>
<type requires="screen/screen.h" name="_screen_window"/>
<type requires="nvscisync.h" name="NvSciSyncAttrList"/>
<type requires="nvscisync.h" name="NvSciSyncObj"/>
<type requires="nvscisync.h" name="NvSciSyncFence"/>
<type requires="nvscibuf.h" name="NvSciBufAttrList"/>
<type requires="nvscibuf.h" name="NvSciBufObj"/>
@ -172,7 +174,7 @@ branch of the member gitlab server.
#define <name>VK_HEADER_VERSION_COMPLETE</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 2, VK_HEADER_VERSION)</type>
<type api="vulkansc" category="define">// Version of this file
#define <name>VK_HEADER_VERSION</name> 10</type>
#define <name>VK_HEADER_VERSION</name> 11</type>
<type api="vulkansc" category="define" requires="VKSC_API_VARIANT">// Complete version of this file
#define <name>VK_HEADER_VERSION_COMPLETE</name> <type>VK_MAKE_API_VERSION</type>(VKSC_API_VARIANT, 1, 0, VK_HEADER_VERSION)</type>
@ -501,6 +503,9 @@ typedef void <name>CAMetalLayer</name>;
<type category="handle" parent="VkDevice" objtypeenum="VK_OBJECT_TYPE_VIDEO_SESSION_KHR"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkVideoSessionKHR</name>)</type>
<type category="handle" parent="VkVideoSessionKHR" objtypeenum="VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkVideoSessionParametersKHR</name>)</type>
<comment>VK_NV_external_sci_sync2</comment>
<type category="handle" parent="VkDevice" objtypeenum="VK_OBJECT_TYPE_SEMAPHORE_SCI_SYNC_POOL_NV"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkSemaphoreSciSyncPoolNV</name>)</type>
<comment>Types generated from corresponding enums tags below</comment>
<type name="VkAttachmentLoadOp" category="enum"/>
<type name="VkAttachmentStoreOp" category="enum"/>
@ -1255,7 +1260,7 @@ typedef void <name>CAMetalLayer</name>;
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member optional="true"><type>VkDescriptorPoolCreateFlags</type> <name>flags</name></member>
<member><type>uint32_t</type> <name>maxSets</name></member>
<member><type>uint32_t</type> <name>poolSizeCount</name></member>
<member optional="true"><type>uint32_t</type> <name>poolSizeCount</name></member>
<member len="poolSizeCount">const <type>VkDescriptorPoolSize</type>* <name>pPoolSizes</name></member>
</type>
<type category="struct" name="VkDescriptorSetAllocateInfo">
@ -2683,7 +2688,7 @@ typedef void <name>CAMetalLayer</name>;
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member externsync="true"><type>VkFence</type> <name>fence</name></member>
<member><type>VkExternalFenceHandleTypeFlagBits</type> <name>handleType</name></member>
<member>const <type>void</type>* <name>handle</name></member>
<member><type>void</type>* <name>handle</name></member>
</type>
<type category="struct" name="VkFenceGetSciSyncInfoNV">
<member values="VK_STRUCTURE_TYPE_FENCE_GET_SCI_SYNC_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
@ -2701,7 +2706,7 @@ typedef void <name>CAMetalLayer</name>;
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member externsync="true"><type>VkSemaphore</type> <name>semaphore</name></member>
<member><type>VkExternalSemaphoreHandleTypeFlagBits</type> <name>handleType</name></member>
<member>const <type>void</type>* <name>handle</name></member>
<member><type>void</type>* <name>handle</name></member>
</type>
<type category="struct" name="VkSemaphoreGetSciSyncInfoNV">
<member values="VK_STRUCTURE_TYPE_SEMAPHORE_GET_SCI_SYNC_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
@ -2723,6 +2728,30 @@ typedef void <name>CAMetalLayer</name>;
<member><type>VkBool32</type> <name>sciSyncImport</name></member>
<member><type>VkBool32</type> <name>sciSyncExport</name></member>
</type>
<type category="struct" name="VkPhysicalDeviceExternalSciSync2FeaturesNV" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_2_FEATURES_NV"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
<member><type>VkBool32</type> <name>sciSyncFence</name></member>
<member><type>VkBool32</type> <name>sciSyncSemaphore2</name></member>
<member><type>VkBool32</type> <name>sciSyncImport</name></member>
<member><type>VkBool32</type> <name>sciSyncExport</name></member>
</type>
<type category="struct" name="VkSemaphoreSciSyncPoolCreateInfoNV">
<member values="VK_STRUCTURE_TYPE_SEMAPHORE_SCI_SYNC_POOL_CREATE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member><type>NvSciSyncObj</type> <name>handle</name></member>
</type>
<type category="struct" name="VkSemaphoreSciSyncCreateInfoNV" structextends="VkSemaphoreCreateInfo">
<member values="VK_STRUCTURE_TYPE_SEMAPHORE_SCI_SYNC_CREATE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member><type>VkSemaphoreSciSyncPoolNV</type> <name>semaphorePool</name></member>
<member>const <type>NvSciSyncFence</type>* <name>pFence</name></member>
</type>
<type category="struct" name="VkDeviceSemaphoreSciSyncPoolReservationCreateInfoNV" allowduplicate="true" structextends="VkDeviceObjectReservationCreateInfo">
<member values="VK_STRUCTURE_TYPE_DEVICE_SEMAPHORE_SCI_SYNC_POOL_RESERVATION_CREATE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member><type>uint32_t</type> <name>semaphoreSciSyncPoolRequestCount</name></member>
</type>
<type category="struct" name="VkPhysicalDeviceMultiviewFeatures" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
@ -5157,8 +5186,8 @@ typedef void <name>CAMetalLayer</name>;
<type category="struct" name="VkFaultCallbackInfo" structextends="VkDeviceCreateInfo">
<member values="VK_STRUCTURE_TYPE_FAULT_CALLBACK_INFO"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
<member><type>uint32_t</type> <name>faultCount</name></member>
<member len="faultCount"><type>VkFaultData</type>*<name>pFaults</name></member>
<member optional="true"><type>uint32_t</type> <name>faultCount</name></member>
<member optional="true" len="faultCount"><type>VkFaultData</type>*<name>pFaults</name></member>
<member><type>PFN_vkFaultCallbackFunction</type> <name>pfnFaultCallback</name></member>
</type>
<type category="struct" name="VkPhysicalDeviceToolPropertiesEXT" returnedonly="true">
@ -10100,6 +10129,19 @@ typedef void <name>CAMetalLayer</name>;
<param>const <type>VkSciSyncAttributesInfoNV</type>* <name>pSciSyncAttributesInfo</name></param>
<param><type>NvSciSyncAttrList</type> <name>pAttributes</name></param>
</command>
<command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_INITIALIZATION_FAILED,VK_ERROR_OUT_OF_HOST_MEMORY">
<proto><type>VkResult</type> <name>vkCreateSemaphoreSciSyncPoolNV</name></proto>
<param><type>VkDevice</type> <name>device</name></param>
<param>const <type>VkSemaphoreSciSyncPoolCreateInfoNV</type>* <name>pCreateInfo</name></param>
<param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param>
<param><type>VkSemaphoreSciSyncPoolNV</type>* <name>pSemaphorePool</name></param>
</command>
<command>
<proto><type>void</type> <name>vkDestroySemaphoreSciSyncPoolNV</name></proto>
<param><type>VkDevice</type> <name>device</name></param>
<param optional="true" externsync="true"><type>VkSemaphoreSciSyncPoolNV</type> <name>semaphorePool</name></param>
<param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param>
</command>
<command successcodes="VK_SUCCESS">
<proto><type>VkResult</type> <name>vkReleaseDisplayEXT</name></proto>
<param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param>
@ -12815,7 +12857,7 @@ typedef void <name>CAMetalLayer</name>;
<remove comment="SC 1.0 removes some features from Vulkan 1.0/1.1/1.2">
<enum name="VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO"/>
<enum name="VK_OBJECT_TYPE_SHADER_MODULE"/>
<!--enum name="VK_OBJECT_TYPE_SHADER_MODULE" comment="leave this present for compatibility"/-->
<enum name="VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT"/>
<enum name="VK_PIPELINE_CREATE_DERIVATIVE_BIT"/>
<enum name="VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT"/>
@ -13668,12 +13710,11 @@ typedef void <name>CAMetalLayer</name>;
<type name="VkPhysicalDeviceCornerSampledImageFeaturesNV"/>
</require>
</extension>
<extension name="VK_NV_extension_52" number="52" author="NV" contact="Daniel Koch @dgkoch" supported="disabled">
<extension name="VK_NV_private_vendor_info" number="52" type="device" author="NV" contact="Daniel Koch @dgkoch" supported="vulkansc">
<require>
<enum value="0" name="VK_NV_EXTENSION_52_SPEC_VERSION"/>
<enum value="&quot;VK_NV_extension_52&quot;" name="VK_NV_EXTENSION_52_EXTENSION_NAME"/>
<enum bitpos="0" extends="VkShaderModuleCreateFlagBits" name="VK_SHADER_MODULE_CREATE_RESERVED_0_BIT_NV"/>
<enum bitpos="2" extends="VkPipelineShaderStageCreateFlagBits" name="VK_PIPELINE_SHADER_STAGE_CREATE_RESERVED_2_BIT_NV"/>
<enum value="2" name="VK_NV_PRIVATE_VENDOR_INFO_SPEC_VERSION"/>
<enum value="&quot;VK_NV_private_vendor_info&quot;" name="VK_NV_PRIVATE_VENDOR_INFO_EXTENSION_NAME"/>
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PRIVATE_VENDOR_INFO_RESERVED_OFFSET_0_NV"/>
</require>
</extension>
<extension name="VK_NV_extension_53" number="53" author="NV" contact="Jeff Bolz @jeffbolznv" supported="disabled">
@ -17714,7 +17755,7 @@ typedef void <name>CAMetalLayer</name>;
<enum value="&quot;VK_NV_extension_373&quot;" name="VK_NV_EXTENSION_373_EXTENSION_NAME"/>
</require>
</extension>
<extension name="VK_NV_external_sci_sync" number="374" requiresCore="1.1" platform="sci" type="device" author="NV" contact="Kai Zhang @kazhang" supported="vulkansc">
<extension name="VK_NV_external_sci_sync" number="374" requiresCore="1.1" platform="sci" type="device" author="NV" contact="Kai Zhang @kazhang" supported="vulkansc" deprecatedby="VK_NV_external_sci_sync2">
<require>
<enum value="2" name="VK_NV_EXTERNAL_SCI_SYNC_SPEC_VERSION"/>
<enum value="&quot;VK_NV_external_sci_sync&quot;" name="VK_NV_EXTERNAL_SCI_SYNC_EXTENSION_NAME"/>
@ -18257,6 +18298,45 @@ typedef void <name>CAMetalLayer</name>;
<enum value="&quot;VK_COREAVI_extension_447&quot;" name="VK_COREAVI_EXTENSION_447_EXTENSION_NAME"/>
</require>
</extension>
<extension name="VK_NV_external_sci_sync2" number="490" author="NV" requiresCore="1.1" platform="sci" type="device" contact="Kai Zhang @kazhang" supported="vulkansc">
<require>
<enum value="1" name="VK_NV_EXTERNAL_SCI_SYNC_2_SPEC_VERSION"/>
<enum value="&quot;VK_NV_external_sci_sync2&quot;" name="VK_NV_EXTERNAL_SCI_SYNC_2_EXTENSION_NAME"/>
<enum offset="0" extends="VkObjectType" name="VK_OBJECT_TYPE_SEMAPHORE_SCI_SYNC_POOL_NV" comment="VkSemaphoreSciSyncPoolNV" protect="VK_USE_PLATFORM_SCI"/>
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SEMAPHORE_SCI_SYNC_POOL_CREATE_INFO_NV"/>
<enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SEMAPHORE_SCI_SYNC_CREATE_INFO_NV"/>
<enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_2_FEATURES_NV"/>
<type name="VkSemaphoreSciSyncPoolNV"/>
<type name="VkPhysicalDeviceExternalSciSync2FeaturesNV"/>
<type name="VkSemaphoreSciSyncPoolCreateInfoNV"/>
<type name="VkSemaphoreSciSyncCreateInfoNV"/>
<command name="vkCreateSemaphoreSciSyncPoolNV"/>
<command name="vkDestroySemaphoreSciSyncPoolNV"/>
</require>
<require comment="functionality re-used unmodified from VK_NV_external_sci_sync">
<enum extnumber="374" offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMPORT_FENCE_SCI_SYNC_INFO_NV"/>
<enum extnumber="374" offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_EXPORT_FENCE_SCI_SYNC_INFO_NV"/>
<enum extnumber="374" offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_FENCE_GET_SCI_SYNC_INFO_NV"/>
<enum extnumber="374" offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SCI_SYNC_ATTRIBUTES_INFO_NV"/>
<enum bitpos="4" extends="VkExternalFenceHandleTypeFlagBits" name="VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV"/>
<enum bitpos="5" extends="VkExternalFenceHandleTypeFlagBits" name="VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_FENCE_BIT_NV"/>
<type name="VkSciSyncClientTypeNV"/>
<type name="VkSciSyncPrimitiveTypeNV"/>
<type name="VkExportFenceSciSyncInfoNV"/>
<type name="VkImportFenceSciSyncInfoNV"/>
<type name="VkFenceGetSciSyncInfoNV"/>
<type name="VkSciSyncAttributesInfoNV"/>
<command name="vkGetFenceSciSyncFenceNV"/>
<command name="vkGetFenceSciSyncObjNV"/>
<command name="vkImportFenceSciSyncFenceNV"/>
<command name="vkImportFenceSciSyncObjNV"/>
<command name="vkGetPhysicalDeviceSciSyncAttributesNV"/>
</require>
<require feature="VKSC_VERSION_1_0">
<enum offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DEVICE_SEMAPHORE_SCI_SYNC_POOL_RESERVATION_CREATE_INFO_NV"/>
<type name="VkDeviceSemaphoreSciSyncPoolReservationCreateInfoNV"/>
</require>
</extension>
</extensions>
<formats>
<format name="VK_FORMAT_R4G4_UNORM_PACK8" class="8-bit" blockSize="1" texelsPerBlock="1" packed="8">