Update for Vulkan-Docs 1.2.194

This commit is contained in:
Jon Leech 2021-09-28 06:20:03 -07:00 committed by Jon Leech
parent 31dfaa4c63
commit e500c7c809
11 changed files with 5959 additions and 2986 deletions

View file

@ -119,7 +119,7 @@ extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE h
# include <span>
#endif
static_assert( VK_HEADER_VERSION == 193, "Wrong VK_HEADER_VERSION!" );
static_assert( VK_HEADER_VERSION == 194, "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
@ -202,7 +202,7 @@ static_assert( VK_HEADER_VERSION == 193, "Wrong VK_HEADER_VERSION!" );
# if defined( _MSC_VER ) && ( _MSC_VER <= 1800 )
# define VULKAN_HPP_NOEXCEPT
# else
# define VULKAN_HPP_NOEXCEPT noexcept
# define VULKAN_HPP_NOEXCEPT noexcept
# define VULKAN_HPP_HAS_NOEXCEPT 1
# if defined( VULKAN_HPP_NO_EXCEPTIONS )
# define VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS noexcept
@ -235,8 +235,8 @@ static_assert( VK_HEADER_VERSION == 193, "Wrong VK_HEADER_VERSION!" );
#endif
#define VULKAN_HPP_STRINGIFY2( text ) #text
#define VULKAN_HPP_STRINGIFY( text ) VULKAN_HPP_STRINGIFY2( text )
#define VULKAN_HPP_NAMESPACE_STRING VULKAN_HPP_STRINGIFY( VULKAN_HPP_NAMESPACE )
#define VULKAN_HPP_STRINGIFY( text ) VULKAN_HPP_STRINGIFY2( text )
#define VULKAN_HPP_NAMESPACE_STRING VULKAN_HPP_STRINGIFY( VULKAN_HPP_NAMESPACE )
namespace VULKAN_HPP_NAMESPACE
{
@ -957,7 +957,7 @@ namespace VULKAN_HPP_NAMESPACE
// bitwise operators
template <typename BitType>
VULKAN_HPP_CONSTEXPR Flags<BitType> operator&(BitType bit, Flags<BitType> const & flags)VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR Flags<BitType> operator&( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
{
return flags.operator&( bit );
}
@ -5468,6 +5468,49 @@ namespace VULKAN_HPP_NAMESPACE
}
# endif /*VK_USE_PLATFORM_FUCHSIA*/
# if defined( VK_USE_PLATFORM_FUCHSIA )
//=== VK_FUCHSIA_buffer_collection ===
VkResult vkCreateBufferCollectionFUCHSIA( VkDevice device,
const VkBufferCollectionCreateInfoFUCHSIA * pCreateInfo,
const VkAllocationCallbacks * pAllocator,
VkBufferCollectionFUCHSIA * pCollection ) const VULKAN_HPP_NOEXCEPT
{
return ::vkCreateBufferCollectionFUCHSIA( device, pCreateInfo, pAllocator, pCollection );
}
VkResult vkSetBufferCollectionImageConstraintsFUCHSIA(
VkDevice device,
VkBufferCollectionFUCHSIA collection,
const VkImageConstraintsInfoFUCHSIA * pImageConstraintsInfo ) const VULKAN_HPP_NOEXCEPT
{
return ::vkSetBufferCollectionImageConstraintsFUCHSIA( device, collection, pImageConstraintsInfo );
}
VkResult vkSetBufferCollectionBufferConstraintsFUCHSIA(
VkDevice device,
VkBufferCollectionFUCHSIA collection,
const VkBufferConstraintsInfoFUCHSIA * pBufferConstraintsInfo ) const VULKAN_HPP_NOEXCEPT
{
return ::vkSetBufferCollectionBufferConstraintsFUCHSIA( device, collection, pBufferConstraintsInfo );
}
void vkDestroyBufferCollectionFUCHSIA( VkDevice device,
VkBufferCollectionFUCHSIA collection,
const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
{
return ::vkDestroyBufferCollectionFUCHSIA( device, collection, pAllocator );
}
VkResult vkGetBufferCollectionPropertiesFUCHSIA( VkDevice device,
VkBufferCollectionFUCHSIA collection,
VkBufferCollectionPropertiesFUCHSIA * pProperties ) const
VULKAN_HPP_NOEXCEPT
{
return ::vkGetBufferCollectionPropertiesFUCHSIA( device, collection, pProperties );
}
# endif /*VK_USE_PLATFORM_FUCHSIA*/
//=== VK_HUAWEI_subpass_shading ===
VkResult vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( VkDevice device,
@ -5657,9 +5700,9 @@ namespace VULKAN_HPP_NAMESPACE
# define VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT
# define VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT
#else
# define VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT = {}
# define VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT = {}
# define VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT = nullptr
# define VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT = VULKAN_HPP_DEFAULT_DISPATCHER
# define VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT = VULKAN_HPP_DEFAULT_DISPATCHER
#endif
struct AllocationCallbacks;
@ -5670,9 +5713,9 @@ namespace VULKAN_HPP_NAMESPACE
public:
ObjectDestroy() = default;
ObjectDestroy( OwnerType owner,
ObjectDestroy( OwnerType owner,
Optional<const AllocationCallbacks> allocationCallbacks
VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
: m_owner( owner )
, m_allocationCallbacks( allocationCallbacks )
@ -5711,7 +5754,7 @@ namespace VULKAN_HPP_NAMESPACE
ObjectDestroy() = default;
ObjectDestroy( Optional<const AllocationCallbacks> allocationCallbacks,
Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
: m_allocationCallbacks( allocationCallbacks )
, m_dispatch( &dispatch )
{}
@ -5740,7 +5783,7 @@ namespace VULKAN_HPP_NAMESPACE
public:
ObjectFree() = default;
ObjectFree( OwnerType owner,
ObjectFree( OwnerType owner,
Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
: m_owner( owner )
@ -5778,7 +5821,7 @@ namespace VULKAN_HPP_NAMESPACE
public:
ObjectRelease() = default;
ObjectRelease( OwnerType owner,
ObjectRelease( OwnerType owner,
Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
: m_owner( owner )
, m_dispatch( &dispatch )
@ -5808,8 +5851,8 @@ namespace VULKAN_HPP_NAMESPACE
public:
PoolFree() = default;
PoolFree( OwnerType owner,
PoolType pool,
PoolFree( OwnerType owner,
PoolType pool,
Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
: m_owner( owner )
, m_pool( pool )
@ -6456,7 +6499,7 @@ namespace VULKAN_HPP_NAMESPACE
template <typename T>
VULKAN_HPP_INLINE ResultValue<T>
createResultValue( Result result, T & data, char const * message, std::initializer_list<Result> successCodes )
createResultValue( Result result, T & data, char const * message, std::initializer_list<Result> successCodes )
{
#ifdef VULKAN_HPP_NO_EXCEPTIONS
ignore( message );
@ -10320,6 +10363,34 @@ namespace VULKAN_HPP_NAMESPACE
};
#endif /*VK_USE_PLATFORM_FUCHSIA*/
#if defined( VK_USE_PLATFORM_FUCHSIA )
//=== VK_FUCHSIA_buffer_collection ===
template <>
struct StructExtends<ImportMemoryBufferCollectionFUCHSIA, MemoryAllocateInfo>
{
enum
{
value = true
};
};
template <>
struct StructExtends<BufferCollectionImageCreateInfoFUCHSIA, ImageCreateInfo>
{
enum
{
value = true
};
};
template <>
struct StructExtends<BufferCollectionBufferCreateInfoFUCHSIA, BufferCreateInfo>
{
enum
{
value = true
};
};
#endif /*VK_USE_PLATFORM_FUCHSIA*/
//=== VK_HUAWEI_subpass_shading ===
template <>
struct StructExtends<SubpassShadingPipelineCreateInfoHUAWEI, ComputePipelineCreateInfo>
@ -11438,6 +11509,21 @@ namespace VULKAN_HPP_NAMESPACE
PFN_dummy vkGetSemaphoreZirconHandleFUCHSIA_placeholder = 0;
#endif /*VK_USE_PLATFORM_FUCHSIA*/
#if defined( VK_USE_PLATFORM_FUCHSIA )
//=== VK_FUCHSIA_buffer_collection ===
PFN_vkCreateBufferCollectionFUCHSIA vkCreateBufferCollectionFUCHSIA = 0;
PFN_vkSetBufferCollectionImageConstraintsFUCHSIA vkSetBufferCollectionImageConstraintsFUCHSIA = 0;
PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA vkSetBufferCollectionBufferConstraintsFUCHSIA = 0;
PFN_vkDestroyBufferCollectionFUCHSIA vkDestroyBufferCollectionFUCHSIA = 0;
PFN_vkGetBufferCollectionPropertiesFUCHSIA vkGetBufferCollectionPropertiesFUCHSIA = 0;
#else
PFN_dummy vkCreateBufferCollectionFUCHSIA_placeholder = 0;
PFN_dummy vkSetBufferCollectionImageConstraintsFUCHSIA_placeholder = 0;
PFN_dummy vkSetBufferCollectionBufferConstraintsFUCHSIA_placeholder = 0;
PFN_dummy vkDestroyBufferCollectionFUCHSIA_placeholder = 0;
PFN_dummy vkGetBufferCollectionPropertiesFUCHSIA_placeholder = 0;
#endif /*VK_USE_PLATFORM_FUCHSIA*/
//=== VK_HUAWEI_subpass_shading ===
PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = 0;
PFN_vkCmdSubpassShadingHUAWEI vkCmdSubpassShadingHUAWEI = 0;
@ -12714,6 +12800,20 @@ namespace VULKAN_HPP_NAMESPACE
PFN_vkGetSemaphoreZirconHandleFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetSemaphoreZirconHandleFUCHSIA" ) );
#endif /*VK_USE_PLATFORM_FUCHSIA*/
#if defined( VK_USE_PLATFORM_FUCHSIA )
//=== VK_FUCHSIA_buffer_collection ===
vkCreateBufferCollectionFUCHSIA =
PFN_vkCreateBufferCollectionFUCHSIA( vkGetInstanceProcAddr( instance, "vkCreateBufferCollectionFUCHSIA" ) );
vkSetBufferCollectionImageConstraintsFUCHSIA = PFN_vkSetBufferCollectionImageConstraintsFUCHSIA(
vkGetInstanceProcAddr( instance, "vkSetBufferCollectionImageConstraintsFUCHSIA" ) );
vkSetBufferCollectionBufferConstraintsFUCHSIA = PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA(
vkGetInstanceProcAddr( instance, "vkSetBufferCollectionBufferConstraintsFUCHSIA" ) );
vkDestroyBufferCollectionFUCHSIA =
PFN_vkDestroyBufferCollectionFUCHSIA( vkGetInstanceProcAddr( instance, "vkDestroyBufferCollectionFUCHSIA" ) );
vkGetBufferCollectionPropertiesFUCHSIA = PFN_vkGetBufferCollectionPropertiesFUCHSIA(
vkGetInstanceProcAddr( instance, "vkGetBufferCollectionPropertiesFUCHSIA" ) );
#endif /*VK_USE_PLATFORM_FUCHSIA*/
//=== VK_HUAWEI_subpass_shading ===
vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(
vkGetInstanceProcAddr( instance, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI" ) );
@ -13584,6 +13684,20 @@ namespace VULKAN_HPP_NAMESPACE
PFN_vkGetSemaphoreZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkGetSemaphoreZirconHandleFUCHSIA" ) );
#endif /*VK_USE_PLATFORM_FUCHSIA*/
#if defined( VK_USE_PLATFORM_FUCHSIA )
//=== VK_FUCHSIA_buffer_collection ===
vkCreateBufferCollectionFUCHSIA =
PFN_vkCreateBufferCollectionFUCHSIA( vkGetDeviceProcAddr( device, "vkCreateBufferCollectionFUCHSIA" ) );
vkSetBufferCollectionImageConstraintsFUCHSIA = PFN_vkSetBufferCollectionImageConstraintsFUCHSIA(
vkGetDeviceProcAddr( device, "vkSetBufferCollectionImageConstraintsFUCHSIA" ) );
vkSetBufferCollectionBufferConstraintsFUCHSIA = PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA(
vkGetDeviceProcAddr( device, "vkSetBufferCollectionBufferConstraintsFUCHSIA" ) );
vkDestroyBufferCollectionFUCHSIA =
PFN_vkDestroyBufferCollectionFUCHSIA( vkGetDeviceProcAddr( device, "vkDestroyBufferCollectionFUCHSIA" ) );
vkGetBufferCollectionPropertiesFUCHSIA = PFN_vkGetBufferCollectionPropertiesFUCHSIA(
vkGetDeviceProcAddr( device, "vkGetBufferCollectionPropertiesFUCHSIA" ) );
#endif /*VK_USE_PLATFORM_FUCHSIA*/
//=== VK_HUAWEI_subpass_shading ===
vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(
vkGetDeviceProcAddr( device, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI" ) );
@ -14090,5 +14204,20 @@ namespace std
}
};
#if defined( VK_USE_PLATFORM_FUCHSIA )
//=== VK_FUCHSIA_buffer_collection ===
template <>
struct hash<VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA>
{
std::size_t operator()( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA const & bufferCollectionFUCHSIA ) const
VULKAN_HPP_NOEXCEPT
{
return std::hash<VkBufferCollectionFUCHSIA>{}(
static_cast<VkBufferCollectionFUCHSIA>( bufferCollectionFUCHSIA ) );
}
};
#endif /*VK_USE_PLATFORM_FUCHSIA*/
} // namespace std
#endif

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 193
#define VK_HEADER_VERSION 194
// Complete version of this file
#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION)
@ -832,6 +832,16 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002,
VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000,
VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001,
VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA = 1000366000,
VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA = 1000366001,
VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA = 1000366002,
VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA = 1000366003,
VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA = 1000366004,
VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA = 1000366005,
VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA = 1000366006,
VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA = 1000366007,
VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA = 1000366008,
VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA = 1000366009,
VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI = 1000369000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI = 1000369001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI = 1000369002,
@ -1064,6 +1074,7 @@ typedef enum VkObjectType {
VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000,
VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000,
VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA = 1000366000,
VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
@ -8452,6 +8463,7 @@ typedef enum VkDebugReportObjectTypeEXT {
VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT = 1000029001,
VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000,
VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000,
VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT = 1000366000,
VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,

File diff suppressed because it is too large Load diff

View file

@ -114,6 +114,147 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreZirconHandleFUCHSIA(
zx_handle_t* pZirconHandle);
#endif
#define VK_FUCHSIA_buffer_collection 1
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferCollectionFUCHSIA)
#define VK_FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION 2
#define VK_FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME "VK_FUCHSIA_buffer_collection"
typedef enum VkImageFormatConstraintsFlagBitsFUCHSIA {
VK_IMAGE_FORMAT_CONSTRAINTS_FLAG_BITS_MAX_ENUM_FUCHSIA = 0x7FFFFFFF
} VkImageFormatConstraintsFlagBitsFUCHSIA;
typedef VkFlags VkImageFormatConstraintsFlagsFUCHSIA;
typedef enum VkImageConstraintsInfoFlagBitsFUCHSIA {
VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA = 0x00000001,
VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA = 0x00000002,
VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA = 0x00000004,
VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA = 0x00000008,
VK_IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA = 0x00000010,
VK_IMAGE_CONSTRAINTS_INFO_FLAG_BITS_MAX_ENUM_FUCHSIA = 0x7FFFFFFF
} VkImageConstraintsInfoFlagBitsFUCHSIA;
typedef VkFlags VkImageConstraintsInfoFlagsFUCHSIA;
typedef struct VkBufferCollectionCreateInfoFUCHSIA {
VkStructureType sType;
const void* pNext;
zx_handle_t collectionToken;
} VkBufferCollectionCreateInfoFUCHSIA;
typedef struct VkImportMemoryBufferCollectionFUCHSIA {
VkStructureType sType;
const void* pNext;
VkBufferCollectionFUCHSIA collection;
uint32_t index;
} VkImportMemoryBufferCollectionFUCHSIA;
typedef struct VkBufferCollectionImageCreateInfoFUCHSIA {
VkStructureType sType;
const void* pNext;
VkBufferCollectionFUCHSIA collection;
uint32_t index;
} VkBufferCollectionImageCreateInfoFUCHSIA;
typedef struct VkBufferCollectionConstraintsInfoFUCHSIA {
VkStructureType sType;
const void* pNext;
uint32_t minBufferCount;
uint32_t maxBufferCount;
uint32_t minBufferCountForCamping;
uint32_t minBufferCountForDedicatedSlack;
uint32_t minBufferCountForSharedSlack;
} VkBufferCollectionConstraintsInfoFUCHSIA;
typedef struct VkBufferConstraintsInfoFUCHSIA {
VkStructureType sType;
const void* pNext;
VkBufferCreateInfo createInfo;
VkFormatFeatureFlags requiredFormatFeatures;
VkBufferCollectionConstraintsInfoFUCHSIA bufferCollectionConstraints;
} VkBufferConstraintsInfoFUCHSIA;
typedef struct VkBufferCollectionBufferCreateInfoFUCHSIA {
VkStructureType sType;
const void* pNext;
VkBufferCollectionFUCHSIA collection;
uint32_t index;
} VkBufferCollectionBufferCreateInfoFUCHSIA;
typedef struct VkSysmemColorSpaceFUCHSIA {
VkStructureType sType;
const void* pNext;
uint32_t colorSpace;
} VkSysmemColorSpaceFUCHSIA;
typedef struct VkBufferCollectionPropertiesFUCHSIA {
VkStructureType sType;
void* pNext;
uint32_t memoryTypeBits;
uint32_t bufferCount;
uint32_t createInfoIndex;
uint64_t sysmemPixelFormat;
VkFormatFeatureFlags formatFeatures;
VkSysmemColorSpaceFUCHSIA sysmemColorSpaceIndex;
VkComponentMapping samplerYcbcrConversionComponents;
VkSamplerYcbcrModelConversion suggestedYcbcrModel;
VkSamplerYcbcrRange suggestedYcbcrRange;
VkChromaLocation suggestedXChromaOffset;
VkChromaLocation suggestedYChromaOffset;
} VkBufferCollectionPropertiesFUCHSIA;
typedef struct VkImageFormatConstraintsInfoFUCHSIA {
VkStructureType sType;
const void* pNext;
VkImageCreateInfo imageCreateInfo;
VkFormatFeatureFlags requiredFormatFeatures;
VkImageFormatConstraintsFlagsFUCHSIA flags;
uint64_t sysmemPixelFormat;
uint32_t colorSpaceCount;
const VkSysmemColorSpaceFUCHSIA* pColorSpaces;
} VkImageFormatConstraintsInfoFUCHSIA;
typedef struct VkImageConstraintsInfoFUCHSIA {
VkStructureType sType;
const void* pNext;
uint32_t formatConstraintsCount;
const VkImageFormatConstraintsInfoFUCHSIA* pFormatConstraints;
VkBufferCollectionConstraintsInfoFUCHSIA bufferCollectionConstraints;
VkImageConstraintsInfoFlagsFUCHSIA flags;
} VkImageConstraintsInfoFUCHSIA;
typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferCollectionFUCHSIA)(VkDevice device, const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferCollectionFUCHSIA* pCollection);
typedef VkResult (VKAPI_PTR *PFN_vkSetBufferCollectionImageConstraintsFUCHSIA)(VkDevice device, VkBufferCollectionFUCHSIA collection, const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo);
typedef VkResult (VKAPI_PTR *PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA)(VkDevice device, VkBufferCollectionFUCHSIA collection, const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo);
typedef void (VKAPI_PTR *PFN_vkDestroyBufferCollectionFUCHSIA)(VkDevice device, VkBufferCollectionFUCHSIA collection, const VkAllocationCallbacks* pAllocator);
typedef VkResult (VKAPI_PTR *PFN_vkGetBufferCollectionPropertiesFUCHSIA)(VkDevice device, VkBufferCollectionFUCHSIA collection, VkBufferCollectionPropertiesFUCHSIA* pProperties);
#ifndef VK_NO_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferCollectionFUCHSIA(
VkDevice device,
const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkBufferCollectionFUCHSIA* pCollection);
VKAPI_ATTR VkResult VKAPI_CALL vkSetBufferCollectionImageConstraintsFUCHSIA(
VkDevice device,
VkBufferCollectionFUCHSIA collection,
const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo);
VKAPI_ATTR VkResult VKAPI_CALL vkSetBufferCollectionBufferConstraintsFUCHSIA(
VkDevice device,
VkBufferCollectionFUCHSIA collection,
const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo);
VKAPI_ATTR void VKAPI_CALL vkDestroyBufferCollectionFUCHSIA(
VkDevice device,
VkBufferCollectionFUCHSIA collection,
const VkAllocationCallbacks* pAllocator);
VKAPI_ATTR VkResult VKAPI_CALL vkGetBufferCollectionPropertiesFUCHSIA(
VkDevice device,
VkBufferCollectionFUCHSIA collection,
VkBufferCollectionPropertiesFUCHSIA* pProperties);
#endif
#ifdef __cplusplus
}
#endif

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -317,7 +317,8 @@ def makeGenOpts(args):
], commonSuppressExtensions ],
[ 'vulkan_fuchsia.h', [ 'VK_FUCHSIA_imagepipe_surface',
'VK_FUCHSIA_external_memory',
'VK_FUCHSIA_external_semaphore' ], commonSuppressExtensions ],
'VK_FUCHSIA_external_semaphore',
'VK_FUCHSIA_buffer_collection' ], commonSuppressExtensions ],
[ 'vulkan_ggp.h', [ 'VK_GGP_stream_descriptor_surface',
'VK_GGP_frame_token' ], commonSuppressExtensions ],
[ 'vulkan_ios.h', [ 'VK_MVK_ios_surface' ], commonSuppressExtensions ],

View file

@ -1,9 +1,9 @@
{
"version info": {
"schema version": 2,
"api version": "1.2.193",
"comment": "from git branch: github-main commit: 129f6f69dcbc00184d771d2da969b4ed394ac80c",
"date": "2021-09-21 07:35:52Z"
"api version": "1.2.194",
"comment": "from git branch: github-main commit: a0960966d565bdfc6e853a0bc471e58fdbd374ef",
"date": "2021-09-28 12:49:58Z"
},
"validation": {
"vkGetInstanceProcAddr": {
@ -6284,7 +6284,7 @@
},
{
"vuid": "VUID-VkRenderPassCreateInfo-pNext-02515",
"text": " If the <code>pNext</code> chain includes a <a href=\"#VkRenderPassMultiviewCreateInfo\">VkRenderPassMultiviewCreateInfo</a> structure, and each element of its <code>pViewMasks</code> member is <code>0</code>, <code>correlatedViewMaskCount</code> <strong class=\"purple\">must</strong> be <code>0</code>"
"text": " If the <code>pNext</code> chain includes a <a href=\"#VkRenderPassMultiviewCreateInfo\">VkRenderPassMultiviewCreateInfo</a> structure, and each element of its <code>pViewMasks</code> member is <code>0</code>, its <code>correlationMaskCount</code> member <strong class=\"purple\">must</strong> be <code>0</code>"
}
]
},
@ -11529,6 +11529,36 @@
"text": " <code>allocationSize</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
}
],
"(VK_FUCHSIA_buffer_collection)": [
{
"vuid": "VUID-VkMemoryAllocateInfo-buffer-06380",
"text": " If the parameters define an import operation from an <a href=\"#VkBufferCollectionFUCHSIA\">VkBufferCollectionFUCHSIA</a>, and <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>buffer</code> is present and non-NULL, <a href=\"#VkImportMemoryBufferCollectionFUCHSIA\">VkImportMemoryBufferCollectionFUCHSIA</a>::<code>collection</code> and <a href=\"#VkImportMemoryBufferCollectionFUCHSIA\">VkImportMemoryBufferCollectionFUCHSIA</a>::<code>index</code> must match <a href=\"#VkBufferCollectionBufferCreateInfoFUCHSIA\">VkBufferCollectionBufferCreateInfoFUCHSIA</a>::<code>collection</code> and <a href=\"#VkBufferCollectionBufferCreateInfoFUCHSIA\">VkBufferCollectionBufferCreateInfoFUCHSIA</a>::<code>index</code>, respectively, of the <a href=\"#VkBufferCollectionBufferCreateInfoFUCHSIA\">VkBufferCollectionBufferCreateInfoFUCHSIA</a> structure used to create the <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>buffer</code>"
},
{
"vuid": "VUID-VkMemoryAllocateInfo-image-06381",
"text": " If the parameters define an import operation from an <a href=\"#VkBufferCollectionFUCHSIA\">VkBufferCollectionFUCHSIA</a>, and <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>image</code> is present and non-NULL, <a href=\"#VkImportMemoryBufferCollectionFUCHSIA\">VkImportMemoryBufferCollectionFUCHSIA</a>::<code>collection</code> and <a href=\"#VkImportMemoryBufferCollectionFUCHSIA\">VkImportMemoryBufferCollectionFUCHSIA</a>::<code>index</code> must match <a href=\"#VkBufferCollectionImageCreateInfoFUCHSIA\">VkBufferCollectionImageCreateInfoFUCHSIA</a>::<code>collection</code> and <a href=\"#VkBufferCollectionImageCreateInfoFUCHSIA\">VkBufferCollectionImageCreateInfoFUCHSIA</a>::<code>index</code>, respectively, of the <a href=\"#VkBufferCollectionImageCreateInfoFUCHSIA\">VkBufferCollectionImageCreateInfoFUCHSIA</a> structure used to create the <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>image</code>"
},
{
"vuid": "VUID-VkMemoryAllocateInfo-allocationSize-06382",
"text": " If the parameters define an import operation from an <a href=\"#VkBufferCollectionFUCHSIA\">VkBufferCollectionFUCHSIA</a>, <code>allocationSize</code> <strong class=\"purple\">must</strong> match <a href=\"#VkMemoryRequirements\">VkMemoryRequirements</a>::<code>size</code> value retrieved by <a href=\"#vkGetImageMemoryRequirements\">vkGetImageMemoryRequirements</a> or <a href=\"#vkGetBufferMemoryRequirements\">vkGetBufferMemoryRequirements</a> for image-based or buffer-based collections respectively"
},
{
"vuid": "VUID-VkMemoryAllocateInfo-pNext-06383",
"text": " If the parameters define an import operation from an <a href=\"#VkBufferCollectionFUCHSIA\">VkBufferCollectionFUCHSIA</a>, the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a> structure with either its <code>image</code> or <code>buffer</code> field set to a value other than <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>."
},
{
"vuid": "VUID-VkMemoryAllocateInfo-image-06384",
"text": " If the parameters define an import operation from an <a href=\"#VkBufferCollectionFUCHSIA\">VkBufferCollectionFUCHSIA</a> and <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>image</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, the <code>image</code> <strong class=\"purple\">must</strong> be created with a <a href=\"#VkBufferCollectionImageCreateInfoFUCHSIA\">VkBufferCollectionImageCreateInfoFUCHSIA</a> structure chained to its <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>pNext</code> pointer"
},
{
"vuid": "VUID-VkMemoryAllocateInfo-buffer-06385",
"text": " If the parameters define an import operation from an <a href=\"#VkBufferCollectionFUCHSIA\">VkBufferCollectionFUCHSIA</a> and <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>buffer</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, the <code>buffer</code> <strong class=\"purple\">must</strong> be created with a <a href=\"#VkBufferCollectionBufferCreateInfoFUCHSIA\">VkBufferCollectionBufferCreateInfoFUCHSIA</a> structure chained to its <a href=\"#VkBufferCreateInfo\">VkBufferCreateInfo</a>::<code>pNext</code> pointer"
},
{
"vuid": "VUID-VkMemoryAllocateInfo-memoryTypeIndex-06386",
"text": " If the parameters define an import operation from an <a href=\"#VkBufferCollectionFUCHSIA\">VkBufferCollectionFUCHSIA</a>, <code>memoryTypeIndex</code> <strong class=\"purple\">must</strong> be from <a href=\"#VkBufferCollectionPropertiesFUCHSIA\">VkBufferCollectionPropertiesFUCHSIA</a> as retrieved by <a href=\"#vkGetBufferCollectionPropertiesFUCHSIA\">vkGetBufferCollectionPropertiesFUCHSIA</a>."
}
],
"(VK_KHR_external_memory)+(VK_KHR_dedicated_allocation,VK_NV_dedicated_allocation)": [
{
"vuid": "VUID-VkMemoryAllocateInfo-pNext-00639",
@ -11692,7 +11722,7 @@
},
{
"vuid": "VUID-VkMemoryAllocateInfo-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=\"#VkDedicatedAllocationMemoryAllocateInfoNV\">VkDedicatedAllocationMemoryAllocateInfoNV</a>, <a href=\"#VkExportMemoryAllocateInfo\">VkExportMemoryAllocateInfo</a>, <a href=\"#VkExportMemoryAllocateInfoNV\">VkExportMemoryAllocateInfoNV</a>, <a href=\"#VkExportMemoryWin32HandleInfoKHR\">VkExportMemoryWin32HandleInfoKHR</a>, <a href=\"#VkExportMemoryWin32HandleInfoNV\">VkExportMemoryWin32HandleInfoNV</a>, <a href=\"#VkImportAndroidHardwareBufferInfoANDROID\">VkImportAndroidHardwareBufferInfoANDROID</a>, <a href=\"#VkImportMemoryFdInfoKHR\">VkImportMemoryFdInfoKHR</a>, <a href=\"#VkImportMemoryHostPointerInfoEXT\">VkImportMemoryHostPointerInfoEXT</a>, <a href=\"#VkImportMemoryWin32HandleInfoKHR\">VkImportMemoryWin32HandleInfoKHR</a>, <a href=\"#VkImportMemoryWin32HandleInfoNV\">VkImportMemoryWin32HandleInfoNV</a>, <a href=\"#VkImportMemoryZirconHandleInfoFUCHSIA\">VkImportMemoryZirconHandleInfoFUCHSIA</a>, <a href=\"#VkMemoryAllocateFlagsInfo\">VkMemoryAllocateFlagsInfo</a>, <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>, <a href=\"#VkMemoryOpaqueCaptureAddressAllocateInfo\">VkMemoryOpaqueCaptureAddressAllocateInfo</a>, or <a href=\"#VkMemoryPriorityAllocateInfoEXT\">VkMemoryPriorityAllocateInfoEXT</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=\"#VkDedicatedAllocationMemoryAllocateInfoNV\">VkDedicatedAllocationMemoryAllocateInfoNV</a>, <a href=\"#VkExportMemoryAllocateInfo\">VkExportMemoryAllocateInfo</a>, <a href=\"#VkExportMemoryAllocateInfoNV\">VkExportMemoryAllocateInfoNV</a>, <a href=\"#VkExportMemoryWin32HandleInfoKHR\">VkExportMemoryWin32HandleInfoKHR</a>, <a href=\"#VkExportMemoryWin32HandleInfoNV\">VkExportMemoryWin32HandleInfoNV</a>, <a href=\"#VkImportAndroidHardwareBufferInfoANDROID\">VkImportAndroidHardwareBufferInfoANDROID</a>, <a href=\"#VkImportMemoryBufferCollectionFUCHSIA\">VkImportMemoryBufferCollectionFUCHSIA</a>, <a href=\"#VkImportMemoryFdInfoKHR\">VkImportMemoryFdInfoKHR</a>, <a href=\"#VkImportMemoryHostPointerInfoEXT\">VkImportMemoryHostPointerInfoEXT</a>, <a href=\"#VkImportMemoryWin32HandleInfoKHR\">VkImportMemoryWin32HandleInfoKHR</a>, <a href=\"#VkImportMemoryWin32HandleInfoNV\">VkImportMemoryWin32HandleInfoNV</a>, <a href=\"#VkImportMemoryZirconHandleInfoFUCHSIA\">VkImportMemoryZirconHandleInfoFUCHSIA</a>, <a href=\"#VkMemoryAllocateFlagsInfo\">VkMemoryAllocateFlagsInfo</a>, <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>, <a href=\"#VkMemoryOpaqueCaptureAddressAllocateInfo\">VkMemoryOpaqueCaptureAddressAllocateInfo</a>, or <a href=\"#VkMemoryPriorityAllocateInfoEXT\">VkMemoryPriorityAllocateInfoEXT</a>"
},
{
"vuid": "VUID-VkMemoryAllocateInfo-sType-unique",
@ -12854,6 +12884,12 @@
"vuid": "VUID-vkCreateBuffer-pBuffer-parameter",
"text": " <code>pBuffer</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkBuffer\">VkBuffer</a> handle"
}
],
"(VK_FUCHSIA_buffer_collection)": [
{
"vuid": "VUID-vkCreateBuffer-pNext-06387",
"text": " If using the <a href=\"#VkBuffer\">VkBuffer</a> for an import operation from a <a href=\"#VkBufferCollectionFUCHSIA\">VkBufferCollectionFUCHSIA</a> where a <a href=\"#VkBufferCollectionBufferCreateInfoFUCHSIA\">VkBufferCollectionBufferCreateInfoFUCHSIA</a> has been chained to <code>pNext</code>, <code>pCreateInfo</code> <strong class=\"purple\">must</strong> match the <a href=\"#VkBufferConstraintsInfoFUCHSIA\">VkBufferConstraintsInfoFUCHSIA</a>::<code>createInfo</code> used when setting the constraints on the buffer collection with <a href=\"#vkSetBufferCollectionBufferConstraintsFUCHSIA\">vkSetBufferCollectionBufferConstraintsFUCHSIA</a>"
}
]
},
"VkBufferCreateInfo": {
@ -12892,7 +12928,7 @@
},
{
"vuid": "VUID-VkBufferCreateInfo-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=\"#VkBufferDeviceAddressCreateInfoEXT\">VkBufferDeviceAddressCreateInfoEXT</a>, <a href=\"#VkBufferOpaqueCaptureAddressCreateInfo\">VkBufferOpaqueCaptureAddressCreateInfo</a>, <a href=\"#VkDedicatedAllocationBufferCreateInfoNV\">VkDedicatedAllocationBufferCreateInfoNV</a>, <a href=\"#VkExternalMemoryBufferCreateInfo\">VkExternalMemoryBufferCreateInfo</a>, <a href=\"#VkVideoProfileKHR\">VkVideoProfileKHR</a>, or <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</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=\"#VkBufferCollectionBufferCreateInfoFUCHSIA\">VkBufferCollectionBufferCreateInfoFUCHSIA</a>, <a href=\"#VkBufferDeviceAddressCreateInfoEXT\">VkBufferDeviceAddressCreateInfoEXT</a>, <a href=\"#VkBufferOpaqueCaptureAddressCreateInfo\">VkBufferOpaqueCaptureAddressCreateInfo</a>, <a href=\"#VkDedicatedAllocationBufferCreateInfoNV\">VkDedicatedAllocationBufferCreateInfoNV</a>, <a href=\"#VkExternalMemoryBufferCreateInfo\">VkExternalMemoryBufferCreateInfo</a>, <a href=\"#VkVideoProfileKHR\">VkVideoProfileKHR</a>, or <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</a>"
},
{
"vuid": "VUID-VkBufferCreateInfo-sType-unique",
@ -13016,6 +13052,22 @@
}
]
},
"VkBufferCollectionBufferCreateInfoFUCHSIA": {
"(VK_FUCHSIA_buffer_collection)": [
{
"vuid": "VUID-VkBufferCollectionBufferCreateInfoFUCHSIA-index-06388",
"text": " <code>index</code> <strong class=\"purple\">must</strong> be less than <a href=\"#VkBufferCollectionPropertiesFUCHSIA\">VkBufferCollectionPropertiesFUCHSIA</a>::<code>bufferCount</code>"
},
{
"vuid": "VUID-VkBufferCollectionBufferCreateInfoFUCHSIA-sType-sType",
"text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA</code>"
},
{
"vuid": "VUID-VkBufferCollectionBufferCreateInfoFUCHSIA-collection-parameter",
"text": " <code>collection</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBufferCollectionFUCHSIA\">VkBufferCollectionFUCHSIA</a> handle"
}
]
},
"vkDestroyBuffer": {
"core": [
{
@ -13206,6 +13258,12 @@
"vuid": "VUID-vkCreateImage-pImage-parameter",
"text": " <code>pImage</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkImage\">VkImage</a> handle"
}
],
"(VK_FUCHSIA_buffer_collection)": [
{
"vuid": "VUID-vkCreateImage-pNext-06389",
"text": " If a <a href=\"#VkBufferCollectionImageCreateInfoFUCHSIA\">VkBufferCollectionImageCreateInfoFUCHSIA</a> has been chained to <code>pNext</code>, <code>pCreateInfo</code> <strong class=\"purple\">must</strong> match the <a href=\"#sysmem-chosen-create-infos\">Sysmem chosen <code>VkImageCreateInfo</code></a> excepting members <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>extent</code> and <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>usage</code> in the match criteria"
}
]
},
"VkImageCreateInfo": {
@ -13372,7 +13430,7 @@
},
{
"vuid": "VUID-VkImageCreateInfo-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=\"#VkDedicatedAllocationImageCreateInfoNV\">VkDedicatedAllocationImageCreateInfoNV</a>, <a href=\"#VkExternalFormatANDROID\">VkExternalFormatANDROID</a>, <a href=\"#VkExternalMemoryImageCreateInfo\">VkExternalMemoryImageCreateInfo</a>, <a href=\"#VkExternalMemoryImageCreateInfoNV\">VkExternalMemoryImageCreateInfoNV</a>, <a href=\"#VkImageDrmFormatModifierExplicitCreateInfoEXT\">VkImageDrmFormatModifierExplicitCreateInfoEXT</a>, <a href=\"#VkImageDrmFormatModifierListCreateInfoEXT\">VkImageDrmFormatModifierListCreateInfoEXT</a>, <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>, <a href=\"#VkImageStencilUsageCreateInfo\">VkImageStencilUsageCreateInfo</a>, <a href=\"#VkImageSwapchainCreateInfoKHR\">VkImageSwapchainCreateInfoKHR</a>, <a href=\"#VkVideoProfileKHR\">VkVideoProfileKHR</a>, or <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</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=\"#VkBufferCollectionImageCreateInfoFUCHSIA\">VkBufferCollectionImageCreateInfoFUCHSIA</a>, <a href=\"#VkDedicatedAllocationImageCreateInfoNV\">VkDedicatedAllocationImageCreateInfoNV</a>, <a href=\"#VkExternalFormatANDROID\">VkExternalFormatANDROID</a>, <a href=\"#VkExternalMemoryImageCreateInfo\">VkExternalMemoryImageCreateInfo</a>, <a href=\"#VkExternalMemoryImageCreateInfoNV\">VkExternalMemoryImageCreateInfoNV</a>, <a href=\"#VkImageDrmFormatModifierExplicitCreateInfoEXT\">VkImageDrmFormatModifierExplicitCreateInfoEXT</a>, <a href=\"#VkImageDrmFormatModifierListCreateInfoEXT\">VkImageDrmFormatModifierListCreateInfoEXT</a>, <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>, <a href=\"#VkImageStencilUsageCreateInfo\">VkImageStencilUsageCreateInfo</a>, <a href=\"#VkImageSwapchainCreateInfoKHR\">VkImageSwapchainCreateInfoKHR</a>, <a href=\"#VkVideoProfileKHR\">VkVideoProfileKHR</a>, or <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</a>"
},
{
"vuid": "VUID-VkImageCreateInfo-sType-unique",
@ -13720,6 +13778,28 @@
"vuid": "VUID-VkImageCreateInfo-usage-04816",
"text": " If <code>usage</code> includes <code>VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR</code>, <code>VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR</code>, <code>VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a valid <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</a> structure which includes at least one <a href=\"#VkVideoProfileKHR\">VkVideoProfileKHR</a> with a encode codec-operation"
}
],
"(VK_FUCHSIA_buffer_collection)": [
{
"vuid": "VUID-VkImageCreateInfo-pNext-06390",
"text": " If the <a href=\"#VkImage\">VkImage</a> is to be used to import memory from a <a href=\"#VkBufferCollectionFUCHSIA\">VkBufferCollectionFUCHSIA</a>, a <a href=\"#VkBufferCollectionImageCreateInfoFUCHSIA\">VkBufferCollectionImageCreateInfoFUCHSIA</a> structure <strong class=\"purple\">must</strong> be chained to <code>pNext</code>."
}
]
},
"VkBufferCollectionImageCreateInfoFUCHSIA": {
"(VK_FUCHSIA_buffer_collection)": [
{
"vuid": "VUID-VkBufferCollectionImageCreateInfoFUCHSIA-index-06391",
"text": " <code>index</code> <strong class=\"purple\">must</strong> be less than <a href=\"#VkBufferCollectionPropertiesFUCHSIA\">VkBufferCollectionPropertiesFUCHSIA</a>::<code>bufferCount</code>"
},
{
"vuid": "VUID-VkBufferCollectionImageCreateInfoFUCHSIA-sType-sType",
"text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA</code>"
},
{
"vuid": "VUID-VkBufferCollectionImageCreateInfoFUCHSIA-collection-parameter",
"text": " <code>collection</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBufferCollectionFUCHSIA\">VkBufferCollectionFUCHSIA</a> handle"
}
]
},
"VkImageStencilUsageCreateInfo": {
@ -15570,6 +15650,12 @@
"vuid": "VUID-vkBindBufferMemory-bufferDeviceAddress-03339",
"text": " If the <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeatures\">VkPhysicalDeviceBufferDeviceAddressFeatures</a>::<code>bufferDeviceAddress</code> feature is enabled and <code>buffer</code> was created with the <code>VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT</code> bit set, <code>memory</code> <strong class=\"purple\">must</strong> have been allocated with the <code>VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT</code> bit set"
}
],
"(VK_FUCHSIA_buffer_collection)": [
{
"vuid": "VUID-vkBindBufferMemory-buffer-06408",
"text": " If <code>buffer</code> was created with <a href=\"#VkBufferCollectionBufferCreateInfoFUCHSIA\">VkBufferCollectionBufferCreateInfoFUCHSIA</a> chained to <a href=\"#VkBufferCreateInfo\">VkBufferCreateInfo</a>::<code>pNext</code>, <code>memory</code> <strong class=\"purple\">must</strong> be allocated with a <a href=\"#VkImportMemoryBufferCollectionFUCHSIA\">VkImportMemoryBufferCollectionFUCHSIA</a> chained to <a href=\"#VkMemoryAllocateInfo\">VkMemoryAllocateInfo</a>::<code>pNext</code>"
}
]
},
"vkBindBufferMemory2": {
@ -15699,6 +15785,12 @@
"text": " If the <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeatures\">VkPhysicalDeviceBufferDeviceAddressFeatures</a>::<code>bufferDeviceAddress</code> feature is enabled and <code>buffer</code> was created with the <code>VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT</code> bit set, <code>memory</code> <strong class=\"purple\">must</strong> have been allocated with the <code>VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT</code> bit set"
}
],
"(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_FUCHSIA_buffer_collection)": [
{
"vuid": "VUID-VkBindBufferMemoryInfo-buffer-06408",
"text": " If <code>buffer</code> was created with <a href=\"#VkBufferCollectionBufferCreateInfoFUCHSIA\">VkBufferCollectionBufferCreateInfoFUCHSIA</a> chained to <a href=\"#VkBufferCreateInfo\">VkBufferCreateInfo</a>::<code>pNext</code>, <code>memory</code> <strong class=\"purple\">must</strong> be allocated with a <a href=\"#VkImportMemoryBufferCollectionFUCHSIA\">VkImportMemoryBufferCollectionFUCHSIA</a> chained to <a href=\"#VkMemoryAllocateInfo\">VkMemoryAllocateInfo</a>::<code>pNext</code>"
}
],
"(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)": [
{
"vuid": "VUID-VkBindBufferMemoryInfo-pNext-01605",
@ -15844,6 +15936,12 @@
"vuid": "VUID-vkBindImageMemory-image-01608",
"text": " <code>image</code> <strong class=\"purple\">must</strong> not have been created with the <code>VK_IMAGE_CREATE_DISJOINT_BIT</code> set"
}
],
"(VK_FUCHSIA_buffer_collection)": [
{
"vuid": "VUID-vkBindImageMemory-image-06392",
"text": " If <code>image</code> was created with <a href=\"#VkBufferCollectionImageCreateInfoFUCHSIA\">VkBufferCollectionImageCreateInfoFUCHSIA</a> chained to <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>pNext</code>, <code>memory</code> <strong class=\"purple\">must</strong> be allocated with a <a href=\"#VkImportMemoryBufferCollectionFUCHSIA\">VkImportMemoryBufferCollectionFUCHSIA</a> chained to <a href=\"#VkMemoryAllocateInfo\">VkMemoryAllocateInfo</a>::<code>pNext</code>"
}
]
},
"vkBindImageMemory2": {
@ -16146,6 +16244,344 @@
}
]
},
"vkCreateBufferCollectionFUCHSIA": {
"(VK_FUCHSIA_buffer_collection)": [
{
"vuid": "VUID-vkCreateBufferCollectionFUCHSIA-device-parameter",
"text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
},
{
"vuid": "VUID-vkCreateBufferCollectionFUCHSIA-pCreateInfo-parameter",
"text": " <code>pCreateInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkBufferCollectionCreateInfoFUCHSIA\">VkBufferCollectionCreateInfoFUCHSIA</a> structure"
},
{
"vuid": "VUID-vkCreateBufferCollectionFUCHSIA-pAllocator-parameter",
"text": " If <code>pAllocator</code> is not <code>NULL</code>, <code>pAllocator</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAllocationCallbacks\">VkAllocationCallbacks</a> structure"
},
{
"vuid": "VUID-vkCreateBufferCollectionFUCHSIA-pCollection-parameter",
"text": " <code>pCollection</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkBufferCollectionFUCHSIA\">VkBufferCollectionFUCHSIA</a> handle"
}
]
},
"VkBufferCollectionCreateInfoFUCHSIA": {
"(VK_FUCHSIA_buffer_collection)": [
{
"vuid": "VUID-VkBufferCollectionCreateInfoFUCHSIA-collectionToken-06393",
"text": " <code>collectionToken</code> <strong class=\"purple\">must</strong> be a valid <code>zx_handle_t</code> to a Zircon channel allocated from Sysmem (<code>fuchsia.sysmem.Allocator</code>/AllocateSharedCollection) with <code>ZX_DEFAULT_CHANNEL_RIGHTS</code> rights"
},
{
"vuid": "VUID-VkBufferCollectionCreateInfoFUCHSIA-sType-sType",
"text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA</code>"
},
{
"vuid": "VUID-VkBufferCollectionCreateInfoFUCHSIA-pNext-pNext",
"text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
}
]
},
"vkSetBufferCollectionImageConstraintsFUCHSIA": {
"(VK_FUCHSIA_buffer_collection)": [
{
"vuid": "VUID-vkSetBufferCollectionImageConstraintsFUCHSIA-collection-06394",
"text": " <code>vkSetBufferCollectionImageConstraintsFUCHSIA</code> or <code>vkSetBufferCollectionBufferConstraintsFUCHSIA</code> <strong class=\"purple\">must</strong> not have already been called on <code>collection</code>"
},
{
"vuid": "VUID-vkSetBufferCollectionImageConstraintsFUCHSIA-device-parameter",
"text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
},
{
"vuid": "VUID-vkSetBufferCollectionImageConstraintsFUCHSIA-collection-parameter",
"text": " <code>collection</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBufferCollectionFUCHSIA\">VkBufferCollectionFUCHSIA</a> handle"
},
{
"vuid": "VUID-vkSetBufferCollectionImageConstraintsFUCHSIA-pImageConstraintsInfo-parameter",
"text": " <code>pImageConstraintsInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkImageConstraintsInfoFUCHSIA\">VkImageConstraintsInfoFUCHSIA</a> structure"
},
{
"vuid": "VUID-vkSetBufferCollectionImageConstraintsFUCHSIA-collection-parent",
"text": " <code>collection</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
}
]
},
"VkImageConstraintsInfoFUCHSIA": {
"(VK_FUCHSIA_buffer_collection)": [
{
"vuid": "VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-06395",
"text": " All elements of <code>pFormatConstraints</code> <strong class=\"purple\">must</strong> have at least one bit set in its <a href=\"#VkImageFormatConstraintsInfoFUCHSIA\">VkImageFormatConstraintsInfoFUCHSIA</a>::<code>requiredFormatFeatures</code>"
},
{
"vuid": "VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-06396",
"text": " If <code>pFormatConstraints</code>::<code>imageCreateInfo</code>::<code>usage</code> contains <code>VK_IMAGE_USAGE_SAMPLED_BIT</code>, then <code>pFormatConstraints</code>::<code>requiredFormatFeatures</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT</code>"
},
{
"vuid": "VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-06397",
"text": " If <code>pFormatConstraints</code>::<code>imageCreateInfo</code>::<code>usage</code> contains <code>VK_IMAGE_USAGE_STORAGE_BIT</code>, then <code>pFormatConstraints</code>::<code>requiredFormatFeatures</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT</code>"
},
{
"vuid": "VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-06398",
"text": " If <code>pFormatConstraints</code>::<code>imageCreateInfo</code>::<code>usage</code> contains <code>VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT</code>, then <code>pFormatConstraints</code>::<code>requiredFormatFeatures</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT</code>"
},
{
"vuid": "VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-06399",
"text": " If <code>pFormatConstraints</code>::<code>imageCreateInfo</code>::<code>usage</code> contains <code>VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT</code>, then <code>pFormatConstraints</code>::<code>requiredFormatFeatures</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT</code>"
},
{
"vuid": "VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-06400",
"text": " If <code>pFormatConstraints</code>::<code>imageCreateInfo</code>::<code>usage</code> contains <code>VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT</code>, then <code>pFormatConstraints</code>::<code>requiredFormatFeatures</code> <strong class=\"purple\">must</strong> contain at least one of <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT</code> or <code>VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT</code>"
},
{
"vuid": "VUID-VkImageConstraintsInfoFUCHSIA-sType-sType",
"text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA</code>"
},
{
"vuid": "VUID-VkImageConstraintsInfoFUCHSIA-pNext-pNext",
"text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
},
{
"vuid": "VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-parameter",
"text": " <code>pFormatConstraints</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>formatConstraintsCount</code> valid <a href=\"#VkImageFormatConstraintsInfoFUCHSIA\">VkImageFormatConstraintsInfoFUCHSIA</a> structures"
},
{
"vuid": "VUID-VkImageConstraintsInfoFUCHSIA-bufferCollectionConstraints-parameter",
"text": " <code>bufferCollectionConstraints</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBufferCollectionConstraintsInfoFUCHSIA\">VkBufferCollectionConstraintsInfoFUCHSIA</a> structure"
},
{
"vuid": "VUID-VkImageConstraintsInfoFUCHSIA-flags-parameter",
"text": " <code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkImageConstraintsInfoFlagBitsFUCHSIA\">VkImageConstraintsInfoFlagBitsFUCHSIA</a> values"
},
{
"vuid": "VUID-VkImageConstraintsInfoFUCHSIA-formatConstraintsCount-arraylength",
"text": " <code>formatConstraintsCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
}
],
"(VK_FUCHSIA_buffer_collection)+(VK_KHR_fragment_shading_rate)": [
{
"vuid": "VUID-VkImageConstraintsInfoFUCHSIA-attachmentFragmentShadingRate-06401",
"text": " If the <a href=\"#features-attachmentFragmentShadingRate\"><code>attachmentFragmentShadingRate</code> feature</a> is enabled, and <code>pFormatConstraints</code>::<code>imageCreateInfo</code>::<code>usage</code> contains <code>VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR</code>, then <code>pFormatConstraints</code>::<code>requiredFormatFeatures</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR</code>"
}
]
},
"VkImageFormatConstraintsInfoFUCHSIA": {
"(VK_FUCHSIA_buffer_collection)": [
{
"vuid": "VUID-VkImageFormatConstraintsInfoFUCHSIA-sType-sType",
"text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA</code>"
},
{
"vuid": "VUID-VkImageFormatConstraintsInfoFUCHSIA-pNext-pNext",
"text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
},
{
"vuid": "VUID-VkImageFormatConstraintsInfoFUCHSIA-imageCreateInfo-parameter",
"text": " <code>imageCreateInfo</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> structure"
},
{
"vuid": "VUID-VkImageFormatConstraintsInfoFUCHSIA-requiredFormatFeatures-parameter",
"text": " <code>requiredFormatFeatures</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkFormatFeatureFlagBits\">VkFormatFeatureFlagBits</a> values"
},
{
"vuid": "VUID-VkImageFormatConstraintsInfoFUCHSIA-requiredFormatFeatures-requiredbitmask",
"text": " <code>requiredFormatFeatures</code> <strong class=\"purple\">must</strong> not be <code>0</code>"
},
{
"vuid": "VUID-VkImageFormatConstraintsInfoFUCHSIA-flags-zerobitmask",
"text": " <code>flags</code> <strong class=\"purple\">must</strong> be <code>0</code>"
},
{
"vuid": "VUID-VkImageFormatConstraintsInfoFUCHSIA-pColorSpaces-parameter",
"text": " <code>pColorSpaces</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkSysmemColorSpaceFUCHSIA\">VkSysmemColorSpaceFUCHSIA</a> structure"
}
]
},
"VkBufferCollectionConstraintsInfoFUCHSIA": {
"(VK_FUCHSIA_buffer_collection)": [
{
"vuid": "VUID-VkBufferCollectionConstraintsInfoFUCHSIA-sType-sType",
"text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA</code>"
},
{
"vuid": "VUID-VkBufferCollectionConstraintsInfoFUCHSIA-pNext-pNext",
"text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
}
]
},
"VkSysmemColorSpaceFUCHSIA": {
"(VK_FUCHSIA_buffer_collection)": [
{
"vuid": "VUID-VkSysmemColorSpaceFUCHSIA-colorSpace-06402",
"text": " <code>colorSpace</code> <strong class=\"purple\">must</strong> be a <code>ColorSpaceType</code> as defined in <code>fuchsia.sysmem/image_formats.fidl</code>"
},
{
"vuid": "VUID-VkSysmemColorSpaceFUCHSIA-sType-sType",
"text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA</code>"
},
{
"vuid": "VUID-VkSysmemColorSpaceFUCHSIA-pNext-pNext",
"text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
}
]
},
"vkSetBufferCollectionBufferConstraintsFUCHSIA": {
"(VK_FUCHSIA_buffer_collection)": [
{
"vuid": "VUID-vkSetBufferCollectionBufferConstraintsFUCHSIA-collection-06403",
"text": " <code>vkSetBufferCollectionImageConstraintsFUCHSIA</code> or <code>vkSetBufferCollectionBufferConstraintsFUCHSIA</code> <strong class=\"purple\">must</strong> not have already been called on <code>collection</code>"
},
{
"vuid": "VUID-vkSetBufferCollectionBufferConstraintsFUCHSIA-device-parameter",
"text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
},
{
"vuid": "VUID-vkSetBufferCollectionBufferConstraintsFUCHSIA-collection-parameter",
"text": " <code>collection</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBufferCollectionFUCHSIA\">VkBufferCollectionFUCHSIA</a> handle"
},
{
"vuid": "VUID-vkSetBufferCollectionBufferConstraintsFUCHSIA-pBufferConstraintsInfo-parameter",
"text": " <code>pBufferConstraintsInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkBufferConstraintsInfoFUCHSIA\">VkBufferConstraintsInfoFUCHSIA</a> structure"
},
{
"vuid": "VUID-vkSetBufferCollectionBufferConstraintsFUCHSIA-collection-parent",
"text": " <code>collection</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
}
]
},
"VkBufferConstraintsInfoFUCHSIA": {
"(VK_FUCHSIA_buffer_collection)": [
{
"vuid": "VUID-VkBufferConstraintsInfoFUCHSIA-requiredFormatFeatures-06404",
"text": " The <code>requiredFormatFeatures</code> bitmask of <code>VkFormatFeatureFlagBits</code> <strong class=\"purple\">must</strong> be chosen from among the buffer compatible format features listed in <a href=\"#buffer-compatible-format-features\">buffer compatible format features</a>"
},
{
"vuid": "VUID-VkBufferConstraintsInfoFUCHSIA-sType-sType",
"text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA</code>"
},
{
"vuid": "VUID-VkBufferConstraintsInfoFUCHSIA-pNext-pNext",
"text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
},
{
"vuid": "VUID-VkBufferConstraintsInfoFUCHSIA-createInfo-parameter",
"text": " <code>createInfo</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBufferCreateInfo\">VkBufferCreateInfo</a> structure"
},
{
"vuid": "VUID-VkBufferConstraintsInfoFUCHSIA-requiredFormatFeatures-parameter",
"text": " <code>requiredFormatFeatures</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkFormatFeatureFlagBits\">VkFormatFeatureFlagBits</a> values"
},
{
"vuid": "VUID-VkBufferConstraintsInfoFUCHSIA-bufferCollectionConstraints-parameter",
"text": " <code>bufferCollectionConstraints</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBufferCollectionConstraintsInfoFUCHSIA\">VkBufferCollectionConstraintsInfoFUCHSIA</a> structure"
}
]
},
"vkGetBufferCollectionPropertiesFUCHSIA": {
"(VK_FUCHSIA_buffer_collection)": [
{
"vuid": "VUID-vkGetBufferCollectionPropertiesFUCHSIA-None-06405",
"text": " Prior to calling <a href=\"#vkGetBufferCollectionPropertiesFUCHSIA\">vkGetBufferCollectionPropertiesFUCHSIA</a>, the constraints on the buffer collection <strong class=\"purple\">must</strong> have been set by either <a href=\"#vkSetBufferCollectionImageConstraintsFUCHSIA\">vkSetBufferCollectionImageConstraintsFUCHSIA</a> or <a href=\"#vkSetBufferCollectionBufferConstraintsFUCHSIA\">vkSetBufferCollectionBufferConstraintsFUCHSIA</a>."
},
{
"vuid": "VUID-vkGetBufferCollectionPropertiesFUCHSIA-device-parameter",
"text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
},
{
"vuid": "VUID-vkGetBufferCollectionPropertiesFUCHSIA-collection-parameter",
"text": " <code>collection</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBufferCollectionFUCHSIA\">VkBufferCollectionFUCHSIA</a> handle"
},
{
"vuid": "VUID-vkGetBufferCollectionPropertiesFUCHSIA-pProperties-parameter",
"text": " <code>pProperties</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkBufferCollectionPropertiesFUCHSIA\">VkBufferCollectionPropertiesFUCHSIA</a> structure"
},
{
"vuid": "VUID-vkGetBufferCollectionPropertiesFUCHSIA-collection-parent",
"text": " <code>collection</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
}
]
},
"VkBufferCollectionPropertiesFUCHSIA": {
"(VK_FUCHSIA_buffer_collection)": [
{
"vuid": "VUID-VkBufferCollectionPropertiesFUCHSIA-sType-sType",
"text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA</code>"
},
{
"vuid": "VUID-VkBufferCollectionPropertiesFUCHSIA-pNext-pNext",
"text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
},
{
"vuid": "VUID-VkBufferCollectionPropertiesFUCHSIA-formatFeatures-parameter",
"text": " <code>formatFeatures</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkFormatFeatureFlagBits\">VkFormatFeatureFlagBits</a> values"
},
{
"vuid": "VUID-VkBufferCollectionPropertiesFUCHSIA-formatFeatures-requiredbitmask",
"text": " <code>formatFeatures</code> <strong class=\"purple\">must</strong> not be <code>0</code>"
},
{
"vuid": "VUID-VkBufferCollectionPropertiesFUCHSIA-sysmemColorSpaceIndex-parameter",
"text": " <code>sysmemColorSpaceIndex</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkSysmemColorSpaceFUCHSIA\">VkSysmemColorSpaceFUCHSIA</a> structure"
},
{
"vuid": "VUID-VkBufferCollectionPropertiesFUCHSIA-samplerYcbcrConversionComponents-parameter",
"text": " <code>samplerYcbcrConversionComponents</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkComponentMapping\">VkComponentMapping</a> structure"
},
{
"vuid": "VUID-VkBufferCollectionPropertiesFUCHSIA-suggestedYcbcrModel-parameter",
"text": " <code>suggestedYcbcrModel</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkSamplerYcbcrModelConversion\">VkSamplerYcbcrModelConversion</a> value"
},
{
"vuid": "VUID-VkBufferCollectionPropertiesFUCHSIA-suggestedYcbcrRange-parameter",
"text": " <code>suggestedYcbcrRange</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkSamplerYcbcrRange\">VkSamplerYcbcrRange</a> value"
},
{
"vuid": "VUID-VkBufferCollectionPropertiesFUCHSIA-suggestedXChromaOffset-parameter",
"text": " <code>suggestedXChromaOffset</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkChromaLocation\">VkChromaLocation</a> value"
},
{
"vuid": "VUID-VkBufferCollectionPropertiesFUCHSIA-suggestedYChromaOffset-parameter",
"text": " <code>suggestedYChromaOffset</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkChromaLocation\">VkChromaLocation</a> value"
}
]
},
"VkImportMemoryBufferCollectionFUCHSIA": {
"(VK_FUCHSIA_buffer_collection)": [
{
"vuid": "VUID-VkImportMemoryBufferCollectionFUCHSIA-index-06406",
"text": " <code>index</code> <strong class=\"purple\">must</strong> be less than the value retrieved as <a href=\"#VkBufferCollectionPropertiesFUCHSIA\">VkBufferCollectionPropertiesFUCHSIA</a>:bufferCount"
},
{
"vuid": "VUID-VkImportMemoryBufferCollectionFUCHSIA-sType-sType",
"text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA</code>"
},
{
"vuid": "VUID-VkImportMemoryBufferCollectionFUCHSIA-collection-parameter",
"text": " <code>collection</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBufferCollectionFUCHSIA\">VkBufferCollectionFUCHSIA</a> handle"
}
]
},
"vkDestroyBufferCollectionFUCHSIA": {
"(VK_FUCHSIA_buffer_collection)": [
{
"vuid": "VUID-vkDestroyBufferCollectionFUCHSIA-collection-06407",
"text": " <a href=\"#VkImage\">VkImage</a> and <a href=\"#VkBuffer\">VkBuffer</a> objects that referenced <code>collection</code> upon creation by inclusion of a <a href=\"#VkBufferCollectionImageCreateInfoFUCHSIA\">VkBufferCollectionImageCreateInfoFUCHSIA</a> or <a href=\"#VkBufferCollectionBufferCreateInfoFUCHSIA\">VkBufferCollectionBufferCreateInfoFUCHSIA</a> chained to their <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> or <a href=\"#VkBufferCreateInfo\">VkBufferCreateInfo</a> structures respectively, <strong class=\"purple\">may</strong> outlive <code>collection</code>."
},
{
"vuid": "VUID-vkDestroyBufferCollectionFUCHSIA-device-parameter",
"text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
},
{
"vuid": "VUID-vkDestroyBufferCollectionFUCHSIA-collection-parameter",
"text": " <code>collection</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBufferCollectionFUCHSIA\">VkBufferCollectionFUCHSIA</a> handle"
},
{
"vuid": "VUID-vkDestroyBufferCollectionFUCHSIA-pAllocator-parameter",
"text": " If <code>pAllocator</code> is not <code>NULL</code>, <code>pAllocator</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAllocationCallbacks\">VkAllocationCallbacks</a> structure"
},
{
"vuid": "VUID-vkDestroyBufferCollectionFUCHSIA-collection-parent",
"text": " <code>collection</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
}
]
},
"vkCreateSampler": {
"core": [
{
@ -31174,26 +31610,6 @@
}
]
},
"vkCmdSetDepthBias": {
"core": [
{
"vuid": "VUID-vkCmdSetDepthBias-depthBiasClamp-00790",
"text": " If the <a href=\"#features-depthBiasClamp\">depth bias clamping</a> feature is not enabled, <code>depthBiasClamp</code> <strong class=\"purple\">must</strong> be <code>0.0</code>"
},
{
"vuid": "VUID-vkCmdSetDepthBias-commandBuffer-parameter",
"text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
},
{
"vuid": "VUID-vkCmdSetDepthBias-commandBuffer-recording",
"text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
},
{
"vuid": "VUID-vkCmdSetDepthBias-commandBuffer-cmdpool",
"text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics operations"
}
]
},
"vkCmdSetDepthBiasEnableEXT": {
"(VK_EXT_extended_dynamic_state2)": [
{
@ -31214,6 +31630,26 @@
}
]
},
"vkCmdSetDepthBias": {
"core": [
{
"vuid": "VUID-vkCmdSetDepthBias-depthBiasClamp-00790",
"text": " If the <a href=\"#features-depthBiasClamp\">depth bias clamping</a> feature is not enabled, <code>depthBiasClamp</code> <strong class=\"purple\">must</strong> be <code>0.0</code>"
},
{
"vuid": "VUID-vkCmdSetDepthBias-commandBuffer-parameter",
"text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
},
{
"vuid": "VUID-vkCmdSetDepthBias-commandBuffer-recording",
"text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
},
{
"vuid": "VUID-vkCmdSetDepthBias-commandBuffer-cmdpool",
"text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics operations"
}
]
},
"VkPipelineRasterizationConservativeStateCreateInfoEXT": {
"(VK_EXT_conservative_rasterization)": [
{

View file

@ -155,7 +155,7 @@ branch of the member gitlab server.
<type category="define" requires="VK_MAKE_API_VERSION">// Vulkan 1.2 version number
#define <name>VK_API_VERSION_1_2</name> <type>VK_MAKE_API_VERSION</type>(0, 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> 193</type>
#define <name>VK_HEADER_VERSION</name> 194</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, 2, VK_HEADER_VERSION)</type>
@ -382,6 +382,8 @@ typedef void <name>CAMetalLayer</name>;
<type requires="VkSwapchainImageUsageFlagBitsANDROID" category="bitmask">typedef <type>VkFlags</type> <name>VkSwapchainImageUsageFlagsANDROID</name>;</type>
<type requires="VkToolPurposeFlagBitsEXT" category="bitmask">typedef <type>VkFlags</type> <name>VkToolPurposeFlagsEXT</name>;</type>
<type requires="VkSubmitFlagBitsKHR" category="bitmask">typedef <type>VkFlags</type> <name>VkSubmitFlagsKHR</name>;</type>
<type requires="VkImageFormatConstraintsFlagBitsFUCHSIA" category="bitmask">typedef <type>VkFlags</type> <name>VkImageFormatConstraintsFlagsFUCHSIA</name>;</type>
<type requires="VkImageConstraintsInfoFlagBitsFUCHSIA" category="bitmask">typedef <type>VkFlags</type> <name>VkImageConstraintsInfoFlagsFUCHSIA</name>;</type>
<comment>Video Core extension</comment>
<type requires="VkVideoCodecOperationFlagBitsKHR" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoCodecOperationFlagsKHR</name>;</type>
@ -450,6 +452,7 @@ typedef void <name>CAMetalLayer</name>;
<type category="handle" parent="VkDevice" objtypeenum="VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkAccelerationStructureKHR</name>)</type>
<type category="handle" parent="VkDevice" objtypeenum="VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkAccelerationStructureNV</name>)</type>
<type category="handle" parent="VkDevice" objtypeenum="VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkPerformanceConfigurationINTEL</name>)</type>
<type category="handle" parent="VkDevice" objtypeenum="VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkBufferCollectionFUCHSIA</name>)</type>
<type category="handle" parent="VkDevice" objtypeenum="VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkDeferredOperationKHR</name>)</type>
<type category="handle" parent="VkDevice" objtypeenum="VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkPrivateDataSlotEXT</name>)</type>
<type category="handle" parent="VkDevice" objtypeenum="VK_OBJECT_TYPE_CU_MODULE_NVX"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkCuModuleNVX</name>)</type>
@ -622,6 +625,8 @@ typedef void <name>CAMetalLayer</name>;
<type name="VkAccessFlagBits2KHR" category="enum"/>
<type name="VkPipelineStageFlagBits2KHR" category="enum"/>
<type name="VkProvokingVertexModeEXT" category="enum"/>
<type name="VkImageFormatConstraintsFlagBitsFUCHSIA" category="enum"/>
<type name="VkImageConstraintsInfoFlagBitsFUCHSIA" category="enum"/>
<comment>WSI extensions</comment>
<type name="VkColorSpaceKHR" category="enum"/>
@ -5967,7 +5972,7 @@ typedef void <name>CAMetalLayer</name>;
<member values="VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member><type>size_t</type> <name>dataSize</name></member>
<member>const <type>void</type>* <name>pData</name></member>
<member len="dataSize">const <type>void</type>* <name>pData</name></member>
</type>
<type category="struct" name="VkCuFunctionCreateInfoNVX">
<member values="VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX"><type>VkStructureType</type> <name>sType</name></member>
@ -6113,6 +6118,83 @@ typedef void <name>CAMetalLayer</name>;
<member><type>VkDeviceMemory</type> <name>memory</name></member>
<member><type>VkExternalMemoryHandleTypeFlagBits</type> <name>handleType</name></member>
</type>
<type category="struct" name="VkImportMemoryBufferCollectionFUCHSIA" structextends="VkMemoryAllocateInfo">
<member values="VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member><type>VkBufferCollectionFUCHSIA</type> <name>collection</name></member>
<member><type>uint32_t</type> <name>index</name></member>
</type>
<type category="struct" name="VkBufferCollectionImageCreateInfoFUCHSIA" structextends="VkImageCreateInfo">
<member values="VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member><type>VkBufferCollectionFUCHSIA</type> <name>collection</name></member>
<member><type>uint32_t</type> <name>index</name></member>
</type>
<type category="struct" name="VkBufferCollectionBufferCreateInfoFUCHSIA" structextends="VkBufferCreateInfo">
<member values="VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member><type>VkBufferCollectionFUCHSIA</type> <name>collection</name></member>
<member><type>uint32_t</type> <name>index</name></member>
</type>
<type category="struct" name="VkBufferCollectionCreateInfoFUCHSIA">
<member values="VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member><type>zx_handle_t</type> <name>collectionToken</name></member>
</type>
<type category="struct" name="VkBufferCollectionPropertiesFUCHSIA">
<member values="VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
<member><type>uint32_t</type> <name>memoryTypeBits</name></member>
<member><type>uint32_t</type> <name>bufferCount</name></member>
<member><type>uint32_t</type> <name>createInfoIndex</name></member>
<member><type>uint64_t</type> <name>sysmemPixelFormat</name></member>
<member><type>VkFormatFeatureFlags</type> <name>formatFeatures</name></member>
<member><type>VkSysmemColorSpaceFUCHSIA</type> <name>sysmemColorSpaceIndex</name></member>
<member><type>VkComponentMapping</type> <name>samplerYcbcrConversionComponents</name></member>
<member><type>VkSamplerYcbcrModelConversion</type> <name>suggestedYcbcrModel</name></member>
<member><type>VkSamplerYcbcrRange</type> <name>suggestedYcbcrRange</name></member>
<member><type>VkChromaLocation</type> <name>suggestedXChromaOffset</name></member>
<member><type>VkChromaLocation</type> <name>suggestedYChromaOffset</name></member>
</type>
<type category="struct" name="VkBufferConstraintsInfoFUCHSIA">
<member values="VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member><type>VkBufferCreateInfo</type> <name>createInfo</name></member>
<member optional="true"><type>VkFormatFeatureFlags</type> <name>requiredFormatFeatures</name></member>
<member><type>VkBufferCollectionConstraintsInfoFUCHSIA</type> <name>bufferCollectionConstraints</name></member>
</type>
<type category="struct" name="VkSysmemColorSpaceFUCHSIA">
<member values="VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member><type>uint32_t</type> <name>colorSpace</name></member>
</type>
<type category="struct" name="VkImageFormatConstraintsInfoFUCHSIA">
<member values="VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member><type>VkImageCreateInfo</type> <name>imageCreateInfo</name></member>
<member><type>VkFormatFeatureFlags</type> <name>requiredFormatFeatures</name></member>
<member optional="true"><type>VkImageFormatConstraintsFlagsFUCHSIA</type> <name>flags</name></member>
<member optional="true"><type>uint64_t</type> <name>sysmemPixelFormat</name></member>
<member><type>uint32_t</type> <name>colorSpaceCount</name></member>
<member>const <type>VkSysmemColorSpaceFUCHSIA</type>* <name>pColorSpaces</name></member>
</type>
<type category="struct" name="VkImageConstraintsInfoFUCHSIA">
<member values="VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member><type>uint32_t</type> <name>formatConstraintsCount</name></member>
<member len="formatConstraintsCount">const <type>VkImageFormatConstraintsInfoFUCHSIA</type>* <name>pFormatConstraints</name></member>
<member><type>VkBufferCollectionConstraintsInfoFUCHSIA</type> <name>bufferCollectionConstraints</name></member>
<member optional="true"><type>VkImageConstraintsInfoFlagsFUCHSIA</type> <name>flags</name></member>
</type>
<type category="struct" name="VkBufferCollectionConstraintsInfoFUCHSIA">
<member values="VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member><type>uint32_t</type> <name>minBufferCount</name></member>
<member><type>uint32_t</type> <name>maxBufferCount</name></member>
<member><type>uint32_t</type> <name>minBufferCountForCamping</name></member>
<member><type>uint32_t</type> <name>minBufferCountForDedicatedSlack</name></member>
<member><type>uint32_t</type> <name>minBufferCountForSharedSlack</name></member>
</type>
</types>
<comment>Vulkan enumerant (token) definitions</comment>
@ -7693,6 +7775,15 @@ typedef void <name>CAMetalLayer</name>;
<enum value="0" name="VK_VIDEO_ENCODE_H264_CREATE_DEFAULT_EXT"/>
<enum bitpos="0" name="VK_VIDEO_ENCODE_H264_CREATE_RESERVED_0_BIT_EXT"/>
</enums>
<enums name="VkImageFormatConstraintsFlagBitsFUCHSIA" type="bitmask">
</enums>
<enums name="VkImageConstraintsInfoFlagBitsFUCHSIA" type="bitmask">
<enum bitpos="0" name="VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA"/>
<enum bitpos="1" name="VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA"/>
<enum bitpos="2" name="VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA"/>
<enum bitpos="3" name="VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA"/>
<enum bitpos="4" name="VK_IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA"/>
</enums>
<commands comment="Vulkan command definitions">
<command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_INITIALIZATION_FAILED,VK_ERROR_LAYER_NOT_PRESENT,VK_ERROR_EXTENSION_NOT_PRESENT,VK_ERROR_INCOMPATIBLE_DRIVER">
@ -10753,6 +10844,37 @@ typedef void <name>CAMetalLayer</name>;
<param><type>uint64_t</type> <name>presentId</name></param>
<param><type>uint64_t</type> <name>timeout</name></param>
</command>
<command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_INVALID_EXTERNAL_HANDLE,VK_ERROR_INITIALIZATION_FAILED">
<proto><type>VkResult</type> <name>vkCreateBufferCollectionFUCHSIA</name></proto>
<param><type>VkDevice</type> <name>device</name></param>
<param>const <type>VkBufferCollectionCreateInfoFUCHSIA</type>* <name>pCreateInfo</name></param>
<param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param>
<param><type>VkBufferCollectionFUCHSIA</type>* <name>pCollection</name></param>
</command>
<command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_INITIALIZATION_FAILED,VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_FORMAT_NOT_SUPPORTED">
<proto><type>VkResult</type> <name>vkSetBufferCollectionBufferConstraintsFUCHSIA</name></proto>
<param><type>VkDevice</type> <name>device</name></param>
<param><type>VkBufferCollectionFUCHSIA</type> <name>collection</name></param>
<param>const <type>VkBufferConstraintsInfoFUCHSIA</type>* <name>pBufferConstraintsInfo</name></param>
</command>
<command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_INITIALIZATION_FAILED,VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_FORMAT_NOT_SUPPORTED">
<proto><type>VkResult</type> <name>vkSetBufferCollectionImageConstraintsFUCHSIA</name></proto>
<param><type>VkDevice</type> <name>device</name></param>
<param><type>VkBufferCollectionFUCHSIA</type> <name>collection</name></param>
<param>const <type>VkImageConstraintsInfoFUCHSIA</type>* <name>pImageConstraintsInfo</name></param>
</command>
<command>
<proto><type>void</type> <name>vkDestroyBufferCollectionFUCHSIA</name></proto>
<param><type>VkDevice</type> <name>device</name></param>
<param><type>VkBufferCollectionFUCHSIA</type> <name>collection</name></param>
<param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param>
</command>
<command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_INITIALIZATION_FAILED">
<proto><type>VkResult</type> <name>vkGetBufferCollectionPropertiesFUCHSIA</name></proto>
<param><type>VkDevice</type> <name>device</name></param>
<param><type>VkBufferCollectionFUCHSIA</type> <name>collection</name></param>
<param><type>VkBufferCollectionPropertiesFUCHSIA</type>* <name>pProperties</name></param>
</command>
</commands>
<feature api="vulkan" name="VK_VERSION_1_0" number="1.0" comment="Vulkan core API interface definitions">
@ -12257,7 +12379,7 @@ typedef void <name>CAMetalLayer</name>;
<type name="VkPipelineRasterizationStateStreamCreateFlagsEXT"/>
</require>
</extension>
<extension name="VK_NVX_binary_import" number="30" type="device" author="NVX" contact="Eric Werness @ewerness,Liam Middlebrook @liam-middlebrook" supported="vulkan">
<extension name="VK_NVX_binary_import" number="30" type="device" author="NVX" contact="Eric Werness @ewerness-nv,Liam Middlebrook @liam-middlebrook" supported="vulkan">
<require>
<enum value="1" name="VK_NVX_BINARY_IMPORT_SPEC_VERSION"/>
<enum value="&quot;VK_NVX_binary_import&quot;" name="VK_NVX_BINARY_IMPORT_EXTENSION_NAME"/>
@ -12280,7 +12402,7 @@ typedef void <name>CAMetalLayer</name>;
<command name="vkCmdCuLaunchKernelNVX"/>
</require>
</extension>
<extension name="VK_NVX_image_view_handle" number="31" type="device" author="NVX" contact="Eric Werness @ewerness" supported="vulkan">
<extension name="VK_NVX_image_view_handle" number="31" type="device" author="NVX" contact="Eric Werness @ewerness-nv" supported="vulkan">
<require>
<enum value="2" name="VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION"/>
<enum value="&quot;VK_NVX_image_view_handle&quot;" name="VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME"/>
@ -14173,7 +14295,7 @@ typedef void <name>CAMetalLayer</name>;
<command name="vkCmdSetCoarseSampleOrderNV"/>
</require>
</extension>
<extension name="VK_NV_ray_tracing" number="166" type="device" requires="VK_KHR_get_physical_device_properties2,VK_KHR_get_memory_requirements2" author="NV" contact="Eric Werness @ewerness" supported="vulkan">
<extension name="VK_NV_ray_tracing" number="166" type="device" requires="VK_KHR_get_physical_device_properties2,VK_KHR_get_memory_requirements2" author="NV" contact="Eric Werness @ewerness-nv" supported="vulkan">
<require>
<enum value="3" name="VK_NV_RAY_TRACING_SPEC_VERSION"/>
<enum value="&quot;VK_NV_ray_tracing&quot;" name="VK_NV_RAY_TRACING_EXTENSION_NAME"/>
@ -15435,8 +15557,12 @@ typedef void <name>CAMetalLayer</name>;
<type name="VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT"/>
</require>
</extension>
<extension name="VK_NV_device_generated_commands" number="278" type="device" requiresCore="1.1" author="NV" contact="Christoph Kubisch @pixeljetstream" supported="vulkan">
<extension name="VK_NV_device_generated_commands" number="278" type="device" requiresCore="1.1" requires="VK_KHR_buffer_device_address" author="NV" contact="Christoph Kubisch @pixeljetstream" supported="vulkan">
<require>
<comment>
This extension requires buffer_device_address functionality.
VK_EXT_buffer_device_address is also acceptable, but since it is deprecated the KHR version is preferred.
</comment>
<enum value="3" name="VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION"/>
<enum value="&quot;VK_NV_device_generated_commands&quot;" name="VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME"/>
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV"/>
@ -16366,10 +16492,42 @@ typedef void <name>CAMetalLayer</name>;
<command name="vkGetSemaphoreZirconHandleFUCHSIA"/>
</require>
</extension>
<extension name="VK_FUCHSIA_extension_367" number="367" author="FUCHSIA" contact="Craig Stout @cdotstout" supported="disabled">
<extension name="VK_FUCHSIA_buffer_collection" number="367" type="device" requires="VK_FUCHSIA_external_memory,VK_KHR_sampler_ycbcr_conversion" author="FUCHSIA" contact="John Rosasco @rosasco" supported="vulkan" platform="fuchsia">
<require>
<enum value="0" name="VK_FUCHSIA_EXTENSION_367_SPEC_VERSION"/>
<enum value="&quot;VK_FUCHSIA_extension_367&quot;" name="VK_FUCHSIA_EXTENSION_367_EXTENSION_NAME"/>
<enum value="2" name="VK_FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION"/>
<enum value="&quot;VK_FUCHSIA_buffer_collection&quot;" name="VK_FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME"/>
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA"/>
<enum offset="0" extends="VkObjectType" name="VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA" comment="VkBufferCollectionFUCHSIA"/>
<enum offset="0" extends="VkDebugReportObjectTypeEXT" name="VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT"/>
<enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA"/>
<enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA"/>
<enum offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA"/>
<enum offset="4" extends="VkStructureType" name="VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA"/>
<enum offset="5" extends="VkStructureType" name="VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA"/>
<enum offset="6" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA"/>
<enum offset="7" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA"/>
<enum offset="8" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA"/>
<enum offset="9" extends="VkStructureType" name="VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA"/>
<type name="VkBufferCollectionFUCHSIA"/>
<type name="VkBufferCollectionCreateInfoFUCHSIA"/>
<type name="VkImportMemoryBufferCollectionFUCHSIA"/>
<type name="VkBufferCollectionImageCreateInfoFUCHSIA"/>
<type name="VkBufferConstraintsInfoFUCHSIA"/>
<type name="VkBufferCollectionBufferCreateInfoFUCHSIA"/>
<type name="VkBufferCollectionPropertiesFUCHSIA"/>
<type name="VkImageFormatConstraintsFlagBitsFUCHSIA"/>
<type name="VkImageFormatConstraintsFlagsFUCHSIA"/>
<type name="VkSysmemColorSpaceFUCHSIA"/>
<type name="VkImageConstraintsInfoFlagBitsFUCHSIA"/>
<type name="VkImageConstraintsInfoFlagsFUCHSIA"/>
<type name="VkImageConstraintsInfoFUCHSIA"/>
<type name="VkImageFormatConstraintsInfoFUCHSIA"/>
<type name="VkBufferCollectionConstraintsInfoFUCHSIA"/>
<command name="vkCreateBufferCollectionFUCHSIA"/>
<command name="vkSetBufferCollectionImageConstraintsFUCHSIA"/>
<command name="vkSetBufferCollectionBufferConstraintsFUCHSIA"/>
<command name="vkDestroyBufferCollectionFUCHSIA"/>
<command name="vkGetBufferCollectionPropertiesFUCHSIA"/>
</require>
</extension>
<extension name="VK_FUCHSIA_extension_368" number="368" author="FUCHSIA" contact="Craig Stout @cdotstout" supported="disabled">
@ -16802,6 +16960,30 @@ typedef void <name>CAMetalLayer</name>;
<enum bitpos="15" extends="VkImageCreateFlagBits" name="VK_IMAGE_CREATE_RESERVED_426_BIT_QCOM"/>
</require>
</extension>
<extension name="VK_NV_extension_427" number="427" author="NV" contact="Vikram Kushwaha @vkushwaha-nv" supported="disabled">
<require>
<enum value="0" name="VK_NV_EXTENSION_427_SPEC_VERSION"/>
<enum value="&quot;VK_NV_extension_427&quot;" name="VK_NV_EXTENSION_427_EXTENSION_NAME"/>
</require>
</extension>
<extension name="VK_NV_extension_428" number="428" author="NV" contact="Vikram Kushwaha @vkushwaha-nv" supported="disabled">
<require>
<enum value="0" name="VK_NV_EXTENSION_428_SPEC_VERSION"/>
<enum value="&quot;VK_NV_extension_428&quot;" name="VK_NV_EXTENSION_428_EXTENSION_NAME"/>
</require>
</extension>
<extension name="VK_NV_extension_429" number="429" author="NV" contact="Vikram Kushwaha @vkushwaha-nv" supported="disabled">
<require>
<enum value="0" name="VK_NV_EXTENSION_429_SPEC_VERSION"/>
<enum value="&quot;VK_NV_extension_429&quot;" name="VK_NV_EXTENSION_429_EXTENSION_NAME"/>
</require>
</extension>
<extension name="VK_NV_extension_430" number="430" author="NV" contact="Vikram Kushwaha @vkushwaha-nv" supported="disabled">
<require>
<enum value="0" name="VK_NV_EXTENSION_430_SPEC_VERSION"/>
<enum value="&quot;VK_NV_extension_430&quot;" name="VK_NV_EXTENSION_430_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">