From 39a669f332985de4c4d8215f7c0d19d5fb90f5e1 Mon Sep 17 00:00:00 2001 From: Jon Leech <4693344+oddhack@users.noreply.github.com> Date: Mon, 12 Sep 2022 21:02:44 -0700 Subject: Update for VulkanSC-Docs 1.0.11 --- include/vulkan/vulkan_sc_core.h | 16 ++- include/vulkan/vulkan_sc_core.hpp | 26 +++- include/vulkan/vulkan_sci.h | 53 ++++++- registry/cgenerator.py | 2 + registry/genvk.py | 1 + registry/validusage.json | 292 +++++++++++++++++++++++++++++--------- registry/vk.xml | 106 ++++++++++++-- 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(variant)) << 29) | ((static_cast(major)) << 22) | ((static_cast(minor)) << 12) | (static_cast(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(version) >> 29) +#define VK_API_VERSION_MAJOR(version) ((static_cast(version) >> 22) & 0x7FU) +#define VK_API_VERSION_MINOR(version) ((static_cast(version) >> 12) & 0x3FFU) +#define VK_API_VERSION_PATCH(version) (static_cast(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") 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 pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkApplicationParametersEXT, VkDeviceGroupDeviceCreateInfo, VkDeviceObjectReservationCreateInfo, VkFaultCallbackInfo, VkPhysicalDevice16BitStorageFeatures, VkPhysicalDevice4444FormatsFeaturesEXT, VkPhysicalDevice8BitStorageFeatures, VkPhysicalDeviceASTCDecodeFeaturesEXT, VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, VkPhysicalDeviceBufferDeviceAddressFeatures, VkPhysicalDeviceColorWriteEnableFeaturesEXT, VkPhysicalDeviceCustomBorderColorFeaturesEXT, VkPhysicalDeviceDepthClipEnableFeaturesEXT, VkPhysicalDeviceDescriptorIndexingFeatures, VkPhysicalDeviceExtendedDynamicState2FeaturesEXT, VkPhysicalDeviceExtendedDynamicStateFeaturesEXT, VkPhysicalDeviceExternalSciBufFeaturesNV, VkPhysicalDeviceExternalSciSyncFeaturesNV, VkPhysicalDeviceFeatures2, VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT, VkPhysicalDeviceFragmentShadingRateFeaturesKHR, VkPhysicalDeviceHostQueryResetFeatures, VkPhysicalDeviceImageRobustnessFeaturesEXT, VkPhysicalDeviceImagelessFramebufferFeatures, VkPhysicalDeviceIndexTypeUint8FeaturesEXT, VkPhysicalDeviceLineRasterizationFeaturesEXT, VkPhysicalDeviceMultiviewFeatures, VkPhysicalDevicePerformanceQueryFeaturesKHR, VkPhysicalDeviceProtectedMemoryFeatures, VkPhysicalDeviceRobustness2FeaturesEXT, VkPhysicalDeviceSamplerYcbcrConversionFeatures, VkPhysicalDeviceScalarBlockLayoutFeatures, VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures, VkPhysicalDeviceShaderAtomicFloatFeaturesEXT, VkPhysicalDeviceShaderAtomicInt64Features, VkPhysicalDeviceShaderClockFeaturesKHR, VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, VkPhysicalDeviceShaderDrawParametersFeatures, VkPhysicalDeviceShaderFloat16Int8Features, VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT, VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures, VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR, VkPhysicalDeviceSubgroupSizeControlFeaturesEXT, VkPhysicalDeviceSynchronization2FeaturesKHR, VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT, VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, VkPhysicalDeviceTimelineSemaphoreFeatures, VkPhysicalDeviceUniformBufferStandardLayoutFeatures, VkPhysicalDeviceVariablePointersFeatures, VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT, VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT, VkPhysicalDeviceVulkan11Features, VkPhysicalDeviceVulkan12Features, VkPhysicalDeviceVulkanMemoryModelFeatures, VkPhysicalDeviceVulkanSC10Features, VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, or VkPhysicalDeviceYcbcrImageArraysFeaturesEXT" + "text": " Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkApplicationParametersEXT, VkDeviceGroupDeviceCreateInfo, VkDeviceObjectReservationCreateInfo, VkFaultCallbackInfo, VkPhysicalDevice16BitStorageFeatures, VkPhysicalDevice4444FormatsFeaturesEXT, VkPhysicalDevice8BitStorageFeatures, VkPhysicalDeviceASTCDecodeFeaturesEXT, VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, VkPhysicalDeviceBufferDeviceAddressFeatures, VkPhysicalDeviceColorWriteEnableFeaturesEXT, VkPhysicalDeviceCustomBorderColorFeaturesEXT, VkPhysicalDeviceDepthClipEnableFeaturesEXT, VkPhysicalDeviceDescriptorIndexingFeatures, VkPhysicalDeviceExtendedDynamicState2FeaturesEXT, VkPhysicalDeviceExtendedDynamicStateFeaturesEXT, VkPhysicalDeviceExternalSciBufFeaturesNV, VkPhysicalDeviceExternalSciSync2FeaturesNV, VkPhysicalDeviceExternalSciSyncFeaturesNV, VkPhysicalDeviceFeatures2, VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT, VkPhysicalDeviceFragmentShadingRateFeaturesKHR, VkPhysicalDeviceHostQueryResetFeatures, VkPhysicalDeviceImageRobustnessFeaturesEXT, VkPhysicalDeviceImagelessFramebufferFeatures, VkPhysicalDeviceIndexTypeUint8FeaturesEXT, VkPhysicalDeviceLineRasterizationFeaturesEXT, VkPhysicalDeviceMultiviewFeatures, VkPhysicalDevicePerformanceQueryFeaturesKHR, VkPhysicalDeviceProtectedMemoryFeatures, VkPhysicalDeviceRobustness2FeaturesEXT, VkPhysicalDeviceSamplerYcbcrConversionFeatures, VkPhysicalDeviceScalarBlockLayoutFeatures, VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures, VkPhysicalDeviceShaderAtomicFloatFeaturesEXT, VkPhysicalDeviceShaderAtomicInt64Features, VkPhysicalDeviceShaderClockFeaturesKHR, VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, VkPhysicalDeviceShaderDrawParametersFeatures, VkPhysicalDeviceShaderFloat16Int8Features, VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT, VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures, VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR, VkPhysicalDeviceSubgroupSizeControlFeaturesEXT, VkPhysicalDeviceSynchronization2FeaturesKHR, VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT, VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, VkPhysicalDeviceTimelineSemaphoreFeatures, VkPhysicalDeviceUniformBufferStandardLayoutFeatures, VkPhysicalDeviceVariablePointersFeatures, VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT, VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT, VkPhysicalDeviceVulkan11Features, VkPhysicalDeviceVulkan12Features, VkPhysicalDeviceVulkanMemoryModelFeatures, VkPhysicalDeviceVulkanSC10Features, VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, or VkPhysicalDeviceYcbcrImageArraysFeaturesEXT" }, { "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": " sType must be VK_STRUCTURE_TYPE_DEVICE_SEMAPHORE_SCI_SYNC_POOL_RESERVATION_CREATE_INFO_NV" + } + ] + }, "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 device except query pools, descriptor pools, command pools, and device memory must have been destroyed prior to destroying device" + } + ], + "!(VKSC_VERSION_1_0)": [ { "vuid": "VUID-vkDestroyDevice-device-00378", "text": " All child objects created on device must have been destroyed prior to destroying device" }, { - "vuid": "VUID-vkDestroyDevice-device-parameter", - "text": " If device is not NULL, device must be a valid VkDevice handle" + "vuid": "VUID-vkDestroyDevice-device-00379", + "text": " If VkAllocationCallbacks were provided when device was created, a compatible set of callbacks must be provided here" }, { - "vuid": "VUID-vkDestroyDevice-pAllocator-null", - "text": " pAllocator must be NULL" + "vuid": "VUID-vkDestroyDevice-device-00380", + "text": " If no VkAllocationCallbacks were provided when device was created, pAllocator must be NULL" } ], - "!(VKSC_VERSION_1_0)": [ + "core": [ { - "vuid": "VUID-vkDestroyDevice-device-00379", - "text": " If VkAllocationCallbacks were provided when device was created, a compatible set of callbacks must be provided here" + "vuid": "VUID-vkDestroyDevice-device-parameter", + "text": " If device is not NULL, device must be a valid VkDevice handle" }, { - "vuid": "VUID-vkDestroyDevice-device-00380", - "text": " If no VkAllocationCallbacks were provided when device was created, pAllocator must be NULL" + "vuid": "VUID-vkDestroyDevice-pAllocator-null", + "text": " pAllocator must be NULL" } ] }, @@ -932,10 +946,6 @@ } ], "(VKSC_VERSION_1_0)": [ - { - "vuid": "VUID-VkCommandPoolCreateInfo-commandPoolResetCommandBuffer-05001", - "text": " If commandPoolResetCommandBuffer is VK_FALSE, flags must not include VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT" - }, { "vuid": "VUID-VkCommandPoolCreateInfo-pNext-05002", "text": " The pNext chain must include a VkCommandPoolMemoryReservationCreateInfo structure" @@ -1134,6 +1144,12 @@ "vuid": "VUID-vkResetCommandBuffer-flags-parameter", "text": " flags must be a valid combination of VkCommandBufferResetFlagBits values" } + ], + "(VKSC_VERSION_1_0)": [ + { + "vuid": "VUID-vkResetCommandBuffer-commandPoolResetCommandBuffer-05135", + "text": " commandPoolResetCommandBuffer must be supported" + } ] }, "vkFreeCommandBuffers": { @@ -1200,6 +1216,10 @@ } ], "(VKSC_VERSION_1_0)": [ + { + "vuid": "VUID-vkBeginCommandBuffer-commandPoolResetCommandBuffer-05136", + "text": " If commandPoolResetCommandBuffer is not supported, commandBuffer must be in the initial state" + }, { "vuid": "VUID-vkBeginCommandBuffer-commandPoolMultipleCommandBuffersRecording-05007", "text": " If commandPoolMultipleCommandBuffersRecording is VK_FALSE, then the command pool that commandBuffer was created from must have no other command buffers in the recording state" @@ -1693,7 +1713,7 @@ "text": " If the device that semaphore was created on is a device group, deviceIndex must 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 semaphore has a payload of NvSciSyncObj, value must be calculated by application via NvSciSync APIs." @@ -2359,7 +2379,7 @@ "text": " The number of {objectnameplural} currently allocated from device plus {objectcount} must be less than or equal to the total number of {objectnameplural} requested via VkDeviceObjectReservationCreateInfo::pname:{objectnamecamelcase}RequestCount specified when device 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 pNext chain of VkFenceCreateInfo includes VkExportFenceSciSyncInfoNV, then VkFenceCreateInfo::flags must not include VK_FENCE_CREATE_SIGNALED_BIT" @@ -2419,10 +2439,10 @@ "text": " handleTypes must be a valid combination of VkExternalFenceHandleTypeFlagBits 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 pNext chain includes a VkExportFenceSciSyncInfoNV structure, VkPhysicalDeviceExternalSciSyncFeaturesNV::sciSyncFence and VkPhysicalDeviceExternalSciSyncFeaturesNV::sciSyncExport must be enabled" + "text": " If the pNext chain includes a VkExportFenceSciSyncInfoNV structure, VkPhysicalDeviceExternalSciSyncFeaturesNV::sciSyncFence and VkPhysicalDeviceExternalSciSyncFeaturesNV::sciSyncExport, or VkPhysicalDeviceExternalSciSync2FeaturesNV::sciSyncFence and VkPhysicalDeviceExternalSciSync2FeaturesNV::sciSyncExport must 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": " pAttributes must be a reconciled NvSciSyncAttrList" @@ -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 pSciSyncAttributesInfo->primitiveType is VK_SCI_SYNC_PRIMITIVE_TYPE_FENCE_NV then VkPhysicalDeviceExternalSciSyncFeaturesNV::sciSyncFence must be enabled" + "text": " If pSciSyncAttributesInfo->primitiveType is VK_SCI_SYNC_PRIMITIVE_TYPE_FENCE_NV then VkPhysicalDeviceExternalSciSyncFeaturesNV::sciSyncFence or VkPhysicalDeviceExternalSciSync2FeaturesNV::sciSyncFence must be enabled" }, { "vuid": "VUID-vkGetPhysicalDeviceSciSyncAttributesNV-pSciSyncAttributesInfo-05110", - "text": " If pSciSyncAttributesInfo->primitiveType is VK_SCI_SYNC_PRIMITIVE_TYPE_SEMAPHORE_NV then VkPhysicalDeviceExternalSciSyncFeaturesNV::sciSyncSemaphore must be enabled" + "text": " If pSciSyncAttributesInfo->primitiveType is VK_SCI_SYNC_PRIMITIVE_TYPE_SEMAPHORE_NV then VkPhysicalDeviceExternalSciSyncFeaturesNV::sciSyncSemaphore or VkPhysicalDeviceExternalSciSync2FeaturesNV::sciSyncSemaphore2 must 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": " sType must be VK_STRUCTURE_TYPE_SCI_SYNC_ATTRIBUTES_INFO_NV" @@ -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": " pGetSciSyncHandleInfo->handleType must be VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_FENCE_BIT_NV" }, { "vuid": "VUID-vkGetFenceSciSyncFenceNV-sciSyncFence-05113", - "text": " VkPhysicalDeviceExternalSciSyncFeaturesNV::sciSyncFence must be enabled" + "text": " VkPhysicalDeviceExternalSciSyncFeaturesNV::sciSyncFence or VkPhysicalDeviceExternalSciSync2FeaturesNV::sciSyncFence must 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": " pGetSciSyncHandleInfo->handleType must be VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV" }, { "vuid": "VUID-vkGetFenceSciSyncObjNV-sciSyncFence-05115", - "text": " VkPhysicalDeviceExternalSciSyncFeaturesNV::sciSyncFence must be enabled" + "text": " VkPhysicalDeviceExternalSciSyncFeaturesNV::sciSyncFence or VkPhysicalDeviceExternalSciSync2FeaturesNV::sciSyncFence must be enabled" }, { "vuid": "VUID-vkGetFenceSciSyncObjNV-device-parameter", @@ -2615,11 +2635,7 @@ ] }, "VkFenceGetSciSyncInfoNV": { - "(VK_NV_external_sci_sync)": [ - { - "vuid": "VUID-VkFenceGetSciSyncInfoNV-handleType-05116", - "text": " handleType must be VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV or VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_FENCE_BIT_NV" - }, + "(VK_NV_external_sci_sync,VK_NV_external_sci_sync2)": [ { "vuid": "VUID-VkFenceGetSciSyncInfoNV-sType-sType", "text": " sType must be VK_STRUCTURE_TYPE_FENCE_GET_SCI_SYNC_INFO_NV" @@ -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": " VkPhysicalDeviceExternalSciSyncFeaturesNV::sciSyncImport and VkPhysicalDeviceExternalSciSyncFeaturesNV::sciSyncFence, or VkPhysicalDeviceExternalSciSync2FeaturesNV::sciSyncImport and VkPhysicalDeviceExternalSciSync2FeaturesNV::sciSyncFence must be enabled" + }, + { + "vuid": "VUID-vkImportFenceSciSyncFenceNV-fence-05141", + "text": " fence must not be associated with any queue command that has not yet completed execution on that queue" + }, + { + "vuid": "VUID-vkImportFenceSciSyncFenceNV-pImportFenceSciSyncInfo-05142", + "text": " pImportFenceSciSyncInfo->handleType must be VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_FENCE_BIT_NV" + }, { "vuid": "VUID-vkImportFenceSciSyncFenceNV-device-parameter", "text": " device must be a valid VkDevice 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": " VkPhysicalDeviceExternalSciSyncFeaturesNV::sciSyncImport and VkPhysicalDeviceExternalSciSyncFeaturesNV::sciSyncFence, or VkPhysicalDeviceExternalSciSync2FeaturesNV::sciSyncImport and VkPhysicalDeviceExternalSciSync2FeaturesNV::sciSyncFence must be enabled" + }, + { + "vuid": "VUID-vkImportFenceSciSyncObjNV-fence-05144", + "text": " fence must not be associated with any queue command that has not yet completed execution on that queue" + }, + { + "vuid": "VUID-vkImportFenceSciSyncObjNV-pImportFenceSciSyncInfo-05145", + "text": " pImportFenceSciSyncInfo->handleType must be VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV" + }, { "vuid": "VUID-vkImportFenceSciSyncObjNV-device-parameter", "text": " device must be a valid VkDevice handle" @@ -2925,11 +2965,7 @@ ] }, "VkImportFenceSciSyncInfoNV": { - "(VK_NV_external_sci_sync)": [ - { - "vuid": "VUID-VkImportFenceSciSyncInfoNV-handleType-05117", - "text": " handleType must be a value included in the Handle Types Supported by VkImportFenceSciSyncInfoNV table" - }, + "(VK_NV_external_sci_sync,VK_NV_external_sci_sync2)": [ { "vuid": "VUID-VkImportFenceSciSyncInfoNV-sType-sType", "text": " sType must be VK_STRUCTURE_TYPE_IMPORT_FENCE_SCI_SYNC_INFO_NV" @@ -2982,7 +3018,13 @@ "(VK_NV_external_sci_sync)": [ { "vuid": "VUID-VkSemaphoreCreateInfo-pNext-05118", - "text": " If the pNext chain includes VkExportSemaphoreSciSyncInfoNV, it must also include VkSemaphoreTypeCreateInfo with a VkSemaphoreTypeCreateInfosemaphoreType of VK_SEMAPHORE_TYPE_TIMELINE" + "text": " If the pNext chain includes VkExportSemaphoreSciSyncInfoNV, it must also include VkSemaphoreTypeCreateInfo with a VkSemaphoreTypeCreateInfo::semaphoreType of VK_SEMAPHORE_TYPE_TIMELINE" + } + ], + "(VK_NV_external_sci_sync2)": [ + { + "vuid": "VUID-VkSemaphoreCreateInfo-pNext-05146", + "text": " If the pNext chain includes VkSemaphoreSciSyncCreateInfoNV, it must also include VkSemaphoreTypeCreateInfo with a VkSemaphoreTypeCreateInfo::semaphoreType of VK_SEMAPHORE_TYPE_TIMELINE" } ], "core": [ @@ -2992,7 +3034,7 @@ }, { "vuid": "VUID-VkSemaphoreCreateInfo-pNext-pNext", - "text": " Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkExportSemaphoreCreateInfo, VkExportSemaphoreSciSyncInfoNV, or VkSemaphoreTypeCreateInfo" + "text": " Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkExportSemaphoreCreateInfo, VkExportSemaphoreSciSyncInfoNV, VkSemaphoreSciSyncCreateInfoNV, or VkSemaphoreTypeCreateInfo" }, { "vuid": "VUID-VkSemaphoreCreateInfo-sType-unique", @@ -3196,6 +3238,10 @@ }, "vkGetSemaphoreSciSyncObjNV": { "(VK_NV_external_sci_sync)": [ + { + "vuid": "VUID-vkGetSemaphoreSciSyncObjNV-sciSyncSemaphore-05147", + "text": " VkPhysicalDeviceExternalSciSyncFeaturesNV::sciSyncSemaphore must be enabled" + }, { "vuid": "VUID-vkGetSemaphoreSciSyncObjNV-device-parameter", "text": " device must be a valid VkDevice handle" @@ -3242,12 +3288,50 @@ } ] }, + "VkSemaphoreSciSyncCreateInfoNV": { + "(VK_NV_external_sci_sync2)": [ + { + "vuid": "VUID-VkSemaphoreSciSyncCreateInfoNV-sciSyncSemaphore2-05148", + "text": " The VkPhysicalDeviceExternalSciSync2FeaturesNV::sciSyncSemaphore2 feature must be enabled" + }, + { + "vuid": "VUID-VkSemaphoreSciSyncCreateInfoNV-sType-sType", + "text": " sType must be VK_STRUCTURE_TYPE_SEMAPHORE_SCI_SYNC_CREATE_INFO_NV" + }, + { + "vuid": "VUID-VkSemaphoreSciSyncCreateInfoNV-semaphorePool-parameter", + "text": " semaphorePool must be a valid VkSemaphoreSciSyncPoolNV handle" + }, + { + "vuid": "VUID-VkSemaphoreSciSyncCreateInfoNV-pFence-parameter", + "text": " pFence must be a valid pointer to a valid NvSciSyncFence value" + } + ] + }, "vkDestroySemaphore": { - "core": [ + "!(VK_NV_external_sci_sync2)": [ { "vuid": "VUID-vkDestroySemaphore-semaphore-01137", "text": " All submitted batches that refer to semaphore must have completed execution" + } + ], + "(VK_NV_external_sci_sync2)": [ + { + "vuid": "VUID-vkDestroySemaphore-semaphore-05149", + "text": " If semaphore was not created with VkSemaphoreSciSyncCreateInfoNV present in the VkSemaphoreCreateInfo::pNext chain when it was created, all submitted batches that refer to semaphore must have completed execution" + } + ], + "!(VKSC_VERSION_1_0)": [ + { + "vuid": "VUID-vkDestroySemaphore-semaphore-01138", + "text": " If VkAllocationCallbacks were provided when semaphore was created, a compatible set of callbacks must be provided here" }, + { + "vuid": "VUID-vkDestroySemaphore-semaphore-01139", + "text": " If no VkAllocationCallbacks were provided when semaphore was created, pAllocator must be NULL" + } + ], + "core": [ { "vuid": "VUID-vkDestroySemaphore-device-parameter", "text": " device must be a valid VkDevice handle" @@ -3264,15 +3348,79 @@ "vuid": "VUID-vkDestroySemaphore-semaphore-parent", "text": " If semaphore is a valid handle, it must have been created, allocated, or retrieved from device" } + ] + }, + "vkCreateSemaphoreSciSyncPoolNV": { + "(VK_NV_external_sci_sync2)+(VKSC_VERSION_1_0)": [ + { + "vuid": "VUID-vkCreateSemaphoreSciSyncPoolNV-device-05150", + "text": " The number of semaphore pools currently allocated from device plus 1 must be less than or equal to the total number of semaphore pools requested via VkDeviceSemaphoreSciSyncPoolReservationCreateInfoNV::semaphoreSciSyncPoolRequestCount specified when device was created" + } ], - "!(VKSC_VERSION_1_0)": [ + "(VK_NV_external_sci_sync2)": [ { - "vuid": "VUID-vkDestroySemaphore-semaphore-01138", - "text": " If VkAllocationCallbacks were provided when semaphore was created, a compatible set of callbacks must be provided here" + "vuid": "VUID-vkCreateSemaphoreSciSyncPoolNV-sciSyncSemaphore2-05151", + "text": " The VkPhysicalDeviceExternalSciSync2FeaturesNV::sciSyncSemaphore2 feature must be enabled" }, { - "vuid": "VUID-vkDestroySemaphore-semaphore-01139", - "text": " If no VkAllocationCallbacks were provided when semaphore was created, pAllocator must be NULL" + "vuid": "VUID-vkCreateSemaphoreSciSyncPoolNV-device-parameter", + "text": " device must be a valid VkDevice handle" + }, + { + "vuid": "VUID-vkCreateSemaphoreSciSyncPoolNV-pCreateInfo-parameter", + "text": " pCreateInfo must be a valid pointer to a valid VkSemaphoreSciSyncPoolCreateInfoNV structure" + }, + { + "vuid": "VUID-vkCreateSemaphoreSciSyncPoolNV-pAllocator-null", + "text": " pAllocator must be NULL" + }, + { + "vuid": "VUID-vkCreateSemaphoreSciSyncPoolNV-pSemaphorePool-parameter", + "text": " pSemaphorePool must be a valid pointer to a VkSemaphoreSciSyncPoolNV handle" + } + ] + }, + "VkSemaphoreSciSyncPoolCreateInfoNV": { + "(VK_NV_external_sci_sync2)": [ + { + "vuid": "VUID-VkSemaphoreSciSyncPoolCreateInfoNV-handle-05152", + "text": " handle must a valid NvSciSyncObj" + }, + { + "vuid": "VUID-VkSemaphoreSciSyncPoolCreateInfoNV-sType-sType", + "text": " sType must be VK_STRUCTURE_TYPE_SEMAPHORE_SCI_SYNC_POOL_CREATE_INFO_NV" + }, + { + "vuid": "VUID-VkSemaphoreSciSyncPoolCreateInfoNV-pNext-pNext", + "text": " pNext must be NULL" + } + ] + }, + "vkDestroySemaphoreSciSyncPoolNV": { + "(VK_NV_external_sci_sync2)": [ + { + "vuid": "VUID-vkDestroySemaphoreSciSyncPoolNV-semaphorePool-05153", + "text": " All submitted batches that refer to a semaphore created from semaphorePool must have completed execution" + }, + { + "vuid": "VUID-vkDestroySemaphoreSciSyncPoolNV-sciSyncSemaphore2-05154", + "text": " The VkPhysicalDeviceExternalSciSync2FeaturesNV::sciSyncSemaphore2 feature must be enabled" + }, + { + "vuid": "VUID-vkDestroySemaphoreSciSyncPoolNV-device-parameter", + "text": " device must be a valid VkDevice handle" + }, + { + "vuid": "VUID-vkDestroySemaphoreSciSyncPoolNV-semaphorePool-parameter", + "text": " If semaphorePool is not VK_NULL_HANDLE, semaphorePool must be a valid VkSemaphoreSciSyncPoolNV handle" + }, + { + "vuid": "VUID-vkDestroySemaphoreSciSyncPoolNV-pAllocator-null", + "text": " pAllocator must be NULL" + }, + { + "vuid": "VUID-vkDestroySemaphoreSciSyncPoolNV-semaphorePool-parent", + "text": " If semaphorePool is a valid handle, it must have been created, allocated, or retrieved from device" } ] }, @@ -3343,10 +3491,10 @@ "text": " semaphoreCount must be greater than 0" } ], - "(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 pSemaphores have NvSciSyncObj as payload, application must calculate the corresponding timeline semaphore values in pValues by calling NvSciSync APIs." + "text": " If any of the semaphores in pSemaphores have NvSciSyncObj as payload, application must calculate the corresponding timeline semaphore values in pValues by calling NvSciSync APIs." } ] }, @@ -3393,10 +3541,10 @@ "text": " semaphore must be a valid VkSemaphore 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 semaphores has NvSciSyncObj as payload, application must calculate the corresponding timeline semaphore value in value by calling NvSciSync APIs." + "text": " If semaphores has NvSciSyncObj as payload, application must calculate the corresponding timeline semaphore value in value by calling NvSciSync APIs." } ] }, @@ -3540,6 +3688,10 @@ }, "vkImportSemaphoreSciSyncObjNV": { "(VK_NV_external_sci_sync)": [ + { + "vuid": "VUID-vkImportSemaphoreSciSyncObjNV-sciSyncImport-05155", + "text": " VkPhysicalDeviceExternalSciSyncFeaturesNV::sciSyncImport and VkPhysicalDeviceExternalSciSyncFeaturesNV::sciSyncSemaphore must be enabled" + }, { "vuid": "VUID-vkImportSemaphoreSciSyncObjNV-device-parameter", "text": " device must be a valid VkDevice handle" @@ -11601,6 +11753,10 @@ { "vuid": "VUID-VkPipelineCacheCreateInfo-pInitialData-05045", "text": " The contents of this structure and data pointed to by pInitialData must be the same as specified in one of the VkDeviceObjectReservationCreateInfo::pPipelineCacheCreateInfos structures when the device was created" + }, + { + "vuid": "VUID-VkPipelineCacheCreateInfo-pInitialData-05139", + "text": " The pipeline cache data pointed to by pInitialData must not contain any pipelines with duplicate pipeline identifiers." } ], "core": [ @@ -17648,11 +17804,7 @@ }, { "vuid": "VUID-VkDescriptorPoolCreateInfo-pPoolSizes-parameter", - "text": " pPoolSizes must be a valid pointer to an array of poolSizeCount valid VkDescriptorPoolSize structures" - }, - { - "vuid": "VUID-VkDescriptorPoolCreateInfo-poolSizeCount-arraylength", - "text": " poolSizeCount must be greater than 0" + "text": " If poolSizeCount is not 0, pPoolSizes must be a valid pointer to an array of poolSizeCount valid VkDescriptorPoolSize 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": " sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_2_FEATURES_NV" + } + ] + }, "VkPhysicalDeviceExternalSciBufFeaturesNV": { "(VK_NV_external_memory_sci_buf)": [ { @@ -40580,7 +40740,7 @@ "(VKSC_VERSION_1_0)": [ { "vuid": "VUID-VkFaultData-pNext-05019", - "text": " pNext must be NULL or a valid host pointer to an implementation-specific amount of writeable memory." + "text": " pNext must be NULL 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": " faultCount must be equal to VkPhysicalDeviceVulkanSC10Properties::maxCallbackFaultCount" + "vuid": "VUID-VkFaultCallbackInfo-faultCount-05138", + "text": " faultCount must either be 0, or equal to VkPhysicalDeviceVulkanSC10Properties::maxCallbackFaultCount" }, { "vuid": "VUID-VkFaultCallbackInfo-sType-sType", @@ -40640,15 +40800,11 @@ }, { "vuid": "VUID-VkFaultCallbackInfo-pFaults-parameter", - "text": " pFaults must be a valid pointer to an array of faultCount VkFaultData structures" + "text": " If faultCount is not 0, and pFaults is not NULL, pFaults must be a valid pointer to an array of faultCount VkFaultData structures" }, { "vuid": "VUID-VkFaultCallbackInfo-pfnFaultCallback-parameter", "text": " pfnFaultCallback must be a valid PFN_vkFaultCallbackFunction value" - }, - { - "vuid": "VUID-VkFaultCallbackInfo-faultCount-arraylength", - "text": " faultCount must be greater than 0" } ] }, 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. + + @@ -172,7 +174,7 @@ branch of the member gitlab server. #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION) // Version of this file -#define VK_HEADER_VERSION 10 +#define VK_HEADER_VERSION 11 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(VKSC_API_VARIANT, 1, 0, VK_HEADER_VERSION) @@ -501,6 +503,9 @@ typedef void CAMetalLayer; VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionKHR) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionParametersKHR) + VK_NV_external_sci_sync2 + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphoreSciSyncPoolNV) + Types generated from corresponding enums tags below @@ -1255,7 +1260,7 @@ typedef void CAMetalLayer; const void* pNext VkDescriptorPoolCreateFlags flags uint32_t maxSets - uint32_t poolSizeCount + uint32_t poolSizeCount const VkDescriptorPoolSize* pPoolSizes @@ -2683,7 +2688,7 @@ typedef void CAMetalLayer; const void* pNext VkFence fence VkExternalFenceHandleTypeFlagBits handleType - const void* handle + void* handle VkStructureType sType @@ -2701,7 +2706,7 @@ typedef void CAMetalLayer; const void* pNext VkSemaphore semaphore VkExternalSemaphoreHandleTypeFlagBits handleType - const void* handle + void* handle VkStructureType sType @@ -2723,6 +2728,30 @@ typedef void CAMetalLayer; VkBool32 sciSyncImport VkBool32 sciSyncExport + + VkStructureType sType + void* pNext + VkBool32 sciSyncFence + VkBool32 sciSyncSemaphore2 + VkBool32 sciSyncImport + VkBool32 sciSyncExport + + + VkStructureType sType + const void* pNext + NvSciSyncObj handle + + + VkStructureType sType + const void* pNext + VkSemaphoreSciSyncPoolNV semaphorePool + const NvSciSyncFence* pFence + + + VkStructureType sType + const void* pNext + uint32_t semaphoreSciSyncPoolRequestCount + VkStructureType sType void* pNext @@ -5157,8 +5186,8 @@ typedef void CAMetalLayer; VkStructureType sType void* pNext - uint32_t faultCount - VkFaultData*pFaults + uint32_t faultCount + VkFaultData*pFaults PFN_vkFaultCallbackFunction pfnFaultCallback @@ -10100,6 +10129,19 @@ typedef void CAMetalLayer; const VkSciSyncAttributesInfoNV* pSciSyncAttributesInfo NvSciSyncAttrList pAttributes + + VkResult vkCreateSemaphoreSciSyncPoolNV + VkDevice device + const VkSemaphoreSciSyncPoolCreateInfoNV* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkSemaphoreSciSyncPoolNV* pSemaphorePool + + + void vkDestroySemaphoreSciSyncPoolNV + VkDevice device + VkSemaphoreSciSyncPoolNV semaphorePool + const VkAllocationCallbacks* pAllocator + VkResult vkReleaseDisplayEXT VkPhysicalDevice physicalDevice @@ -12815,7 +12857,7 @@ typedef void CAMetalLayer; - + @@ -13668,12 +13710,11 @@ typedef void CAMetalLayer; - + - - - - + + + @@ -17714,7 +17755,7 @@ typedef void CAMetalLayer; - + @@ -18257,6 +18298,45 @@ typedef void CAMetalLayer; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- cgit v1.2.3