Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/KhronosGroup/Vulkan-Headers.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Leech <4693344+oddhack@users.noreply.github.com>2022-09-13 07:02:44 +0300
committerJon Leech <4693344+oddhack@users.noreply.github.com>2022-09-13 07:03:27 +0300
commit39a669f332985de4c4d8215f7c0d19d5fb90f5e1 (patch)
tree216b3bd6f96d8b915a8da45d5d1e272a185803b3
parent87e53f6cc7b7c57e778d42df09df3c2fe80919b3 (diff)
Update for VulkanSC-Docs 1.0.11vksc1.0.11sc_main
-rw-r--r--include/vulkan/vulkan_sc_core.h16
-rw-r--r--include/vulkan/vulkan_sc_core.hpp26
-rw-r--r--include/vulkan/vulkan_sci.h53
-rw-r--r--registry/cgenerator.py2
-rwxr-xr-xregistry/genvk.py1
-rw-r--r--registry/validusage.json292
-rw-r--r--registry/vk.xml106
7 files changed, 406 insertions, 90 deletions
diff --git a/include/vulkan/vulkan_sc_core.h b/include/vulkan/vulkan_sc_core.h
index bea5295..df4ed64 100644
--- a/include/vulkan/vulkan_sc_core.h
+++ b/include/vulkan/vulkan_sc_core.h
@@ -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"
diff --git a/include/vulkan/vulkan_sc_core.hpp b/include/vulkan/vulkan_sc_core.hpp
index 124cb7d..7d716d1 100644
--- a/include/vulkan/vulkan_sc_core.hpp
+++ b/include/vulkan/vulkan_sc_core.hpp
@@ -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"
diff --git a/include/vulkan/vulkan_sci.h b/include/vulkan/vulkan_sci.h
index e0abf13..73e48c4 100644
--- a/include/vulkan/vulkan_sci.h
+++ b/include/vulkan/vulkan_sci.h
@@ -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
diff --git a/registry/cgenerator.py b/registry/cgenerator.py
index 6685f24..2d86604 100644
--- a/registry/cgenerator.py
+++ b/registry/cgenerator.py
@@ -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]:
diff --git a/registry/genvk.py b/registry/genvk.py
index 0a172f9..a0f0f70 100755
--- a/registry/genvk.py
+++ b/registry/genvk.py
@@ -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 ],
]
diff --git a/registry/validusage.json b/registry/validusage.json
index 00731dd..d872d24 100644
--- a/registry/validusage.json
+++ b/registry/validusage.json
@@ -1,9 +1,9 @@
{
"version info": {
"schema version": 2,
- "api version": "1.0.10",
- "comment": "from git branch: github-sc_main commit: f300e4d9e81b12998c872e3e31c7a28b8b48036e",
- "date": "2022-05-26 09:59:01Z"
+ "api version": "1.0.11",
+ "comment": "from git branch: github-sc_main commit: 0caf3f1da2ce143a0f500d7f4083fe2899a31f30",
+ "date": "2022-09-13 03:42:50Z"
},
"validation": {
"vkGetInstanceProcAddr": {
@@ -626,7 +626,7 @@
},
{
"vuid": "VUID-VkDeviceCreateInfo-pNext-pNext",
- "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkApplicationParametersEXT\">VkApplicationParametersEXT</a>, <a href=\"#VkDeviceGroupDeviceCreateInfo\">VkDeviceGroupDeviceCreateInfo</a>, <a href=\"#VkDeviceObjectReservationCreateInfo\">VkDeviceObjectReservationCreateInfo</a>, <a href=\"#VkFaultCallbackInfo\">VkFaultCallbackInfo</a>, <a href=\"#VkPhysicalDevice16BitStorageFeatures\">VkPhysicalDevice16BitStorageFeatures</a>, <a href=\"#VkPhysicalDevice4444FormatsFeaturesEXT\">VkPhysicalDevice4444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDevice8BitStorageFeatures\">VkPhysicalDevice8BitStorageFeatures</a>, <a href=\"#VkPhysicalDeviceASTCDecodeFeaturesEXT\">VkPhysicalDeviceASTCDecodeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT\">VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeatures\">VkPhysicalDeviceBufferDeviceAddressFeatures</a>, <a href=\"#VkPhysicalDeviceColorWriteEnableFeaturesEXT\">VkPhysicalDeviceColorWriteEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorFeaturesEXT\">VkPhysicalDeviceCustomBorderColorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDepthClipEnableFeaturesEXT\">VkPhysicalDeviceDepthClipEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingFeatures\">VkPhysicalDeviceDescriptorIndexingFeatures</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState2FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicStateFeaturesEXT\">VkPhysicalDeviceExtendedDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExternalSciBufFeaturesNV\">VkPhysicalDeviceExternalSciBufFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExternalSciSyncFeaturesNV\">VkPhysicalDeviceExternalSciSyncFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFeatures2\">VkPhysicalDeviceFeatures2</a>, <a href=\"#VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT\">VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateFeaturesKHR\">VkPhysicalDeviceFragmentShadingRateFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceHostQueryResetFeatures\">VkPhysicalDeviceHostQueryResetFeatures</a>, <a href=\"#VkPhysicalDeviceImageRobustnessFeaturesEXT\">VkPhysicalDeviceImageRobustnessFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImagelessFramebufferFeatures\">VkPhysicalDeviceImagelessFramebufferFeatures</a>, <a href=\"#VkPhysicalDeviceIndexTypeUint8FeaturesEXT\">VkPhysicalDeviceIndexTypeUint8FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceLineRasterizationFeaturesEXT\">VkPhysicalDeviceLineRasterizationFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMultiviewFeatures\">VkPhysicalDeviceMultiviewFeatures</a>, <a href=\"#VkPhysicalDevicePerformanceQueryFeaturesKHR\">VkPhysicalDevicePerformanceQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryFeatures\">VkPhysicalDeviceProtectedMemoryFeatures</a>, <a href=\"#VkPhysicalDeviceRobustness2FeaturesEXT\">VkPhysicalDeviceRobustness2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerYcbcrConversionFeatures\">VkPhysicalDeviceSamplerYcbcrConversionFeatures</a>, <a href=\"#VkPhysicalDeviceScalarBlockLayoutFeatures\">VkPhysicalDeviceScalarBlockLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures\">VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloatFeaturesEXT\">VkPhysicalDeviceShaderAtomicFloatFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicInt64Features\">VkPhysicalDeviceShaderAtomicInt64Features</a>, <a href=\"#VkPhysicalDeviceShaderClockFeaturesKHR\">VkPhysicalDeviceShaderClockFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT\">VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderDrawParametersFeatures\">VkPhysicalDeviceShaderDrawParametersFeatures</a>, <a href=\"#VkPhysicalDeviceShaderFloat16Int8Features\">VkPhysicalDeviceShaderFloat16Int8Features</a>, <a href=\"#VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT\">VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures\">VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures</a>, <a href=\"#VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR\">VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlFeaturesEXT\">VkPhysicalDeviceSubgroupSizeControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSynchronization2FeaturesKHR\">VkPhysicalDeviceSynchronization2FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT\">VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT\">VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreFeatures\">VkPhysicalDeviceTimelineSemaphoreFeatures</a>, <a href=\"#VkPhysicalDeviceUniformBufferStandardLayoutFeatures\">VkPhysicalDeviceUniformBufferStandardLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceVariablePointersFeatures\">VkPhysicalDeviceVariablePointersFeatures</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT\">VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT\">VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVulkan11Features\">VkPhysicalDeviceVulkan11Features</a>, <a href=\"#VkPhysicalDeviceVulkan12Features\">VkPhysicalDeviceVulkan12Features</a>, <a href=\"#VkPhysicalDeviceVulkanMemoryModelFeatures\">VkPhysicalDeviceVulkanMemoryModelFeatures</a>, <a href=\"#VkPhysicalDeviceVulkanSC10Features\">VkPhysicalDeviceVulkanSC10Features</a>, <a href=\"#VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT\">VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT</a>, or <a href=\"#VkPhysicalDeviceYcbcrImageArraysFeaturesEXT\">VkPhysicalDeviceYcbcrImageArraysFeaturesEXT</a>"
+ "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkApplicationParametersEXT\">VkApplicationParametersEXT</a>, <a href=\"#VkDeviceGroupDeviceCreateInfo\">VkDeviceGroupDeviceCreateInfo</a>, <a href=\"#VkDeviceObjectReservationCreateInfo\">VkDeviceObjectReservationCreateInfo</a>, <a href=\"#VkFaultCallbackInfo\">VkFaultCallbackInfo</a>, <a href=\"#VkPhysicalDevice16BitStorageFeatures\">VkPhysicalDevice16BitStorageFeatures</a>, <a href=\"#VkPhysicalDevice4444FormatsFeaturesEXT\">VkPhysicalDevice4444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDevice8BitStorageFeatures\">VkPhysicalDevice8BitStorageFeatures</a>, <a href=\"#VkPhysicalDeviceASTCDecodeFeaturesEXT\">VkPhysicalDeviceASTCDecodeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT\">VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeatures\">VkPhysicalDeviceBufferDeviceAddressFeatures</a>, <a href=\"#VkPhysicalDeviceColorWriteEnableFeaturesEXT\">VkPhysicalDeviceColorWriteEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorFeaturesEXT\">VkPhysicalDeviceCustomBorderColorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDepthClipEnableFeaturesEXT\">VkPhysicalDeviceDepthClipEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingFeatures\">VkPhysicalDeviceDescriptorIndexingFeatures</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState2FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicStateFeaturesEXT\">VkPhysicalDeviceExtendedDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExternalSciBufFeaturesNV\">VkPhysicalDeviceExternalSciBufFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExternalSciSync2FeaturesNV\">VkPhysicalDeviceExternalSciSync2FeaturesNV</a>, <a href=\"#VkPhysicalDeviceExternalSciSyncFeaturesNV\">VkPhysicalDeviceExternalSciSyncFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFeatures2\">VkPhysicalDeviceFeatures2</a>, <a href=\"#VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT\">VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateFeaturesKHR\">VkPhysicalDeviceFragmentShadingRateFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceHostQueryResetFeatures\">VkPhysicalDeviceHostQueryResetFeatures</a>, <a href=\"#VkPhysicalDeviceImageRobustnessFeaturesEXT\">VkPhysicalDeviceImageRobustnessFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImagelessFramebufferFeatures\">VkPhysicalDeviceImagelessFramebufferFeatures</a>, <a href=\"#VkPhysicalDeviceIndexTypeUint8FeaturesEXT\">VkPhysicalDeviceIndexTypeUint8FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceLineRasterizationFeaturesEXT\">VkPhysicalDeviceLineRasterizationFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMultiviewFeatures\">VkPhysicalDeviceMultiviewFeatures</a>, <a href=\"#VkPhysicalDevicePerformanceQueryFeaturesKHR\">VkPhysicalDevicePerformanceQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryFeatures\">VkPhysicalDeviceProtectedMemoryFeatures</a>, <a href=\"#VkPhysicalDeviceRobustness2FeaturesEXT\">VkPhysicalDeviceRobustness2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerYcbcrConversionFeatures\">VkPhysicalDeviceSamplerYcbcrConversionFeatures</a>, <a href=\"#VkPhysicalDeviceScalarBlockLayoutFeatures\">VkPhysicalDeviceScalarBlockLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures\">VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloatFeaturesEXT\">VkPhysicalDeviceShaderAtomicFloatFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicInt64Features\">VkPhysicalDeviceShaderAtomicInt64Features</a>, <a href=\"#VkPhysicalDeviceShaderClockFeaturesKHR\">VkPhysicalDeviceShaderClockFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT\">VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderDrawParametersFeatures\">VkPhysicalDeviceShaderDrawParametersFeatures</a>, <a href=\"#VkPhysicalDeviceShaderFloat16Int8Features\">VkPhysicalDeviceShaderFloat16Int8Features</a>, <a href=\"#VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT\">VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures\">VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures</a>, <a href=\"#VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR\">VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlFeaturesEXT\">VkPhysicalDeviceSubgroupSizeControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSynchronization2FeaturesKHR\">VkPhysicalDeviceSynchronization2FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT\">VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT\">VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreFeatures\">VkPhysicalDeviceTimelineSemaphoreFeatures</a>, <a href=\"#VkPhysicalDeviceUniformBufferStandardLayoutFeatures\">VkPhysicalDeviceUniformBufferStandardLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceVariablePointersFeatures\">VkPhysicalDeviceVariablePointersFeatures</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT\">VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT\">VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVulkan11Features\">VkPhysicalDeviceVulkan11Features</a>, <a href=\"#VkPhysicalDeviceVulkan12Features\">VkPhysicalDeviceVulkan12Features</a>, <a href=\"#VkPhysicalDeviceVulkanMemoryModelFeatures\">VkPhysicalDeviceVulkanMemoryModelFeatures</a>, <a href=\"#VkPhysicalDeviceVulkanSC10Features\">VkPhysicalDeviceVulkanSC10Features</a>, <a href=\"#VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT\">VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT</a>, or <a href=\"#VkPhysicalDeviceYcbcrImageArraysFeaturesEXT\">VkPhysicalDeviceYcbcrImageArraysFeaturesEXT</a>"
},
{
"vuid": "VUID-VkDeviceCreateInfo-sType-unique",
@@ -726,6 +726,14 @@
}
]
},
+ "VkDeviceSemaphoreSciSyncPoolReservationCreateInfoNV": {
+ "(VKSC_VERSION_1_0)+(VK_NV_external_sci_sync2)": [
+ {
+ "vuid": "VUID-VkDeviceSemaphoreSciSyncPoolReservationCreateInfoNV-sType-sType",
+ "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_DEVICE_SEMAPHORE_SCI_SYNC_POOL_RESERVATION_CREATE_INFO_NV</code>"
+ }
+ ]
+ },
"VkPipelinePoolSize": {
"(VKSC_VERSION_1_0)": [
{
@@ -739,28 +747,34 @@
]
},
"vkDestroyDevice": {
- "core": [
+ "(VKSC_VERSION_1_0)": [
+ {
+ "vuid": "VUID-vkDestroyDevice-device-05137",
+ "text": " All child objects created on <code>device</code> except query pools, descriptor pools, command pools, and device memory <strong class=\"purple\">must</strong> have been destroyed prior to destroying <code>device</code>"
+ }
+ ],
+ "!(VKSC_VERSION_1_0)": [
{
"vuid": "VUID-vkDestroyDevice-device-00378",
"text": " All child objects created on <code>device</code> <strong class=\"purple\">must</strong> have been destroyed prior to destroying <code>device</code>"
},
{
- "vuid": "VUID-vkDestroyDevice-device-parameter",
- "text": " If <code>device</code> is not <code>NULL</code>, <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+ "vuid": "VUID-vkDestroyDevice-device-00379",
+ "text": " If <code>VkAllocationCallbacks</code> were provided when <code>device</code> was created, a compatible set of callbacks <strong class=\"purple\">must</strong> be provided here"
},
{
- "vuid": "VUID-vkDestroyDevice-pAllocator-null",
- "text": " <code>pAllocator</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+ "vuid": "VUID-vkDestroyDevice-device-00380",
+ "text": " If no <code>VkAllocationCallbacks</code> were provided when <code>device</code> was created, <code>pAllocator</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
}
],
- "!(VKSC_VERSION_1_0)": [
+ "core": [
{
- "vuid": "VUID-vkDestroyDevice-device-00379",
- "text": " If <code>VkAllocationCallbacks</code> were provided when <code>device</code> was created, a compatible set of callbacks <strong class=\"purple\">must</strong> be provided here"
+ "vuid": "VUID-vkDestroyDevice-device-parameter",
+ "text": " If <code>device</code> is not <code>NULL</code>, <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
},
{
- "vuid": "VUID-vkDestroyDevice-device-00380",
- "text": " If no <code>VkAllocationCallbacks</code> were provided when <code>device</code> was created, <code>pAllocator</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+ "vuid": "VUID-vkDestroyDevice-pAllocator-null",
+ "text": " <code>pAllocator</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
}
]
},
@@ -933,10 +947,6 @@
],
"(VKSC_VERSION_1_0)": [
{
- "vuid": "VUID-VkCommandPoolCreateInfo-commandPoolResetCommandBuffer-05001",
- "text": " If <a href=\"#limits-commandPoolResetCommandBuffer\"><code>commandPoolResetCommandBuffer</code></a> is <code>VK_FALSE</code>, <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT</code>"
- },
- {
"vuid": "VUID-VkCommandPoolCreateInfo-pNext-05002",
"text": " The <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkCommandPoolMemoryReservationCreateInfo\">VkCommandPoolMemoryReservationCreateInfo</a> structure"
}
@@ -1134,6 +1144,12 @@
"vuid": "VUID-vkResetCommandBuffer-flags-parameter",
"text": " <code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkCommandBufferResetFlagBits\">VkCommandBufferResetFlagBits</a> values"
}
+ ],
+ "(VKSC_VERSION_1_0)": [
+ {
+ "vuid": "VUID-vkResetCommandBuffer-commandPoolResetCommandBuffer-05135",
+ "text": " <a href=\"#limits-commandPoolResetCommandBuffer\"><code>commandPoolResetCommandBuffer</code></a> <strong class=\"purple\">must</strong> be supported"
+ }
]
},
"vkFreeCommandBuffers": {
@@ -1201,6 +1217,10 @@
],
"(VKSC_VERSION_1_0)": [
{
+ "vuid": "VUID-vkBeginCommandBuffer-commandPoolResetCommandBuffer-05136",
+ "text": " If <a href=\"#limits-commandPoolResetCommandBuffer\"><code>commandPoolResetCommandBuffer</code></a> is not supported, <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">initial state</a>"
+ },
+ {
"vuid": "VUID-vkBeginCommandBuffer-commandPoolMultipleCommandBuffersRecording-05007",
"text": " If <a href=\"#limits-commandPoolMultipleCommandBuffersRecording\"><code>commandPoolMultipleCommandBuffersRecording</code></a> is <code>VK_FALSE</code>, then the command pool that <code>commandBuffer</code> was created from <strong class=\"purple\">must</strong> have no other command buffers in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
},
@@ -1693,7 +1713,7 @@
"text": " If the <code>device</code> that <code>semaphore</code> was created on is a device group, <code>deviceIndex</code> <strong class=\"purple\">must</strong> be a valid device index"
}
],
- "(VK_KHR_synchronization2)+(VK_NV_external_sci_sync)": [
+ "(VK_KHR_synchronization2)+(VK_NV_external_sci_sync,VK_NV_external_sci_sync2)": [
{
"vuid": "VUID-VkSemaphoreSubmitInfoKHR-semaphore-05094",
"text": " If <code>semaphore</code> has a payload of <code>NvSciSyncObj</code>, <code>value</code> <strong class=\"purple\">must</strong> be calculated by application via <a href=\"#NvSciSync-extension-page\">NvSciSync APIs</a>."
@@ -2359,7 +2379,7 @@
"text": " The number of {objectnameplural} currently allocated from <code>device</code> plus {objectcount} <strong class=\"purple\">must</strong> be less than or equal to the total number of {objectnameplural} requested via <a href=\"#VkDeviceObjectReservationCreateInfo\">VkDeviceObjectReservationCreateInfo</a>::pname:{objectnamecamelcase}RequestCount specified when <code>device</code> was created"
}
],
- "(VK_NV_external_sci_sync)": [
+ "(VK_NV_external_sci_sync,VK_NV_external_sci_sync2)": [
{
"vuid": "VUID-vkCreateFence-pNext-05106",
"text": " If the <code>pNext</code> chain of <a href=\"#VkFenceCreateInfo\">VkFenceCreateInfo</a> includes <a href=\"#VkExportFenceSciSyncInfoNV\">VkExportFenceSciSyncInfoNV</a>, then <a href=\"#VkFenceCreateInfo\">VkFenceCreateInfo</a>::<code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_FENCE_CREATE_SIGNALED_BIT</code>"
@@ -2419,10 +2439,10 @@
"text": " <code>handleTypes</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkExternalFenceHandleTypeFlagBits\">VkExternalFenceHandleTypeFlagBits</a> values"
}
],
- "(VK_VERSION_1_1,VK_KHR_external_fence)+(VK_NV_external_sci_sync)": [
+ "(VK_VERSION_1_1,VK_KHR_external_fence)+(VK_NV_external_sci_sync,VK_NV_external_sci_sync2)": [
{
"vuid": "VUID-VkExportFenceCreateInfo-pNext-05107",
- "text": " If the <code>pNext</code> chain includes a <a href=\"#VkExportFenceSciSyncInfoNV\">VkExportFenceSciSyncInfoNV</a> structure, <a href=\"#VkPhysicalDeviceExternalSciSyncFeaturesNV\">VkPhysicalDeviceExternalSciSyncFeaturesNV</a>::<code>sciSyncFence</code> and <a href=\"#VkPhysicalDeviceExternalSciSyncFeaturesNV\">VkPhysicalDeviceExternalSciSyncFeaturesNV</a>::<code>sciSyncExport</code> <strong class=\"purple\">must</strong> be enabled"
+ "text": " If the <code>pNext</code> chain includes a <a href=\"#VkExportFenceSciSyncInfoNV\">VkExportFenceSciSyncInfoNV</a> structure, <a href=\"#VkPhysicalDeviceExternalSciSyncFeaturesNV\">VkPhysicalDeviceExternalSciSyncFeaturesNV</a>::<code>sciSyncFence</code> and <a href=\"#VkPhysicalDeviceExternalSciSyncFeaturesNV\">VkPhysicalDeviceExternalSciSyncFeaturesNV</a>::<code>sciSyncExport</code>, or <a href=\"#VkPhysicalDeviceExternalSciSync2FeaturesNV\">VkPhysicalDeviceExternalSciSync2FeaturesNV</a>::<code>sciSyncFence</code> and <a href=\"#VkPhysicalDeviceExternalSciSync2FeaturesNV\">VkPhysicalDeviceExternalSciSync2FeaturesNV</a>::<code>sciSyncExport</code> <strong class=\"purple\">must</strong> be enabled"
}
]
},
@@ -2511,7 +2531,7 @@
]
},
"VkExportFenceSciSyncInfoNV": {
- "(VK_NV_external_sci_sync)": [
+ "(VK_NV_external_sci_sync,VK_NV_external_sci_sync2)": [
{
"vuid": "VUID-VkExportFenceSciSyncInfoNV-pAttributes-05108",
"text": " <code>pAttributes</code> <strong class=\"purple\">must</strong> be a reconciled <code>NvSciSyncAttrList</code>"
@@ -2523,14 +2543,14 @@
]
},
"vkGetPhysicalDeviceSciSyncAttributesNV": {
- "(VK_NV_external_sci_sync)": [
+ "(VK_NV_external_sci_sync,VK_NV_external_sci_sync2)": [
{
"vuid": "VUID-vkGetPhysicalDeviceSciSyncAttributesNV-pSciSyncAttributesInfo-05109",
- "text": " If <code>pSciSyncAttributesInfo-&gt;primitiveType</code> is <code>VK_SCI_SYNC_PRIMITIVE_TYPE_FENCE_NV</code> then <a href=\"#VkPhysicalDeviceExternalSciSyncFeaturesNV\">VkPhysicalDeviceExternalSciSyncFeaturesNV</a>::<code>sciSyncFence</code> <strong class=\"purple\">must</strong> be enabled"
+ "text": " If <code>pSciSyncAttributesInfo-&gt;primitiveType</code> is <code>VK_SCI_SYNC_PRIMITIVE_TYPE_FENCE_NV</code> then <a href=\"#VkPhysicalDeviceExternalSciSyncFeaturesNV\">VkPhysicalDeviceExternalSciSyncFeaturesNV</a>::<code>sciSyncFence</code> or <a href=\"#VkPhysicalDeviceExternalSciSync2FeaturesNV\">VkPhysicalDeviceExternalSciSync2FeaturesNV</a>::<code>sciSyncFence</code> <strong class=\"purple\">must</strong> be enabled"
},
{
"vuid": "VUID-vkGetPhysicalDeviceSciSyncAttributesNV-pSciSyncAttributesInfo-05110",
- "text": " If <code>pSciSyncAttributesInfo-&gt;primitiveType</code> is <code>VK_SCI_SYNC_PRIMITIVE_TYPE_SEMAPHORE_NV</code> then <a href=\"#VkPhysicalDeviceExternalSciSyncFeaturesNV\">VkPhysicalDeviceExternalSciSyncFeaturesNV</a>::<code>sciSyncSemaphore</code> <strong class=\"purple\">must</strong> be enabled"
+ "text": " If <code>pSciSyncAttributesInfo-&gt;primitiveType</code> is <code>VK_SCI_SYNC_PRIMITIVE_TYPE_SEMAPHORE_NV</code> then <a href=\"#VkPhysicalDeviceExternalSciSyncFeaturesNV\">VkPhysicalDeviceExternalSciSyncFeaturesNV</a>::<code>sciSyncSemaphore</code> or <a href=\"#VkPhysicalDeviceExternalSciSync2FeaturesNV\">VkPhysicalDeviceExternalSciSync2FeaturesNV</a>::<code>sciSyncSemaphore2</code> <strong class=\"purple\">must</strong> be enabled"
},
{
"vuid": "VUID-vkGetPhysicalDeviceSciSyncAttributesNV-pAttributes-05111",
@@ -2547,7 +2567,7 @@
]
},
"VkSciSyncAttributesInfoNV": {
- "(VK_NV_external_sci_sync)": [
+ "(VK_NV_external_sci_sync,VK_NV_external_sci_sync2)": [
{
"vuid": "VUID-VkSciSyncAttributesInfoNV-sType-sType",
"text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_SCI_SYNC_ATTRIBUTES_INFO_NV</code>"
@@ -2567,14 +2587,14 @@
]
},
"vkGetFenceSciSyncFenceNV": {
- "(VK_NV_external_sci_sync)": [
+ "(VK_NV_external_sci_sync,VK_NV_external_sci_sync2)": [
{
"vuid": "VUID-vkGetFenceSciSyncFenceNV-pGetSciSyncHandleInfo-05112",
"text": " <code>pGetSciSyncHandleInfo-&gt;handleType</code> <strong class=\"purple\">must</strong> be <code>VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_FENCE_BIT_NV</code>"
},
{
"vuid": "VUID-vkGetFenceSciSyncFenceNV-sciSyncFence-05113",
- "text": " <a href=\"#VkPhysicalDeviceExternalSciSyncFeaturesNV\">VkPhysicalDeviceExternalSciSyncFeaturesNV</a>::<code>sciSyncFence</code> <strong class=\"purple\">must</strong> be enabled"
+ "text": " <a href=\"#VkPhysicalDeviceExternalSciSyncFeaturesNV\">VkPhysicalDeviceExternalSciSyncFeaturesNV</a>::<code>sciSyncFence</code> or <a href=\"#VkPhysicalDeviceExternalSciSync2FeaturesNV\">VkPhysicalDeviceExternalSciSync2FeaturesNV</a>::<code>sciSyncFence</code> <strong class=\"purple\">must</strong> be enabled"
},
{
"vuid": "VUID-vkGetFenceSciSyncFenceNV-device-parameter",
@@ -2591,14 +2611,14 @@
]
},
"vkGetFenceSciSyncObjNV": {
- "(VK_NV_external_sci_sync)": [
+ "(VK_NV_external_sci_sync,VK_NV_external_sci_sync2)": [
{
"vuid": "VUID-vkGetFenceSciSyncObjNV-pGetSciSyncHandleInfo-05114",
"text": " <code>pGetSciSyncHandleInfo-&gt;handleType</code> <strong class=\"purple\">must</strong> be <code>VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV</code>"
},
{
"vuid": "VUID-vkGetFenceSciSyncObjNV-sciSyncFence-05115",
- "text": " <a href=\"#VkPhysicalDeviceExternalSciSyncFeaturesNV\">VkPhysicalDeviceExternalSciSyncFeaturesNV</a>::<code>sciSyncFence</code> <strong class=\"purple\">must</strong> be enabled"
+ "text": " <a href=\"#VkPhysicalDeviceExternalSciSyncFeaturesNV\">VkPhysicalDeviceExternalSciSyncFeaturesNV</a>::<code>sciSyncFence</code> or <a href=\"#VkPhysicalDeviceExternalSciSync2FeaturesNV\">VkPhysicalDeviceExternalSciSync2FeaturesNV</a>::<code>sciSyncFence</code> <strong class=\"purple\">must</strong> be enabled"
},
{
"vuid": "VUID-vkGetFenceSciSyncObjNV-device-parameter",
@@ -2615,11 +2635,7 @@
]
},
"VkFenceGetSciSyncInfoNV": {
- "(VK_NV_external_sci_sync)": [
- {
- "vuid": "VUID-VkFenceGetSciSyncInfoNV-handleType-05116",
- "text": " <code>handleType</code> <strong class=\"purple\">must</strong> be <code>VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV</code> or <code>VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_FENCE_BIT_NV</code>"
- },
+ "(VK_NV_external_sci_sync,VK_NV_external_sci_sync2)": [
{
"vuid": "VUID-VkFenceGetSciSyncInfoNV-sType-sType",
"text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_FENCE_GET_SCI_SYNC_INFO_NV</code>"
@@ -2901,7 +2917,19 @@
]
},
"vkImportFenceSciSyncFenceNV": {
- "(VK_NV_external_sci_sync)": [
+ "(VK_NV_external_sci_sync,VK_NV_external_sci_sync2)": [
+ {
+ "vuid": "VUID-vkImportFenceSciSyncFenceNV-sciSyncImport-05140",
+ "text": " <a href=\"#VkPhysicalDeviceExternalSciSyncFeaturesNV\">VkPhysicalDeviceExternalSciSyncFeaturesNV</a>::<code>sciSyncImport</code> and <a href=\"#VkPhysicalDeviceExternalSciSyncFeaturesNV\">VkPhysicalDeviceExternalSciSyncFeaturesNV</a>::<code>sciSyncFence</code>, or <a href=\"#VkPhysicalDeviceExternalSciSync2FeaturesNV\">VkPhysicalDeviceExternalSciSync2FeaturesNV</a>::<code>sciSyncImport</code> and <a href=\"#VkPhysicalDeviceExternalSciSync2FeaturesNV\">VkPhysicalDeviceExternalSciSync2FeaturesNV</a>::<code>sciSyncFence</code> <strong class=\"purple\">must</strong> be enabled"
+ },
+ {
+ "vuid": "VUID-vkImportFenceSciSyncFenceNV-fence-05141",
+ "text": " <code>fence</code> <strong class=\"purple\">must</strong> not be associated with any queue command that has not yet completed execution on that queue"
+ },
+ {
+ "vuid": "VUID-vkImportFenceSciSyncFenceNV-pImportFenceSciSyncInfo-05142",
+ "text": " <code>pImportFenceSciSyncInfo-&gt;handleType</code> <strong class=\"purple\">must</strong> be <code>VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_FENCE_BIT_NV</code>"
+ },
{
"vuid": "VUID-vkImportFenceSciSyncFenceNV-device-parameter",
"text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
@@ -2913,7 +2941,19 @@
]
},
"vkImportFenceSciSyncObjNV": {
- "(VK_NV_external_sci_sync)": [
+ "(VK_NV_external_sci_sync,VK_NV_external_sci_sync2)": [
+ {
+ "vuid": "VUID-vkImportFenceSciSyncObjNV-sciSyncImport-05143",
+ "text": " <a href=\"#VkPhysicalDeviceExternalSciSyncFeaturesNV\">VkPhysicalDeviceExternalSciSyncFeaturesNV</a>::<code>sciSyncImport</code> and <a href=\"#VkPhysicalDeviceExternalSciSyncFeaturesNV\">VkPhysicalDeviceExternalSciSyncFeaturesNV</a>::<code>sciSyncFence</code>, or <a href=\"#VkPhysicalDeviceExternalSciSync2FeaturesNV\">VkPhysicalDeviceExternalSciSync2FeaturesNV</a>::<code>sciSyncImport</code> and <a href=\"#VkPhysicalDeviceExternalSciSync2FeaturesNV\">VkPhysicalDeviceExternalSciSync2FeaturesNV</a>::<code>sciSyncFence</code> <strong class=\"purple\">must</strong> be enabled"
+ },
+ {
+ "vuid": "VUID-vkImportFenceSciSyncObjNV-fence-05144",
+ "text": " <code>fence</code> <strong class=\"purple\">must</strong> not be associated with any queue command that has not yet completed execution on that queue"
+ },
+ {
+ "vuid": "VUID-vkImportFenceSciSyncObjNV-pImportFenceSciSyncInfo-05145",
+ "text": " <code>pImportFenceSciSyncInfo-&gt;handleType</code> <strong class=\"purple\">must</strong> be <code>VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV</code>"
+ },
{
"vuid": "VUID-vkImportFenceSciSyncObjNV-device-parameter",
"text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
@@ -2925,11 +2965,7 @@
]
},
"VkImportFenceSciSyncInfoNV": {
- "(VK_NV_external_sci_sync)": [
- {
- "vuid": "VUID-VkImportFenceSciSyncInfoNV-handleType-05117",
- "text": " <code>handleType</code> <strong class=\"purple\">must</strong> be a value included in the <a href=\"#synchronization-fence-handletypes-sci-sync\">Handle Types Supported by <code>VkImportFenceSciSyncInfoNV</code></a> table"
- },
+ "(VK_NV_external_sci_sync,VK_NV_external_sci_sync2)": [
{
"vuid": "VUID-VkImportFenceSciSyncInfoNV-sType-sType",
"text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_IMPORT_FENCE_SCI_SYNC_INFO_NV</code>"
@@ -2982,7 +3018,13 @@
"(VK_NV_external_sci_sync)": [
{
"vuid": "VUID-VkSemaphoreCreateInfo-pNext-05118",
- "text": " If the <code>pNext</code> chain includes <a href=\"#VkExportSemaphoreSciSyncInfoNV\">VkExportSemaphoreSciSyncInfoNV</a>, it <strong class=\"purple\">must</strong> also include <a href=\"#VkSemaphoreTypeCreateInfo\">VkSemaphoreTypeCreateInfo</a> with a <a href=\"#VkSemaphoreTypeCreateInfo\">VkSemaphoreTypeCreateInfo</a>&#8594;<code>semaphoreType</code> of <code>VK_SEMAPHORE_TYPE_TIMELINE</code>"
+ "text": " If the <code>pNext</code> chain includes <a href=\"#VkExportSemaphoreSciSyncInfoNV\">VkExportSemaphoreSciSyncInfoNV</a>, it <strong class=\"purple\">must</strong> also include <a href=\"#VkSemaphoreTypeCreateInfo\">VkSemaphoreTypeCreateInfo</a> with a <a href=\"#VkSemaphoreTypeCreateInfo\">VkSemaphoreTypeCreateInfo</a>::<code>semaphoreType</code> of <code>VK_SEMAPHORE_TYPE_TIMELINE</code>"
+ }
+ ],
+ "(VK_NV_external_sci_sync2)": [
+ {
+ "vuid": "VUID-VkSemaphoreCreateInfo-pNext-05146",
+ "text": " If the <code>pNext</code> chain includes <a href=\"#VkSemaphoreSciSyncCreateInfoNV\">VkSemaphoreSciSyncCreateInfoNV</a>, it <strong class=\"purple\">must</strong> also include <a href=\"#VkSemaphoreTypeCreateInfo\">VkSemaphoreTypeCreateInfo</a> with a <a href=\"#VkSemaphoreTypeCreateInfo\">VkSemaphoreTypeCreateInfo</a>::<code>semaphoreType</code> of <code>VK_SEMAPHORE_TYPE_TIMELINE</code>"
}
],
"core": [
@@ -2992,7 +3034,7 @@
},
{
"vuid": "VUID-VkSemaphoreCreateInfo-pNext-pNext",
- "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkExportSemaphoreCreateInfo\">VkExportSemaphoreCreateInfo</a>, <a href=\"#VkExportSemaphoreSciSyncInfoNV\">VkExportSemaphoreSciSyncInfoNV</a>, or <a href=\"#VkSemaphoreTypeCreateInfo\">VkSemaphoreTypeCreateInfo</a>"
+ "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkExportSemaphoreCreateInfo\">VkExportSemaphoreCreateInfo</a>, <a href=\"#VkExportSemaphoreSciSyncInfoNV\">VkExportSemaphoreSciSyncInfoNV</a>, <a href=\"#VkSemaphoreSciSyncCreateInfoNV\">VkSemaphoreSciSyncCreateInfoNV</a>, or <a href=\"#VkSemaphoreTypeCreateInfo\">VkSemaphoreTypeCreateInfo</a>"
},
{
"vuid": "VUID-VkSemaphoreCreateInfo-sType-unique",
@@ -3197,6 +3239,10 @@
"vkGetSemaphoreSciSyncObjNV": {
"(VK_NV_external_sci_sync)": [
{
+ "vuid": "VUID-vkGetSemaphoreSciSyncObjNV-sciSyncSemaphore-05147",
+ "text": " <a href=\"#VkPhysicalDeviceExternalSciSyncFeaturesNV\">VkPhysicalDeviceExternalSciSyncFeaturesNV</a>::<code>sciSyncSemaphore</code> <strong class=\"purple\">must</strong> be enabled"
+ },
+ {
"vuid": "VUID-vkGetSemaphoreSciSyncObjNV-device-parameter",
"text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
},
@@ -3242,13 +3288,51 @@
}
]
},
+ "VkSemaphoreSciSyncCreateInfoNV": {
+ "(VK_NV_external_sci_sync2)": [
+ {
+ "vuid": "VUID-VkSemaphoreSciSyncCreateInfoNV-sciSyncSemaphore2-05148",
+ "text": " The <a href=\"#features-sciSyncSemaphore2\"><a href=\"#VkPhysicalDeviceExternalSciSync2FeaturesNV\">VkPhysicalDeviceExternalSciSync2FeaturesNV</a>::<code>sciSyncSemaphore2</code></a> feature <strong class=\"purple\">must</strong> be enabled"
+ },
+ {
+ "vuid": "VUID-VkSemaphoreSciSyncCreateInfoNV-sType-sType",
+ "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_SEMAPHORE_SCI_SYNC_CREATE_INFO_NV</code>"
+ },
+ {
+ "vuid": "VUID-VkSemaphoreSciSyncCreateInfoNV-semaphorePool-parameter",
+ "text": " <code>semaphorePool</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkSemaphoreSciSyncPoolNV\">VkSemaphoreSciSyncPoolNV</a> handle"
+ },
+ {
+ "vuid": "VUID-VkSemaphoreSciSyncCreateInfoNV-pFence-parameter",
+ "text": " <code>pFence</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <code>NvSciSyncFence</code> value"
+ }
+ ]
+ },
"vkDestroySemaphore": {
- "core": [
+ "!(VK_NV_external_sci_sync2)": [
{
"vuid": "VUID-vkDestroySemaphore-semaphore-01137",
"text": " All submitted batches that refer to <code>semaphore</code> <strong class=\"purple\">must</strong> have completed execution"
+ }
+ ],
+ "(VK_NV_external_sci_sync2)": [
+ {
+ "vuid": "VUID-vkDestroySemaphore-semaphore-05149",
+ "text": " If <code>semaphore</code> was not created with <a href=\"#VkSemaphoreSciSyncCreateInfoNV\">VkSemaphoreSciSyncCreateInfoNV</a> present in the <a href=\"#VkSemaphoreCreateInfo\">VkSemaphoreCreateInfo</a>::<code>pNext</code> chain when it was created, all submitted batches that refer to <code>semaphore</code> <strong class=\"purple\">must</strong> have completed execution"
+ }
+ ],
+ "!(VKSC_VERSION_1_0)": [
+ {
+ "vuid": "VUID-vkDestroySemaphore-semaphore-01138",
+ "text": " If <code>VkAllocationCallbacks</code> were provided when <code>semaphore</code> was created, a compatible set of callbacks <strong class=\"purple\">must</strong> be provided here"
},
{
+ "vuid": "VUID-vkDestroySemaphore-semaphore-01139",
+ "text": " If no <code>VkAllocationCallbacks</code> were provided when <code>semaphore</code> was created, <code>pAllocator</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+ }
+ ],
+ "core": [
+ {
"vuid": "VUID-vkDestroySemaphore-device-parameter",
"text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
},
@@ -3264,15 +3348,79 @@
"vuid": "VUID-vkDestroySemaphore-semaphore-parent",
"text": " If <code>semaphore</code> is a valid handle, it <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
}
+ ]
+ },
+ "vkCreateSemaphoreSciSyncPoolNV": {
+ "(VK_NV_external_sci_sync2)+(VKSC_VERSION_1_0)": [
+ {
+ "vuid": "VUID-vkCreateSemaphoreSciSyncPoolNV-device-05150",
+ "text": " The number of semaphore pools currently allocated from <code>device</code> plus 1 <strong class=\"purple\">must</strong> be less than or equal to the total number of semaphore pools requested via <a href=\"#VkDeviceSemaphoreSciSyncPoolReservationCreateInfoNV\">VkDeviceSemaphoreSciSyncPoolReservationCreateInfoNV</a>::<code>semaphoreSciSyncPoolRequestCount</code> specified when <code>device</code> was created"
+ }
],
- "!(VKSC_VERSION_1_0)": [
+ "(VK_NV_external_sci_sync2)": [
{
- "vuid": "VUID-vkDestroySemaphore-semaphore-01138",
- "text": " If <code>VkAllocationCallbacks</code> were provided when <code>semaphore</code> was created, a compatible set of callbacks <strong class=\"purple\">must</strong> be provided here"
+ "vuid": "VUID-vkCreateSemaphoreSciSyncPoolNV-sciSyncSemaphore2-05151",
+ "text": " The <a href=\"#features-sciSyncSemaphore2\"><a href=\"#VkPhysicalDeviceExternalSciSync2FeaturesNV\">VkPhysicalDeviceExternalSciSync2FeaturesNV</a>::<code>sciSyncSemaphore2</code></a> feature <strong class=\"purple\">must</strong> be enabled"
},
{
- "vuid": "VUID-vkDestroySemaphore-semaphore-01139",
- "text": " If no <code>VkAllocationCallbacks</code> were provided when <code>semaphore</code> was created, <code>pAllocator</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+ "vuid": "VUID-vkCreateSemaphoreSciSyncPoolNV-device-parameter",
+ "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+ },
+ {
+ "vuid": "VUID-vkCreateSemaphoreSciSyncPoolNV-pCreateInfo-parameter",
+ "text": " <code>pCreateInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkSemaphoreSciSyncPoolCreateInfoNV\">VkSemaphoreSciSyncPoolCreateInfoNV</a> structure"
+ },
+ {
+ "vuid": "VUID-vkCreateSemaphoreSciSyncPoolNV-pAllocator-null",
+ "text": " <code>pAllocator</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+ },
+ {
+ "vuid": "VUID-vkCreateSemaphoreSciSyncPoolNV-pSemaphorePool-parameter",
+ "text": " <code>pSemaphorePool</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkSemaphoreSciSyncPoolNV\">VkSemaphoreSciSyncPoolNV</a> handle"
+ }
+ ]
+ },
+ "VkSemaphoreSciSyncPoolCreateInfoNV": {
+ "(VK_NV_external_sci_sync2)": [
+ {
+ "vuid": "VUID-VkSemaphoreSciSyncPoolCreateInfoNV-handle-05152",
+ "text": " <code>handle</code> <strong class=\"purple\">must</strong> a valid <code>NvSciSyncObj</code>"
+ },
+ {
+ "vuid": "VUID-VkSemaphoreSciSyncPoolCreateInfoNV-sType-sType",
+ "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_SEMAPHORE_SCI_SYNC_POOL_CREATE_INFO_NV</code>"
+ },
+ {
+ "vuid": "VUID-VkSemaphoreSciSyncPoolCreateInfoNV-pNext-pNext",
+ "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+ }
+ ]
+ },
+ "vkDestroySemaphoreSciSyncPoolNV": {
+ "(VK_NV_external_sci_sync2)": [
+ {
+ "vuid": "VUID-vkDestroySemaphoreSciSyncPoolNV-semaphorePool-05153",
+ "text": " All submitted batches that refer to a semaphore created from <code>semaphorePool</code> <strong class=\"purple\">must</strong> have completed execution"
+ },
+ {
+ "vuid": "VUID-vkDestroySemaphoreSciSyncPoolNV-sciSyncSemaphore2-05154",
+ "text": " The <a href=\"#features-sciSyncSemaphore2\"><a href=\"#VkPhysicalDeviceExternalSciSync2FeaturesNV\">VkPhysicalDeviceExternalSciSync2FeaturesNV</a>::<code>sciSyncSemaphore2</code></a> feature <strong class=\"purple\">must</strong> be enabled"
+ },
+ {
+ "vuid": "VUID-vkDestroySemaphoreSciSyncPoolNV-device-parameter",
+ "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+ },
+ {
+ "vuid": "VUID-vkDestroySemaphoreSciSyncPoolNV-semaphorePool-parameter",
+ "text": " If <code>semaphorePool</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>semaphorePool</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkSemaphoreSciSyncPoolNV\">VkSemaphoreSciSyncPoolNV</a> handle"
+ },
+ {
+ "vuid": "VUID-vkDestroySemaphoreSciSyncPoolNV-pAllocator-null",
+ "text": " <code>pAllocator</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+ },
+ {
+ "vuid": "VUID-vkDestroySemaphoreSciSyncPoolNV-semaphorePool-parent",
+ "text": " If <code>semaphorePool</code> is a valid handle, it <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
}
]
},
@@ -3343,10 +3491,10 @@
"text": " <code>semaphoreCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
}
],
- "(VK_VERSION_1_2,VK_KHR_timeline_semaphore)+(VK_NV_external_sci_sync)": [
+ "(VK_VERSION_1_2,VK_KHR_timeline_semaphore)+(VK_NV_external_sci_sync,VK_NV_external_sci_sync2)": [
{
"vuid": "VUID-VkSemaphoreWaitInfo-pSemaphores-05124",
- "text": " If any of the semaphores in <code>pSemaphores</code> have <code>NvSciSyncObj</code> as payload, application <strong class=\"purple\">must</strong> calculate the corresponding timeline semaphore values in <code>pValues</code> by calling <a href=\"#NvSciSync-extension-page\">NvSciSync APIs</a>."
+ "text": " If any of the semaphores in <code>pSemaphores</code> have <code>NvSciSyncObj</code> as payload, application <strong class=\"purple\">must</strong> calculate the corresponding timeline semaphore values in <code>pValues</code> by calling <a href=\"#NvSciSync2-extension-page\">NvSciSync APIs</a>."
}
]
},
@@ -3393,10 +3541,10 @@
"text": " <code>semaphore</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkSemaphore\">VkSemaphore</a> handle"
}
],
- "(VK_VERSION_1_2,VK_KHR_timeline_semaphore)+(VK_NV_external_sci_sync)": [
+ "(VK_VERSION_1_2,VK_KHR_timeline_semaphore)+(VK_NV_external_sci_sync,VK_NV_external_sci_sync2)": [
{
"vuid": "VUID-VkSemaphoreSignalInfo-semaphores-05125",
- "text": " If <code>semaphores</code> has <code>NvSciSyncObj</code> as payload, application <strong class=\"purple\">must</strong> calculate the corresponding timeline semaphore value in <code>value</code> by calling <a href=\"#NvSciSync-extension-page\">NvSciSync APIs</a>."
+ "text": " If <code>semaphores</code> has <code>NvSciSyncObj</code> as payload, application <strong class=\"purple\">must</strong> calculate the corresponding timeline semaphore value in <code>value</code> by calling <a href=\"#NvSciSync2-extension-page\">NvSciSync APIs</a>."
}
]
},
@@ -3541,6 +3689,10 @@
"vkImportSemaphoreSciSyncObjNV": {
"(VK_NV_external_sci_sync)": [
{
+ "vuid": "VUID-vkImportSemaphoreSciSyncObjNV-sciSyncImport-05155",
+ "text": " <a href=\"#VkPhysicalDeviceExternalSciSyncFeaturesNV\">VkPhysicalDeviceExternalSciSyncFeaturesNV</a>::<code>sciSyncImport</code> and <a href=\"#VkPhysicalDeviceExternalSciSyncFeaturesNV\">VkPhysicalDeviceExternalSciSyncFeaturesNV</a>::<code>sciSyncSemaphore</code> <strong class=\"purple\">must</strong> be enabled"
+ },
+ {
"vuid": "VUID-vkImportSemaphoreSciSyncObjNV-device-parameter",
"text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
},
@@ -11601,6 +11753,10 @@
{
"vuid": "VUID-VkPipelineCacheCreateInfo-pInitialData-05045",
"text": " The contents of this structure and data pointed to by <code>pInitialData</code> <strong class=\"purple\">must</strong> be the same as specified in one of the <a href=\"#VkDeviceObjectReservationCreateInfo\">VkDeviceObjectReservationCreateInfo</a>::<code>pPipelineCacheCreateInfos</code> structures when the device was created"
+ },
+ {
+ "vuid": "VUID-VkPipelineCacheCreateInfo-pInitialData-05139",
+ "text": " The pipeline cache data pointed to by <code>pInitialData</code> <strong class=\"purple\">must</strong> not contain any pipelines with duplicate pipeline identifiers."
}
],
"core": [
@@ -17648,11 +17804,7 @@
},
{
"vuid": "VUID-VkDescriptorPoolCreateInfo-pPoolSizes-parameter",
- "text": " <code>pPoolSizes</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>poolSizeCount</code> valid <a href=\"#VkDescriptorPoolSize\">VkDescriptorPoolSize</a> structures"
- },
- {
- "vuid": "VUID-VkDescriptorPoolCreateInfo-poolSizeCount-arraylength",
- "text": " <code>poolSizeCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
+ "text": " If <code>poolSizeCount</code> is not <code>0</code>, <code>pPoolSizes</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>poolSizeCount</code> valid <a href=\"#VkDescriptorPoolSize\">VkDescriptorPoolSize</a> structures"
}
],
"(VK_VERSION_1_2,VK_EXT_descriptor_indexing)+(VK_VALVE_mutable_descriptor_type)": [
@@ -39252,6 +39404,14 @@
}
]
},
+ "VkPhysicalDeviceExternalSciSync2FeaturesNV": {
+ "(VK_NV_external_sci_sync2)": [
+ {
+ "vuid": "VUID-VkPhysicalDeviceExternalSciSync2FeaturesNV-sType-sType",
+ "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_2_FEATURES_NV</code>"
+ }
+ ]
+ },
"VkPhysicalDeviceExternalSciBufFeaturesNV": {
"(VK_NV_external_memory_sci_buf)": [
{
@@ -40580,7 +40740,7 @@
"(VKSC_VERSION_1_0)": [
{
"vuid": "VUID-VkFaultData-pNext-05019",
- "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a valid host pointer to an implementation-specific amount of writeable memory."
+ "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a valid pointer to an implementation-specific structure"
},
{
"vuid": "VUID-VkFaultData-sType-sType",
@@ -40631,8 +40791,8 @@
"VkFaultCallbackInfo": {
"(VKSC_VERSION_1_0)": [
{
- "vuid": "VUID-VkFaultCallbackInfo-faultCount-05088",
- "text": " <code>faultCount</code> <strong class=\"purple\">must</strong> be equal to <a href=\"#limits-maxCallbackFaultCount\"><code>VkPhysicalDeviceVulkanSC10Properties</code>::<code>maxCallbackFaultCount</code></a>"
+ "vuid": "VUID-VkFaultCallbackInfo-faultCount-05138",
+ "text": " <code>faultCount</code> <strong class=\"purple\">must</strong> either be 0, or equal to <a href=\"#limits-maxCallbackFaultCount\"><code>VkPhysicalDeviceVulkanSC10Properties</code>::<code>maxCallbackFaultCount</code></a>"
},
{
"vuid": "VUID-VkFaultCallbackInfo-sType-sType",
@@ -40640,15 +40800,11 @@
},
{
"vuid": "VUID-VkFaultCallbackInfo-pFaults-parameter",
- "text": " <code>pFaults</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>faultCount</code> <a href=\"#VkFaultData\">VkFaultData</a> structures"
+ "text": " If <code>faultCount</code> is not <code>0</code>, and <code>pFaults</code> is not <code>NULL</code>, <code>pFaults</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>faultCount</code> <a href=\"#VkFaultData\">VkFaultData</a> structures"
},
{
"vuid": "VUID-VkFaultCallbackInfo-pfnFaultCallback-parameter",
"text": " <code>pfnFaultCallback</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#PFN_vkFaultCallbackFunction\">PFN_vkFaultCallbackFunction</a> value"
- },
- {
- "vuid": "VUID-VkFaultCallbackInfo-faultCount-arraylength",
- "text": " <code>faultCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
}
]
},
diff --git a/registry/vk.xml b/registry/vk.xml
index a077c3b..3c3a199 100644
--- a/registry/vk.xml
+++ b/registry/vk.xml
@@ -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">