Update for Vulkan-Docs 1.3.216

This commit is contained in:
Jon Leech 2022-06-02 05:33:30 -07:00
parent 245d25ce8c
commit 3ef4c97fd6
9 changed files with 582 additions and 543 deletions

View file

@ -120,7 +120,7 @@ extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE h
# include <span>
#endif
static_assert( VK_HEADER_VERSION == 215, "Wrong VK_HEADER_VERSION!" );
static_assert( VK_HEADER_VERSION == 216, "Wrong VK_HEADER_VERSION!" );
// 32-bit vulkan is not typesafe for non-dispatchable 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
@ -10904,7 +10904,7 @@ namespace VULKAN_HPP_NAMESPACE
};
};
template <>
struct StructExtends<RenderPassCreationFeedbackInfoEXT, RenderPassCreateInfo2>
struct StructExtends<RenderPassCreationFeedbackCreateInfoEXT, RenderPassCreateInfo2>
{
enum
{
@ -10912,23 +10912,7 @@ namespace VULKAN_HPP_NAMESPACE
};
};
template <>
struct StructExtends<RenderPassCreationFeedbackInfoEXT, RenderPassCreationControlEXT>
{
enum
{
value = true
};
};
template <>
struct StructExtends<RenderPassSubpassFeedbackInfoEXT, SubpassDescription2>
{
enum
{
value = true
};
};
template <>
struct StructExtends<RenderPassSubpassFeedbackInfoEXT, RenderPassCreationControlEXT>
struct StructExtends<RenderPassSubpassFeedbackCreateInfoEXT, SubpassDescription2>
{
enum
{

View file

@ -72,7 +72,7 @@ extern "C" {
#define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
// Version of this file
#define VK_HEADER_VERSION 215
#define VK_HEADER_VERSION 216
// Complete version of this file
#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION)
@ -956,8 +956,8 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT = 1000437000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT = 1000458000,
VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT = 1000458001,
VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_INFO_EXT = 1000458002,
VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_INFO_EXT = 1000458003,
VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000458002,
VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT = 1000458003,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
@ -14193,7 +14193,7 @@ typedef struct VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {
#define VK_EXT_subpass_merge_feedback 1
#define VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION 1
#define VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION 2
#define VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME "VK_EXT_subpass_merge_feedback"
typedef enum VkSubpassMergeStatusEXT {
@ -14226,19 +14226,27 @@ typedef struct VkRenderPassCreationControlEXT {
} VkRenderPassCreationControlEXT;
typedef struct VkRenderPassCreationFeedbackInfoEXT {
VkStructureType sType;
const void* pNext;
uint32_t postMergeSubpassCount;
uint32_t postMergeSubpassCount;
} VkRenderPassCreationFeedbackInfoEXT;
typedef struct VkRenderPassCreationFeedbackCreateInfoEXT {
VkStructureType sType;
const void* pNext;
VkRenderPassCreationFeedbackInfoEXT* pRenderPassFeedback;
} VkRenderPassCreationFeedbackCreateInfoEXT;
typedef struct VkRenderPassSubpassFeedbackInfoEXT {
VkStructureType sType;
const void* pNext;
VkSubpassMergeStatusEXT subpassMergeStatus;
char description[VK_MAX_DESCRIPTION_SIZE];
uint32_t postMergeIndex;
} VkRenderPassSubpassFeedbackInfoEXT;
typedef struct VkRenderPassSubpassFeedbackCreateInfoEXT {
VkStructureType sType;
const void* pNext;
VkRenderPassSubpassFeedbackInfoEXT* pSubpassFeedback;
} VkRenderPassSubpassFeedbackCreateInfoEXT;
#define VK_KHR_acceleration_structure 1

View file

@ -838,8 +838,8 @@ namespace VULKAN_HPP_NAMESPACE
ePhysicalDeviceImageCompressionControlSwapchainFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT,
ePhysicalDeviceSubpassMergeFeedbackFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT,
eRenderPassCreationControlEXT = VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT,
eRenderPassCreationFeedbackInfoEXT = VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_INFO_EXT,
eRenderPassSubpassFeedbackInfoEXT = VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_INFO_EXT,
eRenderPassCreationFeedbackCreateInfoEXT = VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT,
eRenderPassSubpassFeedbackCreateInfoEXT = VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT,
eAttachmentDescription2KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR,
eAttachmentDescriptionStencilLayoutKHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR,
eAttachmentReference2KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR,
@ -1715,8 +1715,8 @@ namespace VULKAN_HPP_NAMESPACE
case StructureType::ePhysicalDeviceImageCompressionControlSwapchainFeaturesEXT: return "PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT";
case StructureType::ePhysicalDeviceSubpassMergeFeedbackFeaturesEXT: return "PhysicalDeviceSubpassMergeFeedbackFeaturesEXT";
case StructureType::eRenderPassCreationControlEXT: return "RenderPassCreationControlEXT";
case StructureType::eRenderPassCreationFeedbackInfoEXT: return "RenderPassCreationFeedbackInfoEXT";
case StructureType::eRenderPassSubpassFeedbackInfoEXT: return "RenderPassSubpassFeedbackInfoEXT";
case StructureType::eRenderPassCreationFeedbackCreateInfoEXT: return "RenderPassCreationFeedbackCreateInfoEXT";
case StructureType::eRenderPassSubpassFeedbackCreateInfoEXT: return "RenderPassSubpassFeedbackCreateInfoEXT";
default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
}
}

View file

@ -1390,7 +1390,9 @@ namespace VULKAN_HPP_NAMESPACE
struct PhysicalDeviceSubpassMergeFeedbackFeaturesEXT;
struct RenderPassCreationControlEXT;
struct RenderPassCreationFeedbackInfoEXT;
struct RenderPassCreationFeedbackCreateInfoEXT;
struct RenderPassSubpassFeedbackInfoEXT;
struct RenderPassSubpassFeedbackCreateInfoEXT;
//===============
//=== HANDLEs ===

View file

@ -10540,13 +10540,25 @@ namespace std
std::size_t operator()( VULKAN_HPP_NAMESPACE::RenderPassCreationFeedbackInfoEXT const & renderPassCreationFeedbackInfoEXT ) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE( seed, renderPassCreationFeedbackInfoEXT.sType );
VULKAN_HPP_HASH_COMBINE( seed, renderPassCreationFeedbackInfoEXT.pNext );
VULKAN_HPP_HASH_COMBINE( seed, renderPassCreationFeedbackInfoEXT.postMergeSubpassCount );
return seed;
}
};
template <>
struct hash<VULKAN_HPP_NAMESPACE::RenderPassCreationFeedbackCreateInfoEXT>
{
std::size_t
operator()( VULKAN_HPP_NAMESPACE::RenderPassCreationFeedbackCreateInfoEXT const & renderPassCreationFeedbackCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE( seed, renderPassCreationFeedbackCreateInfoEXT.sType );
VULKAN_HPP_HASH_COMBINE( seed, renderPassCreationFeedbackCreateInfoEXT.pNext );
VULKAN_HPP_HASH_COMBINE( seed, renderPassCreationFeedbackCreateInfoEXT.pRenderPassFeedback );
return seed;
}
};
template <>
struct hash<VULKAN_HPP_NAMESPACE::RenderPassFragmentDensityMapCreateInfoEXT>
{
@ -10629,8 +10641,6 @@ namespace std
std::size_t operator()( VULKAN_HPP_NAMESPACE::RenderPassSubpassFeedbackInfoEXT const & renderPassSubpassFeedbackInfoEXT ) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE( seed, renderPassSubpassFeedbackInfoEXT.sType );
VULKAN_HPP_HASH_COMBINE( seed, renderPassSubpassFeedbackInfoEXT.pNext );
VULKAN_HPP_HASH_COMBINE( seed, renderPassSubpassFeedbackInfoEXT.subpassMergeStatus );
for ( size_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i )
{
@ -10641,6 +10651,20 @@ namespace std
}
};
template <>
struct hash<VULKAN_HPP_NAMESPACE::RenderPassSubpassFeedbackCreateInfoEXT>
{
std::size_t
operator()( VULKAN_HPP_NAMESPACE::RenderPassSubpassFeedbackCreateInfoEXT const & renderPassSubpassFeedbackCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE( seed, renderPassSubpassFeedbackCreateInfoEXT.sType );
VULKAN_HPP_HASH_COMBINE( seed, renderPassSubpassFeedbackCreateInfoEXT.pNext );
VULKAN_HPP_HASH_COMBINE( seed, renderPassSubpassFeedbackCreateInfoEXT.pSubpassFeedback );
return seed;
}
};
template <>
struct hash<VULKAN_HPP_NAMESPACE::RenderPassTransformBeginInfoQCOM>
{

File diff suppressed because it is too large Load diff

View file

@ -80665,13 +80665,9 @@ namespace VULKAN_HPP_NAMESPACE
{
using NativeType = VkRenderPassCreationFeedbackInfoEXT;
static const bool allowDuplicate = false;
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderPassCreationFeedbackInfoEXT;
#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
VULKAN_HPP_CONSTEXPR RenderPassCreationFeedbackInfoEXT( uint32_t postMergeSubpassCount_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
: pNext( pNext_ )
, postMergeSubpassCount( postMergeSubpassCount_ )
VULKAN_HPP_CONSTEXPR RenderPassCreationFeedbackInfoEXT( uint32_t postMergeSubpassCount_ = {} ) VULKAN_HPP_NOEXCEPT
: postMergeSubpassCount( postMergeSubpassCount_ )
{
}
@ -80691,20 +80687,6 @@ namespace VULKAN_HPP_NAMESPACE
return *this;
}
#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
VULKAN_HPP_CONSTEXPR_14 RenderPassCreationFeedbackInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
{
pNext = pNext_;
return *this;
}
VULKAN_HPP_CONSTEXPR_14 RenderPassCreationFeedbackInfoEXT & setPostMergeSubpassCount( uint32_t postMergeSubpassCount_ ) VULKAN_HPP_NOEXCEPT
{
postMergeSubpassCount = postMergeSubpassCount_;
return *this;
}
#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
explicit operator VkRenderPassCreationFeedbackInfoEXT const &() const VULKAN_HPP_NOEXCEPT
{
return *reinterpret_cast<const VkRenderPassCreationFeedbackInfoEXT *>( this );
@ -80719,11 +80701,11 @@ namespace VULKAN_HPP_NAMESPACE
# if 14 <= VULKAN_HPP_CPP_VERSION
auto
# else
std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &>
std::tuple<uint32_t const &>
# endif
reflect() const VULKAN_HPP_NOEXCEPT
{
return std::tie( sType, pNext, postMergeSubpassCount );
return std::tie( postMergeSubpassCount );
}
#endif
@ -80735,7 +80717,7 @@ namespace VULKAN_HPP_NAMESPACE
# if defined( VULKAN_HPP_USE_REFLECT )
return this->reflect() == rhs.reflect();
# else
return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( postMergeSubpassCount == rhs.postMergeSubpassCount );
return ( postMergeSubpassCount == rhs.postMergeSubpassCount );
# endif
}
@ -80746,9 +80728,7 @@ namespace VULKAN_HPP_NAMESPACE
#endif
public:
VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eRenderPassCreationFeedbackInfoEXT;
const void * pNext = {};
uint32_t postMergeSubpassCount = {};
uint32_t postMergeSubpassCount = {};
};
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::RenderPassCreationFeedbackInfoEXT ) == sizeof( VkRenderPassCreationFeedbackInfoEXT ),
"struct and wrapper have different size!" );
@ -80757,10 +80737,108 @@ namespace VULKAN_HPP_NAMESPACE
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::RenderPassCreationFeedbackInfoEXT>::value,
"RenderPassCreationFeedbackInfoEXT is not nothrow_move_constructible!" );
template <>
struct CppType<StructureType, StructureType::eRenderPassCreationFeedbackInfoEXT>
struct RenderPassCreationFeedbackCreateInfoEXT
{
using Type = RenderPassCreationFeedbackInfoEXT;
using NativeType = VkRenderPassCreationFeedbackCreateInfoEXT;
static const bool allowDuplicate = false;
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderPassCreationFeedbackCreateInfoEXT;
#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
VULKAN_HPP_CONSTEXPR RenderPassCreationFeedbackCreateInfoEXT( VULKAN_HPP_NAMESPACE::RenderPassCreationFeedbackInfoEXT * pRenderPassFeedback_ = {},
const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
: pNext( pNext_ )
, pRenderPassFeedback( pRenderPassFeedback_ )
{
}
VULKAN_HPP_CONSTEXPR RenderPassCreationFeedbackCreateInfoEXT( RenderPassCreationFeedbackCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
RenderPassCreationFeedbackCreateInfoEXT( VkRenderPassCreationFeedbackCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
: RenderPassCreationFeedbackCreateInfoEXT( *reinterpret_cast<RenderPassCreationFeedbackCreateInfoEXT const *>( &rhs ) )
{
}
#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
RenderPassCreationFeedbackCreateInfoEXT & operator=( RenderPassCreationFeedbackCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
RenderPassCreationFeedbackCreateInfoEXT & operator=( VkRenderPassCreationFeedbackCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
{
*this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderPassCreationFeedbackCreateInfoEXT const *>( &rhs );
return *this;
}
#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
VULKAN_HPP_CONSTEXPR_14 RenderPassCreationFeedbackCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
{
pNext = pNext_;
return *this;
}
VULKAN_HPP_CONSTEXPR_14 RenderPassCreationFeedbackCreateInfoEXT &
setPRenderPassFeedback( VULKAN_HPP_NAMESPACE::RenderPassCreationFeedbackInfoEXT * pRenderPassFeedback_ ) VULKAN_HPP_NOEXCEPT
{
pRenderPassFeedback = pRenderPassFeedback_;
return *this;
}
#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
explicit operator VkRenderPassCreationFeedbackCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
{
return *reinterpret_cast<const VkRenderPassCreationFeedbackCreateInfoEXT *>( this );
}
explicit operator VkRenderPassCreationFeedbackCreateInfoEXT &() VULKAN_HPP_NOEXCEPT
{
return *reinterpret_cast<VkRenderPassCreationFeedbackCreateInfoEXT *>( this );
}
#if defined( VULKAN_HPP_USE_REFLECT )
# if 14 <= VULKAN_HPP_CPP_VERSION
auto
# else
std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::RenderPassCreationFeedbackInfoEXT * const &>
# endif
reflect() const VULKAN_HPP_NOEXCEPT
{
return std::tie( sType, pNext, pRenderPassFeedback );
}
#endif
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( RenderPassCreationFeedbackCreateInfoEXT const & ) const = default;
#else
bool operator==( RenderPassCreationFeedbackCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
{
# if defined( VULKAN_HPP_USE_REFLECT )
return this->reflect() == rhs.reflect();
# else
return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pRenderPassFeedback == rhs.pRenderPassFeedback );
# endif
}
bool operator!=( RenderPassCreationFeedbackCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
{
return !operator==( rhs );
}
#endif
public:
VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eRenderPassCreationFeedbackCreateInfoEXT;
const void * pNext = {};
VULKAN_HPP_NAMESPACE::RenderPassCreationFeedbackInfoEXT * pRenderPassFeedback = {};
};
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::RenderPassCreationFeedbackCreateInfoEXT ) == sizeof( VkRenderPassCreationFeedbackCreateInfoEXT ),
"struct and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::RenderPassCreationFeedbackCreateInfoEXT>::value,
"struct wrapper is not a standard layout!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::RenderPassCreationFeedbackCreateInfoEXT>::value,
"RenderPassCreationFeedbackCreateInfoEXT is not nothrow_move_constructible!" );
template <>
struct CppType<StructureType, StructureType::eRenderPassCreationFeedbackCreateInfoEXT>
{
using Type = RenderPassCreationFeedbackCreateInfoEXT;
};
struct RenderPassFragmentDensityMapCreateInfoEXT
@ -81481,17 +81559,12 @@ namespace VULKAN_HPP_NAMESPACE
{
using NativeType = VkRenderPassSubpassFeedbackInfoEXT;
static const bool allowDuplicate = false;
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderPassSubpassFeedbackInfoEXT;
#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
VULKAN_HPP_CONSTEXPR_14
RenderPassSubpassFeedbackInfoEXT( VULKAN_HPP_NAMESPACE::SubpassMergeStatusEXT subpassMergeStatus_ = VULKAN_HPP_NAMESPACE::SubpassMergeStatusEXT::eMerged,
std::array<char, VK_MAX_DESCRIPTION_SIZE> const & description_ = {},
uint32_t postMergeIndex_ = {},
const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
: pNext( pNext_ )
, subpassMergeStatus( subpassMergeStatus_ )
uint32_t postMergeIndex_ = {} ) VULKAN_HPP_NOEXCEPT
: subpassMergeStatus( subpassMergeStatus_ )
, description( description_ )
, postMergeIndex( postMergeIndex_ )
{
@ -81513,33 +81586,6 @@ namespace VULKAN_HPP_NAMESPACE
return *this;
}
#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
VULKAN_HPP_CONSTEXPR_14 RenderPassSubpassFeedbackInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
{
pNext = pNext_;
return *this;
}
VULKAN_HPP_CONSTEXPR_14 RenderPassSubpassFeedbackInfoEXT &
setSubpassMergeStatus( VULKAN_HPP_NAMESPACE::SubpassMergeStatusEXT subpassMergeStatus_ ) VULKAN_HPP_NOEXCEPT
{
subpassMergeStatus = subpassMergeStatus_;
return *this;
}
VULKAN_HPP_CONSTEXPR_14 RenderPassSubpassFeedbackInfoEXT & setDescription( std::array<char, VK_MAX_DESCRIPTION_SIZE> description_ ) VULKAN_HPP_NOEXCEPT
{
description = description_;
return *this;
}
VULKAN_HPP_CONSTEXPR_14 RenderPassSubpassFeedbackInfoEXT & setPostMergeIndex( uint32_t postMergeIndex_ ) VULKAN_HPP_NOEXCEPT
{
postMergeIndex = postMergeIndex_;
return *this;
}
#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
explicit operator VkRenderPassSubpassFeedbackInfoEXT const &() const VULKAN_HPP_NOEXCEPT
{
return *reinterpret_cast<const VkRenderPassSubpassFeedbackInfoEXT *>( this );
@ -81554,15 +81600,12 @@ namespace VULKAN_HPP_NAMESPACE
# if 14 <= VULKAN_HPP_CPP_VERSION
auto
# else
std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
const void * const &,
VULKAN_HPP_NAMESPACE::SubpassMergeStatusEXT const &,
VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DESCRIPTION_SIZE> const &,
uint32_t const &>
std::
tuple<VULKAN_HPP_NAMESPACE::SubpassMergeStatusEXT const &, VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DESCRIPTION_SIZE> const &, uint32_t const &>
# endif
reflect() const VULKAN_HPP_NOEXCEPT
{
return std::tie( sType, pNext, subpassMergeStatus, description, postMergeIndex );
return std::tie( subpassMergeStatus, description, postMergeIndex );
}
#endif
@ -81574,8 +81617,7 @@ namespace VULKAN_HPP_NAMESPACE
# if defined( VULKAN_HPP_USE_REFLECT )
return this->reflect() == rhs.reflect();
# else
return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( subpassMergeStatus == rhs.subpassMergeStatus ) && ( description == rhs.description ) &&
( postMergeIndex == rhs.postMergeIndex );
return ( subpassMergeStatus == rhs.subpassMergeStatus ) && ( description == rhs.description ) && ( postMergeIndex == rhs.postMergeIndex );
# endif
}
@ -81586,8 +81628,6 @@ namespace VULKAN_HPP_NAMESPACE
#endif
public:
VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eRenderPassSubpassFeedbackInfoEXT;
const void * pNext = {};
VULKAN_HPP_NAMESPACE::SubpassMergeStatusEXT subpassMergeStatus = VULKAN_HPP_NAMESPACE::SubpassMergeStatusEXT::eMerged;
VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DESCRIPTION_SIZE> description = {};
uint32_t postMergeIndex = {};
@ -81599,10 +81639,108 @@ namespace VULKAN_HPP_NAMESPACE
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::RenderPassSubpassFeedbackInfoEXT>::value,
"RenderPassSubpassFeedbackInfoEXT is not nothrow_move_constructible!" );
template <>
struct CppType<StructureType, StructureType::eRenderPassSubpassFeedbackInfoEXT>
struct RenderPassSubpassFeedbackCreateInfoEXT
{
using Type = RenderPassSubpassFeedbackInfoEXT;
using NativeType = VkRenderPassSubpassFeedbackCreateInfoEXT;
static const bool allowDuplicate = false;
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderPassSubpassFeedbackCreateInfoEXT;
#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
VULKAN_HPP_CONSTEXPR_14 RenderPassSubpassFeedbackCreateInfoEXT( VULKAN_HPP_NAMESPACE::RenderPassSubpassFeedbackInfoEXT * pSubpassFeedback_ = {},
const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
: pNext( pNext_ )
, pSubpassFeedback( pSubpassFeedback_ )
{
}
VULKAN_HPP_CONSTEXPR_14 RenderPassSubpassFeedbackCreateInfoEXT( RenderPassSubpassFeedbackCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
RenderPassSubpassFeedbackCreateInfoEXT( VkRenderPassSubpassFeedbackCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
: RenderPassSubpassFeedbackCreateInfoEXT( *reinterpret_cast<RenderPassSubpassFeedbackCreateInfoEXT const *>( &rhs ) )
{
}
#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
RenderPassSubpassFeedbackCreateInfoEXT & operator=( RenderPassSubpassFeedbackCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
RenderPassSubpassFeedbackCreateInfoEXT & operator=( VkRenderPassSubpassFeedbackCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
{
*this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderPassSubpassFeedbackCreateInfoEXT const *>( &rhs );
return *this;
}
#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
VULKAN_HPP_CONSTEXPR_14 RenderPassSubpassFeedbackCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
{
pNext = pNext_;
return *this;
}
VULKAN_HPP_CONSTEXPR_14 RenderPassSubpassFeedbackCreateInfoEXT &
setPSubpassFeedback( VULKAN_HPP_NAMESPACE::RenderPassSubpassFeedbackInfoEXT * pSubpassFeedback_ ) VULKAN_HPP_NOEXCEPT
{
pSubpassFeedback = pSubpassFeedback_;
return *this;
}
#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
explicit operator VkRenderPassSubpassFeedbackCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
{
return *reinterpret_cast<const VkRenderPassSubpassFeedbackCreateInfoEXT *>( this );
}
explicit operator VkRenderPassSubpassFeedbackCreateInfoEXT &() VULKAN_HPP_NOEXCEPT
{
return *reinterpret_cast<VkRenderPassSubpassFeedbackCreateInfoEXT *>( this );
}
#if defined( VULKAN_HPP_USE_REFLECT )
# if 14 <= VULKAN_HPP_CPP_VERSION
auto
# else
std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::RenderPassSubpassFeedbackInfoEXT * const &>
# endif
reflect() const VULKAN_HPP_NOEXCEPT
{
return std::tie( sType, pNext, pSubpassFeedback );
}
#endif
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( RenderPassSubpassFeedbackCreateInfoEXT const & ) const = default;
#else
bool operator==( RenderPassSubpassFeedbackCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
{
# if defined( VULKAN_HPP_USE_REFLECT )
return this->reflect() == rhs.reflect();
# else
return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pSubpassFeedback == rhs.pSubpassFeedback );
# endif
}
bool operator!=( RenderPassSubpassFeedbackCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
{
return !operator==( rhs );
}
#endif
public:
VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eRenderPassSubpassFeedbackCreateInfoEXT;
const void * pNext = {};
VULKAN_HPP_NAMESPACE::RenderPassSubpassFeedbackInfoEXT * pSubpassFeedback = {};
};
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::RenderPassSubpassFeedbackCreateInfoEXT ) == sizeof( VkRenderPassSubpassFeedbackCreateInfoEXT ),
"struct and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::RenderPassSubpassFeedbackCreateInfoEXT>::value,
"struct wrapper is not a standard layout!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::RenderPassSubpassFeedbackCreateInfoEXT>::value,
"RenderPassSubpassFeedbackCreateInfoEXT is not nothrow_move_constructible!" );
template <>
struct CppType<StructureType, StructureType::eRenderPassSubpassFeedbackCreateInfoEXT>
{
using Type = RenderPassSubpassFeedbackCreateInfoEXT;
};
struct RenderPassTransformBeginInfoQCOM

View file

@ -1,9 +1,9 @@
{
"version info": {
"schema version": 2,
"api version": "1.3.215",
"comment": "from git branch: github-main commit: 9b5562187a8ad72c171410b036ceedbc450153ba",
"date": "2022-05-24 09:04:58Z"
"api version": "1.3.216",
"comment": "from git branch: github-main commit: 899dd1c16d5de69bd24e108f393d134fa2989512",
"date": "2022-06-02 11:59:52Z"
},
"validation": {
"vkGetInstanceProcAddr": {
@ -7868,7 +7868,7 @@
},
{
"vuid": "VUID-VkRenderPassCreateInfo2-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=\"#VkRenderPassCreationControlEXT\">VkRenderPassCreationControlEXT</a>, <a href=\"#VkRenderPassCreationFeedbackInfoEXT\">VkRenderPassCreationFeedbackInfoEXT</a>, or <a href=\"#VkRenderPassFragmentDensityMapCreateInfoEXT\">VkRenderPassFragmentDensityMapCreateInfoEXT</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=\"#VkRenderPassCreationControlEXT\">VkRenderPassCreationControlEXT</a>, <a href=\"#VkRenderPassCreationFeedbackCreateInfoEXT\">VkRenderPassCreationFeedbackCreateInfoEXT</a>, or <a href=\"#VkRenderPassFragmentDensityMapCreateInfoEXT\">VkRenderPassFragmentDensityMapCreateInfoEXT</a>"
},
{
"vuid": "VUID-VkRenderPassCreateInfo2-sType-unique",
@ -8222,7 +8222,7 @@
},
{
"vuid": "VUID-VkSubpassDescription2-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=\"#VkFragmentShadingRateAttachmentInfoKHR\">VkFragmentShadingRateAttachmentInfoKHR</a>, <a href=\"#VkRenderPassCreationControlEXT\">VkRenderPassCreationControlEXT</a>, <a href=\"#VkRenderPassSubpassFeedbackInfoEXT\">VkRenderPassSubpassFeedbackInfoEXT</a>, or <a href=\"#VkSubpassDescriptionDepthStencilResolve\">VkSubpassDescriptionDepthStencilResolve</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=\"#VkFragmentShadingRateAttachmentInfoKHR\">VkFragmentShadingRateAttachmentInfoKHR</a>, <a href=\"#VkRenderPassCreationControlEXT\">VkRenderPassCreationControlEXT</a>, <a href=\"#VkRenderPassSubpassFeedbackCreateInfoEXT\">VkRenderPassSubpassFeedbackCreateInfoEXT</a>, or <a href=\"#VkSubpassDescriptionDepthStencilResolve\">VkSubpassDescriptionDepthStencilResolve</a>"
},
{
"vuid": "VUID-VkSubpassDescription2-sType-unique",
@ -9764,27 +9764,27 @@
}
]
},
"VkRenderPassCreationFeedbackInfoEXT": {
"VkRenderPassCreationFeedbackCreateInfoEXT": {
"(VK_EXT_subpass_merge_feedback)": [
{
"vuid": "VUID-VkRenderPassCreationFeedbackInfoEXT-sType-sType",
"text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_INFO_EXT</code>"
"vuid": "VUID-VkRenderPassCreationFeedbackCreateInfoEXT-sType-sType",
"text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT</code>"
},
{
"vuid": "VUID-VkRenderPassCreationFeedbackCreateInfoEXT-pRenderPassFeedback-parameter",
"text": " <code>pRenderPassFeedback</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkRenderPassCreationFeedbackInfoEXT\">VkRenderPassCreationFeedbackInfoEXT</a> structure"
}
]
},
"VkRenderPassSubpassFeedbackInfoEXT": {
"VkRenderPassSubpassFeedbackCreateInfoEXT": {
"(VK_EXT_subpass_merge_feedback)": [
{
"vuid": "VUID-VkRenderPassSubpassFeedbackInfoEXT-sType-sType",
"text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_INFO_EXT</code>"
"vuid": "VUID-VkRenderPassSubpassFeedbackCreateInfoEXT-sType-sType",
"text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT</code>"
},
{
"vuid": "VUID-VkRenderPassSubpassFeedbackInfoEXT-subpassMergeStatus-parameter",
"text": " <code>subpassMergeStatus</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkSubpassMergeStatusEXT\">VkSubpassMergeStatusEXT</a> value"
},
{
"vuid": "VUID-VkRenderPassSubpassFeedbackInfoEXT-description-parameter",
"text": " <code>description</code> <strong class=\"purple\">must</strong> be a null-terminated UTF-8 string whose length is less than or equal to VK_MAX_DESCRIPTION_SIZE"
"vuid": "VUID-VkRenderPassSubpassFeedbackCreateInfoEXT-pSubpassFeedback-parameter",
"text": " <code>pSubpassFeedback</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkRenderPassSubpassFeedbackInfoEXT\">VkRenderPassSubpassFeedbackInfoEXT</a> structure"
}
]
},
@ -12992,36 +12992,6 @@
}
]
},
"VkPipelineInfoKHR": {
"(VK_KHR_pipeline_executable_properties)": [
{
"vuid": "VUID-VkPipelineInfoKHR-sType-sType",
"text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR</code>"
},
{
"vuid": "VUID-VkPipelineInfoKHR-pNext-pNext",
"text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
},
{
"vuid": "VUID-VkPipelineInfoKHR-pipeline-parameter",
"text": " <code>pipeline</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipeline\">VkPipeline</a> handle"
}
],
"(VK_EXT_pipeline_properties)+!(VK_KHR_pipeline_executable_properties)": [
{
"vuid": "VUID-VkPipelineInfoKHR-sType-sType",
"text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR</code>"
},
{
"vuid": "VUID-VkPipelineInfoKHR-pNext-pNext",
"text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
},
{
"vuid": "VUID-VkPipelineInfoKHR-pipeline-parameter",
"text": " <code>pipeline</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipeline\">VkPipeline</a> handle"
}
]
},
"VkPipelineExecutablePropertiesKHR": {
"(VK_KHR_pipeline_executable_properties)": [
{
@ -13034,6 +13004,54 @@
}
]
},
"vkGetPipelinePropertiesEXT": {
"(VK_EXT_pipeline_properties)": [
{
"vuid": "VUID-vkGetPipelinePropertiesEXT-pipeline-06738",
"text": " <code>pipeline</code> member of <code>pPipelineInfo</code> must have been created with <code>device</code>"
},
{
"vuid": "VUID-vkGetPipelinePropertiesEXT-pPipelineProperties-06739",
"text": " <code>pPipelineProperties</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkPipelinePropertiesIdentifierEXT\">VkPipelinePropertiesIdentifierEXT</a> structure"
},
{
"vuid": "VUID-vkGetPipelinePropertiesEXT-None-06766",
"text": " The <a href=\"#features-pipelinePropertiesIdentifier\">pipelinePropertiesIdentifier</a> feature <strong class=\"purple\">must</strong> be enabled"
},
{
"vuid": "VUID-vkGetPipelinePropertiesEXT-device-parameter",
"text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
},
{
"vuid": "VUID-vkGetPipelinePropertiesEXT-pPipelineInfo-parameter",
"text": " <code>pPipelineInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkPipelineInfoEXT\">VkPipelineInfoEXT</a> structure"
}
]
},
"VkPipelinePropertiesIdentifierEXT": {
"(VK_EXT_pipeline_properties)": [
{
"vuid": "VUID-VkPipelinePropertiesIdentifierEXT-sType-sType",
"text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT</code>"
}
]
},
"VkPipelineInfoKHR": {
"(VK_KHR_pipeline_executable_properties,VK_EXT_pipeline_properties)": [
{
"vuid": "VUID-VkPipelineInfoKHR-sType-sType",
"text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR</code>"
},
{
"vuid": "VUID-VkPipelineInfoKHR-pNext-pNext",
"text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
},
{
"vuid": "VUID-VkPipelineInfoKHR-pipeline-parameter",
"text": " <code>pipeline</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipeline\">VkPipeline</a> handle"
}
]
},
"vkGetPipelineExecutableStatisticsKHR": {
"(VK_KHR_pipeline_executable_properties)": [
{
@ -13202,38 +13220,6 @@
}
]
},
"vkGetPipelinePropertiesEXT": {
"(VK_EXT_pipeline_properties)": [
{
"vuid": "VUID-vkGetPipelinePropertiesEXT-pipeline-06738",
"text": " <code>pipeline</code> member of <code>pPipelineInfo</code> must have been created with <code>device</code>"
},
{
"vuid": "VUID-vkGetPipelinePropertiesEXT-pPipelineProperties-06739",
"text": " <code>pPipelineProperties</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkPipelinePropertiesIdentifierEXT\">VkPipelinePropertiesIdentifierEXT</a> structure"
},
{
"vuid": "VUID-vkGetPipelinePropertiesEXT-None-06766",
"text": " The <a href=\"#features-pipelinePropertiesIdentifier\">pipelinePropertiesIdentifier</a> feature <strong class=\"purple\">must</strong> be enabled"
},
{
"vuid": "VUID-vkGetPipelinePropertiesEXT-device-parameter",
"text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
},
{
"vuid": "VUID-vkGetPipelinePropertiesEXT-pPipelineInfo-parameter",
"text": " <code>pPipelineInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkPipelineInfoEXT\">VkPipelineInfoEXT</a> structure"
}
]
},
"VkPipelinePropertiesIdentifierEXT": {
"(VK_EXT_pipeline_properties)": [
{
"vuid": "VUID-VkPipelinePropertiesIdentifierEXT-sType-sType",
"text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT</code>"
}
]
},
"VkAllocationCallbacks": {
"core": [
{

View file

@ -159,7 +159,7 @@ branch of the member gitlab server.
<type category="define" requires="VK_MAKE_API_VERSION">// Vulkan 1.3 version number
#define <name>VK_API_VERSION_1_3</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 3, 0)// Patch version should always be set to 0</type>
<type category="define">// Version of this file
#define <name>VK_HEADER_VERSION</name> 215</type>
#define <name>VK_HEADER_VERSION</name> 216</type>
<type category="define" requires="VK_HEADER_VERSION">// Complete version of this file
#define <name>VK_HEADER_VERSION_COMPLETE</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 3, VK_HEADER_VERSION)</type>
@ -6845,18 +6845,24 @@ typedef void <name>CAMetalLayer</name>;
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member><type>VkBool32</type> <name>disallowMerging</name></member>
</type>
<type category="struct" name="VkRenderPassCreationFeedbackInfoEXT" structextends="VkRenderPassCreateInfo2,VkRenderPassCreationControlEXT">
<member values="VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<type category="struct" name="VkRenderPassCreationFeedbackInfoEXT" returnedonly="true">
<member><type>uint32_t</type> <name>postMergeSubpassCount</name></member>
</type>
<type category="struct" name="VkRenderPassSubpassFeedbackInfoEXT" structextends="VkSubpassDescription2,VkRenderPassCreationControlEXT">
<member values="VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<type category="struct" name="VkRenderPassCreationFeedbackCreateInfoEXT" structextends="VkRenderPassCreateInfo2">
<member values="VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member><type>VkRenderPassCreationFeedbackInfoEXT</type>* <name>pRenderPassFeedback</name></member>
</type>
<type category="struct" name="VkRenderPassSubpassFeedbackInfoEXT" returnedonly="true">
<member><type>VkSubpassMergeStatusEXT</type> <name>subpassMergeStatus</name></member>
<member><type>char</type> <name>description</name>[<enum>VK_MAX_DESCRIPTION_SIZE</enum>]</member>
<member><type>uint32_t</type> <name>postMergeIndex</name></member>
</type>
<type category="struct" name="VkRenderPassSubpassFeedbackCreateInfoEXT" structextends="VkSubpassDescription2">
<member values="VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member><type>VkRenderPassSubpassFeedbackInfoEXT</type>* <name>pSubpassFeedback</name></member>
</type>
<type category="struct" name="VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true" noautovalidity="true"><type>void</type>* <name>pNext</name></member>
@ -7397,7 +7403,7 @@ typedef void <name>CAMetalLayer</name>;
<comment>Error codes (negative values)</comment>
<enum value="-1" name="VK_ERROR_OUT_OF_HOST_MEMORY" comment="A host memory allocation has failed"/>
<enum value="-2" name="VK_ERROR_OUT_OF_DEVICE_MEMORY" comment="A device memory allocation has failed"/>
<enum value="-3" name="VK_ERROR_INITIALIZATION_FAILED" comment="Initialization of a object has failed"/>
<enum value="-3" name="VK_ERROR_INITIALIZATION_FAILED" comment="Initialization of an object has failed"/>
<enum value="-4" name="VK_ERROR_DEVICE_LOST" comment="The logical device has been lost. See &lt;&lt;devsandqueues-lost-device&gt;&gt;"/>
<enum value="-5" name="VK_ERROR_MEMORY_MAP_FAILED" comment="Mapping of a memory object has failed"/>
<enum value="-6" name="VK_ERROR_LAYER_NOT_PRESENT" comment="Layer specified does not exist"/>
@ -18472,6 +18478,7 @@ typedef void <name>CAMetalLayer</name>;
<require>
<enum value="0" name="VK_EXT_EXTENSION_419_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_extension_419&quot;" name="VK_EXT_EXTENSION_419_EXTENSION_NAME"/>
<enum bitpos="3" extends="VkImageViewCreateFlagBits" name="VK_IMAGE_VIEW_CREATE_RESERVED_3_BIT_EXT"/>
</require>
</extension>
<extension name="VK_EXT_extension_420" number="420" author="EXT" contact="Mike Blumenkrantz @zmike" type="device" supported="disabled">
@ -18743,16 +18750,18 @@ typedef void <name>CAMetalLayer</name>;
</extension>
<extension name="VK_EXT_subpass_merge_feedback" number="459" type="device" author="EXT" contact="Ting Wei @catweiting" supported="vulkan">
<require>
<enum value="1" name="VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION"/>
<enum value="2" name="VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_subpass_merge_feedback&quot;" name="VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME"/>
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT"/>
<enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT"/>
<enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_INFO_EXT"/>
<enum offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_INFO_EXT"/>
<enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT"/>
<enum offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT"/>
<type name="VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT"/>
<type name="VkRenderPassCreationControlEXT"/>
<type name="VkRenderPassCreationFeedbackInfoEXT"/>
<type name="VkRenderPassCreationFeedbackCreateInfoEXT"/>
<type name="VkRenderPassSubpassFeedbackInfoEXT"/>
<type name="VkRenderPassSubpassFeedbackCreateInfoEXT"/>
<type name="VkSubpassMergeStatusEXT"/>
</require>
</extension>