diff options
-rw-r--r-- | include/vulkan/vulkan_sc_core.h | 15 | ||||
-rw-r--r-- | include/vulkan/vulkan_sc_core.hpp | 15 | ||||
-rw-r--r-- | include/vulkan/vulkan_sci.h | 16 | ||||
-rwxr-xr-x | registry/genvk.py | 17 | ||||
-rw-r--r-- | registry/validusage.json | 64 | ||||
-rw-r--r-- | registry/vk.xml | 46 |
6 files changed, 78 insertions, 95 deletions
diff --git a/include/vulkan/vulkan_sc_core.h b/include/vulkan/vulkan_sc_core.h index df4ed64..a4b577e 100644 --- a/include/vulkan/vulkan_sc_core.h +++ b/include/vulkan/vulkan_sc_core.h @@ -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))) + ((((uint32_t)(variant)) << 29U) | (((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch))) // Vulkan 1.0 version number #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 11 +#define VK_HEADER_VERSION 12 // Vulkan SC variant number #define VKSC_API_VARIANT 1 @@ -73,9 +73,9 @@ 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_VARIANT(version) ((uint32_t)(version) >> 29U) +#define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22U) & 0x7FU) +#define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU) #define VK_API_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) typedef uint32_t VkBool32; typedef uint64_t VkDeviceAddress; @@ -478,7 +478,7 @@ typedef enum VkStructureType { 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_EXTERNAL_MEMORY_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, @@ -487,6 +487,7 @@ typedef enum VkStructureType { 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_PHYSICAL_DEVICE_EXTERNAL_SCI_BUF_FEATURES_NV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCI_BUF_FEATURES_NV, VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF } VkStructureType; @@ -547,9 +548,7 @@ 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; diff --git a/include/vulkan/vulkan_sc_core.hpp b/include/vulkan/vulkan_sc_core.hpp index 7d716d1..6425585 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) \ - (((static_cast<uint32_t>(variant)) << 29) | ((static_cast<uint32_t>(major)) << 22) | ((static_cast<uint32_t>(minor)) << 12) | (static_cast<uint32_t>(patch))) + (((static_cast<uint32_t>(variant)) << 29U) | ((static_cast<uint32_t>(major)) << 22U) | ((static_cast<uint32_t>(minor)) << 12U) | (static_cast<uint32_t>(patch))) // Vulkan 1.0 version number #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 11 +#define VK_HEADER_VERSION 12 // Vulkan SC variant number #define VKSC_API_VARIANT 1 @@ -73,9 +73,9 @@ 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) (static_cast<uint32_t>(version) >> 29) -#define VK_API_VERSION_MAJOR(version) ((static_cast<uint32_t>(version) >> 22) & 0x7FU) -#define VK_API_VERSION_MINOR(version) ((static_cast<uint32_t>(version) >> 12) & 0x3FFU) +#define VK_API_VERSION_VARIANT(version) (static_cast<uint32_t>(version) >> 29U) +#define VK_API_VERSION_MAJOR(version) ((static_cast<uint32_t>(version) >> 22U) & 0x7FU) +#define VK_API_VERSION_MINOR(version) ((static_cast<uint32_t>(version) >> 12U) & 0x3FFU) #define VK_API_VERSION_PATCH(version) (static_cast<uint32_t>(version) & 0xFFFU) typedef uint32_t VkBool32; typedef uint64_t VkDeviceAddress; @@ -478,7 +478,7 @@ typedef enum VkStructureType { 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_EXTERNAL_MEMORY_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, @@ -487,6 +487,7 @@ typedef enum VkStructureType { 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_PHYSICAL_DEVICE_EXTERNAL_SCI_BUF_FEATURES_NV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCI_BUF_FEATURES_NV, VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF } VkStructureType; @@ -547,9 +548,7 @@ 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; diff --git a/include/vulkan/vulkan_sci.h b/include/vulkan/vulkan_sci.h index 73e48c4..ed66d86 100644 --- a/include/vulkan/vulkan_sci.h +++ b/include/vulkan/vulkan_sci.h @@ -137,7 +137,7 @@ VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreSciSyncObjNV( #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_SPEC_VERSION 2 #define VK_NV_EXTERNAL_MEMORY_SCI_BUF_EXTENSION_NAME "VK_NV_external_memory_sci_buf" typedef struct VkExportMemorySciBufInfoNV { VkStructureType sType; @@ -165,12 +165,14 @@ typedef struct VkMemorySciBufPropertiesNV { uint32_t memoryTypeBits; } VkMemorySciBufPropertiesNV; -typedef struct VkPhysicalDeviceExternalSciBufFeaturesNV { +typedef struct VkPhysicalDeviceExternalMemorySciBufFeaturesNV { VkStructureType sType; - const void* pNext; + void* pNext; VkBool32 sciBufImport; VkBool32 sciBufExport; -} VkPhysicalDeviceExternalSciBufFeaturesNV; +} VkPhysicalDeviceExternalMemorySciBufFeaturesNV; + +typedef VkPhysicalDeviceExternalMemorySciBufFeaturesNV 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); @@ -227,7 +229,6 @@ typedef struct VkDeviceSemaphoreSciSyncPoolReservationCreateInfoNV { } 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( @@ -235,11 +236,6 @@ VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphoreSciSyncPoolNV( const VkSemaphoreSciSyncPoolCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphoreSciSyncPoolNV* pSemaphorePool); - -VKAPI_ATTR void VKAPI_CALL vkDestroySemaphoreSciSyncPoolNV( - VkDevice device, - VkSemaphoreSciSyncPoolNV semaphorePool, - const VkAllocationCallbacks* pAllocator); #endif #ifdef __cplusplus diff --git a/registry/genvk.py b/registry/genvk.py index a0f0f70..53c6d46 100755 --- a/registry/genvk.py +++ b/registry/genvk.py @@ -595,10 +595,10 @@ def makeGenOpts(args): profile = None, versions = featuresPat, emitversions = featuresPat, - defaultExtensions = defaultExtensions, + defaultExtensions = None, addExtensions = addExtensionsPat, - removeExtensions = removeExtensionsPat, - emitExtensions = emitExtensionsPat, + removeExtensions = None, + emitExtensions = None, vulkanLayer = vulkanLayer, prefixText = prefixStrings + vkPrefixStrings, genFuncPointers = True, @@ -640,6 +640,11 @@ def makeGenOpts(args): alignFuncParam = 48) ] + # keep any relevant platform extensions for the following generators + # (needed for e.g. the vulkan_sci extensions) + explicitRemoveExtensionsPat = makeREstring( + removeExtensions, None, strings_are_regex=True) + # Raw C header file generator. genOpts['vulkan_json_gen.h'] = [ JSONHeaderOutputGenerator, @@ -653,7 +658,7 @@ def makeGenOpts(args): emitversions = scVersions, defaultExtensions = 'vulkansc', addExtensions = addExtensionsPat, - removeExtensions = removeExtensionsPat, + removeExtensions = explicitRemoveExtensionsPat, emitExtensions = emitExtensionsPat, prefixText = prefixStrings + vkPrefixStrings, genFuncPointers = True, @@ -680,7 +685,7 @@ def makeGenOpts(args): emitversions = scVersions, defaultExtensions = 'vulkansc', addExtensions = addExtensionsPat, - removeExtensions = removeExtensionsPat, + removeExtensions = explicitRemoveExtensionsPat, emitExtensions = emitExtensionsPat, prefixText = prefixStrings + vkPrefixStrings, genFuncPointers = True, @@ -706,7 +711,7 @@ def makeGenOpts(args): emitversions = scVersions, defaultExtensions = 'vulkansc', addExtensions = addExtensionsPat, - removeExtensions = removeExtensionsPat, + removeExtensions = explicitRemoveExtensionsPat, emitExtensions = emitExtensionsPat, prefixText = prefixStrings + vkPrefixStrings, genFuncPointers = True, diff --git a/registry/validusage.json b/registry/validusage.json index d872d24..d3be3df 100644 --- a/registry/validusage.json +++ b/registry/validusage.json @@ -1,9 +1,9 @@ { "version info": { "schema version": 2, - "api version": "1.0.11", - "comment": "from git branch: github-sc_main commit: 0caf3f1da2ce143a0f500d7f4083fe2899a31f30", - "date": "2022-09-13 03:42:50Z" + "api version": "1.0.12", + "comment": "from git branch: github-sc_main commit: 1e1d007aa441c1df2f2f35d7aef7dc9731fafd48", + "date": "2023-01-25 05:30:01Z" }, "validation": { "vkGetInstanceProcAddr": { @@ -136,7 +136,7 @@ "(VKSC_VERSION_1_0)": [ { "vuid": "VUID-VkApplicationInfo-apiVersion-05021", - "text": " If <code>apiVersion</code> is not <code>0</code>, then it <strong class=\"purple\">must</strong> be greater than or equal to <a href=\"#VKSC_API_VERSION_1_0\">VKSC_API_VERSION_1_0</a>" + "text": " If <code>apiVersion</code> is not <code>0</code> and its variant is <code>VKSC_API_VARIANT</code>, then it <strong class=\"purple\">must</strong> be greater than or equal to <a href=\"#VKSC_API_VERSION_1_0\">VKSC_API_VERSION_1_0</a>" } ], "(VK_EXT_application_parameters)": [ @@ -626,7 +626,7 @@ }, { "vuid": "VUID-VkDeviceCreateInfo-pNext-pNext", - "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkApplicationParametersEXT\">VkApplicationParametersEXT</a>, <a href=\"#VkDeviceGroupDeviceCreateInfo\">VkDeviceGroupDeviceCreateInfo</a>, <a href=\"#VkDeviceObjectReservationCreateInfo\">VkDeviceObjectReservationCreateInfo</a>, <a href=\"#VkFaultCallbackInfo\">VkFaultCallbackInfo</a>, <a href=\"#VkPhysicalDevice16BitStorageFeatures\">VkPhysicalDevice16BitStorageFeatures</a>, <a href=\"#VkPhysicalDevice4444FormatsFeaturesEXT\">VkPhysicalDevice4444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDevice8BitStorageFeatures\">VkPhysicalDevice8BitStorageFeatures</a>, <a href=\"#VkPhysicalDeviceASTCDecodeFeaturesEXT\">VkPhysicalDeviceASTCDecodeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT\">VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeatures\">VkPhysicalDeviceBufferDeviceAddressFeatures</a>, <a href=\"#VkPhysicalDeviceColorWriteEnableFeaturesEXT\">VkPhysicalDeviceColorWriteEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorFeaturesEXT\">VkPhysicalDeviceCustomBorderColorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDepthClipEnableFeaturesEXT\">VkPhysicalDeviceDepthClipEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingFeatures\">VkPhysicalDeviceDescriptorIndexingFeatures</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState2FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicStateFeaturesEXT\">VkPhysicalDeviceExtendedDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExternalSciBufFeaturesNV\">VkPhysicalDeviceExternalSciBufFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExternalSciSync2FeaturesNV\">VkPhysicalDeviceExternalSciSync2FeaturesNV</a>, <a href=\"#VkPhysicalDeviceExternalSciSyncFeaturesNV\">VkPhysicalDeviceExternalSciSyncFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFeatures2\">VkPhysicalDeviceFeatures2</a>, <a href=\"#VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT\">VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateFeaturesKHR\">VkPhysicalDeviceFragmentShadingRateFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceHostQueryResetFeatures\">VkPhysicalDeviceHostQueryResetFeatures</a>, <a href=\"#VkPhysicalDeviceImageRobustnessFeaturesEXT\">VkPhysicalDeviceImageRobustnessFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImagelessFramebufferFeatures\">VkPhysicalDeviceImagelessFramebufferFeatures</a>, <a href=\"#VkPhysicalDeviceIndexTypeUint8FeaturesEXT\">VkPhysicalDeviceIndexTypeUint8FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceLineRasterizationFeaturesEXT\">VkPhysicalDeviceLineRasterizationFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMultiviewFeatures\">VkPhysicalDeviceMultiviewFeatures</a>, <a href=\"#VkPhysicalDevicePerformanceQueryFeaturesKHR\">VkPhysicalDevicePerformanceQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryFeatures\">VkPhysicalDeviceProtectedMemoryFeatures</a>, <a href=\"#VkPhysicalDeviceRobustness2FeaturesEXT\">VkPhysicalDeviceRobustness2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerYcbcrConversionFeatures\">VkPhysicalDeviceSamplerYcbcrConversionFeatures</a>, <a href=\"#VkPhysicalDeviceScalarBlockLayoutFeatures\">VkPhysicalDeviceScalarBlockLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures\">VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloatFeaturesEXT\">VkPhysicalDeviceShaderAtomicFloatFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicInt64Features\">VkPhysicalDeviceShaderAtomicInt64Features</a>, <a href=\"#VkPhysicalDeviceShaderClockFeaturesKHR\">VkPhysicalDeviceShaderClockFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT\">VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderDrawParametersFeatures\">VkPhysicalDeviceShaderDrawParametersFeatures</a>, <a href=\"#VkPhysicalDeviceShaderFloat16Int8Features\">VkPhysicalDeviceShaderFloat16Int8Features</a>, <a href=\"#VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT\">VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures\">VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures</a>, <a href=\"#VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR\">VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlFeaturesEXT\">VkPhysicalDeviceSubgroupSizeControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSynchronization2FeaturesKHR\">VkPhysicalDeviceSynchronization2FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT\">VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT\">VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreFeatures\">VkPhysicalDeviceTimelineSemaphoreFeatures</a>, <a href=\"#VkPhysicalDeviceUniformBufferStandardLayoutFeatures\">VkPhysicalDeviceUniformBufferStandardLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceVariablePointersFeatures\">VkPhysicalDeviceVariablePointersFeatures</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT\">VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT\">VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVulkan11Features\">VkPhysicalDeviceVulkan11Features</a>, <a href=\"#VkPhysicalDeviceVulkan12Features\">VkPhysicalDeviceVulkan12Features</a>, <a href=\"#VkPhysicalDeviceVulkanMemoryModelFeatures\">VkPhysicalDeviceVulkanMemoryModelFeatures</a>, <a href=\"#VkPhysicalDeviceVulkanSC10Features\">VkPhysicalDeviceVulkanSC10Features</a>, <a href=\"#VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT\">VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT</a>, or <a href=\"#VkPhysicalDeviceYcbcrImageArraysFeaturesEXT\">VkPhysicalDeviceYcbcrImageArraysFeaturesEXT</a>" + "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkApplicationParametersEXT\">VkApplicationParametersEXT</a>, <a href=\"#VkDeviceGroupDeviceCreateInfo\">VkDeviceGroupDeviceCreateInfo</a>, <a href=\"#VkDeviceObjectReservationCreateInfo\">VkDeviceObjectReservationCreateInfo</a>, <a href=\"#VkFaultCallbackInfo\">VkFaultCallbackInfo</a>, <a href=\"#VkPhysicalDevice16BitStorageFeatures\">VkPhysicalDevice16BitStorageFeatures</a>, <a href=\"#VkPhysicalDevice4444FormatsFeaturesEXT\">VkPhysicalDevice4444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDevice8BitStorageFeatures\">VkPhysicalDevice8BitStorageFeatures</a>, <a href=\"#VkPhysicalDeviceASTCDecodeFeaturesEXT\">VkPhysicalDeviceASTCDecodeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT\">VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeatures\">VkPhysicalDeviceBufferDeviceAddressFeatures</a>, <a href=\"#VkPhysicalDeviceColorWriteEnableFeaturesEXT\">VkPhysicalDeviceColorWriteEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorFeaturesEXT\">VkPhysicalDeviceCustomBorderColorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDepthClipEnableFeaturesEXT\">VkPhysicalDeviceDepthClipEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingFeatures\">VkPhysicalDeviceDescriptorIndexingFeatures</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState2FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicStateFeaturesEXT\">VkPhysicalDeviceExtendedDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExternalMemorySciBufFeaturesNV\">VkPhysicalDeviceExternalMemorySciBufFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExternalSciSync2FeaturesNV\">VkPhysicalDeviceExternalSciSync2FeaturesNV</a>, <a href=\"#VkPhysicalDeviceExternalSciSyncFeaturesNV\">VkPhysicalDeviceExternalSciSyncFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFeatures2\">VkPhysicalDeviceFeatures2</a>, <a href=\"#VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT\">VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateFeaturesKHR\">VkPhysicalDeviceFragmentShadingRateFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceHostQueryResetFeatures\">VkPhysicalDeviceHostQueryResetFeatures</a>, <a href=\"#VkPhysicalDeviceImageRobustnessFeaturesEXT\">VkPhysicalDeviceImageRobustnessFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImagelessFramebufferFeatures\">VkPhysicalDeviceImagelessFramebufferFeatures</a>, <a href=\"#VkPhysicalDeviceIndexTypeUint8FeaturesEXT\">VkPhysicalDeviceIndexTypeUint8FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceLineRasterizationFeaturesEXT\">VkPhysicalDeviceLineRasterizationFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMultiviewFeatures\">VkPhysicalDeviceMultiviewFeatures</a>, <a href=\"#VkPhysicalDevicePerformanceQueryFeaturesKHR\">VkPhysicalDevicePerformanceQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryFeatures\">VkPhysicalDeviceProtectedMemoryFeatures</a>, <a href=\"#VkPhysicalDeviceRobustness2FeaturesEXT\">VkPhysicalDeviceRobustness2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerYcbcrConversionFeatures\">VkPhysicalDeviceSamplerYcbcrConversionFeatures</a>, <a href=\"#VkPhysicalDeviceScalarBlockLayoutFeatures\">VkPhysicalDeviceScalarBlockLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures\">VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloatFeaturesEXT\">VkPhysicalDeviceShaderAtomicFloatFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicInt64Features\">VkPhysicalDeviceShaderAtomicInt64Features</a>, <a href=\"#VkPhysicalDeviceShaderClockFeaturesKHR\">VkPhysicalDeviceShaderClockFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT\">VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderDrawParametersFeatures\">VkPhysicalDeviceShaderDrawParametersFeatures</a>, <a href=\"#VkPhysicalDeviceShaderFloat16Int8Features\">VkPhysicalDeviceShaderFloat16Int8Features</a>, <a href=\"#VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT\">VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures\">VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures</a>, <a href=\"#VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR\">VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlFeaturesEXT\">VkPhysicalDeviceSubgroupSizeControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSynchronization2FeaturesKHR\">VkPhysicalDeviceSynchronization2FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT\">VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT\">VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreFeatures\">VkPhysicalDeviceTimelineSemaphoreFeatures</a>, <a href=\"#VkPhysicalDeviceUniformBufferStandardLayoutFeatures\">VkPhysicalDeviceUniformBufferStandardLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceVariablePointersFeatures\">VkPhysicalDeviceVariablePointersFeatures</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT\">VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT\">VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVulkan11Features\">VkPhysicalDeviceVulkan11Features</a>, <a href=\"#VkPhysicalDeviceVulkan12Features\">VkPhysicalDeviceVulkan12Features</a>, <a href=\"#VkPhysicalDeviceVulkanMemoryModelFeatures\">VkPhysicalDeviceVulkanMemoryModelFeatures</a>, <a href=\"#VkPhysicalDeviceVulkanSC10Features\">VkPhysicalDeviceVulkanSC10Features</a>, <a href=\"#VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT\">VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT</a>, or <a href=\"#VkPhysicalDeviceYcbcrImageArraysFeaturesEXT\">VkPhysicalDeviceYcbcrImageArraysFeaturesEXT</a>" }, { "vuid": "VUID-VkDeviceCreateInfo-sType-unique", @@ -750,7 +750,7 @@ "(VKSC_VERSION_1_0)": [ { "vuid": "VUID-vkDestroyDevice-device-05137", - "text": " All child objects created on <code>device</code> except query pools, descriptor pools, command pools, and device memory <strong class=\"purple\">must</strong> have been destroyed prior to destroying <code>device</code>" + "text": " All child objects created on <code>device</code>, except those with no explicit <a href=\"#fundamentals-objectmodel-no-destroy\">free or destroy command</a>, <strong class=\"purple\">must</strong> have been destroyed prior to destroying <code>device</code>" } ], "!(VKSC_VERSION_1_0)": [ @@ -1885,10 +1885,6 @@ "text": " If <code>waitSemaphoreCount</code> is not <code>0</code>, <code>pWaitDstStageMask</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>waitSemaphoreCount</code> valid combinations of <a href=\"#VkPipelineStageFlagBits\">VkPipelineStageFlagBits</a> values" }, { - "vuid": "VUID-VkSubmitInfo-pWaitDstStageMask-requiredbitmask", - "text": " Each element of <code>pWaitDstStageMask</code> <strong class=\"purple\">must</strong> not be <code>0</code>" - }, - { "vuid": "VUID-VkSubmitInfo-pCommandBuffers-parameter", "text": " If <code>commandBufferCount</code> is not <code>0</code>, <code>pCommandBuffers</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>commandBufferCount</code> valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handles" }, @@ -3397,7 +3393,7 @@ ] }, "vkDestroySemaphoreSciSyncPoolNV": { - "(VK_NV_external_sci_sync2)": [ + "(VK_NV_external_sci_sync2)+!(VKSC_VERSION_1_0)": [ { "vuid": "VUID-vkDestroySemaphoreSciSyncPoolNV-semaphorePool-05153", "text": " All submitted batches that refer to a semaphore created from <code>semaphorePool</code> <strong class=\"purple\">must</strong> have completed execution" @@ -3405,22 +3401,6 @@ { "vuid": "VUID-vkDestroySemaphoreSciSyncPoolNV-sciSyncSemaphore2-05154", "text": " The <a href=\"#features-sciSyncSemaphore2\"><a href=\"#VkPhysicalDeviceExternalSciSync2FeaturesNV\">VkPhysicalDeviceExternalSciSync2FeaturesNV</a>::<code>sciSyncSemaphore2</code></a> feature <strong class=\"purple\">must</strong> be enabled" - }, - { - "vuid": "VUID-vkDestroySemaphoreSciSyncPoolNV-device-parameter", - "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle" - }, - { - "vuid": "VUID-vkDestroySemaphoreSciSyncPoolNV-semaphorePool-parameter", - "text": " If <code>semaphorePool</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>semaphorePool</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkSemaphoreSciSyncPoolNV\">VkSemaphoreSciSyncPoolNV</a> handle" - }, - { - "vuid": "VUID-vkDestroySemaphoreSciSyncPoolNV-pAllocator-null", - "text": " <code>pAllocator</code> <strong class=\"purple\">must</strong> be <code>NULL</code>" - }, - { - "vuid": "VUID-vkDestroySemaphoreSciSyncPoolNV-semaphorePool-parent", - "text": " If <code>semaphorePool</code> is a valid handle, it <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>" } ] }, @@ -7161,11 +7141,11 @@ "text": " The number of {objectnameplural} currently allocated from <code>device</code> plus {objectcount} <strong class=\"purple\">must</strong> be less than or equal to the total number of {objectnameplural} requested via <a href=\"#VkDeviceObjectReservationCreateInfo\">VkDeviceObjectReservationCreateInfo</a>::pname:{objectnamecamelcase}RequestCount specified when <code>device</code> was created" }, { - "vuid": "VUID-vkCreateRenderPass-device-05089", + "vuid": "VUID-vkCreateRenderPass-subpasses-device-05089", "text": " The number of subpasses currently allocated from <code>device</code> across all slink:VkRenderPass objects plus pname:pCreateInfo->subpassCount <strong class=\"purple\">must</strong> be less than or equal to the total number of subpasses requested via <a href=\"#VkDeviceObjectReservationCreateInfo\">VkDeviceObjectReservationCreateInfo</a>::pname:subpassDescriptionRequestCount specified when <code>device</code> was created" }, { - "vuid": "VUID-vkCreateRenderPass-device-05089", + "vuid": "VUID-vkCreateRenderPass-attachments-device-05089", "text": " The number of attachments currently allocated from <code>device</code> across all slink:VkRenderPass objects plus pname:pCreateInfo->attachmentCount <strong class=\"purple\">must</strong> be less than or equal to the total number of attachments requested via <a href=\"#VkDeviceObjectReservationCreateInfo\">VkDeviceObjectReservationCreateInfo</a>::pname:attachmentDescriptionRequestCount specified when <code>device</code> was created" } ], @@ -7851,11 +7831,11 @@ "text": " The number of {objectnameplural} currently allocated from <code>device</code> plus {objectcount} <strong class=\"purple\">must</strong> be less than or equal to the total number of {objectnameplural} requested via <a href=\"#VkDeviceObjectReservationCreateInfo\">VkDeviceObjectReservationCreateInfo</a>::pname:{objectnamecamelcase}RequestCount specified when <code>device</code> was created" }, { - "vuid": "VUID-vkCreateRenderPass2-device-05089", + "vuid": "VUID-vkCreateRenderPass2-subpasses-device-05089", "text": " The number of subpasses currently allocated from <code>device</code> across all slink:VkRenderPass objects plus pname:pCreateInfo->subpassCount <strong class=\"purple\">must</strong> be less than or equal to the total number of subpasses requested via <a href=\"#VkDeviceObjectReservationCreateInfo\">VkDeviceObjectReservationCreateInfo</a>::pname:subpassDescriptionRequestCount specified when <code>device</code> was created" }, { - "vuid": "VUID-vkCreateRenderPass2-device-05089", + "vuid": "VUID-vkCreateRenderPass2-attachments-device-05089", "text": " The number of attachments currently allocated from <code>device</code> across all slink:VkRenderPass objects plus pname:pCreateInfo->attachmentCount <strong class=\"purple\">must</strong> be less than or equal to the total number of attachments requested via <a href=\"#VkDeviceObjectReservationCreateInfo\">VkDeviceObjectReservationCreateInfo</a>::pname:attachmentDescriptionRequestCount specified when <code>device</code> was created" } ], @@ -12502,11 +12482,11 @@ "(VK_NV_external_memory_sci_buf)": [ { "vuid": "VUID-VkMemoryAllocateInfo-pNext-05097", - "text": " If the <code>pNext</code> chain includes a <a href=\"#VkExportMemorySciBufInfoNV\">VkExportMemorySciBufInfoNV</a> structure, <a href=\"#VkPhysicalDeviceExternalSciBufFeaturesNV\">VkPhysicalDeviceExternalSciBufFeaturesNV</a>::<code>sciBufExport</code> <strong class=\"purple\">must</strong> be enabled" + "text": " If the <code>pNext</code> chain includes a <a href=\"#VkExportMemorySciBufInfoNV\">VkExportMemorySciBufInfoNV</a> structure, <a href=\"#VkPhysicalDeviceExternalMemorySciBufFeaturesNV\">VkPhysicalDeviceExternalMemorySciBufFeaturesNV</a>::<code>sciBufExport</code> <strong class=\"purple\">must</strong> be enabled" }, { "vuid": "VUID-VkMemoryAllocateInfo-pNext-05098", - "text": " If the <code>pNext</code> chain includes a <a href=\"#VkImportMemorySciBufInfoNV\">VkImportMemorySciBufInfoNV</a> structure, <a href=\"#VkPhysicalDeviceExternalSciBufFeaturesNV\">VkPhysicalDeviceExternalSciBufFeaturesNV</a>::<code>sciBufImport</code> <strong class=\"purple\">must</strong> be enabled" + "text": " If the <code>pNext</code> chain includes a <a href=\"#VkImportMemorySciBufInfoNV\">VkImportMemorySciBufInfoNV</a> structure, <a href=\"#VkPhysicalDeviceExternalMemorySciBufFeaturesNV\">VkPhysicalDeviceExternalMemorySciBufFeaturesNV</a>::<code>sciBufImport</code> <strong class=\"purple\">must</strong> be enabled" }, { "vuid": "VUID-VkMemoryAllocateInfo-memoryTypeIndex-05099", @@ -13134,7 +13114,7 @@ }, { "vuid": "VUID-vkGetPhysicalDeviceExternalMemorySciBufPropertiesNV-sciBufImport-05105", - "text": " <a href=\"#VkPhysicalDeviceExternalSciBufFeaturesNV\">VkPhysicalDeviceExternalSciBufFeaturesNV</a>::<code>sciBufImport</code> <strong class=\"purple\">must</strong> be enabled" + "text": " <a href=\"#VkPhysicalDeviceExternalMemorySciBufFeaturesNV\">VkPhysicalDeviceExternalMemorySciBufFeaturesNV</a>::<code>sciBufImport</code> <strong class=\"purple\">must</strong> be enabled" }, { "vuid": "VUID-vkGetPhysicalDeviceExternalMemorySciBufPropertiesNV-physicalDevice-parameter", @@ -17033,7 +17013,7 @@ "text": " The number of {objectnameplural} currently allocated from <code>device</code> plus {objectcount} <strong class=\"purple\">must</strong> be less than or equal to the total number of {objectnameplural} requested via <a href=\"#VkDeviceObjectReservationCreateInfo\">VkDeviceObjectReservationCreateInfo</a>::pname:{objectnamecamelcase}RequestCount specified when <code>device</code> was created" }, { - "vuid": "VUID-vkCreateDescriptorSetLayout-device-05089", + "vuid": "VUID-vkCreateDescriptorSetLayout-layoutbindings-device-05089", "text": " The number of descriptor set layout bindings currently allocated from <code>device</code> across all slink:VkDescriptorSetLayout objects plus pname:pCreateInfo->bindingCount <strong class=\"purple\">must</strong> be less than or equal to the total number of descriptor set layout bindings requested via <a href=\"#VkDeviceObjectReservationCreateInfo\">VkDeviceObjectReservationCreateInfo</a>::pname:descriptorSetLayoutBindingRequestCount specified when <code>device</code> was created" } ], @@ -39412,11 +39392,11 @@ } ] }, - "VkPhysicalDeviceExternalSciBufFeaturesNV": { + "VkPhysicalDeviceExternalMemorySciBufFeaturesNV": { "(VK_NV_external_memory_sci_buf)": [ { - "vuid": "VUID-VkPhysicalDeviceExternalSciBufFeaturesNV-sType-sType", - "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_BUF_FEATURES_NV</code>" + "vuid": "VUID-VkPhysicalDeviceExternalMemorySciBufFeaturesNV-sType-sType", + "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCI_BUF_FEATURES_NV</code>" } ] }, @@ -40745,14 +40725,6 @@ { "vuid": "VUID-VkFaultData-sType-sType", "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_FAULT_DATA</code>" - }, - { - "vuid": "VUID-VkFaultData-faultLevel-parameter", - "text": " <code>faultLevel</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkFaultLevel\">VkFaultLevel</a> value" - }, - { - "vuid": "VUID-VkFaultData-faultType-parameter", - "text": " <code>faultType</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkFaultType\">VkFaultType</a> value" } ] }, diff --git a/registry/vk.xml b/registry/vk.xml index 3c3a199..000f595 100644 --- a/registry/vk.xml +++ b/registry/vk.xml @@ -139,19 +139,19 @@ branch of the member gitlab server. <type category="define">// DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead. #define <name>VK_MAKE_VERSION</name>(major, minor, patch) \ - ((((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch)))</type> + ((((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch)))</type> <type category="define">// DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead. -#define <name>VK_VERSION_MAJOR</name>(version) ((uint32_t)(version) >> 22)</type> +#define <name>VK_VERSION_MAJOR</name>(version) ((uint32_t)(version) >> 22U)</type> <type category="define">// DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead. -#define <name>VK_VERSION_MINOR</name>(version) (((uint32_t)(version) >> 12) & 0x3FFU)</type> +#define <name>VK_VERSION_MINOR</name>(version) (((uint32_t)(version) >> 12U) & 0x3FFU)</type> <type category="define">// DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead. #define <name>VK_VERSION_PATCH</name>(version) ((uint32_t)(version) & 0xFFFU)</type> <type category="define">#define <name>VK_MAKE_API_VERSION</name>(variant, major, minor, patch) \ - ((((uint32_t)(variant)) << 29) | (((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch)))</type> - <type category="define">#define <name>VK_API_VERSION_VARIANT</name>(version) ((uint32_t)(version) >> 29)</type> - <type category="define">#define <name>VK_API_VERSION_MAJOR</name>(version) (((uint32_t)(version) >> 22) & 0x7FU)</type> - <type category="define">#define <name>VK_API_VERSION_MINOR</name>(version) (((uint32_t)(version) >> 12) & 0x3FFU)</type> + ((((uint32_t)(variant)) << 29U) | (((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch)))</type> + <type category="define">#define <name>VK_API_VERSION_VARIANT</name>(version) ((uint32_t)(version) >> 29U)</type> + <type category="define">#define <name>VK_API_VERSION_MAJOR</name>(version) (((uint32_t)(version) >> 22U) & 0x7FU)</type> + <type category="define">#define <name>VK_API_VERSION_MINOR</name>(version) (((uint32_t)(version) >> 12U) & 0x3FFU)</type> <type category="define">#define <name>VK_API_VERSION_PATCH</name>(version) ((uint32_t)(version) & 0xFFFU)</type> <type category="define" requires="VK_HEADER_VERSION">// Vulkan SC variant number @@ -174,7 +174,7 @@ branch of the member gitlab server. #define <name>VK_HEADER_VERSION_COMPLETE</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 2, VK_HEADER_VERSION)</type> <type api="vulkansc" category="define">// Version of this file -#define <name>VK_HEADER_VERSION</name> 11</type> +#define <name>VK_HEADER_VERSION</name> 12</type> <type api="vulkansc" category="define" requires="VKSC_API_VARIANT">// Complete version of this file #define <name>VK_HEADER_VERSION_COMPLETE</name> <type>VK_MAKE_API_VERSION</type>(VKSC_API_VARIANT, 1, 0, VK_HEADER_VERSION)</type> @@ -1865,7 +1865,7 @@ typedef void <name>CAMetalLayer</name>; <member optional="true">const <type>void</type>* <name>pNext</name></member> <member optional="true"><type>uint32_t</type> <name>waitSemaphoreCount</name></member> <member len="waitSemaphoreCount">const <type>VkSemaphore</type>* <name>pWaitSemaphores</name></member> - <member len="waitSemaphoreCount">const <type>VkPipelineStageFlags</type>* <name>pWaitDstStageMask</name></member> + <member optional="false,true" len="waitSemaphoreCount">const <type>VkPipelineStageFlags</type>* <name>pWaitDstStageMask</name></member> <member optional="true"><type>uint32_t</type> <name>commandBufferCount</name></member> <member len="commandBufferCount">const <type>VkCommandBuffer</type>* <name>pCommandBuffers</name></member> <member optional="true"><type>uint32_t</type> <name>signalSemaphoreCount</name></member> @@ -2164,12 +2164,13 @@ typedef void <name>CAMetalLayer</name>; <member optional="true">const <type>void</type>* <name>pNext</name></member> <member><type>uint32_t</type> <name>memoryTypeBits</name></member> </type> - <type category="struct" name="VkPhysicalDeviceExternalSciBufFeaturesNV" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> - <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_BUF_FEATURES_NV"><type>VkStructureType</type> <name>sType</name></member> - <member optional="true">const <type>void</type>* <name>pNext</name></member> + <type category="struct" name="VkPhysicalDeviceExternalMemorySciBufFeaturesNV" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> + <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCI_BUF_FEATURES_NV"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true"><type>void</type>* <name>pNext</name></member> <member><type>VkBool32</type> <name>sciBufImport</name></member> <member><type>VkBool32</type> <name>sciBufExport</name></member> </type> + <type category="struct" name="VkPhysicalDeviceExternalSciBufFeaturesNV" alias="VkPhysicalDeviceExternalMemorySciBufFeaturesNV"/> <type category="struct" name="VkWin32KeyedMutexAcquireReleaseInfoNV" structextends="VkSubmitInfo,VkSubmitInfo2KHR"> <member values="VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member> <member optional="true">const <type>void</type>* <name>pNext</name></member> @@ -5177,7 +5178,7 @@ typedef void <name>CAMetalLayer</name>; <member optional="true"><type>void</type>* <name>pNext</name></member> <member><type>VkBool32</type> <name>deviceCoherentMemory</name></member> </type> - <type category="struct" name="VkFaultData"> + <type category="struct" name="VkFaultData" returnedonly="true"> <member values="VK_STRUCTURE_TYPE_FAULT_DATA"><type>VkStructureType</type> <name>sType</name></member> <member noautovalidity="true" optional="true"><type>void</type>* <name>pNext</name></member> <member><type>VkFaultLevel</type> <name>faultLevel</name></member> @@ -8645,12 +8646,19 @@ typedef void <name>CAMetalLayer</name>; <param optional="false,true"><type>uint32_t</type>* <name>pPropertyCount</name></param> <param optional="true" len="pPropertyCount"><type>VkExtensionProperties</type>* <name>pProperties</name></param> </command> - <command successcodes="VK_SUCCESS,VK_INCOMPLETE" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY"> + <command api="vulkan" successcodes="VK_SUCCESS,VK_INCOMPLETE" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY"> <proto><type>VkResult</type> <name>vkEnumerateDeviceLayerProperties</name></proto> <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param> <param optional="false,true"><type>uint32_t</type>* <name>pPropertyCount</name></param> <param optional="true" len="pPropertyCount"><type>VkLayerProperties</type>* <name>pProperties</name></param> </command> + <command api="vulkansc" successcodes="VK_SUCCESS"> + <proto><type>VkResult</type> <name>vkEnumerateDeviceLayerProperties</name></proto> + <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param> + <param optional="false,true"><type>uint32_t</type>* <name>pPropertyCount</name></param> + <param optional="true" len="pPropertyCount"><type>VkLayerProperties</type>* <name>pProperties</name></param> + </command> + <command successcodes="VK_SUCCESS,VK_INCOMPLETE" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_LAYER_NOT_PRESENT"> <proto><type>VkResult</type> <name>vkEnumerateDeviceExtensionProperties</name></proto> <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param> @@ -12931,6 +12939,8 @@ typedef void <name>CAMetalLayer</name>; <enum name="VK_STRUCTURE_TYPE_BIND_SPARSE_INFO"/> <type name="VkDeviceGroupBindSparseInfo"/> <enum name="VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO"/> + + <command name="vkDestroySemaphoreSciSyncPoolNV"/> </remove> </feature> @@ -17791,18 +17801,20 @@ typedef void <name>CAMetalLayer</name>; </extension> <extension name="VK_NV_external_memory_sci_buf" number="375" requiresCore="1.1" platform="sci" type="device" author="NV" contact="Kai Zhang @kazhang" supported="vulkansc"> <require> - <enum value="1" name="VK_NV_EXTERNAL_MEMORY_SCI_BUF_SPEC_VERSION"/> + <enum value="2" name="VK_NV_EXTERNAL_MEMORY_SCI_BUF_SPEC_VERSION"/> <enum value=""VK_NV_external_memory_sci_buf"" name="VK_NV_EXTERNAL_MEMORY_SCI_BUF_EXTENSION_NAME"/> <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMPORT_MEMORY_SCI_BUF_INFO_NV"/> <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_EXPORT_MEMORY_SCI_BUF_INFO_NV"/> <enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_MEMORY_GET_SCI_BUF_INFO_NV"/> <enum offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_MEMORY_SCI_BUF_PROPERTIES_NV"/> - <enum offset="4" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_BUF_FEATURES_NV"/> + <enum offset="4" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCI_BUF_FEATURES_NV"/> + <enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_BUF_FEATURES_NV" alias="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCI_BUF_FEATURES_NV"/> <enum bitpos="13" extends="VkExternalMemoryHandleTypeFlagBits" name="VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCI_BUF_BIT_NV"/> <type name="VkExportMemorySciBufInfoNV"/> <type name="VkImportMemorySciBufInfoNV"/> <type name="VkMemoryGetSciBufInfoNV"/> <type name="VkMemorySciBufPropertiesNV"/> + <type name="VkPhysicalDeviceExternalMemorySciBufFeaturesNV"/> <type name="VkPhysicalDeviceExternalSciBufFeaturesNV"/> <command name="vkGetMemorySciBufNV"/> <command name="vkGetPhysicalDeviceExternalMemorySciBufPropertiesNV"/> @@ -18302,7 +18314,7 @@ typedef void <name>CAMetalLayer</name>; <require> <enum value="1" name="VK_NV_EXTERNAL_SCI_SYNC_2_SPEC_VERSION"/> <enum value=""VK_NV_external_sci_sync2"" name="VK_NV_EXTERNAL_SCI_SYNC_2_EXTENSION_NAME"/> - <enum offset="0" extends="VkObjectType" name="VK_OBJECT_TYPE_SEMAPHORE_SCI_SYNC_POOL_NV" comment="VkSemaphoreSciSyncPoolNV" protect="VK_USE_PLATFORM_SCI"/> + <enum offset="0" extends="VkObjectType" name="VK_OBJECT_TYPE_SEMAPHORE_SCI_SYNC_POOL_NV" comment="VkSemaphoreSciSyncPoolNV"/> <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SEMAPHORE_SCI_SYNC_POOL_CREATE_INFO_NV"/> <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SEMAPHORE_SCI_SYNC_CREATE_INFO_NV"/> <enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_2_FEATURES_NV"/> |