diff options
author | Jon Leech <[email protected]> | 2020-12-13 22:33:27 -0800 |
---|---|---|
committer | Jon Leech <[email protected]> | 2020-12-13 22:34:27 -0800 |
commit | 85470b32ad5d0d7d67fdf411b6e7b502c09c9c52 (patch) | |
tree | 8aad2a43f7e00b5694f1b728889b69143e7f60ee | |
parent | fe9850767d00e46b230da6cfbc15eb86636017bd (diff) | |
download | Vulkan-Headers-85470b32ad5d0d7d67fdf411b6e7b502c09c9c52.tar.gz Vulkan-Headers-85470b32ad5d0d7d67fdf411b6e7b502c09c9c52.zip |
Update for Vulkan-Docs 1.2.165v1.2.165
-rw-r--r-- | include/vulkan/vulkan.hpp | 55 | ||||
-rw-r--r-- | include/vulkan/vulkan_core.h | 2 | ||||
-rw-r--r-- | registry/validusage.json | 420 | ||||
-rw-r--r-- | registry/vk.xml | 86 |
4 files changed, 453 insertions, 110 deletions
diff --git a/include/vulkan/vulkan.hpp b/include/vulkan/vulkan.hpp index 0f21fb2..25e746f 100644 --- a/include/vulkan/vulkan.hpp +++ b/include/vulkan/vulkan.hpp @@ -94,7 +94,7 @@ extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE h #endif -static_assert( VK_HEADER_VERSION == 164 , "Wrong VK_HEADER_VERSION!" ); +static_assert( VK_HEADER_VERSION == 165 , "Wrong VK_HEADER_VERSION!" ); // 32-bit vulkan is not typesafe for handles, so don't allow copy constructors on this platform by default. // To enable this feature on 32-bit platforms please define VULKAN_HPP_TYPESAFE_CONVERSION @@ -3686,36 +3686,6 @@ namespace VULKAN_HPP_NAMESPACE Dispatch const * m_dispatch = nullptr; }; - template <typename OwnerType, typename Dispatch> - class ObjectReleaseExt - { - public: - ObjectReleaseExt() = default; - - ObjectReleaseExt( OwnerType owner, Dispatch const & dispatch = VULKAN_HPP_DEFAULT_DISPATCHER ) VULKAN_HPP_NOEXCEPT - : m_owner( owner ) - , m_dispatch( &dispatch ) - {} - - OwnerType getOwner() const VULKAN_HPP_NOEXCEPT - { - return m_owner; - } - - protected: - template <typename T> - void destroy( T t ) VULKAN_HPP_NOEXCEPT - { - VULKAN_HPP_ASSERT( m_owner && m_dispatch ); - m_owner.releaseExt( t, *m_dispatch ); - } - - private: - OwnerType m_owner = {}; - Dispatch const * m_dispatch = nullptr; - }; - - template <typename OwnerType, typename PoolType, typename Dispatch> class PoolFree { @@ -15268,11 +15238,11 @@ namespace VULKAN_HPP_NAMESPACE : type( type_ ), flags( flags_ ), mode( mode_ ), srcAccelerationStructure( srcAccelerationStructure_ ), dstAccelerationStructure( dstAccelerationStructure_ ), geometryCount( static_cast<uint32_t>( geometries_.size() ) ), pGeometries( geometries_.data() ), ppGeometries( pGeometries_.data() ), scratchData( scratchData_ ) { #ifdef VULKAN_HPP_NO_EXCEPTIONS - VULKAN_HPP_ASSERT( geometries_.size() == pGeometries_.size() ); + VULKAN_HPP_ASSERT( geometries_.empty() || pGeometries_.empty() || ( geometries_.size() == pGeometries_.size() ) ); #else - if ( geometries_.size() != pGeometries_.size() ) + if ( !geometries_.empty() && !pGeometries_.empty() && ( geometries_.size() != pGeometries_.size() ) ) { - throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::AccelerationStructureBuildGeometryInfoKHR::AccelerationStructureBuildGeometryInfoKHR: geometries_.size() != pGeometries_.size()" ); + throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::AccelerationStructureBuildGeometryInfoKHR::AccelerationStructureBuildGeometryInfoKHR: !geometries_.empty() && !pGeometries_.empty() && ( geometries_.size() != pGeometries_.size() )" ); } #endif /*VULKAN_HPP_NO_EXCEPTIONS*/ } @@ -29607,6 +29577,12 @@ namespace VULKAN_HPP_NAMESPACE { *this = rhs; } + +#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE) + DescriptorSetAllocateInfo( VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DescriptorSetLayout> const & setLayouts_ ) + : descriptorPool( descriptorPool_ ), descriptorSetCount( static_cast<uint32_t>( setLayouts_.size() ) ), pSetLayouts( setLayouts_.data() ) + {} +#endif // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE) #endif // !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) DescriptorSetAllocateInfo & operator=( VkDescriptorSetAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT @@ -29645,6 +29621,15 @@ namespace VULKAN_HPP_NAMESPACE return *this; } +#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE) + DescriptorSetAllocateInfo & setSetLayouts( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DescriptorSetLayout> const & setLayouts_ ) VULKAN_HPP_NOEXCEPT + { + descriptorSetCount = static_cast<uint32_t>( setLayouts_.size() ); + pSetLayouts = setLayouts_.data(); + return *this; + } +#endif // !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE) + operator VkDescriptorSetAllocateInfo const&() const VULKAN_HPP_NOEXCEPT { @@ -92171,7 +92156,7 @@ namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_NAMESPACE::DisplayKHR display; Result result = static_cast<Result>( d.vkGetWinrtDisplayNV( m_physicalDevice, deviceRelativeId, reinterpret_cast<VkDisplayKHR *>( &display ) ) ); - ObjectReleaseExt<PhysicalDevice, Dispatch> deleter( *this, d ); + ObjectRelease<PhysicalDevice, Dispatch> deleter( *this, d ); return createResultValue<VULKAN_HPP_NAMESPACE::DisplayKHR, Dispatch>( result, display, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getWinrtDisplayNVUnique", deleter ); } # endif /*VULKAN_HPP_NO_SMART_HANDLE*/ diff --git a/include/vulkan/vulkan_core.h b/include/vulkan/vulkan_core.h index 0faf4ca..7295571 100644 --- a/include/vulkan/vulkan_core.h +++ b/include/vulkan/vulkan_core.h @@ -43,7 +43,7 @@ extern "C" { #define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0)// Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 164 +#define VK_HEADER_VERSION 165 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_VERSION(1, 2, VK_HEADER_VERSION) diff --git a/registry/validusage.json b/registry/validusage.json index ede24ef..19d65e5 100644 --- a/registry/validusage.json +++ b/registry/validusage.json @@ -1,9 +1,9 @@ { "version info": { "schema version": 2, - "api version": "1.2.164", - "comment": "from git branch: github-main commit: 8f718b4194ed1e0a572d37072e5558dd9ceabcb0", - "date": "2020-12-07 11:19:04Z" + "api version": "1.2.165", + "comment": "from git branch: github-main commit: ffbc67c499b92e864ad51275e606468975b5e397", + "date": "2020-12-14 05:44:28Z" }, "validation": { "vkGetInstanceProcAddr": { @@ -1251,6 +1251,10 @@ "text": " Any resource created with <code>VK_SHARING_MODE_EXCLUSIVE</code> that is read by an operation specified by <code>pSubmits</code> <strong class=\"purple\">must</strong> not be owned by any queue family other than the one which <code>queue</code> belongs to, at the time it is executed" }, { + "vuid": "VUID-vkQueueSubmit-pSubmits-04626", + "text": " Any resource created with <code>VK_SHARING_MODE_CONCURRENT</code> that is accessed by an operation specified by <code>pSubmits</code> <strong class=\"purple\">must</strong> have included the queue family of <code>queue</code> at resource creation time" + }, + { "vuid": "VUID-vkQueueSubmit-queue-parameter", "text": " <code>queue</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkQueue\">VkQueue</a> handle" }, @@ -5088,7 +5092,7 @@ }, { "vuid": "VUID-VkFramebufferCreateInfo-flags-04535", - "text": " If <code>flags</code> does not include <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of <code>pAttachments</code> that is used as an input, color, resolve, or depth/stencil attachment by <code>renderPass</code> <strong class=\"purple\">must</strong> have been created with a VkImageViewCreateInfo::<code>subresourceRange.pname</code>:layerCount greater than or equal to <code>layers</code>" + "text": " If <code>flags</code> does not include <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of <code>pAttachments</code> that is used as an input, color, resolve, or depth/stencil attachment by <code>renderPass</code> <strong class=\"purple\">must</strong> have been created with a VkImageViewCreateInfo::<code>subresourceRange.layerCount</code> greater than or equal to <code>layers</code>" }, { "vuid": "VUID-VkFramebufferCreateInfo-pAttachments-00883", @@ -5664,31 +5668,31 @@ }, { "vuid": "VUID-VkRenderPassBeginInfo-framebuffer-03209", - "text": " If <code>framebuffer</code> was created with a <a href=\"#VkFramebufferCreateInfo\">VkFramebufferCreateInfo</a>::<code>flags</code> value that included <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of the <code>pAttachments</code> member of a <a href=\"#VkRenderPassAttachmentBeginInfo\">VkRenderPassAttachmentBeginInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be a <a href=\"#VkImageView\">VkImageView</a> of an image created with a value of <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>flags</code> equal to the <code>flags</code> member of the corresponding element of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a>::<code>pAttachments</code> used to create <code>framebuffer</code>" + "text": " If <code>framebuffer</code> was created with a <a href=\"#VkFramebufferCreateInfo\">VkFramebufferCreateInfo</a>::<code>flags</code> value that included <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of the <code>pAttachments</code> member of a <a href=\"#VkRenderPassAttachmentBeginInfo\">VkRenderPassAttachmentBeginInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be a <a href=\"#VkImageView\">VkImageView</a> of an image created with a value of <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>flags</code> equal to the <code>flags</code> member of the corresponding element of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a>::<code>pAttachmentImageInfos</code> used to create <code>framebuffer</code>" }, { - "vuid": "VUID-VkRenderPassBeginInfo-framebuffer-03210", - "text": " If <code>framebuffer</code> was created with a <a href=\"#VkFramebufferCreateInfo\">VkFramebufferCreateInfo</a>::<code>flags</code> value that included <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of the <code>pAttachments</code> member of a <a href=\"#VkRenderPassAttachmentBeginInfo\">VkRenderPassAttachmentBeginInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be a <a href=\"#VkImageView\">VkImageView</a> of an image created with a value of <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>usage</code> equal to the <code>usage</code> member of the corresponding element of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a>::<code>pAttachments</code> used to create <code>framebuffer</code>" + "vuid": "VUID-VkRenderPassBeginInfo-framebuffer-04627", + "text": " If <code>framebuffer</code> was created with a <a href=\"#VkFramebufferCreateInfo\">VkFramebufferCreateInfo</a>::<code>flags</code> value that included <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of the <code>pAttachments</code> member of a <a href=\"#VkRenderPassAttachmentBeginInfo\">VkRenderPassAttachmentBeginInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be a <a href=\"#VkImageView\">VkImageView</a> with <a href=\"#resources-image-inherited-usage\">an inherited usage</a> equal to the <code>usage</code> member of the corresponding element of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a>::<code>pAttachmentImageInfos</code> used to create <code>framebuffer</code>" }, { "vuid": "VUID-VkRenderPassBeginInfo-framebuffer-03211", - "text": " If <code>framebuffer</code> was created with a <a href=\"#VkFramebufferCreateInfo\">VkFramebufferCreateInfo</a>::<code>flags</code> value that included <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of the <code>pAttachments</code> member of a <a href=\"#VkRenderPassAttachmentBeginInfo\">VkRenderPassAttachmentBeginInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be a <a href=\"#VkImageView\">VkImageView</a> with a width equal to the <code>width</code> member of the corresponding element of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a>::<code>pAttachments</code> used to create <code>framebuffer</code>" + "text": " If <code>framebuffer</code> was created with a <a href=\"#VkFramebufferCreateInfo\">VkFramebufferCreateInfo</a>::<code>flags</code> value that included <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of the <code>pAttachments</code> member of a <a href=\"#VkRenderPassAttachmentBeginInfo\">VkRenderPassAttachmentBeginInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be a <a href=\"#VkImageView\">VkImageView</a> with a width equal to the <code>width</code> member of the corresponding element of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a>::<code>pAttachmentImageInfos</code> used to create <code>framebuffer</code>" }, { "vuid": "VUID-VkRenderPassBeginInfo-framebuffer-03212", - "text": " If <code>framebuffer</code> was created with a <a href=\"#VkFramebufferCreateInfo\">VkFramebufferCreateInfo</a>::<code>flags</code> value that included <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of the <code>pAttachments</code> member of a <a href=\"#VkRenderPassAttachmentBeginInfo\">VkRenderPassAttachmentBeginInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be a <a href=\"#VkImageView\">VkImageView</a> with a height equal to the <code>height</code> member of the corresponding element of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a>::<code>pAttachments</code> used to create <code>framebuffer</code>" + "text": " If <code>framebuffer</code> was created with a <a href=\"#VkFramebufferCreateInfo\">VkFramebufferCreateInfo</a>::<code>flags</code> value that included <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of the <code>pAttachments</code> member of a <a href=\"#VkRenderPassAttachmentBeginInfo\">VkRenderPassAttachmentBeginInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be a <a href=\"#VkImageView\">VkImageView</a> with a height equal to the <code>height</code> member of the corresponding element of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a>::<code>pAttachmentImageInfos</code> used to create <code>framebuffer</code>" }, { "vuid": "VUID-VkRenderPassBeginInfo-framebuffer-03213", - "text": " If <code>framebuffer</code> was created with a <a href=\"#VkFramebufferCreateInfo\">VkFramebufferCreateInfo</a>::<code>flags</code> value that included <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of the <code>pAttachments</code> member of a <a href=\"#VkRenderPassAttachmentBeginInfo\">VkRenderPassAttachmentBeginInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be a <a href=\"#VkImageView\">VkImageView</a> of an image created with a value of <a href=\"#VkImageViewCreateInfo\">VkImageViewCreateInfo</a>::<code>subresourceRange.layerCount</code> equal to the <code>layerCount</code> member of the corresponding element of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a>::<code>pAttachments</code> used to create <code>framebuffer</code>" + "text": " If <code>framebuffer</code> was created with a <a href=\"#VkFramebufferCreateInfo\">VkFramebufferCreateInfo</a>::<code>flags</code> value that included <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of the <code>pAttachments</code> member of a <a href=\"#VkRenderPassAttachmentBeginInfo\">VkRenderPassAttachmentBeginInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be a <a href=\"#VkImageView\">VkImageView</a> of an image created with a value of <a href=\"#VkImageViewCreateInfo\">VkImageViewCreateInfo</a>::<code>subresourceRange.layerCount</code> equal to the <code>layerCount</code> member of the corresponding element of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a>::<code>pAttachmentImageInfos</code> used to create <code>framebuffer</code>" }, { "vuid": "VUID-VkRenderPassBeginInfo-framebuffer-03214", - "text": " If <code>framebuffer</code> was created with a <a href=\"#VkFramebufferCreateInfo\">VkFramebufferCreateInfo</a>::<code>flags</code> value that included <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of the <code>pAttachments</code> member of a <a href=\"#VkRenderPassAttachmentBeginInfo\">VkRenderPassAttachmentBeginInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be a <a href=\"#VkImageView\">VkImageView</a> of an image created with a value of <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>::<code>viewFormatCount</code> equal to the <code>viewFormatCount</code> member of the corresponding element of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a>::<code>pAttachments</code> used to create <code>framebuffer</code>" + "text": " If <code>framebuffer</code> was created with a <a href=\"#VkFramebufferCreateInfo\">VkFramebufferCreateInfo</a>::<code>flags</code> value that included <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of the <code>pAttachments</code> member of a <a href=\"#VkRenderPassAttachmentBeginInfo\">VkRenderPassAttachmentBeginInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be a <a href=\"#VkImageView\">VkImageView</a> of an image created with a value of <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>::<code>viewFormatCount</code> equal to the <code>viewFormatCount</code> member of the corresponding element of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a>::<code>pAttachmentImageInfos</code> used to create <code>framebuffer</code>" }, { "vuid": "VUID-VkRenderPassBeginInfo-framebuffer-03215", - "text": " If <code>framebuffer</code> was created with a <a href=\"#VkFramebufferCreateInfo\">VkFramebufferCreateInfo</a>::<code>flags</code> value that included <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of the <code>pAttachments</code> member of a <a href=\"#VkRenderPassAttachmentBeginInfo\">VkRenderPassAttachmentBeginInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be a <a href=\"#VkImageView\">VkImageView</a> of an image created with a set of elements in <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>::<code>pViewFormats</code> equal to the set of elements in the <code>pViewFormats</code> member of the corresponding element of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a>::<code>pAttachments</code> used to create <code>framebuffer</code>" + "text": " If <code>framebuffer</code> was created with a <a href=\"#VkFramebufferCreateInfo\">VkFramebufferCreateInfo</a>::<code>flags</code> value that included <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of the <code>pAttachments</code> member of a <a href=\"#VkRenderPassAttachmentBeginInfo\">VkRenderPassAttachmentBeginInfo</a> structure included in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be a <a href=\"#VkImageView\">VkImageView</a> of an image created with a set of elements in <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>::<code>pViewFormats</code> equal to the set of elements in the <code>pViewFormats</code> member of the corresponding element of <a href=\"#VkFramebufferAttachmentsCreateInfo\">VkFramebufferAttachmentsCreateInfo</a>::<code>pAttachmentImageInfos</code> used to create <code>framebuffer</code>" }, { "vuid": "VUID-VkRenderPassBeginInfo-framebuffer-03216", @@ -7108,11 +7112,11 @@ }, { "vuid": "VUID-VkGraphicsPipelineCreateInfo-rasterizationStream-02319", - "text": " If a <a href=\"#VkPipelineRasterizationStateStreamCreateInfoEXT\">VkPipelineRasterizationStateStreamCreateInfoEXT</a>::<code>rasterizationStream</code> value other than zero is specified, all variables in the output interface of the entry point being compiled decorated with <code>Position</code>, <code>PointSize</code>, <code>ClipDistance</code>, or <code>CullDistance</code> <strong class=\"purple\">must</strong> all be decorated with identical <code>Stream</code> values that match the <code>rasterizationStream</code>" + "text": " If a <a href=\"#VkPipelineRasterizationStateStreamCreateInfoEXT\">VkPipelineRasterizationStateStreamCreateInfoEXT</a>::<code>rasterizationStream</code> value other than zero is specified, all variables in the output interface of the entry point being compiled decorated with <code>Position</code>, <code>PointSize</code>, <code>ClipDistance</code>, or <code>CullDistance</code> <strong class=\"purple\">must</strong> be decorated with identical <code>Stream</code> values that match the <code>rasterizationStream</code>" }, { "vuid": "VUID-VkGraphicsPipelineCreateInfo-rasterizationStream-02320", - "text": " If <a href=\"#VkPipelineRasterizationStateStreamCreateInfoEXT\">VkPipelineRasterizationStateStreamCreateInfoEXT</a>::<code>rasterizationStream</code> is zero, or not specified, all variables in the output interface of the entry point being compiled decorated with <code>Position</code>, <code>PointSize</code>, <code>ClipDistance</code>, or <code>CullDistance</code> <strong class=\"purple\">must</strong> all be decorated with a <code>Stream</code> value of zero, or <strong class=\"purple\">must</strong> not specify the <code>Stream</code> decoration" + "text": " If <a href=\"#VkPipelineRasterizationStateStreamCreateInfoEXT\">VkPipelineRasterizationStateStreamCreateInfoEXT</a>::<code>rasterizationStream</code> is zero, or not specified, all variables in the output interface of the entry point being compiled decorated with <code>Position</code>, <code>PointSize</code>, <code>ClipDistance</code>, or <code>CullDistance</code> <strong class=\"purple\">must</strong> be decorated with a <code>Stream</code> value of zero, or <strong class=\"purple\">must</strong> not specify the <code>Stream</code> decoration" }, { "vuid": "VUID-VkGraphicsPipelineCreateInfo-geometryStreams-02321", @@ -14478,11 +14482,15 @@ }, { "vuid": "VUID-VkDescriptorSetAllocateInfo-pSetLayouts-parameter", - "text": " <code>pSetLayouts</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkDescriptorSetLayout\">VkDescriptorSetLayout</a> handle" + "text": " <code>pSetLayouts</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>descriptorSetCount</code> valid <a href=\"#VkDescriptorSetLayout\">VkDescriptorSetLayout</a> handles" + }, + { + "vuid": "VUID-VkDescriptorSetAllocateInfo-descriptorSetCount-arraylength", + "text": " <code>descriptorSetCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>" }, { "vuid": "VUID-VkDescriptorSetAllocateInfo-commonparent", - "text": " Both of <code>descriptorPool</code>, and <code>pSetLayouts</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>" + "text": " Both of <code>descriptorPool</code>, and the elements of <code>pSetLayouts</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>" } ] }, @@ -29922,7 +29930,7 @@ }, { "vuid": "VUID-VkDisplaySurfaceCreateInfoKHR-width-01256", - "text": " The <code>width</code> and <code>height</code> members of <code>imageExtent</code> <strong class=\"purple\">must</strong> be less than <a href=\"#VkPhysicalDeviceLimits\">VkPhysicalDeviceLimits</a>::<code>maxImageDimension2D</code>" + "text": " The <code>width</code> and <code>height</code> members of <code>imageExtent</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceLimits\">VkPhysicalDeviceLimits</a>::<code>maxImageDimension2D</code>" }, { "vuid": "VUID-VkDisplaySurfaceCreateInfoKHR-sType-sType", @@ -30810,7 +30818,7 @@ }, { "vuid": "VUID-vkSetLocalDimmingAMD-localDimmingSupport-04618", - "text": " It is only valid to call <a href=\"#vkSetLocalDimmingAMD\">vkSetLocalDimmingAMD</a> if <a href=\"#VkDisplayNativeHdrSurfaceCapabilitiesAMD\">VkDisplayNativeHdrSurfaceCapabilitiesAMD</a>::<code>localDimmingSupport</code> is supported" + "text": " <a href=\"#VkDisplayNativeHdrSurfaceCapabilitiesAMD\">VkDisplayNativeHdrSurfaceCapabilitiesAMD</a>::<code>localDimmingSupport</code> <strong class=\"purple\">must</strong> be supported" } ] }, @@ -32129,12 +32137,12 @@ "VkStridedDeviceAddressRegionKHR": { "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline,VK_KHR_acceleration_structure)+(VK_KHR_ray_tracing_pipeline,VK_NV_ray_tracing)+(VK_KHR_ray_tracing_pipeline)": [ { - "vuid": "VUID-VkStridedDeviceAddressRegionKHR-deviceAddress-03630", - "text": " If <code>deviceAddress</code> is not zero, all addresses between <code>deviceAddress</code> and <span class=\"eq\"><code>deviceAddress</code> + <code>size</code> - 1</span> <strong class=\"purple\">must</strong> be in the buffer device address range of the same buffer" + "vuid": "VUID-VkStridedDeviceAddressRegionKHR-size-04631", + "text": " If <code>size</code> is not zero, all addresses between <code>deviceAddress</code> and <span class=\"eq\"><code>deviceAddress</code> + <code>size</code> - 1</span> <strong class=\"purple\">must</strong> be in the buffer device address range of the same buffer" }, { - "vuid": "VUID-VkStridedDeviceAddressRegionKHR-deviceAddress-03631", - "text": " If <code>deviceAddress</code> is not zero, <code>stride</code> <strong class=\"purple\">must</strong> be less than the size of the buffer from which <code>deviceAddress</code> was queried" + "vuid": "VUID-VkStridedDeviceAddressRegionKHR-size-04632", + "text": " If <code>size</code> is not zero, <code>stride</code> <strong class=\"purple\">must</strong> be less than the size of the buffer from which <code>deviceAddress</code> was queried" } ] }, @@ -32555,6 +32563,18 @@ "vkCmdBuildAccelerationStructuresKHR": { "core": [ { + "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-mode-04628", + "text": " The <code>mode</code> member of each element of <code>pInfos</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuildAccelerationStructureModeKHR\">VkBuildAccelerationStructureModeKHR</a> value" + }, + { + "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-srcAccelerationStructure-04629", + "text": " If the <code>srcAccelerationStructure</code> member of any element of <code>pInfos</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, the <code>srcAccelerationStructure</code> member <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle" + }, + { + "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-04630", + "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, its <code>srcAccelerationStructure</code> member <strong class=\"purple\">must</strong> not be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>" + }, + { "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03403", "text": " The <code>srcAccelerationStructure</code> member of any element of <code>pInfos</code> <strong class=\"purple\">must</strong> not be the same acceleration structure as the <code>dstAccelerationStructure</code> member of any other element of <code>pInfos</code>" }, @@ -32833,6 +32853,18 @@ "vkCmdBuildAccelerationStructuresIndirectKHR": { "core": [ { + "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-mode-04628", + "text": " The <code>mode</code> member of each element of <code>pInfos</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuildAccelerationStructureModeKHR\">VkBuildAccelerationStructureModeKHR</a> value" + }, + { + "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-srcAccelerationStructure-04629", + "text": " If the <code>srcAccelerationStructure</code> member of any element of <code>pInfos</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, the <code>srcAccelerationStructure</code> member <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle" + }, + { + "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-04630", + "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, its <code>srcAccelerationStructure</code> member <strong class=\"purple\">must</strong> not be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>" + }, + { "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03403", "text": " The <code>srcAccelerationStructure</code> member of any element of <code>pInfos</code> <strong class=\"purple\">must</strong> not be the same acceleration structure as the <code>dstAccelerationStructure</code> member of any other element of <code>pInfos</code>" }, @@ -33207,18 +33239,6 @@ "text": " <code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkBuildAccelerationStructureFlagBitsKHR\">VkBuildAccelerationStructureFlagBitsKHR</a> values" }, { - "vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-mode-parameter", - "text": " <code>mode</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuildAccelerationStructureModeKHR\">VkBuildAccelerationStructureModeKHR</a> value" - }, - { - "vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-srcAccelerationStructure-parameter", - "text": " If <code>srcAccelerationStructure</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>srcAccelerationStructure</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle" - }, - { - "vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-dstAccelerationStructure-parameter", - "text": " If <code>dstAccelerationStructure</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>dstAccelerationStructure</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle" - }, - { "vuid": "VUID-VkAccelerationStructureBuildGeometryInfoKHR-pGeometries-parameter", "text": " If <code>geometryCount</code> is not <code>0</code>, and <code>pGeometries</code> is not <code>NULL</code>, <code>pGeometries</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>geometryCount</code> valid <a href=\"#VkAccelerationStructureGeometryKHR\">VkAccelerationStructureGeometryKHR</a> structures" }, @@ -33871,6 +33891,18 @@ "vkBuildAccelerationStructuresKHR": { "core": [ { + "vuid": "VUID-vkBuildAccelerationStructuresKHR-mode-04628", + "text": " The <code>mode</code> member of each element of <code>pInfos</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuildAccelerationStructureModeKHR\">VkBuildAccelerationStructureModeKHR</a> value" + }, + { + "vuid": "VUID-vkBuildAccelerationStructuresKHR-srcAccelerationStructure-04629", + "text": " If the <code>srcAccelerationStructure</code> member of any element of <code>pInfos</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, the <code>srcAccelerationStructure</code> member <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle" + }, + { + "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-04630", + "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, its <code>srcAccelerationStructure</code> member <strong class=\"purple\">must</strong> not be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>" + }, + { "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03403", "text": " The <code>srcAccelerationStructure</code> member of any element of <code>pInfos</code> <strong class=\"purple\">must</strong> not be the same acceleration structure as the <code>dstAccelerationStructure</code> member of any other element of <code>pInfos</code>" }, @@ -36609,6 +36641,326 @@ "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>" } ] + }, + "StandaloneSpirv": { + "core": [ + { + "vuid": "VUID-StandaloneSpirv-None-04633", + "text": " Every entry point <strong class=\"purple\">must</strong> have no return value and accept no arguments" + }, + { + "vuid": "VUID-StandaloneSpirv-None-04634", + "text": " The static function-call graph for an entry point <strong class=\"purple\">must</strong> not contain cycles; that is, static recursion is not allowed" + }, + { + "vuid": "VUID-StandaloneSpirv-None-04635", + "text": " The <strong>Logical</strong> or <strong>PhysicalStorageBuffer64</strong> addressing model <strong class=\"purple\">must</strong> be selected" + }, + { + "vuid": "VUID-StandaloneSpirv-None-04636", + "text": " <strong>Scope</strong> for execution <strong class=\"purple\">must</strong> be limited to <strong>Workgroup</strong> or <strong>Subgroup</strong>" + }, + { + "vuid": "VUID-StandaloneSpirv-None-04637", + "text": " If the <strong>Scope</strong> for execution is <strong>Workgroup</strong>, then it <strong class=\"purple\">must</strong> only be used in the task, mesh, tessellation control, or compute execution models" + }, + { + "vuid": "VUID-StandaloneSpirv-None-04638", + "text": " <strong>Scope</strong> for memory <strong class=\"purple\">must</strong> be limited to <strong>Device</strong>, <strong>QueueFamily</strong>, <strong>Workgroup</strong>, <strong>ShaderCallKHR</strong>, <strong>Subgroup</strong>, or <strong>Invocation</strong>" + }, + { + "vuid": "VUID-StandaloneSpirv-None-04639", + "text": " If the <strong>Scope</strong> for memory is <strong>Workgroup</strong>, then it <strong class=\"purple\">must</strong> only be used in the task, mesh, or compute execution models" + }, + { + "vuid": "VUID-StandaloneSpirv-None-04640", + "text": " If the <strong>Scope</strong> for memory is <strong>ShaderCallKHR</strong>, then it <strong class=\"purple\">must</strong> only be used in ray generation, intersection, closest hit, any-hit, miss, and callable execution models" + }, + { + "vuid": "VUID-StandaloneSpirv-None-04641", + "text": " If the <strong>Scope</strong> for memory is <strong>Invocation</strong>, then memory semantics <strong class=\"purple\">must</strong> be <strong>None</strong>" + }, + { + "vuid": "VUID-StandaloneSpirv-None-04642", + "text": " <strong>Scope</strong> for <strong>Non Uniform Group Operations</strong> <strong class=\"purple\">must</strong> be limited to <strong>Subgroup</strong>" + }, + { + "vuid": "VUID-StandaloneSpirv-None-04643", + "text": " <strong>Storage Class</strong> <strong class=\"purple\">must</strong> be limited to <strong>UniformConstant</strong>, <strong>Input</strong>, <strong>Uniform</strong>, <strong>Output</strong>, <strong>Workgroup</strong>, <strong>Private</strong>, <strong>Function</strong>, <strong>PushConstant</strong>, <strong>Image</strong>, <strong>StorageBuffer</strong>, <strong>RayPayloadKHR</strong>, <strong>IncomingRayPayloadKHR</strong>, <strong>HitAttributeKHR</strong>, <strong>CallableDataKHR</strong>, <strong>IncomingCallableDataKHR</strong>, <strong>ShaderRecordBufferKHR</strong>, or <strong>PhysicalStorageBuffer</strong>" + }, + { + "vuid": "VUID-StandaloneSpirv-None-04644", + "text": " If the <strong>Storage Class</strong> is <strong>Output</strong>, then it <strong class=\"purple\">must</strong> not be used in the <strong>RayGenerationKHR</strong>, <strong>IntersectionKHR</strong>, <strong>AnyHitKHR</strong>, <strong>ClosestHitKHR</strong>, <strong>MissKHR</strong>, or <strong>CallableKHR</strong> execution models" + }, + { + "vuid": "VUID-StandaloneSpirv-None-04645", + "text": " If the <strong>Storage Class</strong> is <strong>Workgroup</strong>, then it <strong class=\"purple\">must</strong> only be used in the task, mesh, or compute execution models" + }, + { + "vuid": "VUID-StandaloneSpirv-OpAtomicStore-04646", + "text": " <strong>Acquire</strong> memory semantics <strong class=\"purple\">must</strong> not be used with <code>OpAtomicStore</code>" + }, + { + "vuid": "VUID-StandaloneSpirv-OpAtomicLoad-04647", + "text": " <strong>Release</strong> memory semantics <strong class=\"purple\">must</strong> not be used with <code>OpAtomicLoad</code>" + }, + { + "vuid": "VUID-StandaloneSpirv-OpAtomicStore-04648", + "text": " <strong>AcquireRelease</strong> memory semantics <strong class=\"purple\">must</strong> not be used with <code>OpAtomicStore</code> or <code>OpAtomicLoad</code>" + }, + { + "vuid": "VUID-StandaloneSpirv-OpMemoryBarrier-04649", + "text": " <code>OpMemoryBarrier</code> <strong class=\"purple\">must</strong> use one of <strong>Acquire</strong>, <strong>Release</strong>, <strong>AcquireRelease</strong>, or <strong>SequentiallyConsistent</strong> memory semantics and <strong class=\"purple\">must</strong> include at least one storage class" + }, + { + "vuid": "VUID-StandaloneSpirv-OpControlBarrier-04650", + "text": " If the semantics for <code>OpControlBarrier</code> includes one of <strong>Acquire</strong>, <strong>Release</strong>, <strong>AcquireRelease</strong>, or <strong>SequentiallyConsistent</strong> memory semantics, then it <strong class=\"purple\">must</strong> include at least one storage class" + }, + { + "vuid": "VUID-StandaloneSpirv-OpVariable-04651", + "text": " Any <code>OpVariable</code> with an <code>Initializer</code> operand <strong class=\"purple\">must</strong> have <strong>Output</strong>, <strong>Private</strong>, or <strong>Function</strong> as its <strong>Storage Class</strong> operand" + }, + { + "vuid": "VUID-StandaloneSpirv-OpReadClockKHR-04652", + "text": " <strong>Scope</strong> for <code>OpReadClockKHR</code> <strong class=\"purple\">must</strong> be limited to <strong>Subgroup</strong> or <strong>Device</strong>" + }, + { + "vuid": "VUID-StandaloneSpirv-OriginLowerLeft-04653", + "text": " The <code>OriginLowerLeft</code> execution mode <strong class=\"purple\">must</strong> not be used; fragment entry points <strong class=\"purple\">must</strong> declare <code>OriginUpperLeft</code>" + }, + { + "vuid": "VUID-StandaloneSpirv-PixelCenterInteger-04654", + "text": " The <code>PixelCenterInteger</code> execution mode <strong class=\"purple\">must</strong> not be used (pixels are always centered at half-integer coordinates)" + }, + { + "vuid": "VUID-StandaloneSpirv-UniformConstant-04655", + "text": " Any variable in the <code>UniformConstant</code> storage class <strong class=\"purple\">must</strong> be typed as either <code>OpTypeImage</code>, <code>OpTypeSampler</code>, <code>OpTypeSampledImage</code>, <code>OpTypeAccelerationStructureKHR</code>, or an array of one of these types" + }, + { + "vuid": "VUID-StandaloneSpirv-OpTypeImage-04656", + "text": " <code>OpTypeImage</code> <strong class=\"purple\">must</strong> declare a scalar 32-bit float, 64-bit integer, or 32-bit integer type for the “Sampled Type” (<code>RelaxedPrecision</code> <strong class=\"purple\">can</strong> be applied to a sampling instruction and to the variable holding the result of a sampling instruction)" + }, + { + "vuid": "VUID-StandaloneSpirv-OpTypeImage-04657", + "text": " <code>OpTypeImage</code> <strong class=\"purple\">must</strong> have a “Sampled” operand of 1 (sampled image) or 2 (storage image)" + }, + { + "vuid": "VUID-StandaloneSpirv-OpImageTexelPointer-04658", + "text": " If an <code>OpImageTexelPointer</code> is used in an atomic operation, the image type of the <code>image</code> parameter to <code>OpImageTexelPointer</code> <strong class=\"purple\">must</strong> have an image format of <code>R64i</code>, <code>R64ui</code>, <code>R32f</code>, <code>R32i</code>, or <code>R32ui</code>" + }, + { + "vuid": "VUID-StandaloneSpirv-OpImageQuerySizeLod-04659", + "text": " <code>OpImageQuerySizeLod</code>, and <code>OpImageQueryLevels</code> <strong class=\"purple\">must</strong> only consume an “Image” operand whose type has its “Sampled” operand set to 1" + }, + { + "vuid": "VUID-StandaloneSpirv-SubpassData-04660", + "text": " The <span class=\"eq\">(u,v)</span> coordinates used for a <code>SubpassData</code> <strong class=\"purple\">must</strong> be the <id> of a constant vector <span class=\"eq\">(0,0)</span>, or if a layer coordinate is used, <strong class=\"purple\">must</strong> be a vector that was formed with constant 0 for the <span class=\"eq\">u</span> and <span class=\"eq\">v</span> components" + }, + { + "vuid": "VUID-StandaloneSpirv-OpTypeImage-04661", + "text": " Objects of types <code>OpTypeImage</code>, <code>OpTypeSampler</code>, <code>OpTypeSampledImage</code>, and arrays of these types <strong class=\"purple\">must</strong> not be stored to or modified" + }, + { + "vuid": "VUID-StandaloneSpirv-Offset-04662", + "text": " Any image operation <strong class=\"purple\">must</strong> use at most one of the <code>Offset</code>, <code>ConstOffset</code>, and <code>ConstOffsets</code> image operands" + }, + { + "vuid": "VUID-StandaloneSpirv-Offset-04663", + "text": " Image operand <code>Offset</code> <strong class=\"purple\">must</strong> only be used with <code>OpImage</code>*<code>Gather</code> instructions" + }, + { + "vuid": "VUID-StandaloneSpirv-OpImageGather-04664", + "text": " The “Component” operand of <code>OpImageGather</code>, and <code>OpImageSparseGather</code> <strong class=\"purple\">must</strong> be the <id> of a constant instruction" + }, + { + "vuid": "VUID-StandaloneSpirv-OpTypeAccelerationStructureKHR-04665", + "text": " Objects of types <code>OpTypeAccelerationStructureKHR</code> and arrays of this type <strong class=\"purple\">must</strong> not be stored to or modified" + }, + { + "vuid": "VUID-StandaloneSpirv-OpReportIntersectionKHR-04666", + "text": " The value of the “Hit Kind” operand of <code>OpReportIntersectionKHR</code> <strong class=\"purple\">must</strong> be in the range <span class=\"eq\">[0,127]</span>" + }, + { + "vuid": "VUID-StandaloneSpirv-None-04667", + "text": " Structure types <strong class=\"purple\">must</strong> not contain opaque types" + }, + { + "vuid": "VUID-StandaloneSpirv-BuiltIn-04668", + "text": " Any <code>BuiltIn</code> decoration not listed in <a href=\"#interfaces-builtin-variables\">Built-In Variables</a> <strong class=\"purple\">must</strong> not be used" + }, + { + "vuid": "VUID-StandaloneSpirv-GLSLShared-04669", + "text": " The <code>GLSLShared</code> and <code>GLSLPacked</code> decorations <strong class=\"purple\">must</strong> not be used" + }, + { + "vuid": "VUID-StandaloneSpirv-Flat-04670", + "text": " The <code>Flat</code>, <code>NoPerspective</code>, <code>Sample</code>, and <code>Centroid</code> decorations <strong class=\"purple\">must</strong> not be used on variables with storage class other than <code>Input</code> or on variables used in the interface of non-fragment shader entry points" + }, + { + "vuid": "VUID-StandaloneSpirv-Patch-04671", + "text": " The <code>Patch</code> decoration <strong class=\"purple\">must</strong> not be used on variables in the interface of a vertex, geometry, or fragment shader stage’s entry point" + }, + { + "vuid": "VUID-StandaloneSpirv-ViewportRelativeNV-04672", + "text": " The <code>ViewportRelativeNV</code> decoration <strong class=\"purple\">must</strong> only be used on a variable decorated with <code>Layer</code> in the vertex, tessellation evaluation, or geometry shader stages" + }, + { + "vuid": "VUID-StandaloneSpirv-ViewportRelativeNV-04673", + "text": " The <code>ViewportRelativeNV</code> decoration <strong class=\"purple\">must</strong> not be used unless a variable decorated with one of <code>ViewportIndex</code> or <code>ViewportMaskNV</code> is also statically used by the same <code>OpEntryPoint</code>" + }, + { + "vuid": "VUID-StandaloneSpirv-ViewportMaskNV-04674", + "text": " The <code>ViewportMaskNV</code> and <code>ViewportIndex</code> decorations <strong class=\"purple\">must</strong> not both be statically used by one or more <code>OpEntryPoint</code>’s that form the vertex processing stages of a graphics pipeline" + }, + { + "vuid": "VUID-StandaloneSpirv-FPRoundingMode-04675", + "text": " Only the round-to-nearest-even and the round-towards-zero rounding modes <strong class=\"purple\">can</strong> be used for the <code>FPRoundingMode</code> decoration" + }, + { + "vuid": "VUID-StandaloneSpirv-FPRoundingMode-04676", + "text": " The <code>FPRoundingMode</code> decoration <strong class=\"purple\">can</strong> only be used for the floating-point conversion instructions as described in the <a href=\"https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_16bit_storage.html\"><code>SPV_KHR_16bit_storage</code></a> SPIR-V extension" + }, + { + "vuid": "VUID-StandaloneSpirv-Invariant-04677", + "text": " Variables decorated with <code>Invariant</code> and variables with structure types that have any members decorated with <code>Invariant</code> <strong class=\"purple\">must</strong> be in the <code>Output</code> or <code>Input</code> storage class, <code>Invariant</code> used on an <code>Input</code> storage class variable or structure member has no effect" + }, + { + "vuid": "VUID-StandaloneSpirv-VulkanMemoryModel-04678", + "text": " <a id=\"builtin-volatile-semantics\"></a> If the <code>VulkanMemoryModel</code> capability is not declared, the <code>Volatile</code> decoration <strong class=\"purple\">must</strong> be used on any variable declaration that includes one of the <code>SMIDNV</code>, <code>WarpIDNV</code>, <code>SubgroupSize</code>, <code>SubgroupLocalInvocationId</code>, <code>SubgroupEqMask</code>, <code>SubgroupGeMask</code>, <code>SubgroupGtMask</code>, <code>SubgroupLeMask</code>, or <code>SubgroupLtMask</code> <code>BuiltIn</code> decorations when used in the ray generation, closest hit, miss, intersection, or callable shaders, or with the <code>RayTmaxKHR</code> <code>Builtin</code> decoration when used in an intersection shader" + }, + { + "vuid": "VUID-StandaloneSpirv-VulkanMemoryModel-04679", + "text": " If the <code>VulkanMemoryModel</code> capability is declared, the <code>OpLoad</code> instruction <strong class=\"purple\">must</strong> use the <code>Volatile</code> memory semantics when it accesses into any variable that includes one of the <code>SMIDNV</code>, <code>WarpIDNV</code>, <code>SubgroupSize</code>, <code>SubgroupLocalInvocationId</code>, <code>SubgroupEqMask</code>, <code>SubgroupGeMask</code>, <code>SubgroupGtMask</code>, <code>SubgroupLeMask</code>, or <code>SubgroupLtMask</code> <code>BuiltIn</code> decorations when used in the ray generation, closest hit, miss, intersection, or callable shaders, or with the <code>RayTmaxKHR</code> <code>Builtin</code> decoration when used in an intersection shader" + }, + { + "vuid": "VUID-StandaloneSpirv-OpTypeRuntimeArray-04680", + "text": " <code>OpTypeRuntimeArray</code> <strong class=\"purple\">must</strong> only be used for the last member of an <code>OpTypeStruct</code> that is in the <code>StorageBuffer</code> or <code>PhysicalStorageBuffer</code> storage class decorated as <code>Block</code>, or that is in the <code>Uniform</code> storage class decorated as <code>BufferBlock</code>" + }, + { + "vuid": "VUID-StandaloneSpirv-Function-04681", + "text": " A type <em>T</em> that is an array sized with a specialization constant <strong class=\"purple\">can</strong> be, or be contained in, the type of a Variable <em>V</em> only if: <em>T</em> is the (top-level) type of <em>V</em>; <em>V</em> is declared in the <code>Function</code>, <code>Private</code>, or <code>Workgroup</code> storage classes; <em>V</em> is an interface variable with an additional level of arrayness, <a href=\"#interfaces-iointerfaces-matching\">as described in interface matching</a>, in which case <em>T</em> is allowed to be the element type of the (top-level) type of <em>V</em>" + }, + { + "vuid": "VUID-StandaloneSpirv-OpControlBarrier-04682", + "text": " If <code>OpControlBarrier</code> is used in ray generation, intersection, any-hit, closest hit, miss, fragment, vertex, tessellation evaluation, or geometry shaders, the execution Scope <strong class=\"purple\">must</strong> be <code>Subgroup</code>" + }, + { + "vuid": "VUID-StandaloneSpirv-LocalSize-04683", + "text": " For each compute shader entry point, either a <code>LocalSize</code> execution mode or an object decorated with the <code>WorkgroupSize</code> decoration <strong class=\"purple\">must</strong> be specified" + }, + { + "vuid": "VUID-StandaloneSpirv-DerivativeGroupQuadsNV-04684", + "text": " For compute shaders using the <code>DerivativeGroupQuadsNV</code> execution mode, the first two dimensions of the local workgroup size <strong class=\"purple\">must</strong> be a multiple of two" + }, + { + "vuid": "VUID-StandaloneSpirv-OpGroupNonUniformBallotBitCount-04685", + "text": " If <code>OpGroupNonUniformBallotBitCount</code> is used, the group operation <strong class=\"purple\">must</strong> be limited to <strong>Reduce</strong>, <strong>InclusiveScan</strong>, or <strong>ExclusiveScan</strong>" + }, + { + "vuid": "VUID-StandaloneSpirv-None-04686", + "text": " The <em>Pointer</em> operand of all atomic instructions <strong class=\"purple\">must</strong> have a <strong>Storage Class</strong> limited to <strong>Uniform</strong>, <strong>Workgroup</strong>, <strong>Image</strong>, <strong>StorageBuffer</strong>" + }, + { + "vuid": "VUID-StandaloneSpirv-Offset-04687", + "text": " Output variables or block members decorated with <code>Offset</code> that have a 64-bit type, or a composite type containing a 64-bit type, <strong class=\"purple\">must</strong> specify an <code>Offset</code> value aligned to a 8 byte boundary" + }, + { + "vuid": "VUID-StandaloneSpirv-Offset-04688", + "text": " Any output block or block member decorated with <code>Offset</code> containing a 64-bit type consumes a multiple of 8 bytes" + }, + { + "vuid": "VUID-StandaloneSpirv-Offset-04689", + "text": " The size of any output block containing any member decorated with <code>Offset</code> that is a 64-bit type <strong class=\"purple\">must</strong> be a multiple of 8" + }, + { + "vuid": "VUID-StandaloneSpirv-Offset-04690", + "text": " The first member of an output block that specifies a <code>Offset</code> decoration <strong class=\"purple\">must</strong> specify a <code>Offset</code> value that is aligned to an 8 byte boundary if that block contains any member decorated with <code>Offset</code> and is a 64-bit type" + }, + { + "vuid": "VUID-StandaloneSpirv-Offset-04691", + "text": " Output variables or block members decorated with <code>Offset</code> that have a 32-bit type, or a composite type contains a 32-bit type, <strong class=\"purple\">must</strong> specify an <code>Offset</code> value aligned to a 4 byte boundary" + }, + { + "vuid": "VUID-StandaloneSpirv-Offset-04692", + "text": " Output variables, blocks or block members decorated with <code>Offset</code> <strong class=\"purple\">must</strong> only contain base types that have components that are either 32-bit or 64-bit in size" + }, + { + "vuid": "VUID-StandaloneSpirv-XfbBuffer-04693", + "text": " All variables or block members in the output interface of the entry point being compiled decorated with a specific <code>XfbBuffer</code> value <strong class=\"purple\">must</strong> all be decorated with identical <code>XfbStride</code> values" + }, + { + "vuid": "VUID-StandaloneSpirv-Stream-04694", + "text": " If any variables or block members in the output interface of the entry point being compiled are decorated with <code>Stream</code>, then all variables belonging to the same <code>XfbBuffer</code> <strong class=\"purple\">must</strong> specify the same <code>Stream</code> value" + }, + { + "vuid": "VUID-StandaloneSpirv-Stream-04695", + "text": " Output variables, blocks or block members that are not decorated with <code>Stream</code> default to vertex stream zero" + }, + { + "vuid": "VUID-StandaloneSpirv-XfbBuffer-04696", + "text": " For any two variables or block members in the output interface of the entry point being compiled with the same <code>XfbBuffer</code> value, the ranges determined by the <code>Offset</code> decoration and the size of the type <strong class=\"purple\">must</strong> not overlap" + }, + { + "vuid": "VUID-StandaloneSpirv-XfbBuffer-04697", + "text": " All block members in the output interface of the entry point being compiled that are in the same block and have a declared or inherited <code>XfbBuffer</code> decoration <strong class=\"purple\">must</strong> specify the same <code>XfbBuffer</code> value" + }, + { + "vuid": "VUID-StandaloneSpirv-RayPayloadKHR-04698", + "text": " <code>RayPayloadKHR</code> storage class <strong class=\"purple\">must</strong> only be used in ray generation, any-hit, closest hit or miss shaders" + }, + { + "vuid": "VUID-StandaloneSpirv-IncomingRayPayloadKHR-04699", + "text": " <code>IncomingRayPayloadKHR</code> storage class <strong class=\"purple\">must</strong> only be used in closest hit, any-hit, or miss shaders" + }, + { + "vuid": "VUID-StandaloneSpirv-IncomingRayPayloadKHR-04700", + "text": " There <strong class=\"purple\">must</strong> be at most one variable with the <code>IncomingRayPayloadKHR</code> storage class in the input interface of an entry point" + }, + { + "vuid": "VUID-StandaloneSpirv-HitAttributeKHR-04701", + "text": " <code>HitAttributeKHR</code> storage class <strong class=\"purple\">must</strong> only be used in intersection, any-hit, or closest hit shaders" + }, + { + "vuid": "VUID-StandaloneSpirv-HitAttributeKHR-04702", + "text": " There <strong class=\"purple\">must</strong> be at most one variable with the <code>HitAttributeKHR</code> storage class in the input interface of an entry point" + }, + { + "vuid": "VUID-StandaloneSpirv-HitAttributeKHR-04703", + "text": " A variable with <code>HitAttributeKHR</code> storage class <strong class=\"purple\">must</strong> only be written to in an intersection shader" + }, + { + "vuid": "VUID-StandaloneSpirv-CallableDataKHR-04704", + "text": " <code>CallableDataKHR</code> storage class <strong class=\"purple\">must</strong> only be used in ray generation, closest hit, miss, and callable shaders" + }, + { + "vuid": "VUID-StandaloneSpirv-IncomingCallableDataKHR-04705", + "text": " <code>IncomingCallableDataKHR</code> storage class <strong class=\"purple\">must</strong> only be used in callable shaders" + }, + { + "vuid": "VUID-StandaloneSpirv-IncomingCallableDataKHR-04706", + "text": " There <strong class=\"purple\">must</strong> be at most one variable with the <code>IncomingCallableDataKHR</code> storage class in the input interface of an entry point" + }, + { + "vuid": "VUID-StandaloneSpirv-Base-04707", + "text": " The <code>Base</code> operand of <code>OpPtrAccessChain</code> <strong class=\"purple\">must</strong> point to one of the following: <strong>Workgroup</strong>, if <code>VariablePointers</code> is enabled; <strong>StorageBuffer</strong>, if <code>VariablePointers</code> or <code>VariablePointersStorageBuffer</code> is enabled; <strong>PhysicalStorageBuffer</strong>, if the <code>PhysicalStorageBuffer64</code> addressing model is enabled" + }, + { + "vuid": "VUID-StandaloneSpirv-PhysicalStorageBuffer64-04708", + "text": " If the <code>PhysicalStorageBuffer64</code> addressing model is enabled, all instructions that support memory access operands and that use a physical pointer <strong class=\"purple\">must</strong> include the <code>Aligned</code> operand" + }, + { + "vuid": "VUID-StandaloneSpirv-PhysicalStorageBuffer64-04709", + "text": " If the <code>PhysicalStorageBuffer64</code> addressing model is enabled, any access chain instruction that accesses into a <code>RowMajor</code> matrix <strong class=\"purple\">must</strong> only be used as the <code>Pointer</code> operand to <code>OpLoad</code> or <code>OpStore</code>" + }, + { + "vuid": "VUID-StandaloneSpirv-PhysicalStorageBuffer64-04710", + "text": " If the <code>PhysicalStorageBuffer64</code> addressing model is enabled, <code>OpConvertUToPtr</code> and <code>OpConvertPtrToU</code> <strong class=\"purple\">must</strong> use an integer type whose <code>Width</code> is 64" + }, + { + "vuid": "VUID-StandaloneSpirv-OpTypeForwardPointer-04711", + "text": " <code>OpTypeForwardPointer</code> <strong class=\"purple\">must</strong> have a storage class of <code>PhysicalStorageBuffer</code>" + } + ] } } }
\ No newline at end of file diff --git a/registry/vk.xml b/registry/vk.xml index 0b9d3db..084823b 100644 --- a/registry/vk.xml +++ b/registry/vk.xml @@ -137,7 +137,7 @@ branch of the member gitlab server. <type category="define">// Vulkan 1.2 version number #define <name>VK_API_VERSION_1_2</name> <type>VK_MAKE_VERSION</type>(1, 2, 0)// Patch version should always be set to 0</type> <type category="define">// Version of this file -#define <name>VK_HEADER_VERSION</name> 164</type> +#define <name>VK_HEADER_VERSION</name> 165</type> <type category="define" requires="VK_HEADER_VERSION">// Complete version of this file #define <name>VK_HEADER_VERSION_COMPLETE</name> <type>VK_MAKE_VERSION</type>(1, 2, VK_HEADER_VERSION)</type> @@ -1083,7 +1083,7 @@ typedef void <name>CAMetalLayer</name>; <member optional="true">const <type>void</type>* <name>pNext</name></member> <member><type>VkDescriptorPool</type> <name>descriptorPool</name></member> <member><type>uint32_t</type> <name>descriptorSetCount</name></member> - <member>const <type>VkDescriptorSetLayout</type>* <name>pSetLayouts</name></member> + <member len="descriptorSetCount">const <type>VkDescriptorSetLayout</type>* <name>pSetLayouts</name></member> </type> <type category="struct" name="VkSpecializationMapEntry"> <member><type>uint32_t</type> <name>constantID</name><comment>The SpecConstant ID specified in the BIL</comment></member> @@ -4766,12 +4766,12 @@ typedef void <name>CAMetalLayer</name>; <member optional="true">const <type>void</type>* <name>pNext</name></member> <member><type>VkAccelerationStructureTypeKHR</type> <name>type</name></member> <member optional="true"><type>VkBuildAccelerationStructureFlagsKHR</type> <name>flags</name></member> - <member><type>VkBuildAccelerationStructureModeKHR</type> <name>mode</name></member> - <member optional="true"><type>VkAccelerationStructureKHR</type> <name>srcAccelerationStructure</name></member> - <member optional="true"><type>VkAccelerationStructureKHR</type> <name>dstAccelerationStructure</name></member> + <member noautovalidity="true"><type>VkBuildAccelerationStructureModeKHR</type> <name>mode</name></member> + <member optional="true" noautovalidity="true"><type>VkAccelerationStructureKHR</type> <name>srcAccelerationStructure</name></member> + <member optional="true" noautovalidity="true"><type>VkAccelerationStructureKHR</type> <name>dstAccelerationStructure</name></member> <member optional="true"><type>uint32_t</type> <name>geometryCount</name></member> - <member len="geometryCount" optional="true,false">const <type>VkAccelerationStructureGeometryKHR</type>* <name>pGeometries</name></member> - <member len="geometryCount,1" optional="true,false,false">const <type>VkAccelerationStructureGeometryKHR</type>* const* <name>ppGeometries</name></member> + <member len="geometryCount" optional="true">const <type>VkAccelerationStructureGeometryKHR</type>* <name>pGeometries</name></member> + <member len="geometryCount,1" optional="true,false">const <type>VkAccelerationStructureGeometryKHR</type>* const* <name>ppGeometries</name></member> <member><type>VkDeviceOrHostAddressKHR</type> <name>scratchData</name></member> </type> <type category="struct" name="VkAccelerationStructureBuildRangeInfoKHR"> @@ -5680,31 +5680,31 @@ typedef void <name>CAMetalLayer</name>; </enums> <enums name="VkObjectType" type="enum" comment="Enums to track objects of various types - also see objtypeenum attributes on type tags"> <enum value="0" name="VK_OBJECT_TYPE_UNKNOWN"/> - <enum value="1" name="VK_OBJECT_TYPE_INSTANCE" comment="VkInstance"/> - <enum value="2" name="VK_OBJECT_TYPE_PHYSICAL_DEVICE" comment="VkPhysicalDevice"/> - <enum value="3" name="VK_OBJECT_TYPE_DEVICE" comment="VkDevice"/> - <enum value="4" name="VK_OBJECT_TYPE_QUEUE" comment="VkQueue"/> - <enum value="5" name="VK_OBJECT_TYPE_SEMAPHORE" comment="VkSemaphore"/> - <enum value="6" name="VK_OBJECT_TYPE_COMMAND_BUFFER" comment="VkCommandBuffer"/> - <enum value="7" name="VK_OBJECT_TYPE_FENCE" comment="VkFence"/> - <enum value="8" name="VK_OBJECT_TYPE_DEVICE_MEMORY" comment="VkDeviceMemory"/> - <enum value="9" name="VK_OBJECT_TYPE_BUFFER" comment="VkBuffer"/> - <enum value="10" name="VK_OBJECT_TYPE_IMAGE" comment="VkImage"/> - <enum value="11" name="VK_OBJECT_TYPE_EVENT" comment="VkEvent"/> - <enum value="12" name="VK_OBJECT_TYPE_QUERY_POOL" comment="VkQueryPool"/> - <enum value="13" name="VK_OBJECT_TYPE_BUFFER_VIEW" comment="VkBufferView"/> - <enum value="14" name="VK_OBJECT_TYPE_IMAGE_VIEW" comment="VkImageView"/> - <enum value="15" name="VK_OBJECT_TYPE_SHADER_MODULE" comment="VkShaderModule"/> - <enum value="16" name="VK_OBJECT_TYPE_PIPELINE_CACHE" comment="VkPipelineCache"/> - <enum value="17" name="VK_OBJECT_TYPE_PIPELINE_LAYOUT" comment="VkPipelineLayout"/> - <enum value="18" name="VK_OBJECT_TYPE_RENDER_PASS" comment="VkRenderPass"/> - <enum value="19" name="VK_OBJECT_TYPE_PIPELINE" comment="VkPipeline"/> - <enum value="20" name="VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT" comment="VkDescriptorSetLayout"/> - <enum value="21" name="VK_OBJECT_TYPE_SAMPLER" comment="VkSampler"/> - <enum value="22" name="VK_OBJECT_TYPE_DESCRIPTOR_POOL" comment="VkDescriptorPool"/> - <enum value="23" name="VK_OBJECT_TYPE_DESCRIPTOR_SET" comment="VkDescriptorSet"/> - <enum value="24" name="VK_OBJECT_TYPE_FRAMEBUFFER" comment="VkFramebuffer"/> - <enum value="25" name="VK_OBJECT_TYPE_COMMAND_POOL" comment="VkCommandPool"/> + <enum value="1" name="VK_OBJECT_TYPE_INSTANCE"/> + <enum value="2" name="VK_OBJECT_TYPE_PHYSICAL_DEVICE"/> + <enum value="3" name="VK_OBJECT_TYPE_DEVICE"/> + <enum value="4" name="VK_OBJECT_TYPE_QUEUE"/> + <enum value="5" name="VK_OBJECT_TYPE_SEMAPHORE"/> + <enum value="6" name="VK_OBJECT_TYPE_COMMAND_BUFFER"/> + <enum value="7" name="VK_OBJECT_TYPE_FENCE"/> + <enum value="8" name="VK_OBJECT_TYPE_DEVICE_MEMORY"/> + <enum value="9" name="VK_OBJECT_TYPE_BUFFER"/> + <enum value="10" name="VK_OBJECT_TYPE_IMAGE"/> + <enum value="11" name="VK_OBJECT_TYPE_EVENT"/> + <enum value="12" name="VK_OBJECT_TYPE_QUERY_POOL"/> + <enum value="13" name="VK_OBJECT_TYPE_BUFFER_VIEW"/> + <enum value="14" name="VK_OBJECT_TYPE_IMAGE_VIEW"/> + <enum value="15" name="VK_OBJECT_TYPE_SHADER_MODULE"/> + <enum value="16" name="VK_OBJECT_TYPE_PIPELINE_CACHE"/> + <enum value="17" name="VK_OBJECT_TYPE_PIPELINE_LAYOUT"/> + <enum value="18" name="VK_OBJECT_TYPE_RENDER_PASS"/> + <enum value="19" name="VK_OBJECT_TYPE_PIPELINE"/> + <enum value="20" name="VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT"/> + <enum value="21" name="VK_OBJECT_TYPE_SAMPLER"/> + <enum value="22" name="VK_OBJECT_TYPE_DESCRIPTOR_POOL"/> + <enum value="23" name="VK_OBJECT_TYPE_DESCRIPTOR_SET"/> + <enum value="24" name="VK_OBJECT_TYPE_FRAMEBUFFER"/> + <enum value="25" name="VK_OBJECT_TYPE_COMMAND_POOL"/> </enums> <comment>Flags</comment> @@ -10331,7 +10331,7 @@ typedef void <name>CAMetalLayer</name>; <enum value=""VK_KHR_surface"" name="VK_KHR_SURFACE_EXTENSION_NAME"/> <enum offset="0" extends="VkResult" dir="-" name="VK_ERROR_SURFACE_LOST_KHR"/> <enum offset="1" extends="VkResult" dir="-" name="VK_ERROR_NATIVE_WINDOW_IN_USE_KHR"/> - <enum offset="0" extends="VkObjectType" name="VK_OBJECT_TYPE_SURFACE_KHR" comment="VkSurfaceKHR"/> + <enum offset="0" extends="VkObjectType" name="VK_OBJECT_TYPE_SURFACE_KHR"/> <type name="VkSurfaceKHR"/> <type name="VkSurfaceTransformFlagBitsKHR"/> <type name="VkPresentModeKHR"/> @@ -10356,7 +10356,7 @@ typedef void <name>CAMetalLayer</name>; <enum offset="2" extends="VkImageLayout" name="VK_IMAGE_LAYOUT_PRESENT_SRC_KHR"/> <enum offset="3" extends="VkResult" name="VK_SUBOPTIMAL_KHR"/> <enum offset="4" extends="VkResult" dir="-" name="VK_ERROR_OUT_OF_DATE_KHR"/> - <enum offset="0" extends="VkObjectType" name="VK_OBJECT_TYPE_SWAPCHAIN_KHR" comment="VkSwapchainKHR"/> + <enum offset="0" extends="VkObjectType" name="VK_OBJECT_TYPE_SWAPCHAIN_KHR"/> <type name="VkSwapchainCreateFlagBitsKHR"/> <type name="VkSwapchainCreateFlagsKHR"/> <type name="VkSwapchainCreateInfoKHR"/> @@ -10398,8 +10398,8 @@ typedef void <name>CAMetalLayer</name>; <enum value=""VK_KHR_display"" name="VK_KHR_DISPLAY_EXTENSION_NAME"/> <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR"/> <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR"/> - <enum offset="0" extends="VkObjectType" name="VK_OBJECT_TYPE_DISPLAY_KHR" comment="VkDisplayKHR"/> - <enum offset="1" extends="VkObjectType" name="VK_OBJECT_TYPE_DISPLAY_MODE_KHR" comment="VkDisplayModeKHR"/> + <enum offset="0" extends="VkObjectType" name="VK_OBJECT_TYPE_DISPLAY_KHR"/> + <enum offset="1" extends="VkObjectType" name="VK_OBJECT_TYPE_DISPLAY_MODE_KHR"/> <type name="VkDisplayKHR"/> <type name="VkDisplayModeCreateFlagsKHR"/> <type name="VkDisplayModeCreateInfoKHR"/> @@ -10523,7 +10523,7 @@ typedef void <name>CAMetalLayer</name>; <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT"/> <enum alias="VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT" comment="Backwards-compatible alias containing a typo"/> <enum offset="1" extends="VkResult" dir="-" name="VK_ERROR_VALIDATION_FAILED_EXT"/> - <enum offset="0" extends="VkObjectType" name="VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT" comment="VkDebugReportCallbackEXT"/> + <enum offset="0" extends="VkObjectType" name="VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT"/> <type name="VkDebugReportCallbackEXT"/> <type name="PFN_vkDebugReportCallbackEXT"/> <type name="VkDebugReportFlagBitsEXT"/> @@ -11888,7 +11888,7 @@ typedef void <name>CAMetalLayer</name>; <enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT"/> <enum offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT"/> <enum offset="4" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT"/> - <enum offset="0" extends="VkObjectType" name="VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT" comment="VkDebugUtilsMessengerEXT"/> + <enum offset="0" extends="VkObjectType" name="VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT"/> <type name="PFN_vkDebugUtilsMessengerCallbackEXT"/> <type name="VkDebugUtilsLabelEXT"/> <type name="VkDebugUtilsMessageSeverityFlagBitsEXT"/> @@ -12476,7 +12476,7 @@ typedef void <name>CAMetalLayer</name>; <enum value=""VK_EXT_validation_cache"" name="VK_EXT_VALIDATION_CACHE_EXTENSION_NAME"/> <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT"/> <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT"/> - <enum offset="0" extends="VkObjectType" name="VK_OBJECT_TYPE_VALIDATION_CACHE_EXT" comment="VkValidationCacheEXT"/> + <enum offset="0" extends="VkObjectType" name="VK_OBJECT_TYPE_VALIDATION_CACHE_EXT"/> <type name="VkValidationCacheEXT"/> <type name="VkValidationCacheCreateInfoEXT"/> <type name="VkShaderModuleValidationCacheCreateInfoEXT"/> @@ -13801,7 +13801,7 @@ typedef void <name>CAMetalLayer</name>; <enum bitpos="17" extends="VkPipelineStageFlagBits" name="VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV"/> <enum bitpos="17" extends="VkAccessFlagBits" name="VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV"/> <enum bitpos="18" extends="VkAccessFlagBits" name="VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV"/> - <enum offset="0" extends="VkObjectType" name="VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV" comment="VkIndirectCommandsLayoutNV"/> + <enum offset="0" extends="VkObjectType" name="VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV"/> <type name="VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV"/> <type name="VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV"/> <type name="VkGraphicsShaderGroupCreateInfoNV"/> @@ -14584,6 +14584,12 @@ typedef void <name>CAMetalLayer</name>; <enum value=""VK_EXT_extension_377"" name="VK_EXT_EXTENSION_377_EXTENSION_NAME"/> </require> </extension> + <extension name="VK_NV_extension_378" number="378" author="NV" contact="Vikram Kushwaha @vkushwaha-nv" supported="disabled"> + <require> + <enum value="0" name="VK_NV_EXTENSION_378_SPEC_VERSION"/> + <enum value=""VK_NV_extension_378"" name="VK_NV_EXTENSION_378_EXTENSION_NAME"/> + </require> + </extension> </extensions> <spirvextensions comment="SPIR-V Extensions allowed in Vulkan and what is required to use it"> <spirvextension name="SPV_KHR_variable_pointers"> |