From 87e53f6cc7b7c57e778d42df09df3c2fe80919b3 Mon Sep 17 00:00:00 2001 From: Jon Leech <4693344+oddhack@users.noreply.github.com> Date: Thu, 26 May 2022 04:46:55 -0700 Subject: [PATCH] Update for VulkanSC-Docs 1.0.10 --- include/vulkan/vulkan_sc.h | 6 + include/vulkan/vulkan_sc_core.h | 19 +- include/vulkan/vulkan_sc_core.hpp | 19 +- include/vulkan/vulkan_sci.h | 200 ++++++++++ registry/genvk.py | 2 + registry/validusage.json | 628 ++++++++++++++++++++++++------ registry/vk.xml | 213 +++++++++- registry/vkconventions.py | 2 +- 8 files changed, 951 insertions(+), 138 deletions(-) create mode 100644 include/vulkan/vulkan_sci.h diff --git a/include/vulkan/vulkan_sc.h b/include/vulkan/vulkan_sc.h index 3723e96..3f04b51 100644 --- a/include/vulkan/vulkan_sc.h +++ b/include/vulkan/vulkan_sc.h @@ -85,6 +85,12 @@ #include "vulkan_screen.h" #endif +#ifdef VK_USE_PLATFORM_SCI +#include +#include +#include "vulkan_sci.h" +#endif + #ifdef VK_ENABLE_BETA_EXTENSIONS #include "vulkan_beta.h" diff --git a/include/vulkan/vulkan_sc_core.h b/include/vulkan/vulkan_sc_core.h index 8e21555..bea5295 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 9 +#define VK_HEADER_VERSION 10 // Vulkan SC variant number #define VKSC_API_VARIANT 1 @@ -465,6 +465,19 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000, VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001, VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002, + VK_STRUCTURE_TYPE_IMPORT_FENCE_SCI_SYNC_INFO_NV = 1000373000, + VK_STRUCTURE_TYPE_EXPORT_FENCE_SCI_SYNC_INFO_NV = 1000373001, + VK_STRUCTURE_TYPE_FENCE_GET_SCI_SYNC_INFO_NV = 1000373002, + VK_STRUCTURE_TYPE_SCI_SYNC_ATTRIBUTES_INFO_NV = 1000373003, + VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_SCI_SYNC_INFO_NV = 1000373004, + VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_SCI_SYNC_INFO_NV = 1000373005, + VK_STRUCTURE_TYPE_SEMAPHORE_GET_SCI_SYNC_INFO_NV = 1000373006, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_FEATURES_NV = 1000373007, + VK_STRUCTURE_TYPE_IMPORT_MEMORY_SCI_BUF_INFO_NV = 1000374000, + VK_STRUCTURE_TYPE_EXPORT_MEMORY_SCI_BUF_INFO_NV = 1000374001, + VK_STRUCTURE_TYPE_MEMORY_GET_SCI_BUF_INFO_NV = 1000374002, + VK_STRUCTURE_TYPE_MEMORY_SCI_BUF_PROPERTIES_NV = 1000374003, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_BUF_FEATURES_NV = 1000374004, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000, VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001, @@ -3541,6 +3554,7 @@ typedef VkFlags VkExternalMemoryHandleTypeFlagBits; #define VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT 0x00000200U #define VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT 0x00000080U #define VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT 0x00000100U +#define VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCI_BUF_BIT_NV 0x00002000U typedef VkFlags VkExternalMemoryHandleTypeFlags; @@ -3558,6 +3572,8 @@ typedef VkFlags VkExternalFenceHandleTypeFlagBits; #define VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT 0x00000002U #define VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT 0x00000004U #define VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT 0x00000008U +#define VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV 0x00000010U +#define VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_FENCE_BIT_NV 0x00000020U typedef VkFlags VkExternalFenceHandleTypeFlags; @@ -3587,6 +3603,7 @@ typedef VkFlags VkExternalSemaphoreHandleTypeFlagBits; #define VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT 0x00000004U #define VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT 0x00000008U #define VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT 0x00000010U +#define VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV 0x00000020U #define VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT typedef VkFlags VkExternalSemaphoreHandleTypeFlags; diff --git a/include/vulkan/vulkan_sc_core.hpp b/include/vulkan/vulkan_sc_core.hpp index 1f87756..124cb7d 100644 --- a/include/vulkan/vulkan_sc_core.hpp +++ b/include/vulkan/vulkan_sc_core.hpp @@ -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 9 +#define VK_HEADER_VERSION 10 // Vulkan SC variant number #define VKSC_API_VARIANT 1 @@ -465,6 +465,19 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000, VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001, VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002, + VK_STRUCTURE_TYPE_IMPORT_FENCE_SCI_SYNC_INFO_NV = 1000373000, + VK_STRUCTURE_TYPE_EXPORT_FENCE_SCI_SYNC_INFO_NV = 1000373001, + VK_STRUCTURE_TYPE_FENCE_GET_SCI_SYNC_INFO_NV = 1000373002, + VK_STRUCTURE_TYPE_SCI_SYNC_ATTRIBUTES_INFO_NV = 1000373003, + VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_SCI_SYNC_INFO_NV = 1000373004, + VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_SCI_SYNC_INFO_NV = 1000373005, + VK_STRUCTURE_TYPE_SEMAPHORE_GET_SCI_SYNC_INFO_NV = 1000373006, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_FEATURES_NV = 1000373007, + VK_STRUCTURE_TYPE_IMPORT_MEMORY_SCI_BUF_INFO_NV = 1000374000, + VK_STRUCTURE_TYPE_EXPORT_MEMORY_SCI_BUF_INFO_NV = 1000374001, + VK_STRUCTURE_TYPE_MEMORY_GET_SCI_BUF_INFO_NV = 1000374002, + VK_STRUCTURE_TYPE_MEMORY_SCI_BUF_PROPERTIES_NV = 1000374003, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_BUF_FEATURES_NV = 1000374004, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000, VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001, @@ -3541,6 +3554,7 @@ static constexpr VkExternalMemoryHandleTypeFlagBits VK_EXTERNAL_MEMORY_HANDLE_TY static constexpr VkExternalMemoryHandleTypeFlagBits VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT {0x00000200U}; static constexpr VkExternalMemoryHandleTypeFlagBits VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT {0x00000080U}; static constexpr VkExternalMemoryHandleTypeFlagBits VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT {0x00000100U}; +static constexpr VkExternalMemoryHandleTypeFlagBits VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCI_BUF_BIT_NV {0x00002000U}; typedef VkFlags VkExternalMemoryHandleTypeFlags; @@ -3558,6 +3572,8 @@ static constexpr VkExternalFenceHandleTypeFlagBits VK_EXTERNAL_FENCE_HANDLE_TYPE static constexpr VkExternalFenceHandleTypeFlagBits VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT {0x00000002U}; static constexpr VkExternalFenceHandleTypeFlagBits VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT {0x00000004U}; static constexpr VkExternalFenceHandleTypeFlagBits VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT {0x00000008U}; +static constexpr VkExternalFenceHandleTypeFlagBits VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV {0x00000010U}; +static constexpr VkExternalFenceHandleTypeFlagBits VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_FENCE_BIT_NV {0x00000020U}; typedef VkFlags VkExternalFenceHandleTypeFlags; @@ -3587,6 +3603,7 @@ static constexpr VkExternalSemaphoreHandleTypeFlagBits VK_EXTERNAL_SEMAPHORE_HAN static constexpr VkExternalSemaphoreHandleTypeFlagBits VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT {0x00000004U}; static constexpr VkExternalSemaphoreHandleTypeFlagBits VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT {0x00000008U}; static constexpr VkExternalSemaphoreHandleTypeFlagBits VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT {0x00000010U}; +static constexpr VkExternalSemaphoreHandleTypeFlagBits VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV {0x00000020U}; static constexpr VkExternalSemaphoreHandleTypeFlagBits VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT {VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT}; typedef VkFlags VkExternalSemaphoreHandleTypeFlags; diff --git a/include/vulkan/vulkan_sci.h b/include/vulkan/vulkan_sci.h new file mode 100644 index 0000000..e0abf13 --- /dev/null +++ b/include/vulkan/vulkan_sci.h @@ -0,0 +1,200 @@ +#ifndef VULKAN_SCI_H_ +#define VULKAN_SCI_H_ 1 + +/* +** Copyright 2015-2021 The Khronos Group Inc. +** +** SPDX-License-Identifier: Apache-2.0 +*/ + +/* +** This header is generated from the Khronos Vulkan XML API Registry. +** +*/ + + +#ifdef __cplusplus +extern "C" { +#endif + + + +#define VK_NV_external_sci_sync 1 +#define VK_NV_EXTERNAL_SCI_SYNC_SPEC_VERSION 2 +#define VK_NV_EXTERNAL_SCI_SYNC_EXTENSION_NAME "VK_NV_external_sci_sync" + +typedef enum VkSciSyncClientTypeNV { + VK_SCI_SYNC_CLIENT_TYPE_SIGNALER_NV = 0, + VK_SCI_SYNC_CLIENT_TYPE_WAITER_NV = 1, + VK_SCI_SYNC_CLIENT_TYPE_SIGNALER_WAITER_NV = 2, + VK_SCI_SYNC_CLIENT_TYPE_MAX_ENUM_NV = 0x7FFFFFFF +} VkSciSyncClientTypeNV; + +typedef enum VkSciSyncPrimitiveTypeNV { + VK_SCI_SYNC_PRIMITIVE_TYPE_FENCE_NV = 0, + VK_SCI_SYNC_PRIMITIVE_TYPE_SEMAPHORE_NV = 1, + VK_SCI_SYNC_PRIMITIVE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF +} VkSciSyncPrimitiveTypeNV; +typedef struct VkExportFenceSciSyncInfoNV { + VkStructureType sType; + const void* pNext; + NvSciSyncAttrList pAttributes; +} VkExportFenceSciSyncInfoNV; + +typedef struct VkImportFenceSciSyncInfoNV { + VkStructureType sType; + const void* pNext; + VkFence fence; + VkExternalFenceHandleTypeFlagBits handleType; + const void* handle; +} VkImportFenceSciSyncInfoNV; + +typedef struct VkFenceGetSciSyncInfoNV { + VkStructureType sType; + const void* pNext; + VkFence fence; + VkExternalFenceHandleTypeFlagBits handleType; +} VkFenceGetSciSyncInfoNV; + +typedef struct VkSciSyncAttributesInfoNV { + VkStructureType sType; + const void* pNext; + VkSciSyncClientTypeNV clientType; + VkSciSyncPrimitiveTypeNV primitiveType; +} VkSciSyncAttributesInfoNV; + +typedef struct VkExportSemaphoreSciSyncInfoNV { + VkStructureType sType; + const void* pNext; + NvSciSyncAttrList pAttributes; +} VkExportSemaphoreSciSyncInfoNV; + +typedef struct VkImportSemaphoreSciSyncInfoNV { + VkStructureType sType; + const void* pNext; + VkSemaphore semaphore; + VkExternalSemaphoreHandleTypeFlagBits handleType; + const void* handle; +} VkImportSemaphoreSciSyncInfoNV; + +typedef struct VkSemaphoreGetSciSyncInfoNV { + VkStructureType sType; + const void* pNext; + VkSemaphore semaphore; + VkExternalSemaphoreHandleTypeFlagBits handleType; +} VkSemaphoreGetSciSyncInfoNV; + +typedef struct VkPhysicalDeviceExternalSciSyncFeaturesNV { + VkStructureType sType; + void* pNext; + VkBool32 sciSyncFence; + VkBool32 sciSyncSemaphore; + VkBool32 sciSyncImport; + VkBool32 sciSyncExport; +} VkPhysicalDeviceExternalSciSyncFeaturesNV; + +typedef VkResult (VKAPI_PTR *PFN_vkGetFenceSciSyncFenceNV)(VkDevice device, const VkFenceGetSciSyncInfoNV* pGetSciSyncHandleInfo, void* pHandle); +typedef VkResult (VKAPI_PTR *PFN_vkGetFenceSciSyncObjNV)(VkDevice device, const VkFenceGetSciSyncInfoNV* pGetSciSyncHandleInfo, void* pHandle); +typedef VkResult (VKAPI_PTR *PFN_vkImportFenceSciSyncFenceNV)(VkDevice device, const VkImportFenceSciSyncInfoNV* pImportFenceSciSyncInfo); +typedef VkResult (VKAPI_PTR *PFN_vkImportFenceSciSyncObjNV)(VkDevice device, const VkImportFenceSciSyncInfoNV* pImportFenceSciSyncInfo); +typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSciSyncAttributesNV)(VkPhysicalDevice physicalDevice, const VkSciSyncAttributesInfoNV* pSciSyncAttributesInfo, NvSciSyncAttrList pAttributes); +typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreSciSyncObjNV)(VkDevice device, const VkSemaphoreGetSciSyncInfoNV* pGetSciSyncInfo, void* pHandle); +typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreSciSyncObjNV)(VkDevice device, const VkImportSemaphoreSciSyncInfoNV* pImportSemaphoreSciSyncInfo); + +#ifndef VK_NO_PROTOTYPES +VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceSciSyncFenceNV( + VkDevice device, + const VkFenceGetSciSyncInfoNV* pGetSciSyncHandleInfo, + void* pHandle); + +VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceSciSyncObjNV( + VkDevice device, + const VkFenceGetSciSyncInfoNV* pGetSciSyncHandleInfo, + void* pHandle); + +VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceSciSyncFenceNV( + VkDevice device, + const VkImportFenceSciSyncInfoNV* pImportFenceSciSyncInfo); + +VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceSciSyncObjNV( + VkDevice device, + const VkImportFenceSciSyncInfoNV* pImportFenceSciSyncInfo); + +VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSciSyncAttributesNV( + VkPhysicalDevice physicalDevice, + const VkSciSyncAttributesInfoNV* pSciSyncAttributesInfo, + NvSciSyncAttrList pAttributes); + +VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreSciSyncObjNV( + VkDevice device, + const VkSemaphoreGetSciSyncInfoNV* pGetSciSyncInfo, + void* pHandle); + +VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreSciSyncObjNV( + VkDevice device, + const VkImportSemaphoreSciSyncInfoNV* pImportSemaphoreSciSyncInfo); +#endif + + +#define VK_NV_external_memory_sci_buf 1 +#define VK_NV_EXTERNAL_MEMORY_SCI_BUF_SPEC_VERSION 1 +#define VK_NV_EXTERNAL_MEMORY_SCI_BUF_EXTENSION_NAME "VK_NV_external_memory_sci_buf" +typedef struct VkExportMemorySciBufInfoNV { + VkStructureType sType; + const void* pNext; + NvSciBufAttrList pAttributes; +} VkExportMemorySciBufInfoNV; + +typedef struct VkImportMemorySciBufInfoNV { + VkStructureType sType; + const void* pNext; + VkExternalMemoryHandleTypeFlagBits handleType; + NvSciBufObj handle; +} VkImportMemorySciBufInfoNV; + +typedef struct VkMemoryGetSciBufInfoNV { + VkStructureType sType; + const void* pNext; + VkDeviceMemory memory; + VkExternalMemoryHandleTypeFlagBits handleType; +} VkMemoryGetSciBufInfoNV; + +typedef struct VkMemorySciBufPropertiesNV { + VkStructureType sType; + const void* pNext; + uint32_t memoryTypeBits; +} VkMemorySciBufPropertiesNV; + +typedef struct VkPhysicalDeviceExternalSciBufFeaturesNV { + VkStructureType sType; + const void* pNext; + VkBool32 sciBufImport; + VkBool32 sciBufExport; +} VkPhysicalDeviceExternalSciBufFeaturesNV; + +typedef VkResult (VKAPI_PTR *PFN_vkGetMemorySciBufNV)(VkDevice device, const VkMemoryGetSciBufInfoNV* pGetSciBufInfo, NvSciBufObj* pHandle); +typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalMemorySciBufPropertiesNV)(VkPhysicalDevice physicalDevice, VkExternalMemoryHandleTypeFlagBits handleType, NvSciBufObj handle, VkMemorySciBufPropertiesNV* pMemorySciBufProperties); +typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSciBufAttributesNV)(VkPhysicalDevice physicalDevice, NvSciBufAttrList pAttributes); + +#ifndef VK_NO_PROTOTYPES +VKAPI_ATTR VkResult VKAPI_CALL vkGetMemorySciBufNV( + VkDevice device, + const VkMemoryGetSciBufInfoNV* pGetSciBufInfo, + NvSciBufObj* pHandle); + +VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalMemorySciBufPropertiesNV( + VkPhysicalDevice physicalDevice, + VkExternalMemoryHandleTypeFlagBits handleType, + NvSciBufObj handle, + VkMemorySciBufPropertiesNV* pMemorySciBufProperties); + +VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSciBufAttributesNV( + VkPhysicalDevice physicalDevice, + NvSciBufAttrList pAttributes); +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/registry/genvk.py b/registry/genvk.py index 94370b2..0a172f9 100755 --- a/registry/genvk.py +++ b/registry/genvk.py @@ -407,6 +407,8 @@ def makeGenOpts(args): [ 'vulkan_xlib_xrandr.h', [ 'VK_EXT_acquire_xlib_display' ], commonSuppressExtensions ], [ '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_memory_sci_buf'], commonSuppressExtensions ], [ 'vulkan_beta.h', betaRequireExtensions, betaSuppressExtensions ], ] diff --git a/registry/validusage.json b/registry/validusage.json index 7244a30..00731dd 100644 --- a/registry/validusage.json +++ b/registry/validusage.json @@ -1,9 +1,9 @@ { "version info": { "schema version": 2, - "api version": "1.0.9", - "comment": "from git branch: github-sc_main commit: 0fd144fc0aca908f42b8dee88080ba70d030a631", - "date": "2022-02-25 11:47:15Z" + "api version": "1.0.10", + "comment": "from git branch: github-sc_main commit: f300e4d9e81b12998c872e3e31c7a28b8b48036e", + "date": "2022-05-26 09:59:01Z" }, "validation": { "vkGetInstanceProcAddr": { @@ -462,6 +462,16 @@ "vuid": "VUID-vkCreateDevice-key-05092", "text": " The key value of each VkApplicationParametersEXT structure in the VkDeviceCreateInfo::pNext chain must be unique" } + ], + "(VKSC_VERSION_1_0)": [ + { + "vuid": "VUID-vkCreateDevice-deviceMemoryRequestCount-05095", + "text": " The sum of deviceMemoryRequestCount over all VkDeviceObjectReservationCreateInfo structures must be less than or equal to VkPhysicalDeviceLimits::maxMemoryAllocationCount" + }, + { + "vuid": "VUID-vkCreateDevice-samplerRequestCount-05096", + "text": " The sum of samplerRequestCount over all VkDeviceObjectReservationCreateInfo structures must be less than or equal to VkPhysicalDeviceLimits::maxSamplerAllocationCount" + } ] }, "VkDeviceCreateInfo": { @@ -616,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, 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, 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", @@ -1682,6 +1692,12 @@ "vuid": "VUID-VkSemaphoreSubmitInfoKHR-device-03889", "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)": [ + { + "vuid": "VUID-VkSemaphoreSubmitInfoKHR-semaphore-05094", + "text": " If semaphore has a payload of NvSciSyncObj, value must be calculated by application via NvSciSync APIs." + } ] }, "VkCommandBufferSubmitInfoKHR": { @@ -2343,6 +2359,12 @@ "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)": [ + { + "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" + } + ], "core": [ { "vuid": "VUID-vkCreateFence-device-parameter", @@ -2370,7 +2392,7 @@ }, { "vuid": "VUID-VkFenceCreateInfo-pNext-pNext", - "text": " pNext must be NULL or a pointer to a valid instance of VkExportFenceCreateInfo" + "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 VkExportFenceCreateInfo or VkExportFenceSciSyncInfoNV" }, { "vuid": "VUID-VkFenceCreateInfo-sType-unique", @@ -2396,6 +2418,12 @@ "vuid": "VUID-VkExportFenceCreateInfo-handleTypes-parameter", "text": " handleTypes must be a valid combination of VkExternalFenceHandleTypeFlagBits values" } + ], + "(VK_VERSION_1_1,VK_KHR_external_fence)+(VK_NV_external_sci_sync)": [ + { + "vuid": "VUID-VkExportFenceCreateInfo-pNext-05107", + "text": " If the pNext chain includes a VkExportFenceSciSyncInfoNV structure, VkPhysicalDeviceExternalSciSyncFeaturesNV::sciSyncFence and VkPhysicalDeviceExternalSciSyncFeaturesNV::sciSyncExport must be enabled" + } ] }, "VkExportFenceWin32HandleInfoKHR": { @@ -2482,6 +2510,134 @@ } ] }, + "VkExportFenceSciSyncInfoNV": { + "(VK_NV_external_sci_sync)": [ + { + "vuid": "VUID-VkExportFenceSciSyncInfoNV-pAttributes-05108", + "text": " pAttributes must be a reconciled NvSciSyncAttrList" + }, + { + "vuid": "VUID-VkExportFenceSciSyncInfoNV-sType-sType", + "text": " sType must be VK_STRUCTURE_TYPE_EXPORT_FENCE_SCI_SYNC_INFO_NV" + } + ] + }, + "vkGetPhysicalDeviceSciSyncAttributesNV": { + "(VK_NV_external_sci_sync)": [ + { + "vuid": "VUID-vkGetPhysicalDeviceSciSyncAttributesNV-pSciSyncAttributesInfo-05109", + "text": " If pSciSyncAttributesInfo->primitiveType is VK_SCI_SYNC_PRIMITIVE_TYPE_FENCE_NV then VkPhysicalDeviceExternalSciSyncFeaturesNV::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" + }, + { + "vuid": "VUID-vkGetPhysicalDeviceSciSyncAttributesNV-pAttributes-05111", + "text": " pAttributes must be a valid NvSciSyncAttrList and must not be NULL" + }, + { + "vuid": "VUID-vkGetPhysicalDeviceSciSyncAttributesNV-physicalDevice-parameter", + "text": " physicalDevice must be a valid VkPhysicalDevice handle" + }, + { + "vuid": "VUID-vkGetPhysicalDeviceSciSyncAttributesNV-pSciSyncAttributesInfo-parameter", + "text": " pSciSyncAttributesInfo must be a valid pointer to a valid VkSciSyncAttributesInfoNV structure" + } + ] + }, + "VkSciSyncAttributesInfoNV": { + "(VK_NV_external_sci_sync)": [ + { + "vuid": "VUID-VkSciSyncAttributesInfoNV-sType-sType", + "text": " sType must be VK_STRUCTURE_TYPE_SCI_SYNC_ATTRIBUTES_INFO_NV" + }, + { + "vuid": "VUID-VkSciSyncAttributesInfoNV-pNext-pNext", + "text": " pNext must be NULL" + }, + { + "vuid": "VUID-VkSciSyncAttributesInfoNV-clientType-parameter", + "text": " clientType must be a valid VkSciSyncClientTypeNV value" + }, + { + "vuid": "VUID-VkSciSyncAttributesInfoNV-primitiveType-parameter", + "text": " primitiveType must be a valid VkSciSyncPrimitiveTypeNV value" + } + ] + }, + "vkGetFenceSciSyncFenceNV": { + "(VK_NV_external_sci_sync)": [ + { + "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" + }, + { + "vuid": "VUID-vkGetFenceSciSyncFenceNV-device-parameter", + "text": " device must be a valid VkDevice handle" + }, + { + "vuid": "VUID-vkGetFenceSciSyncFenceNV-pGetSciSyncHandleInfo-parameter", + "text": " pGetSciSyncHandleInfo must be a valid pointer to a valid VkFenceGetSciSyncInfoNV structure" + }, + { + "vuid": "VUID-vkGetFenceSciSyncFenceNV-pHandle-parameter", + "text": " pHandle must be a pointer value" + } + ] + }, + "vkGetFenceSciSyncObjNV": { + "(VK_NV_external_sci_sync)": [ + { + "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" + }, + { + "vuid": "VUID-vkGetFenceSciSyncObjNV-device-parameter", + "text": " device must be a valid VkDevice handle" + }, + { + "vuid": "VUID-vkGetFenceSciSyncObjNV-pGetSciSyncHandleInfo-parameter", + "text": " pGetSciSyncHandleInfo must be a valid pointer to a valid VkFenceGetSciSyncInfoNV structure" + }, + { + "vuid": "VUID-vkGetFenceSciSyncObjNV-pHandle-parameter", + "text": " pHandle must be a pointer value" + } + ] + }, + "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" + }, + { + "vuid": "VUID-VkFenceGetSciSyncInfoNV-sType-sType", + "text": " sType must be VK_STRUCTURE_TYPE_FENCE_GET_SCI_SYNC_INFO_NV" + }, + { + "vuid": "VUID-VkFenceGetSciSyncInfoNV-pNext-pNext", + "text": " pNext must be NULL" + }, + { + "vuid": "VUID-VkFenceGetSciSyncInfoNV-fence-parameter", + "text": " fence must be a valid VkFence handle" + }, + { + "vuid": "VUID-VkFenceGetSciSyncInfoNV-handleType-parameter", + "text": " handleType must be a valid VkExternalFenceHandleTypeFlagBits value" + } + ] + }, "vkDestroyFence": { "core": [ { @@ -2744,6 +2900,58 @@ } ] }, + "vkImportFenceSciSyncFenceNV": { + "(VK_NV_external_sci_sync)": [ + { + "vuid": "VUID-vkImportFenceSciSyncFenceNV-device-parameter", + "text": " device must be a valid VkDevice handle" + }, + { + "vuid": "VUID-vkImportFenceSciSyncFenceNV-pImportFenceSciSyncInfo-parameter", + "text": " pImportFenceSciSyncInfo must be a valid pointer to a valid VkImportFenceSciSyncInfoNV structure" + } + ] + }, + "vkImportFenceSciSyncObjNV": { + "(VK_NV_external_sci_sync)": [ + { + "vuid": "VUID-vkImportFenceSciSyncObjNV-device-parameter", + "text": " device must be a valid VkDevice handle" + }, + { + "vuid": "VUID-vkImportFenceSciSyncObjNV-pImportFenceSciSyncInfo-parameter", + "text": " pImportFenceSciSyncInfo must be a valid pointer to a valid VkImportFenceSciSyncInfoNV structure" + } + ] + }, + "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" + }, + { + "vuid": "VUID-VkImportFenceSciSyncInfoNV-sType-sType", + "text": " sType must be VK_STRUCTURE_TYPE_IMPORT_FENCE_SCI_SYNC_INFO_NV" + }, + { + "vuid": "VUID-VkImportFenceSciSyncInfoNV-pNext-pNext", + "text": " pNext must be NULL" + }, + { + "vuid": "VUID-VkImportFenceSciSyncInfoNV-fence-parameter", + "text": " fence must be a valid VkFence handle" + }, + { + "vuid": "VUID-VkImportFenceSciSyncInfoNV-handleType-parameter", + "text": " handleType must be a valid VkExternalFenceHandleTypeFlagBits value" + }, + { + "vuid": "VUID-VkImportFenceSciSyncInfoNV-handle-parameter", + "text": " handle must be a pointer value" + } + ] + }, "vkCreateSemaphore": { "(VKSC_VERSION_1_0)": [ { @@ -2771,6 +2979,12 @@ ] }, "VkSemaphoreCreateInfo": { + "(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" + } + ], "core": [ { "vuid": "VUID-VkSemaphoreCreateInfo-sType-sType", @@ -2778,7 +2992,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 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, or VkSemaphoreTypeCreateInfo" }, { "vuid": "VUID-VkSemaphoreCreateInfo-sType-unique", @@ -2808,6 +3022,12 @@ "vuid": "VUID-VkSemaphoreTypeCreateInfo-semaphoreType-parameter", "text": " semaphoreType must be a valid VkSemaphoreType value" } + ], + "(VK_VERSION_1_2,VK_KHR_timeline_semaphore)+(VK_NV_external_sci_sync)": [ + { + "vuid": "VUID-VkSemaphoreTypeCreateInfo-pNext-05119", + "text": " If the pNext chain includes VkExportSemaphoreSciSyncInfoNV, initialValue must be zero." + } ] }, "VkExportSemaphoreCreateInfo": { @@ -2824,6 +3044,12 @@ "vuid": "VUID-VkExportSemaphoreCreateInfo-handleTypes-parameter", "text": " handleTypes must be a valid combination of VkExternalSemaphoreHandleTypeFlagBits values" } + ], + "(VK_VERSION_1_1,VK_KHR_external_semaphore)+(VK_NV_external_sci_sync)": [ + { + "vuid": "VUID-VkExportSemaphoreCreateInfo-pNext-05120", + "text": " If the pNext chain includes a VkExportSemaphoreSciSyncInfoNV structure, VkPhysicalDeviceExternalSciSyncFeaturesNV::sciSyncSemapore and VkPhysicalDeviceExternalSciSyncFeaturesNV::sciSyncExport must be enabled" + } ] }, "VkExportSemaphoreWin32HandleInfoKHR": { @@ -2956,6 +3182,66 @@ } ] }, + "VkExportSemaphoreSciSyncInfoNV": { + "(VK_NV_external_sci_sync)": [ + { + "vuid": "VUID-VkExportSemaphoreSciSyncInfoNV-pAttributes-05121", + "text": " pAttributes must be a reconciled NvSciSyncAttrList" + }, + { + "vuid": "VUID-VkExportSemaphoreSciSyncInfoNV-sType-sType", + "text": " sType must be VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_SCI_SYNC_INFO_NV" + } + ] + }, + "vkGetSemaphoreSciSyncObjNV": { + "(VK_NV_external_sci_sync)": [ + { + "vuid": "VUID-vkGetSemaphoreSciSyncObjNV-device-parameter", + "text": " device must be a valid VkDevice handle" + }, + { + "vuid": "VUID-vkGetSemaphoreSciSyncObjNV-pGetSciSyncInfo-parameter", + "text": " pGetSciSyncInfo must be a valid pointer to a valid VkSemaphoreGetSciSyncInfoNV structure" + }, + { + "vuid": "VUID-vkGetSemaphoreSciSyncObjNV-pHandle-parameter", + "text": " pHandle must be a pointer value" + } + ] + }, + "VkSemaphoreGetSciSyncInfoNV": { + "(VK_NV_external_sci_sync)": [ + { + "vuid": "VUID-VkSemaphoreGetSciSyncInfoNV-handleType-05122", + "text": " handleType must be VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV" + }, + { + "vuid": "VUID-VkSemaphoreGetSciSyncInfoNV-semaphore-05123", + "text": " semaphore must have been created with a VkSemaphoreType of VK_SEMAPHORE_TYPE_TIMELINE" + }, + { + "vuid": "VUID-VkSemaphoreGetSciSyncInfoNV-semaphore-05129", + "text": " semaphore must have been created with VkExportSemaphoreSciSyncInfoNV included pNext chain of VkSemaphoreCreateInfo, or previously imported by vkImportSemaphoreSciSyncObjNV" + }, + { + "vuid": "VUID-VkSemaphoreGetSciSyncInfoNV-sType-sType", + "text": " sType must be VK_STRUCTURE_TYPE_SEMAPHORE_GET_SCI_SYNC_INFO_NV" + }, + { + "vuid": "VUID-VkSemaphoreGetSciSyncInfoNV-pNext-pNext", + "text": " pNext must be NULL" + }, + { + "vuid": "VUID-VkSemaphoreGetSciSyncInfoNV-semaphore-parameter", + "text": " semaphore must be a valid VkSemaphore handle" + }, + { + "vuid": "VUID-VkSemaphoreGetSciSyncInfoNV-handleType-parameter", + "text": " handleType must be a valid VkExternalSemaphoreHandleTypeFlagBits value" + } + ] + }, "vkDestroySemaphore": { "core": [ { @@ -3056,6 +3342,12 @@ "vuid": "VUID-VkSemaphoreWaitInfo-semaphoreCount-arraylength", "text": " semaphoreCount must be greater than 0" } + ], + "(VK_VERSION_1_2,VK_KHR_timeline_semaphore)+(VK_NV_external_sci_sync)": [ + { + "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." + } ] }, "vkSignalSemaphore": { @@ -3100,6 +3392,12 @@ "vuid": "VUID-VkSemaphoreSignalInfo-semaphore-parameter", "text": " semaphore must be a valid VkSemaphore handle" } + ], + "(VK_VERSION_1_2,VK_KHR_timeline_semaphore)+(VK_NV_external_sci_sync)": [ + { + "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." + } ] }, "VkImportSemaphoreWin32HandleInfoKHR": { @@ -3240,6 +3538,54 @@ } ] }, + "vkImportSemaphoreSciSyncObjNV": { + "(VK_NV_external_sci_sync)": [ + { + "vuid": "VUID-vkImportSemaphoreSciSyncObjNV-device-parameter", + "text": " device must be a valid VkDevice handle" + }, + { + "vuid": "VUID-vkImportSemaphoreSciSyncObjNV-pImportSemaphoreSciSyncInfo-parameter", + "text": " pImportSemaphoreSciSyncInfo must be a valid pointer to a valid VkImportSemaphoreSciSyncInfoNV structure" + } + ] + }, + "VkImportSemaphoreSciSyncInfoNV": { + "(VK_NV_external_sci_sync)": [ + { + "vuid": "VUID-VkImportSemaphoreSciSyncInfoNV-handleType-05126", + "text": " handleType must be a value included in the Handle Types Supported by VkImportSemaphoreSciSyncInfoNV table" + }, + { + "vuid": "VUID-VkImportSemaphoreSciSyncInfoNV-semaphore-05127", + "text": " semaphore must have been created with a VkSemaphoreType of VK_SEMAPHORE_TYPE_TIMELINE" + }, + { + "vuid": "VUID-VkImportSemaphoreSciSyncInfoNV-semaphore-05128", + "text": " semaphore must not be associated with any queue command that has not yet completed execution on that queue" + }, + { + "vuid": "VUID-VkImportSemaphoreSciSyncInfoNV-sType-sType", + "text": " sType must be VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_SCI_SYNC_INFO_NV" + }, + { + "vuid": "VUID-VkImportSemaphoreSciSyncInfoNV-pNext-pNext", + "text": " pNext must be NULL" + }, + { + "vuid": "VUID-VkImportSemaphoreSciSyncInfoNV-semaphore-parameter", + "text": " semaphore must be a valid VkSemaphore handle" + }, + { + "vuid": "VUID-VkImportSemaphoreSciSyncInfoNV-handleType-parameter", + "text": " handleType must be a valid VkExternalSemaphoreHandleTypeFlagBits value" + }, + { + "vuid": "VUID-VkImportSemaphoreSciSyncInfoNV-handle-parameter", + "text": " handle must be a pointer value" + } + ] + }, "vkCreateEvent": { "(VK_KHR_portability_subset)": [ { @@ -8505,7 +8851,7 @@ "text": " If renderpass is not VK_NULL_HANDLE, multiview is not enabled for renderPass, and flags includes VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT, the layerCount member of any element of the pAttachmentImageInfos member of a VkFramebufferAttachmentsCreateInfo structure included in the pNext chain used as an input, color, resolve, or depth/stencil attachment in renderPass must be greater than or equal to layers" } ], - "(VK_VERSION_1_2,VK_KHR_imageless_framebuffer)+!(VK_VERSION_1_1+VK_KHR_multiview)": [ + "(VK_VERSION_1_2,VK_KHR_imageless_framebuffer)+!(VK_VERSION_1_1,VK_KHR_multiview)": [ { "vuid": "VUID-VkFramebufferCreateInfo-flags-04547", "text": " If renderpass is not VK_NULL_HANDLE and flags includes VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT, the layerCount member of any element of the pAttachmentImageInfos member of a VkFramebufferAttachmentsCreateInfo structure included in the pNext chain used as an input, color, resolve, or depth/stencil attachment in pRenderPass must be greater than or equal to layers" @@ -11997,6 +12343,20 @@ "text": " If the parameters define an import operation and the external handle type is VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA, the value of allocationSize must be greater than 0 and must be less than or equal to the size of the VMO as determined by zx_vmo_get_size(handle) where handle is the VMO handle to the imported external memory" } ], + "(VK_NV_external_memory_sci_buf)": [ + { + "vuid": "VUID-VkMemoryAllocateInfo-pNext-05097", + "text": " If the pNext chain includes a VkExportMemorySciBufInfoNV structure, VkPhysicalDeviceExternalSciBufFeaturesNV::sciBufExport must be enabled" + }, + { + "vuid": "VUID-VkMemoryAllocateInfo-pNext-05098", + "text": " If the pNext chain includes a VkImportMemorySciBufInfoNV structure, VkPhysicalDeviceExternalSciBufFeaturesNV::sciBufImport must be enabled" + }, + { + "vuid": "VUID-VkMemoryAllocateInfo-memoryTypeIndex-05099", + "text": " If the parameters define an import operation and the external handle is a NvSciBufObj, the value of memoryTypeIndex must be one of those returned by vkGetPhysicalDeviceExternalMemorySciBufPropertiesNV" + } + ], "core": [ { "vuid": "VUID-VkMemoryAllocateInfo-sType-sType", @@ -12004,7 +12364,7 @@ }, { "vuid": "VUID-VkMemoryAllocateInfo-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 VkExportMemoryAllocateInfo, VkImportMemoryFdInfoKHR, VkImportMemoryHostPointerInfoEXT, VkMemoryAllocateFlagsInfo, VkMemoryDedicatedAllocateInfo, or VkMemoryOpaqueCaptureAddressAllocateInfo" + "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 VkExportMemoryAllocateInfo, VkExportMemorySciBufInfoNV, VkImportMemoryFdInfoKHR, VkImportMemoryHostPointerInfoEXT, VkImportMemorySciBufInfoNV, VkMemoryAllocateFlagsInfo, VkMemoryDedicatedAllocateInfo, or VkMemoryOpaqueCaptureAddressAllocateInfo" }, { "vuid": "VUID-VkMemoryAllocateInfo-sType-unique", @@ -12530,6 +12890,122 @@ } ] }, + "VkExportMemorySciBufInfoNV": { + "(VK_NV_external_memory_sci_buf)": [ + { + "vuid": "VUID-VkExportMemorySciBufInfoNV-pAttributes-05100", + "text": " pAttributes must be a reconciled NvSciBufAttrList" + }, + { + "vuid": "VUID-VkExportMemorySciBufInfoNV-sType-sType", + "text": " sType must be VK_STRUCTURE_TYPE_EXPORT_MEMORY_SCI_BUF_INFO_NV" + } + ] + }, + "vkGetPhysicalDeviceSciBufAttributesNV": { + "(VK_NV_external_memory_sci_buf)": [ + { + "vuid": "VUID-vkGetPhysicalDeviceSciBufAttributesNV-pAttributes-05101", + "text": " pAttributes must be a valid NvSciBufAttrList and must not be NULL" + }, + { + "vuid": "VUID-vkGetPhysicalDeviceSciBufAttributesNV-physicalDevice-parameter", + "text": " physicalDevice must be a valid VkPhysicalDevice handle" + } + ] + }, + "VkImportMemorySciBufInfoNV": { + "(VK_NV_external_memory_sci_buf)": [ + { + "vuid": "VUID-VkImportMemorySciBufInfoNV-handleType-05102", + "text": " handleType must be VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCI_BUF_BIT_NV" + }, + { + "vuid": "VUID-VkImportMemorySciBufInfoNV-sType-sType", + "text": " sType must be VK_STRUCTURE_TYPE_IMPORT_MEMORY_SCI_BUF_INFO_NV" + }, + { + "vuid": "VUID-VkImportMemorySciBufInfoNV-handleType-parameter", + "text": " handleType must be a valid VkExternalMemoryHandleTypeFlagBits value" + } + ] + }, + "vkGetMemorySciBufNV": { + "(VK_NV_external_memory_sci_buf)": [ + { + "vuid": "VUID-vkGetMemorySciBufNV-device-parameter", + "text": " device must be a valid VkDevice handle" + }, + { + "vuid": "VUID-vkGetMemorySciBufNV-pGetSciBufInfo-parameter", + "text": " pGetSciBufInfo must be a valid pointer to a valid VkMemoryGetSciBufInfoNV structure" + }, + { + "vuid": "VUID-vkGetMemorySciBufNV-pHandle-parameter", + "text": " pHandle must be a valid pointer to a NvSciBufObj value" + } + ] + }, + "VkMemoryGetSciBufInfoNV": { + "(VK_NV_external_memory_sci_buf)": [ + { + "vuid": "VUID-VkMemoryGetSciBufInfoNV-handleType-05103", + "text": " handleType must be VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCI_BUF_BIT_NV" + }, + { + "vuid": "VUID-VkMemoryGetSciBufInfoNV-sType-sType", + "text": " sType must be VK_STRUCTURE_TYPE_MEMORY_GET_SCI_BUF_INFO_NV" + }, + { + "vuid": "VUID-VkMemoryGetSciBufInfoNV-pNext-pNext", + "text": " pNext must be NULL" + }, + { + "vuid": "VUID-VkMemoryGetSciBufInfoNV-memory-parameter", + "text": " memory must be a valid VkDeviceMemory handle" + }, + { + "vuid": "VUID-VkMemoryGetSciBufInfoNV-handleType-parameter", + "text": " handleType must be a valid VkExternalMemoryHandleTypeFlagBits value" + } + ] + }, + "vkGetPhysicalDeviceExternalMemorySciBufPropertiesNV": { + "(VK_NV_external_memory_sci_buf)": [ + { + "vuid": "VUID-vkGetPhysicalDeviceExternalMemorySciBufPropertiesNV-handleType-05104", + "text": " handleType must be VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCI_BUF_BIT_NV" + }, + { + "vuid": "VUID-vkGetPhysicalDeviceExternalMemorySciBufPropertiesNV-sciBufImport-05105", + "text": " VkPhysicalDeviceExternalSciBufFeaturesNV::sciBufImport must be enabled" + }, + { + "vuid": "VUID-vkGetPhysicalDeviceExternalMemorySciBufPropertiesNV-physicalDevice-parameter", + "text": " physicalDevice must be a valid VkPhysicalDevice handle" + }, + { + "vuid": "VUID-vkGetPhysicalDeviceExternalMemorySciBufPropertiesNV-handleType-parameter", + "text": " handleType must be a valid VkExternalMemoryHandleTypeFlagBits value" + }, + { + "vuid": "VUID-vkGetPhysicalDeviceExternalMemorySciBufPropertiesNV-pMemorySciBufProperties-parameter", + "text": " pMemorySciBufProperties must be a valid pointer to a VkMemorySciBufPropertiesNV structure" + } + ] + }, + "VkMemorySciBufPropertiesNV": { + "(VK_NV_external_memory_sci_buf)": [ + { + "vuid": "VUID-VkMemorySciBufPropertiesNV-sType-sType", + "text": " sType must be VK_STRUCTURE_TYPE_MEMORY_SCI_BUF_PROPERTIES_NV" + }, + { + "vuid": "VUID-VkMemorySciBufPropertiesNV-pNext-pNext", + "text": " pNext must be NULL" + } + ] + }, "VkMemoryAllocateFlagsInfo": { "(VK_VERSION_1_1,VK_KHR_device_group)": [ { @@ -14401,7 +14877,7 @@ "text": " If the invocationMask feature is enabled, and if image was created with usage containing VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI, format must be VK_FORMAT_R8_UINT" } ], - "(VK_VERSION_1_1,VK_KHR_maintenance2)+!(VK_VERSION_1_2+VK_EXT_separate_stencil_usage)": [ + "(VK_VERSION_1_1,VK_KHR_maintenance2)+!(VK_VERSION_1_2,VK_EXT_separate_stencil_usage)": [ { "vuid": "VUID-VkImageViewCreateInfo-pNext-02661", "text": " If the pNext chain includes a VkImageViewUsageCreateInfo structure, its usage member must not include any bits that were not set in the usage member of the VkImageCreateInfo structure used to create image" @@ -34036,14 +34512,6 @@ } ] }, - "vkCreateAndroidSurfaceKHR": { - "(VK_KHR_surface)+(VK_KHR_android_surface)+(VKSC_VERSION_1_0)": [ - { - "vuid": "VUID-vkCreateAndroidSurfaceKHR-device-05068", - "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" - } - ] - }, "VkAndroidSurfaceCreateInfoKHR": { "(VK_KHR_surface)+(VK_KHR_android_surface)": [ { @@ -34052,14 +34520,6 @@ } ] }, - "vkCreateWaylandSurfaceKHR": { - "(VK_KHR_surface)+(VK_KHR_wayland_surface)+(VKSC_VERSION_1_0)": [ - { - "vuid": "VUID-vkCreateWaylandSurfaceKHR-device-05068", - "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" - } - ] - }, "VkWaylandSurfaceCreateInfoKHR": { "(VK_KHR_surface)+(VK_KHR_wayland_surface)": [ { @@ -34072,14 +34532,6 @@ } ] }, - "vkCreateWin32SurfaceKHR": { - "(VK_KHR_surface)+(VK_KHR_win32_surface)+(VKSC_VERSION_1_0)": [ - { - "vuid": "VUID-vkCreateWin32SurfaceKHR-device-05068", - "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" - } - ] - }, "VkWin32SurfaceCreateInfoKHR": { "(VK_KHR_surface)+(VK_KHR_win32_surface)": [ { @@ -34092,14 +34544,6 @@ } ] }, - "vkCreateXcbSurfaceKHR": { - "(VK_KHR_surface)+(VK_KHR_xcb_surface)+(VKSC_VERSION_1_0)": [ - { - "vuid": "VUID-vkCreateXcbSurfaceKHR-device-05068", - "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" - } - ] - }, "VkXcbSurfaceCreateInfoKHR": { "(VK_KHR_surface)+(VK_KHR_xcb_surface)": [ { @@ -34112,14 +34556,6 @@ } ] }, - "vkCreateXlibSurfaceKHR": { - "(VK_KHR_surface)+(VK_KHR_xlib_surface)+(VKSC_VERSION_1_0)": [ - { - "vuid": "VUID-vkCreateXlibSurfaceKHR-device-05068", - "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" - } - ] - }, "VkXlibSurfaceCreateInfoKHR": { "(VK_KHR_surface)+(VK_KHR_xlib_surface)": [ { @@ -34132,14 +34568,6 @@ } ] }, - "vkCreateDirectFBSurfaceEXT": { - "(VK_KHR_surface)+(VK_EXT_directfb_surface)+(VKSC_VERSION_1_0)": [ - { - "vuid": "VUID-vkCreateDirectFBSurfaceEXT-device-05068", - "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" - } - ] - }, "VkDirectFBSurfaceCreateInfoEXT": { "(VK_KHR_surface)+(VK_EXT_directfb_surface)": [ { @@ -34152,14 +34580,6 @@ } ] }, - "vkCreateImagePipeSurfaceFUCHSIA": { - "(VK_KHR_surface)+(VK_FUCHSIA_imagepipe_surface)+(VKSC_VERSION_1_0)": [ - { - "vuid": "VUID-vkCreateImagePipeSurfaceFUCHSIA-device-05068", - "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" - } - ] - }, "VkImagePipeSurfaceCreateInfoFUCHSIA": { "(VK_KHR_surface)+(VK_FUCHSIA_imagepipe_surface)": [ { @@ -34168,14 +34588,6 @@ } ] }, - "vkCreateStreamDescriptorSurfaceGGP": { - "(VK_KHR_surface)+(VK_GGP_stream_descriptor_surface)+(VKSC_VERSION_1_0)": [ - { - "vuid": "VUID-vkCreateStreamDescriptorSurfaceGGP-device-05068", - "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" - } - ] - }, "VkStreamDescriptorSurfaceCreateInfoGGP": { "(VK_KHR_surface)+(VK_GGP_stream_descriptor_surface)": [ { @@ -34184,14 +34596,6 @@ } ] }, - "vkCreateIOSSurfaceMVK": { - "(VK_KHR_surface)+(VK_MVK_ios_surface)+(VKSC_VERSION_1_0)": [ - { - "vuid": "VUID-vkCreateIOSSurfaceMVK-device-05068", - "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" - } - ] - }, "VkIOSSurfaceCreateInfoMVK": { "(VK_KHR_surface)+(VK_MVK_ios_surface)": [ { @@ -34204,14 +34608,6 @@ } ] }, - "vkCreateMacOSSurfaceMVK": { - "(VK_KHR_surface)+(VK_MVK_macos_surface)+(VKSC_VERSION_1_0)": [ - { - "vuid": "VUID-vkCreateMacOSSurfaceMVK-device-05068", - "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" - } - ] - }, "VkMacOSSurfaceCreateInfoMVK": { "(VK_KHR_surface)+(VK_MVK_macos_surface)": [ { @@ -34224,14 +34620,6 @@ } ] }, - "vkCreateViSurfaceNN": { - "(VK_KHR_surface)+(VK_NN_vi_surface)+(VKSC_VERSION_1_0)": [ - { - "vuid": "VUID-vkCreateViSurfaceNN-device-05068", - "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" - } - ] - }, "VkViSurfaceCreateInfoNN": { "(VK_KHR_surface)+(VK_NN_vi_surface)": [ { @@ -34240,14 +34628,6 @@ } ] }, - "vkCreateMetalSurfaceEXT": { - "(VK_KHR_surface)+(VK_EXT_metal_surface)+(VKSC_VERSION_1_0)": [ - { - "vuid": "VUID-vkCreateMetalSurfaceEXT-device-05068", - "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" - } - ] - }, "VkScreenSurfaceCreateInfoQNX": { "(VK_KHR_surface)+(VK_QNX_screen_surface)": [ { @@ -34495,12 +34875,6 @@ ] }, "vkCreateDisplayModeKHR": { - "(VK_KHR_surface)+(VK_KHR_display)+(VKSC_VERSION_1_0)": [ - { - "vuid": "VUID-vkCreateDisplayModeKHR-device-05068", - "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_KHR_surface)+(VK_KHR_display)": [ { "vuid": "VUID-vkCreateDisplayModeKHR-physicalDevice-parameter", @@ -34645,12 +35019,6 @@ ] }, "vkCreateDisplayPlaneSurfaceKHR": { - "(VK_KHR_surface)+(VK_KHR_display)+(VKSC_VERSION_1_0)": [ - { - "vuid": "VUID-vkCreateDisplayPlaneSurfaceKHR-device-05068", - "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_KHR_surface)+(VK_KHR_display)": [ { "vuid": "VUID-vkCreateDisplayPlaneSurfaceKHR-instance-parameter", @@ -34688,6 +35056,10 @@ "vuid": "VUID-VkDisplaySurfaceCreateInfoKHR-alphaMode-01255", "text": " alphaMode must be one of the bits present in the supportedAlpha member of VkDisplayPlaneCapabilitiesKHR for the display plane corresponding to displayMode" }, + { + "vuid": "VUID-VkDisplaySurfaceCreateInfoKHR-transform-06740", + "text": " transform must be one of the bits present in the supportedTransforms member of VkDisplayPropertiesKHR for the display corresponding to displayMode" + }, { "vuid": "VUID-VkDisplaySurfaceCreateInfoKHR-width-01256", "text": " The width and height members of imageExtent must be less than or equal to VkPhysicalDeviceLimits::maxImageDimension2D" @@ -34719,12 +35091,6 @@ ] }, "vkCreateHeadlessSurfaceEXT": { - "(VK_KHR_surface)+(VK_EXT_headless_surface)+(VKSC_VERSION_1_0)": [ - { - "vuid": "VUID-vkCreateHeadlessSurfaceEXT-device-05068", - "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_KHR_surface)+(VK_EXT_headless_surface)": [ { "vuid": "VUID-vkCreateHeadlessSurfaceEXT-instance-parameter", @@ -38878,6 +39244,22 @@ } ] }, + "VkPhysicalDeviceExternalSciSyncFeaturesNV": { + "(VK_NV_external_sci_sync)": [ + { + "vuid": "VUID-VkPhysicalDeviceExternalSciSyncFeaturesNV-sType-sType", + "text": " sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_FEATURES_NV" + } + ] + }, + "VkPhysicalDeviceExternalSciBufFeaturesNV": { + "(VK_NV_external_memory_sci_buf)": [ + { + "vuid": "VUID-VkPhysicalDeviceExternalSciBufFeaturesNV-sType-sType", + "text": " sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_BUF_FEATURES_NV" + } + ] + }, "VkPhysicalDeviceIndexTypeUint8FeaturesEXT": { "(VK_EXT_index_type_uint8)": [ { diff --git a/registry/vk.xml b/registry/vk.xml index 51a8a3b..a077c3b 100644 --- a/registry/vk.xml +++ b/registry/vk.xml @@ -32,6 +32,7 @@ branch of the member gitlab server. + @@ -88,6 +89,8 @@ branch of the member gitlab server. + + In the current header structure, each platform's interfaces are confined to a platform-specific header (vulkan_xlib.h, @@ -128,6 +131,9 @@ branch of the member gitlab server. + + + // DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead. #define VK_MAKE_VERSION(major, minor, patch) \ @@ -166,7 +172,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 9 +#define VK_HEADER_VERSION 10 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(VKSC_API_VARIANT, 1, 0, VK_HEADER_VERSION) @@ -654,6 +660,8 @@ typedef void CAMetalLayer; + + @@ -2129,6 +2137,34 @@ typedef void CAMetalLayer; const SECURITY_ATTRIBUTES* pAttributes DWORD dwAccess + + VkStructureType sType + const void* pNext + NvSciBufAttrList pAttributes + + + VkStructureType sType + const void* pNext + VkExternalMemoryHandleTypeFlagBits handleType + NvSciBufObj handle + + + VkStructureType sType + const void* pNext + VkDeviceMemory memory + VkExternalMemoryHandleTypeFlagBits handleType + + + VkStructureType sType + const void* pNext + uint32_t memoryTypeBits + + + VkStructureType sType + const void* pNext + VkBool32 sciBufImport + VkBool32 sciBufExport + VkStructureType sType const void* pNext @@ -2637,6 +2673,56 @@ typedef void CAMetalLayer; VkFence fence VkExternalFenceHandleTypeFlagBits handleType + + VkStructureType sType + const void* pNext + NvSciSyncAttrList pAttributes + + + VkStructureType sType + const void* pNext + VkFence fence + VkExternalFenceHandleTypeFlagBits handleType + const void* handle + + + VkStructureType sType + const void* pNext + VkFence fence + VkExternalFenceHandleTypeFlagBits handleType + + + VkStructureType sType + const void* pNext + NvSciSyncAttrList pAttributes + + + VkStructureType sType + const void* pNext + VkSemaphore semaphore + VkExternalSemaphoreHandleTypeFlagBits handleType + const void* handle + + + VkStructureType sType + const void* pNext + VkSemaphore semaphore + VkExternalSemaphoreHandleTypeFlagBits handleType + + + VkStructureType sType + const void* pNext + VkSciSyncClientTypeNV clientType + VkSciSyncPrimitiveTypeNV primitiveType + + + VkStructureType sType + void* pNext + VkBool32 sciSyncFence + VkBool32 sciSyncSemaphore + VkBool32 sciSyncImport + VkBool32 sciSyncExport + VkStructureType sType void* pNext @@ -8248,6 +8334,15 @@ typedef void CAMetalLayer; + + + + + + + + + @@ -9879,6 +9974,24 @@ typedef void CAMetalLayer; const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo VkRemoteAddressNV* pAddress + + VkResult vkGetMemorySciBufNV + VkDevice device + const VkMemoryGetSciBufInfoNV* pGetSciBufInfo + NvSciBufObj* pHandle + + + VkResult vkGetPhysicalDeviceExternalMemorySciBufPropertiesNV + VkPhysicalDevice physicalDevice + VkExternalMemoryHandleTypeFlagBits handleType + NvSciBufObj handle + VkMemorySciBufPropertiesNV* pMemorySciBufProperties + + + VkResult vkGetPhysicalDeviceSciBufAttributesNV + VkPhysicalDevice physicalDevice + NvSciBufAttrList pAttributes + void vkGetPhysicalDeviceExternalSemaphoreProperties VkPhysicalDevice physicalDevice @@ -9948,6 +10061,45 @@ typedef void CAMetalLayer; VkDevice device const VkImportFenceFdInfoKHR* pImportFenceFdInfo + + VkResult vkGetFenceSciSyncFenceNV + VkDevice device + const VkFenceGetSciSyncInfoNV* pGetSciSyncHandleInfo + void* pHandle + + + VkResult vkGetFenceSciSyncObjNV + VkDevice device + const VkFenceGetSciSyncInfoNV* pGetSciSyncHandleInfo + void* pHandle + + + VkResult vkImportFenceSciSyncFenceNV + VkDevice device + const VkImportFenceSciSyncInfoNV* pImportFenceSciSyncInfo + + + VkResult vkImportFenceSciSyncObjNV + VkDevice device + const VkImportFenceSciSyncInfoNV* pImportFenceSciSyncInfo + + + VkResult vkGetSemaphoreSciSyncObjNV + VkDevice device + const VkSemaphoreGetSciSyncInfoNV* pGetSciSyncInfo + void* pHandle + + + VkResult vkImportSemaphoreSciSyncObjNV + VkDevice device + const VkImportSemaphoreSciSyncInfoNV* pImportSemaphoreSciSyncInfo + + + VkResult vkGetPhysicalDeviceSciSyncAttributesNV + VkPhysicalDevice physicalDevice + const VkSciSyncAttributesInfoNV* pSciSyncAttributesInfo + NvSciSyncAttrList pAttributes + VkResult vkReleaseDisplayEXT VkPhysicalDevice physicalDevice @@ -17562,21 +17714,58 @@ typedef void CAMetalLayer; - + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + + + + + + + + + + + + + + diff --git a/registry/vkconventions.py b/registry/vkconventions.py index c62d824..e87fa2d 100755 --- a/registry/vkconventions.py +++ b/registry/vkconventions.py @@ -174,7 +174,7 @@ class VulkanConventions(ConventionsBase): instead. N.b. this may need to change on a per-refpage basis if there are multiple documents involved. """ - return 'https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html' + return 'https://www.khronos.org/registry/vulkansc/specs/1.0-extensions/html/vkspec.html' @property def xml_api_name(self):