/
redgpu
/
ezEngine
Обзор
Документация
Войти
/
redgpu
/
ezEngine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
Code/ThirdParty/Vulkan-Headers/include/vulkan/vulkan_structs.hpp
170 351 строка
7 MB
Sanakan8472
Moved Vulkan-SDK into ThirdParty (#1711)
16 ноя 2025, 16:42
Не верифицирован
16 ноя 2025, 16:42
ab29cde
Код
Авторство
О чём код?
// Copyright 2015-2025 The Khronos Group Inc. // // SPDX-License-Identifier: Apache-2.0 OR MIT // // This header is generated from the Khronos Vulkan XML API Registry. #ifndef VULKAN_STRUCTS_HPP #define VULKAN_STRUCTS_HPP // include-what-you-use: make sure, vulkan.hpp is used by code-completers // IWYU pragma: private, include "vulkan/vulkan.hpp" #include <cstdlib> // free #include <cstring> // strcmp namespace VULKAN_HPP_NAMESPACE { //=============== //=== STRUCTS === //=============== // wrapper struct for struct VkAabbPositionsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAabbPositionsKHR.html struct AabbPositionsKHR { using NativeType = VkAabbPositionsKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR AabbPositionsKHR( float minX_ = {}, float minY_ = {}, float minZ_ = {}, float maxX_ = {}, float maxY_ = {}, float maxZ_ = {} ) VULKAN_HPP_NOEXCEPT : minX{ minX_ } , minY{ minY_ } , minZ{ minZ_ } , maxX{ maxX_ } , maxY{ maxY_ } , maxZ{ maxZ_ } { } VULKAN_HPP_CONSTEXPR AabbPositionsKHR( AabbPositionsKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; AabbPositionsKHR( VkAabbPositionsKHR const & rhs ) VULKAN_HPP_NOEXCEPT : AabbPositionsKHR( *reinterpret_cast<AabbPositionsKHR const *>( &rhs ) ) {} AabbPositionsKHR & operator=( AabbPositionsKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AabbPositionsKHR & operator=( VkAabbPositionsKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AabbPositionsKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AabbPositionsKHR & setMinX( float minX_ ) VULKAN_HPP_NOEXCEPT { minX = minX_; return *this; } VULKAN_HPP_CONSTEXPR_14 AabbPositionsKHR & setMinY( float minY_ ) VULKAN_HPP_NOEXCEPT { minY = minY_; return *this; } VULKAN_HPP_CONSTEXPR_14 AabbPositionsKHR & setMinZ( float minZ_ ) VULKAN_HPP_NOEXCEPT { minZ = minZ_; return *this; } VULKAN_HPP_CONSTEXPR_14 AabbPositionsKHR & setMaxX( float maxX_ ) VULKAN_HPP_NOEXCEPT { maxX = maxX_; return *this; } VULKAN_HPP_CONSTEXPR_14 AabbPositionsKHR & setMaxY( float maxY_ ) VULKAN_HPP_NOEXCEPT { maxY = maxY_; return *this; } VULKAN_HPP_CONSTEXPR_14 AabbPositionsKHR & setMaxZ( float maxZ_ ) VULKAN_HPP_NOEXCEPT { maxZ = maxZ_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAabbPositionsKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAabbPositionsKHR *>( this ); } operator VkAabbPositionsKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAabbPositionsKHR *>( this ); } operator VkAabbPositionsKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAabbPositionsKHR *>( this ); } operator VkAabbPositionsKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAabbPositionsKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<float const &, float const &, float const &, float const &, float const &, float const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( minX, minY, minZ, maxX, maxY, maxZ ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( AabbPositionsKHR const & ) const = default; #else bool operator==( AabbPositionsKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( minX == rhs.minX ) && ( minY == rhs.minY ) && ( minZ == rhs.minZ ) && ( maxX == rhs.maxX ) && ( maxY == rhs.maxY ) && ( maxZ == rhs.maxZ ); # endif } bool operator!=( AabbPositionsKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: float minX = {}; float minY = {}; float minZ = {}; float maxX = {}; float maxY = {}; float maxZ = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAabbPositionsKHR> { using Type = AabbPositionsKHR; }; #endif using AabbPositionsNV = AabbPositionsKHR; union DeviceOrHostAddressConstKHR { using NativeType = VkDeviceOrHostAddressConstKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_UNION_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 DeviceOrHostAddressConstKHR( DeviceAddress deviceAddress_ = {} ) : deviceAddress( deviceAddress_ ) {} VULKAN_HPP_CONSTEXPR_14 DeviceOrHostAddressConstKHR( const void * hostAddress_ ) : hostAddress( hostAddress_ ) {} #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_UNION_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DeviceOrHostAddressConstKHR & setDeviceAddress( DeviceAddress deviceAddress_ ) VULKAN_HPP_NOEXCEPT { deviceAddress = deviceAddress_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceOrHostAddressConstKHR & setHostAddress( const void * hostAddress_ ) VULKAN_HPP_NOEXCEPT { hostAddress = hostAddress_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDeviceOrHostAddressConstKHR const &() const { return *reinterpret_cast<const VkDeviceOrHostAddressConstKHR *>( this ); } operator VkDeviceOrHostAddressConstKHR &() { return *reinterpret_cast<VkDeviceOrHostAddressConstKHR *>( this ); } #ifdef VULKAN_HPP_HAS_UNRESTRICTED_UNIONS DeviceAddress deviceAddress; const void * hostAddress; #else VkDeviceAddress deviceAddress; const void * hostAddress; #endif /*VULKAN_HPP_HAS_UNRESTRICTED_UNIONS*/ }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDeviceOrHostAddressConstKHR> { using Type = DeviceOrHostAddressConstKHR; }; #endif // wrapper struct for struct VkAccelerationStructureGeometryTrianglesDataKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureGeometryTrianglesDataKHR.html struct AccelerationStructureGeometryTrianglesDataKHR { using NativeType = VkAccelerationStructureGeometryTrianglesDataKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureGeometryTrianglesDataKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryTrianglesDataKHR( Format vertexFormat_ = Format::eUndefined, DeviceOrHostAddressConstKHR vertexData_ = {}, DeviceSize vertexStride_ = {}, uint32_t maxVertex_ = {}, IndexType indexType_ = IndexType::eUint16, DeviceOrHostAddressConstKHR indexData_ = {}, DeviceOrHostAddressConstKHR transformData_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , vertexFormat{ vertexFormat_ } , vertexData{ vertexData_ } , vertexStride{ vertexStride_ } , maxVertex{ maxVertex_ } , indexType{ indexType_ } , indexData{ indexData_ } , transformData{ transformData_ } { } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryTrianglesDataKHR( AccelerationStructureGeometryTrianglesDataKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; AccelerationStructureGeometryTrianglesDataKHR( VkAccelerationStructureGeometryTrianglesDataKHR const & rhs ) VULKAN_HPP_NOEXCEPT : AccelerationStructureGeometryTrianglesDataKHR( *reinterpret_cast<AccelerationStructureGeometryTrianglesDataKHR const *>( &rhs ) ) { } AccelerationStructureGeometryTrianglesDataKHR & operator=( AccelerationStructureGeometryTrianglesDataKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AccelerationStructureGeometryTrianglesDataKHR & operator=( VkAccelerationStructureGeometryTrianglesDataKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AccelerationStructureGeometryTrianglesDataKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryTrianglesDataKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryTrianglesDataKHR & setVertexFormat( Format vertexFormat_ ) VULKAN_HPP_NOEXCEPT { vertexFormat = vertexFormat_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryTrianglesDataKHR & setVertexData( DeviceOrHostAddressConstKHR const & vertexData_ ) VULKAN_HPP_NOEXCEPT { vertexData = vertexData_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryTrianglesDataKHR & setVertexStride( DeviceSize vertexStride_ ) VULKAN_HPP_NOEXCEPT { vertexStride = vertexStride_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryTrianglesDataKHR & setMaxVertex( uint32_t maxVertex_ ) VULKAN_HPP_NOEXCEPT { maxVertex = maxVertex_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryTrianglesDataKHR & setIndexType( IndexType indexType_ ) VULKAN_HPP_NOEXCEPT { indexType = indexType_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryTrianglesDataKHR & setIndexData( DeviceOrHostAddressConstKHR const & indexData_ ) VULKAN_HPP_NOEXCEPT { indexData = indexData_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryTrianglesDataKHR & setTransformData( DeviceOrHostAddressConstKHR const & transformData_ ) VULKAN_HPP_NOEXCEPT { transformData = transformData_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAccelerationStructureGeometryTrianglesDataKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAccelerationStructureGeometryTrianglesDataKHR *>( this ); } operator VkAccelerationStructureGeometryTrianglesDataKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAccelerationStructureGeometryTrianglesDataKHR *>( this ); } operator VkAccelerationStructureGeometryTrianglesDataKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAccelerationStructureGeometryTrianglesDataKHR *>( this ); } operator VkAccelerationStructureGeometryTrianglesDataKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAccelerationStructureGeometryTrianglesDataKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Format const &, DeviceOrHostAddressConstKHR const &, DeviceSize const &, uint32_t const &, IndexType const &, DeviceOrHostAddressConstKHR const &, DeviceOrHostAddressConstKHR const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, vertexFormat, vertexData, vertexStride, maxVertex, indexType, indexData, transformData ); } #endif public: StructureType sType = StructureType::eAccelerationStructureGeometryTrianglesDataKHR; const void * pNext = {}; Format vertexFormat = Format::eUndefined; DeviceOrHostAddressConstKHR vertexData = {}; DeviceSize vertexStride = {}; uint32_t maxVertex = {}; IndexType indexType = IndexType::eUint16; DeviceOrHostAddressConstKHR indexData = {}; DeviceOrHostAddressConstKHR transformData = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAccelerationStructureGeometryTrianglesDataKHR> { using Type = AccelerationStructureGeometryTrianglesDataKHR; }; #endif template <> struct CppType<StructureType, StructureType::eAccelerationStructureGeometryTrianglesDataKHR> { using Type = AccelerationStructureGeometryTrianglesDataKHR; }; // wrapper struct for struct VkAccelerationStructureGeometryAabbsDataKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureGeometryAabbsDataKHR.html struct AccelerationStructureGeometryAabbsDataKHR { using NativeType = VkAccelerationStructureGeometryAabbsDataKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureGeometryAabbsDataKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryAabbsDataKHR( DeviceOrHostAddressConstKHR data_ = {}, DeviceSize stride_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , data{ data_ } , stride{ stride_ } { } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryAabbsDataKHR( AccelerationStructureGeometryAabbsDataKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; AccelerationStructureGeometryAabbsDataKHR( VkAccelerationStructureGeometryAabbsDataKHR const & rhs ) VULKAN_HPP_NOEXCEPT : AccelerationStructureGeometryAabbsDataKHR( *reinterpret_cast<AccelerationStructureGeometryAabbsDataKHR const *>( &rhs ) ) { } AccelerationStructureGeometryAabbsDataKHR & operator=( AccelerationStructureGeometryAabbsDataKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AccelerationStructureGeometryAabbsDataKHR & operator=( VkAccelerationStructureGeometryAabbsDataKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AccelerationStructureGeometryAabbsDataKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryAabbsDataKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryAabbsDataKHR & setData( DeviceOrHostAddressConstKHR const & data_ ) VULKAN_HPP_NOEXCEPT { data = data_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryAabbsDataKHR & setStride( DeviceSize stride_ ) VULKAN_HPP_NOEXCEPT { stride = stride_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAccelerationStructureGeometryAabbsDataKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAccelerationStructureGeometryAabbsDataKHR *>( this ); } operator VkAccelerationStructureGeometryAabbsDataKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAccelerationStructureGeometryAabbsDataKHR *>( this ); } operator VkAccelerationStructureGeometryAabbsDataKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAccelerationStructureGeometryAabbsDataKHR *>( this ); } operator VkAccelerationStructureGeometryAabbsDataKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAccelerationStructureGeometryAabbsDataKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DeviceOrHostAddressConstKHR const &, DeviceSize const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, data, stride ); } #endif public: StructureType sType = StructureType::eAccelerationStructureGeometryAabbsDataKHR; const void * pNext = {}; DeviceOrHostAddressConstKHR data = {}; DeviceSize stride = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAccelerationStructureGeometryAabbsDataKHR> { using Type = AccelerationStructureGeometryAabbsDataKHR; }; #endif template <> struct CppType<StructureType, StructureType::eAccelerationStructureGeometryAabbsDataKHR> { using Type = AccelerationStructureGeometryAabbsDataKHR; }; // wrapper struct for struct VkAccelerationStructureGeometryInstancesDataKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureGeometryInstancesDataKHR.html struct AccelerationStructureGeometryInstancesDataKHR { using NativeType = VkAccelerationStructureGeometryInstancesDataKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureGeometryInstancesDataKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryInstancesDataKHR( Bool32 arrayOfPointers_ = {}, DeviceOrHostAddressConstKHR data_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , arrayOfPointers{ arrayOfPointers_ } , data{ data_ } { } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryInstancesDataKHR( AccelerationStructureGeometryInstancesDataKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; AccelerationStructureGeometryInstancesDataKHR( VkAccelerationStructureGeometryInstancesDataKHR const & rhs ) VULKAN_HPP_NOEXCEPT : AccelerationStructureGeometryInstancesDataKHR( *reinterpret_cast<AccelerationStructureGeometryInstancesDataKHR const *>( &rhs ) ) { } AccelerationStructureGeometryInstancesDataKHR & operator=( AccelerationStructureGeometryInstancesDataKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AccelerationStructureGeometryInstancesDataKHR & operator=( VkAccelerationStructureGeometryInstancesDataKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AccelerationStructureGeometryInstancesDataKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryInstancesDataKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryInstancesDataKHR & setArrayOfPointers( Bool32 arrayOfPointers_ ) VULKAN_HPP_NOEXCEPT { arrayOfPointers = arrayOfPointers_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryInstancesDataKHR & setData( DeviceOrHostAddressConstKHR const & data_ ) VULKAN_HPP_NOEXCEPT { data = data_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAccelerationStructureGeometryInstancesDataKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAccelerationStructureGeometryInstancesDataKHR *>( this ); } operator VkAccelerationStructureGeometryInstancesDataKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAccelerationStructureGeometryInstancesDataKHR *>( this ); } operator VkAccelerationStructureGeometryInstancesDataKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAccelerationStructureGeometryInstancesDataKHR *>( this ); } operator VkAccelerationStructureGeometryInstancesDataKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAccelerationStructureGeometryInstancesDataKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Bool32 const &, DeviceOrHostAddressConstKHR const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, arrayOfPointers, data ); } #endif public: StructureType sType = StructureType::eAccelerationStructureGeometryInstancesDataKHR; const void * pNext = {}; Bool32 arrayOfPointers = {}; DeviceOrHostAddressConstKHR data = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAccelerationStructureGeometryInstancesDataKHR> { using Type = AccelerationStructureGeometryInstancesDataKHR; }; #endif template <> struct CppType<StructureType, StructureType::eAccelerationStructureGeometryInstancesDataKHR> { using Type = AccelerationStructureGeometryInstancesDataKHR; }; union AccelerationStructureGeometryDataKHR { using NativeType = VkAccelerationStructureGeometryDataKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_UNION_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryDataKHR( AccelerationStructureGeometryTrianglesDataKHR triangles_ = {} ) : triangles( triangles_ ) {} VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryDataKHR( AccelerationStructureGeometryAabbsDataKHR aabbs_ ) : aabbs( aabbs_ ) {} VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryDataKHR( AccelerationStructureGeometryInstancesDataKHR instances_ ) : instances( instances_ ) {} #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_UNION_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryDataKHR & setTriangles( AccelerationStructureGeometryTrianglesDataKHR const & triangles_ ) VULKAN_HPP_NOEXCEPT { triangles = triangles_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryDataKHR & setAabbs( AccelerationStructureGeometryAabbsDataKHR const & aabbs_ ) VULKAN_HPP_NOEXCEPT { aabbs = aabbs_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryDataKHR & setInstances( AccelerationStructureGeometryInstancesDataKHR const & instances_ ) VULKAN_HPP_NOEXCEPT { instances = instances_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAccelerationStructureGeometryDataKHR const &() const { return *reinterpret_cast<const VkAccelerationStructureGeometryDataKHR *>( this ); } operator VkAccelerationStructureGeometryDataKHR &() { return *reinterpret_cast<VkAccelerationStructureGeometryDataKHR *>( this ); } #ifdef VULKAN_HPP_HAS_UNRESTRICTED_UNIONS AccelerationStructureGeometryTrianglesDataKHR triangles; AccelerationStructureGeometryAabbsDataKHR aabbs; AccelerationStructureGeometryInstancesDataKHR instances; #else VkAccelerationStructureGeometryTrianglesDataKHR triangles; VkAccelerationStructureGeometryAabbsDataKHR aabbs; VkAccelerationStructureGeometryInstancesDataKHR instances; #endif /*VULKAN_HPP_HAS_UNRESTRICTED_UNIONS*/ }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAccelerationStructureGeometryDataKHR> { using Type = AccelerationStructureGeometryDataKHR; }; #endif // wrapper struct for struct VkAccelerationStructureGeometryKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureGeometryKHR.html struct AccelerationStructureGeometryKHR { using NativeType = VkAccelerationStructureGeometryKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureGeometryKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryKHR( GeometryTypeKHR geometryType_ = GeometryTypeKHR::eTriangles, AccelerationStructureGeometryDataKHR geometry_ = {}, GeometryFlagsKHR flags_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , geometryType{ geometryType_ } , geometry{ geometry_ } , flags{ flags_ } { } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryKHR( AccelerationStructureGeometryKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; AccelerationStructureGeometryKHR( VkAccelerationStructureGeometryKHR const & rhs ) VULKAN_HPP_NOEXCEPT : AccelerationStructureGeometryKHR( *reinterpret_cast<AccelerationStructureGeometryKHR const *>( &rhs ) ) { } AccelerationStructureGeometryKHR & operator=( AccelerationStructureGeometryKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AccelerationStructureGeometryKHR & operator=( VkAccelerationStructureGeometryKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AccelerationStructureGeometryKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryKHR & setGeometryType( GeometryTypeKHR geometryType_ ) VULKAN_HPP_NOEXCEPT { geometryType = geometryType_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryKHR & setGeometry( AccelerationStructureGeometryDataKHR const & geometry_ ) VULKAN_HPP_NOEXCEPT { geometry = geometry_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryKHR & setFlags( GeometryFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAccelerationStructureGeometryKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAccelerationStructureGeometryKHR *>( this ); } operator VkAccelerationStructureGeometryKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAccelerationStructureGeometryKHR *>( this ); } operator VkAccelerationStructureGeometryKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAccelerationStructureGeometryKHR *>( this ); } operator VkAccelerationStructureGeometryKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAccelerationStructureGeometryKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, GeometryTypeKHR const &, AccelerationStructureGeometryDataKHR const &, GeometryFlagsKHR const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, geometryType, geometry, flags ); } #endif public: StructureType sType = StructureType::eAccelerationStructureGeometryKHR; const void * pNext = {}; GeometryTypeKHR geometryType = GeometryTypeKHR::eTriangles; AccelerationStructureGeometryDataKHR geometry = {}; GeometryFlagsKHR flags = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAccelerationStructureGeometryKHR> { using Type = AccelerationStructureGeometryKHR; }; #endif template <> struct CppType<StructureType, StructureType::eAccelerationStructureGeometryKHR> { using Type = AccelerationStructureGeometryKHR; }; union DeviceOrHostAddressKHR { using NativeType = VkDeviceOrHostAddressKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_UNION_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 DeviceOrHostAddressKHR( DeviceAddress deviceAddress_ = {} ) : deviceAddress( deviceAddress_ ) {} VULKAN_HPP_CONSTEXPR_14 DeviceOrHostAddressKHR( void * hostAddress_ ) : hostAddress( hostAddress_ ) {} #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_UNION_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DeviceOrHostAddressKHR & setDeviceAddress( DeviceAddress deviceAddress_ ) VULKAN_HPP_NOEXCEPT { deviceAddress = deviceAddress_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceOrHostAddressKHR & setHostAddress( void * hostAddress_ ) VULKAN_HPP_NOEXCEPT { hostAddress = hostAddress_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDeviceOrHostAddressKHR const &() const { return *reinterpret_cast<const VkDeviceOrHostAddressKHR *>( this ); } operator VkDeviceOrHostAddressKHR &() { return *reinterpret_cast<VkDeviceOrHostAddressKHR *>( this ); } #ifdef VULKAN_HPP_HAS_UNRESTRICTED_UNIONS DeviceAddress deviceAddress; void * hostAddress; #else VkDeviceAddress deviceAddress; void * hostAddress; #endif /*VULKAN_HPP_HAS_UNRESTRICTED_UNIONS*/ }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDeviceOrHostAddressKHR> { using Type = DeviceOrHostAddressKHR; }; #endif // wrapper struct for struct VkAccelerationStructureBuildGeometryInfoKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureBuildGeometryInfoKHR.html struct AccelerationStructureBuildGeometryInfoKHR { using NativeType = VkAccelerationStructureBuildGeometryInfoKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureBuildGeometryInfoKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildGeometryInfoKHR( AccelerationStructureTypeKHR type_ = AccelerationStructureTypeKHR::eTopLevel, BuildAccelerationStructureFlagsKHR flags_ = {}, BuildAccelerationStructureModeKHR mode_ = BuildAccelerationStructureModeKHR::eBuild, AccelerationStructureKHR srcAccelerationStructure_ = {}, AccelerationStructureKHR dstAccelerationStructure_ = {}, uint32_t geometryCount_ = {}, const AccelerationStructureGeometryKHR * pGeometries_ = {}, const AccelerationStructureGeometryKHR * const * ppGeometries_ = {}, DeviceOrHostAddressKHR scratchData_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , type{ type_ } , flags{ flags_ } , mode{ mode_ } , srcAccelerationStructure{ srcAccelerationStructure_ } , dstAccelerationStructure{ dstAccelerationStructure_ } , geometryCount{ geometryCount_ } , pGeometries{ pGeometries_ } , ppGeometries{ ppGeometries_ } , scratchData{ scratchData_ } { } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildGeometryInfoKHR( AccelerationStructureBuildGeometryInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; AccelerationStructureBuildGeometryInfoKHR( VkAccelerationStructureBuildGeometryInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : AccelerationStructureBuildGeometryInfoKHR( *reinterpret_cast<AccelerationStructureBuildGeometryInfoKHR const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) AccelerationStructureBuildGeometryInfoKHR( AccelerationStructureTypeKHR type_, BuildAccelerationStructureFlagsKHR flags_, BuildAccelerationStructureModeKHR mode_, AccelerationStructureKHR srcAccelerationStructure_, AccelerationStructureKHR dstAccelerationStructure_, ArrayProxyNoTemporaries<const AccelerationStructureGeometryKHR> const & geometries_, ArrayProxyNoTemporaries<const AccelerationStructureGeometryKHR * const> const & pGeometries_ = {}, DeviceOrHostAddressKHR scratchData_ = {}, const void * pNext_ = nullptr ) : pNext( pNext_ ) , type( type_ ) , flags( flags_ ) , mode( mode_ ) , srcAccelerationStructure( srcAccelerationStructure_ ) , dstAccelerationStructure( dstAccelerationStructure_ ) , geometryCount( static_cast<uint32_t>( !geometries_.empty() ? geometries_.size() : pGeometries_.size() ) ) , pGeometries( geometries_.data() ) , ppGeometries( pGeometries_.data() ) , scratchData( scratchData_ ) { # ifdef VULKAN_HPP_NO_EXCEPTIONS VULKAN_HPP_ASSERT( ( !geometries_.empty() + !pGeometries_.empty() ) <= 1 ); # else if ( 1 < ( !geometries_.empty() + !pGeometries_.empty() ) ) { throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::AccelerationStructureBuildGeometryInfoKHR::AccelerationStructureBuildGeometryInfoKHR: 1 < ( !geometries_.empty() + !pGeometries_.empty() )" ); } # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ AccelerationStructureBuildGeometryInfoKHR & operator=( AccelerationStructureBuildGeometryInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AccelerationStructureBuildGeometryInfoKHR & operator=( VkAccelerationStructureBuildGeometryInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AccelerationStructureBuildGeometryInfoKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildGeometryInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildGeometryInfoKHR & setType( AccelerationStructureTypeKHR type_ ) VULKAN_HPP_NOEXCEPT { type = type_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildGeometryInfoKHR & setFlags( BuildAccelerationStructureFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildGeometryInfoKHR & setMode( BuildAccelerationStructureModeKHR mode_ ) VULKAN_HPP_NOEXCEPT { mode = mode_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildGeometryInfoKHR & setSrcAccelerationStructure( AccelerationStructureKHR srcAccelerationStructure_ ) VULKAN_HPP_NOEXCEPT { srcAccelerationStructure = srcAccelerationStructure_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildGeometryInfoKHR & setDstAccelerationStructure( AccelerationStructureKHR dstAccelerationStructure_ ) VULKAN_HPP_NOEXCEPT { dstAccelerationStructure = dstAccelerationStructure_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildGeometryInfoKHR & setGeometryCount( uint32_t geometryCount_ ) VULKAN_HPP_NOEXCEPT { geometryCount = geometryCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildGeometryInfoKHR & setPGeometries( const AccelerationStructureGeometryKHR * pGeometries_ ) VULKAN_HPP_NOEXCEPT { pGeometries = pGeometries_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) AccelerationStructureBuildGeometryInfoKHR & setGeometries( ArrayProxyNoTemporaries<const AccelerationStructureGeometryKHR> const & geometries_ ) VULKAN_HPP_NOEXCEPT { geometryCount = static_cast<uint32_t>( geometries_.size() ); pGeometries = geometries_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildGeometryInfoKHR & setPpGeometries( const AccelerationStructureGeometryKHR * const * ppGeometries_ ) VULKAN_HPP_NOEXCEPT { ppGeometries = ppGeometries_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) AccelerationStructureBuildGeometryInfoKHR & setPGeometries( ArrayProxyNoTemporaries<const AccelerationStructureGeometryKHR * const> const & pGeometries_ ) VULKAN_HPP_NOEXCEPT { geometryCount = static_cast<uint32_t>( pGeometries_.size() ); ppGeometries = pGeometries_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildGeometryInfoKHR & setScratchData( DeviceOrHostAddressKHR const & scratchData_ ) VULKAN_HPP_NOEXCEPT { scratchData = scratchData_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAccelerationStructureBuildGeometryInfoKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>( this ); } operator VkAccelerationStructureBuildGeometryInfoKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAccelerationStructureBuildGeometryInfoKHR *>( this ); } operator VkAccelerationStructureBuildGeometryInfoKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>( this ); } operator VkAccelerationStructureBuildGeometryInfoKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAccelerationStructureBuildGeometryInfoKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, AccelerationStructureTypeKHR const &, BuildAccelerationStructureFlagsKHR const &, BuildAccelerationStructureModeKHR const &, AccelerationStructureKHR const &, AccelerationStructureKHR const &, uint32_t const &, const AccelerationStructureGeometryKHR * const &, const AccelerationStructureGeometryKHR * const * const &, DeviceOrHostAddressKHR const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, type, flags, mode, srcAccelerationStructure, dstAccelerationStructure, geometryCount, pGeometries, ppGeometries, scratchData ); } #endif public: StructureType sType = StructureType::eAccelerationStructureBuildGeometryInfoKHR; const void * pNext = {}; AccelerationStructureTypeKHR type = AccelerationStructureTypeKHR::eTopLevel; BuildAccelerationStructureFlagsKHR flags = {}; BuildAccelerationStructureModeKHR mode = BuildAccelerationStructureModeKHR::eBuild; AccelerationStructureKHR srcAccelerationStructure = {}; AccelerationStructureKHR dstAccelerationStructure = {}; uint32_t geometryCount = {}; const AccelerationStructureGeometryKHR * pGeometries = {}; const AccelerationStructureGeometryKHR * const * ppGeometries = {}; DeviceOrHostAddressKHR scratchData = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAccelerationStructureBuildGeometryInfoKHR> { using Type = AccelerationStructureBuildGeometryInfoKHR; }; #endif template <> struct CppType<StructureType, StructureType::eAccelerationStructureBuildGeometryInfoKHR> { using Type = AccelerationStructureBuildGeometryInfoKHR; }; // wrapper struct for struct VkAccelerationStructureBuildRangeInfoKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureBuildRangeInfoKHR.html struct AccelerationStructureBuildRangeInfoKHR { using NativeType = VkAccelerationStructureBuildRangeInfoKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR AccelerationStructureBuildRangeInfoKHR( uint32_t primitiveCount_ = {}, uint32_t primitiveOffset_ = {}, uint32_t firstVertex_ = {}, uint32_t transformOffset_ = {} ) VULKAN_HPP_NOEXCEPT : primitiveCount{ primitiveCount_ } , primitiveOffset{ primitiveOffset_ } , firstVertex{ firstVertex_ } , transformOffset{ transformOffset_ } { } VULKAN_HPP_CONSTEXPR AccelerationStructureBuildRangeInfoKHR( AccelerationStructureBuildRangeInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; AccelerationStructureBuildRangeInfoKHR( VkAccelerationStructureBuildRangeInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : AccelerationStructureBuildRangeInfoKHR( *reinterpret_cast<AccelerationStructureBuildRangeInfoKHR const *>( &rhs ) ) { } AccelerationStructureBuildRangeInfoKHR & operator=( AccelerationStructureBuildRangeInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AccelerationStructureBuildRangeInfoKHR & operator=( VkAccelerationStructureBuildRangeInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AccelerationStructureBuildRangeInfoKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildRangeInfoKHR & setPrimitiveCount( uint32_t primitiveCount_ ) VULKAN_HPP_NOEXCEPT { primitiveCount = primitiveCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildRangeInfoKHR & setPrimitiveOffset( uint32_t primitiveOffset_ ) VULKAN_HPP_NOEXCEPT { primitiveOffset = primitiveOffset_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildRangeInfoKHR & setFirstVertex( uint32_t firstVertex_ ) VULKAN_HPP_NOEXCEPT { firstVertex = firstVertex_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildRangeInfoKHR & setTransformOffset( uint32_t transformOffset_ ) VULKAN_HPP_NOEXCEPT { transformOffset = transformOffset_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAccelerationStructureBuildRangeInfoKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAccelerationStructureBuildRangeInfoKHR *>( this ); } operator VkAccelerationStructureBuildRangeInfoKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAccelerationStructureBuildRangeInfoKHR *>( this ); } operator VkAccelerationStructureBuildRangeInfoKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAccelerationStructureBuildRangeInfoKHR *>( this ); } operator VkAccelerationStructureBuildRangeInfoKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAccelerationStructureBuildRangeInfoKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<uint32_t const &, uint32_t const &, uint32_t const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( primitiveCount, primitiveOffset, firstVertex, transformOffset ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( AccelerationStructureBuildRangeInfoKHR const & ) const = default; #else bool operator==( AccelerationStructureBuildRangeInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( primitiveCount == rhs.primitiveCount ) && ( primitiveOffset == rhs.primitiveOffset ) && ( firstVertex == rhs.firstVertex ) && ( transformOffset == rhs.transformOffset ); # endif } bool operator!=( AccelerationStructureBuildRangeInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: uint32_t primitiveCount = {}; uint32_t primitiveOffset = {}; uint32_t firstVertex = {}; uint32_t transformOffset = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAccelerationStructureBuildRangeInfoKHR> { using Type = AccelerationStructureBuildRangeInfoKHR; }; #endif // wrapper struct for struct VkAccelerationStructureBuildSizesInfoKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureBuildSizesInfoKHR.html struct AccelerationStructureBuildSizesInfoKHR { using NativeType = VkAccelerationStructureBuildSizesInfoKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureBuildSizesInfoKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR AccelerationStructureBuildSizesInfoKHR( DeviceSize accelerationStructureSize_ = {}, DeviceSize updateScratchSize_ = {}, DeviceSize buildScratchSize_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , accelerationStructureSize{ accelerationStructureSize_ } , updateScratchSize{ updateScratchSize_ } , buildScratchSize{ buildScratchSize_ } { } VULKAN_HPP_CONSTEXPR AccelerationStructureBuildSizesInfoKHR( AccelerationStructureBuildSizesInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; AccelerationStructureBuildSizesInfoKHR( VkAccelerationStructureBuildSizesInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : AccelerationStructureBuildSizesInfoKHR( *reinterpret_cast<AccelerationStructureBuildSizesInfoKHR const *>( &rhs ) ) { } AccelerationStructureBuildSizesInfoKHR & operator=( AccelerationStructureBuildSizesInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AccelerationStructureBuildSizesInfoKHR & operator=( VkAccelerationStructureBuildSizesInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AccelerationStructureBuildSizesInfoKHR const *>( &rhs ); return *this; } operator VkAccelerationStructureBuildSizesInfoKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAccelerationStructureBuildSizesInfoKHR *>( this ); } operator VkAccelerationStructureBuildSizesInfoKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAccelerationStructureBuildSizesInfoKHR *>( this ); } operator VkAccelerationStructureBuildSizesInfoKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAccelerationStructureBuildSizesInfoKHR *>( this ); } operator VkAccelerationStructureBuildSizesInfoKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAccelerationStructureBuildSizesInfoKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DeviceSize const &, DeviceSize const &, DeviceSize const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, accelerationStructureSize, updateScratchSize, buildScratchSize ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( AccelerationStructureBuildSizesInfoKHR const & ) const = default; #else bool operator==( AccelerationStructureBuildSizesInfoKHR 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 ) && ( accelerationStructureSize == rhs.accelerationStructureSize ) && ( updateScratchSize == rhs.updateScratchSize ) && ( buildScratchSize == rhs.buildScratchSize ); # endif } bool operator!=( AccelerationStructureBuildSizesInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eAccelerationStructureBuildSizesInfoKHR; const void * pNext = {}; DeviceSize accelerationStructureSize = {}; DeviceSize updateScratchSize = {}; DeviceSize buildScratchSize = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAccelerationStructureBuildSizesInfoKHR> { using Type = AccelerationStructureBuildSizesInfoKHR; }; #endif template <> struct CppType<StructureType, StructureType::eAccelerationStructureBuildSizesInfoKHR> { using Type = AccelerationStructureBuildSizesInfoKHR; }; // wrapper struct for struct VkAccelerationStructureCaptureDescriptorDataInfoEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureCaptureDescriptorDataInfoEXT.html struct AccelerationStructureCaptureDescriptorDataInfoEXT { using NativeType = VkAccelerationStructureCaptureDescriptorDataInfoEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureCaptureDescriptorDataInfoEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR AccelerationStructureCaptureDescriptorDataInfoEXT( AccelerationStructureKHR accelerationStructure_ = {}, AccelerationStructureNV accelerationStructureNV_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , accelerationStructure{ accelerationStructure_ } , accelerationStructureNV{ accelerationStructureNV_ } { } VULKAN_HPP_CONSTEXPR AccelerationStructureCaptureDescriptorDataInfoEXT( AccelerationStructureCaptureDescriptorDataInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; AccelerationStructureCaptureDescriptorDataInfoEXT( VkAccelerationStructureCaptureDescriptorDataInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : AccelerationStructureCaptureDescriptorDataInfoEXT( *reinterpret_cast<AccelerationStructureCaptureDescriptorDataInfoEXT const *>( &rhs ) ) { } AccelerationStructureCaptureDescriptorDataInfoEXT & operator=( AccelerationStructureCaptureDescriptorDataInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AccelerationStructureCaptureDescriptorDataInfoEXT & operator=( VkAccelerationStructureCaptureDescriptorDataInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AccelerationStructureCaptureDescriptorDataInfoEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureCaptureDescriptorDataInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureCaptureDescriptorDataInfoEXT & setAccelerationStructure( AccelerationStructureKHR accelerationStructure_ ) VULKAN_HPP_NOEXCEPT { accelerationStructure = accelerationStructure_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureCaptureDescriptorDataInfoEXT & setAccelerationStructureNV( AccelerationStructureNV accelerationStructureNV_ ) VULKAN_HPP_NOEXCEPT { accelerationStructureNV = accelerationStructureNV_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAccelerationStructureCaptureDescriptorDataInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAccelerationStructureCaptureDescriptorDataInfoEXT *>( this ); } operator VkAccelerationStructureCaptureDescriptorDataInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAccelerationStructureCaptureDescriptorDataInfoEXT *>( this ); } operator VkAccelerationStructureCaptureDescriptorDataInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAccelerationStructureCaptureDescriptorDataInfoEXT *>( this ); } operator VkAccelerationStructureCaptureDescriptorDataInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAccelerationStructureCaptureDescriptorDataInfoEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, AccelerationStructureKHR const &, AccelerationStructureNV const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, accelerationStructure, accelerationStructureNV ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( AccelerationStructureCaptureDescriptorDataInfoEXT const & ) const = default; #else bool operator==( AccelerationStructureCaptureDescriptorDataInfoEXT 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 ) && ( accelerationStructure == rhs.accelerationStructure ) && ( accelerationStructureNV == rhs.accelerationStructureNV ); # endif } bool operator!=( AccelerationStructureCaptureDescriptorDataInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eAccelerationStructureCaptureDescriptorDataInfoEXT; const void * pNext = {}; AccelerationStructureKHR accelerationStructure = {}; AccelerationStructureNV accelerationStructureNV = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAccelerationStructureCaptureDescriptorDataInfoEXT> { using Type = AccelerationStructureCaptureDescriptorDataInfoEXT; }; #endif template <> struct CppType<StructureType, StructureType::eAccelerationStructureCaptureDescriptorDataInfoEXT> { using Type = AccelerationStructureCaptureDescriptorDataInfoEXT; }; // wrapper struct for struct VkAccelerationStructureCreateInfoKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureCreateInfoKHR.html struct AccelerationStructureCreateInfoKHR { using NativeType = VkAccelerationStructureCreateInfoKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureCreateInfoKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR AccelerationStructureCreateInfoKHR( AccelerationStructureCreateFlagsKHR createFlags_ = {}, Buffer buffer_ = {}, DeviceSize offset_ = {}, DeviceSize size_ = {}, AccelerationStructureTypeKHR type_ = AccelerationStructureTypeKHR::eTopLevel, DeviceAddress deviceAddress_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , createFlags{ createFlags_ } , buffer{ buffer_ } , offset{ offset_ } , size{ size_ } , type{ type_ } , deviceAddress{ deviceAddress_ } { } VULKAN_HPP_CONSTEXPR AccelerationStructureCreateInfoKHR( AccelerationStructureCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; AccelerationStructureCreateInfoKHR( VkAccelerationStructureCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : AccelerationStructureCreateInfoKHR( *reinterpret_cast<AccelerationStructureCreateInfoKHR const *>( &rhs ) ) { } AccelerationStructureCreateInfoKHR & operator=( AccelerationStructureCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AccelerationStructureCreateInfoKHR & operator=( VkAccelerationStructureCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AccelerationStructureCreateInfoKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureCreateInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureCreateInfoKHR & setCreateFlags( AccelerationStructureCreateFlagsKHR createFlags_ ) VULKAN_HPP_NOEXCEPT { createFlags = createFlags_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureCreateInfoKHR & setBuffer( Buffer buffer_ ) VULKAN_HPP_NOEXCEPT { buffer = buffer_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureCreateInfoKHR & setOffset( DeviceSize offset_ ) VULKAN_HPP_NOEXCEPT { offset = offset_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureCreateInfoKHR & setSize( DeviceSize size_ ) VULKAN_HPP_NOEXCEPT { size = size_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureCreateInfoKHR & setType( AccelerationStructureTypeKHR type_ ) VULKAN_HPP_NOEXCEPT { type = type_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureCreateInfoKHR & setDeviceAddress( DeviceAddress deviceAddress_ ) VULKAN_HPP_NOEXCEPT { deviceAddress = deviceAddress_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAccelerationStructureCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAccelerationStructureCreateInfoKHR *>( this ); } operator VkAccelerationStructureCreateInfoKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAccelerationStructureCreateInfoKHR *>( this ); } operator VkAccelerationStructureCreateInfoKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAccelerationStructureCreateInfoKHR *>( this ); } operator VkAccelerationStructureCreateInfoKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAccelerationStructureCreateInfoKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, AccelerationStructureCreateFlagsKHR const &, Buffer const &, DeviceSize const &, DeviceSize const &, AccelerationStructureTypeKHR const &, DeviceAddress const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, createFlags, buffer, offset, size, type, deviceAddress ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( AccelerationStructureCreateInfoKHR const & ) const = default; #else bool operator==( AccelerationStructureCreateInfoKHR 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 ) && ( createFlags == rhs.createFlags ) && ( buffer == rhs.buffer ) && ( offset == rhs.offset ) && ( size == rhs.size ) && ( type == rhs.type ) && ( deviceAddress == rhs.deviceAddress ); # endif } bool operator!=( AccelerationStructureCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eAccelerationStructureCreateInfoKHR; const void * pNext = {}; AccelerationStructureCreateFlagsKHR createFlags = {}; Buffer buffer = {}; DeviceSize offset = {}; DeviceSize size = {}; AccelerationStructureTypeKHR type = AccelerationStructureTypeKHR::eTopLevel; DeviceAddress deviceAddress = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAccelerationStructureCreateInfoKHR> { using Type = AccelerationStructureCreateInfoKHR; }; #endif template <> struct CppType<StructureType, StructureType::eAccelerationStructureCreateInfoKHR> { using Type = AccelerationStructureCreateInfoKHR; }; // wrapper struct for struct VkGeometryTrianglesNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkGeometryTrianglesNV.html struct GeometryTrianglesNV { using NativeType = VkGeometryTrianglesNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eGeometryTrianglesNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR GeometryTrianglesNV( Buffer vertexData_ = {}, DeviceSize vertexOffset_ = {}, uint32_t vertexCount_ = {}, DeviceSize vertexStride_ = {}, Format vertexFormat_ = Format::eUndefined, Buffer indexData_ = {}, DeviceSize indexOffset_ = {}, uint32_t indexCount_ = {}, IndexType indexType_ = IndexType::eUint16, Buffer transformData_ = {}, DeviceSize transformOffset_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , vertexData{ vertexData_ } , vertexOffset{ vertexOffset_ } , vertexCount{ vertexCount_ } , vertexStride{ vertexStride_ } , vertexFormat{ vertexFormat_ } , indexData{ indexData_ } , indexOffset{ indexOffset_ } , indexCount{ indexCount_ } , indexType{ indexType_ } , transformData{ transformData_ } , transformOffset{ transformOffset_ } { } VULKAN_HPP_CONSTEXPR GeometryTrianglesNV( GeometryTrianglesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; GeometryTrianglesNV( VkGeometryTrianglesNV const & rhs ) VULKAN_HPP_NOEXCEPT : GeometryTrianglesNV( *reinterpret_cast<GeometryTrianglesNV const *>( &rhs ) ) { } GeometryTrianglesNV & operator=( GeometryTrianglesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ GeometryTrianglesNV & operator=( VkGeometryTrianglesNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<GeometryTrianglesNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 GeometryTrianglesNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 GeometryTrianglesNV & setVertexData( Buffer vertexData_ ) VULKAN_HPP_NOEXCEPT { vertexData = vertexData_; return *this; } VULKAN_HPP_CONSTEXPR_14 GeometryTrianglesNV & setVertexOffset( DeviceSize vertexOffset_ ) VULKAN_HPP_NOEXCEPT { vertexOffset = vertexOffset_; return *this; } VULKAN_HPP_CONSTEXPR_14 GeometryTrianglesNV & setVertexCount( uint32_t vertexCount_ ) VULKAN_HPP_NOEXCEPT { vertexCount = vertexCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 GeometryTrianglesNV & setVertexStride( DeviceSize vertexStride_ ) VULKAN_HPP_NOEXCEPT { vertexStride = vertexStride_; return *this; } VULKAN_HPP_CONSTEXPR_14 GeometryTrianglesNV & setVertexFormat( Format vertexFormat_ ) VULKAN_HPP_NOEXCEPT { vertexFormat = vertexFormat_; return *this; } VULKAN_HPP_CONSTEXPR_14 GeometryTrianglesNV & setIndexData( Buffer indexData_ ) VULKAN_HPP_NOEXCEPT { indexData = indexData_; return *this; } VULKAN_HPP_CONSTEXPR_14 GeometryTrianglesNV & setIndexOffset( DeviceSize indexOffset_ ) VULKAN_HPP_NOEXCEPT { indexOffset = indexOffset_; return *this; } VULKAN_HPP_CONSTEXPR_14 GeometryTrianglesNV & setIndexCount( uint32_t indexCount_ ) VULKAN_HPP_NOEXCEPT { indexCount = indexCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 GeometryTrianglesNV & setIndexType( IndexType indexType_ ) VULKAN_HPP_NOEXCEPT { indexType = indexType_; return *this; } VULKAN_HPP_CONSTEXPR_14 GeometryTrianglesNV & setTransformData( Buffer transformData_ ) VULKAN_HPP_NOEXCEPT { transformData = transformData_; return *this; } VULKAN_HPP_CONSTEXPR_14 GeometryTrianglesNV & setTransformOffset( DeviceSize transformOffset_ ) VULKAN_HPP_NOEXCEPT { transformOffset = transformOffset_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkGeometryTrianglesNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkGeometryTrianglesNV *>( this ); } operator VkGeometryTrianglesNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkGeometryTrianglesNV *>( this ); } operator VkGeometryTrianglesNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkGeometryTrianglesNV *>( this ); } operator VkGeometryTrianglesNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkGeometryTrianglesNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Buffer const &, DeviceSize const &, uint32_t const &, DeviceSize const &, Format const &, Buffer const &, DeviceSize const &, uint32_t const &, IndexType const &, Buffer const &, DeviceSize const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, vertexData, vertexOffset, vertexCount, vertexStride, vertexFormat, indexData, indexOffset, indexCount, indexType, transformData, transformOffset ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( GeometryTrianglesNV const & ) const = default; #else bool operator==( GeometryTrianglesNV 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 ) && ( vertexData == rhs.vertexData ) && ( vertexOffset == rhs.vertexOffset ) && ( vertexCount == rhs.vertexCount ) && ( vertexStride == rhs.vertexStride ) && ( vertexFormat == rhs.vertexFormat ) && ( indexData == rhs.indexData ) && ( indexOffset == rhs.indexOffset ) && ( indexCount == rhs.indexCount ) && ( indexType == rhs.indexType ) && ( transformData == rhs.transformData ) && ( transformOffset == rhs.transformOffset ); # endif } bool operator!=( GeometryTrianglesNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eGeometryTrianglesNV; const void * pNext = {}; Buffer vertexData = {}; DeviceSize vertexOffset = {}; uint32_t vertexCount = {}; DeviceSize vertexStride = {}; Format vertexFormat = Format::eUndefined; Buffer indexData = {}; DeviceSize indexOffset = {}; uint32_t indexCount = {}; IndexType indexType = IndexType::eUint16; Buffer transformData = {}; DeviceSize transformOffset = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkGeometryTrianglesNV> { using Type = GeometryTrianglesNV; }; #endif template <> struct CppType<StructureType, StructureType::eGeometryTrianglesNV> { using Type = GeometryTrianglesNV; }; // wrapper struct for struct VkGeometryAABBNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkGeometryAABBNV.html struct GeometryAABBNV { using NativeType = VkGeometryAABBNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eGeometryAabbNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR GeometryAABBNV( Buffer aabbData_ = {}, uint32_t numAABBs_ = {}, uint32_t stride_ = {}, DeviceSize offset_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , aabbData{ aabbData_ } , numAABBs{ numAABBs_ } , stride{ stride_ } , offset{ offset_ } { } VULKAN_HPP_CONSTEXPR GeometryAABBNV( GeometryAABBNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; GeometryAABBNV( VkGeometryAABBNV const & rhs ) VULKAN_HPP_NOEXCEPT : GeometryAABBNV( *reinterpret_cast<GeometryAABBNV const *>( &rhs ) ) {} GeometryAABBNV & operator=( GeometryAABBNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ GeometryAABBNV & operator=( VkGeometryAABBNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<GeometryAABBNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 GeometryAABBNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 GeometryAABBNV & setAabbData( Buffer aabbData_ ) VULKAN_HPP_NOEXCEPT { aabbData = aabbData_; return *this; } VULKAN_HPP_CONSTEXPR_14 GeometryAABBNV & setNumAABBs( uint32_t numAABBs_ ) VULKAN_HPP_NOEXCEPT { numAABBs = numAABBs_; return *this; } VULKAN_HPP_CONSTEXPR_14 GeometryAABBNV & setStride( uint32_t stride_ ) VULKAN_HPP_NOEXCEPT { stride = stride_; return *this; } VULKAN_HPP_CONSTEXPR_14 GeometryAABBNV & setOffset( DeviceSize offset_ ) VULKAN_HPP_NOEXCEPT { offset = offset_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkGeometryAABBNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkGeometryAABBNV *>( this ); } operator VkGeometryAABBNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkGeometryAABBNV *>( this ); } operator VkGeometryAABBNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkGeometryAABBNV *>( this ); } operator VkGeometryAABBNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkGeometryAABBNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Buffer const &, uint32_t const &, uint32_t const &, DeviceSize const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, aabbData, numAABBs, stride, offset ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( GeometryAABBNV const & ) const = default; #else bool operator==( GeometryAABBNV 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 ) && ( aabbData == rhs.aabbData ) && ( numAABBs == rhs.numAABBs ) && ( stride == rhs.stride ) && ( offset == rhs.offset ); # endif } bool operator!=( GeometryAABBNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eGeometryAabbNV; const void * pNext = {}; Buffer aabbData = {}; uint32_t numAABBs = {}; uint32_t stride = {}; DeviceSize offset = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkGeometryAABBNV> { using Type = GeometryAABBNV; }; #endif template <> struct CppType<StructureType, StructureType::eGeometryAabbNV> { using Type = GeometryAABBNV; }; // wrapper struct for struct VkGeometryDataNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkGeometryDataNV.html struct GeometryDataNV { using NativeType = VkGeometryDataNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR GeometryDataNV( GeometryTrianglesNV triangles_ = {}, GeometryAABBNV aabbs_ = {} ) VULKAN_HPP_NOEXCEPT : triangles{ triangles_ } , aabbs{ aabbs_ } { } VULKAN_HPP_CONSTEXPR GeometryDataNV( GeometryDataNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; GeometryDataNV( VkGeometryDataNV const & rhs ) VULKAN_HPP_NOEXCEPT : GeometryDataNV( *reinterpret_cast<GeometryDataNV const *>( &rhs ) ) {} GeometryDataNV & operator=( GeometryDataNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ GeometryDataNV & operator=( VkGeometryDataNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<GeometryDataNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 GeometryDataNV & setTriangles( GeometryTrianglesNV const & triangles_ ) VULKAN_HPP_NOEXCEPT { triangles = triangles_; return *this; } VULKAN_HPP_CONSTEXPR_14 GeometryDataNV & setAabbs( GeometryAABBNV const & aabbs_ ) VULKAN_HPP_NOEXCEPT { aabbs = aabbs_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkGeometryDataNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkGeometryDataNV *>( this ); } operator VkGeometryDataNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkGeometryDataNV *>( this ); } operator VkGeometryDataNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkGeometryDataNV *>( this ); } operator VkGeometryDataNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkGeometryDataNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<GeometryTrianglesNV const &, GeometryAABBNV const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( triangles, aabbs ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( GeometryDataNV const & ) const = default; #else bool operator==( GeometryDataNV const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( triangles == rhs.triangles ) && ( aabbs == rhs.aabbs ); # endif } bool operator!=( GeometryDataNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: GeometryTrianglesNV triangles = {}; GeometryAABBNV aabbs = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkGeometryDataNV> { using Type = GeometryDataNV; }; #endif // wrapper struct for struct VkGeometryNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkGeometryNV.html struct GeometryNV { using NativeType = VkGeometryNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eGeometryNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR GeometryNV( GeometryTypeKHR geometryType_ = GeometryTypeKHR::eTriangles, GeometryDataNV geometry_ = {}, GeometryFlagsKHR flags_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , geometryType{ geometryType_ } , geometry{ geometry_ } , flags{ flags_ } { } VULKAN_HPP_CONSTEXPR GeometryNV( GeometryNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; GeometryNV( VkGeometryNV const & rhs ) VULKAN_HPP_NOEXCEPT : GeometryNV( *reinterpret_cast<GeometryNV const *>( &rhs ) ) {} GeometryNV & operator=( GeometryNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ GeometryNV & operator=( VkGeometryNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<GeometryNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 GeometryNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 GeometryNV & setGeometryType( GeometryTypeKHR geometryType_ ) VULKAN_HPP_NOEXCEPT { geometryType = geometryType_; return *this; } VULKAN_HPP_CONSTEXPR_14 GeometryNV & setGeometry( GeometryDataNV const & geometry_ ) VULKAN_HPP_NOEXCEPT { geometry = geometry_; return *this; } VULKAN_HPP_CONSTEXPR_14 GeometryNV & setFlags( GeometryFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkGeometryNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkGeometryNV *>( this ); } operator VkGeometryNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkGeometryNV *>( this ); } operator VkGeometryNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkGeometryNV *>( this ); } operator VkGeometryNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkGeometryNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, GeometryTypeKHR const &, GeometryDataNV const &, GeometryFlagsKHR const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, geometryType, geometry, flags ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( GeometryNV const & ) const = default; #else bool operator==( GeometryNV 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 ) && ( geometryType == rhs.geometryType ) && ( geometry == rhs.geometry ) && ( flags == rhs.flags ); # endif } bool operator!=( GeometryNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eGeometryNV; const void * pNext = {}; GeometryTypeKHR geometryType = GeometryTypeKHR::eTriangles; GeometryDataNV geometry = {}; GeometryFlagsKHR flags = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkGeometryNV> { using Type = GeometryNV; }; #endif template <> struct CppType<StructureType, StructureType::eGeometryNV> { using Type = GeometryNV; }; // wrapper struct for struct VkAccelerationStructureInfoNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureInfoNV.html struct AccelerationStructureInfoNV { using NativeType = VkAccelerationStructureInfoNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureInfoNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR AccelerationStructureInfoNV( AccelerationStructureTypeNV type_ = {}, BuildAccelerationStructureFlagsNV flags_ = {}, uint32_t instanceCount_ = {}, uint32_t geometryCount_ = {}, const GeometryNV * pGeometries_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , type{ type_ } , flags{ flags_ } , instanceCount{ instanceCount_ } , geometryCount{ geometryCount_ } , pGeometries{ pGeometries_ } { } VULKAN_HPP_CONSTEXPR AccelerationStructureInfoNV( AccelerationStructureInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; AccelerationStructureInfoNV( VkAccelerationStructureInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT : AccelerationStructureInfoNV( *reinterpret_cast<AccelerationStructureInfoNV const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) AccelerationStructureInfoNV( AccelerationStructureTypeNV type_, BuildAccelerationStructureFlagsNV flags_, uint32_t instanceCount_, ArrayProxyNoTemporaries<const GeometryNV> const & geometries_, const void * pNext_ = nullptr ) : pNext( pNext_ ) , type( type_ ) , flags( flags_ ) , instanceCount( instanceCount_ ) , geometryCount( static_cast<uint32_t>( geometries_.size() ) ) , pGeometries( geometries_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ AccelerationStructureInfoNV & operator=( AccelerationStructureInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AccelerationStructureInfoNV & operator=( VkAccelerationStructureInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AccelerationStructureInfoNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureInfoNV & setType( AccelerationStructureTypeNV type_ ) VULKAN_HPP_NOEXCEPT { type = type_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureInfoNV & setFlags( BuildAccelerationStructureFlagsNV flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureInfoNV & setInstanceCount( uint32_t instanceCount_ ) VULKAN_HPP_NOEXCEPT { instanceCount = instanceCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureInfoNV & setGeometryCount( uint32_t geometryCount_ ) VULKAN_HPP_NOEXCEPT { geometryCount = geometryCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureInfoNV & setPGeometries( const GeometryNV * pGeometries_ ) VULKAN_HPP_NOEXCEPT { pGeometries = pGeometries_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) AccelerationStructureInfoNV & setGeometries( ArrayProxyNoTemporaries<const GeometryNV> const & geometries_ ) VULKAN_HPP_NOEXCEPT { geometryCount = static_cast<uint32_t>( geometries_.size() ); pGeometries = geometries_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAccelerationStructureInfoNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAccelerationStructureInfoNV *>( this ); } operator VkAccelerationStructureInfoNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAccelerationStructureInfoNV *>( this ); } operator VkAccelerationStructureInfoNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAccelerationStructureInfoNV *>( this ); } operator VkAccelerationStructureInfoNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAccelerationStructureInfoNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, AccelerationStructureTypeNV const &, BuildAccelerationStructureFlagsNV const &, uint32_t const &, uint32_t const &, const GeometryNV * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, type, flags, instanceCount, geometryCount, pGeometries ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( AccelerationStructureInfoNV const & ) const = default; #else bool operator==( AccelerationStructureInfoNV 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 ) && ( type == rhs.type ) && ( flags == rhs.flags ) && ( instanceCount == rhs.instanceCount ) && ( geometryCount == rhs.geometryCount ) && ( pGeometries == rhs.pGeometries ); # endif } bool operator!=( AccelerationStructureInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eAccelerationStructureInfoNV; const void * pNext = {}; AccelerationStructureTypeNV type = {}; BuildAccelerationStructureFlagsNV flags = {}; uint32_t instanceCount = {}; uint32_t geometryCount = {}; const GeometryNV * pGeometries = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAccelerationStructureInfoNV> { using Type = AccelerationStructureInfoNV; }; #endif template <> struct CppType<StructureType, StructureType::eAccelerationStructureInfoNV> { using Type = AccelerationStructureInfoNV; }; // wrapper struct for struct VkAccelerationStructureCreateInfoNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureCreateInfoNV.html struct AccelerationStructureCreateInfoNV { using NativeType = VkAccelerationStructureCreateInfoNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureCreateInfoNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR AccelerationStructureCreateInfoNV( DeviceSize compactedSize_ = {}, AccelerationStructureInfoNV info_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , compactedSize{ compactedSize_ } , info{ info_ } { } VULKAN_HPP_CONSTEXPR AccelerationStructureCreateInfoNV( AccelerationStructureCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; AccelerationStructureCreateInfoNV( VkAccelerationStructureCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT : AccelerationStructureCreateInfoNV( *reinterpret_cast<AccelerationStructureCreateInfoNV const *>( &rhs ) ) { } AccelerationStructureCreateInfoNV & operator=( AccelerationStructureCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AccelerationStructureCreateInfoNV & operator=( VkAccelerationStructureCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AccelerationStructureCreateInfoNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureCreateInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureCreateInfoNV & setCompactedSize( DeviceSize compactedSize_ ) VULKAN_HPP_NOEXCEPT { compactedSize = compactedSize_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureCreateInfoNV & setInfo( AccelerationStructureInfoNV const & info_ ) VULKAN_HPP_NOEXCEPT { info = info_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAccelerationStructureCreateInfoNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAccelerationStructureCreateInfoNV *>( this ); } operator VkAccelerationStructureCreateInfoNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAccelerationStructureCreateInfoNV *>( this ); } operator VkAccelerationStructureCreateInfoNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAccelerationStructureCreateInfoNV *>( this ); } operator VkAccelerationStructureCreateInfoNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAccelerationStructureCreateInfoNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DeviceSize const &, AccelerationStructureInfoNV const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, compactedSize, info ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( AccelerationStructureCreateInfoNV const & ) const = default; #else bool operator==( AccelerationStructureCreateInfoNV 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 ) && ( compactedSize == rhs.compactedSize ) && ( info == rhs.info ); # endif } bool operator!=( AccelerationStructureCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eAccelerationStructureCreateInfoNV; const void * pNext = {}; DeviceSize compactedSize = {}; AccelerationStructureInfoNV info = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAccelerationStructureCreateInfoNV> { using Type = AccelerationStructureCreateInfoNV; }; #endif template <> struct CppType<StructureType, StructureType::eAccelerationStructureCreateInfoNV> { using Type = AccelerationStructureCreateInfoNV; }; #if defined( VK_ENABLE_BETA_EXTENSIONS ) // wrapper struct for struct VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX.html struct AccelerationStructureDenseGeometryFormatTrianglesDataAMDX { using NativeType = VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureDenseGeometryFormatTrianglesDataAMDX; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureDenseGeometryFormatTrianglesDataAMDX( DeviceOrHostAddressConstKHR compressedData_ = {}, DeviceSize dataSize_ = {}, uint32_t numTriangles_ = {}, uint32_t numVertices_ = {}, uint32_t maxPrimitiveIndex_ = {}, uint32_t maxGeometryIndex_ = {}, CompressedTriangleFormatAMDX format_ = CompressedTriangleFormatAMDX::eDgf1, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , compressedData{ compressedData_ } , dataSize{ dataSize_ } , numTriangles{ numTriangles_ } , numVertices{ numVertices_ } , maxPrimitiveIndex{ maxPrimitiveIndex_ } , maxGeometryIndex{ maxGeometryIndex_ } , format{ format_ } { } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureDenseGeometryFormatTrianglesDataAMDX( AccelerationStructureDenseGeometryFormatTrianglesDataAMDX const & rhs ) VULKAN_HPP_NOEXCEPT = default; AccelerationStructureDenseGeometryFormatTrianglesDataAMDX( VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX const & rhs ) VULKAN_HPP_NOEXCEPT : AccelerationStructureDenseGeometryFormatTrianglesDataAMDX( *reinterpret_cast<AccelerationStructureDenseGeometryFormatTrianglesDataAMDX const *>( &rhs ) ) { } AccelerationStructureDenseGeometryFormatTrianglesDataAMDX & operator=( AccelerationStructureDenseGeometryFormatTrianglesDataAMDX const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AccelerationStructureDenseGeometryFormatTrianglesDataAMDX & operator=( VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AccelerationStructureDenseGeometryFormatTrianglesDataAMDX const *>( &rhs ); return *this; } # if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureDenseGeometryFormatTrianglesDataAMDX & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureDenseGeometryFormatTrianglesDataAMDX & setCompressedData( DeviceOrHostAddressConstKHR const & compressedData_ ) VULKAN_HPP_NOEXCEPT { compressedData = compressedData_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureDenseGeometryFormatTrianglesDataAMDX & setDataSize( DeviceSize dataSize_ ) VULKAN_HPP_NOEXCEPT { dataSize = dataSize_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureDenseGeometryFormatTrianglesDataAMDX & setNumTriangles( uint32_t numTriangles_ ) VULKAN_HPP_NOEXCEPT { numTriangles = numTriangles_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureDenseGeometryFormatTrianglesDataAMDX & setNumVertices( uint32_t numVertices_ ) VULKAN_HPP_NOEXCEPT { numVertices = numVertices_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureDenseGeometryFormatTrianglesDataAMDX & setMaxPrimitiveIndex( uint32_t maxPrimitiveIndex_ ) VULKAN_HPP_NOEXCEPT { maxPrimitiveIndex = maxPrimitiveIndex_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureDenseGeometryFormatTrianglesDataAMDX & setMaxGeometryIndex( uint32_t maxGeometryIndex_ ) VULKAN_HPP_NOEXCEPT { maxGeometryIndex = maxGeometryIndex_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureDenseGeometryFormatTrianglesDataAMDX & setFormat( CompressedTriangleFormatAMDX format_ ) VULKAN_HPP_NOEXCEPT { format = format_; return *this; } # endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX *>( this ); } operator VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX *>( this ); } operator VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX *>( this ); } operator VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DeviceOrHostAddressConstKHR const &, DeviceSize const &, uint32_t const &, uint32_t const &, uint32_t const &, uint32_t const &, CompressedTriangleFormatAMDX const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, compressedData, dataSize, numTriangles, numVertices, maxPrimitiveIndex, maxGeometryIndex, format ); } # endif public: StructureType sType = StructureType::eAccelerationStructureDenseGeometryFormatTrianglesDataAMDX; const void * pNext = {}; DeviceOrHostAddressConstKHR compressedData = {}; DeviceSize dataSize = {}; uint32_t numTriangles = {}; uint32_t numVertices = {}; uint32_t maxPrimitiveIndex = {}; uint32_t maxGeometryIndex = {}; CompressedTriangleFormatAMDX format = CompressedTriangleFormatAMDX::eDgf1; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX> { using Type = AccelerationStructureDenseGeometryFormatTrianglesDataAMDX; }; # endif template <> struct CppType<StructureType, StructureType::eAccelerationStructureDenseGeometryFormatTrianglesDataAMDX> { using Type = AccelerationStructureDenseGeometryFormatTrianglesDataAMDX; }; #endif /*VK_ENABLE_BETA_EXTENSIONS*/ // wrapper struct for struct VkAccelerationStructureDeviceAddressInfoKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureDeviceAddressInfoKHR.html struct AccelerationStructureDeviceAddressInfoKHR { using NativeType = VkAccelerationStructureDeviceAddressInfoKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureDeviceAddressInfoKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR AccelerationStructureDeviceAddressInfoKHR( AccelerationStructureKHR accelerationStructure_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , accelerationStructure{ accelerationStructure_ } { } VULKAN_HPP_CONSTEXPR AccelerationStructureDeviceAddressInfoKHR( AccelerationStructureDeviceAddressInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; AccelerationStructureDeviceAddressInfoKHR( VkAccelerationStructureDeviceAddressInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : AccelerationStructureDeviceAddressInfoKHR( *reinterpret_cast<AccelerationStructureDeviceAddressInfoKHR const *>( &rhs ) ) { } AccelerationStructureDeviceAddressInfoKHR & operator=( AccelerationStructureDeviceAddressInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AccelerationStructureDeviceAddressInfoKHR & operator=( VkAccelerationStructureDeviceAddressInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AccelerationStructureDeviceAddressInfoKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureDeviceAddressInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureDeviceAddressInfoKHR & setAccelerationStructure( AccelerationStructureKHR accelerationStructure_ ) VULKAN_HPP_NOEXCEPT { accelerationStructure = accelerationStructure_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAccelerationStructureDeviceAddressInfoKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAccelerationStructureDeviceAddressInfoKHR *>( this ); } operator VkAccelerationStructureDeviceAddressInfoKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAccelerationStructureDeviceAddressInfoKHR *>( this ); } operator VkAccelerationStructureDeviceAddressInfoKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAccelerationStructureDeviceAddressInfoKHR *>( this ); } operator VkAccelerationStructureDeviceAddressInfoKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAccelerationStructureDeviceAddressInfoKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, AccelerationStructureKHR const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, accelerationStructure ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( AccelerationStructureDeviceAddressInfoKHR const & ) const = default; #else bool operator==( AccelerationStructureDeviceAddressInfoKHR 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 ) && ( accelerationStructure == rhs.accelerationStructure ); # endif } bool operator!=( AccelerationStructureDeviceAddressInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eAccelerationStructureDeviceAddressInfoKHR; const void * pNext = {}; AccelerationStructureKHR accelerationStructure = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAccelerationStructureDeviceAddressInfoKHR> { using Type = AccelerationStructureDeviceAddressInfoKHR; }; #endif template <> struct CppType<StructureType, StructureType::eAccelerationStructureDeviceAddressInfoKHR> { using Type = AccelerationStructureDeviceAddressInfoKHR; }; // wrapper struct for struct VkAccelerationStructureGeometryLinearSweptSpheresDataNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureGeometryLinearSweptSpheresDataNV.html struct AccelerationStructureGeometryLinearSweptSpheresDataNV { using NativeType = VkAccelerationStructureGeometryLinearSweptSpheresDataNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureGeometryLinearSweptSpheresDataNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryLinearSweptSpheresDataNV( Format vertexFormat_ = Format::eUndefined, DeviceOrHostAddressConstKHR vertexData_ = {}, DeviceSize vertexStride_ = {}, Format radiusFormat_ = Format::eUndefined, DeviceOrHostAddressConstKHR radiusData_ = {}, DeviceSize radiusStride_ = {}, IndexType indexType_ = IndexType::eUint16, DeviceOrHostAddressConstKHR indexData_ = {}, DeviceSize indexStride_ = {}, RayTracingLssIndexingModeNV indexingMode_ = RayTracingLssIndexingModeNV::eList, RayTracingLssPrimitiveEndCapsModeNV endCapsMode_ = RayTracingLssPrimitiveEndCapsModeNV::eNone, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , vertexFormat{ vertexFormat_ } , vertexData{ vertexData_ } , vertexStride{ vertexStride_ } , radiusFormat{ radiusFormat_ } , radiusData{ radiusData_ } , radiusStride{ radiusStride_ } , indexType{ indexType_ } , indexData{ indexData_ } , indexStride{ indexStride_ } , indexingMode{ indexingMode_ } , endCapsMode{ endCapsMode_ } { } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryLinearSweptSpheresDataNV( AccelerationStructureGeometryLinearSweptSpheresDataNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; AccelerationStructureGeometryLinearSweptSpheresDataNV( VkAccelerationStructureGeometryLinearSweptSpheresDataNV const & rhs ) VULKAN_HPP_NOEXCEPT : AccelerationStructureGeometryLinearSweptSpheresDataNV( *reinterpret_cast<AccelerationStructureGeometryLinearSweptSpheresDataNV const *>( &rhs ) ) { } AccelerationStructureGeometryLinearSweptSpheresDataNV & operator=( AccelerationStructureGeometryLinearSweptSpheresDataNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AccelerationStructureGeometryLinearSweptSpheresDataNV & operator=( VkAccelerationStructureGeometryLinearSweptSpheresDataNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AccelerationStructureGeometryLinearSweptSpheresDataNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryLinearSweptSpheresDataNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryLinearSweptSpheresDataNV & setVertexFormat( Format vertexFormat_ ) VULKAN_HPP_NOEXCEPT { vertexFormat = vertexFormat_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryLinearSweptSpheresDataNV & setVertexData( DeviceOrHostAddressConstKHR const & vertexData_ ) VULKAN_HPP_NOEXCEPT { vertexData = vertexData_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryLinearSweptSpheresDataNV & setVertexStride( DeviceSize vertexStride_ ) VULKAN_HPP_NOEXCEPT { vertexStride = vertexStride_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryLinearSweptSpheresDataNV & setRadiusFormat( Format radiusFormat_ ) VULKAN_HPP_NOEXCEPT { radiusFormat = radiusFormat_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryLinearSweptSpheresDataNV & setRadiusData( DeviceOrHostAddressConstKHR const & radiusData_ ) VULKAN_HPP_NOEXCEPT { radiusData = radiusData_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryLinearSweptSpheresDataNV & setRadiusStride( DeviceSize radiusStride_ ) VULKAN_HPP_NOEXCEPT { radiusStride = radiusStride_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryLinearSweptSpheresDataNV & setIndexType( IndexType indexType_ ) VULKAN_HPP_NOEXCEPT { indexType = indexType_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryLinearSweptSpheresDataNV & setIndexData( DeviceOrHostAddressConstKHR const & indexData_ ) VULKAN_HPP_NOEXCEPT { indexData = indexData_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryLinearSweptSpheresDataNV & setIndexStride( DeviceSize indexStride_ ) VULKAN_HPP_NOEXCEPT { indexStride = indexStride_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryLinearSweptSpheresDataNV & setIndexingMode( RayTracingLssIndexingModeNV indexingMode_ ) VULKAN_HPP_NOEXCEPT { indexingMode = indexingMode_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryLinearSweptSpheresDataNV & setEndCapsMode( RayTracingLssPrimitiveEndCapsModeNV endCapsMode_ ) VULKAN_HPP_NOEXCEPT { endCapsMode = endCapsMode_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAccelerationStructureGeometryLinearSweptSpheresDataNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAccelerationStructureGeometryLinearSweptSpheresDataNV *>( this ); } operator VkAccelerationStructureGeometryLinearSweptSpheresDataNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAccelerationStructureGeometryLinearSweptSpheresDataNV *>( this ); } operator VkAccelerationStructureGeometryLinearSweptSpheresDataNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAccelerationStructureGeometryLinearSweptSpheresDataNV *>( this ); } operator VkAccelerationStructureGeometryLinearSweptSpheresDataNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAccelerationStructureGeometryLinearSweptSpheresDataNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Format const &, DeviceOrHostAddressConstKHR const &, DeviceSize const &, Format const &, DeviceOrHostAddressConstKHR const &, DeviceSize const &, IndexType const &, DeviceOrHostAddressConstKHR const &, DeviceSize const &, RayTracingLssIndexingModeNV const &, RayTracingLssPrimitiveEndCapsModeNV const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, vertexFormat, vertexData, vertexStride, radiusFormat, radiusData, radiusStride, indexType, indexData, indexStride, indexingMode, endCapsMode ); } #endif public: StructureType sType = StructureType::eAccelerationStructureGeometryLinearSweptSpheresDataNV; const void * pNext = {}; Format vertexFormat = Format::eUndefined; DeviceOrHostAddressConstKHR vertexData = {}; DeviceSize vertexStride = {}; Format radiusFormat = Format::eUndefined; DeviceOrHostAddressConstKHR radiusData = {}; DeviceSize radiusStride = {}; IndexType indexType = IndexType::eUint16; DeviceOrHostAddressConstKHR indexData = {}; DeviceSize indexStride = {}; RayTracingLssIndexingModeNV indexingMode = RayTracingLssIndexingModeNV::eList; RayTracingLssPrimitiveEndCapsModeNV endCapsMode = RayTracingLssPrimitiveEndCapsModeNV::eNone; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAccelerationStructureGeometryLinearSweptSpheresDataNV> { using Type = AccelerationStructureGeometryLinearSweptSpheresDataNV; }; #endif template <> struct CppType<StructureType, StructureType::eAccelerationStructureGeometryLinearSweptSpheresDataNV> { using Type = AccelerationStructureGeometryLinearSweptSpheresDataNV; }; // wrapper struct for struct VkAccelerationStructureGeometryMotionTrianglesDataNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureGeometryMotionTrianglesDataNV.html struct AccelerationStructureGeometryMotionTrianglesDataNV { using NativeType = VkAccelerationStructureGeometryMotionTrianglesDataNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureGeometryMotionTrianglesDataNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryMotionTrianglesDataNV( DeviceOrHostAddressConstKHR vertexData_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , vertexData{ vertexData_ } { } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryMotionTrianglesDataNV( AccelerationStructureGeometryMotionTrianglesDataNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; AccelerationStructureGeometryMotionTrianglesDataNV( VkAccelerationStructureGeometryMotionTrianglesDataNV const & rhs ) VULKAN_HPP_NOEXCEPT : AccelerationStructureGeometryMotionTrianglesDataNV( *reinterpret_cast<AccelerationStructureGeometryMotionTrianglesDataNV const *>( &rhs ) ) { } AccelerationStructureGeometryMotionTrianglesDataNV & operator=( AccelerationStructureGeometryMotionTrianglesDataNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AccelerationStructureGeometryMotionTrianglesDataNV & operator=( VkAccelerationStructureGeometryMotionTrianglesDataNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AccelerationStructureGeometryMotionTrianglesDataNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryMotionTrianglesDataNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryMotionTrianglesDataNV & setVertexData( DeviceOrHostAddressConstKHR const & vertexData_ ) VULKAN_HPP_NOEXCEPT { vertexData = vertexData_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAccelerationStructureGeometryMotionTrianglesDataNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAccelerationStructureGeometryMotionTrianglesDataNV *>( this ); } operator VkAccelerationStructureGeometryMotionTrianglesDataNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAccelerationStructureGeometryMotionTrianglesDataNV *>( this ); } operator VkAccelerationStructureGeometryMotionTrianglesDataNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAccelerationStructureGeometryMotionTrianglesDataNV *>( this ); } operator VkAccelerationStructureGeometryMotionTrianglesDataNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAccelerationStructureGeometryMotionTrianglesDataNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DeviceOrHostAddressConstKHR const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, vertexData ); } #endif public: StructureType sType = StructureType::eAccelerationStructureGeometryMotionTrianglesDataNV; const void * pNext = {}; DeviceOrHostAddressConstKHR vertexData = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAccelerationStructureGeometryMotionTrianglesDataNV> { using Type = AccelerationStructureGeometryMotionTrianglesDataNV; }; #endif template <> struct CppType<StructureType, StructureType::eAccelerationStructureGeometryMotionTrianglesDataNV> { using Type = AccelerationStructureGeometryMotionTrianglesDataNV; }; // wrapper struct for struct VkAccelerationStructureGeometrySpheresDataNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureGeometrySpheresDataNV.html struct AccelerationStructureGeometrySpheresDataNV { using NativeType = VkAccelerationStructureGeometrySpheresDataNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureGeometrySpheresDataNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometrySpheresDataNV( Format vertexFormat_ = Format::eUndefined, DeviceOrHostAddressConstKHR vertexData_ = {}, DeviceSize vertexStride_ = {}, Format radiusFormat_ = Format::eUndefined, DeviceOrHostAddressConstKHR radiusData_ = {}, DeviceSize radiusStride_ = {}, IndexType indexType_ = IndexType::eUint16, DeviceOrHostAddressConstKHR indexData_ = {}, DeviceSize indexStride_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , vertexFormat{ vertexFormat_ } , vertexData{ vertexData_ } , vertexStride{ vertexStride_ } , radiusFormat{ radiusFormat_ } , radiusData{ radiusData_ } , radiusStride{ radiusStride_ } , indexType{ indexType_ } , indexData{ indexData_ } , indexStride{ indexStride_ } { } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometrySpheresDataNV( AccelerationStructureGeometrySpheresDataNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; AccelerationStructureGeometrySpheresDataNV( VkAccelerationStructureGeometrySpheresDataNV const & rhs ) VULKAN_HPP_NOEXCEPT : AccelerationStructureGeometrySpheresDataNV( *reinterpret_cast<AccelerationStructureGeometrySpheresDataNV const *>( &rhs ) ) { } AccelerationStructureGeometrySpheresDataNV & operator=( AccelerationStructureGeometrySpheresDataNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AccelerationStructureGeometrySpheresDataNV & operator=( VkAccelerationStructureGeometrySpheresDataNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AccelerationStructureGeometrySpheresDataNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometrySpheresDataNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometrySpheresDataNV & setVertexFormat( Format vertexFormat_ ) VULKAN_HPP_NOEXCEPT { vertexFormat = vertexFormat_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometrySpheresDataNV & setVertexData( DeviceOrHostAddressConstKHR const & vertexData_ ) VULKAN_HPP_NOEXCEPT { vertexData = vertexData_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometrySpheresDataNV & setVertexStride( DeviceSize vertexStride_ ) VULKAN_HPP_NOEXCEPT { vertexStride = vertexStride_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometrySpheresDataNV & setRadiusFormat( Format radiusFormat_ ) VULKAN_HPP_NOEXCEPT { radiusFormat = radiusFormat_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometrySpheresDataNV & setRadiusData( DeviceOrHostAddressConstKHR const & radiusData_ ) VULKAN_HPP_NOEXCEPT { radiusData = radiusData_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometrySpheresDataNV & setRadiusStride( DeviceSize radiusStride_ ) VULKAN_HPP_NOEXCEPT { radiusStride = radiusStride_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometrySpheresDataNV & setIndexType( IndexType indexType_ ) VULKAN_HPP_NOEXCEPT { indexType = indexType_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometrySpheresDataNV & setIndexData( DeviceOrHostAddressConstKHR const & indexData_ ) VULKAN_HPP_NOEXCEPT { indexData = indexData_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometrySpheresDataNV & setIndexStride( DeviceSize indexStride_ ) VULKAN_HPP_NOEXCEPT { indexStride = indexStride_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAccelerationStructureGeometrySpheresDataNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAccelerationStructureGeometrySpheresDataNV *>( this ); } operator VkAccelerationStructureGeometrySpheresDataNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAccelerationStructureGeometrySpheresDataNV *>( this ); } operator VkAccelerationStructureGeometrySpheresDataNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAccelerationStructureGeometrySpheresDataNV *>( this ); } operator VkAccelerationStructureGeometrySpheresDataNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAccelerationStructureGeometrySpheresDataNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Format const &, DeviceOrHostAddressConstKHR const &, DeviceSize const &, Format const &, DeviceOrHostAddressConstKHR const &, DeviceSize const &, IndexType const &, DeviceOrHostAddressConstKHR const &, DeviceSize const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, vertexFormat, vertexData, vertexStride, radiusFormat, radiusData, radiusStride, indexType, indexData, indexStride ); } #endif public: StructureType sType = StructureType::eAccelerationStructureGeometrySpheresDataNV; const void * pNext = {}; Format vertexFormat = Format::eUndefined; DeviceOrHostAddressConstKHR vertexData = {}; DeviceSize vertexStride = {}; Format radiusFormat = Format::eUndefined; DeviceOrHostAddressConstKHR radiusData = {}; DeviceSize radiusStride = {}; IndexType indexType = IndexType::eUint16; DeviceOrHostAddressConstKHR indexData = {}; DeviceSize indexStride = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAccelerationStructureGeometrySpheresDataNV> { using Type = AccelerationStructureGeometrySpheresDataNV; }; #endif template <> struct CppType<StructureType, StructureType::eAccelerationStructureGeometrySpheresDataNV> { using Type = AccelerationStructureGeometrySpheresDataNV; }; // wrapper struct for struct VkTransformMatrixKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkTransformMatrixKHR.html struct TransformMatrixKHR { using NativeType = VkTransformMatrixKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 TransformMatrixKHR( std::array<std::array<float, 4>, 3> const & matrix_ = {} ) VULKAN_HPP_NOEXCEPT : matrix{ matrix_ } {} VULKAN_HPP_CONSTEXPR_14 TransformMatrixKHR( TransformMatrixKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; TransformMatrixKHR( VkTransformMatrixKHR const & rhs ) VULKAN_HPP_NOEXCEPT : TransformMatrixKHR( *reinterpret_cast<TransformMatrixKHR const *>( &rhs ) ) {} TransformMatrixKHR & operator=( TransformMatrixKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ TransformMatrixKHR & operator=( VkTransformMatrixKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<TransformMatrixKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 TransformMatrixKHR & setMatrix( std::array<std::array<float, 4>, 3> matrix_ ) VULKAN_HPP_NOEXCEPT { matrix = matrix_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkTransformMatrixKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkTransformMatrixKHR *>( this ); } operator VkTransformMatrixKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkTransformMatrixKHR *>( this ); } operator VkTransformMatrixKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkTransformMatrixKHR *>( this ); } operator VkTransformMatrixKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkTransformMatrixKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<ArrayWrapper2D<float, 3, 4> const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( matrix ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( TransformMatrixKHR const & ) const = default; #else bool operator==( TransformMatrixKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( matrix == rhs.matrix ); # endif } bool operator!=( TransformMatrixKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: ArrayWrapper2D<float, 3, 4> matrix = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkTransformMatrixKHR> { using Type = TransformMatrixKHR; }; #endif using TransformMatrixNV = TransformMatrixKHR; // wrapper struct for struct VkAccelerationStructureInstanceKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureInstanceKHR.html struct AccelerationStructureInstanceKHR { using NativeType = VkAccelerationStructureInstanceKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureInstanceKHR( TransformMatrixKHR transform_ = {}, uint32_t instanceCustomIndex_ = {}, uint32_t mask_ = {}, uint32_t instanceShaderBindingTableRecordOffset_ = {}, GeometryInstanceFlagsKHR flags_ = {}, uint64_t accelerationStructureReference_ = {} ) VULKAN_HPP_NOEXCEPT : transform{ transform_ } , instanceCustomIndex{ instanceCustomIndex_ } , mask{ mask_ } , instanceShaderBindingTableRecordOffset{ instanceShaderBindingTableRecordOffset_ } , flags{ flags_ } , accelerationStructureReference{ accelerationStructureReference_ } { } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureInstanceKHR( AccelerationStructureInstanceKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; AccelerationStructureInstanceKHR( VkAccelerationStructureInstanceKHR const & rhs ) VULKAN_HPP_NOEXCEPT : AccelerationStructureInstanceKHR( *reinterpret_cast<AccelerationStructureInstanceKHR const *>( &rhs ) ) { } AccelerationStructureInstanceKHR & operator=( AccelerationStructureInstanceKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AccelerationStructureInstanceKHR & operator=( VkAccelerationStructureInstanceKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AccelerationStructureInstanceKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureInstanceKHR & setTransform( TransformMatrixKHR const & transform_ ) VULKAN_HPP_NOEXCEPT { transform = transform_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureInstanceKHR & setInstanceCustomIndex( uint32_t instanceCustomIndex_ ) VULKAN_HPP_NOEXCEPT { instanceCustomIndex = instanceCustomIndex_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureInstanceKHR & setMask( uint32_t mask_ ) VULKAN_HPP_NOEXCEPT { mask = mask_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureInstanceKHR & setInstanceShaderBindingTableRecordOffset( uint32_t instanceShaderBindingTableRecordOffset_ ) VULKAN_HPP_NOEXCEPT { instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset_; return *this; } AccelerationStructureInstanceKHR & setFlags( GeometryInstanceFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT { flags = *reinterpret_cast<VkGeometryInstanceFlagsKHR *>( &flags_ ); return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureInstanceKHR & setAccelerationStructureReference( uint64_t accelerationStructureReference_ ) VULKAN_HPP_NOEXCEPT { accelerationStructureReference = accelerationStructureReference_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAccelerationStructureInstanceKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAccelerationStructureInstanceKHR *>( this ); } operator VkAccelerationStructureInstanceKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAccelerationStructureInstanceKHR *>( this ); } operator VkAccelerationStructureInstanceKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAccelerationStructureInstanceKHR *>( this ); } operator VkAccelerationStructureInstanceKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAccelerationStructureInstanceKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<TransformMatrixKHR const &, uint32_t const &, uint32_t const &, uint32_t const &, VkGeometryInstanceFlagsKHR const &, uint64_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( transform, instanceCustomIndex, mask, instanceShaderBindingTableRecordOffset, flags, accelerationStructureReference ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( AccelerationStructureInstanceKHR const & ) const = default; #else bool operator==( AccelerationStructureInstanceKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( transform == rhs.transform ) && ( instanceCustomIndex == rhs.instanceCustomIndex ) && ( mask == rhs.mask ) && ( instanceShaderBindingTableRecordOffset == rhs.instanceShaderBindingTableRecordOffset ) && ( flags == rhs.flags ) && ( accelerationStructureReference == rhs.accelerationStructureReference ); # endif } bool operator!=( AccelerationStructureInstanceKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: TransformMatrixKHR transform = {}; uint32_t instanceCustomIndex : 24; uint32_t mask : 8; uint32_t instanceShaderBindingTableRecordOffset : 24; VkGeometryInstanceFlagsKHR flags : 8; uint64_t accelerationStructureReference = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAccelerationStructureInstanceKHR> { using Type = AccelerationStructureInstanceKHR; }; #endif using AccelerationStructureInstanceNV = AccelerationStructureInstanceKHR; // wrapper struct for struct VkAccelerationStructureMatrixMotionInstanceNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureMatrixMotionInstanceNV.html struct AccelerationStructureMatrixMotionInstanceNV { using NativeType = VkAccelerationStructureMatrixMotionInstanceNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMatrixMotionInstanceNV( TransformMatrixKHR transformT0_ = {}, TransformMatrixKHR transformT1_ = {}, uint32_t instanceCustomIndex_ = {}, uint32_t mask_ = {}, uint32_t instanceShaderBindingTableRecordOffset_ = {}, GeometryInstanceFlagsKHR flags_ = {}, uint64_t accelerationStructureReference_ = {} ) VULKAN_HPP_NOEXCEPT : transformT0{ transformT0_ } , transformT1{ transformT1_ } , instanceCustomIndex{ instanceCustomIndex_ } , mask{ mask_ } , instanceShaderBindingTableRecordOffset{ instanceShaderBindingTableRecordOffset_ } , flags{ flags_ } , accelerationStructureReference{ accelerationStructureReference_ } { } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMatrixMotionInstanceNV( AccelerationStructureMatrixMotionInstanceNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; AccelerationStructureMatrixMotionInstanceNV( VkAccelerationStructureMatrixMotionInstanceNV const & rhs ) VULKAN_HPP_NOEXCEPT : AccelerationStructureMatrixMotionInstanceNV( *reinterpret_cast<AccelerationStructureMatrixMotionInstanceNV const *>( &rhs ) ) { } AccelerationStructureMatrixMotionInstanceNV & operator=( AccelerationStructureMatrixMotionInstanceNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AccelerationStructureMatrixMotionInstanceNV & operator=( VkAccelerationStructureMatrixMotionInstanceNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AccelerationStructureMatrixMotionInstanceNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMatrixMotionInstanceNV & setTransformT0( TransformMatrixKHR const & transformT0_ ) VULKAN_HPP_NOEXCEPT { transformT0 = transformT0_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMatrixMotionInstanceNV & setTransformT1( TransformMatrixKHR const & transformT1_ ) VULKAN_HPP_NOEXCEPT { transformT1 = transformT1_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMatrixMotionInstanceNV & setInstanceCustomIndex( uint32_t instanceCustomIndex_ ) VULKAN_HPP_NOEXCEPT { instanceCustomIndex = instanceCustomIndex_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMatrixMotionInstanceNV & setMask( uint32_t mask_ ) VULKAN_HPP_NOEXCEPT { mask = mask_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMatrixMotionInstanceNV & setInstanceShaderBindingTableRecordOffset( uint32_t instanceShaderBindingTableRecordOffset_ ) VULKAN_HPP_NOEXCEPT { instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset_; return *this; } AccelerationStructureMatrixMotionInstanceNV & setFlags( GeometryInstanceFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT { flags = *reinterpret_cast<VkGeometryInstanceFlagsKHR *>( &flags_ ); return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMatrixMotionInstanceNV & setAccelerationStructureReference( uint64_t accelerationStructureReference_ ) VULKAN_HPP_NOEXCEPT { accelerationStructureReference = accelerationStructureReference_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAccelerationStructureMatrixMotionInstanceNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAccelerationStructureMatrixMotionInstanceNV *>( this ); } operator VkAccelerationStructureMatrixMotionInstanceNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAccelerationStructureMatrixMotionInstanceNV *>( this ); } operator VkAccelerationStructureMatrixMotionInstanceNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAccelerationStructureMatrixMotionInstanceNV *>( this ); } operator VkAccelerationStructureMatrixMotionInstanceNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAccelerationStructureMatrixMotionInstanceNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<TransformMatrixKHR const &, TransformMatrixKHR const &, uint32_t const &, uint32_t const &, uint32_t const &, VkGeometryInstanceFlagsKHR const &, uint64_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( transformT0, transformT1, instanceCustomIndex, mask, instanceShaderBindingTableRecordOffset, flags, accelerationStructureReference ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( AccelerationStructureMatrixMotionInstanceNV const & ) const = default; #else bool operator==( AccelerationStructureMatrixMotionInstanceNV const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( transformT0 == rhs.transformT0 ) && ( transformT1 == rhs.transformT1 ) && ( instanceCustomIndex == rhs.instanceCustomIndex ) && ( mask == rhs.mask ) && ( instanceShaderBindingTableRecordOffset == rhs.instanceShaderBindingTableRecordOffset ) && ( flags == rhs.flags ) && ( accelerationStructureReference == rhs.accelerationStructureReference ); # endif } bool operator!=( AccelerationStructureMatrixMotionInstanceNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: TransformMatrixKHR transformT0 = {}; TransformMatrixKHR transformT1 = {}; uint32_t instanceCustomIndex : 24; uint32_t mask : 8; uint32_t instanceShaderBindingTableRecordOffset : 24; VkGeometryInstanceFlagsKHR flags : 8; uint64_t accelerationStructureReference = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAccelerationStructureMatrixMotionInstanceNV> { using Type = AccelerationStructureMatrixMotionInstanceNV; }; #endif // wrapper struct for struct VkAccelerationStructureMemoryRequirementsInfoNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureMemoryRequirementsInfoNV.html struct AccelerationStructureMemoryRequirementsInfoNV { using NativeType = VkAccelerationStructureMemoryRequirementsInfoNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureMemoryRequirementsInfoNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR AccelerationStructureMemoryRequirementsInfoNV( AccelerationStructureMemoryRequirementsTypeNV type_ = AccelerationStructureMemoryRequirementsTypeNV::eObject, AccelerationStructureNV accelerationStructure_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , type{ type_ } , accelerationStructure{ accelerationStructure_ } { } VULKAN_HPP_CONSTEXPR AccelerationStructureMemoryRequirementsInfoNV( AccelerationStructureMemoryRequirementsInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; AccelerationStructureMemoryRequirementsInfoNV( VkAccelerationStructureMemoryRequirementsInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT : AccelerationStructureMemoryRequirementsInfoNV( *reinterpret_cast<AccelerationStructureMemoryRequirementsInfoNV const *>( &rhs ) ) { } AccelerationStructureMemoryRequirementsInfoNV & operator=( AccelerationStructureMemoryRequirementsInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AccelerationStructureMemoryRequirementsInfoNV & operator=( VkAccelerationStructureMemoryRequirementsInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AccelerationStructureMemoryRequirementsInfoNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMemoryRequirementsInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMemoryRequirementsInfoNV & setType( AccelerationStructureMemoryRequirementsTypeNV type_ ) VULKAN_HPP_NOEXCEPT { type = type_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMemoryRequirementsInfoNV & setAccelerationStructure( AccelerationStructureNV accelerationStructure_ ) VULKAN_HPP_NOEXCEPT { accelerationStructure = accelerationStructure_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAccelerationStructureMemoryRequirementsInfoNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAccelerationStructureMemoryRequirementsInfoNV *>( this ); } operator VkAccelerationStructureMemoryRequirementsInfoNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAccelerationStructureMemoryRequirementsInfoNV *>( this ); } operator VkAccelerationStructureMemoryRequirementsInfoNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAccelerationStructureMemoryRequirementsInfoNV *>( this ); } operator VkAccelerationStructureMemoryRequirementsInfoNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAccelerationStructureMemoryRequirementsInfoNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, AccelerationStructureMemoryRequirementsTypeNV const &, AccelerationStructureNV const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, type, accelerationStructure ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( AccelerationStructureMemoryRequirementsInfoNV const & ) const = default; #else bool operator==( AccelerationStructureMemoryRequirementsInfoNV 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 ) && ( type == rhs.type ) && ( accelerationStructure == rhs.accelerationStructure ); # endif } bool operator!=( AccelerationStructureMemoryRequirementsInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eAccelerationStructureMemoryRequirementsInfoNV; const void * pNext = {}; AccelerationStructureMemoryRequirementsTypeNV type = AccelerationStructureMemoryRequirementsTypeNV::eObject; AccelerationStructureNV accelerationStructure = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAccelerationStructureMemoryRequirementsInfoNV> { using Type = AccelerationStructureMemoryRequirementsInfoNV; }; #endif template <> struct CppType<StructureType, StructureType::eAccelerationStructureMemoryRequirementsInfoNV> { using Type = AccelerationStructureMemoryRequirementsInfoNV; }; // wrapper struct for struct VkAccelerationStructureMotionInfoNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureMotionInfoNV.html struct AccelerationStructureMotionInfoNV { using NativeType = VkAccelerationStructureMotionInfoNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureMotionInfoNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR AccelerationStructureMotionInfoNV( uint32_t maxInstances_ = {}, AccelerationStructureMotionInfoFlagsNV flags_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , maxInstances{ maxInstances_ } , flags{ flags_ } { } VULKAN_HPP_CONSTEXPR AccelerationStructureMotionInfoNV( AccelerationStructureMotionInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; AccelerationStructureMotionInfoNV( VkAccelerationStructureMotionInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT : AccelerationStructureMotionInfoNV( *reinterpret_cast<AccelerationStructureMotionInfoNV const *>( &rhs ) ) { } AccelerationStructureMotionInfoNV & operator=( AccelerationStructureMotionInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AccelerationStructureMotionInfoNV & operator=( VkAccelerationStructureMotionInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AccelerationStructureMotionInfoNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMotionInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMotionInfoNV & setMaxInstances( uint32_t maxInstances_ ) VULKAN_HPP_NOEXCEPT { maxInstances = maxInstances_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMotionInfoNV & setFlags( AccelerationStructureMotionInfoFlagsNV flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAccelerationStructureMotionInfoNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAccelerationStructureMotionInfoNV *>( this ); } operator VkAccelerationStructureMotionInfoNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAccelerationStructureMotionInfoNV *>( this ); } operator VkAccelerationStructureMotionInfoNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAccelerationStructureMotionInfoNV *>( this ); } operator VkAccelerationStructureMotionInfoNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAccelerationStructureMotionInfoNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, uint32_t const &, AccelerationStructureMotionInfoFlagsNV const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, maxInstances, flags ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( AccelerationStructureMotionInfoNV const & ) const = default; #else bool operator==( AccelerationStructureMotionInfoNV 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 ) && ( maxInstances == rhs.maxInstances ) && ( flags == rhs.flags ); # endif } bool operator!=( AccelerationStructureMotionInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eAccelerationStructureMotionInfoNV; const void * pNext = {}; uint32_t maxInstances = {}; AccelerationStructureMotionInfoFlagsNV flags = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAccelerationStructureMotionInfoNV> { using Type = AccelerationStructureMotionInfoNV; }; #endif template <> struct CppType<StructureType, StructureType::eAccelerationStructureMotionInfoNV> { using Type = AccelerationStructureMotionInfoNV; }; // wrapper struct for struct VkSRTDataNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSRTDataNV.html struct SRTDataNV { using NativeType = VkSRTDataNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR SRTDataNV( float sx_ = {}, float a_ = {}, float b_ = {}, float pvx_ = {}, float sy_ = {}, float c_ = {}, float pvy_ = {}, float sz_ = {}, float pvz_ = {}, float qx_ = {}, float qy_ = {}, float qz_ = {}, float qw_ = {}, float tx_ = {}, float ty_ = {}, float tz_ = {} ) VULKAN_HPP_NOEXCEPT : sx{ sx_ } , a{ a_ } , b{ b_ } , pvx{ pvx_ } , sy{ sy_ } , c{ c_ } , pvy{ pvy_ } , sz{ sz_ } , pvz{ pvz_ } , qx{ qx_ } , qy{ qy_ } , qz{ qz_ } , qw{ qw_ } , tx{ tx_ } , ty{ ty_ } , tz{ tz_ } { } VULKAN_HPP_CONSTEXPR SRTDataNV( SRTDataNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; SRTDataNV( VkSRTDataNV const & rhs ) VULKAN_HPP_NOEXCEPT : SRTDataNV( *reinterpret_cast<SRTDataNV const *>( &rhs ) ) {} SRTDataNV & operator=( SRTDataNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ SRTDataNV & operator=( VkSRTDataNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<SRTDataNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 SRTDataNV & setSx( float sx_ ) VULKAN_HPP_NOEXCEPT { sx = sx_; return *this; } VULKAN_HPP_CONSTEXPR_14 SRTDataNV & setA( float a_ ) VULKAN_HPP_NOEXCEPT { a = a_; return *this; } VULKAN_HPP_CONSTEXPR_14 SRTDataNV & setB( float b_ ) VULKAN_HPP_NOEXCEPT { b = b_; return *this; } VULKAN_HPP_CONSTEXPR_14 SRTDataNV & setPvx( float pvx_ ) VULKAN_HPP_NOEXCEPT { pvx = pvx_; return *this; } VULKAN_HPP_CONSTEXPR_14 SRTDataNV & setSy( float sy_ ) VULKAN_HPP_NOEXCEPT { sy = sy_; return *this; } VULKAN_HPP_CONSTEXPR_14 SRTDataNV & setC( float c_ ) VULKAN_HPP_NOEXCEPT { c = c_; return *this; } VULKAN_HPP_CONSTEXPR_14 SRTDataNV & setPvy( float pvy_ ) VULKAN_HPP_NOEXCEPT { pvy = pvy_; return *this; } VULKAN_HPP_CONSTEXPR_14 SRTDataNV & setSz( float sz_ ) VULKAN_HPP_NOEXCEPT { sz = sz_; return *this; } VULKAN_HPP_CONSTEXPR_14 SRTDataNV & setPvz( float pvz_ ) VULKAN_HPP_NOEXCEPT { pvz = pvz_; return *this; } VULKAN_HPP_CONSTEXPR_14 SRTDataNV & setQx( float qx_ ) VULKAN_HPP_NOEXCEPT { qx = qx_; return *this; } VULKAN_HPP_CONSTEXPR_14 SRTDataNV & setQy( float qy_ ) VULKAN_HPP_NOEXCEPT { qy = qy_; return *this; } VULKAN_HPP_CONSTEXPR_14 SRTDataNV & setQz( float qz_ ) VULKAN_HPP_NOEXCEPT { qz = qz_; return *this; } VULKAN_HPP_CONSTEXPR_14 SRTDataNV & setQw( float qw_ ) VULKAN_HPP_NOEXCEPT { qw = qw_; return *this; } VULKAN_HPP_CONSTEXPR_14 SRTDataNV & setTx( float tx_ ) VULKAN_HPP_NOEXCEPT { tx = tx_; return *this; } VULKAN_HPP_CONSTEXPR_14 SRTDataNV & setTy( float ty_ ) VULKAN_HPP_NOEXCEPT { ty = ty_; return *this; } VULKAN_HPP_CONSTEXPR_14 SRTDataNV & setTz( float tz_ ) VULKAN_HPP_NOEXCEPT { tz = tz_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkSRTDataNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkSRTDataNV *>( this ); } operator VkSRTDataNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkSRTDataNV *>( this ); } operator VkSRTDataNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkSRTDataNV *>( this ); } operator VkSRTDataNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkSRTDataNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<float const &, float const &, float const &, float const &, float const &, float const &, float const &, float const &, float const &, float const &, float const &, float const &, float const &, float const &, float const &, float const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sx, a, b, pvx, sy, c, pvy, sz, pvz, qx, qy, qz, qw, tx, ty, tz ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( SRTDataNV const & ) const = default; #else bool operator==( SRTDataNV const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( sx == rhs.sx ) && ( a == rhs.a ) && ( b == rhs.b ) && ( pvx == rhs.pvx ) && ( sy == rhs.sy ) && ( c == rhs.c ) && ( pvy == rhs.pvy ) && ( sz == rhs.sz ) && ( pvz == rhs.pvz ) && ( qx == rhs.qx ) && ( qy == rhs.qy ) && ( qz == rhs.qz ) && ( qw == rhs.qw ) && ( tx == rhs.tx ) && ( ty == rhs.ty ) && ( tz == rhs.tz ); # endif } bool operator!=( SRTDataNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: float sx = {}; float a = {}; float b = {}; float pvx = {}; float sy = {}; float c = {}; float pvy = {}; float sz = {}; float pvz = {}; float qx = {}; float qy = {}; float qz = {}; float qw = {}; float tx = {}; float ty = {}; float tz = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkSRTDataNV> { using Type = SRTDataNV; }; #endif // wrapper struct for struct VkAccelerationStructureSRTMotionInstanceNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureSRTMotionInstanceNV.html struct AccelerationStructureSRTMotionInstanceNV { using NativeType = VkAccelerationStructureSRTMotionInstanceNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR AccelerationStructureSRTMotionInstanceNV( SRTDataNV transformT0_ = {}, SRTDataNV transformT1_ = {}, uint32_t instanceCustomIndex_ = {}, uint32_t mask_ = {}, uint32_t instanceShaderBindingTableRecordOffset_ = {}, GeometryInstanceFlagsKHR flags_ = {}, uint64_t accelerationStructureReference_ = {} ) VULKAN_HPP_NOEXCEPT : transformT0{ transformT0_ } , transformT1{ transformT1_ } , instanceCustomIndex{ instanceCustomIndex_ } , mask{ mask_ } , instanceShaderBindingTableRecordOffset{ instanceShaderBindingTableRecordOffset_ } , flags{ flags_ } , accelerationStructureReference{ accelerationStructureReference_ } { } VULKAN_HPP_CONSTEXPR AccelerationStructureSRTMotionInstanceNV( AccelerationStructureSRTMotionInstanceNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; AccelerationStructureSRTMotionInstanceNV( VkAccelerationStructureSRTMotionInstanceNV const & rhs ) VULKAN_HPP_NOEXCEPT : AccelerationStructureSRTMotionInstanceNV( *reinterpret_cast<AccelerationStructureSRTMotionInstanceNV const *>( &rhs ) ) { } AccelerationStructureSRTMotionInstanceNV & operator=( AccelerationStructureSRTMotionInstanceNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AccelerationStructureSRTMotionInstanceNV & operator=( VkAccelerationStructureSRTMotionInstanceNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AccelerationStructureSRTMotionInstanceNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureSRTMotionInstanceNV & setTransformT0( SRTDataNV const & transformT0_ ) VULKAN_HPP_NOEXCEPT { transformT0 = transformT0_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureSRTMotionInstanceNV & setTransformT1( SRTDataNV const & transformT1_ ) VULKAN_HPP_NOEXCEPT { transformT1 = transformT1_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureSRTMotionInstanceNV & setInstanceCustomIndex( uint32_t instanceCustomIndex_ ) VULKAN_HPP_NOEXCEPT { instanceCustomIndex = instanceCustomIndex_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureSRTMotionInstanceNV & setMask( uint32_t mask_ ) VULKAN_HPP_NOEXCEPT { mask = mask_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureSRTMotionInstanceNV & setInstanceShaderBindingTableRecordOffset( uint32_t instanceShaderBindingTableRecordOffset_ ) VULKAN_HPP_NOEXCEPT { instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset_; return *this; } AccelerationStructureSRTMotionInstanceNV & setFlags( GeometryInstanceFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT { flags = *reinterpret_cast<VkGeometryInstanceFlagsKHR *>( &flags_ ); return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureSRTMotionInstanceNV & setAccelerationStructureReference( uint64_t accelerationStructureReference_ ) VULKAN_HPP_NOEXCEPT { accelerationStructureReference = accelerationStructureReference_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAccelerationStructureSRTMotionInstanceNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAccelerationStructureSRTMotionInstanceNV *>( this ); } operator VkAccelerationStructureSRTMotionInstanceNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAccelerationStructureSRTMotionInstanceNV *>( this ); } operator VkAccelerationStructureSRTMotionInstanceNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAccelerationStructureSRTMotionInstanceNV *>( this ); } operator VkAccelerationStructureSRTMotionInstanceNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAccelerationStructureSRTMotionInstanceNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<SRTDataNV const &, SRTDataNV const &, uint32_t const &, uint32_t const &, uint32_t const &, VkGeometryInstanceFlagsKHR const &, uint64_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( transformT0, transformT1, instanceCustomIndex, mask, instanceShaderBindingTableRecordOffset, flags, accelerationStructureReference ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( AccelerationStructureSRTMotionInstanceNV const & ) const = default; #else bool operator==( AccelerationStructureSRTMotionInstanceNV const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( transformT0 == rhs.transformT0 ) && ( transformT1 == rhs.transformT1 ) && ( instanceCustomIndex == rhs.instanceCustomIndex ) && ( mask == rhs.mask ) && ( instanceShaderBindingTableRecordOffset == rhs.instanceShaderBindingTableRecordOffset ) && ( flags == rhs.flags ) && ( accelerationStructureReference == rhs.accelerationStructureReference ); # endif } bool operator!=( AccelerationStructureSRTMotionInstanceNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: SRTDataNV transformT0 = {}; SRTDataNV transformT1 = {}; uint32_t instanceCustomIndex : 24; uint32_t mask : 8; uint32_t instanceShaderBindingTableRecordOffset : 24; VkGeometryInstanceFlagsKHR flags : 8; uint64_t accelerationStructureReference = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAccelerationStructureSRTMotionInstanceNV> { using Type = AccelerationStructureSRTMotionInstanceNV; }; #endif union AccelerationStructureMotionInstanceDataNV { using NativeType = VkAccelerationStructureMotionInstanceDataNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_UNION_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMotionInstanceDataNV( AccelerationStructureInstanceKHR staticInstance_ = {} ) : staticInstance( staticInstance_ ) { } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMotionInstanceDataNV( AccelerationStructureMatrixMotionInstanceNV matrixMotionInstance_ ) : matrixMotionInstance( matrixMotionInstance_ ) { } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMotionInstanceDataNV( AccelerationStructureSRTMotionInstanceNV srtMotionInstance_ ) : srtMotionInstance( srtMotionInstance_ ) { } #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_UNION_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMotionInstanceDataNV & setStaticInstance( AccelerationStructureInstanceKHR const & staticInstance_ ) VULKAN_HPP_NOEXCEPT { staticInstance = staticInstance_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMotionInstanceDataNV & setMatrixMotionInstance( AccelerationStructureMatrixMotionInstanceNV const & matrixMotionInstance_ ) VULKAN_HPP_NOEXCEPT { matrixMotionInstance = matrixMotionInstance_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMotionInstanceDataNV & setSrtMotionInstance( AccelerationStructureSRTMotionInstanceNV const & srtMotionInstance_ ) VULKAN_HPP_NOEXCEPT { srtMotionInstance = srtMotionInstance_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAccelerationStructureMotionInstanceDataNV const &() const { return *reinterpret_cast<const VkAccelerationStructureMotionInstanceDataNV *>( this ); } operator VkAccelerationStructureMotionInstanceDataNV &() { return *reinterpret_cast<VkAccelerationStructureMotionInstanceDataNV *>( this ); } #ifdef VULKAN_HPP_HAS_UNRESTRICTED_UNIONS AccelerationStructureInstanceKHR staticInstance; AccelerationStructureMatrixMotionInstanceNV matrixMotionInstance; AccelerationStructureSRTMotionInstanceNV srtMotionInstance; #else VkAccelerationStructureInstanceKHR staticInstance; VkAccelerationStructureMatrixMotionInstanceNV matrixMotionInstance; VkAccelerationStructureSRTMotionInstanceNV srtMotionInstance; #endif /*VULKAN_HPP_HAS_UNRESTRICTED_UNIONS*/ }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAccelerationStructureMotionInstanceDataNV> { using Type = AccelerationStructureMotionInstanceDataNV; }; #endif // wrapper struct for struct VkAccelerationStructureMotionInstanceNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureMotionInstanceNV.html struct AccelerationStructureMotionInstanceNV { using NativeType = VkAccelerationStructureMotionInstanceNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMotionInstanceNV( AccelerationStructureMotionInstanceTypeNV type_ = AccelerationStructureMotionInstanceTypeNV::eStatic, AccelerationStructureMotionInstanceFlagsNV flags_ = {}, AccelerationStructureMotionInstanceDataNV data_ = {} ) VULKAN_HPP_NOEXCEPT : type{ type_ } , flags{ flags_ } , data{ data_ } { } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMotionInstanceNV( AccelerationStructureMotionInstanceNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; AccelerationStructureMotionInstanceNV( VkAccelerationStructureMotionInstanceNV const & rhs ) VULKAN_HPP_NOEXCEPT : AccelerationStructureMotionInstanceNV( *reinterpret_cast<AccelerationStructureMotionInstanceNV const *>( &rhs ) ) { } AccelerationStructureMotionInstanceNV & operator=( AccelerationStructureMotionInstanceNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AccelerationStructureMotionInstanceNV & operator=( VkAccelerationStructureMotionInstanceNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AccelerationStructureMotionInstanceNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMotionInstanceNV & setType( AccelerationStructureMotionInstanceTypeNV type_ ) VULKAN_HPP_NOEXCEPT { type = type_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMotionInstanceNV & setFlags( AccelerationStructureMotionInstanceFlagsNV flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMotionInstanceNV & setData( AccelerationStructureMotionInstanceDataNV const & data_ ) VULKAN_HPP_NOEXCEPT { data = data_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAccelerationStructureMotionInstanceNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAccelerationStructureMotionInstanceNV *>( this ); } operator VkAccelerationStructureMotionInstanceNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAccelerationStructureMotionInstanceNV *>( this ); } operator VkAccelerationStructureMotionInstanceNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAccelerationStructureMotionInstanceNV *>( this ); } operator VkAccelerationStructureMotionInstanceNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAccelerationStructureMotionInstanceNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<AccelerationStructureMotionInstanceTypeNV const &, AccelerationStructureMotionInstanceFlagsNV const &, AccelerationStructureMotionInstanceDataNV const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( type, flags, data ); } #endif public: AccelerationStructureMotionInstanceTypeNV type = AccelerationStructureMotionInstanceTypeNV::eStatic; AccelerationStructureMotionInstanceFlagsNV flags = {}; AccelerationStructureMotionInstanceDataNV data = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAccelerationStructureMotionInstanceNV> { using Type = AccelerationStructureMotionInstanceNV; }; #endif // wrapper struct for struct VkMicromapUsageEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkMicromapUsageEXT.html struct MicromapUsageEXT { using NativeType = VkMicromapUsageEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR MicromapUsageEXT( uint32_t count_ = {}, uint32_t subdivisionLevel_ = {}, uint32_t format_ = {} ) VULKAN_HPP_NOEXCEPT : count{ count_ } , subdivisionLevel{ subdivisionLevel_ } , format{ format_ } { } VULKAN_HPP_CONSTEXPR MicromapUsageEXT( MicromapUsageEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; MicromapUsageEXT( VkMicromapUsageEXT const & rhs ) VULKAN_HPP_NOEXCEPT : MicromapUsageEXT( *reinterpret_cast<MicromapUsageEXT const *>( &rhs ) ) {} MicromapUsageEXT & operator=( MicromapUsageEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ MicromapUsageEXT & operator=( VkMicromapUsageEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<MicromapUsageEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 MicromapUsageEXT & setCount( uint32_t count_ ) VULKAN_HPP_NOEXCEPT { count = count_; return *this; } VULKAN_HPP_CONSTEXPR_14 MicromapUsageEXT & setSubdivisionLevel( uint32_t subdivisionLevel_ ) VULKAN_HPP_NOEXCEPT { subdivisionLevel = subdivisionLevel_; return *this; } VULKAN_HPP_CONSTEXPR_14 MicromapUsageEXT & setFormat( uint32_t format_ ) VULKAN_HPP_NOEXCEPT { format = format_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkMicromapUsageEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkMicromapUsageEXT *>( this ); } operator VkMicromapUsageEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkMicromapUsageEXT *>( this ); } operator VkMicromapUsageEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkMicromapUsageEXT *>( this ); } operator VkMicromapUsageEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkMicromapUsageEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<uint32_t const &, uint32_t const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( count, subdivisionLevel, format ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( MicromapUsageEXT const & ) const = default; #else bool operator==( MicromapUsageEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( count == rhs.count ) && ( subdivisionLevel == rhs.subdivisionLevel ) && ( format == rhs.format ); # endif } bool operator!=( MicromapUsageEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: uint32_t count = {}; uint32_t subdivisionLevel = {}; uint32_t format = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkMicromapUsageEXT> { using Type = MicromapUsageEXT; }; #endif #if defined( VK_ENABLE_BETA_EXTENSIONS ) // wrapper struct for struct VkAccelerationStructureTrianglesDisplacementMicromapNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureTrianglesDisplacementMicromapNV.html struct AccelerationStructureTrianglesDisplacementMicromapNV { using NativeType = VkAccelerationStructureTrianglesDisplacementMicromapNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureTrianglesDisplacementMicromapNV; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesDisplacementMicromapNV( Format displacementBiasAndScaleFormat_ = Format::eUndefined, Format displacementVectorFormat_ = Format::eUndefined, DeviceOrHostAddressConstKHR displacementBiasAndScaleBuffer_ = {}, DeviceSize displacementBiasAndScaleStride_ = {}, DeviceOrHostAddressConstKHR displacementVectorBuffer_ = {}, DeviceSize displacementVectorStride_ = {}, DeviceOrHostAddressConstKHR displacedMicromapPrimitiveFlags_ = {}, DeviceSize displacedMicromapPrimitiveFlagsStride_ = {}, IndexType indexType_ = IndexType::eUint16, DeviceOrHostAddressConstKHR indexBuffer_ = {}, DeviceSize indexStride_ = {}, uint32_t baseTriangle_ = {}, uint32_t usageCountsCount_ = {}, const MicromapUsageEXT * pUsageCounts_ = {}, const MicromapUsageEXT * const * ppUsageCounts_ = {}, MicromapEXT micromap_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , displacementBiasAndScaleFormat{ displacementBiasAndScaleFormat_ } , displacementVectorFormat{ displacementVectorFormat_ } , displacementBiasAndScaleBuffer{ displacementBiasAndScaleBuffer_ } , displacementBiasAndScaleStride{ displacementBiasAndScaleStride_ } , displacementVectorBuffer{ displacementVectorBuffer_ } , displacementVectorStride{ displacementVectorStride_ } , displacedMicromapPrimitiveFlags{ displacedMicromapPrimitiveFlags_ } , displacedMicromapPrimitiveFlagsStride{ displacedMicromapPrimitiveFlagsStride_ } , indexType{ indexType_ } , indexBuffer{ indexBuffer_ } , indexStride{ indexStride_ } , baseTriangle{ baseTriangle_ } , usageCountsCount{ usageCountsCount_ } , pUsageCounts{ pUsageCounts_ } , ppUsageCounts{ ppUsageCounts_ } , micromap{ micromap_ } { } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesDisplacementMicromapNV( AccelerationStructureTrianglesDisplacementMicromapNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; AccelerationStructureTrianglesDisplacementMicromapNV( VkAccelerationStructureTrianglesDisplacementMicromapNV const & rhs ) VULKAN_HPP_NOEXCEPT : AccelerationStructureTrianglesDisplacementMicromapNV( *reinterpret_cast<AccelerationStructureTrianglesDisplacementMicromapNV const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) AccelerationStructureTrianglesDisplacementMicromapNV( Format displacementBiasAndScaleFormat_, Format displacementVectorFormat_, DeviceOrHostAddressConstKHR displacementBiasAndScaleBuffer_, DeviceSize displacementBiasAndScaleStride_, DeviceOrHostAddressConstKHR displacementVectorBuffer_, DeviceSize displacementVectorStride_, DeviceOrHostAddressConstKHR displacedMicromapPrimitiveFlags_, DeviceSize displacedMicromapPrimitiveFlagsStride_, IndexType indexType_, DeviceOrHostAddressConstKHR indexBuffer_, DeviceSize indexStride_, uint32_t baseTriangle_, ArrayProxyNoTemporaries<const MicromapUsageEXT> const & usageCounts_, ArrayProxyNoTemporaries<const MicromapUsageEXT * const> const & pUsageCounts_ = {}, MicromapEXT micromap_ = {}, void * pNext_ = nullptr ) : pNext( pNext_ ) , displacementBiasAndScaleFormat( displacementBiasAndScaleFormat_ ) , displacementVectorFormat( displacementVectorFormat_ ) , displacementBiasAndScaleBuffer( displacementBiasAndScaleBuffer_ ) , displacementBiasAndScaleStride( displacementBiasAndScaleStride_ ) , displacementVectorBuffer( displacementVectorBuffer_ ) , displacementVectorStride( displacementVectorStride_ ) , displacedMicromapPrimitiveFlags( displacedMicromapPrimitiveFlags_ ) , displacedMicromapPrimitiveFlagsStride( displacedMicromapPrimitiveFlagsStride_ ) , indexType( indexType_ ) , indexBuffer( indexBuffer_ ) , indexStride( indexStride_ ) , baseTriangle( baseTriangle_ ) , usageCountsCount( static_cast<uint32_t>( usageCounts_.size() ) ) , pUsageCounts( usageCounts_.data() ) , ppUsageCounts( pUsageCounts_.data() ) , micromap( micromap_ ) { # ifdef VULKAN_HPP_NO_EXCEPTIONS VULKAN_HPP_ASSERT( usageCounts_.empty() || pUsageCounts_.empty() || ( usageCounts_.size() == pUsageCounts_.size() ) ); # else if ( !usageCounts_.empty() && !pUsageCounts_.empty() && ( usageCounts_.size() != pUsageCounts_.size() ) ) { throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::AccelerationStructureTrianglesDisplacementMicromapNV::AccelerationStructureTrianglesDisplacementMicromapNV: !usageCounts_.empty() && !pUsageCounts_.empty() && ( usageCounts_.size() != pUsageCounts_.size() )" ); } # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ AccelerationStructureTrianglesDisplacementMicromapNV & operator=( AccelerationStructureTrianglesDisplacementMicromapNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AccelerationStructureTrianglesDisplacementMicromapNV & operator=( VkAccelerationStructureTrianglesDisplacementMicromapNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AccelerationStructureTrianglesDisplacementMicromapNV const *>( &rhs ); return *this; } # if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesDisplacementMicromapNV & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesDisplacementMicromapNV & setDisplacementBiasAndScaleFormat( Format displacementBiasAndScaleFormat_ ) VULKAN_HPP_NOEXCEPT { displacementBiasAndScaleFormat = displacementBiasAndScaleFormat_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesDisplacementMicromapNV & setDisplacementVectorFormat( Format displacementVectorFormat_ ) VULKAN_HPP_NOEXCEPT { displacementVectorFormat = displacementVectorFormat_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesDisplacementMicromapNV & setDisplacementBiasAndScaleBuffer( DeviceOrHostAddressConstKHR const & displacementBiasAndScaleBuffer_ ) VULKAN_HPP_NOEXCEPT { displacementBiasAndScaleBuffer = displacementBiasAndScaleBuffer_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesDisplacementMicromapNV & setDisplacementBiasAndScaleStride( DeviceSize displacementBiasAndScaleStride_ ) VULKAN_HPP_NOEXCEPT { displacementBiasAndScaleStride = displacementBiasAndScaleStride_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesDisplacementMicromapNV & setDisplacementVectorBuffer( DeviceOrHostAddressConstKHR const & displacementVectorBuffer_ ) VULKAN_HPP_NOEXCEPT { displacementVectorBuffer = displacementVectorBuffer_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesDisplacementMicromapNV & setDisplacementVectorStride( DeviceSize displacementVectorStride_ ) VULKAN_HPP_NOEXCEPT { displacementVectorStride = displacementVectorStride_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesDisplacementMicromapNV & setDisplacedMicromapPrimitiveFlags( DeviceOrHostAddressConstKHR const & displacedMicromapPrimitiveFlags_ ) VULKAN_HPP_NOEXCEPT { displacedMicromapPrimitiveFlags = displacedMicromapPrimitiveFlags_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesDisplacementMicromapNV & setDisplacedMicromapPrimitiveFlagsStride( DeviceSize displacedMicromapPrimitiveFlagsStride_ ) VULKAN_HPP_NOEXCEPT { displacedMicromapPrimitiveFlagsStride = displacedMicromapPrimitiveFlagsStride_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesDisplacementMicromapNV & setIndexType( IndexType indexType_ ) VULKAN_HPP_NOEXCEPT { indexType = indexType_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesDisplacementMicromapNV & setIndexBuffer( DeviceOrHostAddressConstKHR const & indexBuffer_ ) VULKAN_HPP_NOEXCEPT { indexBuffer = indexBuffer_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesDisplacementMicromapNV & setIndexStride( DeviceSize indexStride_ ) VULKAN_HPP_NOEXCEPT { indexStride = indexStride_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesDisplacementMicromapNV & setBaseTriangle( uint32_t baseTriangle_ ) VULKAN_HPP_NOEXCEPT { baseTriangle = baseTriangle_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesDisplacementMicromapNV & setUsageCountsCount( uint32_t usageCountsCount_ ) VULKAN_HPP_NOEXCEPT { usageCountsCount = usageCountsCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesDisplacementMicromapNV & setPUsageCounts( const MicromapUsageEXT * pUsageCounts_ ) VULKAN_HPP_NOEXCEPT { pUsageCounts = pUsageCounts_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) AccelerationStructureTrianglesDisplacementMicromapNV & setUsageCounts( ArrayProxyNoTemporaries<const MicromapUsageEXT> const & usageCounts_ ) VULKAN_HPP_NOEXCEPT { usageCountsCount = static_cast<uint32_t>( usageCounts_.size() ); pUsageCounts = usageCounts_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesDisplacementMicromapNV & setPpUsageCounts( const MicromapUsageEXT * const * ppUsageCounts_ ) VULKAN_HPP_NOEXCEPT { ppUsageCounts = ppUsageCounts_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) AccelerationStructureTrianglesDisplacementMicromapNV & setPUsageCounts( ArrayProxyNoTemporaries<const MicromapUsageEXT * const> const & pUsageCounts_ ) VULKAN_HPP_NOEXCEPT { usageCountsCount = static_cast<uint32_t>( pUsageCounts_.size() ); ppUsageCounts = pUsageCounts_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesDisplacementMicromapNV & setMicromap( MicromapEXT micromap_ ) VULKAN_HPP_NOEXCEPT { micromap = micromap_; return *this; } # endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAccelerationStructureTrianglesDisplacementMicromapNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAccelerationStructureTrianglesDisplacementMicromapNV *>( this ); } operator VkAccelerationStructureTrianglesDisplacementMicromapNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAccelerationStructureTrianglesDisplacementMicromapNV *>( this ); } operator VkAccelerationStructureTrianglesDisplacementMicromapNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAccelerationStructureTrianglesDisplacementMicromapNV *>( this ); } operator VkAccelerationStructureTrianglesDisplacementMicromapNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAccelerationStructureTrianglesDisplacementMicromapNV *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, Format const &, Format const &, DeviceOrHostAddressConstKHR const &, DeviceSize const &, DeviceOrHostAddressConstKHR const &, DeviceSize const &, DeviceOrHostAddressConstKHR const &, DeviceSize const &, IndexType const &, DeviceOrHostAddressConstKHR const &, DeviceSize const &, uint32_t const &, uint32_t const &, const MicromapUsageEXT * const &, const MicromapUsageEXT * const * const &, MicromapEXT const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, displacementBiasAndScaleFormat, displacementVectorFormat, displacementBiasAndScaleBuffer, displacementBiasAndScaleStride, displacementVectorBuffer, displacementVectorStride, displacedMicromapPrimitiveFlags, displacedMicromapPrimitiveFlagsStride, indexType, indexBuffer, indexStride, baseTriangle, usageCountsCount, pUsageCounts, ppUsageCounts, micromap ); } # endif public: StructureType sType = StructureType::eAccelerationStructureTrianglesDisplacementMicromapNV; void * pNext = {}; Format displacementBiasAndScaleFormat = Format::eUndefined; Format displacementVectorFormat = Format::eUndefined; DeviceOrHostAddressConstKHR displacementBiasAndScaleBuffer = {}; DeviceSize displacementBiasAndScaleStride = {}; DeviceOrHostAddressConstKHR displacementVectorBuffer = {}; DeviceSize displacementVectorStride = {}; DeviceOrHostAddressConstKHR displacedMicromapPrimitiveFlags = {}; DeviceSize displacedMicromapPrimitiveFlagsStride = {}; IndexType indexType = IndexType::eUint16; DeviceOrHostAddressConstKHR indexBuffer = {}; DeviceSize indexStride = {}; uint32_t baseTriangle = {}; uint32_t usageCountsCount = {}; const MicromapUsageEXT * pUsageCounts = {}; const MicromapUsageEXT * const * ppUsageCounts = {}; MicromapEXT micromap = {}; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAccelerationStructureTrianglesDisplacementMicromapNV> { using Type = AccelerationStructureTrianglesDisplacementMicromapNV; }; # endif template <> struct CppType<StructureType, StructureType::eAccelerationStructureTrianglesDisplacementMicromapNV> { using Type = AccelerationStructureTrianglesDisplacementMicromapNV; }; #endif /*VK_ENABLE_BETA_EXTENSIONS*/ // wrapper struct for struct VkAccelerationStructureTrianglesOpacityMicromapEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureTrianglesOpacityMicromapEXT.html struct AccelerationStructureTrianglesOpacityMicromapEXT { using NativeType = VkAccelerationStructureTrianglesOpacityMicromapEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureTrianglesOpacityMicromapEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesOpacityMicromapEXT( IndexType indexType_ = IndexType::eUint16, DeviceOrHostAddressConstKHR indexBuffer_ = {}, DeviceSize indexStride_ = {}, uint32_t baseTriangle_ = {}, uint32_t usageCountsCount_ = {}, const MicromapUsageEXT * pUsageCounts_ = {}, const MicromapUsageEXT * const * ppUsageCounts_ = {}, MicromapEXT micromap_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , indexType{ indexType_ } , indexBuffer{ indexBuffer_ } , indexStride{ indexStride_ } , baseTriangle{ baseTriangle_ } , usageCountsCount{ usageCountsCount_ } , pUsageCounts{ pUsageCounts_ } , ppUsageCounts{ ppUsageCounts_ } , micromap{ micromap_ } { } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesOpacityMicromapEXT( AccelerationStructureTrianglesOpacityMicromapEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; AccelerationStructureTrianglesOpacityMicromapEXT( VkAccelerationStructureTrianglesOpacityMicromapEXT const & rhs ) VULKAN_HPP_NOEXCEPT : AccelerationStructureTrianglesOpacityMicromapEXT( *reinterpret_cast<AccelerationStructureTrianglesOpacityMicromapEXT const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) AccelerationStructureTrianglesOpacityMicromapEXT( IndexType indexType_, DeviceOrHostAddressConstKHR indexBuffer_, DeviceSize indexStride_, uint32_t baseTriangle_, ArrayProxyNoTemporaries<const MicromapUsageEXT> const & usageCounts_, ArrayProxyNoTemporaries<const MicromapUsageEXT * const> const & pUsageCounts_ = {}, MicromapEXT micromap_ = {}, void * pNext_ = nullptr ) : pNext( pNext_ ) , indexType( indexType_ ) , indexBuffer( indexBuffer_ ) , indexStride( indexStride_ ) , baseTriangle( baseTriangle_ ) , usageCountsCount( static_cast<uint32_t>( !usageCounts_.empty() ? usageCounts_.size() : pUsageCounts_.size() ) ) , pUsageCounts( usageCounts_.data() ) , ppUsageCounts( pUsageCounts_.data() ) , micromap( micromap_ ) { # ifdef VULKAN_HPP_NO_EXCEPTIONS VULKAN_HPP_ASSERT( ( !usageCounts_.empty() + !pUsageCounts_.empty() ) <= 1 ); # else if ( 1 < ( !usageCounts_.empty() + !pUsageCounts_.empty() ) ) { throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::AccelerationStructureTrianglesOpacityMicromapEXT::AccelerationStructureTrianglesOpacityMicromapEXT: 1 < ( !usageCounts_.empty() + !pUsageCounts_.empty() )" ); } # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ AccelerationStructureTrianglesOpacityMicromapEXT & operator=( AccelerationStructureTrianglesOpacityMicromapEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AccelerationStructureTrianglesOpacityMicromapEXT & operator=( VkAccelerationStructureTrianglesOpacityMicromapEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AccelerationStructureTrianglesOpacityMicromapEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesOpacityMicromapEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesOpacityMicromapEXT & setIndexType( IndexType indexType_ ) VULKAN_HPP_NOEXCEPT { indexType = indexType_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesOpacityMicromapEXT & setIndexBuffer( DeviceOrHostAddressConstKHR const & indexBuffer_ ) VULKAN_HPP_NOEXCEPT { indexBuffer = indexBuffer_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesOpacityMicromapEXT & setIndexStride( DeviceSize indexStride_ ) VULKAN_HPP_NOEXCEPT { indexStride = indexStride_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesOpacityMicromapEXT & setBaseTriangle( uint32_t baseTriangle_ ) VULKAN_HPP_NOEXCEPT { baseTriangle = baseTriangle_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesOpacityMicromapEXT & setUsageCountsCount( uint32_t usageCountsCount_ ) VULKAN_HPP_NOEXCEPT { usageCountsCount = usageCountsCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesOpacityMicromapEXT & setPUsageCounts( const MicromapUsageEXT * pUsageCounts_ ) VULKAN_HPP_NOEXCEPT { pUsageCounts = pUsageCounts_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) AccelerationStructureTrianglesOpacityMicromapEXT & setUsageCounts( ArrayProxyNoTemporaries<const MicromapUsageEXT> const & usageCounts_ ) VULKAN_HPP_NOEXCEPT { usageCountsCount = static_cast<uint32_t>( usageCounts_.size() ); pUsageCounts = usageCounts_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesOpacityMicromapEXT & setPpUsageCounts( const MicromapUsageEXT * const * ppUsageCounts_ ) VULKAN_HPP_NOEXCEPT { ppUsageCounts = ppUsageCounts_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) AccelerationStructureTrianglesOpacityMicromapEXT & setPUsageCounts( ArrayProxyNoTemporaries<const MicromapUsageEXT * const> const & pUsageCounts_ ) VULKAN_HPP_NOEXCEPT { usageCountsCount = static_cast<uint32_t>( pUsageCounts_.size() ); ppUsageCounts = pUsageCounts_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesOpacityMicromapEXT & setMicromap( MicromapEXT micromap_ ) VULKAN_HPP_NOEXCEPT { micromap = micromap_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAccelerationStructureTrianglesOpacityMicromapEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAccelerationStructureTrianglesOpacityMicromapEXT *>( this ); } operator VkAccelerationStructureTrianglesOpacityMicromapEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAccelerationStructureTrianglesOpacityMicromapEXT *>( this ); } operator VkAccelerationStructureTrianglesOpacityMicromapEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAccelerationStructureTrianglesOpacityMicromapEXT *>( this ); } operator VkAccelerationStructureTrianglesOpacityMicromapEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAccelerationStructureTrianglesOpacityMicromapEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, IndexType const &, DeviceOrHostAddressConstKHR const &, DeviceSize const &, uint32_t const &, uint32_t const &, const MicromapUsageEXT * const &, const MicromapUsageEXT * const * const &, MicromapEXT const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, indexType, indexBuffer, indexStride, baseTriangle, usageCountsCount, pUsageCounts, ppUsageCounts, micromap ); } #endif public: StructureType sType = StructureType::eAccelerationStructureTrianglesOpacityMicromapEXT; void * pNext = {}; IndexType indexType = IndexType::eUint16; DeviceOrHostAddressConstKHR indexBuffer = {}; DeviceSize indexStride = {}; uint32_t baseTriangle = {}; uint32_t usageCountsCount = {}; const MicromapUsageEXT * pUsageCounts = {}; const MicromapUsageEXT * const * ppUsageCounts = {}; MicromapEXT micromap = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAccelerationStructureTrianglesOpacityMicromapEXT> { using Type = AccelerationStructureTrianglesOpacityMicromapEXT; }; #endif template <> struct CppType<StructureType, StructureType::eAccelerationStructureTrianglesOpacityMicromapEXT> { using Type = AccelerationStructureTrianglesOpacityMicromapEXT; }; // wrapper struct for struct VkAccelerationStructureVersionInfoKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureVersionInfoKHR.html struct AccelerationStructureVersionInfoKHR { using NativeType = VkAccelerationStructureVersionInfoKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureVersionInfoKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR AccelerationStructureVersionInfoKHR( const uint8_t * pVersionData_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , pVersionData{ pVersionData_ } { } VULKAN_HPP_CONSTEXPR AccelerationStructureVersionInfoKHR( AccelerationStructureVersionInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; AccelerationStructureVersionInfoKHR( VkAccelerationStructureVersionInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : AccelerationStructureVersionInfoKHR( *reinterpret_cast<AccelerationStructureVersionInfoKHR const *>( &rhs ) ) { } AccelerationStructureVersionInfoKHR & operator=( AccelerationStructureVersionInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AccelerationStructureVersionInfoKHR & operator=( VkAccelerationStructureVersionInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AccelerationStructureVersionInfoKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AccelerationStructureVersionInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 AccelerationStructureVersionInfoKHR & setPVersionData( const uint8_t * pVersionData_ ) VULKAN_HPP_NOEXCEPT { pVersionData = pVersionData_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAccelerationStructureVersionInfoKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAccelerationStructureVersionInfoKHR *>( this ); } operator VkAccelerationStructureVersionInfoKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAccelerationStructureVersionInfoKHR *>( this ); } operator VkAccelerationStructureVersionInfoKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAccelerationStructureVersionInfoKHR *>( this ); } operator VkAccelerationStructureVersionInfoKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAccelerationStructureVersionInfoKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, const uint8_t * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, pVersionData ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( AccelerationStructureVersionInfoKHR const & ) const = default; #else bool operator==( AccelerationStructureVersionInfoKHR 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 ) && ( pVersionData == rhs.pVersionData ); # endif } bool operator!=( AccelerationStructureVersionInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eAccelerationStructureVersionInfoKHR; const void * pNext = {}; const uint8_t * pVersionData = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAccelerationStructureVersionInfoKHR> { using Type = AccelerationStructureVersionInfoKHR; }; #endif template <> struct CppType<StructureType, StructureType::eAccelerationStructureVersionInfoKHR> { using Type = AccelerationStructureVersionInfoKHR; }; // wrapper struct for struct VkAcquireNextImageInfoKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAcquireNextImageInfoKHR.html struct AcquireNextImageInfoKHR { using NativeType = VkAcquireNextImageInfoKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAcquireNextImageInfoKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR AcquireNextImageInfoKHR( SwapchainKHR swapchain_ = {}, uint64_t timeout_ = {}, Semaphore semaphore_ = {}, Fence fence_ = {}, uint32_t deviceMask_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , swapchain{ swapchain_ } , timeout{ timeout_ } , semaphore{ semaphore_ } , fence{ fence_ } , deviceMask{ deviceMask_ } { } VULKAN_HPP_CONSTEXPR AcquireNextImageInfoKHR( AcquireNextImageInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; AcquireNextImageInfoKHR( VkAcquireNextImageInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : AcquireNextImageInfoKHR( *reinterpret_cast<AcquireNextImageInfoKHR const *>( &rhs ) ) { } AcquireNextImageInfoKHR & operator=( AcquireNextImageInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AcquireNextImageInfoKHR & operator=( VkAcquireNextImageInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AcquireNextImageInfoKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AcquireNextImageInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 AcquireNextImageInfoKHR & setSwapchain( SwapchainKHR swapchain_ ) VULKAN_HPP_NOEXCEPT { swapchain = swapchain_; return *this; } VULKAN_HPP_CONSTEXPR_14 AcquireNextImageInfoKHR & setTimeout( uint64_t timeout_ ) VULKAN_HPP_NOEXCEPT { timeout = timeout_; return *this; } VULKAN_HPP_CONSTEXPR_14 AcquireNextImageInfoKHR & setSemaphore( Semaphore semaphore_ ) VULKAN_HPP_NOEXCEPT { semaphore = semaphore_; return *this; } VULKAN_HPP_CONSTEXPR_14 AcquireNextImageInfoKHR & setFence( Fence fence_ ) VULKAN_HPP_NOEXCEPT { fence = fence_; return *this; } VULKAN_HPP_CONSTEXPR_14 AcquireNextImageInfoKHR & setDeviceMask( uint32_t deviceMask_ ) VULKAN_HPP_NOEXCEPT { deviceMask = deviceMask_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAcquireNextImageInfoKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAcquireNextImageInfoKHR *>( this ); } operator VkAcquireNextImageInfoKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAcquireNextImageInfoKHR *>( this ); } operator VkAcquireNextImageInfoKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAcquireNextImageInfoKHR *>( this ); } operator VkAcquireNextImageInfoKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAcquireNextImageInfoKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, SwapchainKHR const &, uint64_t const &, Semaphore const &, Fence const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, swapchain, timeout, semaphore, fence, deviceMask ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( AcquireNextImageInfoKHR const & ) const = default; #else bool operator==( AcquireNextImageInfoKHR 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 ) && ( swapchain == rhs.swapchain ) && ( timeout == rhs.timeout ) && ( semaphore == rhs.semaphore ) && ( fence == rhs.fence ) && ( deviceMask == rhs.deviceMask ); # endif } bool operator!=( AcquireNextImageInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eAcquireNextImageInfoKHR; const void * pNext = {}; SwapchainKHR swapchain = {}; uint64_t timeout = {}; Semaphore semaphore = {}; Fence fence = {}; uint32_t deviceMask = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAcquireNextImageInfoKHR> { using Type = AcquireNextImageInfoKHR; }; #endif template <> struct CppType<StructureType, StructureType::eAcquireNextImageInfoKHR> { using Type = AcquireNextImageInfoKHR; }; // wrapper struct for struct VkAcquireProfilingLockInfoKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAcquireProfilingLockInfoKHR.html struct AcquireProfilingLockInfoKHR { using NativeType = VkAcquireProfilingLockInfoKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAcquireProfilingLockInfoKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR AcquireProfilingLockInfoKHR( AcquireProfilingLockFlagsKHR flags_ = {}, uint64_t timeout_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , timeout{ timeout_ } { } VULKAN_HPP_CONSTEXPR AcquireProfilingLockInfoKHR( AcquireProfilingLockInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; AcquireProfilingLockInfoKHR( VkAcquireProfilingLockInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : AcquireProfilingLockInfoKHR( *reinterpret_cast<AcquireProfilingLockInfoKHR const *>( &rhs ) ) { } AcquireProfilingLockInfoKHR & operator=( AcquireProfilingLockInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AcquireProfilingLockInfoKHR & operator=( VkAcquireProfilingLockInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AcquireProfilingLockInfoKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AcquireProfilingLockInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 AcquireProfilingLockInfoKHR & setFlags( AcquireProfilingLockFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 AcquireProfilingLockInfoKHR & setTimeout( uint64_t timeout_ ) VULKAN_HPP_NOEXCEPT { timeout = timeout_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAcquireProfilingLockInfoKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAcquireProfilingLockInfoKHR *>( this ); } operator VkAcquireProfilingLockInfoKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAcquireProfilingLockInfoKHR *>( this ); } operator VkAcquireProfilingLockInfoKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAcquireProfilingLockInfoKHR *>( this ); } operator VkAcquireProfilingLockInfoKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAcquireProfilingLockInfoKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, AcquireProfilingLockFlagsKHR const &, uint64_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, timeout ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( AcquireProfilingLockInfoKHR const & ) const = default; #else bool operator==( AcquireProfilingLockInfoKHR 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 ) && ( flags == rhs.flags ) && ( timeout == rhs.timeout ); # endif } bool operator!=( AcquireProfilingLockInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eAcquireProfilingLockInfoKHR; const void * pNext = {}; AcquireProfilingLockFlagsKHR flags = {}; uint64_t timeout = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAcquireProfilingLockInfoKHR> { using Type = AcquireProfilingLockInfoKHR; }; #endif template <> struct CppType<StructureType, StructureType::eAcquireProfilingLockInfoKHR> { using Type = AcquireProfilingLockInfoKHR; }; typedef void *( VKAPI_PTR * PFN_AllocationFunction )( void * pUserData, size_t size, size_t alignment, SystemAllocationScope allocationScope ); typedef void *( VKAPI_PTR * PFN_ReallocationFunction )( void * pUserData, void * pOriginal, size_t size, size_t alignment, SystemAllocationScope allocationScope ); typedef void( VKAPI_PTR * PFN_FreeFunction )( void * pUserData, void * pMemory ); typedef void( VKAPI_PTR * PFN_InternalAllocationNotification )( void * pUserData, size_t size, InternalAllocationType allocationType, SystemAllocationScope allocationScope ); typedef void( VKAPI_PTR * PFN_InternalFreeNotification )( void * pUserData, size_t size, InternalAllocationType allocationType, SystemAllocationScope allocationScope ); // wrapper struct for struct VkAllocationCallbacks, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAllocationCallbacks.html struct AllocationCallbacks { using NativeType = VkAllocationCallbacks; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR AllocationCallbacks( void * pUserData_ = {}, PFN_AllocationFunction pfnAllocation_ = {}, PFN_ReallocationFunction pfnReallocation_ = {}, PFN_FreeFunction pfnFree_ = {}, PFN_InternalAllocationNotification pfnInternalAllocation_ = {}, PFN_InternalFreeNotification pfnInternalFree_ = {} ) VULKAN_HPP_NOEXCEPT : pUserData{ pUserData_ } , pfnAllocation{ pfnAllocation_ } , pfnReallocation{ pfnReallocation_ } , pfnFree{ pfnFree_ } , pfnInternalAllocation{ pfnInternalAllocation_ } , pfnInternalFree{ pfnInternalFree_ } { } VULKAN_HPP_CONSTEXPR AllocationCallbacks( AllocationCallbacks const & rhs ) VULKAN_HPP_NOEXCEPT = default; AllocationCallbacks( VkAllocationCallbacks const & rhs ) VULKAN_HPP_NOEXCEPT : AllocationCallbacks( *reinterpret_cast<AllocationCallbacks const *>( &rhs ) ) { } # if defined( __clang__ ) || defined( __GNUC__ ) # pragma GCC diagnostic push # if defined( __clang__ ) # pragma clang diagnostic ignored "-Wunknown-warning-option" # endif # pragma GCC diagnostic ignored "-Wcast-function-type" # endif VULKAN_HPP_DEPRECATED( "This constructor is deprecated. Use the one taking function pointer types from the vk-namespace instead." ) AllocationCallbacks( void * pUserData_, PFN_vkAllocationFunction pfnAllocation_, PFN_vkReallocationFunction pfnReallocation_ = {}, PFN_vkFreeFunction pfnFree_ = {}, PFN_vkInternalAllocationNotification pfnInternalAllocation_ = {}, PFN_vkInternalFreeNotification pfnInternalFree_ = {} ) VULKAN_HPP_NOEXCEPT : AllocationCallbacks( pUserData_, reinterpret_cast<PFN_AllocationFunction>( pfnAllocation_ ), reinterpret_cast<PFN_ReallocationFunction>( pfnReallocation_ ), reinterpret_cast<PFN_FreeFunction>( pfnFree_ ), reinterpret_cast<PFN_InternalAllocationNotification>( pfnInternalAllocation_ ), reinterpret_cast<PFN_InternalFreeNotification>( pfnInternalFree_ ) ) { } # if defined( __clang__ ) || defined( __GNUC__ ) # pragma GCC diagnostic pop # endif AllocationCallbacks & operator=( AllocationCallbacks const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AllocationCallbacks & operator=( VkAllocationCallbacks const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AllocationCallbacks const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AllocationCallbacks & setPUserData( void * pUserData_ ) VULKAN_HPP_NOEXCEPT { pUserData = pUserData_; return *this; } VULKAN_HPP_CONSTEXPR_14 AllocationCallbacks & setPfnAllocation( PFN_AllocationFunction pfnAllocation_ ) VULKAN_HPP_NOEXCEPT { pfnAllocation = pfnAllocation_; return *this; } VULKAN_HPP_CONSTEXPR_14 AllocationCallbacks & setPfnReallocation( PFN_ReallocationFunction pfnReallocation_ ) VULKAN_HPP_NOEXCEPT { pfnReallocation = pfnReallocation_; return *this; } VULKAN_HPP_CONSTEXPR_14 AllocationCallbacks & setPfnFree( PFN_FreeFunction pfnFree_ ) VULKAN_HPP_NOEXCEPT { pfnFree = pfnFree_; return *this; } VULKAN_HPP_CONSTEXPR_14 AllocationCallbacks & setPfnInternalAllocation( PFN_InternalAllocationNotification pfnInternalAllocation_ ) VULKAN_HPP_NOEXCEPT { pfnInternalAllocation = pfnInternalAllocation_; return *this; } VULKAN_HPP_CONSTEXPR_14 AllocationCallbacks & setPfnInternalFree( PFN_InternalFreeNotification pfnInternalFree_ ) VULKAN_HPP_NOEXCEPT { pfnInternalFree = pfnInternalFree_; return *this; } # if defined( __clang__ ) || defined( __GNUC__ ) # pragma GCC diagnostic push # if defined( __clang__ ) # pragma clang diagnostic ignored "-Wunknown-warning-option" # endif # pragma GCC diagnostic ignored "-Wcast-function-type" # endif VULKAN_HPP_DEPRECATED( "This setter is deprecated. Use the one taking a function pointer type from the vk-namespace instead." ) AllocationCallbacks & setPfnAllocation( PFN_vkAllocationFunction pfnAllocation_ ) VULKAN_HPP_NOEXCEPT { return setPfnAllocation( reinterpret_cast<PFN_AllocationFunction>( pfnAllocation_ ) ); } VULKAN_HPP_DEPRECATED( "This setter is deprecated. Use the one taking a function pointer type from the vk-namespace instead." ) AllocationCallbacks & setPfnReallocation( PFN_vkReallocationFunction pfnReallocation_ ) VULKAN_HPP_NOEXCEPT { return setPfnReallocation( reinterpret_cast<PFN_ReallocationFunction>( pfnReallocation_ ) ); } VULKAN_HPP_DEPRECATED( "This setter is deprecated. Use the one taking a function pointer type from the vk-namespace instead." ) AllocationCallbacks & setPfnInternalAllocation( PFN_vkInternalAllocationNotification pfnInternalAllocation_ ) VULKAN_HPP_NOEXCEPT { return setPfnInternalAllocation( reinterpret_cast<PFN_InternalAllocationNotification>( pfnInternalAllocation_ ) ); } VULKAN_HPP_DEPRECATED( "This setter is deprecated. Use the one taking a function pointer type from the vk-namespace instead." ) AllocationCallbacks & setPfnInternalFree( PFN_vkInternalFreeNotification pfnInternalFree_ ) VULKAN_HPP_NOEXCEPT { return setPfnInternalFree( reinterpret_cast<PFN_InternalFreeNotification>( pfnInternalFree_ ) ); } # if defined( __clang__ ) || defined( __GNUC__ ) # pragma GCC diagnostic pop # endif #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAllocationCallbacks const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAllocationCallbacks *>( this ); } operator VkAllocationCallbacks &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAllocationCallbacks *>( this ); } operator VkAllocationCallbacks const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAllocationCallbacks *>( this ); } operator VkAllocationCallbacks *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAllocationCallbacks *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<void * const &, PFN_AllocationFunction const &, PFN_ReallocationFunction const &, PFN_FreeFunction const &, PFN_InternalAllocationNotification const &, PFN_InternalFreeNotification const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( pUserData, pfnAllocation, pfnReallocation, pfnFree, pfnInternalAllocation, pfnInternalFree ); } #endif bool operator==( AllocationCallbacks const & rhs ) const VULKAN_HPP_NOEXCEPT { #if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); #else return ( pUserData == rhs.pUserData ) && ( pfnAllocation == rhs.pfnAllocation ) && ( pfnReallocation == rhs.pfnReallocation ) && ( pfnFree == rhs.pfnFree ) && ( pfnInternalAllocation == rhs.pfnInternalAllocation ) && ( pfnInternalFree == rhs.pfnInternalFree ); #endif } bool operator!=( AllocationCallbacks const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } public: void * pUserData = {}; PFN_AllocationFunction pfnAllocation = {}; PFN_ReallocationFunction pfnReallocation = {}; PFN_FreeFunction pfnFree = {}; PFN_InternalAllocationNotification pfnInternalAllocation = {}; PFN_InternalFreeNotification pfnInternalFree = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAllocationCallbacks> { using Type = AllocationCallbacks; }; #endif // wrapper struct for struct VkAmigoProfilingSubmitInfoSEC, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAmigoProfilingSubmitInfoSEC.html struct AmigoProfilingSubmitInfoSEC { using NativeType = VkAmigoProfilingSubmitInfoSEC; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAmigoProfilingSubmitInfoSEC; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR AmigoProfilingSubmitInfoSEC( uint64_t firstDrawTimestamp_ = {}, uint64_t swapBufferTimestamp_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , firstDrawTimestamp{ firstDrawTimestamp_ } , swapBufferTimestamp{ swapBufferTimestamp_ } { } VULKAN_HPP_CONSTEXPR AmigoProfilingSubmitInfoSEC( AmigoProfilingSubmitInfoSEC const & rhs ) VULKAN_HPP_NOEXCEPT = default; AmigoProfilingSubmitInfoSEC( VkAmigoProfilingSubmitInfoSEC const & rhs ) VULKAN_HPP_NOEXCEPT : AmigoProfilingSubmitInfoSEC( *reinterpret_cast<AmigoProfilingSubmitInfoSEC const *>( &rhs ) ) { } AmigoProfilingSubmitInfoSEC & operator=( AmigoProfilingSubmitInfoSEC const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AmigoProfilingSubmitInfoSEC & operator=( VkAmigoProfilingSubmitInfoSEC const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AmigoProfilingSubmitInfoSEC const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AmigoProfilingSubmitInfoSEC & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 AmigoProfilingSubmitInfoSEC & setFirstDrawTimestamp( uint64_t firstDrawTimestamp_ ) VULKAN_HPP_NOEXCEPT { firstDrawTimestamp = firstDrawTimestamp_; return *this; } VULKAN_HPP_CONSTEXPR_14 AmigoProfilingSubmitInfoSEC & setSwapBufferTimestamp( uint64_t swapBufferTimestamp_ ) VULKAN_HPP_NOEXCEPT { swapBufferTimestamp = swapBufferTimestamp_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAmigoProfilingSubmitInfoSEC const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAmigoProfilingSubmitInfoSEC *>( this ); } operator VkAmigoProfilingSubmitInfoSEC &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAmigoProfilingSubmitInfoSEC *>( this ); } operator VkAmigoProfilingSubmitInfoSEC const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAmigoProfilingSubmitInfoSEC *>( this ); } operator VkAmigoProfilingSubmitInfoSEC *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAmigoProfilingSubmitInfoSEC *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, uint64_t const &, uint64_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, firstDrawTimestamp, swapBufferTimestamp ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( AmigoProfilingSubmitInfoSEC const & ) const = default; #else bool operator==( AmigoProfilingSubmitInfoSEC 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 ) && ( firstDrawTimestamp == rhs.firstDrawTimestamp ) && ( swapBufferTimestamp == rhs.swapBufferTimestamp ); # endif } bool operator!=( AmigoProfilingSubmitInfoSEC const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eAmigoProfilingSubmitInfoSEC; const void * pNext = {}; uint64_t firstDrawTimestamp = {}; uint64_t swapBufferTimestamp = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAmigoProfilingSubmitInfoSEC> { using Type = AmigoProfilingSubmitInfoSEC; }; #endif template <> struct CppType<StructureType, StructureType::eAmigoProfilingSubmitInfoSEC> { using Type = AmigoProfilingSubmitInfoSEC; }; // wrapper struct for struct VkComponentMapping, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkComponentMapping.html struct ComponentMapping { using NativeType = VkComponentMapping; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ComponentMapping( ComponentSwizzle r_ = ComponentSwizzle::eIdentity, ComponentSwizzle g_ = ComponentSwizzle::eIdentity, ComponentSwizzle b_ = ComponentSwizzle::eIdentity, ComponentSwizzle a_ = ComponentSwizzle::eIdentity ) VULKAN_HPP_NOEXCEPT : r{ r_ } , g{ g_ } , b{ b_ } , a{ a_ } { } VULKAN_HPP_CONSTEXPR ComponentMapping( ComponentMapping const & rhs ) VULKAN_HPP_NOEXCEPT = default; ComponentMapping( VkComponentMapping const & rhs ) VULKAN_HPP_NOEXCEPT : ComponentMapping( *reinterpret_cast<ComponentMapping const *>( &rhs ) ) {} ComponentMapping & operator=( ComponentMapping const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ComponentMapping & operator=( VkComponentMapping const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ComponentMapping const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ComponentMapping & setR( ComponentSwizzle r_ ) VULKAN_HPP_NOEXCEPT { r = r_; return *this; } VULKAN_HPP_CONSTEXPR_14 ComponentMapping & setG( ComponentSwizzle g_ ) VULKAN_HPP_NOEXCEPT { g = g_; return *this; } VULKAN_HPP_CONSTEXPR_14 ComponentMapping & setB( ComponentSwizzle b_ ) VULKAN_HPP_NOEXCEPT { b = b_; return *this; } VULKAN_HPP_CONSTEXPR_14 ComponentMapping & setA( ComponentSwizzle a_ ) VULKAN_HPP_NOEXCEPT { a = a_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkComponentMapping const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkComponentMapping *>( this ); } operator VkComponentMapping &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkComponentMapping *>( this ); } operator VkComponentMapping const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkComponentMapping *>( this ); } operator VkComponentMapping *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkComponentMapping *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<ComponentSwizzle const &, ComponentSwizzle const &, ComponentSwizzle const &, ComponentSwizzle const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( r, g, b, a ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ComponentMapping const & ) const = default; #else bool operator==( ComponentMapping const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( r == rhs.r ) && ( g == rhs.g ) && ( b == rhs.b ) && ( a == rhs.a ); # endif } bool operator!=( ComponentMapping const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: ComponentSwizzle r = ComponentSwizzle::eIdentity; ComponentSwizzle g = ComponentSwizzle::eIdentity; ComponentSwizzle b = ComponentSwizzle::eIdentity; ComponentSwizzle a = ComponentSwizzle::eIdentity; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkComponentMapping> { using Type = ComponentMapping; }; #endif #if defined( VK_USE_PLATFORM_ANDROID_KHR ) // wrapper struct for struct VkAndroidHardwareBufferFormatProperties2ANDROID, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAndroidHardwareBufferFormatProperties2ANDROID.html struct AndroidHardwareBufferFormatProperties2ANDROID { using NativeType = VkAndroidHardwareBufferFormatProperties2ANDROID; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAndroidHardwareBufferFormatProperties2ANDROID; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR AndroidHardwareBufferFormatProperties2ANDROID( Format format_ = Format::eUndefined, uint64_t externalFormat_ = {}, FormatFeatureFlags2 formatFeatures_ = {}, ComponentMapping samplerYcbcrConversionComponents_ = {}, SamplerYcbcrModelConversion suggestedYcbcrModel_ = SamplerYcbcrModelConversion::eRgbIdentity, SamplerYcbcrRange suggestedYcbcrRange_ = SamplerYcbcrRange::eItuFull, ChromaLocation suggestedXChromaOffset_ = ChromaLocation::eCositedEven, ChromaLocation suggestedYChromaOffset_ = ChromaLocation::eCositedEven, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , format{ format_ } , externalFormat{ externalFormat_ } , formatFeatures{ formatFeatures_ } , samplerYcbcrConversionComponents{ samplerYcbcrConversionComponents_ } , suggestedYcbcrModel{ suggestedYcbcrModel_ } , suggestedYcbcrRange{ suggestedYcbcrRange_ } , suggestedXChromaOffset{ suggestedXChromaOffset_ } , suggestedYChromaOffset{ suggestedYChromaOffset_ } { } VULKAN_HPP_CONSTEXPR AndroidHardwareBufferFormatProperties2ANDROID( AndroidHardwareBufferFormatProperties2ANDROID const & rhs ) VULKAN_HPP_NOEXCEPT = default; AndroidHardwareBufferFormatProperties2ANDROID( VkAndroidHardwareBufferFormatProperties2ANDROID const & rhs ) VULKAN_HPP_NOEXCEPT : AndroidHardwareBufferFormatProperties2ANDROID( *reinterpret_cast<AndroidHardwareBufferFormatProperties2ANDROID const *>( &rhs ) ) { } AndroidHardwareBufferFormatProperties2ANDROID & operator=( AndroidHardwareBufferFormatProperties2ANDROID const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AndroidHardwareBufferFormatProperties2ANDROID & operator=( VkAndroidHardwareBufferFormatProperties2ANDROID const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AndroidHardwareBufferFormatProperties2ANDROID const *>( &rhs ); return *this; } operator VkAndroidHardwareBufferFormatProperties2ANDROID const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAndroidHardwareBufferFormatProperties2ANDROID *>( this ); } operator VkAndroidHardwareBufferFormatProperties2ANDROID &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAndroidHardwareBufferFormatProperties2ANDROID *>( this ); } operator VkAndroidHardwareBufferFormatProperties2ANDROID const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAndroidHardwareBufferFormatProperties2ANDROID *>( this ); } operator VkAndroidHardwareBufferFormatProperties2ANDROID *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAndroidHardwareBufferFormatProperties2ANDROID *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, Format const &, uint64_t const &, FormatFeatureFlags2 const &, ComponentMapping const &, SamplerYcbcrModelConversion const &, SamplerYcbcrRange const &, ChromaLocation const &, ChromaLocation const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, format, externalFormat, formatFeatures, samplerYcbcrConversionComponents, suggestedYcbcrModel, suggestedYcbcrRange, suggestedXChromaOffset, suggestedYChromaOffset ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( AndroidHardwareBufferFormatProperties2ANDROID const & ) const = default; # else bool operator==( AndroidHardwareBufferFormatProperties2ANDROID 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 ) && ( format == rhs.format ) && ( externalFormat == rhs.externalFormat ) && ( formatFeatures == rhs.formatFeatures ) && ( samplerYcbcrConversionComponents == rhs.samplerYcbcrConversionComponents ) && ( suggestedYcbcrModel == rhs.suggestedYcbcrModel ) && ( suggestedYcbcrRange == rhs.suggestedYcbcrRange ) && ( suggestedXChromaOffset == rhs.suggestedXChromaOffset ) && ( suggestedYChromaOffset == rhs.suggestedYChromaOffset ); # endif } bool operator!=( AndroidHardwareBufferFormatProperties2ANDROID const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } # endif public: StructureType sType = StructureType::eAndroidHardwareBufferFormatProperties2ANDROID; void * pNext = {}; Format format = Format::eUndefined; uint64_t externalFormat = {}; FormatFeatureFlags2 formatFeatures = {}; ComponentMapping samplerYcbcrConversionComponents = {}; SamplerYcbcrModelConversion suggestedYcbcrModel = SamplerYcbcrModelConversion::eRgbIdentity; SamplerYcbcrRange suggestedYcbcrRange = SamplerYcbcrRange::eItuFull; ChromaLocation suggestedXChromaOffset = ChromaLocation::eCositedEven; ChromaLocation suggestedYChromaOffset = ChromaLocation::eCositedEven; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAndroidHardwareBufferFormatProperties2ANDROID> { using Type = AndroidHardwareBufferFormatProperties2ANDROID; }; # endif template <> struct CppType<StructureType, StructureType::eAndroidHardwareBufferFormatProperties2ANDROID> { using Type = AndroidHardwareBufferFormatProperties2ANDROID; }; #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ #if defined( VK_USE_PLATFORM_ANDROID_KHR ) // wrapper struct for struct VkAndroidHardwareBufferFormatPropertiesANDROID, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAndroidHardwareBufferFormatPropertiesANDROID.html struct AndroidHardwareBufferFormatPropertiesANDROID { using NativeType = VkAndroidHardwareBufferFormatPropertiesANDROID; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAndroidHardwareBufferFormatPropertiesANDROID; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR AndroidHardwareBufferFormatPropertiesANDROID( Format format_ = Format::eUndefined, uint64_t externalFormat_ = {}, FormatFeatureFlags formatFeatures_ = {}, ComponentMapping samplerYcbcrConversionComponents_ = {}, SamplerYcbcrModelConversion suggestedYcbcrModel_ = SamplerYcbcrModelConversion::eRgbIdentity, SamplerYcbcrRange suggestedYcbcrRange_ = SamplerYcbcrRange::eItuFull, ChromaLocation suggestedXChromaOffset_ = ChromaLocation::eCositedEven, ChromaLocation suggestedYChromaOffset_ = ChromaLocation::eCositedEven, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , format{ format_ } , externalFormat{ externalFormat_ } , formatFeatures{ formatFeatures_ } , samplerYcbcrConversionComponents{ samplerYcbcrConversionComponents_ } , suggestedYcbcrModel{ suggestedYcbcrModel_ } , suggestedYcbcrRange{ suggestedYcbcrRange_ } , suggestedXChromaOffset{ suggestedXChromaOffset_ } , suggestedYChromaOffset{ suggestedYChromaOffset_ } { } VULKAN_HPP_CONSTEXPR AndroidHardwareBufferFormatPropertiesANDROID( AndroidHardwareBufferFormatPropertiesANDROID const & rhs ) VULKAN_HPP_NOEXCEPT = default; AndroidHardwareBufferFormatPropertiesANDROID( VkAndroidHardwareBufferFormatPropertiesANDROID const & rhs ) VULKAN_HPP_NOEXCEPT : AndroidHardwareBufferFormatPropertiesANDROID( *reinterpret_cast<AndroidHardwareBufferFormatPropertiesANDROID const *>( &rhs ) ) { } AndroidHardwareBufferFormatPropertiesANDROID & operator=( AndroidHardwareBufferFormatPropertiesANDROID const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AndroidHardwareBufferFormatPropertiesANDROID & operator=( VkAndroidHardwareBufferFormatPropertiesANDROID const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AndroidHardwareBufferFormatPropertiesANDROID const *>( &rhs ); return *this; } operator VkAndroidHardwareBufferFormatPropertiesANDROID const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAndroidHardwareBufferFormatPropertiesANDROID *>( this ); } operator VkAndroidHardwareBufferFormatPropertiesANDROID &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAndroidHardwareBufferFormatPropertiesANDROID *>( this ); } operator VkAndroidHardwareBufferFormatPropertiesANDROID const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAndroidHardwareBufferFormatPropertiesANDROID *>( this ); } operator VkAndroidHardwareBufferFormatPropertiesANDROID *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAndroidHardwareBufferFormatPropertiesANDROID *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, Format const &, uint64_t const &, FormatFeatureFlags const &, ComponentMapping const &, SamplerYcbcrModelConversion const &, SamplerYcbcrRange const &, ChromaLocation const &, ChromaLocation const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, format, externalFormat, formatFeatures, samplerYcbcrConversionComponents, suggestedYcbcrModel, suggestedYcbcrRange, suggestedXChromaOffset, suggestedYChromaOffset ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( AndroidHardwareBufferFormatPropertiesANDROID const & ) const = default; # else bool operator==( AndroidHardwareBufferFormatPropertiesANDROID 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 ) && ( format == rhs.format ) && ( externalFormat == rhs.externalFormat ) && ( formatFeatures == rhs.formatFeatures ) && ( samplerYcbcrConversionComponents == rhs.samplerYcbcrConversionComponents ) && ( suggestedYcbcrModel == rhs.suggestedYcbcrModel ) && ( suggestedYcbcrRange == rhs.suggestedYcbcrRange ) && ( suggestedXChromaOffset == rhs.suggestedXChromaOffset ) && ( suggestedYChromaOffset == rhs.suggestedYChromaOffset ); # endif } bool operator!=( AndroidHardwareBufferFormatPropertiesANDROID const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } # endif public: StructureType sType = StructureType::eAndroidHardwareBufferFormatPropertiesANDROID; void * pNext = {}; Format format = Format::eUndefined; uint64_t externalFormat = {}; FormatFeatureFlags formatFeatures = {}; ComponentMapping samplerYcbcrConversionComponents = {}; SamplerYcbcrModelConversion suggestedYcbcrModel = SamplerYcbcrModelConversion::eRgbIdentity; SamplerYcbcrRange suggestedYcbcrRange = SamplerYcbcrRange::eItuFull; ChromaLocation suggestedXChromaOffset = ChromaLocation::eCositedEven; ChromaLocation suggestedYChromaOffset = ChromaLocation::eCositedEven; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAndroidHardwareBufferFormatPropertiesANDROID> { using Type = AndroidHardwareBufferFormatPropertiesANDROID; }; # endif template <> struct CppType<StructureType, StructureType::eAndroidHardwareBufferFormatPropertiesANDROID> { using Type = AndroidHardwareBufferFormatPropertiesANDROID; }; #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ #if defined( VK_USE_PLATFORM_ANDROID_KHR ) // wrapper struct for struct VkAndroidHardwareBufferFormatResolvePropertiesANDROID, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAndroidHardwareBufferFormatResolvePropertiesANDROID.html struct AndroidHardwareBufferFormatResolvePropertiesANDROID { using NativeType = VkAndroidHardwareBufferFormatResolvePropertiesANDROID; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAndroidHardwareBufferFormatResolvePropertiesANDROID; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR AndroidHardwareBufferFormatResolvePropertiesANDROID( Format colorAttachmentFormat_ = Format::eUndefined, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , colorAttachmentFormat{ colorAttachmentFormat_ } { } VULKAN_HPP_CONSTEXPR AndroidHardwareBufferFormatResolvePropertiesANDROID( AndroidHardwareBufferFormatResolvePropertiesANDROID const & rhs ) VULKAN_HPP_NOEXCEPT = default; AndroidHardwareBufferFormatResolvePropertiesANDROID( VkAndroidHardwareBufferFormatResolvePropertiesANDROID const & rhs ) VULKAN_HPP_NOEXCEPT : AndroidHardwareBufferFormatResolvePropertiesANDROID( *reinterpret_cast<AndroidHardwareBufferFormatResolvePropertiesANDROID const *>( &rhs ) ) { } AndroidHardwareBufferFormatResolvePropertiesANDROID & operator=( AndroidHardwareBufferFormatResolvePropertiesANDROID const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AndroidHardwareBufferFormatResolvePropertiesANDROID & operator=( VkAndroidHardwareBufferFormatResolvePropertiesANDROID const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AndroidHardwareBufferFormatResolvePropertiesANDROID const *>( &rhs ); return *this; } operator VkAndroidHardwareBufferFormatResolvePropertiesANDROID const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAndroidHardwareBufferFormatResolvePropertiesANDROID *>( this ); } operator VkAndroidHardwareBufferFormatResolvePropertiesANDROID &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAndroidHardwareBufferFormatResolvePropertiesANDROID *>( this ); } operator VkAndroidHardwareBufferFormatResolvePropertiesANDROID const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAndroidHardwareBufferFormatResolvePropertiesANDROID *>( this ); } operator VkAndroidHardwareBufferFormatResolvePropertiesANDROID *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAndroidHardwareBufferFormatResolvePropertiesANDROID *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, Format const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, colorAttachmentFormat ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( AndroidHardwareBufferFormatResolvePropertiesANDROID const & ) const = default; # else bool operator==( AndroidHardwareBufferFormatResolvePropertiesANDROID 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 ) && ( colorAttachmentFormat == rhs.colorAttachmentFormat ); # endif } bool operator!=( AndroidHardwareBufferFormatResolvePropertiesANDROID const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } # endif public: StructureType sType = StructureType::eAndroidHardwareBufferFormatResolvePropertiesANDROID; void * pNext = {}; Format colorAttachmentFormat = Format::eUndefined; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAndroidHardwareBufferFormatResolvePropertiesANDROID> { using Type = AndroidHardwareBufferFormatResolvePropertiesANDROID; }; # endif template <> struct CppType<StructureType, StructureType::eAndroidHardwareBufferFormatResolvePropertiesANDROID> { using Type = AndroidHardwareBufferFormatResolvePropertiesANDROID; }; #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ #if defined( VK_USE_PLATFORM_ANDROID_KHR ) // wrapper struct for struct VkAndroidHardwareBufferPropertiesANDROID, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAndroidHardwareBufferPropertiesANDROID.html struct AndroidHardwareBufferPropertiesANDROID { using NativeType = VkAndroidHardwareBufferPropertiesANDROID; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAndroidHardwareBufferPropertiesANDROID; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR AndroidHardwareBufferPropertiesANDROID( DeviceSize allocationSize_ = {}, uint32_t memoryTypeBits_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , allocationSize{ allocationSize_ } , memoryTypeBits{ memoryTypeBits_ } { } VULKAN_HPP_CONSTEXPR AndroidHardwareBufferPropertiesANDROID( AndroidHardwareBufferPropertiesANDROID const & rhs ) VULKAN_HPP_NOEXCEPT = default; AndroidHardwareBufferPropertiesANDROID( VkAndroidHardwareBufferPropertiesANDROID const & rhs ) VULKAN_HPP_NOEXCEPT : AndroidHardwareBufferPropertiesANDROID( *reinterpret_cast<AndroidHardwareBufferPropertiesANDROID const *>( &rhs ) ) { } AndroidHardwareBufferPropertiesANDROID & operator=( AndroidHardwareBufferPropertiesANDROID const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AndroidHardwareBufferPropertiesANDROID & operator=( VkAndroidHardwareBufferPropertiesANDROID const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AndroidHardwareBufferPropertiesANDROID const *>( &rhs ); return *this; } operator VkAndroidHardwareBufferPropertiesANDROID const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAndroidHardwareBufferPropertiesANDROID *>( this ); } operator VkAndroidHardwareBufferPropertiesANDROID &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAndroidHardwareBufferPropertiesANDROID *>( this ); } operator VkAndroidHardwareBufferPropertiesANDROID const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAndroidHardwareBufferPropertiesANDROID *>( this ); } operator VkAndroidHardwareBufferPropertiesANDROID *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAndroidHardwareBufferPropertiesANDROID *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, DeviceSize const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, allocationSize, memoryTypeBits ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( AndroidHardwareBufferPropertiesANDROID const & ) const = default; # else bool operator==( AndroidHardwareBufferPropertiesANDROID 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 ) && ( allocationSize == rhs.allocationSize ) && ( memoryTypeBits == rhs.memoryTypeBits ); # endif } bool operator!=( AndroidHardwareBufferPropertiesANDROID const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } # endif public: StructureType sType = StructureType::eAndroidHardwareBufferPropertiesANDROID; void * pNext = {}; DeviceSize allocationSize = {}; uint32_t memoryTypeBits = {}; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAndroidHardwareBufferPropertiesANDROID> { using Type = AndroidHardwareBufferPropertiesANDROID; }; # endif template <> struct CppType<StructureType, StructureType::eAndroidHardwareBufferPropertiesANDROID> { using Type = AndroidHardwareBufferPropertiesANDROID; }; #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ #if defined( VK_USE_PLATFORM_ANDROID_KHR ) // wrapper struct for struct VkAndroidHardwareBufferUsageANDROID, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAndroidHardwareBufferUsageANDROID.html struct AndroidHardwareBufferUsageANDROID { using NativeType = VkAndroidHardwareBufferUsageANDROID; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAndroidHardwareBufferUsageANDROID; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR AndroidHardwareBufferUsageANDROID( uint64_t androidHardwareBufferUsage_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , androidHardwareBufferUsage{ androidHardwareBufferUsage_ } { } VULKAN_HPP_CONSTEXPR AndroidHardwareBufferUsageANDROID( AndroidHardwareBufferUsageANDROID const & rhs ) VULKAN_HPP_NOEXCEPT = default; AndroidHardwareBufferUsageANDROID( VkAndroidHardwareBufferUsageANDROID const & rhs ) VULKAN_HPP_NOEXCEPT : AndroidHardwareBufferUsageANDROID( *reinterpret_cast<AndroidHardwareBufferUsageANDROID const *>( &rhs ) ) { } AndroidHardwareBufferUsageANDROID & operator=( AndroidHardwareBufferUsageANDROID const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AndroidHardwareBufferUsageANDROID & operator=( VkAndroidHardwareBufferUsageANDROID const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AndroidHardwareBufferUsageANDROID const *>( &rhs ); return *this; } operator VkAndroidHardwareBufferUsageANDROID const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAndroidHardwareBufferUsageANDROID *>( this ); } operator VkAndroidHardwareBufferUsageANDROID &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAndroidHardwareBufferUsageANDROID *>( this ); } operator VkAndroidHardwareBufferUsageANDROID const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAndroidHardwareBufferUsageANDROID *>( this ); } operator VkAndroidHardwareBufferUsageANDROID *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAndroidHardwareBufferUsageANDROID *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, uint64_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, androidHardwareBufferUsage ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( AndroidHardwareBufferUsageANDROID const & ) const = default; # else bool operator==( AndroidHardwareBufferUsageANDROID 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 ) && ( androidHardwareBufferUsage == rhs.androidHardwareBufferUsage ); # endif } bool operator!=( AndroidHardwareBufferUsageANDROID const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } # endif public: StructureType sType = StructureType::eAndroidHardwareBufferUsageANDROID; void * pNext = {}; uint64_t androidHardwareBufferUsage = {}; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAndroidHardwareBufferUsageANDROID> { using Type = AndroidHardwareBufferUsageANDROID; }; # endif template <> struct CppType<StructureType, StructureType::eAndroidHardwareBufferUsageANDROID> { using Type = AndroidHardwareBufferUsageANDROID; }; #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ #if defined( VK_USE_PLATFORM_ANDROID_KHR ) // wrapper struct for struct VkAndroidSurfaceCreateInfoKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAndroidSurfaceCreateInfoKHR.html struct AndroidSurfaceCreateInfoKHR { using NativeType = VkAndroidSurfaceCreateInfoKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAndroidSurfaceCreateInfoKHR; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR AndroidSurfaceCreateInfoKHR( AndroidSurfaceCreateFlagsKHR flags_ = {}, struct ANativeWindow * window_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , window{ window_ } { } VULKAN_HPP_CONSTEXPR AndroidSurfaceCreateInfoKHR( AndroidSurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; AndroidSurfaceCreateInfoKHR( VkAndroidSurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : AndroidSurfaceCreateInfoKHR( *reinterpret_cast<AndroidSurfaceCreateInfoKHR const *>( &rhs ) ) { } AndroidSurfaceCreateInfoKHR & operator=( AndroidSurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AndroidSurfaceCreateInfoKHR & operator=( VkAndroidSurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AndroidSurfaceCreateInfoKHR const *>( &rhs ); return *this; } # if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AndroidSurfaceCreateInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 AndroidSurfaceCreateInfoKHR & setFlags( AndroidSurfaceCreateFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 AndroidSurfaceCreateInfoKHR & setWindow( struct ANativeWindow * window_ ) VULKAN_HPP_NOEXCEPT { window = window_; return *this; } # endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAndroidSurfaceCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAndroidSurfaceCreateInfoKHR *>( this ); } operator VkAndroidSurfaceCreateInfoKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAndroidSurfaceCreateInfoKHR *>( this ); } operator VkAndroidSurfaceCreateInfoKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAndroidSurfaceCreateInfoKHR *>( this ); } operator VkAndroidSurfaceCreateInfoKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAndroidSurfaceCreateInfoKHR *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, AndroidSurfaceCreateFlagsKHR const &, struct ANativeWindow * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, window ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( AndroidSurfaceCreateInfoKHR const & ) const = default; # else bool operator==( AndroidSurfaceCreateInfoKHR 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 ) && ( flags == rhs.flags ) && ( window == rhs.window ); # endif } bool operator!=( AndroidSurfaceCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } # endif public: StructureType sType = StructureType::eAndroidSurfaceCreateInfoKHR; const void * pNext = {}; AndroidSurfaceCreateFlagsKHR flags = {}; struct ANativeWindow * window = {}; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAndroidSurfaceCreateInfoKHR> { using Type = AndroidSurfaceCreateInfoKHR; }; # endif template <> struct CppType<StructureType, StructureType::eAndroidSurfaceCreateInfoKHR> { using Type = AndroidSurfaceCreateInfoKHR; }; #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ // wrapper struct for struct VkAntiLagPresentationInfoAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAntiLagPresentationInfoAMD.html struct AntiLagPresentationInfoAMD { using NativeType = VkAntiLagPresentationInfoAMD; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAntiLagPresentationInfoAMD; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR AntiLagPresentationInfoAMD( AntiLagStageAMD stage_ = AntiLagStageAMD::eInput, uint64_t frameIndex_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , stage{ stage_ } , frameIndex{ frameIndex_ } { } VULKAN_HPP_CONSTEXPR AntiLagPresentationInfoAMD( AntiLagPresentationInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default; AntiLagPresentationInfoAMD( VkAntiLagPresentationInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT : AntiLagPresentationInfoAMD( *reinterpret_cast<AntiLagPresentationInfoAMD const *>( &rhs ) ) { } AntiLagPresentationInfoAMD & operator=( AntiLagPresentationInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AntiLagPresentationInfoAMD & operator=( VkAntiLagPresentationInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AntiLagPresentationInfoAMD const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AntiLagPresentationInfoAMD & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 AntiLagPresentationInfoAMD & setStage( AntiLagStageAMD stage_ ) VULKAN_HPP_NOEXCEPT { stage = stage_; return *this; } VULKAN_HPP_CONSTEXPR_14 AntiLagPresentationInfoAMD & setFrameIndex( uint64_t frameIndex_ ) VULKAN_HPP_NOEXCEPT { frameIndex = frameIndex_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAntiLagPresentationInfoAMD const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAntiLagPresentationInfoAMD *>( this ); } operator VkAntiLagPresentationInfoAMD &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAntiLagPresentationInfoAMD *>( this ); } operator VkAntiLagPresentationInfoAMD const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAntiLagPresentationInfoAMD *>( this ); } operator VkAntiLagPresentationInfoAMD *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAntiLagPresentationInfoAMD *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, AntiLagStageAMD const &, uint64_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, stage, frameIndex ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( AntiLagPresentationInfoAMD const & ) const = default; #else bool operator==( AntiLagPresentationInfoAMD 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 ) && ( stage == rhs.stage ) && ( frameIndex == rhs.frameIndex ); # endif } bool operator!=( AntiLagPresentationInfoAMD const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eAntiLagPresentationInfoAMD; void * pNext = {}; AntiLagStageAMD stage = AntiLagStageAMD::eInput; uint64_t frameIndex = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAntiLagPresentationInfoAMD> { using Type = AntiLagPresentationInfoAMD; }; #endif template <> struct CppType<StructureType, StructureType::eAntiLagPresentationInfoAMD> { using Type = AntiLagPresentationInfoAMD; }; // wrapper struct for struct VkAntiLagDataAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAntiLagDataAMD.html struct AntiLagDataAMD { using NativeType = VkAntiLagDataAMD; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAntiLagDataAMD; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR AntiLagDataAMD( AntiLagModeAMD mode_ = AntiLagModeAMD::eDriverControl, uint32_t maxFPS_ = {}, const AntiLagPresentationInfoAMD * pPresentationInfo_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , mode{ mode_ } , maxFPS{ maxFPS_ } , pPresentationInfo{ pPresentationInfo_ } { } VULKAN_HPP_CONSTEXPR AntiLagDataAMD( AntiLagDataAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default; AntiLagDataAMD( VkAntiLagDataAMD const & rhs ) VULKAN_HPP_NOEXCEPT : AntiLagDataAMD( *reinterpret_cast<AntiLagDataAMD const *>( &rhs ) ) {} AntiLagDataAMD & operator=( AntiLagDataAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AntiLagDataAMD & operator=( VkAntiLagDataAMD const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AntiLagDataAMD const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AntiLagDataAMD & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 AntiLagDataAMD & setMode( AntiLagModeAMD mode_ ) VULKAN_HPP_NOEXCEPT { mode = mode_; return *this; } VULKAN_HPP_CONSTEXPR_14 AntiLagDataAMD & setMaxFPS( uint32_t maxFPS_ ) VULKAN_HPP_NOEXCEPT { maxFPS = maxFPS_; return *this; } VULKAN_HPP_CONSTEXPR_14 AntiLagDataAMD & setPPresentationInfo( const AntiLagPresentationInfoAMD * pPresentationInfo_ ) VULKAN_HPP_NOEXCEPT { pPresentationInfo = pPresentationInfo_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAntiLagDataAMD const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAntiLagDataAMD *>( this ); } operator VkAntiLagDataAMD &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAntiLagDataAMD *>( this ); } operator VkAntiLagDataAMD const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAntiLagDataAMD *>( this ); } operator VkAntiLagDataAMD *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAntiLagDataAMD *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, AntiLagModeAMD const &, uint32_t const &, const AntiLagPresentationInfoAMD * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, mode, maxFPS, pPresentationInfo ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( AntiLagDataAMD const & ) const = default; #else bool operator==( AntiLagDataAMD 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 ) && ( mode == rhs.mode ) && ( maxFPS == rhs.maxFPS ) && ( pPresentationInfo == rhs.pPresentationInfo ); # endif } bool operator!=( AntiLagDataAMD const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eAntiLagDataAMD; const void * pNext = {}; AntiLagModeAMD mode = AntiLagModeAMD::eDriverControl; uint32_t maxFPS = {}; const AntiLagPresentationInfoAMD * pPresentationInfo = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAntiLagDataAMD> { using Type = AntiLagDataAMD; }; #endif template <> struct CppType<StructureType, StructureType::eAntiLagDataAMD> { using Type = AntiLagDataAMD; }; // wrapper struct for struct VkApplicationInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkApplicationInfo.html struct ApplicationInfo { using NativeType = VkApplicationInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eApplicationInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ApplicationInfo( const char * pApplicationName_ = {}, uint32_t applicationVersion_ = {}, const char * pEngineName_ = {}, uint32_t engineVersion_ = {}, uint32_t apiVersion_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , pApplicationName{ pApplicationName_ } , applicationVersion{ applicationVersion_ } , pEngineName{ pEngineName_ } , engineVersion{ engineVersion_ } , apiVersion{ apiVersion_ } { } VULKAN_HPP_CONSTEXPR ApplicationInfo( ApplicationInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; ApplicationInfo( VkApplicationInfo const & rhs ) VULKAN_HPP_NOEXCEPT : ApplicationInfo( *reinterpret_cast<ApplicationInfo const *>( &rhs ) ) {} ApplicationInfo & operator=( ApplicationInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ApplicationInfo & operator=( VkApplicationInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ApplicationInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ApplicationInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ApplicationInfo & setPApplicationName( const char * pApplicationName_ ) VULKAN_HPP_NOEXCEPT { pApplicationName = pApplicationName_; return *this; } VULKAN_HPP_CONSTEXPR_14 ApplicationInfo & setApplicationVersion( uint32_t applicationVersion_ ) VULKAN_HPP_NOEXCEPT { applicationVersion = applicationVersion_; return *this; } VULKAN_HPP_CONSTEXPR_14 ApplicationInfo & setPEngineName( const char * pEngineName_ ) VULKAN_HPP_NOEXCEPT { pEngineName = pEngineName_; return *this; } VULKAN_HPP_CONSTEXPR_14 ApplicationInfo & setEngineVersion( uint32_t engineVersion_ ) VULKAN_HPP_NOEXCEPT { engineVersion = engineVersion_; return *this; } VULKAN_HPP_CONSTEXPR_14 ApplicationInfo & setApiVersion( uint32_t apiVersion_ ) VULKAN_HPP_NOEXCEPT { apiVersion = apiVersion_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkApplicationInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkApplicationInfo *>( this ); } operator VkApplicationInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkApplicationInfo *>( this ); } operator VkApplicationInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkApplicationInfo *>( this ); } operator VkApplicationInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkApplicationInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, const char * const &, uint32_t const &, const char * const &, uint32_t const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, pApplicationName, applicationVersion, pEngineName, engineVersion, apiVersion ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) std::strong_ordering operator<=>( ApplicationInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { if ( auto cmp = sType <=> rhs.sType; cmp != 0 ) return cmp; if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 ) return cmp; if ( pApplicationName != rhs.pApplicationName ) if ( auto cmp = strcmp( pApplicationName, rhs.pApplicationName ); cmp != 0 ) return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater; if ( auto cmp = applicationVersion <=> rhs.applicationVersion; cmp != 0 ) return cmp; if ( pEngineName != rhs.pEngineName ) if ( auto cmp = strcmp( pEngineName, rhs.pEngineName ); cmp != 0 ) return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater; if ( auto cmp = engineVersion <=> rhs.engineVersion; cmp != 0 ) return cmp; if ( auto cmp = apiVersion <=> rhs.apiVersion; cmp != 0 ) return cmp; return std::strong_ordering::equivalent; } #endif bool operator==( ApplicationInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( ( pApplicationName == rhs.pApplicationName ) || ( strcmp( pApplicationName, rhs.pApplicationName ) == 0 ) ) && ( applicationVersion == rhs.applicationVersion ) && ( ( pEngineName == rhs.pEngineName ) || ( strcmp( pEngineName, rhs.pEngineName ) == 0 ) ) && ( engineVersion == rhs.engineVersion ) && ( apiVersion == rhs.apiVersion ); } bool operator!=( ApplicationInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } public: StructureType sType = StructureType::eApplicationInfo; const void * pNext = {}; const char * pApplicationName = {}; uint32_t applicationVersion = {}; const char * pEngineName = {}; uint32_t engineVersion = {}; uint32_t apiVersion = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkApplicationInfo> { using Type = ApplicationInfo; }; #endif template <> struct CppType<StructureType, StructureType::eApplicationInfo> { using Type = ApplicationInfo; }; // wrapper struct for struct VkAttachmentDescription, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAttachmentDescription.html struct AttachmentDescription { using NativeType = VkAttachmentDescription; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR AttachmentDescription( AttachmentDescriptionFlags flags_ = {}, Format format_ = Format::eUndefined, SampleCountFlagBits samples_ = SampleCountFlagBits::e1, AttachmentLoadOp loadOp_ = AttachmentLoadOp::eLoad, AttachmentStoreOp storeOp_ = AttachmentStoreOp::eStore, AttachmentLoadOp stencilLoadOp_ = AttachmentLoadOp::eLoad, AttachmentStoreOp stencilStoreOp_ = AttachmentStoreOp::eStore, ImageLayout initialLayout_ = ImageLayout::eUndefined, ImageLayout finalLayout_ = ImageLayout::eUndefined ) VULKAN_HPP_NOEXCEPT : flags{ flags_ } , format{ format_ } , samples{ samples_ } , loadOp{ loadOp_ } , storeOp{ storeOp_ } , stencilLoadOp{ stencilLoadOp_ } , stencilStoreOp{ stencilStoreOp_ } , initialLayout{ initialLayout_ } , finalLayout{ finalLayout_ } { } VULKAN_HPP_CONSTEXPR AttachmentDescription( AttachmentDescription const & rhs ) VULKAN_HPP_NOEXCEPT = default; AttachmentDescription( VkAttachmentDescription const & rhs ) VULKAN_HPP_NOEXCEPT : AttachmentDescription( *reinterpret_cast<AttachmentDescription const *>( &rhs ) ) { } AttachmentDescription & operator=( AttachmentDescription const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AttachmentDescription & operator=( VkAttachmentDescription const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AttachmentDescription const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AttachmentDescription & setFlags( AttachmentDescriptionFlags flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 AttachmentDescription & setFormat( Format format_ ) VULKAN_HPP_NOEXCEPT { format = format_; return *this; } VULKAN_HPP_CONSTEXPR_14 AttachmentDescription & setSamples( SampleCountFlagBits samples_ ) VULKAN_HPP_NOEXCEPT { samples = samples_; return *this; } VULKAN_HPP_CONSTEXPR_14 AttachmentDescription & setLoadOp( AttachmentLoadOp loadOp_ ) VULKAN_HPP_NOEXCEPT { loadOp = loadOp_; return *this; } VULKAN_HPP_CONSTEXPR_14 AttachmentDescription & setStoreOp( AttachmentStoreOp storeOp_ ) VULKAN_HPP_NOEXCEPT { storeOp = storeOp_; return *this; } VULKAN_HPP_CONSTEXPR_14 AttachmentDescription & setStencilLoadOp( AttachmentLoadOp stencilLoadOp_ ) VULKAN_HPP_NOEXCEPT { stencilLoadOp = stencilLoadOp_; return *this; } VULKAN_HPP_CONSTEXPR_14 AttachmentDescription & setStencilStoreOp( AttachmentStoreOp stencilStoreOp_ ) VULKAN_HPP_NOEXCEPT { stencilStoreOp = stencilStoreOp_; return *this; } VULKAN_HPP_CONSTEXPR_14 AttachmentDescription & setInitialLayout( ImageLayout initialLayout_ ) VULKAN_HPP_NOEXCEPT { initialLayout = initialLayout_; return *this; } VULKAN_HPP_CONSTEXPR_14 AttachmentDescription & setFinalLayout( ImageLayout finalLayout_ ) VULKAN_HPP_NOEXCEPT { finalLayout = finalLayout_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAttachmentDescription const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAttachmentDescription *>( this ); } operator VkAttachmentDescription &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAttachmentDescription *>( this ); } operator VkAttachmentDescription const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAttachmentDescription *>( this ); } operator VkAttachmentDescription *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAttachmentDescription *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<AttachmentDescriptionFlags const &, Format const &, SampleCountFlagBits const &, AttachmentLoadOp const &, AttachmentStoreOp const &, AttachmentLoadOp const &, AttachmentStoreOp const &, ImageLayout const &, ImageLayout const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( flags, format, samples, loadOp, storeOp, stencilLoadOp, stencilStoreOp, initialLayout, finalLayout ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( AttachmentDescription const & ) const = default; #else bool operator==( AttachmentDescription const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( flags == rhs.flags ) && ( format == rhs.format ) && ( samples == rhs.samples ) && ( loadOp == rhs.loadOp ) && ( storeOp == rhs.storeOp ) && ( stencilLoadOp == rhs.stencilLoadOp ) && ( stencilStoreOp == rhs.stencilStoreOp ) && ( initialLayout == rhs.initialLayout ) && ( finalLayout == rhs.finalLayout ); # endif } bool operator!=( AttachmentDescription const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: AttachmentDescriptionFlags flags = {}; Format format = Format::eUndefined; SampleCountFlagBits samples = SampleCountFlagBits::e1; AttachmentLoadOp loadOp = AttachmentLoadOp::eLoad; AttachmentStoreOp storeOp = AttachmentStoreOp::eStore; AttachmentLoadOp stencilLoadOp = AttachmentLoadOp::eLoad; AttachmentStoreOp stencilStoreOp = AttachmentStoreOp::eStore; ImageLayout initialLayout = ImageLayout::eUndefined; ImageLayout finalLayout = ImageLayout::eUndefined; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAttachmentDescription> { using Type = AttachmentDescription; }; #endif // wrapper struct for struct VkAttachmentDescription2, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAttachmentDescription2.html struct AttachmentDescription2 { using NativeType = VkAttachmentDescription2; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAttachmentDescription2; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR AttachmentDescription2( AttachmentDescriptionFlags flags_ = {}, Format format_ = Format::eUndefined, SampleCountFlagBits samples_ = SampleCountFlagBits::e1, AttachmentLoadOp loadOp_ = AttachmentLoadOp::eLoad, AttachmentStoreOp storeOp_ = AttachmentStoreOp::eStore, AttachmentLoadOp stencilLoadOp_ = AttachmentLoadOp::eLoad, AttachmentStoreOp stencilStoreOp_ = AttachmentStoreOp::eStore, ImageLayout initialLayout_ = ImageLayout::eUndefined, ImageLayout finalLayout_ = ImageLayout::eUndefined, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , format{ format_ } , samples{ samples_ } , loadOp{ loadOp_ } , storeOp{ storeOp_ } , stencilLoadOp{ stencilLoadOp_ } , stencilStoreOp{ stencilStoreOp_ } , initialLayout{ initialLayout_ } , finalLayout{ finalLayout_ } { } VULKAN_HPP_CONSTEXPR AttachmentDescription2( AttachmentDescription2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; AttachmentDescription2( VkAttachmentDescription2 const & rhs ) VULKAN_HPP_NOEXCEPT : AttachmentDescription2( *reinterpret_cast<AttachmentDescription2 const *>( &rhs ) ) { } AttachmentDescription2 & operator=( AttachmentDescription2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AttachmentDescription2 & operator=( VkAttachmentDescription2 const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AttachmentDescription2 const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AttachmentDescription2 & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 AttachmentDescription2 & setFlags( AttachmentDescriptionFlags flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 AttachmentDescription2 & setFormat( Format format_ ) VULKAN_HPP_NOEXCEPT { format = format_; return *this; } VULKAN_HPP_CONSTEXPR_14 AttachmentDescription2 & setSamples( SampleCountFlagBits samples_ ) VULKAN_HPP_NOEXCEPT { samples = samples_; return *this; } VULKAN_HPP_CONSTEXPR_14 AttachmentDescription2 & setLoadOp( AttachmentLoadOp loadOp_ ) VULKAN_HPP_NOEXCEPT { loadOp = loadOp_; return *this; } VULKAN_HPP_CONSTEXPR_14 AttachmentDescription2 & setStoreOp( AttachmentStoreOp storeOp_ ) VULKAN_HPP_NOEXCEPT { storeOp = storeOp_; return *this; } VULKAN_HPP_CONSTEXPR_14 AttachmentDescription2 & setStencilLoadOp( AttachmentLoadOp stencilLoadOp_ ) VULKAN_HPP_NOEXCEPT { stencilLoadOp = stencilLoadOp_; return *this; } VULKAN_HPP_CONSTEXPR_14 AttachmentDescription2 & setStencilStoreOp( AttachmentStoreOp stencilStoreOp_ ) VULKAN_HPP_NOEXCEPT { stencilStoreOp = stencilStoreOp_; return *this; } VULKAN_HPP_CONSTEXPR_14 AttachmentDescription2 & setInitialLayout( ImageLayout initialLayout_ ) VULKAN_HPP_NOEXCEPT { initialLayout = initialLayout_; return *this; } VULKAN_HPP_CONSTEXPR_14 AttachmentDescription2 & setFinalLayout( ImageLayout finalLayout_ ) VULKAN_HPP_NOEXCEPT { finalLayout = finalLayout_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAttachmentDescription2 const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAttachmentDescription2 *>( this ); } operator VkAttachmentDescription2 &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAttachmentDescription2 *>( this ); } operator VkAttachmentDescription2 const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAttachmentDescription2 *>( this ); } operator VkAttachmentDescription2 *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAttachmentDescription2 *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, AttachmentDescriptionFlags const &, Format const &, SampleCountFlagBits const &, AttachmentLoadOp const &, AttachmentStoreOp const &, AttachmentLoadOp const &, AttachmentStoreOp const &, ImageLayout const &, ImageLayout const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, format, samples, loadOp, storeOp, stencilLoadOp, stencilStoreOp, initialLayout, finalLayout ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( AttachmentDescription2 const & ) const = default; #else bool operator==( AttachmentDescription2 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 ) && ( flags == rhs.flags ) && ( format == rhs.format ) && ( samples == rhs.samples ) && ( loadOp == rhs.loadOp ) && ( storeOp == rhs.storeOp ) && ( stencilLoadOp == rhs.stencilLoadOp ) && ( stencilStoreOp == rhs.stencilStoreOp ) && ( initialLayout == rhs.initialLayout ) && ( finalLayout == rhs.finalLayout ); # endif } bool operator!=( AttachmentDescription2 const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eAttachmentDescription2; const void * pNext = {}; AttachmentDescriptionFlags flags = {}; Format format = Format::eUndefined; SampleCountFlagBits samples = SampleCountFlagBits::e1; AttachmentLoadOp loadOp = AttachmentLoadOp::eLoad; AttachmentStoreOp storeOp = AttachmentStoreOp::eStore; AttachmentLoadOp stencilLoadOp = AttachmentLoadOp::eLoad; AttachmentStoreOp stencilStoreOp = AttachmentStoreOp::eStore; ImageLayout initialLayout = ImageLayout::eUndefined; ImageLayout finalLayout = ImageLayout::eUndefined; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAttachmentDescription2> { using Type = AttachmentDescription2; }; #endif template <> struct CppType<StructureType, StructureType::eAttachmentDescription2> { using Type = AttachmentDescription2; }; using AttachmentDescription2KHR = AttachmentDescription2; // wrapper struct for struct VkAttachmentDescriptionStencilLayout, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAttachmentDescriptionStencilLayout.html struct AttachmentDescriptionStencilLayout { using NativeType = VkAttachmentDescriptionStencilLayout; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAttachmentDescriptionStencilLayout; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR AttachmentDescriptionStencilLayout( ImageLayout stencilInitialLayout_ = ImageLayout::eUndefined, ImageLayout stencilFinalLayout_ = ImageLayout::eUndefined, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , stencilInitialLayout{ stencilInitialLayout_ } , stencilFinalLayout{ stencilFinalLayout_ } { } VULKAN_HPP_CONSTEXPR AttachmentDescriptionStencilLayout( AttachmentDescriptionStencilLayout const & rhs ) VULKAN_HPP_NOEXCEPT = default; AttachmentDescriptionStencilLayout( VkAttachmentDescriptionStencilLayout const & rhs ) VULKAN_HPP_NOEXCEPT : AttachmentDescriptionStencilLayout( *reinterpret_cast<AttachmentDescriptionStencilLayout const *>( &rhs ) ) { } AttachmentDescriptionStencilLayout & operator=( AttachmentDescriptionStencilLayout const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AttachmentDescriptionStencilLayout & operator=( VkAttachmentDescriptionStencilLayout const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AttachmentDescriptionStencilLayout const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AttachmentDescriptionStencilLayout & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 AttachmentDescriptionStencilLayout & setStencilInitialLayout( ImageLayout stencilInitialLayout_ ) VULKAN_HPP_NOEXCEPT { stencilInitialLayout = stencilInitialLayout_; return *this; } VULKAN_HPP_CONSTEXPR_14 AttachmentDescriptionStencilLayout & setStencilFinalLayout( ImageLayout stencilFinalLayout_ ) VULKAN_HPP_NOEXCEPT { stencilFinalLayout = stencilFinalLayout_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAttachmentDescriptionStencilLayout const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAttachmentDescriptionStencilLayout *>( this ); } operator VkAttachmentDescriptionStencilLayout &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAttachmentDescriptionStencilLayout *>( this ); } operator VkAttachmentDescriptionStencilLayout const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAttachmentDescriptionStencilLayout *>( this ); } operator VkAttachmentDescriptionStencilLayout *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAttachmentDescriptionStencilLayout *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, ImageLayout const &, ImageLayout const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, stencilInitialLayout, stencilFinalLayout ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( AttachmentDescriptionStencilLayout const & ) const = default; #else bool operator==( AttachmentDescriptionStencilLayout 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 ) && ( stencilInitialLayout == rhs.stencilInitialLayout ) && ( stencilFinalLayout == rhs.stencilFinalLayout ); # endif } bool operator!=( AttachmentDescriptionStencilLayout const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eAttachmentDescriptionStencilLayout; void * pNext = {}; ImageLayout stencilInitialLayout = ImageLayout::eUndefined; ImageLayout stencilFinalLayout = ImageLayout::eUndefined; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAttachmentDescriptionStencilLayout> { using Type = AttachmentDescriptionStencilLayout; }; #endif template <> struct CppType<StructureType, StructureType::eAttachmentDescriptionStencilLayout> { using Type = AttachmentDescriptionStencilLayout; }; using AttachmentDescriptionStencilLayoutKHR = AttachmentDescriptionStencilLayout; // wrapper struct for struct VkAttachmentFeedbackLoopInfoEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAttachmentFeedbackLoopInfoEXT.html struct AttachmentFeedbackLoopInfoEXT { using NativeType = VkAttachmentFeedbackLoopInfoEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAttachmentFeedbackLoopInfoEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR AttachmentFeedbackLoopInfoEXT( Bool32 feedbackLoopEnable_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , feedbackLoopEnable{ feedbackLoopEnable_ } { } VULKAN_HPP_CONSTEXPR AttachmentFeedbackLoopInfoEXT( AttachmentFeedbackLoopInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; AttachmentFeedbackLoopInfoEXT( VkAttachmentFeedbackLoopInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : AttachmentFeedbackLoopInfoEXT( *reinterpret_cast<AttachmentFeedbackLoopInfoEXT const *>( &rhs ) ) { } AttachmentFeedbackLoopInfoEXT & operator=( AttachmentFeedbackLoopInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AttachmentFeedbackLoopInfoEXT & operator=( VkAttachmentFeedbackLoopInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AttachmentFeedbackLoopInfoEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AttachmentFeedbackLoopInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 AttachmentFeedbackLoopInfoEXT & setFeedbackLoopEnable( Bool32 feedbackLoopEnable_ ) VULKAN_HPP_NOEXCEPT { feedbackLoopEnable = feedbackLoopEnable_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAttachmentFeedbackLoopInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAttachmentFeedbackLoopInfoEXT *>( this ); } operator VkAttachmentFeedbackLoopInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAttachmentFeedbackLoopInfoEXT *>( this ); } operator VkAttachmentFeedbackLoopInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAttachmentFeedbackLoopInfoEXT *>( this ); } operator VkAttachmentFeedbackLoopInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAttachmentFeedbackLoopInfoEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Bool32 const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, feedbackLoopEnable ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( AttachmentFeedbackLoopInfoEXT const & ) const = default; #else bool operator==( AttachmentFeedbackLoopInfoEXT 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 ) && ( feedbackLoopEnable == rhs.feedbackLoopEnable ); # endif } bool operator!=( AttachmentFeedbackLoopInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eAttachmentFeedbackLoopInfoEXT; const void * pNext = {}; Bool32 feedbackLoopEnable = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAttachmentFeedbackLoopInfoEXT> { using Type = AttachmentFeedbackLoopInfoEXT; }; #endif template <> struct CppType<StructureType, StructureType::eAttachmentFeedbackLoopInfoEXT> { using Type = AttachmentFeedbackLoopInfoEXT; }; // wrapper struct for struct VkAttachmentReference, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAttachmentReference.html struct AttachmentReference { using NativeType = VkAttachmentReference; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR AttachmentReference( uint32_t attachment_ = {}, ImageLayout layout_ = ImageLayout::eUndefined ) VULKAN_HPP_NOEXCEPT : attachment{ attachment_ } , layout{ layout_ } { } VULKAN_HPP_CONSTEXPR AttachmentReference( AttachmentReference const & rhs ) VULKAN_HPP_NOEXCEPT = default; AttachmentReference( VkAttachmentReference const & rhs ) VULKAN_HPP_NOEXCEPT : AttachmentReference( *reinterpret_cast<AttachmentReference const *>( &rhs ) ) { } AttachmentReference & operator=( AttachmentReference const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AttachmentReference & operator=( VkAttachmentReference const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AttachmentReference const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AttachmentReference & setAttachment( uint32_t attachment_ ) VULKAN_HPP_NOEXCEPT { attachment = attachment_; return *this; } VULKAN_HPP_CONSTEXPR_14 AttachmentReference & setLayout( ImageLayout layout_ ) VULKAN_HPP_NOEXCEPT { layout = layout_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAttachmentReference const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAttachmentReference *>( this ); } operator VkAttachmentReference &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAttachmentReference *>( this ); } operator VkAttachmentReference const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAttachmentReference *>( this ); } operator VkAttachmentReference *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAttachmentReference *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<uint32_t const &, ImageLayout const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( attachment, layout ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( AttachmentReference const & ) const = default; #else bool operator==( AttachmentReference const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( attachment == rhs.attachment ) && ( layout == rhs.layout ); # endif } bool operator!=( AttachmentReference const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: uint32_t attachment = {}; ImageLayout layout = ImageLayout::eUndefined; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAttachmentReference> { using Type = AttachmentReference; }; #endif // wrapper struct for struct VkAttachmentReference2, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAttachmentReference2.html struct AttachmentReference2 { using NativeType = VkAttachmentReference2; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAttachmentReference2; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR AttachmentReference2( uint32_t attachment_ = {}, ImageLayout layout_ = ImageLayout::eUndefined, ImageAspectFlags aspectMask_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , attachment{ attachment_ } , layout{ layout_ } , aspectMask{ aspectMask_ } { } VULKAN_HPP_CONSTEXPR AttachmentReference2( AttachmentReference2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; AttachmentReference2( VkAttachmentReference2 const & rhs ) VULKAN_HPP_NOEXCEPT : AttachmentReference2( *reinterpret_cast<AttachmentReference2 const *>( &rhs ) ) { } AttachmentReference2 & operator=( AttachmentReference2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AttachmentReference2 & operator=( VkAttachmentReference2 const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AttachmentReference2 const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AttachmentReference2 & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 AttachmentReference2 & setAttachment( uint32_t attachment_ ) VULKAN_HPP_NOEXCEPT { attachment = attachment_; return *this; } VULKAN_HPP_CONSTEXPR_14 AttachmentReference2 & setLayout( ImageLayout layout_ ) VULKAN_HPP_NOEXCEPT { layout = layout_; return *this; } VULKAN_HPP_CONSTEXPR_14 AttachmentReference2 & setAspectMask( ImageAspectFlags aspectMask_ ) VULKAN_HPP_NOEXCEPT { aspectMask = aspectMask_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAttachmentReference2 const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAttachmentReference2 *>( this ); } operator VkAttachmentReference2 &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAttachmentReference2 *>( this ); } operator VkAttachmentReference2 const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAttachmentReference2 *>( this ); } operator VkAttachmentReference2 *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAttachmentReference2 *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, uint32_t const &, ImageLayout const &, ImageAspectFlags const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, attachment, layout, aspectMask ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( AttachmentReference2 const & ) const = default; #else bool operator==( AttachmentReference2 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 ) && ( attachment == rhs.attachment ) && ( layout == rhs.layout ) && ( aspectMask == rhs.aspectMask ); # endif } bool operator!=( AttachmentReference2 const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eAttachmentReference2; const void * pNext = {}; uint32_t attachment = {}; ImageLayout layout = ImageLayout::eUndefined; ImageAspectFlags aspectMask = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAttachmentReference2> { using Type = AttachmentReference2; }; #endif template <> struct CppType<StructureType, StructureType::eAttachmentReference2> { using Type = AttachmentReference2; }; using AttachmentReference2KHR = AttachmentReference2; // wrapper struct for struct VkAttachmentReferenceStencilLayout, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAttachmentReferenceStencilLayout.html struct AttachmentReferenceStencilLayout { using NativeType = VkAttachmentReferenceStencilLayout; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAttachmentReferenceStencilLayout; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR AttachmentReferenceStencilLayout( ImageLayout stencilLayout_ = ImageLayout::eUndefined, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , stencilLayout{ stencilLayout_ } { } VULKAN_HPP_CONSTEXPR AttachmentReferenceStencilLayout( AttachmentReferenceStencilLayout const & rhs ) VULKAN_HPP_NOEXCEPT = default; AttachmentReferenceStencilLayout( VkAttachmentReferenceStencilLayout const & rhs ) VULKAN_HPP_NOEXCEPT : AttachmentReferenceStencilLayout( *reinterpret_cast<AttachmentReferenceStencilLayout const *>( &rhs ) ) { } AttachmentReferenceStencilLayout & operator=( AttachmentReferenceStencilLayout const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AttachmentReferenceStencilLayout & operator=( VkAttachmentReferenceStencilLayout const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AttachmentReferenceStencilLayout const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AttachmentReferenceStencilLayout & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 AttachmentReferenceStencilLayout & setStencilLayout( ImageLayout stencilLayout_ ) VULKAN_HPP_NOEXCEPT { stencilLayout = stencilLayout_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAttachmentReferenceStencilLayout const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAttachmentReferenceStencilLayout *>( this ); } operator VkAttachmentReferenceStencilLayout &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAttachmentReferenceStencilLayout *>( this ); } operator VkAttachmentReferenceStencilLayout const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAttachmentReferenceStencilLayout *>( this ); } operator VkAttachmentReferenceStencilLayout *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAttachmentReferenceStencilLayout *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, ImageLayout const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, stencilLayout ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( AttachmentReferenceStencilLayout const & ) const = default; #else bool operator==( AttachmentReferenceStencilLayout 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 ) && ( stencilLayout == rhs.stencilLayout ); # endif } bool operator!=( AttachmentReferenceStencilLayout const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eAttachmentReferenceStencilLayout; void * pNext = {}; ImageLayout stencilLayout = ImageLayout::eUndefined; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAttachmentReferenceStencilLayout> { using Type = AttachmentReferenceStencilLayout; }; #endif template <> struct CppType<StructureType, StructureType::eAttachmentReferenceStencilLayout> { using Type = AttachmentReferenceStencilLayout; }; using AttachmentReferenceStencilLayoutKHR = AttachmentReferenceStencilLayout; // wrapper struct for struct VkAttachmentSampleCountInfoAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAttachmentSampleCountInfoAMD.html struct AttachmentSampleCountInfoAMD { using NativeType = VkAttachmentSampleCountInfoAMD; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAttachmentSampleCountInfoAMD; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR AttachmentSampleCountInfoAMD( uint32_t colorAttachmentCount_ = {}, const SampleCountFlagBits * pColorAttachmentSamples_ = {}, SampleCountFlagBits depthStencilAttachmentSamples_ = SampleCountFlagBits::e1, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , colorAttachmentCount{ colorAttachmentCount_ } , pColorAttachmentSamples{ pColorAttachmentSamples_ } , depthStencilAttachmentSamples{ depthStencilAttachmentSamples_ } { } VULKAN_HPP_CONSTEXPR AttachmentSampleCountInfoAMD( AttachmentSampleCountInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default; AttachmentSampleCountInfoAMD( VkAttachmentSampleCountInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT : AttachmentSampleCountInfoAMD( *reinterpret_cast<AttachmentSampleCountInfoAMD const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) AttachmentSampleCountInfoAMD( ArrayProxyNoTemporaries<const SampleCountFlagBits> const & colorAttachmentSamples_, SampleCountFlagBits depthStencilAttachmentSamples_ = SampleCountFlagBits::e1, const void * pNext_ = nullptr ) : pNext( pNext_ ) , colorAttachmentCount( static_cast<uint32_t>( colorAttachmentSamples_.size() ) ) , pColorAttachmentSamples( colorAttachmentSamples_.data() ) , depthStencilAttachmentSamples( depthStencilAttachmentSamples_ ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ AttachmentSampleCountInfoAMD & operator=( AttachmentSampleCountInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AttachmentSampleCountInfoAMD & operator=( VkAttachmentSampleCountInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AttachmentSampleCountInfoAMD const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AttachmentSampleCountInfoAMD & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 AttachmentSampleCountInfoAMD & setColorAttachmentCount( uint32_t colorAttachmentCount_ ) VULKAN_HPP_NOEXCEPT { colorAttachmentCount = colorAttachmentCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 AttachmentSampleCountInfoAMD & setPColorAttachmentSamples( const SampleCountFlagBits * pColorAttachmentSamples_ ) VULKAN_HPP_NOEXCEPT { pColorAttachmentSamples = pColorAttachmentSamples_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) AttachmentSampleCountInfoAMD & setColorAttachmentSamples( ArrayProxyNoTemporaries<const SampleCountFlagBits> const & colorAttachmentSamples_ ) VULKAN_HPP_NOEXCEPT { colorAttachmentCount = static_cast<uint32_t>( colorAttachmentSamples_.size() ); pColorAttachmentSamples = colorAttachmentSamples_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 AttachmentSampleCountInfoAMD & setDepthStencilAttachmentSamples( SampleCountFlagBits depthStencilAttachmentSamples_ ) VULKAN_HPP_NOEXCEPT { depthStencilAttachmentSamples = depthStencilAttachmentSamples_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAttachmentSampleCountInfoAMD const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAttachmentSampleCountInfoAMD *>( this ); } operator VkAttachmentSampleCountInfoAMD &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAttachmentSampleCountInfoAMD *>( this ); } operator VkAttachmentSampleCountInfoAMD const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAttachmentSampleCountInfoAMD *>( this ); } operator VkAttachmentSampleCountInfoAMD *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAttachmentSampleCountInfoAMD *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, uint32_t const &, const SampleCountFlagBits * const &, SampleCountFlagBits const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, colorAttachmentCount, pColorAttachmentSamples, depthStencilAttachmentSamples ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( AttachmentSampleCountInfoAMD const & ) const = default; #else bool operator==( AttachmentSampleCountInfoAMD 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 ) && ( colorAttachmentCount == rhs.colorAttachmentCount ) && ( pColorAttachmentSamples == rhs.pColorAttachmentSamples ) && ( depthStencilAttachmentSamples == rhs.depthStencilAttachmentSamples ); # endif } bool operator!=( AttachmentSampleCountInfoAMD const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eAttachmentSampleCountInfoAMD; const void * pNext = {}; uint32_t colorAttachmentCount = {}; const SampleCountFlagBits * pColorAttachmentSamples = {}; SampleCountFlagBits depthStencilAttachmentSamples = SampleCountFlagBits::e1; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAttachmentSampleCountInfoAMD> { using Type = AttachmentSampleCountInfoAMD; }; #endif template <> struct CppType<StructureType, StructureType::eAttachmentSampleCountInfoAMD> { using Type = AttachmentSampleCountInfoAMD; }; using AttachmentSampleCountInfoNV = AttachmentSampleCountInfoAMD; // wrapper struct for struct VkExtent2D, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkExtent2D.html struct Extent2D { using NativeType = VkExtent2D; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR Extent2D( uint32_t width_ = {}, uint32_t height_ = {} ) VULKAN_HPP_NOEXCEPT : width{ width_ } , height{ height_ } { } VULKAN_HPP_CONSTEXPR Extent2D( Extent2D const & rhs ) VULKAN_HPP_NOEXCEPT = default; Extent2D( VkExtent2D const & rhs ) VULKAN_HPP_NOEXCEPT : Extent2D( *reinterpret_cast<Extent2D const *>( &rhs ) ) {} Extent2D & operator=( Extent2D const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ Extent2D & operator=( VkExtent2D const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<Extent2D const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 Extent2D & setWidth( uint32_t width_ ) VULKAN_HPP_NOEXCEPT { width = width_; return *this; } VULKAN_HPP_CONSTEXPR_14 Extent2D & setHeight( uint32_t height_ ) VULKAN_HPP_NOEXCEPT { height = height_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkExtent2D const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExtent2D *>( this ); } operator VkExtent2D &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExtent2D *>( this ); } operator VkExtent2D const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExtent2D *>( this ); } operator VkExtent2D *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExtent2D *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<uint32_t const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( width, height ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( Extent2D const & ) const = default; #else bool operator==( Extent2D const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( width == rhs.width ) && ( height == rhs.height ); # endif } bool operator!=( Extent2D const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: uint32_t width = {}; uint32_t height = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExtent2D> { using Type = Extent2D; }; #endif // wrapper struct for struct VkSampleLocationEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSampleLocationEXT.html struct SampleLocationEXT { using NativeType = VkSampleLocationEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR SampleLocationEXT( float x_ = {}, float y_ = {} ) VULKAN_HPP_NOEXCEPT : x{ x_ } , y{ y_ } { } VULKAN_HPP_CONSTEXPR SampleLocationEXT( SampleLocationEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; SampleLocationEXT( VkSampleLocationEXT const & rhs ) VULKAN_HPP_NOEXCEPT : SampleLocationEXT( *reinterpret_cast<SampleLocationEXT const *>( &rhs ) ) {} SampleLocationEXT & operator=( SampleLocationEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ SampleLocationEXT & operator=( VkSampleLocationEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<SampleLocationEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 SampleLocationEXT & setX( float x_ ) VULKAN_HPP_NOEXCEPT { x = x_; return *this; } VULKAN_HPP_CONSTEXPR_14 SampleLocationEXT & setY( float y_ ) VULKAN_HPP_NOEXCEPT { y = y_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkSampleLocationEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkSampleLocationEXT *>( this ); } operator VkSampleLocationEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkSampleLocationEXT *>( this ); } operator VkSampleLocationEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkSampleLocationEXT *>( this ); } operator VkSampleLocationEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkSampleLocationEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<float const &, float const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( x, y ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( SampleLocationEXT const & ) const = default; #else bool operator==( SampleLocationEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( x == rhs.x ) && ( y == rhs.y ); # endif } bool operator!=( SampleLocationEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: float x = {}; float y = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkSampleLocationEXT> { using Type = SampleLocationEXT; }; #endif // wrapper struct for struct VkSampleLocationsInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSampleLocationsInfoEXT.html struct SampleLocationsInfoEXT { using NativeType = VkSampleLocationsInfoEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSampleLocationsInfoEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR SampleLocationsInfoEXT( SampleCountFlagBits sampleLocationsPerPixel_ = SampleCountFlagBits::e1, Extent2D sampleLocationGridSize_ = {}, uint32_t sampleLocationsCount_ = {}, const SampleLocationEXT * pSampleLocations_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , sampleLocationsPerPixel{ sampleLocationsPerPixel_ } , sampleLocationGridSize{ sampleLocationGridSize_ } , sampleLocationsCount{ sampleLocationsCount_ } , pSampleLocations{ pSampleLocations_ } { } VULKAN_HPP_CONSTEXPR SampleLocationsInfoEXT( SampleLocationsInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; SampleLocationsInfoEXT( VkSampleLocationsInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : SampleLocationsInfoEXT( *reinterpret_cast<SampleLocationsInfoEXT const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) SampleLocationsInfoEXT( SampleCountFlagBits sampleLocationsPerPixel_, Extent2D sampleLocationGridSize_, ArrayProxyNoTemporaries<const SampleLocationEXT> const & sampleLocations_, const void * pNext_ = nullptr ) : pNext( pNext_ ) , sampleLocationsPerPixel( sampleLocationsPerPixel_ ) , sampleLocationGridSize( sampleLocationGridSize_ ) , sampleLocationsCount( static_cast<uint32_t>( sampleLocations_.size() ) ) , pSampleLocations( sampleLocations_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ SampleLocationsInfoEXT & operator=( SampleLocationsInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ SampleLocationsInfoEXT & operator=( VkSampleLocationsInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<SampleLocationsInfoEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 SampleLocationsInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 SampleLocationsInfoEXT & setSampleLocationsPerPixel( SampleCountFlagBits sampleLocationsPerPixel_ ) VULKAN_HPP_NOEXCEPT { sampleLocationsPerPixel = sampleLocationsPerPixel_; return *this; } VULKAN_HPP_CONSTEXPR_14 SampleLocationsInfoEXT & setSampleLocationGridSize( Extent2D const & sampleLocationGridSize_ ) VULKAN_HPP_NOEXCEPT { sampleLocationGridSize = sampleLocationGridSize_; return *this; } VULKAN_HPP_CONSTEXPR_14 SampleLocationsInfoEXT & setSampleLocationsCount( uint32_t sampleLocationsCount_ ) VULKAN_HPP_NOEXCEPT { sampleLocationsCount = sampleLocationsCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 SampleLocationsInfoEXT & setPSampleLocations( const SampleLocationEXT * pSampleLocations_ ) VULKAN_HPP_NOEXCEPT { pSampleLocations = pSampleLocations_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) SampleLocationsInfoEXT & setSampleLocations( ArrayProxyNoTemporaries<const SampleLocationEXT> const & sampleLocations_ ) VULKAN_HPP_NOEXCEPT { sampleLocationsCount = static_cast<uint32_t>( sampleLocations_.size() ); pSampleLocations = sampleLocations_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkSampleLocationsInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkSampleLocationsInfoEXT *>( this ); } operator VkSampleLocationsInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkSampleLocationsInfoEXT *>( this ); } operator VkSampleLocationsInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkSampleLocationsInfoEXT *>( this ); } operator VkSampleLocationsInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkSampleLocationsInfoEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, SampleCountFlagBits const &, Extent2D const &, uint32_t const &, const SampleLocationEXT * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, sampleLocationsPerPixel, sampleLocationGridSize, sampleLocationsCount, pSampleLocations ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( SampleLocationsInfoEXT const & ) const = default; #else bool operator==( SampleLocationsInfoEXT 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 ) && ( sampleLocationsPerPixel == rhs.sampleLocationsPerPixel ) && ( sampleLocationGridSize == rhs.sampleLocationGridSize ) && ( sampleLocationsCount == rhs.sampleLocationsCount ) && ( pSampleLocations == rhs.pSampleLocations ); # endif } bool operator!=( SampleLocationsInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eSampleLocationsInfoEXT; const void * pNext = {}; SampleCountFlagBits sampleLocationsPerPixel = SampleCountFlagBits::e1; Extent2D sampleLocationGridSize = {}; uint32_t sampleLocationsCount = {}; const SampleLocationEXT * pSampleLocations = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkSampleLocationsInfoEXT> { using Type = SampleLocationsInfoEXT; }; #endif template <> struct CppType<StructureType, StructureType::eSampleLocationsInfoEXT> { using Type = SampleLocationsInfoEXT; }; // wrapper struct for struct VkAttachmentSampleLocationsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAttachmentSampleLocationsEXT.html struct AttachmentSampleLocationsEXT { using NativeType = VkAttachmentSampleLocationsEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR AttachmentSampleLocationsEXT( uint32_t attachmentIndex_ = {}, SampleLocationsInfoEXT sampleLocationsInfo_ = {} ) VULKAN_HPP_NOEXCEPT : attachmentIndex{ attachmentIndex_ } , sampleLocationsInfo{ sampleLocationsInfo_ } { } VULKAN_HPP_CONSTEXPR AttachmentSampleLocationsEXT( AttachmentSampleLocationsEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; AttachmentSampleLocationsEXT( VkAttachmentSampleLocationsEXT const & rhs ) VULKAN_HPP_NOEXCEPT : AttachmentSampleLocationsEXT( *reinterpret_cast<AttachmentSampleLocationsEXT const *>( &rhs ) ) { } AttachmentSampleLocationsEXT & operator=( AttachmentSampleLocationsEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ AttachmentSampleLocationsEXT & operator=( VkAttachmentSampleLocationsEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<AttachmentSampleLocationsEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 AttachmentSampleLocationsEXT & setAttachmentIndex( uint32_t attachmentIndex_ ) VULKAN_HPP_NOEXCEPT { attachmentIndex = attachmentIndex_; return *this; } VULKAN_HPP_CONSTEXPR_14 AttachmentSampleLocationsEXT & setSampleLocationsInfo( SampleLocationsInfoEXT const & sampleLocationsInfo_ ) VULKAN_HPP_NOEXCEPT { sampleLocationsInfo = sampleLocationsInfo_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkAttachmentSampleLocationsEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkAttachmentSampleLocationsEXT *>( this ); } operator VkAttachmentSampleLocationsEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkAttachmentSampleLocationsEXT *>( this ); } operator VkAttachmentSampleLocationsEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkAttachmentSampleLocationsEXT *>( this ); } operator VkAttachmentSampleLocationsEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkAttachmentSampleLocationsEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<uint32_t const &, SampleLocationsInfoEXT const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( attachmentIndex, sampleLocationsInfo ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( AttachmentSampleLocationsEXT const & ) const = default; #else bool operator==( AttachmentSampleLocationsEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( attachmentIndex == rhs.attachmentIndex ) && ( sampleLocationsInfo == rhs.sampleLocationsInfo ); # endif } bool operator!=( AttachmentSampleLocationsEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: uint32_t attachmentIndex = {}; SampleLocationsInfoEXT sampleLocationsInfo = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkAttachmentSampleLocationsEXT> { using Type = AttachmentSampleLocationsEXT; }; #endif // wrapper struct for struct VkBaseInStructure, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBaseInStructure.html struct BaseInStructure { using NativeType = VkBaseInStructure; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) BaseInStructure( StructureType sType_ = StructureType::eApplicationInfo, const struct BaseInStructure * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : sType{ sType_ } , pNext{ pNext_ } { } BaseInStructure( BaseInStructure const & rhs ) VULKAN_HPP_NOEXCEPT = default; BaseInStructure( VkBaseInStructure const & rhs ) VULKAN_HPP_NOEXCEPT : BaseInStructure( *reinterpret_cast<BaseInStructure const *>( &rhs ) ) {} BaseInStructure & operator=( BaseInStructure const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BaseInStructure & operator=( VkBaseInStructure const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BaseInStructure const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BaseInStructure & setPNext( const struct BaseInStructure * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBaseInStructure const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBaseInStructure *>( this ); } operator VkBaseInStructure &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBaseInStructure *>( this ); } operator VkBaseInStructure const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBaseInStructure *>( this ); } operator VkBaseInStructure *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBaseInStructure *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const struct BaseInStructure * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BaseInStructure const & ) const = default; #else bool operator==( BaseInStructure 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 ); # endif } bool operator!=( BaseInStructure const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eApplicationInfo; const struct BaseInStructure * pNext = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBaseInStructure> { using Type = BaseInStructure; }; #endif // wrapper struct for struct VkBaseOutStructure, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBaseOutStructure.html struct BaseOutStructure { using NativeType = VkBaseOutStructure; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) BaseOutStructure( StructureType sType_ = StructureType::eApplicationInfo, struct BaseOutStructure * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : sType{ sType_ } , pNext{ pNext_ } { } BaseOutStructure( BaseOutStructure const & rhs ) VULKAN_HPP_NOEXCEPT = default; BaseOutStructure( VkBaseOutStructure const & rhs ) VULKAN_HPP_NOEXCEPT : BaseOutStructure( *reinterpret_cast<BaseOutStructure const *>( &rhs ) ) {} BaseOutStructure & operator=( BaseOutStructure const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BaseOutStructure & operator=( VkBaseOutStructure const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BaseOutStructure const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BaseOutStructure & setPNext( struct BaseOutStructure * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBaseOutStructure const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBaseOutStructure *>( this ); } operator VkBaseOutStructure &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBaseOutStructure *>( this ); } operator VkBaseOutStructure const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBaseOutStructure *>( this ); } operator VkBaseOutStructure *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBaseOutStructure *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, struct BaseOutStructure * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BaseOutStructure const & ) const = default; #else bool operator==( BaseOutStructure 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 ); # endif } bool operator!=( BaseOutStructure const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eApplicationInfo; struct BaseOutStructure * pNext = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBaseOutStructure> { using Type = BaseOutStructure; }; #endif // wrapper struct for struct VkBindAccelerationStructureMemoryInfoNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkBindAccelerationStructureMemoryInfoNV.html struct BindAccelerationStructureMemoryInfoNV { using NativeType = VkBindAccelerationStructureMemoryInfoNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBindAccelerationStructureMemoryInfoNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BindAccelerationStructureMemoryInfoNV( AccelerationStructureNV accelerationStructure_ = {}, DeviceMemory memory_ = {}, DeviceSize memoryOffset_ = {}, uint32_t deviceIndexCount_ = {}, const uint32_t * pDeviceIndices_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , accelerationStructure{ accelerationStructure_ } , memory{ memory_ } , memoryOffset{ memoryOffset_ } , deviceIndexCount{ deviceIndexCount_ } , pDeviceIndices{ pDeviceIndices_ } { } VULKAN_HPP_CONSTEXPR BindAccelerationStructureMemoryInfoNV( BindAccelerationStructureMemoryInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; BindAccelerationStructureMemoryInfoNV( VkBindAccelerationStructureMemoryInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT : BindAccelerationStructureMemoryInfoNV( *reinterpret_cast<BindAccelerationStructureMemoryInfoNV const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) BindAccelerationStructureMemoryInfoNV( AccelerationStructureNV accelerationStructure_, DeviceMemory memory_, DeviceSize memoryOffset_, ArrayProxyNoTemporaries<const uint32_t> const & deviceIndices_, const void * pNext_ = nullptr ) : pNext( pNext_ ) , accelerationStructure( accelerationStructure_ ) , memory( memory_ ) , memoryOffset( memoryOffset_ ) , deviceIndexCount( static_cast<uint32_t>( deviceIndices_.size() ) ) , pDeviceIndices( deviceIndices_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ BindAccelerationStructureMemoryInfoNV & operator=( BindAccelerationStructureMemoryInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BindAccelerationStructureMemoryInfoNV & operator=( VkBindAccelerationStructureMemoryInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BindAccelerationStructureMemoryInfoNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BindAccelerationStructureMemoryInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindAccelerationStructureMemoryInfoNV & setAccelerationStructure( AccelerationStructureNV accelerationStructure_ ) VULKAN_HPP_NOEXCEPT { accelerationStructure = accelerationStructure_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindAccelerationStructureMemoryInfoNV & setMemory( DeviceMemory memory_ ) VULKAN_HPP_NOEXCEPT { memory = memory_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindAccelerationStructureMemoryInfoNV & setMemoryOffset( DeviceSize memoryOffset_ ) VULKAN_HPP_NOEXCEPT { memoryOffset = memoryOffset_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindAccelerationStructureMemoryInfoNV & setDeviceIndexCount( uint32_t deviceIndexCount_ ) VULKAN_HPP_NOEXCEPT { deviceIndexCount = deviceIndexCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindAccelerationStructureMemoryInfoNV & setPDeviceIndices( const uint32_t * pDeviceIndices_ ) VULKAN_HPP_NOEXCEPT { pDeviceIndices = pDeviceIndices_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) BindAccelerationStructureMemoryInfoNV & setDeviceIndices( ArrayProxyNoTemporaries<const uint32_t> const & deviceIndices_ ) VULKAN_HPP_NOEXCEPT { deviceIndexCount = static_cast<uint32_t>( deviceIndices_.size() ); pDeviceIndices = deviceIndices_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBindAccelerationStructureMemoryInfoNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBindAccelerationStructureMemoryInfoNV *>( this ); } operator VkBindAccelerationStructureMemoryInfoNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBindAccelerationStructureMemoryInfoNV *>( this ); } operator VkBindAccelerationStructureMemoryInfoNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBindAccelerationStructureMemoryInfoNV *>( this ); } operator VkBindAccelerationStructureMemoryInfoNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBindAccelerationStructureMemoryInfoNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, AccelerationStructureNV const &, DeviceMemory const &, DeviceSize const &, uint32_t const &, const uint32_t * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, accelerationStructure, memory, memoryOffset, deviceIndexCount, pDeviceIndices ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BindAccelerationStructureMemoryInfoNV const & ) const = default; #else bool operator==( BindAccelerationStructureMemoryInfoNV 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 ) && ( accelerationStructure == rhs.accelerationStructure ) && ( memory == rhs.memory ) && ( memoryOffset == rhs.memoryOffset ) && ( deviceIndexCount == rhs.deviceIndexCount ) && ( pDeviceIndices == rhs.pDeviceIndices ); # endif } bool operator!=( BindAccelerationStructureMemoryInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eBindAccelerationStructureMemoryInfoNV; const void * pNext = {}; AccelerationStructureNV accelerationStructure = {}; DeviceMemory memory = {}; DeviceSize memoryOffset = {}; uint32_t deviceIndexCount = {}; const uint32_t * pDeviceIndices = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBindAccelerationStructureMemoryInfoNV> { using Type = BindAccelerationStructureMemoryInfoNV; }; #endif template <> struct CppType<StructureType, StructureType::eBindAccelerationStructureMemoryInfoNV> { using Type = BindAccelerationStructureMemoryInfoNV; }; // wrapper struct for struct VkBindBufferMemoryDeviceGroupInfo, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkBindBufferMemoryDeviceGroupInfo.html struct BindBufferMemoryDeviceGroupInfo { using NativeType = VkBindBufferMemoryDeviceGroupInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBindBufferMemoryDeviceGroupInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BindBufferMemoryDeviceGroupInfo( uint32_t deviceIndexCount_ = {}, const uint32_t * pDeviceIndices_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , deviceIndexCount{ deviceIndexCount_ } , pDeviceIndices{ pDeviceIndices_ } { } VULKAN_HPP_CONSTEXPR BindBufferMemoryDeviceGroupInfo( BindBufferMemoryDeviceGroupInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; BindBufferMemoryDeviceGroupInfo( VkBindBufferMemoryDeviceGroupInfo const & rhs ) VULKAN_HPP_NOEXCEPT : BindBufferMemoryDeviceGroupInfo( *reinterpret_cast<BindBufferMemoryDeviceGroupInfo const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) BindBufferMemoryDeviceGroupInfo( ArrayProxyNoTemporaries<const uint32_t> const & deviceIndices_, const void * pNext_ = nullptr ) : pNext( pNext_ ), deviceIndexCount( static_cast<uint32_t>( deviceIndices_.size() ) ), pDeviceIndices( deviceIndices_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ BindBufferMemoryDeviceGroupInfo & operator=( BindBufferMemoryDeviceGroupInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BindBufferMemoryDeviceGroupInfo & operator=( VkBindBufferMemoryDeviceGroupInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BindBufferMemoryDeviceGroupInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BindBufferMemoryDeviceGroupInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindBufferMemoryDeviceGroupInfo & setDeviceIndexCount( uint32_t deviceIndexCount_ ) VULKAN_HPP_NOEXCEPT { deviceIndexCount = deviceIndexCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindBufferMemoryDeviceGroupInfo & setPDeviceIndices( const uint32_t * pDeviceIndices_ ) VULKAN_HPP_NOEXCEPT { pDeviceIndices = pDeviceIndices_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) BindBufferMemoryDeviceGroupInfo & setDeviceIndices( ArrayProxyNoTemporaries<const uint32_t> const & deviceIndices_ ) VULKAN_HPP_NOEXCEPT { deviceIndexCount = static_cast<uint32_t>( deviceIndices_.size() ); pDeviceIndices = deviceIndices_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBindBufferMemoryDeviceGroupInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBindBufferMemoryDeviceGroupInfo *>( this ); } operator VkBindBufferMemoryDeviceGroupInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBindBufferMemoryDeviceGroupInfo *>( this ); } operator VkBindBufferMemoryDeviceGroupInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBindBufferMemoryDeviceGroupInfo *>( this ); } operator VkBindBufferMemoryDeviceGroupInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBindBufferMemoryDeviceGroupInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, uint32_t const &, const uint32_t * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, deviceIndexCount, pDeviceIndices ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BindBufferMemoryDeviceGroupInfo const & ) const = default; #else bool operator==( BindBufferMemoryDeviceGroupInfo 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 ) && ( deviceIndexCount == rhs.deviceIndexCount ) && ( pDeviceIndices == rhs.pDeviceIndices ); # endif } bool operator!=( BindBufferMemoryDeviceGroupInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eBindBufferMemoryDeviceGroupInfo; const void * pNext = {}; uint32_t deviceIndexCount = {}; const uint32_t * pDeviceIndices = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBindBufferMemoryDeviceGroupInfo> { using Type = BindBufferMemoryDeviceGroupInfo; }; #endif template <> struct CppType<StructureType, StructureType::eBindBufferMemoryDeviceGroupInfo> { using Type = BindBufferMemoryDeviceGroupInfo; }; using BindBufferMemoryDeviceGroupInfoKHR = BindBufferMemoryDeviceGroupInfo; // wrapper struct for struct VkBindBufferMemoryInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBindBufferMemoryInfo.html struct BindBufferMemoryInfo { using NativeType = VkBindBufferMemoryInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBindBufferMemoryInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BindBufferMemoryInfo( Buffer buffer_ = {}, DeviceMemory memory_ = {}, DeviceSize memoryOffset_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , buffer{ buffer_ } , memory{ memory_ } , memoryOffset{ memoryOffset_ } { } VULKAN_HPP_CONSTEXPR BindBufferMemoryInfo( BindBufferMemoryInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; BindBufferMemoryInfo( VkBindBufferMemoryInfo const & rhs ) VULKAN_HPP_NOEXCEPT : BindBufferMemoryInfo( *reinterpret_cast<BindBufferMemoryInfo const *>( &rhs ) ) { } BindBufferMemoryInfo & operator=( BindBufferMemoryInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BindBufferMemoryInfo & operator=( VkBindBufferMemoryInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BindBufferMemoryInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BindBufferMemoryInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindBufferMemoryInfo & setBuffer( Buffer buffer_ ) VULKAN_HPP_NOEXCEPT { buffer = buffer_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindBufferMemoryInfo & setMemory( DeviceMemory memory_ ) VULKAN_HPP_NOEXCEPT { memory = memory_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindBufferMemoryInfo & setMemoryOffset( DeviceSize memoryOffset_ ) VULKAN_HPP_NOEXCEPT { memoryOffset = memoryOffset_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBindBufferMemoryInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBindBufferMemoryInfo *>( this ); } operator VkBindBufferMemoryInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBindBufferMemoryInfo *>( this ); } operator VkBindBufferMemoryInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBindBufferMemoryInfo *>( this ); } operator VkBindBufferMemoryInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBindBufferMemoryInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Buffer const &, DeviceMemory const &, DeviceSize const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, buffer, memory, memoryOffset ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BindBufferMemoryInfo const & ) const = default; #else bool operator==( BindBufferMemoryInfo 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 ) && ( buffer == rhs.buffer ) && ( memory == rhs.memory ) && ( memoryOffset == rhs.memoryOffset ); # endif } bool operator!=( BindBufferMemoryInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eBindBufferMemoryInfo; const void * pNext = {}; Buffer buffer = {}; DeviceMemory memory = {}; DeviceSize memoryOffset = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBindBufferMemoryInfo> { using Type = BindBufferMemoryInfo; }; #endif template <> struct CppType<StructureType, StructureType::eBindBufferMemoryInfo> { using Type = BindBufferMemoryInfo; }; using BindBufferMemoryInfoKHR = BindBufferMemoryInfo; // wrapper struct for struct VkBindDataGraphPipelineSessionMemoryInfoARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkBindDataGraphPipelineSessionMemoryInfoARM.html struct BindDataGraphPipelineSessionMemoryInfoARM { using NativeType = VkBindDataGraphPipelineSessionMemoryInfoARM; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBindDataGraphPipelineSessionMemoryInfoARM; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BindDataGraphPipelineSessionMemoryInfoARM( DataGraphPipelineSessionARM session_ = {}, DataGraphPipelineSessionBindPointARM bindPoint_ = DataGraphPipelineSessionBindPointARM::eTransient, uint32_t objectIndex_ = {}, DeviceMemory memory_ = {}, DeviceSize memoryOffset_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , session{ session_ } , bindPoint{ bindPoint_ } , objectIndex{ objectIndex_ } , memory{ memory_ } , memoryOffset{ memoryOffset_ } { } VULKAN_HPP_CONSTEXPR BindDataGraphPipelineSessionMemoryInfoARM( BindDataGraphPipelineSessionMemoryInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; BindDataGraphPipelineSessionMemoryInfoARM( VkBindDataGraphPipelineSessionMemoryInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT : BindDataGraphPipelineSessionMemoryInfoARM( *reinterpret_cast<BindDataGraphPipelineSessionMemoryInfoARM const *>( &rhs ) ) { } BindDataGraphPipelineSessionMemoryInfoARM & operator=( BindDataGraphPipelineSessionMemoryInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BindDataGraphPipelineSessionMemoryInfoARM & operator=( VkBindDataGraphPipelineSessionMemoryInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BindDataGraphPipelineSessionMemoryInfoARM const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BindDataGraphPipelineSessionMemoryInfoARM & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindDataGraphPipelineSessionMemoryInfoARM & setSession( DataGraphPipelineSessionARM session_ ) VULKAN_HPP_NOEXCEPT { session = session_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindDataGraphPipelineSessionMemoryInfoARM & setBindPoint( DataGraphPipelineSessionBindPointARM bindPoint_ ) VULKAN_HPP_NOEXCEPT { bindPoint = bindPoint_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindDataGraphPipelineSessionMemoryInfoARM & setObjectIndex( uint32_t objectIndex_ ) VULKAN_HPP_NOEXCEPT { objectIndex = objectIndex_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindDataGraphPipelineSessionMemoryInfoARM & setMemory( DeviceMemory memory_ ) VULKAN_HPP_NOEXCEPT { memory = memory_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindDataGraphPipelineSessionMemoryInfoARM & setMemoryOffset( DeviceSize memoryOffset_ ) VULKAN_HPP_NOEXCEPT { memoryOffset = memoryOffset_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBindDataGraphPipelineSessionMemoryInfoARM const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBindDataGraphPipelineSessionMemoryInfoARM *>( this ); } operator VkBindDataGraphPipelineSessionMemoryInfoARM &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBindDataGraphPipelineSessionMemoryInfoARM *>( this ); } operator VkBindDataGraphPipelineSessionMemoryInfoARM const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBindDataGraphPipelineSessionMemoryInfoARM *>( this ); } operator VkBindDataGraphPipelineSessionMemoryInfoARM *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBindDataGraphPipelineSessionMemoryInfoARM *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DataGraphPipelineSessionARM const &, DataGraphPipelineSessionBindPointARM const &, uint32_t const &, DeviceMemory const &, DeviceSize const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, session, bindPoint, objectIndex, memory, memoryOffset ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BindDataGraphPipelineSessionMemoryInfoARM const & ) const = default; #else bool operator==( BindDataGraphPipelineSessionMemoryInfoARM 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 ) && ( session == rhs.session ) && ( bindPoint == rhs.bindPoint ) && ( objectIndex == rhs.objectIndex ) && ( memory == rhs.memory ) && ( memoryOffset == rhs.memoryOffset ); # endif } bool operator!=( BindDataGraphPipelineSessionMemoryInfoARM const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eBindDataGraphPipelineSessionMemoryInfoARM; const void * pNext = {}; DataGraphPipelineSessionARM session = {}; DataGraphPipelineSessionBindPointARM bindPoint = DataGraphPipelineSessionBindPointARM::eTransient; uint32_t objectIndex = {}; DeviceMemory memory = {}; DeviceSize memoryOffset = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBindDataGraphPipelineSessionMemoryInfoARM> { using Type = BindDataGraphPipelineSessionMemoryInfoARM; }; #endif template <> struct CppType<StructureType, StructureType::eBindDataGraphPipelineSessionMemoryInfoARM> { using Type = BindDataGraphPipelineSessionMemoryInfoARM; }; // wrapper struct for struct VkBindDescriptorBufferEmbeddedSamplersInfoEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkBindDescriptorBufferEmbeddedSamplersInfoEXT.html struct BindDescriptorBufferEmbeddedSamplersInfoEXT { using NativeType = VkBindDescriptorBufferEmbeddedSamplersInfoEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBindDescriptorBufferEmbeddedSamplersInfoEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BindDescriptorBufferEmbeddedSamplersInfoEXT( ShaderStageFlags stageFlags_ = {}, PipelineLayout layout_ = {}, uint32_t set_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , stageFlags{ stageFlags_ } , layout{ layout_ } , set{ set_ } { } VULKAN_HPP_CONSTEXPR BindDescriptorBufferEmbeddedSamplersInfoEXT( BindDescriptorBufferEmbeddedSamplersInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; BindDescriptorBufferEmbeddedSamplersInfoEXT( VkBindDescriptorBufferEmbeddedSamplersInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : BindDescriptorBufferEmbeddedSamplersInfoEXT( *reinterpret_cast<BindDescriptorBufferEmbeddedSamplersInfoEXT const *>( &rhs ) ) { } BindDescriptorBufferEmbeddedSamplersInfoEXT & operator=( BindDescriptorBufferEmbeddedSamplersInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BindDescriptorBufferEmbeddedSamplersInfoEXT & operator=( VkBindDescriptorBufferEmbeddedSamplersInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BindDescriptorBufferEmbeddedSamplersInfoEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BindDescriptorBufferEmbeddedSamplersInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindDescriptorBufferEmbeddedSamplersInfoEXT & setStageFlags( ShaderStageFlags stageFlags_ ) VULKAN_HPP_NOEXCEPT { stageFlags = stageFlags_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindDescriptorBufferEmbeddedSamplersInfoEXT & setLayout( PipelineLayout layout_ ) VULKAN_HPP_NOEXCEPT { layout = layout_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindDescriptorBufferEmbeddedSamplersInfoEXT & setSet( uint32_t set_ ) VULKAN_HPP_NOEXCEPT { set = set_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBindDescriptorBufferEmbeddedSamplersInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBindDescriptorBufferEmbeddedSamplersInfoEXT *>( this ); } operator VkBindDescriptorBufferEmbeddedSamplersInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBindDescriptorBufferEmbeddedSamplersInfoEXT *>( this ); } operator VkBindDescriptorBufferEmbeddedSamplersInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBindDescriptorBufferEmbeddedSamplersInfoEXT *>( this ); } operator VkBindDescriptorBufferEmbeddedSamplersInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBindDescriptorBufferEmbeddedSamplersInfoEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, ShaderStageFlags const &, PipelineLayout const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, stageFlags, layout, set ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BindDescriptorBufferEmbeddedSamplersInfoEXT const & ) const = default; #else bool operator==( BindDescriptorBufferEmbeddedSamplersInfoEXT 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 ) && ( stageFlags == rhs.stageFlags ) && ( layout == rhs.layout ) && ( set == rhs.set ); # endif } bool operator!=( BindDescriptorBufferEmbeddedSamplersInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eBindDescriptorBufferEmbeddedSamplersInfoEXT; const void * pNext = {}; ShaderStageFlags stageFlags = {}; PipelineLayout layout = {}; uint32_t set = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBindDescriptorBufferEmbeddedSamplersInfoEXT> { using Type = BindDescriptorBufferEmbeddedSamplersInfoEXT; }; #endif template <> struct CppType<StructureType, StructureType::eBindDescriptorBufferEmbeddedSamplersInfoEXT> { using Type = BindDescriptorBufferEmbeddedSamplersInfoEXT; }; // wrapper struct for struct VkBindDescriptorSetsInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBindDescriptorSetsInfo.html struct BindDescriptorSetsInfo { using NativeType = VkBindDescriptorSetsInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBindDescriptorSetsInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BindDescriptorSetsInfo( ShaderStageFlags stageFlags_ = {}, PipelineLayout layout_ = {}, uint32_t firstSet_ = {}, uint32_t descriptorSetCount_ = {}, const DescriptorSet * pDescriptorSets_ = {}, uint32_t dynamicOffsetCount_ = {}, const uint32_t * pDynamicOffsets_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , stageFlags{ stageFlags_ } , layout{ layout_ } , firstSet{ firstSet_ } , descriptorSetCount{ descriptorSetCount_ } , pDescriptorSets{ pDescriptorSets_ } , dynamicOffsetCount{ dynamicOffsetCount_ } , pDynamicOffsets{ pDynamicOffsets_ } { } VULKAN_HPP_CONSTEXPR BindDescriptorSetsInfo( BindDescriptorSetsInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; BindDescriptorSetsInfo( VkBindDescriptorSetsInfo const & rhs ) VULKAN_HPP_NOEXCEPT : BindDescriptorSetsInfo( *reinterpret_cast<BindDescriptorSetsInfo const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) BindDescriptorSetsInfo( ShaderStageFlags stageFlags_, PipelineLayout layout_, uint32_t firstSet_, ArrayProxyNoTemporaries<const DescriptorSet> const & descriptorSets_, ArrayProxyNoTemporaries<const uint32_t> const & dynamicOffsets_ = {}, const void * pNext_ = nullptr ) : pNext( pNext_ ) , stageFlags( stageFlags_ ) , layout( layout_ ) , firstSet( firstSet_ ) , descriptorSetCount( static_cast<uint32_t>( descriptorSets_.size() ) ) , pDescriptorSets( descriptorSets_.data() ) , dynamicOffsetCount( static_cast<uint32_t>( dynamicOffsets_.size() ) ) , pDynamicOffsets( dynamicOffsets_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ BindDescriptorSetsInfo & operator=( BindDescriptorSetsInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BindDescriptorSetsInfo & operator=( VkBindDescriptorSetsInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BindDescriptorSetsInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BindDescriptorSetsInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindDescriptorSetsInfo & setStageFlags( ShaderStageFlags stageFlags_ ) VULKAN_HPP_NOEXCEPT { stageFlags = stageFlags_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindDescriptorSetsInfo & setLayout( PipelineLayout layout_ ) VULKAN_HPP_NOEXCEPT { layout = layout_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindDescriptorSetsInfo & setFirstSet( uint32_t firstSet_ ) VULKAN_HPP_NOEXCEPT { firstSet = firstSet_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindDescriptorSetsInfo & setDescriptorSetCount( uint32_t descriptorSetCount_ ) VULKAN_HPP_NOEXCEPT { descriptorSetCount = descriptorSetCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindDescriptorSetsInfo & setPDescriptorSets( const DescriptorSet * pDescriptorSets_ ) VULKAN_HPP_NOEXCEPT { pDescriptorSets = pDescriptorSets_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) BindDescriptorSetsInfo & setDescriptorSets( ArrayProxyNoTemporaries<const DescriptorSet> const & descriptorSets_ ) VULKAN_HPP_NOEXCEPT { descriptorSetCount = static_cast<uint32_t>( descriptorSets_.size() ); pDescriptorSets = descriptorSets_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 BindDescriptorSetsInfo & setDynamicOffsetCount( uint32_t dynamicOffsetCount_ ) VULKAN_HPP_NOEXCEPT { dynamicOffsetCount = dynamicOffsetCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindDescriptorSetsInfo & setPDynamicOffsets( const uint32_t * pDynamicOffsets_ ) VULKAN_HPP_NOEXCEPT { pDynamicOffsets = pDynamicOffsets_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) BindDescriptorSetsInfo & setDynamicOffsets( ArrayProxyNoTemporaries<const uint32_t> const & dynamicOffsets_ ) VULKAN_HPP_NOEXCEPT { dynamicOffsetCount = static_cast<uint32_t>( dynamicOffsets_.size() ); pDynamicOffsets = dynamicOffsets_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBindDescriptorSetsInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBindDescriptorSetsInfo *>( this ); } operator VkBindDescriptorSetsInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBindDescriptorSetsInfo *>( this ); } operator VkBindDescriptorSetsInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBindDescriptorSetsInfo *>( this ); } operator VkBindDescriptorSetsInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBindDescriptorSetsInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, ShaderStageFlags const &, PipelineLayout const &, uint32_t const &, uint32_t const &, const DescriptorSet * const &, uint32_t const &, const uint32_t * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, stageFlags, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BindDescriptorSetsInfo const & ) const = default; #else bool operator==( BindDescriptorSetsInfo 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 ) && ( stageFlags == rhs.stageFlags ) && ( layout == rhs.layout ) && ( firstSet == rhs.firstSet ) && ( descriptorSetCount == rhs.descriptorSetCount ) && ( pDescriptorSets == rhs.pDescriptorSets ) && ( dynamicOffsetCount == rhs.dynamicOffsetCount ) && ( pDynamicOffsets == rhs.pDynamicOffsets ); # endif } bool operator!=( BindDescriptorSetsInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eBindDescriptorSetsInfo; const void * pNext = {}; ShaderStageFlags stageFlags = {}; PipelineLayout layout = {}; uint32_t firstSet = {}; uint32_t descriptorSetCount = {}; const DescriptorSet * pDescriptorSets = {}; uint32_t dynamicOffsetCount = {}; const uint32_t * pDynamicOffsets = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBindDescriptorSetsInfo> { using Type = BindDescriptorSetsInfo; }; #endif template <> struct CppType<StructureType, StructureType::eBindDescriptorSetsInfo> { using Type = BindDescriptorSetsInfo; }; using BindDescriptorSetsInfoKHR = BindDescriptorSetsInfo; // wrapper struct for struct VkOffset2D, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkOffset2D.html struct Offset2D { using NativeType = VkOffset2D; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR Offset2D( int32_t x_ = {}, int32_t y_ = {} ) VULKAN_HPP_NOEXCEPT : x{ x_ } , y{ y_ } { } VULKAN_HPP_CONSTEXPR Offset2D( Offset2D const & rhs ) VULKAN_HPP_NOEXCEPT = default; Offset2D( VkOffset2D const & rhs ) VULKAN_HPP_NOEXCEPT : Offset2D( *reinterpret_cast<Offset2D const *>( &rhs ) ) {} Offset2D & operator=( Offset2D const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ Offset2D & operator=( VkOffset2D const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<Offset2D const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 Offset2D & setX( int32_t x_ ) VULKAN_HPP_NOEXCEPT { x = x_; return *this; } VULKAN_HPP_CONSTEXPR_14 Offset2D & setY( int32_t y_ ) VULKAN_HPP_NOEXCEPT { y = y_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkOffset2D const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkOffset2D *>( this ); } operator VkOffset2D &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkOffset2D *>( this ); } operator VkOffset2D const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkOffset2D *>( this ); } operator VkOffset2D *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkOffset2D *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<int32_t const &, int32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( x, y ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( Offset2D const & ) const = default; #else bool operator==( Offset2D const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( x == rhs.x ) && ( y == rhs.y ); # endif } bool operator!=( Offset2D const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: int32_t x = {}; int32_t y = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkOffset2D> { using Type = Offset2D; }; #endif // wrapper struct for struct VkRect2D, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkRect2D.html struct Rect2D { using NativeType = VkRect2D; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR Rect2D( Offset2D offset_ = {}, Extent2D extent_ = {} ) VULKAN_HPP_NOEXCEPT : offset{ offset_ } , extent{ extent_ } { } VULKAN_HPP_CONSTEXPR Rect2D( Rect2D const & rhs ) VULKAN_HPP_NOEXCEPT = default; Rect2D( VkRect2D const & rhs ) VULKAN_HPP_NOEXCEPT : Rect2D( *reinterpret_cast<Rect2D const *>( &rhs ) ) {} Rect2D & operator=( Rect2D const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ Rect2D & operator=( VkRect2D const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<Rect2D const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 Rect2D & setOffset( Offset2D const & offset_ ) VULKAN_HPP_NOEXCEPT { offset = offset_; return *this; } VULKAN_HPP_CONSTEXPR_14 Rect2D & setExtent( Extent2D const & extent_ ) VULKAN_HPP_NOEXCEPT { extent = extent_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkRect2D const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkRect2D *>( this ); } operator VkRect2D &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkRect2D *>( this ); } operator VkRect2D const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkRect2D *>( this ); } operator VkRect2D *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkRect2D *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<Offset2D const &, Extent2D const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( offset, extent ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( Rect2D const & ) const = default; #else bool operator==( Rect2D const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( offset == rhs.offset ) && ( extent == rhs.extent ); # endif } bool operator!=( Rect2D const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: Offset2D offset = {}; Extent2D extent = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkRect2D> { using Type = Rect2D; }; #endif // wrapper struct for struct VkBindImageMemoryDeviceGroupInfo, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkBindImageMemoryDeviceGroupInfo.html struct BindImageMemoryDeviceGroupInfo { using NativeType = VkBindImageMemoryDeviceGroupInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBindImageMemoryDeviceGroupInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BindImageMemoryDeviceGroupInfo( uint32_t deviceIndexCount_ = {}, const uint32_t * pDeviceIndices_ = {}, uint32_t splitInstanceBindRegionCount_ = {}, const Rect2D * pSplitInstanceBindRegions_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , deviceIndexCount{ deviceIndexCount_ } , pDeviceIndices{ pDeviceIndices_ } , splitInstanceBindRegionCount{ splitInstanceBindRegionCount_ } , pSplitInstanceBindRegions{ pSplitInstanceBindRegions_ } { } VULKAN_HPP_CONSTEXPR BindImageMemoryDeviceGroupInfo( BindImageMemoryDeviceGroupInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; BindImageMemoryDeviceGroupInfo( VkBindImageMemoryDeviceGroupInfo const & rhs ) VULKAN_HPP_NOEXCEPT : BindImageMemoryDeviceGroupInfo( *reinterpret_cast<BindImageMemoryDeviceGroupInfo const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) BindImageMemoryDeviceGroupInfo( ArrayProxyNoTemporaries<const uint32_t> const & deviceIndices_, ArrayProxyNoTemporaries<const Rect2D> const & splitInstanceBindRegions_ = {}, const void * pNext_ = nullptr ) : pNext( pNext_ ) , deviceIndexCount( static_cast<uint32_t>( deviceIndices_.size() ) ) , pDeviceIndices( deviceIndices_.data() ) , splitInstanceBindRegionCount( static_cast<uint32_t>( splitInstanceBindRegions_.size() ) ) , pSplitInstanceBindRegions( splitInstanceBindRegions_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ BindImageMemoryDeviceGroupInfo & operator=( BindImageMemoryDeviceGroupInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BindImageMemoryDeviceGroupInfo & operator=( VkBindImageMemoryDeviceGroupInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BindImageMemoryDeviceGroupInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BindImageMemoryDeviceGroupInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindImageMemoryDeviceGroupInfo & setDeviceIndexCount( uint32_t deviceIndexCount_ ) VULKAN_HPP_NOEXCEPT { deviceIndexCount = deviceIndexCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindImageMemoryDeviceGroupInfo & setPDeviceIndices( const uint32_t * pDeviceIndices_ ) VULKAN_HPP_NOEXCEPT { pDeviceIndices = pDeviceIndices_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) BindImageMemoryDeviceGroupInfo & setDeviceIndices( ArrayProxyNoTemporaries<const uint32_t> const & deviceIndices_ ) VULKAN_HPP_NOEXCEPT { deviceIndexCount = static_cast<uint32_t>( deviceIndices_.size() ); pDeviceIndices = deviceIndices_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 BindImageMemoryDeviceGroupInfo & setSplitInstanceBindRegionCount( uint32_t splitInstanceBindRegionCount_ ) VULKAN_HPP_NOEXCEPT { splitInstanceBindRegionCount = splitInstanceBindRegionCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindImageMemoryDeviceGroupInfo & setPSplitInstanceBindRegions( const Rect2D * pSplitInstanceBindRegions_ ) VULKAN_HPP_NOEXCEPT { pSplitInstanceBindRegions = pSplitInstanceBindRegions_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) BindImageMemoryDeviceGroupInfo & setSplitInstanceBindRegions( ArrayProxyNoTemporaries<const Rect2D> const & splitInstanceBindRegions_ ) VULKAN_HPP_NOEXCEPT { splitInstanceBindRegionCount = static_cast<uint32_t>( splitInstanceBindRegions_.size() ); pSplitInstanceBindRegions = splitInstanceBindRegions_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBindImageMemoryDeviceGroupInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBindImageMemoryDeviceGroupInfo *>( this ); } operator VkBindImageMemoryDeviceGroupInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBindImageMemoryDeviceGroupInfo *>( this ); } operator VkBindImageMemoryDeviceGroupInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBindImageMemoryDeviceGroupInfo *>( this ); } operator VkBindImageMemoryDeviceGroupInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBindImageMemoryDeviceGroupInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, uint32_t const &, const uint32_t * const &, uint32_t const &, const Rect2D * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, deviceIndexCount, pDeviceIndices, splitInstanceBindRegionCount, pSplitInstanceBindRegions ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BindImageMemoryDeviceGroupInfo const & ) const = default; #else bool operator==( BindImageMemoryDeviceGroupInfo 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 ) && ( deviceIndexCount == rhs.deviceIndexCount ) && ( pDeviceIndices == rhs.pDeviceIndices ) && ( splitInstanceBindRegionCount == rhs.splitInstanceBindRegionCount ) && ( pSplitInstanceBindRegions == rhs.pSplitInstanceBindRegions ); # endif } bool operator!=( BindImageMemoryDeviceGroupInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eBindImageMemoryDeviceGroupInfo; const void * pNext = {}; uint32_t deviceIndexCount = {}; const uint32_t * pDeviceIndices = {}; uint32_t splitInstanceBindRegionCount = {}; const Rect2D * pSplitInstanceBindRegions = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBindImageMemoryDeviceGroupInfo> { using Type = BindImageMemoryDeviceGroupInfo; }; #endif template <> struct CppType<StructureType, StructureType::eBindImageMemoryDeviceGroupInfo> { using Type = BindImageMemoryDeviceGroupInfo; }; using BindImageMemoryDeviceGroupInfoKHR = BindImageMemoryDeviceGroupInfo; // wrapper struct for struct VkBindImageMemoryInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBindImageMemoryInfo.html struct BindImageMemoryInfo { using NativeType = VkBindImageMemoryInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBindImageMemoryInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BindImageMemoryInfo( Image image_ = {}, DeviceMemory memory_ = {}, DeviceSize memoryOffset_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , image{ image_ } , memory{ memory_ } , memoryOffset{ memoryOffset_ } { } VULKAN_HPP_CONSTEXPR BindImageMemoryInfo( BindImageMemoryInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; BindImageMemoryInfo( VkBindImageMemoryInfo const & rhs ) VULKAN_HPP_NOEXCEPT : BindImageMemoryInfo( *reinterpret_cast<BindImageMemoryInfo const *>( &rhs ) ) { } BindImageMemoryInfo & operator=( BindImageMemoryInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BindImageMemoryInfo & operator=( VkBindImageMemoryInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BindImageMemoryInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BindImageMemoryInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindImageMemoryInfo & setImage( Image image_ ) VULKAN_HPP_NOEXCEPT { image = image_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindImageMemoryInfo & setMemory( DeviceMemory memory_ ) VULKAN_HPP_NOEXCEPT { memory = memory_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindImageMemoryInfo & setMemoryOffset( DeviceSize memoryOffset_ ) VULKAN_HPP_NOEXCEPT { memoryOffset = memoryOffset_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBindImageMemoryInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBindImageMemoryInfo *>( this ); } operator VkBindImageMemoryInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBindImageMemoryInfo *>( this ); } operator VkBindImageMemoryInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBindImageMemoryInfo *>( this ); } operator VkBindImageMemoryInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBindImageMemoryInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Image const &, DeviceMemory const &, DeviceSize const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, image, memory, memoryOffset ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BindImageMemoryInfo const & ) const = default; #else bool operator==( BindImageMemoryInfo 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 ) && ( image == rhs.image ) && ( memory == rhs.memory ) && ( memoryOffset == rhs.memoryOffset ); # endif } bool operator!=( BindImageMemoryInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eBindImageMemoryInfo; const void * pNext = {}; Image image = {}; DeviceMemory memory = {}; DeviceSize memoryOffset = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBindImageMemoryInfo> { using Type = BindImageMemoryInfo; }; #endif template <> struct CppType<StructureType, StructureType::eBindImageMemoryInfo> { using Type = BindImageMemoryInfo; }; using BindImageMemoryInfoKHR = BindImageMemoryInfo; // wrapper struct for struct VkBindImageMemorySwapchainInfoKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkBindImageMemorySwapchainInfoKHR.html struct BindImageMemorySwapchainInfoKHR { using NativeType = VkBindImageMemorySwapchainInfoKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBindImageMemorySwapchainInfoKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BindImageMemorySwapchainInfoKHR( SwapchainKHR swapchain_ = {}, uint32_t imageIndex_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , swapchain{ swapchain_ } , imageIndex{ imageIndex_ } { } VULKAN_HPP_CONSTEXPR BindImageMemorySwapchainInfoKHR( BindImageMemorySwapchainInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; BindImageMemorySwapchainInfoKHR( VkBindImageMemorySwapchainInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : BindImageMemorySwapchainInfoKHR( *reinterpret_cast<BindImageMemorySwapchainInfoKHR const *>( &rhs ) ) { } BindImageMemorySwapchainInfoKHR & operator=( BindImageMemorySwapchainInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BindImageMemorySwapchainInfoKHR & operator=( VkBindImageMemorySwapchainInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BindImageMemorySwapchainInfoKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BindImageMemorySwapchainInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindImageMemorySwapchainInfoKHR & setSwapchain( SwapchainKHR swapchain_ ) VULKAN_HPP_NOEXCEPT { swapchain = swapchain_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindImageMemorySwapchainInfoKHR & setImageIndex( uint32_t imageIndex_ ) VULKAN_HPP_NOEXCEPT { imageIndex = imageIndex_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBindImageMemorySwapchainInfoKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBindImageMemorySwapchainInfoKHR *>( this ); } operator VkBindImageMemorySwapchainInfoKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBindImageMemorySwapchainInfoKHR *>( this ); } operator VkBindImageMemorySwapchainInfoKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBindImageMemorySwapchainInfoKHR *>( this ); } operator VkBindImageMemorySwapchainInfoKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBindImageMemorySwapchainInfoKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, SwapchainKHR const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, swapchain, imageIndex ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BindImageMemorySwapchainInfoKHR const & ) const = default; #else bool operator==( BindImageMemorySwapchainInfoKHR 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 ) && ( swapchain == rhs.swapchain ) && ( imageIndex == rhs.imageIndex ); # endif } bool operator!=( BindImageMemorySwapchainInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eBindImageMemorySwapchainInfoKHR; const void * pNext = {}; SwapchainKHR swapchain = {}; uint32_t imageIndex = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBindImageMemorySwapchainInfoKHR> { using Type = BindImageMemorySwapchainInfoKHR; }; #endif template <> struct CppType<StructureType, StructureType::eBindImageMemorySwapchainInfoKHR> { using Type = BindImageMemorySwapchainInfoKHR; }; // wrapper struct for struct VkBindImagePlaneMemoryInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBindImagePlaneMemoryInfo.html struct BindImagePlaneMemoryInfo { using NativeType = VkBindImagePlaneMemoryInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBindImagePlaneMemoryInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BindImagePlaneMemoryInfo( ImageAspectFlagBits planeAspect_ = ImageAspectFlagBits::eColor, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , planeAspect{ planeAspect_ } { } VULKAN_HPP_CONSTEXPR BindImagePlaneMemoryInfo( BindImagePlaneMemoryInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; BindImagePlaneMemoryInfo( VkBindImagePlaneMemoryInfo const & rhs ) VULKAN_HPP_NOEXCEPT : BindImagePlaneMemoryInfo( *reinterpret_cast<BindImagePlaneMemoryInfo const *>( &rhs ) ) { } BindImagePlaneMemoryInfo & operator=( BindImagePlaneMemoryInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BindImagePlaneMemoryInfo & operator=( VkBindImagePlaneMemoryInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BindImagePlaneMemoryInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BindImagePlaneMemoryInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindImagePlaneMemoryInfo & setPlaneAspect( ImageAspectFlagBits planeAspect_ ) VULKAN_HPP_NOEXCEPT { planeAspect = planeAspect_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBindImagePlaneMemoryInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBindImagePlaneMemoryInfo *>( this ); } operator VkBindImagePlaneMemoryInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBindImagePlaneMemoryInfo *>( this ); } operator VkBindImagePlaneMemoryInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBindImagePlaneMemoryInfo *>( this ); } operator VkBindImagePlaneMemoryInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBindImagePlaneMemoryInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, ImageAspectFlagBits const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, planeAspect ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BindImagePlaneMemoryInfo const & ) const = default; #else bool operator==( BindImagePlaneMemoryInfo 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 ) && ( planeAspect == rhs.planeAspect ); # endif } bool operator!=( BindImagePlaneMemoryInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eBindImagePlaneMemoryInfo; const void * pNext = {}; ImageAspectFlagBits planeAspect = ImageAspectFlagBits::eColor; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBindImagePlaneMemoryInfo> { using Type = BindImagePlaneMemoryInfo; }; #endif template <> struct CppType<StructureType, StructureType::eBindImagePlaneMemoryInfo> { using Type = BindImagePlaneMemoryInfo; }; using BindImagePlaneMemoryInfoKHR = BindImagePlaneMemoryInfo; // wrapper struct for struct VkBindIndexBufferIndirectCommandEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkBindIndexBufferIndirectCommandEXT.html struct BindIndexBufferIndirectCommandEXT { using NativeType = VkBindIndexBufferIndirectCommandEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BindIndexBufferIndirectCommandEXT( DeviceAddress bufferAddress_ = {}, uint32_t size_ = {}, IndexType indexType_ = IndexType::eUint16 ) VULKAN_HPP_NOEXCEPT : bufferAddress{ bufferAddress_ } , size{ size_ } , indexType{ indexType_ } { } VULKAN_HPP_CONSTEXPR BindIndexBufferIndirectCommandEXT( BindIndexBufferIndirectCommandEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; BindIndexBufferIndirectCommandEXT( VkBindIndexBufferIndirectCommandEXT const & rhs ) VULKAN_HPP_NOEXCEPT : BindIndexBufferIndirectCommandEXT( *reinterpret_cast<BindIndexBufferIndirectCommandEXT const *>( &rhs ) ) { } BindIndexBufferIndirectCommandEXT & operator=( BindIndexBufferIndirectCommandEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BindIndexBufferIndirectCommandEXT & operator=( VkBindIndexBufferIndirectCommandEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BindIndexBufferIndirectCommandEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BindIndexBufferIndirectCommandEXT & setBufferAddress( DeviceAddress bufferAddress_ ) VULKAN_HPP_NOEXCEPT { bufferAddress = bufferAddress_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindIndexBufferIndirectCommandEXT & setSize( uint32_t size_ ) VULKAN_HPP_NOEXCEPT { size = size_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindIndexBufferIndirectCommandEXT & setIndexType( IndexType indexType_ ) VULKAN_HPP_NOEXCEPT { indexType = indexType_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBindIndexBufferIndirectCommandEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBindIndexBufferIndirectCommandEXT *>( this ); } operator VkBindIndexBufferIndirectCommandEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBindIndexBufferIndirectCommandEXT *>( this ); } operator VkBindIndexBufferIndirectCommandEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBindIndexBufferIndirectCommandEXT *>( this ); } operator VkBindIndexBufferIndirectCommandEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBindIndexBufferIndirectCommandEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<DeviceAddress const &, uint32_t const &, IndexType const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( bufferAddress, size, indexType ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BindIndexBufferIndirectCommandEXT const & ) const = default; #else bool operator==( BindIndexBufferIndirectCommandEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( bufferAddress == rhs.bufferAddress ) && ( size == rhs.size ) && ( indexType == rhs.indexType ); # endif } bool operator!=( BindIndexBufferIndirectCommandEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: DeviceAddress bufferAddress = {}; uint32_t size = {}; IndexType indexType = IndexType::eUint16; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBindIndexBufferIndirectCommandEXT> { using Type = BindIndexBufferIndirectCommandEXT; }; #endif // wrapper struct for struct VkBindIndexBufferIndirectCommandNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkBindIndexBufferIndirectCommandNV.html struct BindIndexBufferIndirectCommandNV { using NativeType = VkBindIndexBufferIndirectCommandNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BindIndexBufferIndirectCommandNV( DeviceAddress bufferAddress_ = {}, uint32_t size_ = {}, IndexType indexType_ = IndexType::eUint16 ) VULKAN_HPP_NOEXCEPT : bufferAddress{ bufferAddress_ } , size{ size_ } , indexType{ indexType_ } { } VULKAN_HPP_CONSTEXPR BindIndexBufferIndirectCommandNV( BindIndexBufferIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; BindIndexBufferIndirectCommandNV( VkBindIndexBufferIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT : BindIndexBufferIndirectCommandNV( *reinterpret_cast<BindIndexBufferIndirectCommandNV const *>( &rhs ) ) { } BindIndexBufferIndirectCommandNV & operator=( BindIndexBufferIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BindIndexBufferIndirectCommandNV & operator=( VkBindIndexBufferIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BindIndexBufferIndirectCommandNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BindIndexBufferIndirectCommandNV & setBufferAddress( DeviceAddress bufferAddress_ ) VULKAN_HPP_NOEXCEPT { bufferAddress = bufferAddress_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindIndexBufferIndirectCommandNV & setSize( uint32_t size_ ) VULKAN_HPP_NOEXCEPT { size = size_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindIndexBufferIndirectCommandNV & setIndexType( IndexType indexType_ ) VULKAN_HPP_NOEXCEPT { indexType = indexType_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBindIndexBufferIndirectCommandNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBindIndexBufferIndirectCommandNV *>( this ); } operator VkBindIndexBufferIndirectCommandNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBindIndexBufferIndirectCommandNV *>( this ); } operator VkBindIndexBufferIndirectCommandNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBindIndexBufferIndirectCommandNV *>( this ); } operator VkBindIndexBufferIndirectCommandNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBindIndexBufferIndirectCommandNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<DeviceAddress const &, uint32_t const &, IndexType const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( bufferAddress, size, indexType ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BindIndexBufferIndirectCommandNV const & ) const = default; #else bool operator==( BindIndexBufferIndirectCommandNV const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( bufferAddress == rhs.bufferAddress ) && ( size == rhs.size ) && ( indexType == rhs.indexType ); # endif } bool operator!=( BindIndexBufferIndirectCommandNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: DeviceAddress bufferAddress = {}; uint32_t size = {}; IndexType indexType = IndexType::eUint16; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBindIndexBufferIndirectCommandNV> { using Type = BindIndexBufferIndirectCommandNV; }; #endif // wrapper struct for struct VkBindMemoryStatus, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBindMemoryStatus.html struct BindMemoryStatus { using NativeType = VkBindMemoryStatus; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBindMemoryStatus; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BindMemoryStatus( Result * pResult_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , pResult{ pResult_ } { } VULKAN_HPP_CONSTEXPR BindMemoryStatus( BindMemoryStatus const & rhs ) VULKAN_HPP_NOEXCEPT = default; BindMemoryStatus( VkBindMemoryStatus const & rhs ) VULKAN_HPP_NOEXCEPT : BindMemoryStatus( *reinterpret_cast<BindMemoryStatus const *>( &rhs ) ) {} BindMemoryStatus & operator=( BindMemoryStatus const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BindMemoryStatus & operator=( VkBindMemoryStatus const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BindMemoryStatus const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BindMemoryStatus & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindMemoryStatus & setPResult( Result * pResult_ ) VULKAN_HPP_NOEXCEPT { pResult = pResult_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBindMemoryStatus const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBindMemoryStatus *>( this ); } operator VkBindMemoryStatus &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBindMemoryStatus *>( this ); } operator VkBindMemoryStatus const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBindMemoryStatus *>( this ); } operator VkBindMemoryStatus *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBindMemoryStatus *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Result * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, pResult ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BindMemoryStatus const & ) const = default; #else bool operator==( BindMemoryStatus 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 ) && ( pResult == rhs.pResult ); # endif } bool operator!=( BindMemoryStatus const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eBindMemoryStatus; const void * pNext = {}; Result * pResult = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBindMemoryStatus> { using Type = BindMemoryStatus; }; #endif template <> struct CppType<StructureType, StructureType::eBindMemoryStatus> { using Type = BindMemoryStatus; }; using BindMemoryStatusKHR = BindMemoryStatus; // wrapper struct for struct VkBindPipelineIndirectCommandNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkBindPipelineIndirectCommandNV.html struct BindPipelineIndirectCommandNV { using NativeType = VkBindPipelineIndirectCommandNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BindPipelineIndirectCommandNV( DeviceAddress pipelineAddress_ = {} ) VULKAN_HPP_NOEXCEPT : pipelineAddress{ pipelineAddress_ } {} VULKAN_HPP_CONSTEXPR BindPipelineIndirectCommandNV( BindPipelineIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; BindPipelineIndirectCommandNV( VkBindPipelineIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT : BindPipelineIndirectCommandNV( *reinterpret_cast<BindPipelineIndirectCommandNV const *>( &rhs ) ) { } BindPipelineIndirectCommandNV & operator=( BindPipelineIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BindPipelineIndirectCommandNV & operator=( VkBindPipelineIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BindPipelineIndirectCommandNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BindPipelineIndirectCommandNV & setPipelineAddress( DeviceAddress pipelineAddress_ ) VULKAN_HPP_NOEXCEPT { pipelineAddress = pipelineAddress_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBindPipelineIndirectCommandNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBindPipelineIndirectCommandNV *>( this ); } operator VkBindPipelineIndirectCommandNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBindPipelineIndirectCommandNV *>( this ); } operator VkBindPipelineIndirectCommandNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBindPipelineIndirectCommandNV *>( this ); } operator VkBindPipelineIndirectCommandNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBindPipelineIndirectCommandNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<DeviceAddress const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( pipelineAddress ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BindPipelineIndirectCommandNV const & ) const = default; #else bool operator==( BindPipelineIndirectCommandNV const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( pipelineAddress == rhs.pipelineAddress ); # endif } bool operator!=( BindPipelineIndirectCommandNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: DeviceAddress pipelineAddress = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBindPipelineIndirectCommandNV> { using Type = BindPipelineIndirectCommandNV; }; #endif // wrapper struct for struct VkBindShaderGroupIndirectCommandNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkBindShaderGroupIndirectCommandNV.html struct BindShaderGroupIndirectCommandNV { using NativeType = VkBindShaderGroupIndirectCommandNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BindShaderGroupIndirectCommandNV( uint32_t groupIndex_ = {} ) VULKAN_HPP_NOEXCEPT : groupIndex{ groupIndex_ } {} VULKAN_HPP_CONSTEXPR BindShaderGroupIndirectCommandNV( BindShaderGroupIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; BindShaderGroupIndirectCommandNV( VkBindShaderGroupIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT : BindShaderGroupIndirectCommandNV( *reinterpret_cast<BindShaderGroupIndirectCommandNV const *>( &rhs ) ) { } BindShaderGroupIndirectCommandNV & operator=( BindShaderGroupIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BindShaderGroupIndirectCommandNV & operator=( VkBindShaderGroupIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BindShaderGroupIndirectCommandNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BindShaderGroupIndirectCommandNV & setGroupIndex( uint32_t groupIndex_ ) VULKAN_HPP_NOEXCEPT { groupIndex = groupIndex_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBindShaderGroupIndirectCommandNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBindShaderGroupIndirectCommandNV *>( this ); } operator VkBindShaderGroupIndirectCommandNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBindShaderGroupIndirectCommandNV *>( this ); } operator VkBindShaderGroupIndirectCommandNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBindShaderGroupIndirectCommandNV *>( this ); } operator VkBindShaderGroupIndirectCommandNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBindShaderGroupIndirectCommandNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( groupIndex ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BindShaderGroupIndirectCommandNV const & ) const = default; #else bool operator==( BindShaderGroupIndirectCommandNV const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( groupIndex == rhs.groupIndex ); # endif } bool operator!=( BindShaderGroupIndirectCommandNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: uint32_t groupIndex = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBindShaderGroupIndirectCommandNV> { using Type = BindShaderGroupIndirectCommandNV; }; #endif // wrapper struct for struct VkSparseMemoryBind, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSparseMemoryBind.html struct SparseMemoryBind { using NativeType = VkSparseMemoryBind; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR SparseMemoryBind( DeviceSize resourceOffset_ = {}, DeviceSize size_ = {}, DeviceMemory memory_ = {}, DeviceSize memoryOffset_ = {}, SparseMemoryBindFlags flags_ = {} ) VULKAN_HPP_NOEXCEPT : resourceOffset{ resourceOffset_ } , size{ size_ } , memory{ memory_ } , memoryOffset{ memoryOffset_ } , flags{ flags_ } { } VULKAN_HPP_CONSTEXPR SparseMemoryBind( SparseMemoryBind const & rhs ) VULKAN_HPP_NOEXCEPT = default; SparseMemoryBind( VkSparseMemoryBind const & rhs ) VULKAN_HPP_NOEXCEPT : SparseMemoryBind( *reinterpret_cast<SparseMemoryBind const *>( &rhs ) ) {} SparseMemoryBind & operator=( SparseMemoryBind const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ SparseMemoryBind & operator=( VkSparseMemoryBind const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<SparseMemoryBind const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 SparseMemoryBind & setResourceOffset( DeviceSize resourceOffset_ ) VULKAN_HPP_NOEXCEPT { resourceOffset = resourceOffset_; return *this; } VULKAN_HPP_CONSTEXPR_14 SparseMemoryBind & setSize( DeviceSize size_ ) VULKAN_HPP_NOEXCEPT { size = size_; return *this; } VULKAN_HPP_CONSTEXPR_14 SparseMemoryBind & setMemory( DeviceMemory memory_ ) VULKAN_HPP_NOEXCEPT { memory = memory_; return *this; } VULKAN_HPP_CONSTEXPR_14 SparseMemoryBind & setMemoryOffset( DeviceSize memoryOffset_ ) VULKAN_HPP_NOEXCEPT { memoryOffset = memoryOffset_; return *this; } VULKAN_HPP_CONSTEXPR_14 SparseMemoryBind & setFlags( SparseMemoryBindFlags flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkSparseMemoryBind const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkSparseMemoryBind *>( this ); } operator VkSparseMemoryBind &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkSparseMemoryBind *>( this ); } operator VkSparseMemoryBind const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkSparseMemoryBind *>( this ); } operator VkSparseMemoryBind *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkSparseMemoryBind *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<DeviceSize const &, DeviceSize const &, DeviceMemory const &, DeviceSize const &, SparseMemoryBindFlags const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( resourceOffset, size, memory, memoryOffset, flags ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( SparseMemoryBind const & ) const = default; #else bool operator==( SparseMemoryBind const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( resourceOffset == rhs.resourceOffset ) && ( size == rhs.size ) && ( memory == rhs.memory ) && ( memoryOffset == rhs.memoryOffset ) && ( flags == rhs.flags ); # endif } bool operator!=( SparseMemoryBind const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: DeviceSize resourceOffset = {}; DeviceSize size = {}; DeviceMemory memory = {}; DeviceSize memoryOffset = {}; SparseMemoryBindFlags flags = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkSparseMemoryBind> { using Type = SparseMemoryBind; }; #endif // wrapper struct for struct VkSparseBufferMemoryBindInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSparseBufferMemoryBindInfo.html struct SparseBufferMemoryBindInfo { using NativeType = VkSparseBufferMemoryBindInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR SparseBufferMemoryBindInfo( Buffer buffer_ = {}, uint32_t bindCount_ = {}, const SparseMemoryBind * pBinds_ = {} ) VULKAN_HPP_NOEXCEPT : buffer{ buffer_ } , bindCount{ bindCount_ } , pBinds{ pBinds_ } { } VULKAN_HPP_CONSTEXPR SparseBufferMemoryBindInfo( SparseBufferMemoryBindInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; SparseBufferMemoryBindInfo( VkSparseBufferMemoryBindInfo const & rhs ) VULKAN_HPP_NOEXCEPT : SparseBufferMemoryBindInfo( *reinterpret_cast<SparseBufferMemoryBindInfo const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) SparseBufferMemoryBindInfo( Buffer buffer_, ArrayProxyNoTemporaries<const SparseMemoryBind> const & binds_ ) : buffer( buffer_ ), bindCount( static_cast<uint32_t>( binds_.size() ) ), pBinds( binds_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ SparseBufferMemoryBindInfo & operator=( SparseBufferMemoryBindInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ SparseBufferMemoryBindInfo & operator=( VkSparseBufferMemoryBindInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<SparseBufferMemoryBindInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 SparseBufferMemoryBindInfo & setBuffer( Buffer buffer_ ) VULKAN_HPP_NOEXCEPT { buffer = buffer_; return *this; } VULKAN_HPP_CONSTEXPR_14 SparseBufferMemoryBindInfo & setBindCount( uint32_t bindCount_ ) VULKAN_HPP_NOEXCEPT { bindCount = bindCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 SparseBufferMemoryBindInfo & setPBinds( const SparseMemoryBind * pBinds_ ) VULKAN_HPP_NOEXCEPT { pBinds = pBinds_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) SparseBufferMemoryBindInfo & setBinds( ArrayProxyNoTemporaries<const SparseMemoryBind> const & binds_ ) VULKAN_HPP_NOEXCEPT { bindCount = static_cast<uint32_t>( binds_.size() ); pBinds = binds_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkSparseBufferMemoryBindInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkSparseBufferMemoryBindInfo *>( this ); } operator VkSparseBufferMemoryBindInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkSparseBufferMemoryBindInfo *>( this ); } operator VkSparseBufferMemoryBindInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkSparseBufferMemoryBindInfo *>( this ); } operator VkSparseBufferMemoryBindInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkSparseBufferMemoryBindInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<Buffer const &, uint32_t const &, const SparseMemoryBind * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( buffer, bindCount, pBinds ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( SparseBufferMemoryBindInfo const & ) const = default; #else bool operator==( SparseBufferMemoryBindInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( buffer == rhs.buffer ) && ( bindCount == rhs.bindCount ) && ( pBinds == rhs.pBinds ); # endif } bool operator!=( SparseBufferMemoryBindInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: Buffer buffer = {}; uint32_t bindCount = {}; const SparseMemoryBind * pBinds = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkSparseBufferMemoryBindInfo> { using Type = SparseBufferMemoryBindInfo; }; #endif // wrapper struct for struct VkSparseImageOpaqueMemoryBindInfo, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkSparseImageOpaqueMemoryBindInfo.html struct SparseImageOpaqueMemoryBindInfo { using NativeType = VkSparseImageOpaqueMemoryBindInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR SparseImageOpaqueMemoryBindInfo( Image image_ = {}, uint32_t bindCount_ = {}, const SparseMemoryBind * pBinds_ = {} ) VULKAN_HPP_NOEXCEPT : image{ image_ } , bindCount{ bindCount_ } , pBinds{ pBinds_ } { } VULKAN_HPP_CONSTEXPR SparseImageOpaqueMemoryBindInfo( SparseImageOpaqueMemoryBindInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; SparseImageOpaqueMemoryBindInfo( VkSparseImageOpaqueMemoryBindInfo const & rhs ) VULKAN_HPP_NOEXCEPT : SparseImageOpaqueMemoryBindInfo( *reinterpret_cast<SparseImageOpaqueMemoryBindInfo const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) SparseImageOpaqueMemoryBindInfo( Image image_, ArrayProxyNoTemporaries<const SparseMemoryBind> const & binds_ ) : image( image_ ), bindCount( static_cast<uint32_t>( binds_.size() ) ), pBinds( binds_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ SparseImageOpaqueMemoryBindInfo & operator=( SparseImageOpaqueMemoryBindInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ SparseImageOpaqueMemoryBindInfo & operator=( VkSparseImageOpaqueMemoryBindInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<SparseImageOpaqueMemoryBindInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 SparseImageOpaqueMemoryBindInfo & setImage( Image image_ ) VULKAN_HPP_NOEXCEPT { image = image_; return *this; } VULKAN_HPP_CONSTEXPR_14 SparseImageOpaqueMemoryBindInfo & setBindCount( uint32_t bindCount_ ) VULKAN_HPP_NOEXCEPT { bindCount = bindCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 SparseImageOpaqueMemoryBindInfo & setPBinds( const SparseMemoryBind * pBinds_ ) VULKAN_HPP_NOEXCEPT { pBinds = pBinds_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) SparseImageOpaqueMemoryBindInfo & setBinds( ArrayProxyNoTemporaries<const SparseMemoryBind> const & binds_ ) VULKAN_HPP_NOEXCEPT { bindCount = static_cast<uint32_t>( binds_.size() ); pBinds = binds_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkSparseImageOpaqueMemoryBindInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkSparseImageOpaqueMemoryBindInfo *>( this ); } operator VkSparseImageOpaqueMemoryBindInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkSparseImageOpaqueMemoryBindInfo *>( this ); } operator VkSparseImageOpaqueMemoryBindInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkSparseImageOpaqueMemoryBindInfo *>( this ); } operator VkSparseImageOpaqueMemoryBindInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkSparseImageOpaqueMemoryBindInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<Image const &, uint32_t const &, const SparseMemoryBind * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( image, bindCount, pBinds ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( SparseImageOpaqueMemoryBindInfo const & ) const = default; #else bool operator==( SparseImageOpaqueMemoryBindInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( image == rhs.image ) && ( bindCount == rhs.bindCount ) && ( pBinds == rhs.pBinds ); # endif } bool operator!=( SparseImageOpaqueMemoryBindInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: Image image = {}; uint32_t bindCount = {}; const SparseMemoryBind * pBinds = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkSparseImageOpaqueMemoryBindInfo> { using Type = SparseImageOpaqueMemoryBindInfo; }; #endif // wrapper struct for struct VkImageSubresource, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageSubresource.html struct ImageSubresource { using NativeType = VkImageSubresource; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ImageSubresource( ImageAspectFlags aspectMask_ = {}, uint32_t mipLevel_ = {}, uint32_t arrayLayer_ = {} ) VULKAN_HPP_NOEXCEPT : aspectMask{ aspectMask_ } , mipLevel{ mipLevel_ } , arrayLayer{ arrayLayer_ } { } VULKAN_HPP_CONSTEXPR ImageSubresource( ImageSubresource const & rhs ) VULKAN_HPP_NOEXCEPT = default; ImageSubresource( VkImageSubresource const & rhs ) VULKAN_HPP_NOEXCEPT : ImageSubresource( *reinterpret_cast<ImageSubresource const *>( &rhs ) ) {} ImageSubresource & operator=( ImageSubresource const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ImageSubresource & operator=( VkImageSubresource const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ImageSubresource const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ImageSubresource & setAspectMask( ImageAspectFlags aspectMask_ ) VULKAN_HPP_NOEXCEPT { aspectMask = aspectMask_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageSubresource & setMipLevel( uint32_t mipLevel_ ) VULKAN_HPP_NOEXCEPT { mipLevel = mipLevel_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageSubresource & setArrayLayer( uint32_t arrayLayer_ ) VULKAN_HPP_NOEXCEPT { arrayLayer = arrayLayer_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkImageSubresource const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkImageSubresource *>( this ); } operator VkImageSubresource &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkImageSubresource *>( this ); } operator VkImageSubresource const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkImageSubresource *>( this ); } operator VkImageSubresource *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkImageSubresource *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<ImageAspectFlags const &, uint32_t const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( aspectMask, mipLevel, arrayLayer ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ImageSubresource const & ) const = default; #else bool operator==( ImageSubresource const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( aspectMask == rhs.aspectMask ) && ( mipLevel == rhs.mipLevel ) && ( arrayLayer == rhs.arrayLayer ); # endif } bool operator!=( ImageSubresource const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: ImageAspectFlags aspectMask = {}; uint32_t mipLevel = {}; uint32_t arrayLayer = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkImageSubresource> { using Type = ImageSubresource; }; #endif // wrapper struct for struct VkOffset3D, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkOffset3D.html struct Offset3D { using NativeType = VkOffset3D; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR Offset3D( int32_t x_ = {}, int32_t y_ = {}, int32_t z_ = {} ) VULKAN_HPP_NOEXCEPT : x{ x_ } , y{ y_ } , z{ z_ } { } VULKAN_HPP_CONSTEXPR Offset3D( Offset3D const & rhs ) VULKAN_HPP_NOEXCEPT = default; Offset3D( VkOffset3D const & rhs ) VULKAN_HPP_NOEXCEPT : Offset3D( *reinterpret_cast<Offset3D const *>( &rhs ) ) {} explicit Offset3D( Offset2D const & offset2D, int32_t z_ = {} ) : x( offset2D.x ), y( offset2D.y ), z( z_ ) {} Offset3D & operator=( Offset3D const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ Offset3D & operator=( VkOffset3D const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<Offset3D const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 Offset3D & setX( int32_t x_ ) VULKAN_HPP_NOEXCEPT { x = x_; return *this; } VULKAN_HPP_CONSTEXPR_14 Offset3D & setY( int32_t y_ ) VULKAN_HPP_NOEXCEPT { y = y_; return *this; } VULKAN_HPP_CONSTEXPR_14 Offset3D & setZ( int32_t z_ ) VULKAN_HPP_NOEXCEPT { z = z_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkOffset3D const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkOffset3D *>( this ); } operator VkOffset3D &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkOffset3D *>( this ); } operator VkOffset3D const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkOffset3D *>( this ); } operator VkOffset3D *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkOffset3D *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<int32_t const &, int32_t const &, int32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( x, y, z ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( Offset3D const & ) const = default; #else bool operator==( Offset3D const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( x == rhs.x ) && ( y == rhs.y ) && ( z == rhs.z ); # endif } bool operator!=( Offset3D const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: int32_t x = {}; int32_t y = {}; int32_t z = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkOffset3D> { using Type = Offset3D; }; #endif // wrapper struct for struct VkExtent3D, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkExtent3D.html struct Extent3D { using NativeType = VkExtent3D; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR Extent3D( uint32_t width_ = {}, uint32_t height_ = {}, uint32_t depth_ = {} ) VULKAN_HPP_NOEXCEPT : width{ width_ } , height{ height_ } , depth{ depth_ } { } VULKAN_HPP_CONSTEXPR Extent3D( Extent3D const & rhs ) VULKAN_HPP_NOEXCEPT = default; Extent3D( VkExtent3D const & rhs ) VULKAN_HPP_NOEXCEPT : Extent3D( *reinterpret_cast<Extent3D const *>( &rhs ) ) {} explicit Extent3D( Extent2D const & extent2D, uint32_t depth_ = {} ) : width( extent2D.width ), height( extent2D.height ), depth( depth_ ) {} Extent3D & operator=( Extent3D const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ Extent3D & operator=( VkExtent3D const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<Extent3D const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 Extent3D & setWidth( uint32_t width_ ) VULKAN_HPP_NOEXCEPT { width = width_; return *this; } VULKAN_HPP_CONSTEXPR_14 Extent3D & setHeight( uint32_t height_ ) VULKAN_HPP_NOEXCEPT { height = height_; return *this; } VULKAN_HPP_CONSTEXPR_14 Extent3D & setDepth( uint32_t depth_ ) VULKAN_HPP_NOEXCEPT { depth = depth_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkExtent3D const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExtent3D *>( this ); } operator VkExtent3D &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExtent3D *>( this ); } operator VkExtent3D const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExtent3D *>( this ); } operator VkExtent3D *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExtent3D *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<uint32_t const &, uint32_t const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( width, height, depth ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( Extent3D const & ) const = default; #else bool operator==( Extent3D const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( width == rhs.width ) && ( height == rhs.height ) && ( depth == rhs.depth ); # endif } bool operator!=( Extent3D const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: uint32_t width = {}; uint32_t height = {}; uint32_t depth = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExtent3D> { using Type = Extent3D; }; #endif // wrapper struct for struct VkSparseImageMemoryBind, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSparseImageMemoryBind.html struct SparseImageMemoryBind { using NativeType = VkSparseImageMemoryBind; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR SparseImageMemoryBind( ImageSubresource subresource_ = {}, Offset3D offset_ = {}, Extent3D extent_ = {}, DeviceMemory memory_ = {}, DeviceSize memoryOffset_ = {}, SparseMemoryBindFlags flags_ = {} ) VULKAN_HPP_NOEXCEPT : subresource{ subresource_ } , offset{ offset_ } , extent{ extent_ } , memory{ memory_ } , memoryOffset{ memoryOffset_ } , flags{ flags_ } { } VULKAN_HPP_CONSTEXPR SparseImageMemoryBind( SparseImageMemoryBind const & rhs ) VULKAN_HPP_NOEXCEPT = default; SparseImageMemoryBind( VkSparseImageMemoryBind const & rhs ) VULKAN_HPP_NOEXCEPT : SparseImageMemoryBind( *reinterpret_cast<SparseImageMemoryBind const *>( &rhs ) ) { } SparseImageMemoryBind & operator=( SparseImageMemoryBind const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ SparseImageMemoryBind & operator=( VkSparseImageMemoryBind const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<SparseImageMemoryBind const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 SparseImageMemoryBind & setSubresource( ImageSubresource const & subresource_ ) VULKAN_HPP_NOEXCEPT { subresource = subresource_; return *this; } VULKAN_HPP_CONSTEXPR_14 SparseImageMemoryBind & setOffset( Offset3D const & offset_ ) VULKAN_HPP_NOEXCEPT { offset = offset_; return *this; } VULKAN_HPP_CONSTEXPR_14 SparseImageMemoryBind & setExtent( Extent3D const & extent_ ) VULKAN_HPP_NOEXCEPT { extent = extent_; return *this; } VULKAN_HPP_CONSTEXPR_14 SparseImageMemoryBind & setMemory( DeviceMemory memory_ ) VULKAN_HPP_NOEXCEPT { memory = memory_; return *this; } VULKAN_HPP_CONSTEXPR_14 SparseImageMemoryBind & setMemoryOffset( DeviceSize memoryOffset_ ) VULKAN_HPP_NOEXCEPT { memoryOffset = memoryOffset_; return *this; } VULKAN_HPP_CONSTEXPR_14 SparseImageMemoryBind & setFlags( SparseMemoryBindFlags flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkSparseImageMemoryBind const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkSparseImageMemoryBind *>( this ); } operator VkSparseImageMemoryBind &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkSparseImageMemoryBind *>( this ); } operator VkSparseImageMemoryBind const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkSparseImageMemoryBind *>( this ); } operator VkSparseImageMemoryBind *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkSparseImageMemoryBind *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<ImageSubresource const &, Offset3D const &, Extent3D const &, DeviceMemory const &, DeviceSize const &, SparseMemoryBindFlags const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( subresource, offset, extent, memory, memoryOffset, flags ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( SparseImageMemoryBind const & ) const = default; #else bool operator==( SparseImageMemoryBind const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( subresource == rhs.subresource ) && ( offset == rhs.offset ) && ( extent == rhs.extent ) && ( memory == rhs.memory ) && ( memoryOffset == rhs.memoryOffset ) && ( flags == rhs.flags ); # endif } bool operator!=( SparseImageMemoryBind const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: ImageSubresource subresource = {}; Offset3D offset = {}; Extent3D extent = {}; DeviceMemory memory = {}; DeviceSize memoryOffset = {}; SparseMemoryBindFlags flags = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkSparseImageMemoryBind> { using Type = SparseImageMemoryBind; }; #endif // wrapper struct for struct VkSparseImageMemoryBindInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSparseImageMemoryBindInfo.html struct SparseImageMemoryBindInfo { using NativeType = VkSparseImageMemoryBindInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR SparseImageMemoryBindInfo( Image image_ = {}, uint32_t bindCount_ = {}, const SparseImageMemoryBind * pBinds_ = {} ) VULKAN_HPP_NOEXCEPT : image{ image_ } , bindCount{ bindCount_ } , pBinds{ pBinds_ } { } VULKAN_HPP_CONSTEXPR SparseImageMemoryBindInfo( SparseImageMemoryBindInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; SparseImageMemoryBindInfo( VkSparseImageMemoryBindInfo const & rhs ) VULKAN_HPP_NOEXCEPT : SparseImageMemoryBindInfo( *reinterpret_cast<SparseImageMemoryBindInfo const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) SparseImageMemoryBindInfo( Image image_, ArrayProxyNoTemporaries<const SparseImageMemoryBind> const & binds_ ) : image( image_ ), bindCount( static_cast<uint32_t>( binds_.size() ) ), pBinds( binds_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ SparseImageMemoryBindInfo & operator=( SparseImageMemoryBindInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ SparseImageMemoryBindInfo & operator=( VkSparseImageMemoryBindInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<SparseImageMemoryBindInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 SparseImageMemoryBindInfo & setImage( Image image_ ) VULKAN_HPP_NOEXCEPT { image = image_; return *this; } VULKAN_HPP_CONSTEXPR_14 SparseImageMemoryBindInfo & setBindCount( uint32_t bindCount_ ) VULKAN_HPP_NOEXCEPT { bindCount = bindCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 SparseImageMemoryBindInfo & setPBinds( const SparseImageMemoryBind * pBinds_ ) VULKAN_HPP_NOEXCEPT { pBinds = pBinds_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) SparseImageMemoryBindInfo & setBinds( ArrayProxyNoTemporaries<const SparseImageMemoryBind> const & binds_ ) VULKAN_HPP_NOEXCEPT { bindCount = static_cast<uint32_t>( binds_.size() ); pBinds = binds_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkSparseImageMemoryBindInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkSparseImageMemoryBindInfo *>( this ); } operator VkSparseImageMemoryBindInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkSparseImageMemoryBindInfo *>( this ); } operator VkSparseImageMemoryBindInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkSparseImageMemoryBindInfo *>( this ); } operator VkSparseImageMemoryBindInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkSparseImageMemoryBindInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<Image const &, uint32_t const &, const SparseImageMemoryBind * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( image, bindCount, pBinds ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( SparseImageMemoryBindInfo const & ) const = default; #else bool operator==( SparseImageMemoryBindInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( image == rhs.image ) && ( bindCount == rhs.bindCount ) && ( pBinds == rhs.pBinds ); # endif } bool operator!=( SparseImageMemoryBindInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: Image image = {}; uint32_t bindCount = {}; const SparseImageMemoryBind * pBinds = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkSparseImageMemoryBindInfo> { using Type = SparseImageMemoryBindInfo; }; #endif // wrapper struct for struct VkBindSparseInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBindSparseInfo.html struct BindSparseInfo { using NativeType = VkBindSparseInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBindSparseInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BindSparseInfo( uint32_t waitSemaphoreCount_ = {}, const Semaphore * pWaitSemaphores_ = {}, uint32_t bufferBindCount_ = {}, const SparseBufferMemoryBindInfo * pBufferBinds_ = {}, uint32_t imageOpaqueBindCount_ = {}, const SparseImageOpaqueMemoryBindInfo * pImageOpaqueBinds_ = {}, uint32_t imageBindCount_ = {}, const SparseImageMemoryBindInfo * pImageBinds_ = {}, uint32_t signalSemaphoreCount_ = {}, const Semaphore * pSignalSemaphores_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , waitSemaphoreCount{ waitSemaphoreCount_ } , pWaitSemaphores{ pWaitSemaphores_ } , bufferBindCount{ bufferBindCount_ } , pBufferBinds{ pBufferBinds_ } , imageOpaqueBindCount{ imageOpaqueBindCount_ } , pImageOpaqueBinds{ pImageOpaqueBinds_ } , imageBindCount{ imageBindCount_ } , pImageBinds{ pImageBinds_ } , signalSemaphoreCount{ signalSemaphoreCount_ } , pSignalSemaphores{ pSignalSemaphores_ } { } VULKAN_HPP_CONSTEXPR BindSparseInfo( BindSparseInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; BindSparseInfo( VkBindSparseInfo const & rhs ) VULKAN_HPP_NOEXCEPT : BindSparseInfo( *reinterpret_cast<BindSparseInfo const *>( &rhs ) ) {} # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) BindSparseInfo( ArrayProxyNoTemporaries<const Semaphore> const & waitSemaphores_, ArrayProxyNoTemporaries<const SparseBufferMemoryBindInfo> const & bufferBinds_ = {}, ArrayProxyNoTemporaries<const SparseImageOpaqueMemoryBindInfo> const & imageOpaqueBinds_ = {}, ArrayProxyNoTemporaries<const SparseImageMemoryBindInfo> const & imageBinds_ = {}, ArrayProxyNoTemporaries<const Semaphore> const & signalSemaphores_ = {}, const void * pNext_ = nullptr ) : pNext( pNext_ ) , waitSemaphoreCount( static_cast<uint32_t>( waitSemaphores_.size() ) ) , pWaitSemaphores( waitSemaphores_.data() ) , bufferBindCount( static_cast<uint32_t>( bufferBinds_.size() ) ) , pBufferBinds( bufferBinds_.data() ) , imageOpaqueBindCount( static_cast<uint32_t>( imageOpaqueBinds_.size() ) ) , pImageOpaqueBinds( imageOpaqueBinds_.data() ) , imageBindCount( static_cast<uint32_t>( imageBinds_.size() ) ) , pImageBinds( imageBinds_.data() ) , signalSemaphoreCount( static_cast<uint32_t>( signalSemaphores_.size() ) ) , pSignalSemaphores( signalSemaphores_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ BindSparseInfo & operator=( BindSparseInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BindSparseInfo & operator=( VkBindSparseInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BindSparseInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BindSparseInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindSparseInfo & setWaitSemaphoreCount( uint32_t waitSemaphoreCount_ ) VULKAN_HPP_NOEXCEPT { waitSemaphoreCount = waitSemaphoreCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindSparseInfo & setPWaitSemaphores( const Semaphore * pWaitSemaphores_ ) VULKAN_HPP_NOEXCEPT { pWaitSemaphores = pWaitSemaphores_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) BindSparseInfo & setWaitSemaphores( ArrayProxyNoTemporaries<const Semaphore> const & waitSemaphores_ ) VULKAN_HPP_NOEXCEPT { waitSemaphoreCount = static_cast<uint32_t>( waitSemaphores_.size() ); pWaitSemaphores = waitSemaphores_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 BindSparseInfo & setBufferBindCount( uint32_t bufferBindCount_ ) VULKAN_HPP_NOEXCEPT { bufferBindCount = bufferBindCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindSparseInfo & setPBufferBinds( const SparseBufferMemoryBindInfo * pBufferBinds_ ) VULKAN_HPP_NOEXCEPT { pBufferBinds = pBufferBinds_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) BindSparseInfo & setBufferBinds( ArrayProxyNoTemporaries<const SparseBufferMemoryBindInfo> const & bufferBinds_ ) VULKAN_HPP_NOEXCEPT { bufferBindCount = static_cast<uint32_t>( bufferBinds_.size() ); pBufferBinds = bufferBinds_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 BindSparseInfo & setImageOpaqueBindCount( uint32_t imageOpaqueBindCount_ ) VULKAN_HPP_NOEXCEPT { imageOpaqueBindCount = imageOpaqueBindCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindSparseInfo & setPImageOpaqueBinds( const SparseImageOpaqueMemoryBindInfo * pImageOpaqueBinds_ ) VULKAN_HPP_NOEXCEPT { pImageOpaqueBinds = pImageOpaqueBinds_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) BindSparseInfo & setImageOpaqueBinds( ArrayProxyNoTemporaries<const SparseImageOpaqueMemoryBindInfo> const & imageOpaqueBinds_ ) VULKAN_HPP_NOEXCEPT { imageOpaqueBindCount = static_cast<uint32_t>( imageOpaqueBinds_.size() ); pImageOpaqueBinds = imageOpaqueBinds_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 BindSparseInfo & setImageBindCount( uint32_t imageBindCount_ ) VULKAN_HPP_NOEXCEPT { imageBindCount = imageBindCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindSparseInfo & setPImageBinds( const SparseImageMemoryBindInfo * pImageBinds_ ) VULKAN_HPP_NOEXCEPT { pImageBinds = pImageBinds_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) BindSparseInfo & setImageBinds( ArrayProxyNoTemporaries<const SparseImageMemoryBindInfo> const & imageBinds_ ) VULKAN_HPP_NOEXCEPT { imageBindCount = static_cast<uint32_t>( imageBinds_.size() ); pImageBinds = imageBinds_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 BindSparseInfo & setSignalSemaphoreCount( uint32_t signalSemaphoreCount_ ) VULKAN_HPP_NOEXCEPT { signalSemaphoreCount = signalSemaphoreCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindSparseInfo & setPSignalSemaphores( const Semaphore * pSignalSemaphores_ ) VULKAN_HPP_NOEXCEPT { pSignalSemaphores = pSignalSemaphores_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) BindSparseInfo & setSignalSemaphores( ArrayProxyNoTemporaries<const Semaphore> const & signalSemaphores_ ) VULKAN_HPP_NOEXCEPT { signalSemaphoreCount = static_cast<uint32_t>( signalSemaphores_.size() ); pSignalSemaphores = signalSemaphores_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBindSparseInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBindSparseInfo *>( this ); } operator VkBindSparseInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBindSparseInfo *>( this ); } operator VkBindSparseInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBindSparseInfo *>( this ); } operator VkBindSparseInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBindSparseInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, uint32_t const &, const Semaphore * const &, uint32_t const &, const SparseBufferMemoryBindInfo * const &, uint32_t const &, const SparseImageOpaqueMemoryBindInfo * const &, uint32_t const &, const SparseImageMemoryBindInfo * const &, uint32_t const &, const Semaphore * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, waitSemaphoreCount, pWaitSemaphores, bufferBindCount, pBufferBinds, imageOpaqueBindCount, pImageOpaqueBinds, imageBindCount, pImageBinds, signalSemaphoreCount, pSignalSemaphores ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BindSparseInfo const & ) const = default; #else bool operator==( BindSparseInfo 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 ) && ( waitSemaphoreCount == rhs.waitSemaphoreCount ) && ( pWaitSemaphores == rhs.pWaitSemaphores ) && ( bufferBindCount == rhs.bufferBindCount ) && ( pBufferBinds == rhs.pBufferBinds ) && ( imageOpaqueBindCount == rhs.imageOpaqueBindCount ) && ( pImageOpaqueBinds == rhs.pImageOpaqueBinds ) && ( imageBindCount == rhs.imageBindCount ) && ( pImageBinds == rhs.pImageBinds ) && ( signalSemaphoreCount == rhs.signalSemaphoreCount ) && ( pSignalSemaphores == rhs.pSignalSemaphores ); # endif } bool operator!=( BindSparseInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eBindSparseInfo; const void * pNext = {}; uint32_t waitSemaphoreCount = {}; const Semaphore * pWaitSemaphores = {}; uint32_t bufferBindCount = {}; const SparseBufferMemoryBindInfo * pBufferBinds = {}; uint32_t imageOpaqueBindCount = {}; const SparseImageOpaqueMemoryBindInfo * pImageOpaqueBinds = {}; uint32_t imageBindCount = {}; const SparseImageMemoryBindInfo * pImageBinds = {}; uint32_t signalSemaphoreCount = {}; const Semaphore * pSignalSemaphores = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBindSparseInfo> { using Type = BindSparseInfo; }; #endif template <> struct CppType<StructureType, StructureType::eBindSparseInfo> { using Type = BindSparseInfo; }; // wrapper struct for struct VkBindTensorMemoryInfoARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBindTensorMemoryInfoARM.html struct BindTensorMemoryInfoARM { using NativeType = VkBindTensorMemoryInfoARM; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBindTensorMemoryInfoARM; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BindTensorMemoryInfoARM( TensorARM tensor_ = {}, DeviceMemory memory_ = {}, DeviceSize memoryOffset_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , tensor{ tensor_ } , memory{ memory_ } , memoryOffset{ memoryOffset_ } { } VULKAN_HPP_CONSTEXPR BindTensorMemoryInfoARM( BindTensorMemoryInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; BindTensorMemoryInfoARM( VkBindTensorMemoryInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT : BindTensorMemoryInfoARM( *reinterpret_cast<BindTensorMemoryInfoARM const *>( &rhs ) ) { } BindTensorMemoryInfoARM & operator=( BindTensorMemoryInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BindTensorMemoryInfoARM & operator=( VkBindTensorMemoryInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BindTensorMemoryInfoARM const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BindTensorMemoryInfoARM & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindTensorMemoryInfoARM & setTensor( TensorARM tensor_ ) VULKAN_HPP_NOEXCEPT { tensor = tensor_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindTensorMemoryInfoARM & setMemory( DeviceMemory memory_ ) VULKAN_HPP_NOEXCEPT { memory = memory_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindTensorMemoryInfoARM & setMemoryOffset( DeviceSize memoryOffset_ ) VULKAN_HPP_NOEXCEPT { memoryOffset = memoryOffset_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBindTensorMemoryInfoARM const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBindTensorMemoryInfoARM *>( this ); } operator VkBindTensorMemoryInfoARM &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBindTensorMemoryInfoARM *>( this ); } operator VkBindTensorMemoryInfoARM const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBindTensorMemoryInfoARM *>( this ); } operator VkBindTensorMemoryInfoARM *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBindTensorMemoryInfoARM *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, TensorARM const &, DeviceMemory const &, DeviceSize const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, tensor, memory, memoryOffset ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BindTensorMemoryInfoARM const & ) const = default; #else bool operator==( BindTensorMemoryInfoARM 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 ) && ( tensor == rhs.tensor ) && ( memory == rhs.memory ) && ( memoryOffset == rhs.memoryOffset ); # endif } bool operator!=( BindTensorMemoryInfoARM const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eBindTensorMemoryInfoARM; const void * pNext = {}; TensorARM tensor = {}; DeviceMemory memory = {}; DeviceSize memoryOffset = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBindTensorMemoryInfoARM> { using Type = BindTensorMemoryInfoARM; }; #endif template <> struct CppType<StructureType, StructureType::eBindTensorMemoryInfoARM> { using Type = BindTensorMemoryInfoARM; }; // wrapper struct for struct VkBindVertexBufferIndirectCommandEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkBindVertexBufferIndirectCommandEXT.html struct BindVertexBufferIndirectCommandEXT { using NativeType = VkBindVertexBufferIndirectCommandEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BindVertexBufferIndirectCommandEXT( DeviceAddress bufferAddress_ = {}, uint32_t size_ = {}, uint32_t stride_ = {} ) VULKAN_HPP_NOEXCEPT : bufferAddress{ bufferAddress_ } , size{ size_ } , stride{ stride_ } { } VULKAN_HPP_CONSTEXPR BindVertexBufferIndirectCommandEXT( BindVertexBufferIndirectCommandEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; BindVertexBufferIndirectCommandEXT( VkBindVertexBufferIndirectCommandEXT const & rhs ) VULKAN_HPP_NOEXCEPT : BindVertexBufferIndirectCommandEXT( *reinterpret_cast<BindVertexBufferIndirectCommandEXT const *>( &rhs ) ) { } BindVertexBufferIndirectCommandEXT & operator=( BindVertexBufferIndirectCommandEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BindVertexBufferIndirectCommandEXT & operator=( VkBindVertexBufferIndirectCommandEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BindVertexBufferIndirectCommandEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BindVertexBufferIndirectCommandEXT & setBufferAddress( DeviceAddress bufferAddress_ ) VULKAN_HPP_NOEXCEPT { bufferAddress = bufferAddress_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindVertexBufferIndirectCommandEXT & setSize( uint32_t size_ ) VULKAN_HPP_NOEXCEPT { size = size_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindVertexBufferIndirectCommandEXT & setStride( uint32_t stride_ ) VULKAN_HPP_NOEXCEPT { stride = stride_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBindVertexBufferIndirectCommandEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBindVertexBufferIndirectCommandEXT *>( this ); } operator VkBindVertexBufferIndirectCommandEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBindVertexBufferIndirectCommandEXT *>( this ); } operator VkBindVertexBufferIndirectCommandEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBindVertexBufferIndirectCommandEXT *>( this ); } operator VkBindVertexBufferIndirectCommandEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBindVertexBufferIndirectCommandEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<DeviceAddress const &, uint32_t const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( bufferAddress, size, stride ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BindVertexBufferIndirectCommandEXT const & ) const = default; #else bool operator==( BindVertexBufferIndirectCommandEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( bufferAddress == rhs.bufferAddress ) && ( size == rhs.size ) && ( stride == rhs.stride ); # endif } bool operator!=( BindVertexBufferIndirectCommandEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: DeviceAddress bufferAddress = {}; uint32_t size = {}; uint32_t stride = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBindVertexBufferIndirectCommandEXT> { using Type = BindVertexBufferIndirectCommandEXT; }; #endif // wrapper struct for struct VkBindVertexBufferIndirectCommandNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkBindVertexBufferIndirectCommandNV.html struct BindVertexBufferIndirectCommandNV { using NativeType = VkBindVertexBufferIndirectCommandNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BindVertexBufferIndirectCommandNV( DeviceAddress bufferAddress_ = {}, uint32_t size_ = {}, uint32_t stride_ = {} ) VULKAN_HPP_NOEXCEPT : bufferAddress{ bufferAddress_ } , size{ size_ } , stride{ stride_ } { } VULKAN_HPP_CONSTEXPR BindVertexBufferIndirectCommandNV( BindVertexBufferIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; BindVertexBufferIndirectCommandNV( VkBindVertexBufferIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT : BindVertexBufferIndirectCommandNV( *reinterpret_cast<BindVertexBufferIndirectCommandNV const *>( &rhs ) ) { } BindVertexBufferIndirectCommandNV & operator=( BindVertexBufferIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BindVertexBufferIndirectCommandNV & operator=( VkBindVertexBufferIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BindVertexBufferIndirectCommandNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BindVertexBufferIndirectCommandNV & setBufferAddress( DeviceAddress bufferAddress_ ) VULKAN_HPP_NOEXCEPT { bufferAddress = bufferAddress_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindVertexBufferIndirectCommandNV & setSize( uint32_t size_ ) VULKAN_HPP_NOEXCEPT { size = size_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindVertexBufferIndirectCommandNV & setStride( uint32_t stride_ ) VULKAN_HPP_NOEXCEPT { stride = stride_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBindVertexBufferIndirectCommandNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBindVertexBufferIndirectCommandNV *>( this ); } operator VkBindVertexBufferIndirectCommandNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBindVertexBufferIndirectCommandNV *>( this ); } operator VkBindVertexBufferIndirectCommandNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBindVertexBufferIndirectCommandNV *>( this ); } operator VkBindVertexBufferIndirectCommandNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBindVertexBufferIndirectCommandNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<DeviceAddress const &, uint32_t const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( bufferAddress, size, stride ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BindVertexBufferIndirectCommandNV const & ) const = default; #else bool operator==( BindVertexBufferIndirectCommandNV const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( bufferAddress == rhs.bufferAddress ) && ( size == rhs.size ) && ( stride == rhs.stride ); # endif } bool operator!=( BindVertexBufferIndirectCommandNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: DeviceAddress bufferAddress = {}; uint32_t size = {}; uint32_t stride = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBindVertexBufferIndirectCommandNV> { using Type = BindVertexBufferIndirectCommandNV; }; #endif // wrapper struct for struct VkBindVideoSessionMemoryInfoKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkBindVideoSessionMemoryInfoKHR.html struct BindVideoSessionMemoryInfoKHR { using NativeType = VkBindVideoSessionMemoryInfoKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBindVideoSessionMemoryInfoKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BindVideoSessionMemoryInfoKHR( uint32_t memoryBindIndex_ = {}, DeviceMemory memory_ = {}, DeviceSize memoryOffset_ = {}, DeviceSize memorySize_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , memoryBindIndex{ memoryBindIndex_ } , memory{ memory_ } , memoryOffset{ memoryOffset_ } , memorySize{ memorySize_ } { } VULKAN_HPP_CONSTEXPR BindVideoSessionMemoryInfoKHR( BindVideoSessionMemoryInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; BindVideoSessionMemoryInfoKHR( VkBindVideoSessionMemoryInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : BindVideoSessionMemoryInfoKHR( *reinterpret_cast<BindVideoSessionMemoryInfoKHR const *>( &rhs ) ) { } BindVideoSessionMemoryInfoKHR & operator=( BindVideoSessionMemoryInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BindVideoSessionMemoryInfoKHR & operator=( VkBindVideoSessionMemoryInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BindVideoSessionMemoryInfoKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BindVideoSessionMemoryInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindVideoSessionMemoryInfoKHR & setMemoryBindIndex( uint32_t memoryBindIndex_ ) VULKAN_HPP_NOEXCEPT { memoryBindIndex = memoryBindIndex_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindVideoSessionMemoryInfoKHR & setMemory( DeviceMemory memory_ ) VULKAN_HPP_NOEXCEPT { memory = memory_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindVideoSessionMemoryInfoKHR & setMemoryOffset( DeviceSize memoryOffset_ ) VULKAN_HPP_NOEXCEPT { memoryOffset = memoryOffset_; return *this; } VULKAN_HPP_CONSTEXPR_14 BindVideoSessionMemoryInfoKHR & setMemorySize( DeviceSize memorySize_ ) VULKAN_HPP_NOEXCEPT { memorySize = memorySize_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBindVideoSessionMemoryInfoKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBindVideoSessionMemoryInfoKHR *>( this ); } operator VkBindVideoSessionMemoryInfoKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBindVideoSessionMemoryInfoKHR *>( this ); } operator VkBindVideoSessionMemoryInfoKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBindVideoSessionMemoryInfoKHR *>( this ); } operator VkBindVideoSessionMemoryInfoKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBindVideoSessionMemoryInfoKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, uint32_t const &, DeviceMemory const &, DeviceSize const &, DeviceSize const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, memoryBindIndex, memory, memoryOffset, memorySize ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BindVideoSessionMemoryInfoKHR const & ) const = default; #else bool operator==( BindVideoSessionMemoryInfoKHR 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 ) && ( memoryBindIndex == rhs.memoryBindIndex ) && ( memory == rhs.memory ) && ( memoryOffset == rhs.memoryOffset ) && ( memorySize == rhs.memorySize ); # endif } bool operator!=( BindVideoSessionMemoryInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eBindVideoSessionMemoryInfoKHR; const void * pNext = {}; uint32_t memoryBindIndex = {}; DeviceMemory memory = {}; DeviceSize memoryOffset = {}; DeviceSize memorySize = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBindVideoSessionMemoryInfoKHR> { using Type = BindVideoSessionMemoryInfoKHR; }; #endif template <> struct CppType<StructureType, StructureType::eBindVideoSessionMemoryInfoKHR> { using Type = BindVideoSessionMemoryInfoKHR; }; // wrapper struct for struct VkBlitImageCubicWeightsInfoQCOM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkBlitImageCubicWeightsInfoQCOM.html struct BlitImageCubicWeightsInfoQCOM { using NativeType = VkBlitImageCubicWeightsInfoQCOM; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBlitImageCubicWeightsInfoQCOM; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BlitImageCubicWeightsInfoQCOM( CubicFilterWeightsQCOM cubicWeights_ = CubicFilterWeightsQCOM::eCatmullRom, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , cubicWeights{ cubicWeights_ } { } VULKAN_HPP_CONSTEXPR BlitImageCubicWeightsInfoQCOM( BlitImageCubicWeightsInfoQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default; BlitImageCubicWeightsInfoQCOM( VkBlitImageCubicWeightsInfoQCOM const & rhs ) VULKAN_HPP_NOEXCEPT : BlitImageCubicWeightsInfoQCOM( *reinterpret_cast<BlitImageCubicWeightsInfoQCOM const *>( &rhs ) ) { } BlitImageCubicWeightsInfoQCOM & operator=( BlitImageCubicWeightsInfoQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BlitImageCubicWeightsInfoQCOM & operator=( VkBlitImageCubicWeightsInfoQCOM const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BlitImageCubicWeightsInfoQCOM const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BlitImageCubicWeightsInfoQCOM & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 BlitImageCubicWeightsInfoQCOM & setCubicWeights( CubicFilterWeightsQCOM cubicWeights_ ) VULKAN_HPP_NOEXCEPT { cubicWeights = cubicWeights_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBlitImageCubicWeightsInfoQCOM const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBlitImageCubicWeightsInfoQCOM *>( this ); } operator VkBlitImageCubicWeightsInfoQCOM &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBlitImageCubicWeightsInfoQCOM *>( this ); } operator VkBlitImageCubicWeightsInfoQCOM const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBlitImageCubicWeightsInfoQCOM *>( this ); } operator VkBlitImageCubicWeightsInfoQCOM *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBlitImageCubicWeightsInfoQCOM *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, CubicFilterWeightsQCOM const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, cubicWeights ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BlitImageCubicWeightsInfoQCOM const & ) const = default; #else bool operator==( BlitImageCubicWeightsInfoQCOM 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 ) && ( cubicWeights == rhs.cubicWeights ); # endif } bool operator!=( BlitImageCubicWeightsInfoQCOM const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eBlitImageCubicWeightsInfoQCOM; const void * pNext = {}; CubicFilterWeightsQCOM cubicWeights = CubicFilterWeightsQCOM::eCatmullRom; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBlitImageCubicWeightsInfoQCOM> { using Type = BlitImageCubicWeightsInfoQCOM; }; #endif template <> struct CppType<StructureType, StructureType::eBlitImageCubicWeightsInfoQCOM> { using Type = BlitImageCubicWeightsInfoQCOM; }; // wrapper struct for struct VkImageSubresourceLayers, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageSubresourceLayers.html struct ImageSubresourceLayers { using NativeType = VkImageSubresourceLayers; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ImageSubresourceLayers( ImageAspectFlags aspectMask_ = {}, uint32_t mipLevel_ = {}, uint32_t baseArrayLayer_ = {}, uint32_t layerCount_ = {} ) VULKAN_HPP_NOEXCEPT : aspectMask{ aspectMask_ } , mipLevel{ mipLevel_ } , baseArrayLayer{ baseArrayLayer_ } , layerCount{ layerCount_ } { } VULKAN_HPP_CONSTEXPR ImageSubresourceLayers( ImageSubresourceLayers const & rhs ) VULKAN_HPP_NOEXCEPT = default; ImageSubresourceLayers( VkImageSubresourceLayers const & rhs ) VULKAN_HPP_NOEXCEPT : ImageSubresourceLayers( *reinterpret_cast<ImageSubresourceLayers const *>( &rhs ) ) { } ImageSubresourceLayers & operator=( ImageSubresourceLayers const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ImageSubresourceLayers & operator=( VkImageSubresourceLayers const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ImageSubresourceLayers const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ImageSubresourceLayers & setAspectMask( ImageAspectFlags aspectMask_ ) VULKAN_HPP_NOEXCEPT { aspectMask = aspectMask_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageSubresourceLayers & setMipLevel( uint32_t mipLevel_ ) VULKAN_HPP_NOEXCEPT { mipLevel = mipLevel_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageSubresourceLayers & setBaseArrayLayer( uint32_t baseArrayLayer_ ) VULKAN_HPP_NOEXCEPT { baseArrayLayer = baseArrayLayer_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageSubresourceLayers & setLayerCount( uint32_t layerCount_ ) VULKAN_HPP_NOEXCEPT { layerCount = layerCount_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkImageSubresourceLayers const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkImageSubresourceLayers *>( this ); } operator VkImageSubresourceLayers &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkImageSubresourceLayers *>( this ); } operator VkImageSubresourceLayers const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkImageSubresourceLayers *>( this ); } operator VkImageSubresourceLayers *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkImageSubresourceLayers *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<ImageAspectFlags const &, uint32_t const &, uint32_t const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( aspectMask, mipLevel, baseArrayLayer, layerCount ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ImageSubresourceLayers const & ) const = default; #else bool operator==( ImageSubresourceLayers const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( aspectMask == rhs.aspectMask ) && ( mipLevel == rhs.mipLevel ) && ( baseArrayLayer == rhs.baseArrayLayer ) && ( layerCount == rhs.layerCount ); # endif } bool operator!=( ImageSubresourceLayers const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: ImageAspectFlags aspectMask = {}; uint32_t mipLevel = {}; uint32_t baseArrayLayer = {}; uint32_t layerCount = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkImageSubresourceLayers> { using Type = ImageSubresourceLayers; }; #endif // wrapper struct for struct VkImageBlit2, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageBlit2.html struct ImageBlit2 { using NativeType = VkImageBlit2; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageBlit2; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 ImageBlit2( ImageSubresourceLayers srcSubresource_ = {}, std::array<Offset3D, 2> const & srcOffsets_ = {}, ImageSubresourceLayers dstSubresource_ = {}, std::array<Offset3D, 2> const & dstOffsets_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , srcSubresource{ srcSubresource_ } , srcOffsets{ srcOffsets_ } , dstSubresource{ dstSubresource_ } , dstOffsets{ dstOffsets_ } { } VULKAN_HPP_CONSTEXPR_14 ImageBlit2( ImageBlit2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; ImageBlit2( VkImageBlit2 const & rhs ) VULKAN_HPP_NOEXCEPT : ImageBlit2( *reinterpret_cast<ImageBlit2 const *>( &rhs ) ) {} ImageBlit2 & operator=( ImageBlit2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ImageBlit2 & operator=( VkImageBlit2 const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ImageBlit2 const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ImageBlit2 & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageBlit2 & setSrcSubresource( ImageSubresourceLayers const & srcSubresource_ ) VULKAN_HPP_NOEXCEPT { srcSubresource = srcSubresource_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageBlit2 & setSrcOffsets( std::array<Offset3D, 2> const & srcOffsets_ ) VULKAN_HPP_NOEXCEPT { srcOffsets = srcOffsets_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageBlit2 & setDstSubresource( ImageSubresourceLayers const & dstSubresource_ ) VULKAN_HPP_NOEXCEPT { dstSubresource = dstSubresource_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageBlit2 & setDstOffsets( std::array<Offset3D, 2> const & dstOffsets_ ) VULKAN_HPP_NOEXCEPT { dstOffsets = dstOffsets_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkImageBlit2 const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkImageBlit2 *>( this ); } operator VkImageBlit2 &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkImageBlit2 *>( this ); } operator VkImageBlit2 const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkImageBlit2 *>( this ); } operator VkImageBlit2 *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkImageBlit2 *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, ImageSubresourceLayers const &, ArrayWrapper1D<Offset3D, 2> const &, ImageSubresourceLayers const &, ArrayWrapper1D<Offset3D, 2> const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, srcSubresource, srcOffsets, dstSubresource, dstOffsets ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ImageBlit2 const & ) const = default; #else bool operator==( ImageBlit2 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 ) && ( srcSubresource == rhs.srcSubresource ) && ( srcOffsets == rhs.srcOffsets ) && ( dstSubresource == rhs.dstSubresource ) && ( dstOffsets == rhs.dstOffsets ); # endif } bool operator!=( ImageBlit2 const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eImageBlit2; const void * pNext = {}; ImageSubresourceLayers srcSubresource = {}; ArrayWrapper1D<Offset3D, 2> srcOffsets = {}; ImageSubresourceLayers dstSubresource = {}; ArrayWrapper1D<Offset3D, 2> dstOffsets = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkImageBlit2> { using Type = ImageBlit2; }; #endif template <> struct CppType<StructureType, StructureType::eImageBlit2> { using Type = ImageBlit2; }; using ImageBlit2KHR = ImageBlit2; // wrapper struct for struct VkBlitImageInfo2, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBlitImageInfo2.html struct BlitImageInfo2 { using NativeType = VkBlitImageInfo2; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBlitImageInfo2; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 BlitImageInfo2( Image srcImage_ = {}, ImageLayout srcImageLayout_ = ImageLayout::eUndefined, Image dstImage_ = {}, ImageLayout dstImageLayout_ = ImageLayout::eUndefined, uint32_t regionCount_ = {}, const ImageBlit2 * pRegions_ = {}, Filter filter_ = Filter::eNearest, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , srcImage{ srcImage_ } , srcImageLayout{ srcImageLayout_ } , dstImage{ dstImage_ } , dstImageLayout{ dstImageLayout_ } , regionCount{ regionCount_ } , pRegions{ pRegions_ } , filter{ filter_ } { } VULKAN_HPP_CONSTEXPR_14 BlitImageInfo2( BlitImageInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; BlitImageInfo2( VkBlitImageInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT : BlitImageInfo2( *reinterpret_cast<BlitImageInfo2 const *>( &rhs ) ) {} # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) BlitImageInfo2( Image srcImage_, ImageLayout srcImageLayout_, Image dstImage_, ImageLayout dstImageLayout_, ArrayProxyNoTemporaries<const ImageBlit2> const & regions_, Filter filter_ = Filter::eNearest, const void * pNext_ = nullptr ) : pNext( pNext_ ) , srcImage( srcImage_ ) , srcImageLayout( srcImageLayout_ ) , dstImage( dstImage_ ) , dstImageLayout( dstImageLayout_ ) , regionCount( static_cast<uint32_t>( regions_.size() ) ) , pRegions( regions_.data() ) , filter( filter_ ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ BlitImageInfo2 & operator=( BlitImageInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BlitImageInfo2 & operator=( VkBlitImageInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BlitImageInfo2 const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BlitImageInfo2 & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 BlitImageInfo2 & setSrcImage( Image srcImage_ ) VULKAN_HPP_NOEXCEPT { srcImage = srcImage_; return *this; } VULKAN_HPP_CONSTEXPR_14 BlitImageInfo2 & setSrcImageLayout( ImageLayout srcImageLayout_ ) VULKAN_HPP_NOEXCEPT { srcImageLayout = srcImageLayout_; return *this; } VULKAN_HPP_CONSTEXPR_14 BlitImageInfo2 & setDstImage( Image dstImage_ ) VULKAN_HPP_NOEXCEPT { dstImage = dstImage_; return *this; } VULKAN_HPP_CONSTEXPR_14 BlitImageInfo2 & setDstImageLayout( ImageLayout dstImageLayout_ ) VULKAN_HPP_NOEXCEPT { dstImageLayout = dstImageLayout_; return *this; } VULKAN_HPP_CONSTEXPR_14 BlitImageInfo2 & setRegionCount( uint32_t regionCount_ ) VULKAN_HPP_NOEXCEPT { regionCount = regionCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 BlitImageInfo2 & setPRegions( const ImageBlit2 * pRegions_ ) VULKAN_HPP_NOEXCEPT { pRegions = pRegions_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) BlitImageInfo2 & setRegions( ArrayProxyNoTemporaries<const ImageBlit2> const & regions_ ) VULKAN_HPP_NOEXCEPT { regionCount = static_cast<uint32_t>( regions_.size() ); pRegions = regions_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 BlitImageInfo2 & setFilter( Filter filter_ ) VULKAN_HPP_NOEXCEPT { filter = filter_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBlitImageInfo2 const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBlitImageInfo2 *>( this ); } operator VkBlitImageInfo2 &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBlitImageInfo2 *>( this ); } operator VkBlitImageInfo2 const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBlitImageInfo2 *>( this ); } operator VkBlitImageInfo2 *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBlitImageInfo2 *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Image const &, ImageLayout const &, Image const &, ImageLayout const &, uint32_t const &, const ImageBlit2 * const &, Filter const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BlitImageInfo2 const & ) const = default; #else bool operator==( BlitImageInfo2 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 ) && ( srcImage == rhs.srcImage ) && ( srcImageLayout == rhs.srcImageLayout ) && ( dstImage == rhs.dstImage ) && ( dstImageLayout == rhs.dstImageLayout ) && ( regionCount == rhs.regionCount ) && ( pRegions == rhs.pRegions ) && ( filter == rhs.filter ); # endif } bool operator!=( BlitImageInfo2 const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eBlitImageInfo2; const void * pNext = {}; Image srcImage = {}; ImageLayout srcImageLayout = ImageLayout::eUndefined; Image dstImage = {}; ImageLayout dstImageLayout = ImageLayout::eUndefined; uint32_t regionCount = {}; const ImageBlit2 * pRegions = {}; Filter filter = Filter::eNearest; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBlitImageInfo2> { using Type = BlitImageInfo2; }; #endif template <> struct CppType<StructureType, StructureType::eBlitImageInfo2> { using Type = BlitImageInfo2; }; using BlitImageInfo2KHR = BlitImageInfo2; // wrapper struct for struct VkBufferCaptureDescriptorDataInfoEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkBufferCaptureDescriptorDataInfoEXT.html struct BufferCaptureDescriptorDataInfoEXT { using NativeType = VkBufferCaptureDescriptorDataInfoEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferCaptureDescriptorDataInfoEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BufferCaptureDescriptorDataInfoEXT( Buffer buffer_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , buffer{ buffer_ } { } VULKAN_HPP_CONSTEXPR BufferCaptureDescriptorDataInfoEXT( BufferCaptureDescriptorDataInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; BufferCaptureDescriptorDataInfoEXT( VkBufferCaptureDescriptorDataInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : BufferCaptureDescriptorDataInfoEXT( *reinterpret_cast<BufferCaptureDescriptorDataInfoEXT const *>( &rhs ) ) { } BufferCaptureDescriptorDataInfoEXT & operator=( BufferCaptureDescriptorDataInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BufferCaptureDescriptorDataInfoEXT & operator=( VkBufferCaptureDescriptorDataInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BufferCaptureDescriptorDataInfoEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BufferCaptureDescriptorDataInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferCaptureDescriptorDataInfoEXT & setBuffer( Buffer buffer_ ) VULKAN_HPP_NOEXCEPT { buffer = buffer_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBufferCaptureDescriptorDataInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBufferCaptureDescriptorDataInfoEXT *>( this ); } operator VkBufferCaptureDescriptorDataInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBufferCaptureDescriptorDataInfoEXT *>( this ); } operator VkBufferCaptureDescriptorDataInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBufferCaptureDescriptorDataInfoEXT *>( this ); } operator VkBufferCaptureDescriptorDataInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBufferCaptureDescriptorDataInfoEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Buffer const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, buffer ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BufferCaptureDescriptorDataInfoEXT const & ) const = default; #else bool operator==( BufferCaptureDescriptorDataInfoEXT 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 ) && ( buffer == rhs.buffer ); # endif } bool operator!=( BufferCaptureDescriptorDataInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eBufferCaptureDescriptorDataInfoEXT; const void * pNext = {}; Buffer buffer = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBufferCaptureDescriptorDataInfoEXT> { using Type = BufferCaptureDescriptorDataInfoEXT; }; #endif template <> struct CppType<StructureType, StructureType::eBufferCaptureDescriptorDataInfoEXT> { using Type = BufferCaptureDescriptorDataInfoEXT; }; #if defined( VK_USE_PLATFORM_FUCHSIA ) // wrapper struct for struct VkBufferCollectionBufferCreateInfoFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkBufferCollectionBufferCreateInfoFUCHSIA.html struct BufferCollectionBufferCreateInfoFUCHSIA { using NativeType = VkBufferCollectionBufferCreateInfoFUCHSIA; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferCollectionBufferCreateInfoFUCHSIA; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BufferCollectionBufferCreateInfoFUCHSIA( BufferCollectionFUCHSIA collection_ = {}, uint32_t index_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , collection{ collection_ } , index{ index_ } { } VULKAN_HPP_CONSTEXPR BufferCollectionBufferCreateInfoFUCHSIA( BufferCollectionBufferCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default; BufferCollectionBufferCreateInfoFUCHSIA( VkBufferCollectionBufferCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT : BufferCollectionBufferCreateInfoFUCHSIA( *reinterpret_cast<BufferCollectionBufferCreateInfoFUCHSIA const *>( &rhs ) ) { } BufferCollectionBufferCreateInfoFUCHSIA & operator=( BufferCollectionBufferCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BufferCollectionBufferCreateInfoFUCHSIA & operator=( VkBufferCollectionBufferCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BufferCollectionBufferCreateInfoFUCHSIA const *>( &rhs ); return *this; } # if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BufferCollectionBufferCreateInfoFUCHSIA & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferCollectionBufferCreateInfoFUCHSIA & setCollection( BufferCollectionFUCHSIA collection_ ) VULKAN_HPP_NOEXCEPT { collection = collection_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferCollectionBufferCreateInfoFUCHSIA & setIndex( uint32_t index_ ) VULKAN_HPP_NOEXCEPT { index = index_; return *this; } # endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBufferCollectionBufferCreateInfoFUCHSIA const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBufferCollectionBufferCreateInfoFUCHSIA *>( this ); } operator VkBufferCollectionBufferCreateInfoFUCHSIA &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBufferCollectionBufferCreateInfoFUCHSIA *>( this ); } operator VkBufferCollectionBufferCreateInfoFUCHSIA const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBufferCollectionBufferCreateInfoFUCHSIA *>( this ); } operator VkBufferCollectionBufferCreateInfoFUCHSIA *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBufferCollectionBufferCreateInfoFUCHSIA *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, BufferCollectionFUCHSIA const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, collection, index ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BufferCollectionBufferCreateInfoFUCHSIA const & ) const = default; # else bool operator==( BufferCollectionBufferCreateInfoFUCHSIA 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 ) && ( collection == rhs.collection ) && ( index == rhs.index ); # endif } bool operator!=( BufferCollectionBufferCreateInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } # endif public: StructureType sType = StructureType::eBufferCollectionBufferCreateInfoFUCHSIA; const void * pNext = {}; BufferCollectionFUCHSIA collection = {}; uint32_t index = {}; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBufferCollectionBufferCreateInfoFUCHSIA> { using Type = BufferCollectionBufferCreateInfoFUCHSIA; }; # endif template <> struct CppType<StructureType, StructureType::eBufferCollectionBufferCreateInfoFUCHSIA> { using Type = BufferCollectionBufferCreateInfoFUCHSIA; }; #endif /*VK_USE_PLATFORM_FUCHSIA*/ #if defined( VK_USE_PLATFORM_FUCHSIA ) // wrapper struct for struct VkBufferCollectionConstraintsInfoFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkBufferCollectionConstraintsInfoFUCHSIA.html struct BufferCollectionConstraintsInfoFUCHSIA { using NativeType = VkBufferCollectionConstraintsInfoFUCHSIA; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferCollectionConstraintsInfoFUCHSIA; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BufferCollectionConstraintsInfoFUCHSIA( uint32_t minBufferCount_ = {}, uint32_t maxBufferCount_ = {}, uint32_t minBufferCountForCamping_ = {}, uint32_t minBufferCountForDedicatedSlack_ = {}, uint32_t minBufferCountForSharedSlack_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , minBufferCount{ minBufferCount_ } , maxBufferCount{ maxBufferCount_ } , minBufferCountForCamping{ minBufferCountForCamping_ } , minBufferCountForDedicatedSlack{ minBufferCountForDedicatedSlack_ } , minBufferCountForSharedSlack{ minBufferCountForSharedSlack_ } { } VULKAN_HPP_CONSTEXPR BufferCollectionConstraintsInfoFUCHSIA( BufferCollectionConstraintsInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default; BufferCollectionConstraintsInfoFUCHSIA( VkBufferCollectionConstraintsInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT : BufferCollectionConstraintsInfoFUCHSIA( *reinterpret_cast<BufferCollectionConstraintsInfoFUCHSIA const *>( &rhs ) ) { } BufferCollectionConstraintsInfoFUCHSIA & operator=( BufferCollectionConstraintsInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BufferCollectionConstraintsInfoFUCHSIA & operator=( VkBufferCollectionConstraintsInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BufferCollectionConstraintsInfoFUCHSIA const *>( &rhs ); return *this; } # if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BufferCollectionConstraintsInfoFUCHSIA & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferCollectionConstraintsInfoFUCHSIA & setMinBufferCount( uint32_t minBufferCount_ ) VULKAN_HPP_NOEXCEPT { minBufferCount = minBufferCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferCollectionConstraintsInfoFUCHSIA & setMaxBufferCount( uint32_t maxBufferCount_ ) VULKAN_HPP_NOEXCEPT { maxBufferCount = maxBufferCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferCollectionConstraintsInfoFUCHSIA & setMinBufferCountForCamping( uint32_t minBufferCountForCamping_ ) VULKAN_HPP_NOEXCEPT { minBufferCountForCamping = minBufferCountForCamping_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferCollectionConstraintsInfoFUCHSIA & setMinBufferCountForDedicatedSlack( uint32_t minBufferCountForDedicatedSlack_ ) VULKAN_HPP_NOEXCEPT { minBufferCountForDedicatedSlack = minBufferCountForDedicatedSlack_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferCollectionConstraintsInfoFUCHSIA & setMinBufferCountForSharedSlack( uint32_t minBufferCountForSharedSlack_ ) VULKAN_HPP_NOEXCEPT { minBufferCountForSharedSlack = minBufferCountForSharedSlack_; return *this; } # endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBufferCollectionConstraintsInfoFUCHSIA const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBufferCollectionConstraintsInfoFUCHSIA *>( this ); } operator VkBufferCollectionConstraintsInfoFUCHSIA &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBufferCollectionConstraintsInfoFUCHSIA *>( this ); } operator VkBufferCollectionConstraintsInfoFUCHSIA const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBufferCollectionConstraintsInfoFUCHSIA *>( this ); } operator VkBufferCollectionConstraintsInfoFUCHSIA *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBufferCollectionConstraintsInfoFUCHSIA *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, uint32_t const &, uint32_t const &, uint32_t const &, uint32_t const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, minBufferCount, maxBufferCount, minBufferCountForCamping, minBufferCountForDedicatedSlack, minBufferCountForSharedSlack ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BufferCollectionConstraintsInfoFUCHSIA const & ) const = default; # else bool operator==( BufferCollectionConstraintsInfoFUCHSIA 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 ) && ( minBufferCount == rhs.minBufferCount ) && ( maxBufferCount == rhs.maxBufferCount ) && ( minBufferCountForCamping == rhs.minBufferCountForCamping ) && ( minBufferCountForDedicatedSlack == rhs.minBufferCountForDedicatedSlack ) && ( minBufferCountForSharedSlack == rhs.minBufferCountForSharedSlack ); # endif } bool operator!=( BufferCollectionConstraintsInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } # endif public: StructureType sType = StructureType::eBufferCollectionConstraintsInfoFUCHSIA; const void * pNext = {}; uint32_t minBufferCount = {}; uint32_t maxBufferCount = {}; uint32_t minBufferCountForCamping = {}; uint32_t minBufferCountForDedicatedSlack = {}; uint32_t minBufferCountForSharedSlack = {}; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBufferCollectionConstraintsInfoFUCHSIA> { using Type = BufferCollectionConstraintsInfoFUCHSIA; }; # endif template <> struct CppType<StructureType, StructureType::eBufferCollectionConstraintsInfoFUCHSIA> { using Type = BufferCollectionConstraintsInfoFUCHSIA; }; #endif /*VK_USE_PLATFORM_FUCHSIA*/ #if defined( VK_USE_PLATFORM_FUCHSIA ) // wrapper struct for struct VkBufferCollectionCreateInfoFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkBufferCollectionCreateInfoFUCHSIA.html struct BufferCollectionCreateInfoFUCHSIA { using NativeType = VkBufferCollectionCreateInfoFUCHSIA; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferCollectionCreateInfoFUCHSIA; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BufferCollectionCreateInfoFUCHSIA( zx_handle_t collectionToken_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , collectionToken{ collectionToken_ } { } VULKAN_HPP_CONSTEXPR BufferCollectionCreateInfoFUCHSIA( BufferCollectionCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default; BufferCollectionCreateInfoFUCHSIA( VkBufferCollectionCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT : BufferCollectionCreateInfoFUCHSIA( *reinterpret_cast<BufferCollectionCreateInfoFUCHSIA const *>( &rhs ) ) { } BufferCollectionCreateInfoFUCHSIA & operator=( BufferCollectionCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BufferCollectionCreateInfoFUCHSIA & operator=( VkBufferCollectionCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BufferCollectionCreateInfoFUCHSIA const *>( &rhs ); return *this; } # if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BufferCollectionCreateInfoFUCHSIA & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferCollectionCreateInfoFUCHSIA & setCollectionToken( zx_handle_t collectionToken_ ) VULKAN_HPP_NOEXCEPT { collectionToken = collectionToken_; return *this; } # endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBufferCollectionCreateInfoFUCHSIA const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBufferCollectionCreateInfoFUCHSIA *>( this ); } operator VkBufferCollectionCreateInfoFUCHSIA &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBufferCollectionCreateInfoFUCHSIA *>( this ); } operator VkBufferCollectionCreateInfoFUCHSIA const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBufferCollectionCreateInfoFUCHSIA *>( this ); } operator VkBufferCollectionCreateInfoFUCHSIA *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBufferCollectionCreateInfoFUCHSIA *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, zx_handle_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, collectionToken ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) std::strong_ordering operator<=>( BufferCollectionCreateInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT { if ( auto cmp = sType <=> rhs.sType; cmp != 0 ) return cmp; if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 ) return cmp; if ( auto cmp = memcmp( &collectionToken, &rhs.collectionToken, sizeof( zx_handle_t ) ); cmp != 0 ) return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater; return std::strong_ordering::equivalent; } # endif bool operator==( BufferCollectionCreateInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT { return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memcmp( &collectionToken, &rhs.collectionToken, sizeof( zx_handle_t ) ) == 0 ); } bool operator!=( BufferCollectionCreateInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } public: StructureType sType = StructureType::eBufferCollectionCreateInfoFUCHSIA; const void * pNext = {}; zx_handle_t collectionToken = {}; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBufferCollectionCreateInfoFUCHSIA> { using Type = BufferCollectionCreateInfoFUCHSIA; }; # endif template <> struct CppType<StructureType, StructureType::eBufferCollectionCreateInfoFUCHSIA> { using Type = BufferCollectionCreateInfoFUCHSIA; }; #endif /*VK_USE_PLATFORM_FUCHSIA*/ #if defined( VK_USE_PLATFORM_FUCHSIA ) // wrapper struct for struct VkBufferCollectionImageCreateInfoFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkBufferCollectionImageCreateInfoFUCHSIA.html struct BufferCollectionImageCreateInfoFUCHSIA { using NativeType = VkBufferCollectionImageCreateInfoFUCHSIA; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferCollectionImageCreateInfoFUCHSIA; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BufferCollectionImageCreateInfoFUCHSIA( BufferCollectionFUCHSIA collection_ = {}, uint32_t index_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , collection{ collection_ } , index{ index_ } { } VULKAN_HPP_CONSTEXPR BufferCollectionImageCreateInfoFUCHSIA( BufferCollectionImageCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default; BufferCollectionImageCreateInfoFUCHSIA( VkBufferCollectionImageCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT : BufferCollectionImageCreateInfoFUCHSIA( *reinterpret_cast<BufferCollectionImageCreateInfoFUCHSIA const *>( &rhs ) ) { } BufferCollectionImageCreateInfoFUCHSIA & operator=( BufferCollectionImageCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BufferCollectionImageCreateInfoFUCHSIA & operator=( VkBufferCollectionImageCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BufferCollectionImageCreateInfoFUCHSIA const *>( &rhs ); return *this; } # if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BufferCollectionImageCreateInfoFUCHSIA & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferCollectionImageCreateInfoFUCHSIA & setCollection( BufferCollectionFUCHSIA collection_ ) VULKAN_HPP_NOEXCEPT { collection = collection_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferCollectionImageCreateInfoFUCHSIA & setIndex( uint32_t index_ ) VULKAN_HPP_NOEXCEPT { index = index_; return *this; } # endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBufferCollectionImageCreateInfoFUCHSIA const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBufferCollectionImageCreateInfoFUCHSIA *>( this ); } operator VkBufferCollectionImageCreateInfoFUCHSIA &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBufferCollectionImageCreateInfoFUCHSIA *>( this ); } operator VkBufferCollectionImageCreateInfoFUCHSIA const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBufferCollectionImageCreateInfoFUCHSIA *>( this ); } operator VkBufferCollectionImageCreateInfoFUCHSIA *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBufferCollectionImageCreateInfoFUCHSIA *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, BufferCollectionFUCHSIA const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, collection, index ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BufferCollectionImageCreateInfoFUCHSIA const & ) const = default; # else bool operator==( BufferCollectionImageCreateInfoFUCHSIA 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 ) && ( collection == rhs.collection ) && ( index == rhs.index ); # endif } bool operator!=( BufferCollectionImageCreateInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } # endif public: StructureType sType = StructureType::eBufferCollectionImageCreateInfoFUCHSIA; const void * pNext = {}; BufferCollectionFUCHSIA collection = {}; uint32_t index = {}; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBufferCollectionImageCreateInfoFUCHSIA> { using Type = BufferCollectionImageCreateInfoFUCHSIA; }; # endif template <> struct CppType<StructureType, StructureType::eBufferCollectionImageCreateInfoFUCHSIA> { using Type = BufferCollectionImageCreateInfoFUCHSIA; }; #endif /*VK_USE_PLATFORM_FUCHSIA*/ #if defined( VK_USE_PLATFORM_FUCHSIA ) // wrapper struct for struct VkSysmemColorSpaceFUCHSIA, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSysmemColorSpaceFUCHSIA.html struct SysmemColorSpaceFUCHSIA { using NativeType = VkSysmemColorSpaceFUCHSIA; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSysmemColorSpaceFUCHSIA; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR SysmemColorSpaceFUCHSIA( uint32_t colorSpace_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , colorSpace{ colorSpace_ } { } VULKAN_HPP_CONSTEXPR SysmemColorSpaceFUCHSIA( SysmemColorSpaceFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default; SysmemColorSpaceFUCHSIA( VkSysmemColorSpaceFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT : SysmemColorSpaceFUCHSIA( *reinterpret_cast<SysmemColorSpaceFUCHSIA const *>( &rhs ) ) { } SysmemColorSpaceFUCHSIA & operator=( SysmemColorSpaceFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ SysmemColorSpaceFUCHSIA & operator=( VkSysmemColorSpaceFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<SysmemColorSpaceFUCHSIA const *>( &rhs ); return *this; } # if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 SysmemColorSpaceFUCHSIA & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 SysmemColorSpaceFUCHSIA & setColorSpace( uint32_t colorSpace_ ) VULKAN_HPP_NOEXCEPT { colorSpace = colorSpace_; return *this; } # endif /*VULKAN_HPP_NO_SETTERS*/ operator VkSysmemColorSpaceFUCHSIA const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkSysmemColorSpaceFUCHSIA *>( this ); } operator VkSysmemColorSpaceFUCHSIA &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkSysmemColorSpaceFUCHSIA *>( this ); } operator VkSysmemColorSpaceFUCHSIA const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkSysmemColorSpaceFUCHSIA *>( this ); } operator VkSysmemColorSpaceFUCHSIA *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkSysmemColorSpaceFUCHSIA *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, colorSpace ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( SysmemColorSpaceFUCHSIA const & ) const = default; # else bool operator==( SysmemColorSpaceFUCHSIA 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 ) && ( colorSpace == rhs.colorSpace ); # endif } bool operator!=( SysmemColorSpaceFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } # endif public: StructureType sType = StructureType::eSysmemColorSpaceFUCHSIA; const void * pNext = {}; uint32_t colorSpace = {}; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkSysmemColorSpaceFUCHSIA> { using Type = SysmemColorSpaceFUCHSIA; }; # endif template <> struct CppType<StructureType, StructureType::eSysmemColorSpaceFUCHSIA> { using Type = SysmemColorSpaceFUCHSIA; }; #endif /*VK_USE_PLATFORM_FUCHSIA*/ #if defined( VK_USE_PLATFORM_FUCHSIA ) // wrapper struct for struct VkBufferCollectionPropertiesFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkBufferCollectionPropertiesFUCHSIA.html struct BufferCollectionPropertiesFUCHSIA { using NativeType = VkBufferCollectionPropertiesFUCHSIA; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferCollectionPropertiesFUCHSIA; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BufferCollectionPropertiesFUCHSIA( uint32_t memoryTypeBits_ = {}, uint32_t bufferCount_ = {}, uint32_t createInfoIndex_ = {}, uint64_t sysmemPixelFormat_ = {}, FormatFeatureFlags formatFeatures_ = {}, SysmemColorSpaceFUCHSIA sysmemColorSpaceIndex_ = {}, ComponentMapping samplerYcbcrConversionComponents_ = {}, SamplerYcbcrModelConversion suggestedYcbcrModel_ = SamplerYcbcrModelConversion::eRgbIdentity, SamplerYcbcrRange suggestedYcbcrRange_ = SamplerYcbcrRange::eItuFull, ChromaLocation suggestedXChromaOffset_ = ChromaLocation::eCositedEven, ChromaLocation suggestedYChromaOffset_ = ChromaLocation::eCositedEven, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , memoryTypeBits{ memoryTypeBits_ } , bufferCount{ bufferCount_ } , createInfoIndex{ createInfoIndex_ } , sysmemPixelFormat{ sysmemPixelFormat_ } , formatFeatures{ formatFeatures_ } , sysmemColorSpaceIndex{ sysmemColorSpaceIndex_ } , samplerYcbcrConversionComponents{ samplerYcbcrConversionComponents_ } , suggestedYcbcrModel{ suggestedYcbcrModel_ } , suggestedYcbcrRange{ suggestedYcbcrRange_ } , suggestedXChromaOffset{ suggestedXChromaOffset_ } , suggestedYChromaOffset{ suggestedYChromaOffset_ } { } VULKAN_HPP_CONSTEXPR BufferCollectionPropertiesFUCHSIA( BufferCollectionPropertiesFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default; BufferCollectionPropertiesFUCHSIA( VkBufferCollectionPropertiesFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT : BufferCollectionPropertiesFUCHSIA( *reinterpret_cast<BufferCollectionPropertiesFUCHSIA const *>( &rhs ) ) { } BufferCollectionPropertiesFUCHSIA & operator=( BufferCollectionPropertiesFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BufferCollectionPropertiesFUCHSIA & operator=( VkBufferCollectionPropertiesFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BufferCollectionPropertiesFUCHSIA const *>( &rhs ); return *this; } operator VkBufferCollectionPropertiesFUCHSIA const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBufferCollectionPropertiesFUCHSIA *>( this ); } operator VkBufferCollectionPropertiesFUCHSIA &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBufferCollectionPropertiesFUCHSIA *>( this ); } operator VkBufferCollectionPropertiesFUCHSIA const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBufferCollectionPropertiesFUCHSIA *>( this ); } operator VkBufferCollectionPropertiesFUCHSIA *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBufferCollectionPropertiesFUCHSIA *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, uint32_t const &, uint32_t const &, uint32_t const &, uint64_t const &, FormatFeatureFlags const &, SysmemColorSpaceFUCHSIA const &, ComponentMapping const &, SamplerYcbcrModelConversion const &, SamplerYcbcrRange const &, ChromaLocation const &, ChromaLocation const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, memoryTypeBits, bufferCount, createInfoIndex, sysmemPixelFormat, formatFeatures, sysmemColorSpaceIndex, samplerYcbcrConversionComponents, suggestedYcbcrModel, suggestedYcbcrRange, suggestedXChromaOffset, suggestedYChromaOffset ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BufferCollectionPropertiesFUCHSIA const & ) const = default; # else bool operator==( BufferCollectionPropertiesFUCHSIA 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 ) && ( memoryTypeBits == rhs.memoryTypeBits ) && ( bufferCount == rhs.bufferCount ) && ( createInfoIndex == rhs.createInfoIndex ) && ( sysmemPixelFormat == rhs.sysmemPixelFormat ) && ( formatFeatures == rhs.formatFeatures ) && ( sysmemColorSpaceIndex == rhs.sysmemColorSpaceIndex ) && ( samplerYcbcrConversionComponents == rhs.samplerYcbcrConversionComponents ) && ( suggestedYcbcrModel == rhs.suggestedYcbcrModel ) && ( suggestedYcbcrRange == rhs.suggestedYcbcrRange ) && ( suggestedXChromaOffset == rhs.suggestedXChromaOffset ) && ( suggestedYChromaOffset == rhs.suggestedYChromaOffset ); # endif } bool operator!=( BufferCollectionPropertiesFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } # endif public: StructureType sType = StructureType::eBufferCollectionPropertiesFUCHSIA; void * pNext = {}; uint32_t memoryTypeBits = {}; uint32_t bufferCount = {}; uint32_t createInfoIndex = {}; uint64_t sysmemPixelFormat = {}; FormatFeatureFlags formatFeatures = {}; SysmemColorSpaceFUCHSIA sysmemColorSpaceIndex = {}; ComponentMapping samplerYcbcrConversionComponents = {}; SamplerYcbcrModelConversion suggestedYcbcrModel = SamplerYcbcrModelConversion::eRgbIdentity; SamplerYcbcrRange suggestedYcbcrRange = SamplerYcbcrRange::eItuFull; ChromaLocation suggestedXChromaOffset = ChromaLocation::eCositedEven; ChromaLocation suggestedYChromaOffset = ChromaLocation::eCositedEven; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBufferCollectionPropertiesFUCHSIA> { using Type = BufferCollectionPropertiesFUCHSIA; }; # endif template <> struct CppType<StructureType, StructureType::eBufferCollectionPropertiesFUCHSIA> { using Type = BufferCollectionPropertiesFUCHSIA; }; #endif /*VK_USE_PLATFORM_FUCHSIA*/ // wrapper struct for struct VkBufferCreateInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBufferCreateInfo.html struct BufferCreateInfo { using NativeType = VkBufferCreateInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferCreateInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BufferCreateInfo( BufferCreateFlags flags_ = {}, DeviceSize size_ = {}, BufferUsageFlags usage_ = {}, SharingMode sharingMode_ = SharingMode::eExclusive, uint32_t queueFamilyIndexCount_ = {}, const uint32_t * pQueueFamilyIndices_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , size{ size_ } , usage{ usage_ } , sharingMode{ sharingMode_ } , queueFamilyIndexCount{ queueFamilyIndexCount_ } , pQueueFamilyIndices{ pQueueFamilyIndices_ } { } VULKAN_HPP_CONSTEXPR BufferCreateInfo( BufferCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; BufferCreateInfo( VkBufferCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : BufferCreateInfo( *reinterpret_cast<BufferCreateInfo const *>( &rhs ) ) {} # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) BufferCreateInfo( BufferCreateFlags flags_, DeviceSize size_, BufferUsageFlags usage_, SharingMode sharingMode_, ArrayProxyNoTemporaries<const uint32_t> const & queueFamilyIndices_, const void * pNext_ = nullptr ) : pNext( pNext_ ) , flags( flags_ ) , size( size_ ) , usage( usage_ ) , sharingMode( sharingMode_ ) , queueFamilyIndexCount( static_cast<uint32_t>( queueFamilyIndices_.size() ) ) , pQueueFamilyIndices( queueFamilyIndices_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ BufferCreateInfo & operator=( BufferCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BufferCreateInfo & operator=( VkBufferCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BufferCreateInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BufferCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferCreateInfo & setFlags( BufferCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferCreateInfo & setSize( DeviceSize size_ ) VULKAN_HPP_NOEXCEPT { size = size_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferCreateInfo & setUsage( BufferUsageFlags usage_ ) VULKAN_HPP_NOEXCEPT { usage = usage_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferCreateInfo & setSharingMode( SharingMode sharingMode_ ) VULKAN_HPP_NOEXCEPT { sharingMode = sharingMode_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferCreateInfo & setQueueFamilyIndexCount( uint32_t queueFamilyIndexCount_ ) VULKAN_HPP_NOEXCEPT { queueFamilyIndexCount = queueFamilyIndexCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferCreateInfo & setPQueueFamilyIndices( const uint32_t * pQueueFamilyIndices_ ) VULKAN_HPP_NOEXCEPT { pQueueFamilyIndices = pQueueFamilyIndices_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) BufferCreateInfo & setQueueFamilyIndices( ArrayProxyNoTemporaries<const uint32_t> const & queueFamilyIndices_ ) VULKAN_HPP_NOEXCEPT { queueFamilyIndexCount = static_cast<uint32_t>( queueFamilyIndices_.size() ); pQueueFamilyIndices = queueFamilyIndices_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBufferCreateInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBufferCreateInfo *>( this ); } operator VkBufferCreateInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBufferCreateInfo *>( this ); } operator VkBufferCreateInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBufferCreateInfo *>( this ); } operator VkBufferCreateInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBufferCreateInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, BufferCreateFlags const &, DeviceSize const &, BufferUsageFlags const &, SharingMode const &, uint32_t const &, const uint32_t * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, size, usage, sharingMode, queueFamilyIndexCount, pQueueFamilyIndices ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BufferCreateInfo const & ) const = default; #else bool operator==( BufferCreateInfo 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 ) && ( flags == rhs.flags ) && ( size == rhs.size ) && ( usage == rhs.usage ) && ( sharingMode == rhs.sharingMode ) && ( queueFamilyIndexCount == rhs.queueFamilyIndexCount ) && ( pQueueFamilyIndices == rhs.pQueueFamilyIndices ); # endif } bool operator!=( BufferCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eBufferCreateInfo; const void * pNext = {}; BufferCreateFlags flags = {}; DeviceSize size = {}; BufferUsageFlags usage = {}; SharingMode sharingMode = SharingMode::eExclusive; uint32_t queueFamilyIndexCount = {}; const uint32_t * pQueueFamilyIndices = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBufferCreateInfo> { using Type = BufferCreateInfo; }; #endif template <> struct CppType<StructureType, StructureType::eBufferCreateInfo> { using Type = BufferCreateInfo; }; #if defined( VK_USE_PLATFORM_FUCHSIA ) // wrapper struct for struct VkBufferConstraintsInfoFUCHSIA, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBufferConstraintsInfoFUCHSIA.html struct BufferConstraintsInfoFUCHSIA { using NativeType = VkBufferConstraintsInfoFUCHSIA; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferConstraintsInfoFUCHSIA; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BufferConstraintsInfoFUCHSIA( BufferCreateInfo createInfo_ = {}, FormatFeatureFlags requiredFormatFeatures_ = {}, BufferCollectionConstraintsInfoFUCHSIA bufferCollectionConstraints_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , createInfo{ createInfo_ } , requiredFormatFeatures{ requiredFormatFeatures_ } , bufferCollectionConstraints{ bufferCollectionConstraints_ } { } VULKAN_HPP_CONSTEXPR BufferConstraintsInfoFUCHSIA( BufferConstraintsInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default; BufferConstraintsInfoFUCHSIA( VkBufferConstraintsInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT : BufferConstraintsInfoFUCHSIA( *reinterpret_cast<BufferConstraintsInfoFUCHSIA const *>( &rhs ) ) { } BufferConstraintsInfoFUCHSIA & operator=( BufferConstraintsInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BufferConstraintsInfoFUCHSIA & operator=( VkBufferConstraintsInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BufferConstraintsInfoFUCHSIA const *>( &rhs ); return *this; } # if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BufferConstraintsInfoFUCHSIA & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferConstraintsInfoFUCHSIA & setCreateInfo( BufferCreateInfo const & createInfo_ ) VULKAN_HPP_NOEXCEPT { createInfo = createInfo_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferConstraintsInfoFUCHSIA & setRequiredFormatFeatures( FormatFeatureFlags requiredFormatFeatures_ ) VULKAN_HPP_NOEXCEPT { requiredFormatFeatures = requiredFormatFeatures_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferConstraintsInfoFUCHSIA & setBufferCollectionConstraints( BufferCollectionConstraintsInfoFUCHSIA const & bufferCollectionConstraints_ ) VULKAN_HPP_NOEXCEPT { bufferCollectionConstraints = bufferCollectionConstraints_; return *this; } # endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBufferConstraintsInfoFUCHSIA const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBufferConstraintsInfoFUCHSIA *>( this ); } operator VkBufferConstraintsInfoFUCHSIA &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBufferConstraintsInfoFUCHSIA *>( this ); } operator VkBufferConstraintsInfoFUCHSIA const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBufferConstraintsInfoFUCHSIA *>( this ); } operator VkBufferConstraintsInfoFUCHSIA *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBufferConstraintsInfoFUCHSIA *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std:: tuple<StructureType const &, const void * const &, BufferCreateInfo const &, FormatFeatureFlags const &, BufferCollectionConstraintsInfoFUCHSIA const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, createInfo, requiredFormatFeatures, bufferCollectionConstraints ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BufferConstraintsInfoFUCHSIA const & ) const = default; # else bool operator==( BufferConstraintsInfoFUCHSIA 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 ) && ( createInfo == rhs.createInfo ) && ( requiredFormatFeatures == rhs.requiredFormatFeatures ) && ( bufferCollectionConstraints == rhs.bufferCollectionConstraints ); # endif } bool operator!=( BufferConstraintsInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } # endif public: StructureType sType = StructureType::eBufferConstraintsInfoFUCHSIA; const void * pNext = {}; BufferCreateInfo createInfo = {}; FormatFeatureFlags requiredFormatFeatures = {}; BufferCollectionConstraintsInfoFUCHSIA bufferCollectionConstraints = {}; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBufferConstraintsInfoFUCHSIA> { using Type = BufferConstraintsInfoFUCHSIA; }; # endif template <> struct CppType<StructureType, StructureType::eBufferConstraintsInfoFUCHSIA> { using Type = BufferConstraintsInfoFUCHSIA; }; #endif /*VK_USE_PLATFORM_FUCHSIA*/ // wrapper struct for struct VkBufferCopy, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBufferCopy.html struct BufferCopy { using NativeType = VkBufferCopy; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BufferCopy( DeviceSize srcOffset_ = {}, DeviceSize dstOffset_ = {}, DeviceSize size_ = {} ) VULKAN_HPP_NOEXCEPT : srcOffset{ srcOffset_ } , dstOffset{ dstOffset_ } , size{ size_ } { } VULKAN_HPP_CONSTEXPR BufferCopy( BufferCopy const & rhs ) VULKAN_HPP_NOEXCEPT = default; BufferCopy( VkBufferCopy const & rhs ) VULKAN_HPP_NOEXCEPT : BufferCopy( *reinterpret_cast<BufferCopy const *>( &rhs ) ) {} BufferCopy & operator=( BufferCopy const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BufferCopy & operator=( VkBufferCopy const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BufferCopy const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BufferCopy & setSrcOffset( DeviceSize srcOffset_ ) VULKAN_HPP_NOEXCEPT { srcOffset = srcOffset_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferCopy & setDstOffset( DeviceSize dstOffset_ ) VULKAN_HPP_NOEXCEPT { dstOffset = dstOffset_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferCopy & setSize( DeviceSize size_ ) VULKAN_HPP_NOEXCEPT { size = size_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBufferCopy const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBufferCopy *>( this ); } operator VkBufferCopy &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBufferCopy *>( this ); } operator VkBufferCopy const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBufferCopy *>( this ); } operator VkBufferCopy *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBufferCopy *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<DeviceSize const &, DeviceSize const &, DeviceSize const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( srcOffset, dstOffset, size ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BufferCopy const & ) const = default; #else bool operator==( BufferCopy const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( srcOffset == rhs.srcOffset ) && ( dstOffset == rhs.dstOffset ) && ( size == rhs.size ); # endif } bool operator!=( BufferCopy const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: DeviceSize srcOffset = {}; DeviceSize dstOffset = {}; DeviceSize size = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBufferCopy> { using Type = BufferCopy; }; #endif // wrapper struct for struct VkBufferCopy2, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBufferCopy2.html struct BufferCopy2 { using NativeType = VkBufferCopy2; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferCopy2; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BufferCopy2( DeviceSize srcOffset_ = {}, DeviceSize dstOffset_ = {}, DeviceSize size_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , srcOffset{ srcOffset_ } , dstOffset{ dstOffset_ } , size{ size_ } { } VULKAN_HPP_CONSTEXPR BufferCopy2( BufferCopy2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; BufferCopy2( VkBufferCopy2 const & rhs ) VULKAN_HPP_NOEXCEPT : BufferCopy2( *reinterpret_cast<BufferCopy2 const *>( &rhs ) ) {} BufferCopy2 & operator=( BufferCopy2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BufferCopy2 & operator=( VkBufferCopy2 const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BufferCopy2 const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BufferCopy2 & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferCopy2 & setSrcOffset( DeviceSize srcOffset_ ) VULKAN_HPP_NOEXCEPT { srcOffset = srcOffset_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferCopy2 & setDstOffset( DeviceSize dstOffset_ ) VULKAN_HPP_NOEXCEPT { dstOffset = dstOffset_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferCopy2 & setSize( DeviceSize size_ ) VULKAN_HPP_NOEXCEPT { size = size_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBufferCopy2 const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBufferCopy2 *>( this ); } operator VkBufferCopy2 &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBufferCopy2 *>( this ); } operator VkBufferCopy2 const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBufferCopy2 *>( this ); } operator VkBufferCopy2 *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBufferCopy2 *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DeviceSize const &, DeviceSize const &, DeviceSize const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, srcOffset, dstOffset, size ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BufferCopy2 const & ) const = default; #else bool operator==( BufferCopy2 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 ) && ( srcOffset == rhs.srcOffset ) && ( dstOffset == rhs.dstOffset ) && ( size == rhs.size ); # endif } bool operator!=( BufferCopy2 const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eBufferCopy2; const void * pNext = {}; DeviceSize srcOffset = {}; DeviceSize dstOffset = {}; DeviceSize size = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBufferCopy2> { using Type = BufferCopy2; }; #endif template <> struct CppType<StructureType, StructureType::eBufferCopy2> { using Type = BufferCopy2; }; using BufferCopy2KHR = BufferCopy2; // wrapper struct for struct VkBufferDeviceAddressCreateInfoEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkBufferDeviceAddressCreateInfoEXT.html struct BufferDeviceAddressCreateInfoEXT { using NativeType = VkBufferDeviceAddressCreateInfoEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferDeviceAddressCreateInfoEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BufferDeviceAddressCreateInfoEXT( DeviceAddress deviceAddress_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , deviceAddress{ deviceAddress_ } { } VULKAN_HPP_CONSTEXPR BufferDeviceAddressCreateInfoEXT( BufferDeviceAddressCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; BufferDeviceAddressCreateInfoEXT( VkBufferDeviceAddressCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : BufferDeviceAddressCreateInfoEXT( *reinterpret_cast<BufferDeviceAddressCreateInfoEXT const *>( &rhs ) ) { } BufferDeviceAddressCreateInfoEXT & operator=( BufferDeviceAddressCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BufferDeviceAddressCreateInfoEXT & operator=( VkBufferDeviceAddressCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BufferDeviceAddressCreateInfoEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BufferDeviceAddressCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferDeviceAddressCreateInfoEXT & setDeviceAddress( DeviceAddress deviceAddress_ ) VULKAN_HPP_NOEXCEPT { deviceAddress = deviceAddress_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBufferDeviceAddressCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBufferDeviceAddressCreateInfoEXT *>( this ); } operator VkBufferDeviceAddressCreateInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBufferDeviceAddressCreateInfoEXT *>( this ); } operator VkBufferDeviceAddressCreateInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBufferDeviceAddressCreateInfoEXT *>( this ); } operator VkBufferDeviceAddressCreateInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBufferDeviceAddressCreateInfoEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DeviceAddress const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, deviceAddress ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BufferDeviceAddressCreateInfoEXT const & ) const = default; #else bool operator==( BufferDeviceAddressCreateInfoEXT 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 ) && ( deviceAddress == rhs.deviceAddress ); # endif } bool operator!=( BufferDeviceAddressCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eBufferDeviceAddressCreateInfoEXT; const void * pNext = {}; DeviceAddress deviceAddress = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBufferDeviceAddressCreateInfoEXT> { using Type = BufferDeviceAddressCreateInfoEXT; }; #endif template <> struct CppType<StructureType, StructureType::eBufferDeviceAddressCreateInfoEXT> { using Type = BufferDeviceAddressCreateInfoEXT; }; // wrapper struct for struct VkBufferDeviceAddressInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBufferDeviceAddressInfo.html struct BufferDeviceAddressInfo { using NativeType = VkBufferDeviceAddressInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferDeviceAddressInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BufferDeviceAddressInfo( Buffer buffer_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , buffer{ buffer_ } { } VULKAN_HPP_CONSTEXPR BufferDeviceAddressInfo( BufferDeviceAddressInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; BufferDeviceAddressInfo( VkBufferDeviceAddressInfo const & rhs ) VULKAN_HPP_NOEXCEPT : BufferDeviceAddressInfo( *reinterpret_cast<BufferDeviceAddressInfo const *>( &rhs ) ) { } BufferDeviceAddressInfo & operator=( BufferDeviceAddressInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BufferDeviceAddressInfo & operator=( VkBufferDeviceAddressInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BufferDeviceAddressInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BufferDeviceAddressInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferDeviceAddressInfo & setBuffer( Buffer buffer_ ) VULKAN_HPP_NOEXCEPT { buffer = buffer_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBufferDeviceAddressInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBufferDeviceAddressInfo *>( this ); } operator VkBufferDeviceAddressInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBufferDeviceAddressInfo *>( this ); } operator VkBufferDeviceAddressInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBufferDeviceAddressInfo *>( this ); } operator VkBufferDeviceAddressInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBufferDeviceAddressInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Buffer const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, buffer ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BufferDeviceAddressInfo const & ) const = default; #else bool operator==( BufferDeviceAddressInfo 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 ) && ( buffer == rhs.buffer ); # endif } bool operator!=( BufferDeviceAddressInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eBufferDeviceAddressInfo; const void * pNext = {}; Buffer buffer = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBufferDeviceAddressInfo> { using Type = BufferDeviceAddressInfo; }; #endif template <> struct CppType<StructureType, StructureType::eBufferDeviceAddressInfo> { using Type = BufferDeviceAddressInfo; }; using BufferDeviceAddressInfoEXT = BufferDeviceAddressInfo; using BufferDeviceAddressInfoKHR = BufferDeviceAddressInfo; // wrapper struct for struct VkBufferImageCopy, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBufferImageCopy.html struct BufferImageCopy { using NativeType = VkBufferImageCopy; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BufferImageCopy( DeviceSize bufferOffset_ = {}, uint32_t bufferRowLength_ = {}, uint32_t bufferImageHeight_ = {}, ImageSubresourceLayers imageSubresource_ = {}, Offset3D imageOffset_ = {}, Extent3D imageExtent_ = {} ) VULKAN_HPP_NOEXCEPT : bufferOffset{ bufferOffset_ } , bufferRowLength{ bufferRowLength_ } , bufferImageHeight{ bufferImageHeight_ } , imageSubresource{ imageSubresource_ } , imageOffset{ imageOffset_ } , imageExtent{ imageExtent_ } { } VULKAN_HPP_CONSTEXPR BufferImageCopy( BufferImageCopy const & rhs ) VULKAN_HPP_NOEXCEPT = default; BufferImageCopy( VkBufferImageCopy const & rhs ) VULKAN_HPP_NOEXCEPT : BufferImageCopy( *reinterpret_cast<BufferImageCopy const *>( &rhs ) ) {} BufferImageCopy & operator=( BufferImageCopy const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BufferImageCopy & operator=( VkBufferImageCopy const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BufferImageCopy const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BufferImageCopy & setBufferOffset( DeviceSize bufferOffset_ ) VULKAN_HPP_NOEXCEPT { bufferOffset = bufferOffset_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferImageCopy & setBufferRowLength( uint32_t bufferRowLength_ ) VULKAN_HPP_NOEXCEPT { bufferRowLength = bufferRowLength_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferImageCopy & setBufferImageHeight( uint32_t bufferImageHeight_ ) VULKAN_HPP_NOEXCEPT { bufferImageHeight = bufferImageHeight_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferImageCopy & setImageSubresource( ImageSubresourceLayers const & imageSubresource_ ) VULKAN_HPP_NOEXCEPT { imageSubresource = imageSubresource_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferImageCopy & setImageOffset( Offset3D const & imageOffset_ ) VULKAN_HPP_NOEXCEPT { imageOffset = imageOffset_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferImageCopy & setImageExtent( Extent3D const & imageExtent_ ) VULKAN_HPP_NOEXCEPT { imageExtent = imageExtent_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBufferImageCopy const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBufferImageCopy *>( this ); } operator VkBufferImageCopy &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBufferImageCopy *>( this ); } operator VkBufferImageCopy const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBufferImageCopy *>( this ); } operator VkBufferImageCopy *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBufferImageCopy *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<DeviceSize const &, uint32_t const &, uint32_t const &, ImageSubresourceLayers const &, Offset3D const &, Extent3D const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( bufferOffset, bufferRowLength, bufferImageHeight, imageSubresource, imageOffset, imageExtent ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BufferImageCopy const & ) const = default; #else bool operator==( BufferImageCopy const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( bufferOffset == rhs.bufferOffset ) && ( bufferRowLength == rhs.bufferRowLength ) && ( bufferImageHeight == rhs.bufferImageHeight ) && ( imageSubresource == rhs.imageSubresource ) && ( imageOffset == rhs.imageOffset ) && ( imageExtent == rhs.imageExtent ); # endif } bool operator!=( BufferImageCopy const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: DeviceSize bufferOffset = {}; uint32_t bufferRowLength = {}; uint32_t bufferImageHeight = {}; ImageSubresourceLayers imageSubresource = {}; Offset3D imageOffset = {}; Extent3D imageExtent = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBufferImageCopy> { using Type = BufferImageCopy; }; #endif // wrapper struct for struct VkBufferImageCopy2, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBufferImageCopy2.html struct BufferImageCopy2 { using NativeType = VkBufferImageCopy2; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferImageCopy2; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BufferImageCopy2( DeviceSize bufferOffset_ = {}, uint32_t bufferRowLength_ = {}, uint32_t bufferImageHeight_ = {}, ImageSubresourceLayers imageSubresource_ = {}, Offset3D imageOffset_ = {}, Extent3D imageExtent_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , bufferOffset{ bufferOffset_ } , bufferRowLength{ bufferRowLength_ } , bufferImageHeight{ bufferImageHeight_ } , imageSubresource{ imageSubresource_ } , imageOffset{ imageOffset_ } , imageExtent{ imageExtent_ } { } VULKAN_HPP_CONSTEXPR BufferImageCopy2( BufferImageCopy2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; BufferImageCopy2( VkBufferImageCopy2 const & rhs ) VULKAN_HPP_NOEXCEPT : BufferImageCopy2( *reinterpret_cast<BufferImageCopy2 const *>( &rhs ) ) {} BufferImageCopy2 & operator=( BufferImageCopy2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BufferImageCopy2 & operator=( VkBufferImageCopy2 const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BufferImageCopy2 const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BufferImageCopy2 & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferImageCopy2 & setBufferOffset( DeviceSize bufferOffset_ ) VULKAN_HPP_NOEXCEPT { bufferOffset = bufferOffset_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferImageCopy2 & setBufferRowLength( uint32_t bufferRowLength_ ) VULKAN_HPP_NOEXCEPT { bufferRowLength = bufferRowLength_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferImageCopy2 & setBufferImageHeight( uint32_t bufferImageHeight_ ) VULKAN_HPP_NOEXCEPT { bufferImageHeight = bufferImageHeight_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferImageCopy2 & setImageSubresource( ImageSubresourceLayers const & imageSubresource_ ) VULKAN_HPP_NOEXCEPT { imageSubresource = imageSubresource_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferImageCopy2 & setImageOffset( Offset3D const & imageOffset_ ) VULKAN_HPP_NOEXCEPT { imageOffset = imageOffset_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferImageCopy2 & setImageExtent( Extent3D const & imageExtent_ ) VULKAN_HPP_NOEXCEPT { imageExtent = imageExtent_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBufferImageCopy2 const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBufferImageCopy2 *>( this ); } operator VkBufferImageCopy2 &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBufferImageCopy2 *>( this ); } operator VkBufferImageCopy2 const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBufferImageCopy2 *>( this ); } operator VkBufferImageCopy2 *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBufferImageCopy2 *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DeviceSize const &, uint32_t const &, uint32_t const &, ImageSubresourceLayers const &, Offset3D const &, Extent3D const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, bufferOffset, bufferRowLength, bufferImageHeight, imageSubresource, imageOffset, imageExtent ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BufferImageCopy2 const & ) const = default; #else bool operator==( BufferImageCopy2 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 ) && ( bufferOffset == rhs.bufferOffset ) && ( bufferRowLength == rhs.bufferRowLength ) && ( bufferImageHeight == rhs.bufferImageHeight ) && ( imageSubresource == rhs.imageSubresource ) && ( imageOffset == rhs.imageOffset ) && ( imageExtent == rhs.imageExtent ); # endif } bool operator!=( BufferImageCopy2 const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eBufferImageCopy2; const void * pNext = {}; DeviceSize bufferOffset = {}; uint32_t bufferRowLength = {}; uint32_t bufferImageHeight = {}; ImageSubresourceLayers imageSubresource = {}; Offset3D imageOffset = {}; Extent3D imageExtent = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBufferImageCopy2> { using Type = BufferImageCopy2; }; #endif template <> struct CppType<StructureType, StructureType::eBufferImageCopy2> { using Type = BufferImageCopy2; }; using BufferImageCopy2KHR = BufferImageCopy2; // wrapper struct for struct VkBufferMemoryBarrier, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBufferMemoryBarrier.html struct BufferMemoryBarrier { using NativeType = VkBufferMemoryBarrier; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferMemoryBarrier; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BufferMemoryBarrier( AccessFlags srcAccessMask_ = {}, AccessFlags dstAccessMask_ = {}, uint32_t srcQueueFamilyIndex_ = {}, uint32_t dstQueueFamilyIndex_ = {}, Buffer buffer_ = {}, DeviceSize offset_ = {}, DeviceSize size_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , srcAccessMask{ srcAccessMask_ } , dstAccessMask{ dstAccessMask_ } , srcQueueFamilyIndex{ srcQueueFamilyIndex_ } , dstQueueFamilyIndex{ dstQueueFamilyIndex_ } , buffer{ buffer_ } , offset{ offset_ } , size{ size_ } { } VULKAN_HPP_CONSTEXPR BufferMemoryBarrier( BufferMemoryBarrier const & rhs ) VULKAN_HPP_NOEXCEPT = default; BufferMemoryBarrier( VkBufferMemoryBarrier const & rhs ) VULKAN_HPP_NOEXCEPT : BufferMemoryBarrier( *reinterpret_cast<BufferMemoryBarrier const *>( &rhs ) ) { } BufferMemoryBarrier & operator=( BufferMemoryBarrier const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BufferMemoryBarrier & operator=( VkBufferMemoryBarrier const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BufferMemoryBarrier const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier & setSrcAccessMask( AccessFlags srcAccessMask_ ) VULKAN_HPP_NOEXCEPT { srcAccessMask = srcAccessMask_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier & setDstAccessMask( AccessFlags dstAccessMask_ ) VULKAN_HPP_NOEXCEPT { dstAccessMask = dstAccessMask_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier & setSrcQueueFamilyIndex( uint32_t srcQueueFamilyIndex_ ) VULKAN_HPP_NOEXCEPT { srcQueueFamilyIndex = srcQueueFamilyIndex_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier & setDstQueueFamilyIndex( uint32_t dstQueueFamilyIndex_ ) VULKAN_HPP_NOEXCEPT { dstQueueFamilyIndex = dstQueueFamilyIndex_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier & setBuffer( Buffer buffer_ ) VULKAN_HPP_NOEXCEPT { buffer = buffer_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier & setOffset( DeviceSize offset_ ) VULKAN_HPP_NOEXCEPT { offset = offset_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier & setSize( DeviceSize size_ ) VULKAN_HPP_NOEXCEPT { size = size_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBufferMemoryBarrier const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBufferMemoryBarrier *>( this ); } operator VkBufferMemoryBarrier &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBufferMemoryBarrier *>( this ); } operator VkBufferMemoryBarrier const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBufferMemoryBarrier *>( this ); } operator VkBufferMemoryBarrier *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBufferMemoryBarrier *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, AccessFlags const &, AccessFlags const &, uint32_t const &, uint32_t const &, Buffer const &, DeviceSize const &, DeviceSize const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, srcAccessMask, dstAccessMask, srcQueueFamilyIndex, dstQueueFamilyIndex, buffer, offset, size ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BufferMemoryBarrier const & ) const = default; #else bool operator==( BufferMemoryBarrier 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 ) && ( srcAccessMask == rhs.srcAccessMask ) && ( dstAccessMask == rhs.dstAccessMask ) && ( srcQueueFamilyIndex == rhs.srcQueueFamilyIndex ) && ( dstQueueFamilyIndex == rhs.dstQueueFamilyIndex ) && ( buffer == rhs.buffer ) && ( offset == rhs.offset ) && ( size == rhs.size ); # endif } bool operator!=( BufferMemoryBarrier const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eBufferMemoryBarrier; const void * pNext = {}; AccessFlags srcAccessMask = {}; AccessFlags dstAccessMask = {}; uint32_t srcQueueFamilyIndex = {}; uint32_t dstQueueFamilyIndex = {}; Buffer buffer = {}; DeviceSize offset = {}; DeviceSize size = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBufferMemoryBarrier> { using Type = BufferMemoryBarrier; }; #endif template <> struct CppType<StructureType, StructureType::eBufferMemoryBarrier> { using Type = BufferMemoryBarrier; }; // wrapper struct for struct VkBufferMemoryBarrier2, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBufferMemoryBarrier2.html struct BufferMemoryBarrier2 { using NativeType = VkBufferMemoryBarrier2; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferMemoryBarrier2; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BufferMemoryBarrier2( PipelineStageFlags2 srcStageMask_ = {}, AccessFlags2 srcAccessMask_ = {}, PipelineStageFlags2 dstStageMask_ = {}, AccessFlags2 dstAccessMask_ = {}, uint32_t srcQueueFamilyIndex_ = {}, uint32_t dstQueueFamilyIndex_ = {}, Buffer buffer_ = {}, DeviceSize offset_ = {}, DeviceSize size_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , srcStageMask{ srcStageMask_ } , srcAccessMask{ srcAccessMask_ } , dstStageMask{ dstStageMask_ } , dstAccessMask{ dstAccessMask_ } , srcQueueFamilyIndex{ srcQueueFamilyIndex_ } , dstQueueFamilyIndex{ dstQueueFamilyIndex_ } , buffer{ buffer_ } , offset{ offset_ } , size{ size_ } { } VULKAN_HPP_CONSTEXPR BufferMemoryBarrier2( BufferMemoryBarrier2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; BufferMemoryBarrier2( VkBufferMemoryBarrier2 const & rhs ) VULKAN_HPP_NOEXCEPT : BufferMemoryBarrier2( *reinterpret_cast<BufferMemoryBarrier2 const *>( &rhs ) ) { } BufferMemoryBarrier2 & operator=( BufferMemoryBarrier2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BufferMemoryBarrier2 & operator=( VkBufferMemoryBarrier2 const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BufferMemoryBarrier2 const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier2 & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier2 & setSrcStageMask( PipelineStageFlags2 srcStageMask_ ) VULKAN_HPP_NOEXCEPT { srcStageMask = srcStageMask_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier2 & setSrcAccessMask( AccessFlags2 srcAccessMask_ ) VULKAN_HPP_NOEXCEPT { srcAccessMask = srcAccessMask_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier2 & setDstStageMask( PipelineStageFlags2 dstStageMask_ ) VULKAN_HPP_NOEXCEPT { dstStageMask = dstStageMask_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier2 & setDstAccessMask( AccessFlags2 dstAccessMask_ ) VULKAN_HPP_NOEXCEPT { dstAccessMask = dstAccessMask_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier2 & setSrcQueueFamilyIndex( uint32_t srcQueueFamilyIndex_ ) VULKAN_HPP_NOEXCEPT { srcQueueFamilyIndex = srcQueueFamilyIndex_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier2 & setDstQueueFamilyIndex( uint32_t dstQueueFamilyIndex_ ) VULKAN_HPP_NOEXCEPT { dstQueueFamilyIndex = dstQueueFamilyIndex_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier2 & setBuffer( Buffer buffer_ ) VULKAN_HPP_NOEXCEPT { buffer = buffer_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier2 & setOffset( DeviceSize offset_ ) VULKAN_HPP_NOEXCEPT { offset = offset_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier2 & setSize( DeviceSize size_ ) VULKAN_HPP_NOEXCEPT { size = size_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBufferMemoryBarrier2 const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBufferMemoryBarrier2 *>( this ); } operator VkBufferMemoryBarrier2 &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBufferMemoryBarrier2 *>( this ); } operator VkBufferMemoryBarrier2 const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBufferMemoryBarrier2 *>( this ); } operator VkBufferMemoryBarrier2 *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBufferMemoryBarrier2 *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, PipelineStageFlags2 const &, AccessFlags2 const &, PipelineStageFlags2 const &, AccessFlags2 const &, uint32_t const &, uint32_t const &, Buffer const &, DeviceSize const &, DeviceSize const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, srcStageMask, srcAccessMask, dstStageMask, dstAccessMask, srcQueueFamilyIndex, dstQueueFamilyIndex, buffer, offset, size ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BufferMemoryBarrier2 const & ) const = default; #else bool operator==( BufferMemoryBarrier2 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 ) && ( srcStageMask == rhs.srcStageMask ) && ( srcAccessMask == rhs.srcAccessMask ) && ( dstStageMask == rhs.dstStageMask ) && ( dstAccessMask == rhs.dstAccessMask ) && ( srcQueueFamilyIndex == rhs.srcQueueFamilyIndex ) && ( dstQueueFamilyIndex == rhs.dstQueueFamilyIndex ) && ( buffer == rhs.buffer ) && ( offset == rhs.offset ) && ( size == rhs.size ); # endif } bool operator!=( BufferMemoryBarrier2 const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eBufferMemoryBarrier2; const void * pNext = {}; PipelineStageFlags2 srcStageMask = {}; AccessFlags2 srcAccessMask = {}; PipelineStageFlags2 dstStageMask = {}; AccessFlags2 dstAccessMask = {}; uint32_t srcQueueFamilyIndex = {}; uint32_t dstQueueFamilyIndex = {}; Buffer buffer = {}; DeviceSize offset = {}; DeviceSize size = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBufferMemoryBarrier2> { using Type = BufferMemoryBarrier2; }; #endif template <> struct CppType<StructureType, StructureType::eBufferMemoryBarrier2> { using Type = BufferMemoryBarrier2; }; using BufferMemoryBarrier2KHR = BufferMemoryBarrier2; // wrapper struct for struct VkBufferMemoryRequirementsInfo2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkBufferMemoryRequirementsInfo2.html struct BufferMemoryRequirementsInfo2 { using NativeType = VkBufferMemoryRequirementsInfo2; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferMemoryRequirementsInfo2; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BufferMemoryRequirementsInfo2( Buffer buffer_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , buffer{ buffer_ } { } VULKAN_HPP_CONSTEXPR BufferMemoryRequirementsInfo2( BufferMemoryRequirementsInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; BufferMemoryRequirementsInfo2( VkBufferMemoryRequirementsInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT : BufferMemoryRequirementsInfo2( *reinterpret_cast<BufferMemoryRequirementsInfo2 const *>( &rhs ) ) { } BufferMemoryRequirementsInfo2 & operator=( BufferMemoryRequirementsInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BufferMemoryRequirementsInfo2 & operator=( VkBufferMemoryRequirementsInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BufferMemoryRequirementsInfo2 const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BufferMemoryRequirementsInfo2 & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferMemoryRequirementsInfo2 & setBuffer( Buffer buffer_ ) VULKAN_HPP_NOEXCEPT { buffer = buffer_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBufferMemoryRequirementsInfo2 const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>( this ); } operator VkBufferMemoryRequirementsInfo2 &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBufferMemoryRequirementsInfo2 *>( this ); } operator VkBufferMemoryRequirementsInfo2 const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>( this ); } operator VkBufferMemoryRequirementsInfo2 *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBufferMemoryRequirementsInfo2 *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Buffer const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, buffer ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BufferMemoryRequirementsInfo2 const & ) const = default; #else bool operator==( BufferMemoryRequirementsInfo2 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 ) && ( buffer == rhs.buffer ); # endif } bool operator!=( BufferMemoryRequirementsInfo2 const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eBufferMemoryRequirementsInfo2; const void * pNext = {}; Buffer buffer = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBufferMemoryRequirementsInfo2> { using Type = BufferMemoryRequirementsInfo2; }; #endif template <> struct CppType<StructureType, StructureType::eBufferMemoryRequirementsInfo2> { using Type = BufferMemoryRequirementsInfo2; }; using BufferMemoryRequirementsInfo2KHR = BufferMemoryRequirementsInfo2; // wrapper struct for struct VkBufferOpaqueCaptureAddressCreateInfo, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkBufferOpaqueCaptureAddressCreateInfo.html struct BufferOpaqueCaptureAddressCreateInfo { using NativeType = VkBufferOpaqueCaptureAddressCreateInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferOpaqueCaptureAddressCreateInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BufferOpaqueCaptureAddressCreateInfo( uint64_t opaqueCaptureAddress_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , opaqueCaptureAddress{ opaqueCaptureAddress_ } { } VULKAN_HPP_CONSTEXPR BufferOpaqueCaptureAddressCreateInfo( BufferOpaqueCaptureAddressCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; BufferOpaqueCaptureAddressCreateInfo( VkBufferOpaqueCaptureAddressCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : BufferOpaqueCaptureAddressCreateInfo( *reinterpret_cast<BufferOpaqueCaptureAddressCreateInfo const *>( &rhs ) ) { } BufferOpaqueCaptureAddressCreateInfo & operator=( BufferOpaqueCaptureAddressCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BufferOpaqueCaptureAddressCreateInfo & operator=( VkBufferOpaqueCaptureAddressCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BufferOpaqueCaptureAddressCreateInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BufferOpaqueCaptureAddressCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferOpaqueCaptureAddressCreateInfo & setOpaqueCaptureAddress( uint64_t opaqueCaptureAddress_ ) VULKAN_HPP_NOEXCEPT { opaqueCaptureAddress = opaqueCaptureAddress_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBufferOpaqueCaptureAddressCreateInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBufferOpaqueCaptureAddressCreateInfo *>( this ); } operator VkBufferOpaqueCaptureAddressCreateInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBufferOpaqueCaptureAddressCreateInfo *>( this ); } operator VkBufferOpaqueCaptureAddressCreateInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBufferOpaqueCaptureAddressCreateInfo *>( this ); } operator VkBufferOpaqueCaptureAddressCreateInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBufferOpaqueCaptureAddressCreateInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, uint64_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, opaqueCaptureAddress ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BufferOpaqueCaptureAddressCreateInfo const & ) const = default; #else bool operator==( BufferOpaqueCaptureAddressCreateInfo 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 ) && ( opaqueCaptureAddress == rhs.opaqueCaptureAddress ); # endif } bool operator!=( BufferOpaqueCaptureAddressCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eBufferOpaqueCaptureAddressCreateInfo; const void * pNext = {}; uint64_t opaqueCaptureAddress = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBufferOpaqueCaptureAddressCreateInfo> { using Type = BufferOpaqueCaptureAddressCreateInfo; }; #endif template <> struct CppType<StructureType, StructureType::eBufferOpaqueCaptureAddressCreateInfo> { using Type = BufferOpaqueCaptureAddressCreateInfo; }; using BufferOpaqueCaptureAddressCreateInfoKHR = BufferOpaqueCaptureAddressCreateInfo; // wrapper struct for struct VkBufferUsageFlags2CreateInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBufferUsageFlags2CreateInfo.html struct BufferUsageFlags2CreateInfo { using NativeType = VkBufferUsageFlags2CreateInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferUsageFlags2CreateInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BufferUsageFlags2CreateInfo( BufferUsageFlags2 usage_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , usage{ usage_ } { } VULKAN_HPP_CONSTEXPR BufferUsageFlags2CreateInfo( BufferUsageFlags2CreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; BufferUsageFlags2CreateInfo( VkBufferUsageFlags2CreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : BufferUsageFlags2CreateInfo( *reinterpret_cast<BufferUsageFlags2CreateInfo const *>( &rhs ) ) { } BufferUsageFlags2CreateInfo & operator=( BufferUsageFlags2CreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BufferUsageFlags2CreateInfo & operator=( VkBufferUsageFlags2CreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BufferUsageFlags2CreateInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BufferUsageFlags2CreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferUsageFlags2CreateInfo & setUsage( BufferUsageFlags2 usage_ ) VULKAN_HPP_NOEXCEPT { usage = usage_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBufferUsageFlags2CreateInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBufferUsageFlags2CreateInfo *>( this ); } operator VkBufferUsageFlags2CreateInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBufferUsageFlags2CreateInfo *>( this ); } operator VkBufferUsageFlags2CreateInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBufferUsageFlags2CreateInfo *>( this ); } operator VkBufferUsageFlags2CreateInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBufferUsageFlags2CreateInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, BufferUsageFlags2 const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, usage ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BufferUsageFlags2CreateInfo const & ) const = default; #else bool operator==( BufferUsageFlags2CreateInfo 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 ) && ( usage == rhs.usage ); # endif } bool operator!=( BufferUsageFlags2CreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eBufferUsageFlags2CreateInfo; const void * pNext = {}; BufferUsageFlags2 usage = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBufferUsageFlags2CreateInfo> { using Type = BufferUsageFlags2CreateInfo; }; #endif template <> struct CppType<StructureType, StructureType::eBufferUsageFlags2CreateInfo> { using Type = BufferUsageFlags2CreateInfo; }; using BufferUsageFlags2CreateInfoKHR = BufferUsageFlags2CreateInfo; // wrapper struct for struct VkBufferViewCreateInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBufferViewCreateInfo.html struct BufferViewCreateInfo { using NativeType = VkBufferViewCreateInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferViewCreateInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BufferViewCreateInfo( BufferViewCreateFlags flags_ = {}, Buffer buffer_ = {}, Format format_ = Format::eUndefined, DeviceSize offset_ = {}, DeviceSize range_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , buffer{ buffer_ } , format{ format_ } , offset{ offset_ } , range{ range_ } { } VULKAN_HPP_CONSTEXPR BufferViewCreateInfo( BufferViewCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; BufferViewCreateInfo( VkBufferViewCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : BufferViewCreateInfo( *reinterpret_cast<BufferViewCreateInfo const *>( &rhs ) ) { } BufferViewCreateInfo & operator=( BufferViewCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BufferViewCreateInfo & operator=( VkBufferViewCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BufferViewCreateInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BufferViewCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferViewCreateInfo & setFlags( BufferViewCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferViewCreateInfo & setBuffer( Buffer buffer_ ) VULKAN_HPP_NOEXCEPT { buffer = buffer_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferViewCreateInfo & setFormat( Format format_ ) VULKAN_HPP_NOEXCEPT { format = format_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferViewCreateInfo & setOffset( DeviceSize offset_ ) VULKAN_HPP_NOEXCEPT { offset = offset_; return *this; } VULKAN_HPP_CONSTEXPR_14 BufferViewCreateInfo & setRange( DeviceSize range_ ) VULKAN_HPP_NOEXCEPT { range = range_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBufferViewCreateInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBufferViewCreateInfo *>( this ); } operator VkBufferViewCreateInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBufferViewCreateInfo *>( this ); } operator VkBufferViewCreateInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBufferViewCreateInfo *>( this ); } operator VkBufferViewCreateInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBufferViewCreateInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std:: tuple<StructureType const &, const void * const &, BufferViewCreateFlags const &, Buffer const &, Format const &, DeviceSize const &, DeviceSize const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, buffer, format, offset, range ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BufferViewCreateInfo const & ) const = default; #else bool operator==( BufferViewCreateInfo 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 ) && ( flags == rhs.flags ) && ( buffer == rhs.buffer ) && ( format == rhs.format ) && ( offset == rhs.offset ) && ( range == rhs.range ); # endif } bool operator!=( BufferViewCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eBufferViewCreateInfo; const void * pNext = {}; BufferViewCreateFlags flags = {}; Buffer buffer = {}; Format format = Format::eUndefined; DeviceSize offset = {}; DeviceSize range = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBufferViewCreateInfo> { using Type = BufferViewCreateInfo; }; #endif template <> struct CppType<StructureType, StructureType::eBufferViewCreateInfo> { using Type = BufferViewCreateInfo; }; // wrapper struct for struct VkStridedDeviceAddressNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkStridedDeviceAddressNV.html struct StridedDeviceAddressNV { using NativeType = VkStridedDeviceAddressNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR StridedDeviceAddressNV( DeviceAddress startAddress_ = {}, DeviceSize strideInBytes_ = {} ) VULKAN_HPP_NOEXCEPT : startAddress{ startAddress_ } , strideInBytes{ strideInBytes_ } { } VULKAN_HPP_CONSTEXPR StridedDeviceAddressNV( StridedDeviceAddressNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; StridedDeviceAddressNV( VkStridedDeviceAddressNV const & rhs ) VULKAN_HPP_NOEXCEPT : StridedDeviceAddressNV( *reinterpret_cast<StridedDeviceAddressNV const *>( &rhs ) ) { } StridedDeviceAddressNV & operator=( StridedDeviceAddressNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ StridedDeviceAddressNV & operator=( VkStridedDeviceAddressNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<StridedDeviceAddressNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 StridedDeviceAddressNV & setStartAddress( DeviceAddress startAddress_ ) VULKAN_HPP_NOEXCEPT { startAddress = startAddress_; return *this; } VULKAN_HPP_CONSTEXPR_14 StridedDeviceAddressNV & setStrideInBytes( DeviceSize strideInBytes_ ) VULKAN_HPP_NOEXCEPT { strideInBytes = strideInBytes_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkStridedDeviceAddressNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkStridedDeviceAddressNV *>( this ); } operator VkStridedDeviceAddressNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkStridedDeviceAddressNV *>( this ); } operator VkStridedDeviceAddressNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkStridedDeviceAddressNV *>( this ); } operator VkStridedDeviceAddressNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkStridedDeviceAddressNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<DeviceAddress const &, DeviceSize const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( startAddress, strideInBytes ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( StridedDeviceAddressNV const & ) const = default; #else bool operator==( StridedDeviceAddressNV const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( startAddress == rhs.startAddress ) && ( strideInBytes == rhs.strideInBytes ); # endif } bool operator!=( StridedDeviceAddressNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: DeviceAddress startAddress = {}; DeviceSize strideInBytes = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkStridedDeviceAddressNV> { using Type = StridedDeviceAddressNV; }; #endif // wrapper struct for struct VkBuildPartitionedAccelerationStructureIndirectCommandNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkBuildPartitionedAccelerationStructureIndirectCommandNV.html struct BuildPartitionedAccelerationStructureIndirectCommandNV { using NativeType = VkBuildPartitionedAccelerationStructureIndirectCommandNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BuildPartitionedAccelerationStructureIndirectCommandNV( PartitionedAccelerationStructureOpTypeNV opType_ = PartitionedAccelerationStructureOpTypeNV::eWriteInstance, uint32_t argCount_ = {}, StridedDeviceAddressNV argData_ = {} ) VULKAN_HPP_NOEXCEPT : opType{ opType_ } , argCount{ argCount_ } , argData{ argData_ } { } VULKAN_HPP_CONSTEXPR BuildPartitionedAccelerationStructureIndirectCommandNV( BuildPartitionedAccelerationStructureIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; BuildPartitionedAccelerationStructureIndirectCommandNV( VkBuildPartitionedAccelerationStructureIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT : BuildPartitionedAccelerationStructureIndirectCommandNV( *reinterpret_cast<BuildPartitionedAccelerationStructureIndirectCommandNV const *>( &rhs ) ) { } BuildPartitionedAccelerationStructureIndirectCommandNV & operator=( BuildPartitionedAccelerationStructureIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BuildPartitionedAccelerationStructureIndirectCommandNV & operator=( VkBuildPartitionedAccelerationStructureIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BuildPartitionedAccelerationStructureIndirectCommandNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BuildPartitionedAccelerationStructureIndirectCommandNV & setOpType( PartitionedAccelerationStructureOpTypeNV opType_ ) VULKAN_HPP_NOEXCEPT { opType = opType_; return *this; } VULKAN_HPP_CONSTEXPR_14 BuildPartitionedAccelerationStructureIndirectCommandNV & setArgCount( uint32_t argCount_ ) VULKAN_HPP_NOEXCEPT { argCount = argCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 BuildPartitionedAccelerationStructureIndirectCommandNV & setArgData( StridedDeviceAddressNV const & argData_ ) VULKAN_HPP_NOEXCEPT { argData = argData_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBuildPartitionedAccelerationStructureIndirectCommandNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBuildPartitionedAccelerationStructureIndirectCommandNV *>( this ); } operator VkBuildPartitionedAccelerationStructureIndirectCommandNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBuildPartitionedAccelerationStructureIndirectCommandNV *>( this ); } operator VkBuildPartitionedAccelerationStructureIndirectCommandNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBuildPartitionedAccelerationStructureIndirectCommandNV *>( this ); } operator VkBuildPartitionedAccelerationStructureIndirectCommandNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBuildPartitionedAccelerationStructureIndirectCommandNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<PartitionedAccelerationStructureOpTypeNV const &, uint32_t const &, StridedDeviceAddressNV const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( opType, argCount, argData ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BuildPartitionedAccelerationStructureIndirectCommandNV const & ) const = default; #else bool operator==( BuildPartitionedAccelerationStructureIndirectCommandNV const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( opType == rhs.opType ) && ( argCount == rhs.argCount ) && ( argData == rhs.argData ); # endif } bool operator!=( BuildPartitionedAccelerationStructureIndirectCommandNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: PartitionedAccelerationStructureOpTypeNV opType = PartitionedAccelerationStructureOpTypeNV::eWriteInstance; uint32_t argCount = {}; StridedDeviceAddressNV argData = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBuildPartitionedAccelerationStructureIndirectCommandNV> { using Type = BuildPartitionedAccelerationStructureIndirectCommandNV; }; #endif // wrapper struct for struct VkPartitionedAccelerationStructureInstancesInputNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPartitionedAccelerationStructureInstancesInputNV.html struct PartitionedAccelerationStructureInstancesInputNV { using NativeType = VkPartitionedAccelerationStructureInstancesInputNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePartitionedAccelerationStructureInstancesInputNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR PartitionedAccelerationStructureInstancesInputNV( BuildAccelerationStructureFlagsKHR flags_ = {}, uint32_t instanceCount_ = {}, uint32_t maxInstancePerPartitionCount_ = {}, uint32_t partitionCount_ = {}, uint32_t maxInstanceInGlobalPartitionCount_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , instanceCount{ instanceCount_ } , maxInstancePerPartitionCount{ maxInstancePerPartitionCount_ } , partitionCount{ partitionCount_ } , maxInstanceInGlobalPartitionCount{ maxInstanceInGlobalPartitionCount_ } { } VULKAN_HPP_CONSTEXPR PartitionedAccelerationStructureInstancesInputNV( PartitionedAccelerationStructureInstancesInputNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; PartitionedAccelerationStructureInstancesInputNV( VkPartitionedAccelerationStructureInstancesInputNV const & rhs ) VULKAN_HPP_NOEXCEPT : PartitionedAccelerationStructureInstancesInputNV( *reinterpret_cast<PartitionedAccelerationStructureInstancesInputNV const *>( &rhs ) ) { } PartitionedAccelerationStructureInstancesInputNV & operator=( PartitionedAccelerationStructureInstancesInputNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ PartitionedAccelerationStructureInstancesInputNV & operator=( VkPartitionedAccelerationStructureInstancesInputNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<PartitionedAccelerationStructureInstancesInputNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 PartitionedAccelerationStructureInstancesInputNV & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 PartitionedAccelerationStructureInstancesInputNV & setFlags( BuildAccelerationStructureFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 PartitionedAccelerationStructureInstancesInputNV & setInstanceCount( uint32_t instanceCount_ ) VULKAN_HPP_NOEXCEPT { instanceCount = instanceCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 PartitionedAccelerationStructureInstancesInputNV & setMaxInstancePerPartitionCount( uint32_t maxInstancePerPartitionCount_ ) VULKAN_HPP_NOEXCEPT { maxInstancePerPartitionCount = maxInstancePerPartitionCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 PartitionedAccelerationStructureInstancesInputNV & setPartitionCount( uint32_t partitionCount_ ) VULKAN_HPP_NOEXCEPT { partitionCount = partitionCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 PartitionedAccelerationStructureInstancesInputNV & setMaxInstanceInGlobalPartitionCount( uint32_t maxInstanceInGlobalPartitionCount_ ) VULKAN_HPP_NOEXCEPT { maxInstanceInGlobalPartitionCount = maxInstanceInGlobalPartitionCount_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkPartitionedAccelerationStructureInstancesInputNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkPartitionedAccelerationStructureInstancesInputNV *>( this ); } operator VkPartitionedAccelerationStructureInstancesInputNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkPartitionedAccelerationStructureInstancesInputNV *>( this ); } operator VkPartitionedAccelerationStructureInstancesInputNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkPartitionedAccelerationStructureInstancesInputNV *>( this ); } operator VkPartitionedAccelerationStructureInstancesInputNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkPartitionedAccelerationStructureInstancesInputNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, BuildAccelerationStructureFlagsKHR const &, uint32_t const &, uint32_t const &, uint32_t const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, instanceCount, maxInstancePerPartitionCount, partitionCount, maxInstanceInGlobalPartitionCount ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( PartitionedAccelerationStructureInstancesInputNV const & ) const = default; #else bool operator==( PartitionedAccelerationStructureInstancesInputNV 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 ) && ( flags == rhs.flags ) && ( instanceCount == rhs.instanceCount ) && ( maxInstancePerPartitionCount == rhs.maxInstancePerPartitionCount ) && ( partitionCount == rhs.partitionCount ) && ( maxInstanceInGlobalPartitionCount == rhs.maxInstanceInGlobalPartitionCount ); # endif } bool operator!=( PartitionedAccelerationStructureInstancesInputNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::ePartitionedAccelerationStructureInstancesInputNV; void * pNext = {}; BuildAccelerationStructureFlagsKHR flags = {}; uint32_t instanceCount = {}; uint32_t maxInstancePerPartitionCount = {}; uint32_t partitionCount = {}; uint32_t maxInstanceInGlobalPartitionCount = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkPartitionedAccelerationStructureInstancesInputNV> { using Type = PartitionedAccelerationStructureInstancesInputNV; }; #endif template <> struct CppType<StructureType, StructureType::ePartitionedAccelerationStructureInstancesInputNV> { using Type = PartitionedAccelerationStructureInstancesInputNV; }; // wrapper struct for struct VkBuildPartitionedAccelerationStructureInfoNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkBuildPartitionedAccelerationStructureInfoNV.html struct BuildPartitionedAccelerationStructureInfoNV { using NativeType = VkBuildPartitionedAccelerationStructureInfoNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBuildPartitionedAccelerationStructureInfoNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR BuildPartitionedAccelerationStructureInfoNV( PartitionedAccelerationStructureInstancesInputNV input_ = {}, DeviceAddress srcAccelerationStructureData_ = {}, DeviceAddress dstAccelerationStructureData_ = {}, DeviceAddress scratchData_ = {}, DeviceAddress srcInfos_ = {}, DeviceAddress srcInfosCount_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , input{ input_ } , srcAccelerationStructureData{ srcAccelerationStructureData_ } , dstAccelerationStructureData{ dstAccelerationStructureData_ } , scratchData{ scratchData_ } , srcInfos{ srcInfos_ } , srcInfosCount{ srcInfosCount_ } { } VULKAN_HPP_CONSTEXPR BuildPartitionedAccelerationStructureInfoNV( BuildPartitionedAccelerationStructureInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; BuildPartitionedAccelerationStructureInfoNV( VkBuildPartitionedAccelerationStructureInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT : BuildPartitionedAccelerationStructureInfoNV( *reinterpret_cast<BuildPartitionedAccelerationStructureInfoNV const *>( &rhs ) ) { } BuildPartitionedAccelerationStructureInfoNV & operator=( BuildPartitionedAccelerationStructureInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ BuildPartitionedAccelerationStructureInfoNV & operator=( VkBuildPartitionedAccelerationStructureInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<BuildPartitionedAccelerationStructureInfoNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 BuildPartitionedAccelerationStructureInfoNV & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 BuildPartitionedAccelerationStructureInfoNV & setInput( PartitionedAccelerationStructureInstancesInputNV const & input_ ) VULKAN_HPP_NOEXCEPT { input = input_; return *this; } VULKAN_HPP_CONSTEXPR_14 BuildPartitionedAccelerationStructureInfoNV & setSrcAccelerationStructureData( DeviceAddress srcAccelerationStructureData_ ) VULKAN_HPP_NOEXCEPT { srcAccelerationStructureData = srcAccelerationStructureData_; return *this; } VULKAN_HPP_CONSTEXPR_14 BuildPartitionedAccelerationStructureInfoNV & setDstAccelerationStructureData( DeviceAddress dstAccelerationStructureData_ ) VULKAN_HPP_NOEXCEPT { dstAccelerationStructureData = dstAccelerationStructureData_; return *this; } VULKAN_HPP_CONSTEXPR_14 BuildPartitionedAccelerationStructureInfoNV & setScratchData( DeviceAddress scratchData_ ) VULKAN_HPP_NOEXCEPT { scratchData = scratchData_; return *this; } VULKAN_HPP_CONSTEXPR_14 BuildPartitionedAccelerationStructureInfoNV & setSrcInfos( DeviceAddress srcInfos_ ) VULKAN_HPP_NOEXCEPT { srcInfos = srcInfos_; return *this; } VULKAN_HPP_CONSTEXPR_14 BuildPartitionedAccelerationStructureInfoNV & setSrcInfosCount( DeviceAddress srcInfosCount_ ) VULKAN_HPP_NOEXCEPT { srcInfosCount = srcInfosCount_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkBuildPartitionedAccelerationStructureInfoNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkBuildPartitionedAccelerationStructureInfoNV *>( this ); } operator VkBuildPartitionedAccelerationStructureInfoNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkBuildPartitionedAccelerationStructureInfoNV *>( this ); } operator VkBuildPartitionedAccelerationStructureInfoNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkBuildPartitionedAccelerationStructureInfoNV *>( this ); } operator VkBuildPartitionedAccelerationStructureInfoNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkBuildPartitionedAccelerationStructureInfoNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, PartitionedAccelerationStructureInstancesInputNV const &, DeviceAddress const &, DeviceAddress const &, DeviceAddress const &, DeviceAddress const &, DeviceAddress const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, input, srcAccelerationStructureData, dstAccelerationStructureData, scratchData, srcInfos, srcInfosCount ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( BuildPartitionedAccelerationStructureInfoNV const & ) const = default; #else bool operator==( BuildPartitionedAccelerationStructureInfoNV 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 ) && ( input == rhs.input ) && ( srcAccelerationStructureData == rhs.srcAccelerationStructureData ) && ( dstAccelerationStructureData == rhs.dstAccelerationStructureData ) && ( scratchData == rhs.scratchData ) && ( srcInfos == rhs.srcInfos ) && ( srcInfosCount == rhs.srcInfosCount ); # endif } bool operator!=( BuildPartitionedAccelerationStructureInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eBuildPartitionedAccelerationStructureInfoNV; void * pNext = {}; PartitionedAccelerationStructureInstancesInputNV input = {}; DeviceAddress srcAccelerationStructureData = {}; DeviceAddress dstAccelerationStructureData = {}; DeviceAddress scratchData = {}; DeviceAddress srcInfos = {}; DeviceAddress srcInfosCount = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkBuildPartitionedAccelerationStructureInfoNV> { using Type = BuildPartitionedAccelerationStructureInfoNV; }; #endif template <> struct CppType<StructureType, StructureType::eBuildPartitionedAccelerationStructureInfoNV> { using Type = BuildPartitionedAccelerationStructureInfoNV; }; // wrapper struct for struct VkCalibratedTimestampInfoKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCalibratedTimestampInfoKHR.html struct CalibratedTimestampInfoKHR { using NativeType = VkCalibratedTimestampInfoKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCalibratedTimestampInfoKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CalibratedTimestampInfoKHR( TimeDomainKHR timeDomain_ = TimeDomainKHR::eDevice, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , timeDomain{ timeDomain_ } { } VULKAN_HPP_CONSTEXPR CalibratedTimestampInfoKHR( CalibratedTimestampInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; CalibratedTimestampInfoKHR( VkCalibratedTimestampInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : CalibratedTimestampInfoKHR( *reinterpret_cast<CalibratedTimestampInfoKHR const *>( &rhs ) ) { } CalibratedTimestampInfoKHR & operator=( CalibratedTimestampInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CalibratedTimestampInfoKHR & operator=( VkCalibratedTimestampInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CalibratedTimestampInfoKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CalibratedTimestampInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CalibratedTimestampInfoKHR & setTimeDomain( TimeDomainKHR timeDomain_ ) VULKAN_HPP_NOEXCEPT { timeDomain = timeDomain_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCalibratedTimestampInfoKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCalibratedTimestampInfoKHR *>( this ); } operator VkCalibratedTimestampInfoKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCalibratedTimestampInfoKHR *>( this ); } operator VkCalibratedTimestampInfoKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCalibratedTimestampInfoKHR *>( this ); } operator VkCalibratedTimestampInfoKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCalibratedTimestampInfoKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, TimeDomainKHR const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, timeDomain ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CalibratedTimestampInfoKHR const & ) const = default; #else bool operator==( CalibratedTimestampInfoKHR 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 ) && ( timeDomain == rhs.timeDomain ); # endif } bool operator!=( CalibratedTimestampInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eCalibratedTimestampInfoKHR; const void * pNext = {}; TimeDomainKHR timeDomain = TimeDomainKHR::eDevice; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCalibratedTimestampInfoKHR> { using Type = CalibratedTimestampInfoKHR; }; #endif template <> struct CppType<StructureType, StructureType::eCalibratedTimestampInfoKHR> { using Type = CalibratedTimestampInfoKHR; }; using CalibratedTimestampInfoEXT = CalibratedTimestampInfoKHR; // wrapper struct for struct VkCheckpointData2NV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCheckpointData2NV.html struct CheckpointData2NV { using NativeType = VkCheckpointData2NV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCheckpointData2NV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CheckpointData2NV( PipelineStageFlags2 stage_ = {}, void * pCheckpointMarker_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , stage{ stage_ } , pCheckpointMarker{ pCheckpointMarker_ } { } VULKAN_HPP_CONSTEXPR CheckpointData2NV( CheckpointData2NV const & rhs ) VULKAN_HPP_NOEXCEPT = default; CheckpointData2NV( VkCheckpointData2NV const & rhs ) VULKAN_HPP_NOEXCEPT : CheckpointData2NV( *reinterpret_cast<CheckpointData2NV const *>( &rhs ) ) {} CheckpointData2NV & operator=( CheckpointData2NV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CheckpointData2NV & operator=( VkCheckpointData2NV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CheckpointData2NV const *>( &rhs ); return *this; } operator VkCheckpointData2NV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCheckpointData2NV *>( this ); } operator VkCheckpointData2NV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCheckpointData2NV *>( this ); } operator VkCheckpointData2NV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCheckpointData2NV *>( this ); } operator VkCheckpointData2NV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCheckpointData2NV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, PipelineStageFlags2 const &, void * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, stage, pCheckpointMarker ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CheckpointData2NV const & ) const = default; #else bool operator==( CheckpointData2NV 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 ) && ( stage == rhs.stage ) && ( pCheckpointMarker == rhs.pCheckpointMarker ); # endif } bool operator!=( CheckpointData2NV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eCheckpointData2NV; void * pNext = {}; PipelineStageFlags2 stage = {}; void * pCheckpointMarker = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCheckpointData2NV> { using Type = CheckpointData2NV; }; #endif template <> struct CppType<StructureType, StructureType::eCheckpointData2NV> { using Type = CheckpointData2NV; }; // wrapper struct for struct VkCheckpointDataNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCheckpointDataNV.html struct CheckpointDataNV { using NativeType = VkCheckpointDataNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCheckpointDataNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CheckpointDataNV( PipelineStageFlagBits stage_ = PipelineStageFlagBits::eTopOfPipe, void * pCheckpointMarker_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , stage{ stage_ } , pCheckpointMarker{ pCheckpointMarker_ } { } VULKAN_HPP_CONSTEXPR CheckpointDataNV( CheckpointDataNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; CheckpointDataNV( VkCheckpointDataNV const & rhs ) VULKAN_HPP_NOEXCEPT : CheckpointDataNV( *reinterpret_cast<CheckpointDataNV const *>( &rhs ) ) {} CheckpointDataNV & operator=( CheckpointDataNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CheckpointDataNV & operator=( VkCheckpointDataNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CheckpointDataNV const *>( &rhs ); return *this; } operator VkCheckpointDataNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCheckpointDataNV *>( this ); } operator VkCheckpointDataNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCheckpointDataNV *>( this ); } operator VkCheckpointDataNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCheckpointDataNV *>( this ); } operator VkCheckpointDataNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCheckpointDataNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, PipelineStageFlagBits const &, void * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, stage, pCheckpointMarker ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CheckpointDataNV const & ) const = default; #else bool operator==( CheckpointDataNV 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 ) && ( stage == rhs.stage ) && ( pCheckpointMarker == rhs.pCheckpointMarker ); # endif } bool operator!=( CheckpointDataNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eCheckpointDataNV; void * pNext = {}; PipelineStageFlagBits stage = PipelineStageFlagBits::eTopOfPipe; void * pCheckpointMarker = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCheckpointDataNV> { using Type = CheckpointDataNV; }; #endif template <> struct CppType<StructureType, StructureType::eCheckpointDataNV> { using Type = CheckpointDataNV; }; union ClearColorValue { using NativeType = VkClearColorValue; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_UNION_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 ClearColorValue( const std::array<float, 4> & float32_ = {} ) : float32( float32_ ) {} VULKAN_HPP_CONSTEXPR ClearColorValue( float float32_0, float float32_1, float float32_2, float float32_3 ) : float32{ { { float32_0, float32_1, float32_2, float32_3 } } } { } VULKAN_HPP_CONSTEXPR_14 ClearColorValue( const std::array<int32_t, 4> & int32_ ) : int32( int32_ ) {} VULKAN_HPP_CONSTEXPR ClearColorValue( int32_t int32_0, int32_t int32_1, int32_t int32_2, int32_t int32_3 ) : int32{ { { int32_0, int32_1, int32_2, int32_3 } } } { } VULKAN_HPP_CONSTEXPR_14 ClearColorValue( const std::array<uint32_t, 4> & uint32_ ) : uint32( uint32_ ) {} VULKAN_HPP_CONSTEXPR ClearColorValue( uint32_t uint32_0, uint32_t uint32_1, uint32_t uint32_2, uint32_t uint32_3 ) : uint32{ { { uint32_0, uint32_1, uint32_2, uint32_3 } } } { } #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_UNION_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ClearColorValue & setFloat32( std::array<float, 4> float32_ ) VULKAN_HPP_NOEXCEPT { float32 = float32_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClearColorValue & setInt32( std::array<int32_t, 4> int32_ ) VULKAN_HPP_NOEXCEPT { int32 = int32_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClearColorValue & setUint32( std::array<uint32_t, 4> uint32_ ) VULKAN_HPP_NOEXCEPT { uint32 = uint32_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkClearColorValue const &() const { return *reinterpret_cast<const VkClearColorValue *>( this ); } operator VkClearColorValue &() { return *reinterpret_cast<VkClearColorValue *>( this ); } ArrayWrapper1D<float, 4> float32; ArrayWrapper1D<int32_t, 4> int32; ArrayWrapper1D<uint32_t, 4> uint32; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkClearColorValue> { using Type = ClearColorValue; }; #endif // wrapper struct for struct VkClearDepthStencilValue, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkClearDepthStencilValue.html struct ClearDepthStencilValue { using NativeType = VkClearDepthStencilValue; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ClearDepthStencilValue( float depth_ = {}, uint32_t stencil_ = {} ) VULKAN_HPP_NOEXCEPT : depth{ depth_ } , stencil{ stencil_ } { } VULKAN_HPP_CONSTEXPR ClearDepthStencilValue( ClearDepthStencilValue const & rhs ) VULKAN_HPP_NOEXCEPT = default; ClearDepthStencilValue( VkClearDepthStencilValue const & rhs ) VULKAN_HPP_NOEXCEPT : ClearDepthStencilValue( *reinterpret_cast<ClearDepthStencilValue const *>( &rhs ) ) { } ClearDepthStencilValue & operator=( ClearDepthStencilValue const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ClearDepthStencilValue & operator=( VkClearDepthStencilValue const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ClearDepthStencilValue const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ClearDepthStencilValue & setDepth( float depth_ ) VULKAN_HPP_NOEXCEPT { depth = depth_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClearDepthStencilValue & setStencil( uint32_t stencil_ ) VULKAN_HPP_NOEXCEPT { stencil = stencil_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkClearDepthStencilValue const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkClearDepthStencilValue *>( this ); } operator VkClearDepthStencilValue &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkClearDepthStencilValue *>( this ); } operator VkClearDepthStencilValue const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkClearDepthStencilValue *>( this ); } operator VkClearDepthStencilValue *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkClearDepthStencilValue *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<float const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( depth, stencil ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ClearDepthStencilValue const & ) const = default; #else bool operator==( ClearDepthStencilValue const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( depth == rhs.depth ) && ( stencil == rhs.stencil ); # endif } bool operator!=( ClearDepthStencilValue const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: float depth = {}; uint32_t stencil = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkClearDepthStencilValue> { using Type = ClearDepthStencilValue; }; #endif union ClearValue { using NativeType = VkClearValue; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_UNION_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 ClearValue( ClearColorValue color_ = {} ) : color( color_ ) {} VULKAN_HPP_CONSTEXPR_14 ClearValue( ClearDepthStencilValue depthStencil_ ) : depthStencil( depthStencil_ ) {} #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_UNION_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ClearValue & setColor( ClearColorValue const & color_ ) VULKAN_HPP_NOEXCEPT { color = color_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClearValue & setDepthStencil( ClearDepthStencilValue const & depthStencil_ ) VULKAN_HPP_NOEXCEPT { depthStencil = depthStencil_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkClearValue const &() const { return *reinterpret_cast<const VkClearValue *>( this ); } operator VkClearValue &() { return *reinterpret_cast<VkClearValue *>( this ); } #ifdef VULKAN_HPP_HAS_UNRESTRICTED_UNIONS ClearColorValue color; ClearDepthStencilValue depthStencil; #else VkClearColorValue color; VkClearDepthStencilValue depthStencil; #endif /*VULKAN_HPP_HAS_UNRESTRICTED_UNIONS*/ }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkClearValue> { using Type = ClearValue; }; #endif // wrapper struct for struct VkClearAttachment, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkClearAttachment.html struct ClearAttachment { using NativeType = VkClearAttachment; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 ClearAttachment( ImageAspectFlags aspectMask_ = {}, uint32_t colorAttachment_ = {}, ClearValue clearValue_ = {} ) VULKAN_HPP_NOEXCEPT : aspectMask{ aspectMask_ } , colorAttachment{ colorAttachment_ } , clearValue{ clearValue_ } { } VULKAN_HPP_CONSTEXPR_14 ClearAttachment( ClearAttachment const & rhs ) VULKAN_HPP_NOEXCEPT = default; ClearAttachment( VkClearAttachment const & rhs ) VULKAN_HPP_NOEXCEPT : ClearAttachment( *reinterpret_cast<ClearAttachment const *>( &rhs ) ) {} ClearAttachment & operator=( ClearAttachment const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ClearAttachment & operator=( VkClearAttachment const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ClearAttachment const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ClearAttachment & setAspectMask( ImageAspectFlags aspectMask_ ) VULKAN_HPP_NOEXCEPT { aspectMask = aspectMask_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClearAttachment & setColorAttachment( uint32_t colorAttachment_ ) VULKAN_HPP_NOEXCEPT { colorAttachment = colorAttachment_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClearAttachment & setClearValue( ClearValue const & clearValue_ ) VULKAN_HPP_NOEXCEPT { clearValue = clearValue_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkClearAttachment const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkClearAttachment *>( this ); } operator VkClearAttachment &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkClearAttachment *>( this ); } operator VkClearAttachment const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkClearAttachment *>( this ); } operator VkClearAttachment *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkClearAttachment *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<ImageAspectFlags const &, uint32_t const &, ClearValue const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( aspectMask, colorAttachment, clearValue ); } #endif public: ImageAspectFlags aspectMask = {}; uint32_t colorAttachment = {}; ClearValue clearValue = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkClearAttachment> { using Type = ClearAttachment; }; #endif // wrapper struct for struct VkClearRect, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkClearRect.html struct ClearRect { using NativeType = VkClearRect; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ClearRect( Rect2D rect_ = {}, uint32_t baseArrayLayer_ = {}, uint32_t layerCount_ = {} ) VULKAN_HPP_NOEXCEPT : rect{ rect_ } , baseArrayLayer{ baseArrayLayer_ } , layerCount{ layerCount_ } { } VULKAN_HPP_CONSTEXPR ClearRect( ClearRect const & rhs ) VULKAN_HPP_NOEXCEPT = default; ClearRect( VkClearRect const & rhs ) VULKAN_HPP_NOEXCEPT : ClearRect( *reinterpret_cast<ClearRect const *>( &rhs ) ) {} ClearRect & operator=( ClearRect const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ClearRect & operator=( VkClearRect const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ClearRect const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ClearRect & setRect( Rect2D const & rect_ ) VULKAN_HPP_NOEXCEPT { rect = rect_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClearRect & setBaseArrayLayer( uint32_t baseArrayLayer_ ) VULKAN_HPP_NOEXCEPT { baseArrayLayer = baseArrayLayer_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClearRect & setLayerCount( uint32_t layerCount_ ) VULKAN_HPP_NOEXCEPT { layerCount = layerCount_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkClearRect const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkClearRect *>( this ); } operator VkClearRect &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkClearRect *>( this ); } operator VkClearRect const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkClearRect *>( this ); } operator VkClearRect *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkClearRect *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<Rect2D const &, uint32_t const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( rect, baseArrayLayer, layerCount ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ClearRect const & ) const = default; #else bool operator==( ClearRect const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( rect == rhs.rect ) && ( baseArrayLayer == rhs.baseArrayLayer ) && ( layerCount == rhs.layerCount ); # endif } bool operator!=( ClearRect const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: Rect2D rect = {}; uint32_t baseArrayLayer = {}; uint32_t layerCount = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkClearRect> { using Type = ClearRect; }; #endif // wrapper struct for struct VkClusterAccelerationStructureBuildClustersBottomLevelInfoNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkClusterAccelerationStructureBuildClustersBottomLevelInfoNV.html struct ClusterAccelerationStructureBuildClustersBottomLevelInfoNV { using NativeType = VkClusterAccelerationStructureBuildClustersBottomLevelInfoNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ClusterAccelerationStructureBuildClustersBottomLevelInfoNV( uint32_t clusterReferencesCount_ = {}, uint32_t clusterReferencesStride_ = {}, DeviceAddress clusterReferences_ = {} ) VULKAN_HPP_NOEXCEPT : clusterReferencesCount{ clusterReferencesCount_ } , clusterReferencesStride{ clusterReferencesStride_ } , clusterReferences{ clusterReferences_ } { } VULKAN_HPP_CONSTEXPR ClusterAccelerationStructureBuildClustersBottomLevelInfoNV( ClusterAccelerationStructureBuildClustersBottomLevelInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; ClusterAccelerationStructureBuildClustersBottomLevelInfoNV( VkClusterAccelerationStructureBuildClustersBottomLevelInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT : ClusterAccelerationStructureBuildClustersBottomLevelInfoNV( *reinterpret_cast<ClusterAccelerationStructureBuildClustersBottomLevelInfoNV const *>( &rhs ) ) { } ClusterAccelerationStructureBuildClustersBottomLevelInfoNV & operator=( ClusterAccelerationStructureBuildClustersBottomLevelInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ClusterAccelerationStructureBuildClustersBottomLevelInfoNV & operator=( VkClusterAccelerationStructureBuildClustersBottomLevelInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ClusterAccelerationStructureBuildClustersBottomLevelInfoNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildClustersBottomLevelInfoNV & setClusterReferencesCount( uint32_t clusterReferencesCount_ ) VULKAN_HPP_NOEXCEPT { clusterReferencesCount = clusterReferencesCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildClustersBottomLevelInfoNV & setClusterReferencesStride( uint32_t clusterReferencesStride_ ) VULKAN_HPP_NOEXCEPT { clusterReferencesStride = clusterReferencesStride_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildClustersBottomLevelInfoNV & setClusterReferences( DeviceAddress clusterReferences_ ) VULKAN_HPP_NOEXCEPT { clusterReferences = clusterReferences_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkClusterAccelerationStructureBuildClustersBottomLevelInfoNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkClusterAccelerationStructureBuildClustersBottomLevelInfoNV *>( this ); } operator VkClusterAccelerationStructureBuildClustersBottomLevelInfoNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkClusterAccelerationStructureBuildClustersBottomLevelInfoNV *>( this ); } operator VkClusterAccelerationStructureBuildClustersBottomLevelInfoNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkClusterAccelerationStructureBuildClustersBottomLevelInfoNV *>( this ); } operator VkClusterAccelerationStructureBuildClustersBottomLevelInfoNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkClusterAccelerationStructureBuildClustersBottomLevelInfoNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<uint32_t const &, uint32_t const &, DeviceAddress const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( clusterReferencesCount, clusterReferencesStride, clusterReferences ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ClusterAccelerationStructureBuildClustersBottomLevelInfoNV const & ) const = default; #else bool operator==( ClusterAccelerationStructureBuildClustersBottomLevelInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( clusterReferencesCount == rhs.clusterReferencesCount ) && ( clusterReferencesStride == rhs.clusterReferencesStride ) && ( clusterReferences == rhs.clusterReferences ); # endif } bool operator!=( ClusterAccelerationStructureBuildClustersBottomLevelInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: uint32_t clusterReferencesCount = {}; uint32_t clusterReferencesStride = {}; DeviceAddress clusterReferences = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkClusterAccelerationStructureBuildClustersBottomLevelInfoNV> { using Type = ClusterAccelerationStructureBuildClustersBottomLevelInfoNV; }; #endif // wrapper struct for struct VkClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV.html struct ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV { using NativeType = VkClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV( uint32_t geometryIndex_ = {}, uint32_t reserved_ = {}, uint32_t geometryFlags_ = {} ) VULKAN_HPP_NOEXCEPT : geometryIndex{ geometryIndex_ } , reserved{ reserved_ } , geometryFlags{ geometryFlags_ } { } VULKAN_HPP_CONSTEXPR ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV( ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV( VkClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV const & rhs ) VULKAN_HPP_NOEXCEPT : ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV( *reinterpret_cast<ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV const *>( &rhs ) ) { } ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV & operator=( ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV & operator=( VkClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV & setGeometryIndex( uint32_t geometryIndex_ ) VULKAN_HPP_NOEXCEPT { geometryIndex = geometryIndex_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV & setReserved( uint32_t reserved_ ) VULKAN_HPP_NOEXCEPT { reserved = reserved_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV & setGeometryFlags( uint32_t geometryFlags_ ) VULKAN_HPP_NOEXCEPT { geometryFlags = geometryFlags_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV *>( this ); } operator VkClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV *>( this ); } operator VkClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV *>( this ); } operator VkClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<uint32_t const &, uint32_t const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( geometryIndex, reserved, geometryFlags ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV const & ) const = default; #else bool operator==( ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( geometryIndex == rhs.geometryIndex ) && ( reserved == rhs.reserved ) && ( geometryFlags == rhs.geometryFlags ); # endif } bool operator!=( ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: uint32_t geometryIndex : 24; uint32_t reserved : 5; uint32_t geometryFlags : 3; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV> { using Type = ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV; }; #endif // wrapper struct for struct VkClusterAccelerationStructureBuildTriangleClusterInfoNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkClusterAccelerationStructureBuildTriangleClusterInfoNV.html struct ClusterAccelerationStructureBuildTriangleClusterInfoNV { using NativeType = VkClusterAccelerationStructureBuildTriangleClusterInfoNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ClusterAccelerationStructureBuildTriangleClusterInfoNV( uint32_t clusterID_ = {}, ClusterAccelerationStructureClusterFlagsNV clusterFlags_ = {}, uint32_t triangleCount_ = {}, uint32_t vertexCount_ = {}, uint32_t positionTruncateBitCount_ = {}, uint32_t indexType_ = {}, uint32_t opacityMicromapIndexType_ = {}, ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV baseGeometryIndexAndGeometryFlags_ = {}, uint16_t indexBufferStride_ = {}, uint16_t vertexBufferStride_ = {}, uint16_t geometryIndexAndFlagsBufferStride_ = {}, uint16_t opacityMicromapIndexBufferStride_ = {}, DeviceAddress indexBuffer_ = {}, DeviceAddress vertexBuffer_ = {}, DeviceAddress geometryIndexAndFlagsBuffer_ = {}, DeviceAddress opacityMicromapArray_ = {}, DeviceAddress opacityMicromapIndexBuffer_ = {} ) VULKAN_HPP_NOEXCEPT : clusterID{ clusterID_ } , clusterFlags{ clusterFlags_ } , triangleCount{ triangleCount_ } , vertexCount{ vertexCount_ } , positionTruncateBitCount{ positionTruncateBitCount_ } , indexType{ indexType_ } , opacityMicromapIndexType{ opacityMicromapIndexType_ } , baseGeometryIndexAndGeometryFlags{ baseGeometryIndexAndGeometryFlags_ } , indexBufferStride{ indexBufferStride_ } , vertexBufferStride{ vertexBufferStride_ } , geometryIndexAndFlagsBufferStride{ geometryIndexAndFlagsBufferStride_ } , opacityMicromapIndexBufferStride{ opacityMicromapIndexBufferStride_ } , indexBuffer{ indexBuffer_ } , vertexBuffer{ vertexBuffer_ } , geometryIndexAndFlagsBuffer{ geometryIndexAndFlagsBuffer_ } , opacityMicromapArray{ opacityMicromapArray_ } , opacityMicromapIndexBuffer{ opacityMicromapIndexBuffer_ } { } VULKAN_HPP_CONSTEXPR ClusterAccelerationStructureBuildTriangleClusterInfoNV( ClusterAccelerationStructureBuildTriangleClusterInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; ClusterAccelerationStructureBuildTriangleClusterInfoNV( VkClusterAccelerationStructureBuildTriangleClusterInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT : ClusterAccelerationStructureBuildTriangleClusterInfoNV( *reinterpret_cast<ClusterAccelerationStructureBuildTriangleClusterInfoNV const *>( &rhs ) ) { } ClusterAccelerationStructureBuildTriangleClusterInfoNV & operator=( ClusterAccelerationStructureBuildTriangleClusterInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ClusterAccelerationStructureBuildTriangleClusterInfoNV & operator=( VkClusterAccelerationStructureBuildTriangleClusterInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ClusterAccelerationStructureBuildTriangleClusterInfoNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterInfoNV & setClusterID( uint32_t clusterID_ ) VULKAN_HPP_NOEXCEPT { clusterID = clusterID_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterInfoNV & setClusterFlags( ClusterAccelerationStructureClusterFlagsNV clusterFlags_ ) VULKAN_HPP_NOEXCEPT { clusterFlags = clusterFlags_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterInfoNV & setTriangleCount( uint32_t triangleCount_ ) VULKAN_HPP_NOEXCEPT { triangleCount = triangleCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterInfoNV & setVertexCount( uint32_t vertexCount_ ) VULKAN_HPP_NOEXCEPT { vertexCount = vertexCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterInfoNV & setPositionTruncateBitCount( uint32_t positionTruncateBitCount_ ) VULKAN_HPP_NOEXCEPT { positionTruncateBitCount = positionTruncateBitCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterInfoNV & setIndexType( uint32_t indexType_ ) VULKAN_HPP_NOEXCEPT { indexType = indexType_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterInfoNV & setOpacityMicromapIndexType( uint32_t opacityMicromapIndexType_ ) VULKAN_HPP_NOEXCEPT { opacityMicromapIndexType = opacityMicromapIndexType_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterInfoNV & setBaseGeometryIndexAndGeometryFlags( ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV const & baseGeometryIndexAndGeometryFlags_ ) VULKAN_HPP_NOEXCEPT { baseGeometryIndexAndGeometryFlags = baseGeometryIndexAndGeometryFlags_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterInfoNV & setIndexBufferStride( uint16_t indexBufferStride_ ) VULKAN_HPP_NOEXCEPT { indexBufferStride = indexBufferStride_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterInfoNV & setVertexBufferStride( uint16_t vertexBufferStride_ ) VULKAN_HPP_NOEXCEPT { vertexBufferStride = vertexBufferStride_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterInfoNV & setGeometryIndexAndFlagsBufferStride( uint16_t geometryIndexAndFlagsBufferStride_ ) VULKAN_HPP_NOEXCEPT { geometryIndexAndFlagsBufferStride = geometryIndexAndFlagsBufferStride_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterInfoNV & setOpacityMicromapIndexBufferStride( uint16_t opacityMicromapIndexBufferStride_ ) VULKAN_HPP_NOEXCEPT { opacityMicromapIndexBufferStride = opacityMicromapIndexBufferStride_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterInfoNV & setIndexBuffer( DeviceAddress indexBuffer_ ) VULKAN_HPP_NOEXCEPT { indexBuffer = indexBuffer_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterInfoNV & setVertexBuffer( DeviceAddress vertexBuffer_ ) VULKAN_HPP_NOEXCEPT { vertexBuffer = vertexBuffer_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterInfoNV & setGeometryIndexAndFlagsBuffer( DeviceAddress geometryIndexAndFlagsBuffer_ ) VULKAN_HPP_NOEXCEPT { geometryIndexAndFlagsBuffer = geometryIndexAndFlagsBuffer_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterInfoNV & setOpacityMicromapArray( DeviceAddress opacityMicromapArray_ ) VULKAN_HPP_NOEXCEPT { opacityMicromapArray = opacityMicromapArray_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterInfoNV & setOpacityMicromapIndexBuffer( DeviceAddress opacityMicromapIndexBuffer_ ) VULKAN_HPP_NOEXCEPT { opacityMicromapIndexBuffer = opacityMicromapIndexBuffer_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkClusterAccelerationStructureBuildTriangleClusterInfoNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkClusterAccelerationStructureBuildTriangleClusterInfoNV *>( this ); } operator VkClusterAccelerationStructureBuildTriangleClusterInfoNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkClusterAccelerationStructureBuildTriangleClusterInfoNV *>( this ); } operator VkClusterAccelerationStructureBuildTriangleClusterInfoNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkClusterAccelerationStructureBuildTriangleClusterInfoNV *>( this ); } operator VkClusterAccelerationStructureBuildTriangleClusterInfoNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkClusterAccelerationStructureBuildTriangleClusterInfoNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<uint32_t const &, ClusterAccelerationStructureClusterFlagsNV const &, uint32_t const &, uint32_t const &, uint32_t const &, uint32_t const &, uint32_t const &, ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV const &, uint16_t const &, uint16_t const &, uint16_t const &, uint16_t const &, DeviceAddress const &, DeviceAddress const &, DeviceAddress const &, DeviceAddress const &, DeviceAddress const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( clusterID, clusterFlags, triangleCount, vertexCount, positionTruncateBitCount, indexType, opacityMicromapIndexType, baseGeometryIndexAndGeometryFlags, indexBufferStride, vertexBufferStride, geometryIndexAndFlagsBufferStride, opacityMicromapIndexBufferStride, indexBuffer, vertexBuffer, geometryIndexAndFlagsBuffer, opacityMicromapArray, opacityMicromapIndexBuffer ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ClusterAccelerationStructureBuildTriangleClusterInfoNV const & ) const = default; #else bool operator==( ClusterAccelerationStructureBuildTriangleClusterInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( clusterID == rhs.clusterID ) && ( clusterFlags == rhs.clusterFlags ) && ( triangleCount == rhs.triangleCount ) && ( vertexCount == rhs.vertexCount ) && ( positionTruncateBitCount == rhs.positionTruncateBitCount ) && ( indexType == rhs.indexType ) && ( opacityMicromapIndexType == rhs.opacityMicromapIndexType ) && ( baseGeometryIndexAndGeometryFlags == rhs.baseGeometryIndexAndGeometryFlags ) && ( indexBufferStride == rhs.indexBufferStride ) && ( vertexBufferStride == rhs.vertexBufferStride ) && ( geometryIndexAndFlagsBufferStride == rhs.geometryIndexAndFlagsBufferStride ) && ( opacityMicromapIndexBufferStride == rhs.opacityMicromapIndexBufferStride ) && ( indexBuffer == rhs.indexBuffer ) && ( vertexBuffer == rhs.vertexBuffer ) && ( geometryIndexAndFlagsBuffer == rhs.geometryIndexAndFlagsBuffer ) && ( opacityMicromapArray == rhs.opacityMicromapArray ) && ( opacityMicromapIndexBuffer == rhs.opacityMicromapIndexBuffer ); # endif } bool operator!=( ClusterAccelerationStructureBuildTriangleClusterInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: uint32_t clusterID = {}; ClusterAccelerationStructureClusterFlagsNV clusterFlags = {}; uint32_t triangleCount : 9; uint32_t vertexCount : 9; uint32_t positionTruncateBitCount : 6; uint32_t indexType : 4; uint32_t opacityMicromapIndexType : 4; ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV baseGeometryIndexAndGeometryFlags = {}; uint16_t indexBufferStride = {}; uint16_t vertexBufferStride = {}; uint16_t geometryIndexAndFlagsBufferStride = {}; uint16_t opacityMicromapIndexBufferStride = {}; DeviceAddress indexBuffer = {}; DeviceAddress vertexBuffer = {}; DeviceAddress geometryIndexAndFlagsBuffer = {}; DeviceAddress opacityMicromapArray = {}; DeviceAddress opacityMicromapIndexBuffer = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkClusterAccelerationStructureBuildTriangleClusterInfoNV> { using Type = ClusterAccelerationStructureBuildTriangleClusterInfoNV; }; #endif // wrapper struct for struct VkClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV.html struct ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV { using NativeType = VkClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV( uint32_t clusterID_ = {}, ClusterAccelerationStructureClusterFlagsNV clusterFlags_ = {}, uint32_t triangleCount_ = {}, uint32_t vertexCount_ = {}, uint32_t positionTruncateBitCount_ = {}, uint32_t indexType_ = {}, uint32_t opacityMicromapIndexType_ = {}, ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV baseGeometryIndexAndGeometryFlags_ = {}, uint16_t indexBufferStride_ = {}, uint16_t vertexBufferStride_ = {}, uint16_t geometryIndexAndFlagsBufferStride_ = {}, uint16_t opacityMicromapIndexBufferStride_ = {}, DeviceAddress indexBuffer_ = {}, DeviceAddress vertexBuffer_ = {}, DeviceAddress geometryIndexAndFlagsBuffer_ = {}, DeviceAddress opacityMicromapArray_ = {}, DeviceAddress opacityMicromapIndexBuffer_ = {}, DeviceAddress instantiationBoundingBoxLimit_ = {} ) VULKAN_HPP_NOEXCEPT : clusterID{ clusterID_ } , clusterFlags{ clusterFlags_ } , triangleCount{ triangleCount_ } , vertexCount{ vertexCount_ } , positionTruncateBitCount{ positionTruncateBitCount_ } , indexType{ indexType_ } , opacityMicromapIndexType{ opacityMicromapIndexType_ } , baseGeometryIndexAndGeometryFlags{ baseGeometryIndexAndGeometryFlags_ } , indexBufferStride{ indexBufferStride_ } , vertexBufferStride{ vertexBufferStride_ } , geometryIndexAndFlagsBufferStride{ geometryIndexAndFlagsBufferStride_ } , opacityMicromapIndexBufferStride{ opacityMicromapIndexBufferStride_ } , indexBuffer{ indexBuffer_ } , vertexBuffer{ vertexBuffer_ } , geometryIndexAndFlagsBuffer{ geometryIndexAndFlagsBuffer_ } , opacityMicromapArray{ opacityMicromapArray_ } , opacityMicromapIndexBuffer{ opacityMicromapIndexBuffer_ } , instantiationBoundingBoxLimit{ instantiationBoundingBoxLimit_ } { } VULKAN_HPP_CONSTEXPR ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV( ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV( VkClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT : ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV( *reinterpret_cast<ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV const *>( &rhs ) ) { } explicit ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV( ClusterAccelerationStructureBuildTriangleClusterInfoNV const & clusterAccelerationStructureBuildTriangleClusterInfoNV, DeviceAddress instantiationBoundingBoxLimit_ = {} ) : clusterID( clusterAccelerationStructureBuildTriangleClusterInfoNV.clusterID ) , clusterFlags( clusterAccelerationStructureBuildTriangleClusterInfoNV.clusterFlags ) , triangleCount( clusterAccelerationStructureBuildTriangleClusterInfoNV.triangleCount ) , vertexCount( clusterAccelerationStructureBuildTriangleClusterInfoNV.vertexCount ) , positionTruncateBitCount( clusterAccelerationStructureBuildTriangleClusterInfoNV.positionTruncateBitCount ) , indexType( clusterAccelerationStructureBuildTriangleClusterInfoNV.indexType ) , opacityMicromapIndexType( clusterAccelerationStructureBuildTriangleClusterInfoNV.opacityMicromapIndexType ) , baseGeometryIndexAndGeometryFlags( clusterAccelerationStructureBuildTriangleClusterInfoNV.baseGeometryIndexAndGeometryFlags ) , indexBufferStride( clusterAccelerationStructureBuildTriangleClusterInfoNV.indexBufferStride ) , vertexBufferStride( clusterAccelerationStructureBuildTriangleClusterInfoNV.vertexBufferStride ) , geometryIndexAndFlagsBufferStride( clusterAccelerationStructureBuildTriangleClusterInfoNV.geometryIndexAndFlagsBufferStride ) , opacityMicromapIndexBufferStride( clusterAccelerationStructureBuildTriangleClusterInfoNV.opacityMicromapIndexBufferStride ) , indexBuffer( clusterAccelerationStructureBuildTriangleClusterInfoNV.indexBuffer ) , vertexBuffer( clusterAccelerationStructureBuildTriangleClusterInfoNV.vertexBuffer ) , geometryIndexAndFlagsBuffer( clusterAccelerationStructureBuildTriangleClusterInfoNV.geometryIndexAndFlagsBuffer ) , opacityMicromapArray( clusterAccelerationStructureBuildTriangleClusterInfoNV.opacityMicromapArray ) , opacityMicromapIndexBuffer( clusterAccelerationStructureBuildTriangleClusterInfoNV.opacityMicromapIndexBuffer ) , instantiationBoundingBoxLimit( instantiationBoundingBoxLimit_ ) { } ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV & operator=( ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV & operator=( VkClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV & setClusterID( uint32_t clusterID_ ) VULKAN_HPP_NOEXCEPT { clusterID = clusterID_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV & setClusterFlags( ClusterAccelerationStructureClusterFlagsNV clusterFlags_ ) VULKAN_HPP_NOEXCEPT { clusterFlags = clusterFlags_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV & setTriangleCount( uint32_t triangleCount_ ) VULKAN_HPP_NOEXCEPT { triangleCount = triangleCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV & setVertexCount( uint32_t vertexCount_ ) VULKAN_HPP_NOEXCEPT { vertexCount = vertexCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV & setPositionTruncateBitCount( uint32_t positionTruncateBitCount_ ) VULKAN_HPP_NOEXCEPT { positionTruncateBitCount = positionTruncateBitCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV & setIndexType( uint32_t indexType_ ) VULKAN_HPP_NOEXCEPT { indexType = indexType_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV & setOpacityMicromapIndexType( uint32_t opacityMicromapIndexType_ ) VULKAN_HPP_NOEXCEPT { opacityMicromapIndexType = opacityMicromapIndexType_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV & setBaseGeometryIndexAndGeometryFlags( ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV const & baseGeometryIndexAndGeometryFlags_ ) VULKAN_HPP_NOEXCEPT { baseGeometryIndexAndGeometryFlags = baseGeometryIndexAndGeometryFlags_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV & setIndexBufferStride( uint16_t indexBufferStride_ ) VULKAN_HPP_NOEXCEPT { indexBufferStride = indexBufferStride_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV & setVertexBufferStride( uint16_t vertexBufferStride_ ) VULKAN_HPP_NOEXCEPT { vertexBufferStride = vertexBufferStride_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV & setGeometryIndexAndFlagsBufferStride( uint16_t geometryIndexAndFlagsBufferStride_ ) VULKAN_HPP_NOEXCEPT { geometryIndexAndFlagsBufferStride = geometryIndexAndFlagsBufferStride_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV & setOpacityMicromapIndexBufferStride( uint16_t opacityMicromapIndexBufferStride_ ) VULKAN_HPP_NOEXCEPT { opacityMicromapIndexBufferStride = opacityMicromapIndexBufferStride_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV & setIndexBuffer( DeviceAddress indexBuffer_ ) VULKAN_HPP_NOEXCEPT { indexBuffer = indexBuffer_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV & setVertexBuffer( DeviceAddress vertexBuffer_ ) VULKAN_HPP_NOEXCEPT { vertexBuffer = vertexBuffer_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV & setGeometryIndexAndFlagsBuffer( DeviceAddress geometryIndexAndFlagsBuffer_ ) VULKAN_HPP_NOEXCEPT { geometryIndexAndFlagsBuffer = geometryIndexAndFlagsBuffer_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV & setOpacityMicromapArray( DeviceAddress opacityMicromapArray_ ) VULKAN_HPP_NOEXCEPT { opacityMicromapArray = opacityMicromapArray_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV & setOpacityMicromapIndexBuffer( DeviceAddress opacityMicromapIndexBuffer_ ) VULKAN_HPP_NOEXCEPT { opacityMicromapIndexBuffer = opacityMicromapIndexBuffer_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV & setInstantiationBoundingBoxLimit( DeviceAddress instantiationBoundingBoxLimit_ ) VULKAN_HPP_NOEXCEPT { instantiationBoundingBoxLimit = instantiationBoundingBoxLimit_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV *>( this ); } operator VkClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV *>( this ); } operator VkClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV *>( this ); } operator VkClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<uint32_t const &, ClusterAccelerationStructureClusterFlagsNV const &, uint32_t const &, uint32_t const &, uint32_t const &, uint32_t const &, uint32_t const &, ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV const &, uint16_t const &, uint16_t const &, uint16_t const &, uint16_t const &, DeviceAddress const &, DeviceAddress const &, DeviceAddress const &, DeviceAddress const &, DeviceAddress const &, DeviceAddress const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( clusterID, clusterFlags, triangleCount, vertexCount, positionTruncateBitCount, indexType, opacityMicromapIndexType, baseGeometryIndexAndGeometryFlags, indexBufferStride, vertexBufferStride, geometryIndexAndFlagsBufferStride, opacityMicromapIndexBufferStride, indexBuffer, vertexBuffer, geometryIndexAndFlagsBuffer, opacityMicromapArray, opacityMicromapIndexBuffer, instantiationBoundingBoxLimit ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV const & ) const = default; #else bool operator==( ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( clusterID == rhs.clusterID ) && ( clusterFlags == rhs.clusterFlags ) && ( triangleCount == rhs.triangleCount ) && ( vertexCount == rhs.vertexCount ) && ( positionTruncateBitCount == rhs.positionTruncateBitCount ) && ( indexType == rhs.indexType ) && ( opacityMicromapIndexType == rhs.opacityMicromapIndexType ) && ( baseGeometryIndexAndGeometryFlags == rhs.baseGeometryIndexAndGeometryFlags ) && ( indexBufferStride == rhs.indexBufferStride ) && ( vertexBufferStride == rhs.vertexBufferStride ) && ( geometryIndexAndFlagsBufferStride == rhs.geometryIndexAndFlagsBufferStride ) && ( opacityMicromapIndexBufferStride == rhs.opacityMicromapIndexBufferStride ) && ( indexBuffer == rhs.indexBuffer ) && ( vertexBuffer == rhs.vertexBuffer ) && ( geometryIndexAndFlagsBuffer == rhs.geometryIndexAndFlagsBuffer ) && ( opacityMicromapArray == rhs.opacityMicromapArray ) && ( opacityMicromapIndexBuffer == rhs.opacityMicromapIndexBuffer ) && ( instantiationBoundingBoxLimit == rhs.instantiationBoundingBoxLimit ); # endif } bool operator!=( ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: uint32_t clusterID = {}; ClusterAccelerationStructureClusterFlagsNV clusterFlags = {}; uint32_t triangleCount : 9; uint32_t vertexCount : 9; uint32_t positionTruncateBitCount : 6; uint32_t indexType : 4; uint32_t opacityMicromapIndexType : 4; ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV baseGeometryIndexAndGeometryFlags = {}; uint16_t indexBufferStride = {}; uint16_t vertexBufferStride = {}; uint16_t geometryIndexAndFlagsBufferStride = {}; uint16_t opacityMicromapIndexBufferStride = {}; DeviceAddress indexBuffer = {}; DeviceAddress vertexBuffer = {}; DeviceAddress geometryIndexAndFlagsBuffer = {}; DeviceAddress opacityMicromapArray = {}; DeviceAddress opacityMicromapIndexBuffer = {}; DeviceAddress instantiationBoundingBoxLimit = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV> { using Type = ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV; }; #endif // wrapper struct for struct VkClusterAccelerationStructureClustersBottomLevelInputNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkClusterAccelerationStructureClustersBottomLevelInputNV.html struct ClusterAccelerationStructureClustersBottomLevelInputNV { using NativeType = VkClusterAccelerationStructureClustersBottomLevelInputNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eClusterAccelerationStructureClustersBottomLevelInputNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ClusterAccelerationStructureClustersBottomLevelInputNV( uint32_t maxTotalClusterCount_ = {}, uint32_t maxClusterCountPerAccelerationStructure_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , maxTotalClusterCount{ maxTotalClusterCount_ } , maxClusterCountPerAccelerationStructure{ maxClusterCountPerAccelerationStructure_ } { } VULKAN_HPP_CONSTEXPR ClusterAccelerationStructureClustersBottomLevelInputNV( ClusterAccelerationStructureClustersBottomLevelInputNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; ClusterAccelerationStructureClustersBottomLevelInputNV( VkClusterAccelerationStructureClustersBottomLevelInputNV const & rhs ) VULKAN_HPP_NOEXCEPT : ClusterAccelerationStructureClustersBottomLevelInputNV( *reinterpret_cast<ClusterAccelerationStructureClustersBottomLevelInputNV const *>( &rhs ) ) { } ClusterAccelerationStructureClustersBottomLevelInputNV & operator=( ClusterAccelerationStructureClustersBottomLevelInputNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ClusterAccelerationStructureClustersBottomLevelInputNV & operator=( VkClusterAccelerationStructureClustersBottomLevelInputNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ClusterAccelerationStructureClustersBottomLevelInputNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureClustersBottomLevelInputNV & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureClustersBottomLevelInputNV & setMaxTotalClusterCount( uint32_t maxTotalClusterCount_ ) VULKAN_HPP_NOEXCEPT { maxTotalClusterCount = maxTotalClusterCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureClustersBottomLevelInputNV & setMaxClusterCountPerAccelerationStructure( uint32_t maxClusterCountPerAccelerationStructure_ ) VULKAN_HPP_NOEXCEPT { maxClusterCountPerAccelerationStructure = maxClusterCountPerAccelerationStructure_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkClusterAccelerationStructureClustersBottomLevelInputNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkClusterAccelerationStructureClustersBottomLevelInputNV *>( this ); } operator VkClusterAccelerationStructureClustersBottomLevelInputNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkClusterAccelerationStructureClustersBottomLevelInputNV *>( this ); } operator VkClusterAccelerationStructureClustersBottomLevelInputNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkClusterAccelerationStructureClustersBottomLevelInputNV *>( this ); } operator VkClusterAccelerationStructureClustersBottomLevelInputNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkClusterAccelerationStructureClustersBottomLevelInputNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, uint32_t const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, maxTotalClusterCount, maxClusterCountPerAccelerationStructure ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ClusterAccelerationStructureClustersBottomLevelInputNV const & ) const = default; #else bool operator==( ClusterAccelerationStructureClustersBottomLevelInputNV 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 ) && ( maxTotalClusterCount == rhs.maxTotalClusterCount ) && ( maxClusterCountPerAccelerationStructure == rhs.maxClusterCountPerAccelerationStructure ); # endif } bool operator!=( ClusterAccelerationStructureClustersBottomLevelInputNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eClusterAccelerationStructureClustersBottomLevelInputNV; void * pNext = {}; uint32_t maxTotalClusterCount = {}; uint32_t maxClusterCountPerAccelerationStructure = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkClusterAccelerationStructureClustersBottomLevelInputNV> { using Type = ClusterAccelerationStructureClustersBottomLevelInputNV; }; #endif template <> struct CppType<StructureType, StructureType::eClusterAccelerationStructureClustersBottomLevelInputNV> { using Type = ClusterAccelerationStructureClustersBottomLevelInputNV; }; // wrapper struct for struct VkClusterAccelerationStructureTriangleClusterInputNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkClusterAccelerationStructureTriangleClusterInputNV.html struct ClusterAccelerationStructureTriangleClusterInputNV { using NativeType = VkClusterAccelerationStructureTriangleClusterInputNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eClusterAccelerationStructureTriangleClusterInputNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ClusterAccelerationStructureTriangleClusterInputNV( Format vertexFormat_ = Format::eUndefined, uint32_t maxGeometryIndexValue_ = {}, uint32_t maxClusterUniqueGeometryCount_ = {}, uint32_t maxClusterTriangleCount_ = {}, uint32_t maxClusterVertexCount_ = {}, uint32_t maxTotalTriangleCount_ = {}, uint32_t maxTotalVertexCount_ = {}, uint32_t minPositionTruncateBitCount_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , vertexFormat{ vertexFormat_ } , maxGeometryIndexValue{ maxGeometryIndexValue_ } , maxClusterUniqueGeometryCount{ maxClusterUniqueGeometryCount_ } , maxClusterTriangleCount{ maxClusterTriangleCount_ } , maxClusterVertexCount{ maxClusterVertexCount_ } , maxTotalTriangleCount{ maxTotalTriangleCount_ } , maxTotalVertexCount{ maxTotalVertexCount_ } , minPositionTruncateBitCount{ minPositionTruncateBitCount_ } { } VULKAN_HPP_CONSTEXPR ClusterAccelerationStructureTriangleClusterInputNV( ClusterAccelerationStructureTriangleClusterInputNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; ClusterAccelerationStructureTriangleClusterInputNV( VkClusterAccelerationStructureTriangleClusterInputNV const & rhs ) VULKAN_HPP_NOEXCEPT : ClusterAccelerationStructureTriangleClusterInputNV( *reinterpret_cast<ClusterAccelerationStructureTriangleClusterInputNV const *>( &rhs ) ) { } ClusterAccelerationStructureTriangleClusterInputNV & operator=( ClusterAccelerationStructureTriangleClusterInputNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ClusterAccelerationStructureTriangleClusterInputNV & operator=( VkClusterAccelerationStructureTriangleClusterInputNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ClusterAccelerationStructureTriangleClusterInputNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureTriangleClusterInputNV & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureTriangleClusterInputNV & setVertexFormat( Format vertexFormat_ ) VULKAN_HPP_NOEXCEPT { vertexFormat = vertexFormat_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureTriangleClusterInputNV & setMaxGeometryIndexValue( uint32_t maxGeometryIndexValue_ ) VULKAN_HPP_NOEXCEPT { maxGeometryIndexValue = maxGeometryIndexValue_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureTriangleClusterInputNV & setMaxClusterUniqueGeometryCount( uint32_t maxClusterUniqueGeometryCount_ ) VULKAN_HPP_NOEXCEPT { maxClusterUniqueGeometryCount = maxClusterUniqueGeometryCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureTriangleClusterInputNV & setMaxClusterTriangleCount( uint32_t maxClusterTriangleCount_ ) VULKAN_HPP_NOEXCEPT { maxClusterTriangleCount = maxClusterTriangleCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureTriangleClusterInputNV & setMaxClusterVertexCount( uint32_t maxClusterVertexCount_ ) VULKAN_HPP_NOEXCEPT { maxClusterVertexCount = maxClusterVertexCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureTriangleClusterInputNV & setMaxTotalTriangleCount( uint32_t maxTotalTriangleCount_ ) VULKAN_HPP_NOEXCEPT { maxTotalTriangleCount = maxTotalTriangleCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureTriangleClusterInputNV & setMaxTotalVertexCount( uint32_t maxTotalVertexCount_ ) VULKAN_HPP_NOEXCEPT { maxTotalVertexCount = maxTotalVertexCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureTriangleClusterInputNV & setMinPositionTruncateBitCount( uint32_t minPositionTruncateBitCount_ ) VULKAN_HPP_NOEXCEPT { minPositionTruncateBitCount = minPositionTruncateBitCount_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkClusterAccelerationStructureTriangleClusterInputNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkClusterAccelerationStructureTriangleClusterInputNV *>( this ); } operator VkClusterAccelerationStructureTriangleClusterInputNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkClusterAccelerationStructureTriangleClusterInputNV *>( this ); } operator VkClusterAccelerationStructureTriangleClusterInputNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkClusterAccelerationStructureTriangleClusterInputNV *>( this ); } operator VkClusterAccelerationStructureTriangleClusterInputNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkClusterAccelerationStructureTriangleClusterInputNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, Format const &, uint32_t const &, uint32_t const &, uint32_t const &, uint32_t const &, uint32_t const &, uint32_t const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, vertexFormat, maxGeometryIndexValue, maxClusterUniqueGeometryCount, maxClusterTriangleCount, maxClusterVertexCount, maxTotalTriangleCount, maxTotalVertexCount, minPositionTruncateBitCount ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ClusterAccelerationStructureTriangleClusterInputNV const & ) const = default; #else bool operator==( ClusterAccelerationStructureTriangleClusterInputNV 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 ) && ( vertexFormat == rhs.vertexFormat ) && ( maxGeometryIndexValue == rhs.maxGeometryIndexValue ) && ( maxClusterUniqueGeometryCount == rhs.maxClusterUniqueGeometryCount ) && ( maxClusterTriangleCount == rhs.maxClusterTriangleCount ) && ( maxClusterVertexCount == rhs.maxClusterVertexCount ) && ( maxTotalTriangleCount == rhs.maxTotalTriangleCount ) && ( maxTotalVertexCount == rhs.maxTotalVertexCount ) && ( minPositionTruncateBitCount == rhs.minPositionTruncateBitCount ); # endif } bool operator!=( ClusterAccelerationStructureTriangleClusterInputNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eClusterAccelerationStructureTriangleClusterInputNV; void * pNext = {}; Format vertexFormat = Format::eUndefined; uint32_t maxGeometryIndexValue = {}; uint32_t maxClusterUniqueGeometryCount = {}; uint32_t maxClusterTriangleCount = {}; uint32_t maxClusterVertexCount = {}; uint32_t maxTotalTriangleCount = {}; uint32_t maxTotalVertexCount = {}; uint32_t minPositionTruncateBitCount = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkClusterAccelerationStructureTriangleClusterInputNV> { using Type = ClusterAccelerationStructureTriangleClusterInputNV; }; #endif template <> struct CppType<StructureType, StructureType::eClusterAccelerationStructureTriangleClusterInputNV> { using Type = ClusterAccelerationStructureTriangleClusterInputNV; }; // wrapper struct for struct VkClusterAccelerationStructureMoveObjectsInputNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkClusterAccelerationStructureMoveObjectsInputNV.html struct ClusterAccelerationStructureMoveObjectsInputNV { using NativeType = VkClusterAccelerationStructureMoveObjectsInputNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eClusterAccelerationStructureMoveObjectsInputNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ClusterAccelerationStructureMoveObjectsInputNV( ClusterAccelerationStructureTypeNV type_ = ClusterAccelerationStructureTypeNV::eClustersBottomLevel, Bool32 noMoveOverlap_ = {}, DeviceSize maxMovedBytes_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , type{ type_ } , noMoveOverlap{ noMoveOverlap_ } , maxMovedBytes{ maxMovedBytes_ } { } VULKAN_HPP_CONSTEXPR ClusterAccelerationStructureMoveObjectsInputNV( ClusterAccelerationStructureMoveObjectsInputNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; ClusterAccelerationStructureMoveObjectsInputNV( VkClusterAccelerationStructureMoveObjectsInputNV const & rhs ) VULKAN_HPP_NOEXCEPT : ClusterAccelerationStructureMoveObjectsInputNV( *reinterpret_cast<ClusterAccelerationStructureMoveObjectsInputNV const *>( &rhs ) ) { } ClusterAccelerationStructureMoveObjectsInputNV & operator=( ClusterAccelerationStructureMoveObjectsInputNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ClusterAccelerationStructureMoveObjectsInputNV & operator=( VkClusterAccelerationStructureMoveObjectsInputNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ClusterAccelerationStructureMoveObjectsInputNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureMoveObjectsInputNV & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureMoveObjectsInputNV & setType( ClusterAccelerationStructureTypeNV type_ ) VULKAN_HPP_NOEXCEPT { type = type_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureMoveObjectsInputNV & setNoMoveOverlap( Bool32 noMoveOverlap_ ) VULKAN_HPP_NOEXCEPT { noMoveOverlap = noMoveOverlap_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureMoveObjectsInputNV & setMaxMovedBytes( DeviceSize maxMovedBytes_ ) VULKAN_HPP_NOEXCEPT { maxMovedBytes = maxMovedBytes_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkClusterAccelerationStructureMoveObjectsInputNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkClusterAccelerationStructureMoveObjectsInputNV *>( this ); } operator VkClusterAccelerationStructureMoveObjectsInputNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkClusterAccelerationStructureMoveObjectsInputNV *>( this ); } operator VkClusterAccelerationStructureMoveObjectsInputNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkClusterAccelerationStructureMoveObjectsInputNV *>( this ); } operator VkClusterAccelerationStructureMoveObjectsInputNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkClusterAccelerationStructureMoveObjectsInputNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, ClusterAccelerationStructureTypeNV const &, Bool32 const &, DeviceSize const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, type, noMoveOverlap, maxMovedBytes ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ClusterAccelerationStructureMoveObjectsInputNV const & ) const = default; #else bool operator==( ClusterAccelerationStructureMoveObjectsInputNV 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 ) && ( type == rhs.type ) && ( noMoveOverlap == rhs.noMoveOverlap ) && ( maxMovedBytes == rhs.maxMovedBytes ); # endif } bool operator!=( ClusterAccelerationStructureMoveObjectsInputNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eClusterAccelerationStructureMoveObjectsInputNV; void * pNext = {}; ClusterAccelerationStructureTypeNV type = ClusterAccelerationStructureTypeNV::eClustersBottomLevel; Bool32 noMoveOverlap = {}; DeviceSize maxMovedBytes = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkClusterAccelerationStructureMoveObjectsInputNV> { using Type = ClusterAccelerationStructureMoveObjectsInputNV; }; #endif template <> struct CppType<StructureType, StructureType::eClusterAccelerationStructureMoveObjectsInputNV> { using Type = ClusterAccelerationStructureMoveObjectsInputNV; }; union ClusterAccelerationStructureOpInputNV { using NativeType = VkClusterAccelerationStructureOpInputNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_UNION_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureOpInputNV( ClusterAccelerationStructureClustersBottomLevelInputNV * pClustersBottomLevel_ = {} ) : pClustersBottomLevel( pClustersBottomLevel_ ) { } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureOpInputNV( ClusterAccelerationStructureTriangleClusterInputNV * pTriangleClusters_ ) : pTriangleClusters( pTriangleClusters_ ) { } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureOpInputNV( ClusterAccelerationStructureMoveObjectsInputNV * pMoveObjects_ ) : pMoveObjects( pMoveObjects_ ) { } #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_UNION_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureOpInputNV & setPClustersBottomLevel( ClusterAccelerationStructureClustersBottomLevelInputNV * pClustersBottomLevel_ ) VULKAN_HPP_NOEXCEPT { pClustersBottomLevel = pClustersBottomLevel_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureOpInputNV & setPTriangleClusters( ClusterAccelerationStructureTriangleClusterInputNV * pTriangleClusters_ ) VULKAN_HPP_NOEXCEPT { pTriangleClusters = pTriangleClusters_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureOpInputNV & setPMoveObjects( ClusterAccelerationStructureMoveObjectsInputNV * pMoveObjects_ ) VULKAN_HPP_NOEXCEPT { pMoveObjects = pMoveObjects_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkClusterAccelerationStructureOpInputNV const &() const { return *reinterpret_cast<const VkClusterAccelerationStructureOpInputNV *>( this ); } operator VkClusterAccelerationStructureOpInputNV &() { return *reinterpret_cast<VkClusterAccelerationStructureOpInputNV *>( this ); } #ifdef VULKAN_HPP_HAS_UNRESTRICTED_UNIONS ClusterAccelerationStructureClustersBottomLevelInputNV * pClustersBottomLevel; ClusterAccelerationStructureTriangleClusterInputNV * pTriangleClusters; ClusterAccelerationStructureMoveObjectsInputNV * pMoveObjects; #else VkClusterAccelerationStructureClustersBottomLevelInputNV * pClustersBottomLevel; VkClusterAccelerationStructureTriangleClusterInputNV * pTriangleClusters; VkClusterAccelerationStructureMoveObjectsInputNV * pMoveObjects; #endif /*VULKAN_HPP_HAS_UNRESTRICTED_UNIONS*/ }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkClusterAccelerationStructureOpInputNV> { using Type = ClusterAccelerationStructureOpInputNV; }; #endif // wrapper struct for struct VkClusterAccelerationStructureInputInfoNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkClusterAccelerationStructureInputInfoNV.html struct ClusterAccelerationStructureInputInfoNV { using NativeType = VkClusterAccelerationStructureInputInfoNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eClusterAccelerationStructureInputInfoNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureInputInfoNV( uint32_t maxAccelerationStructureCount_ = {}, BuildAccelerationStructureFlagsKHR flags_ = {}, ClusterAccelerationStructureOpTypeNV opType_ = ClusterAccelerationStructureOpTypeNV::eMoveObjects, ClusterAccelerationStructureOpModeNV opMode_ = ClusterAccelerationStructureOpModeNV::eImplicitDestinations, ClusterAccelerationStructureOpInputNV opInput_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , maxAccelerationStructureCount{ maxAccelerationStructureCount_ } , flags{ flags_ } , opType{ opType_ } , opMode{ opMode_ } , opInput{ opInput_ } { } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureInputInfoNV( ClusterAccelerationStructureInputInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; ClusterAccelerationStructureInputInfoNV( VkClusterAccelerationStructureInputInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT : ClusterAccelerationStructureInputInfoNV( *reinterpret_cast<ClusterAccelerationStructureInputInfoNV const *>( &rhs ) ) { } ClusterAccelerationStructureInputInfoNV & operator=( ClusterAccelerationStructureInputInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ClusterAccelerationStructureInputInfoNV & operator=( VkClusterAccelerationStructureInputInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ClusterAccelerationStructureInputInfoNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureInputInfoNV & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureInputInfoNV & setMaxAccelerationStructureCount( uint32_t maxAccelerationStructureCount_ ) VULKAN_HPP_NOEXCEPT { maxAccelerationStructureCount = maxAccelerationStructureCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureInputInfoNV & setFlags( BuildAccelerationStructureFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureInputInfoNV & setOpType( ClusterAccelerationStructureOpTypeNV opType_ ) VULKAN_HPP_NOEXCEPT { opType = opType_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureInputInfoNV & setOpMode( ClusterAccelerationStructureOpModeNV opMode_ ) VULKAN_HPP_NOEXCEPT { opMode = opMode_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureInputInfoNV & setOpInput( ClusterAccelerationStructureOpInputNV const & opInput_ ) VULKAN_HPP_NOEXCEPT { opInput = opInput_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkClusterAccelerationStructureInputInfoNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkClusterAccelerationStructureInputInfoNV *>( this ); } operator VkClusterAccelerationStructureInputInfoNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkClusterAccelerationStructureInputInfoNV *>( this ); } operator VkClusterAccelerationStructureInputInfoNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkClusterAccelerationStructureInputInfoNV *>( this ); } operator VkClusterAccelerationStructureInputInfoNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkClusterAccelerationStructureInputInfoNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, uint32_t const &, BuildAccelerationStructureFlagsKHR const &, ClusterAccelerationStructureOpTypeNV const &, ClusterAccelerationStructureOpModeNV const &, ClusterAccelerationStructureOpInputNV const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, maxAccelerationStructureCount, flags, opType, opMode, opInput ); } #endif public: StructureType sType = StructureType::eClusterAccelerationStructureInputInfoNV; void * pNext = {}; uint32_t maxAccelerationStructureCount = {}; BuildAccelerationStructureFlagsKHR flags = {}; ClusterAccelerationStructureOpTypeNV opType = ClusterAccelerationStructureOpTypeNV::eMoveObjects; ClusterAccelerationStructureOpModeNV opMode = ClusterAccelerationStructureOpModeNV::eImplicitDestinations; ClusterAccelerationStructureOpInputNV opInput = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkClusterAccelerationStructureInputInfoNV> { using Type = ClusterAccelerationStructureInputInfoNV; }; #endif template <> struct CppType<StructureType, StructureType::eClusterAccelerationStructureInputInfoNV> { using Type = ClusterAccelerationStructureInputInfoNV; }; // wrapper struct for struct VkStridedDeviceAddressRegionKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkStridedDeviceAddressRegionKHR.html struct StridedDeviceAddressRegionKHR { using NativeType = VkStridedDeviceAddressRegionKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR StridedDeviceAddressRegionKHR( DeviceAddress deviceAddress_ = {}, DeviceSize stride_ = {}, DeviceSize size_ = {} ) VULKAN_HPP_NOEXCEPT : deviceAddress{ deviceAddress_ } , stride{ stride_ } , size{ size_ } { } VULKAN_HPP_CONSTEXPR StridedDeviceAddressRegionKHR( StridedDeviceAddressRegionKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; StridedDeviceAddressRegionKHR( VkStridedDeviceAddressRegionKHR const & rhs ) VULKAN_HPP_NOEXCEPT : StridedDeviceAddressRegionKHR( *reinterpret_cast<StridedDeviceAddressRegionKHR const *>( &rhs ) ) { } StridedDeviceAddressRegionKHR & operator=( StridedDeviceAddressRegionKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ StridedDeviceAddressRegionKHR & operator=( VkStridedDeviceAddressRegionKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<StridedDeviceAddressRegionKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 StridedDeviceAddressRegionKHR & setDeviceAddress( DeviceAddress deviceAddress_ ) VULKAN_HPP_NOEXCEPT { deviceAddress = deviceAddress_; return *this; } VULKAN_HPP_CONSTEXPR_14 StridedDeviceAddressRegionKHR & setStride( DeviceSize stride_ ) VULKAN_HPP_NOEXCEPT { stride = stride_; return *this; } VULKAN_HPP_CONSTEXPR_14 StridedDeviceAddressRegionKHR & setSize( DeviceSize size_ ) VULKAN_HPP_NOEXCEPT { size = size_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkStridedDeviceAddressRegionKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( this ); } operator VkStridedDeviceAddressRegionKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkStridedDeviceAddressRegionKHR *>( this ); } operator VkStridedDeviceAddressRegionKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( this ); } operator VkStridedDeviceAddressRegionKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkStridedDeviceAddressRegionKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<DeviceAddress const &, DeviceSize const &, DeviceSize const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( deviceAddress, stride, size ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( StridedDeviceAddressRegionKHR const & ) const = default; #else bool operator==( StridedDeviceAddressRegionKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( deviceAddress == rhs.deviceAddress ) && ( stride == rhs.stride ) && ( size == rhs.size ); # endif } bool operator!=( StridedDeviceAddressRegionKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: DeviceAddress deviceAddress = {}; DeviceSize stride = {}; DeviceSize size = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkStridedDeviceAddressRegionKHR> { using Type = StridedDeviceAddressRegionKHR; }; #endif // wrapper struct for struct VkClusterAccelerationStructureCommandsInfoNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkClusterAccelerationStructureCommandsInfoNV.html struct ClusterAccelerationStructureCommandsInfoNV { using NativeType = VkClusterAccelerationStructureCommandsInfoNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eClusterAccelerationStructureCommandsInfoNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureCommandsInfoNV( ClusterAccelerationStructureInputInfoNV input_ = {}, DeviceAddress dstImplicitData_ = {}, DeviceAddress scratchData_ = {}, StridedDeviceAddressRegionKHR dstAddressesArray_ = {}, StridedDeviceAddressRegionKHR dstSizesArray_ = {}, StridedDeviceAddressRegionKHR srcInfosArray_ = {}, DeviceAddress srcInfosCount_ = {}, ClusterAccelerationStructureAddressResolutionFlagsNV addressResolutionFlags_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , input{ input_ } , dstImplicitData{ dstImplicitData_ } , scratchData{ scratchData_ } , dstAddressesArray{ dstAddressesArray_ } , dstSizesArray{ dstSizesArray_ } , srcInfosArray{ srcInfosArray_ } , srcInfosCount{ srcInfosCount_ } , addressResolutionFlags{ addressResolutionFlags_ } { } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureCommandsInfoNV( ClusterAccelerationStructureCommandsInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; ClusterAccelerationStructureCommandsInfoNV( VkClusterAccelerationStructureCommandsInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT : ClusterAccelerationStructureCommandsInfoNV( *reinterpret_cast<ClusterAccelerationStructureCommandsInfoNV const *>( &rhs ) ) { } ClusterAccelerationStructureCommandsInfoNV & operator=( ClusterAccelerationStructureCommandsInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ClusterAccelerationStructureCommandsInfoNV & operator=( VkClusterAccelerationStructureCommandsInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ClusterAccelerationStructureCommandsInfoNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureCommandsInfoNV & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureCommandsInfoNV & setInput( ClusterAccelerationStructureInputInfoNV const & input_ ) VULKAN_HPP_NOEXCEPT { input = input_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureCommandsInfoNV & setDstImplicitData( DeviceAddress dstImplicitData_ ) VULKAN_HPP_NOEXCEPT { dstImplicitData = dstImplicitData_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureCommandsInfoNV & setScratchData( DeviceAddress scratchData_ ) VULKAN_HPP_NOEXCEPT { scratchData = scratchData_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureCommandsInfoNV & setDstAddressesArray( StridedDeviceAddressRegionKHR const & dstAddressesArray_ ) VULKAN_HPP_NOEXCEPT { dstAddressesArray = dstAddressesArray_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureCommandsInfoNV & setDstSizesArray( StridedDeviceAddressRegionKHR const & dstSizesArray_ ) VULKAN_HPP_NOEXCEPT { dstSizesArray = dstSizesArray_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureCommandsInfoNV & setSrcInfosArray( StridedDeviceAddressRegionKHR const & srcInfosArray_ ) VULKAN_HPP_NOEXCEPT { srcInfosArray = srcInfosArray_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureCommandsInfoNV & setSrcInfosCount( DeviceAddress srcInfosCount_ ) VULKAN_HPP_NOEXCEPT { srcInfosCount = srcInfosCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureCommandsInfoNV & setAddressResolutionFlags( ClusterAccelerationStructureAddressResolutionFlagsNV addressResolutionFlags_ ) VULKAN_HPP_NOEXCEPT { addressResolutionFlags = addressResolutionFlags_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkClusterAccelerationStructureCommandsInfoNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkClusterAccelerationStructureCommandsInfoNV *>( this ); } operator VkClusterAccelerationStructureCommandsInfoNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkClusterAccelerationStructureCommandsInfoNV *>( this ); } operator VkClusterAccelerationStructureCommandsInfoNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkClusterAccelerationStructureCommandsInfoNV *>( this ); } operator VkClusterAccelerationStructureCommandsInfoNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkClusterAccelerationStructureCommandsInfoNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, ClusterAccelerationStructureInputInfoNV const &, DeviceAddress const &, DeviceAddress const &, StridedDeviceAddressRegionKHR const &, StridedDeviceAddressRegionKHR const &, StridedDeviceAddressRegionKHR const &, DeviceAddress const &, ClusterAccelerationStructureAddressResolutionFlagsNV const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, input, dstImplicitData, scratchData, dstAddressesArray, dstSizesArray, srcInfosArray, srcInfosCount, addressResolutionFlags ); } #endif public: StructureType sType = StructureType::eClusterAccelerationStructureCommandsInfoNV; void * pNext = {}; ClusterAccelerationStructureInputInfoNV input = {}; DeviceAddress dstImplicitData = {}; DeviceAddress scratchData = {}; StridedDeviceAddressRegionKHR dstAddressesArray = {}; StridedDeviceAddressRegionKHR dstSizesArray = {}; StridedDeviceAddressRegionKHR srcInfosArray = {}; DeviceAddress srcInfosCount = {}; ClusterAccelerationStructureAddressResolutionFlagsNV addressResolutionFlags = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkClusterAccelerationStructureCommandsInfoNV> { using Type = ClusterAccelerationStructureCommandsInfoNV; }; #endif template <> struct CppType<StructureType, StructureType::eClusterAccelerationStructureCommandsInfoNV> { using Type = ClusterAccelerationStructureCommandsInfoNV; }; // wrapper struct for struct VkClusterAccelerationStructureGetTemplateIndicesInfoNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkClusterAccelerationStructureGetTemplateIndicesInfoNV.html struct ClusterAccelerationStructureGetTemplateIndicesInfoNV { using NativeType = VkClusterAccelerationStructureGetTemplateIndicesInfoNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ClusterAccelerationStructureGetTemplateIndicesInfoNV( DeviceAddress clusterTemplateAddress_ = {} ) VULKAN_HPP_NOEXCEPT : clusterTemplateAddress{ clusterTemplateAddress_ } { } VULKAN_HPP_CONSTEXPR ClusterAccelerationStructureGetTemplateIndicesInfoNV( ClusterAccelerationStructureGetTemplateIndicesInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; ClusterAccelerationStructureGetTemplateIndicesInfoNV( VkClusterAccelerationStructureGetTemplateIndicesInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT : ClusterAccelerationStructureGetTemplateIndicesInfoNV( *reinterpret_cast<ClusterAccelerationStructureGetTemplateIndicesInfoNV const *>( &rhs ) ) { } ClusterAccelerationStructureGetTemplateIndicesInfoNV & operator=( ClusterAccelerationStructureGetTemplateIndicesInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ClusterAccelerationStructureGetTemplateIndicesInfoNV & operator=( VkClusterAccelerationStructureGetTemplateIndicesInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ClusterAccelerationStructureGetTemplateIndicesInfoNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureGetTemplateIndicesInfoNV & setClusterTemplateAddress( DeviceAddress clusterTemplateAddress_ ) VULKAN_HPP_NOEXCEPT { clusterTemplateAddress = clusterTemplateAddress_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkClusterAccelerationStructureGetTemplateIndicesInfoNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkClusterAccelerationStructureGetTemplateIndicesInfoNV *>( this ); } operator VkClusterAccelerationStructureGetTemplateIndicesInfoNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkClusterAccelerationStructureGetTemplateIndicesInfoNV *>( this ); } operator VkClusterAccelerationStructureGetTemplateIndicesInfoNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkClusterAccelerationStructureGetTemplateIndicesInfoNV *>( this ); } operator VkClusterAccelerationStructureGetTemplateIndicesInfoNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkClusterAccelerationStructureGetTemplateIndicesInfoNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<DeviceAddress const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( clusterTemplateAddress ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ClusterAccelerationStructureGetTemplateIndicesInfoNV const & ) const = default; #else bool operator==( ClusterAccelerationStructureGetTemplateIndicesInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( clusterTemplateAddress == rhs.clusterTemplateAddress ); # endif } bool operator!=( ClusterAccelerationStructureGetTemplateIndicesInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: DeviceAddress clusterTemplateAddress = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkClusterAccelerationStructureGetTemplateIndicesInfoNV> { using Type = ClusterAccelerationStructureGetTemplateIndicesInfoNV; }; #endif // wrapper struct for struct VkClusterAccelerationStructureInstantiateClusterInfoNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkClusterAccelerationStructureInstantiateClusterInfoNV.html struct ClusterAccelerationStructureInstantiateClusterInfoNV { using NativeType = VkClusterAccelerationStructureInstantiateClusterInfoNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ClusterAccelerationStructureInstantiateClusterInfoNV( uint32_t clusterIdOffset_ = {}, uint32_t geometryIndexOffset_ = {}, uint32_t reserved_ = {}, DeviceAddress clusterTemplateAddress_ = {}, StridedDeviceAddressNV vertexBuffer_ = {} ) VULKAN_HPP_NOEXCEPT : clusterIdOffset{ clusterIdOffset_ } , geometryIndexOffset{ geometryIndexOffset_ } , reserved{ reserved_ } , clusterTemplateAddress{ clusterTemplateAddress_ } , vertexBuffer{ vertexBuffer_ } { } VULKAN_HPP_CONSTEXPR ClusterAccelerationStructureInstantiateClusterInfoNV( ClusterAccelerationStructureInstantiateClusterInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; ClusterAccelerationStructureInstantiateClusterInfoNV( VkClusterAccelerationStructureInstantiateClusterInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT : ClusterAccelerationStructureInstantiateClusterInfoNV( *reinterpret_cast<ClusterAccelerationStructureInstantiateClusterInfoNV const *>( &rhs ) ) { } ClusterAccelerationStructureInstantiateClusterInfoNV & operator=( ClusterAccelerationStructureInstantiateClusterInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ClusterAccelerationStructureInstantiateClusterInfoNV & operator=( VkClusterAccelerationStructureInstantiateClusterInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ClusterAccelerationStructureInstantiateClusterInfoNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureInstantiateClusterInfoNV & setClusterIdOffset( uint32_t clusterIdOffset_ ) VULKAN_HPP_NOEXCEPT { clusterIdOffset = clusterIdOffset_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureInstantiateClusterInfoNV & setGeometryIndexOffset( uint32_t geometryIndexOffset_ ) VULKAN_HPP_NOEXCEPT { geometryIndexOffset = geometryIndexOffset_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureInstantiateClusterInfoNV & setReserved( uint32_t reserved_ ) VULKAN_HPP_NOEXCEPT { reserved = reserved_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureInstantiateClusterInfoNV & setClusterTemplateAddress( DeviceAddress clusterTemplateAddress_ ) VULKAN_HPP_NOEXCEPT { clusterTemplateAddress = clusterTemplateAddress_; return *this; } VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureInstantiateClusterInfoNV & setVertexBuffer( StridedDeviceAddressNV const & vertexBuffer_ ) VULKAN_HPP_NOEXCEPT { vertexBuffer = vertexBuffer_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkClusterAccelerationStructureInstantiateClusterInfoNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkClusterAccelerationStructureInstantiateClusterInfoNV *>( this ); } operator VkClusterAccelerationStructureInstantiateClusterInfoNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkClusterAccelerationStructureInstantiateClusterInfoNV *>( this ); } operator VkClusterAccelerationStructureInstantiateClusterInfoNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkClusterAccelerationStructureInstantiateClusterInfoNV *>( this ); } operator VkClusterAccelerationStructureInstantiateClusterInfoNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkClusterAccelerationStructureInstantiateClusterInfoNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<uint32_t const &, uint32_t const &, uint32_t const &, DeviceAddress const &, StridedDeviceAddressNV const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( clusterIdOffset, geometryIndexOffset, reserved, clusterTemplateAddress, vertexBuffer ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ClusterAccelerationStructureInstantiateClusterInfoNV const & ) const = default; #else bool operator==( ClusterAccelerationStructureInstantiateClusterInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( clusterIdOffset == rhs.clusterIdOffset ) && ( geometryIndexOffset == rhs.geometryIndexOffset ) && ( reserved == rhs.reserved ) && ( clusterTemplateAddress == rhs.clusterTemplateAddress ) && ( vertexBuffer == rhs.vertexBuffer ); # endif } bool operator!=( ClusterAccelerationStructureInstantiateClusterInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: uint32_t clusterIdOffset = {}; uint32_t geometryIndexOffset : 24; uint32_t reserved : 8; DeviceAddress clusterTemplateAddress = {}; StridedDeviceAddressNV vertexBuffer = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkClusterAccelerationStructureInstantiateClusterInfoNV> { using Type = ClusterAccelerationStructureInstantiateClusterInfoNV; }; #endif // wrapper struct for struct VkClusterAccelerationStructureMoveObjectsInfoNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkClusterAccelerationStructureMoveObjectsInfoNV.html struct ClusterAccelerationStructureMoveObjectsInfoNV { using NativeType = VkClusterAccelerationStructureMoveObjectsInfoNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ClusterAccelerationStructureMoveObjectsInfoNV( DeviceAddress srcAccelerationStructure_ = {} ) VULKAN_HPP_NOEXCEPT : srcAccelerationStructure{ srcAccelerationStructure_ } { } VULKAN_HPP_CONSTEXPR ClusterAccelerationStructureMoveObjectsInfoNV( ClusterAccelerationStructureMoveObjectsInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; ClusterAccelerationStructureMoveObjectsInfoNV( VkClusterAccelerationStructureMoveObjectsInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT : ClusterAccelerationStructureMoveObjectsInfoNV( *reinterpret_cast<ClusterAccelerationStructureMoveObjectsInfoNV const *>( &rhs ) ) { } ClusterAccelerationStructureMoveObjectsInfoNV & operator=( ClusterAccelerationStructureMoveObjectsInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ClusterAccelerationStructureMoveObjectsInfoNV & operator=( VkClusterAccelerationStructureMoveObjectsInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ClusterAccelerationStructureMoveObjectsInfoNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ClusterAccelerationStructureMoveObjectsInfoNV & setSrcAccelerationStructure( DeviceAddress srcAccelerationStructure_ ) VULKAN_HPP_NOEXCEPT { srcAccelerationStructure = srcAccelerationStructure_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkClusterAccelerationStructureMoveObjectsInfoNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkClusterAccelerationStructureMoveObjectsInfoNV *>( this ); } operator VkClusterAccelerationStructureMoveObjectsInfoNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkClusterAccelerationStructureMoveObjectsInfoNV *>( this ); } operator VkClusterAccelerationStructureMoveObjectsInfoNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkClusterAccelerationStructureMoveObjectsInfoNV *>( this ); } operator VkClusterAccelerationStructureMoveObjectsInfoNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkClusterAccelerationStructureMoveObjectsInfoNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<DeviceAddress const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( srcAccelerationStructure ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ClusterAccelerationStructureMoveObjectsInfoNV const & ) const = default; #else bool operator==( ClusterAccelerationStructureMoveObjectsInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( srcAccelerationStructure == rhs.srcAccelerationStructure ); # endif } bool operator!=( ClusterAccelerationStructureMoveObjectsInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: DeviceAddress srcAccelerationStructure = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkClusterAccelerationStructureMoveObjectsInfoNV> { using Type = ClusterAccelerationStructureMoveObjectsInfoNV; }; #endif // wrapper struct for struct VkCoarseSampleLocationNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCoarseSampleLocationNV.html struct CoarseSampleLocationNV { using NativeType = VkCoarseSampleLocationNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CoarseSampleLocationNV( uint32_t pixelX_ = {}, uint32_t pixelY_ = {}, uint32_t sample_ = {} ) VULKAN_HPP_NOEXCEPT : pixelX{ pixelX_ } , pixelY{ pixelY_ } , sample{ sample_ } { } VULKAN_HPP_CONSTEXPR CoarseSampleLocationNV( CoarseSampleLocationNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; CoarseSampleLocationNV( VkCoarseSampleLocationNV const & rhs ) VULKAN_HPP_NOEXCEPT : CoarseSampleLocationNV( *reinterpret_cast<CoarseSampleLocationNV const *>( &rhs ) ) { } CoarseSampleLocationNV & operator=( CoarseSampleLocationNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CoarseSampleLocationNV & operator=( VkCoarseSampleLocationNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CoarseSampleLocationNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CoarseSampleLocationNV & setPixelX( uint32_t pixelX_ ) VULKAN_HPP_NOEXCEPT { pixelX = pixelX_; return *this; } VULKAN_HPP_CONSTEXPR_14 CoarseSampleLocationNV & setPixelY( uint32_t pixelY_ ) VULKAN_HPP_NOEXCEPT { pixelY = pixelY_; return *this; } VULKAN_HPP_CONSTEXPR_14 CoarseSampleLocationNV & setSample( uint32_t sample_ ) VULKAN_HPP_NOEXCEPT { sample = sample_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCoarseSampleLocationNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCoarseSampleLocationNV *>( this ); } operator VkCoarseSampleLocationNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCoarseSampleLocationNV *>( this ); } operator VkCoarseSampleLocationNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCoarseSampleLocationNV *>( this ); } operator VkCoarseSampleLocationNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCoarseSampleLocationNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<uint32_t const &, uint32_t const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( pixelX, pixelY, sample ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CoarseSampleLocationNV const & ) const = default; #else bool operator==( CoarseSampleLocationNV const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( pixelX == rhs.pixelX ) && ( pixelY == rhs.pixelY ) && ( sample == rhs.sample ); # endif } bool operator!=( CoarseSampleLocationNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: uint32_t pixelX = {}; uint32_t pixelY = {}; uint32_t sample = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCoarseSampleLocationNV> { using Type = CoarseSampleLocationNV; }; #endif // wrapper struct for struct VkCoarseSampleOrderCustomNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCoarseSampleOrderCustomNV.html struct CoarseSampleOrderCustomNV { using NativeType = VkCoarseSampleOrderCustomNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CoarseSampleOrderCustomNV( ShadingRatePaletteEntryNV shadingRate_ = ShadingRatePaletteEntryNV::eNoInvocations, uint32_t sampleCount_ = {}, uint32_t sampleLocationCount_ = {}, const CoarseSampleLocationNV * pSampleLocations_ = {} ) VULKAN_HPP_NOEXCEPT : shadingRate{ shadingRate_ } , sampleCount{ sampleCount_ } , sampleLocationCount{ sampleLocationCount_ } , pSampleLocations{ pSampleLocations_ } { } VULKAN_HPP_CONSTEXPR CoarseSampleOrderCustomNV( CoarseSampleOrderCustomNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; CoarseSampleOrderCustomNV( VkCoarseSampleOrderCustomNV const & rhs ) VULKAN_HPP_NOEXCEPT : CoarseSampleOrderCustomNV( *reinterpret_cast<CoarseSampleOrderCustomNV const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) CoarseSampleOrderCustomNV( ShadingRatePaletteEntryNV shadingRate_, uint32_t sampleCount_, ArrayProxyNoTemporaries<const CoarseSampleLocationNV> const & sampleLocations_ ) : shadingRate( shadingRate_ ) , sampleCount( sampleCount_ ) , sampleLocationCount( static_cast<uint32_t>( sampleLocations_.size() ) ) , pSampleLocations( sampleLocations_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ CoarseSampleOrderCustomNV & operator=( CoarseSampleOrderCustomNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CoarseSampleOrderCustomNV & operator=( VkCoarseSampleOrderCustomNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CoarseSampleOrderCustomNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CoarseSampleOrderCustomNV & setShadingRate( ShadingRatePaletteEntryNV shadingRate_ ) VULKAN_HPP_NOEXCEPT { shadingRate = shadingRate_; return *this; } VULKAN_HPP_CONSTEXPR_14 CoarseSampleOrderCustomNV & setSampleCount( uint32_t sampleCount_ ) VULKAN_HPP_NOEXCEPT { sampleCount = sampleCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 CoarseSampleOrderCustomNV & setSampleLocationCount( uint32_t sampleLocationCount_ ) VULKAN_HPP_NOEXCEPT { sampleLocationCount = sampleLocationCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 CoarseSampleOrderCustomNV & setPSampleLocations( const CoarseSampleLocationNV * pSampleLocations_ ) VULKAN_HPP_NOEXCEPT { pSampleLocations = pSampleLocations_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) CoarseSampleOrderCustomNV & setSampleLocations( ArrayProxyNoTemporaries<const CoarseSampleLocationNV> const & sampleLocations_ ) VULKAN_HPP_NOEXCEPT { sampleLocationCount = static_cast<uint32_t>( sampleLocations_.size() ); pSampleLocations = sampleLocations_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCoarseSampleOrderCustomNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCoarseSampleOrderCustomNV *>( this ); } operator VkCoarseSampleOrderCustomNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCoarseSampleOrderCustomNV *>( this ); } operator VkCoarseSampleOrderCustomNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCoarseSampleOrderCustomNV *>( this ); } operator VkCoarseSampleOrderCustomNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCoarseSampleOrderCustomNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<ShadingRatePaletteEntryNV const &, uint32_t const &, uint32_t const &, const CoarseSampleLocationNV * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( shadingRate, sampleCount, sampleLocationCount, pSampleLocations ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CoarseSampleOrderCustomNV const & ) const = default; #else bool operator==( CoarseSampleOrderCustomNV const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( shadingRate == rhs.shadingRate ) && ( sampleCount == rhs.sampleCount ) && ( sampleLocationCount == rhs.sampleLocationCount ) && ( pSampleLocations == rhs.pSampleLocations ); # endif } bool operator!=( CoarseSampleOrderCustomNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: ShadingRatePaletteEntryNV shadingRate = ShadingRatePaletteEntryNV::eNoInvocations; uint32_t sampleCount = {}; uint32_t sampleLocationCount = {}; const CoarseSampleLocationNV * pSampleLocations = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCoarseSampleOrderCustomNV> { using Type = CoarseSampleOrderCustomNV; }; #endif // wrapper struct for struct VkColorBlendAdvancedEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkColorBlendAdvancedEXT.html struct ColorBlendAdvancedEXT { using NativeType = VkColorBlendAdvancedEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ColorBlendAdvancedEXT( BlendOp advancedBlendOp_ = BlendOp::eAdd, Bool32 srcPremultiplied_ = {}, Bool32 dstPremultiplied_ = {}, BlendOverlapEXT blendOverlap_ = BlendOverlapEXT::eUncorrelated, Bool32 clampResults_ = {} ) VULKAN_HPP_NOEXCEPT : advancedBlendOp{ advancedBlendOp_ } , srcPremultiplied{ srcPremultiplied_ } , dstPremultiplied{ dstPremultiplied_ } , blendOverlap{ blendOverlap_ } , clampResults{ clampResults_ } { } VULKAN_HPP_CONSTEXPR ColorBlendAdvancedEXT( ColorBlendAdvancedEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; ColorBlendAdvancedEXT( VkColorBlendAdvancedEXT const & rhs ) VULKAN_HPP_NOEXCEPT : ColorBlendAdvancedEXT( *reinterpret_cast<ColorBlendAdvancedEXT const *>( &rhs ) ) { } ColorBlendAdvancedEXT & operator=( ColorBlendAdvancedEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ColorBlendAdvancedEXT & operator=( VkColorBlendAdvancedEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ColorBlendAdvancedEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ColorBlendAdvancedEXT & setAdvancedBlendOp( BlendOp advancedBlendOp_ ) VULKAN_HPP_NOEXCEPT { advancedBlendOp = advancedBlendOp_; return *this; } VULKAN_HPP_CONSTEXPR_14 ColorBlendAdvancedEXT & setSrcPremultiplied( Bool32 srcPremultiplied_ ) VULKAN_HPP_NOEXCEPT { srcPremultiplied = srcPremultiplied_; return *this; } VULKAN_HPP_CONSTEXPR_14 ColorBlendAdvancedEXT & setDstPremultiplied( Bool32 dstPremultiplied_ ) VULKAN_HPP_NOEXCEPT { dstPremultiplied = dstPremultiplied_; return *this; } VULKAN_HPP_CONSTEXPR_14 ColorBlendAdvancedEXT & setBlendOverlap( BlendOverlapEXT blendOverlap_ ) VULKAN_HPP_NOEXCEPT { blendOverlap = blendOverlap_; return *this; } VULKAN_HPP_CONSTEXPR_14 ColorBlendAdvancedEXT & setClampResults( Bool32 clampResults_ ) VULKAN_HPP_NOEXCEPT { clampResults = clampResults_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkColorBlendAdvancedEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkColorBlendAdvancedEXT *>( this ); } operator VkColorBlendAdvancedEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkColorBlendAdvancedEXT *>( this ); } operator VkColorBlendAdvancedEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkColorBlendAdvancedEXT *>( this ); } operator VkColorBlendAdvancedEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkColorBlendAdvancedEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<BlendOp const &, Bool32 const &, Bool32 const &, BlendOverlapEXT const &, Bool32 const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( advancedBlendOp, srcPremultiplied, dstPremultiplied, blendOverlap, clampResults ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ColorBlendAdvancedEXT const & ) const = default; #else bool operator==( ColorBlendAdvancedEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( advancedBlendOp == rhs.advancedBlendOp ) && ( srcPremultiplied == rhs.srcPremultiplied ) && ( dstPremultiplied == rhs.dstPremultiplied ) && ( blendOverlap == rhs.blendOverlap ) && ( clampResults == rhs.clampResults ); # endif } bool operator!=( ColorBlendAdvancedEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: BlendOp advancedBlendOp = BlendOp::eAdd; Bool32 srcPremultiplied = {}; Bool32 dstPremultiplied = {}; BlendOverlapEXT blendOverlap = BlendOverlapEXT::eUncorrelated; Bool32 clampResults = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkColorBlendAdvancedEXT> { using Type = ColorBlendAdvancedEXT; }; #endif // wrapper struct for struct VkColorBlendEquationEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkColorBlendEquationEXT.html struct ColorBlendEquationEXT { using NativeType = VkColorBlendEquationEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ColorBlendEquationEXT( BlendFactor srcColorBlendFactor_ = BlendFactor::eZero, BlendFactor dstColorBlendFactor_ = BlendFactor::eZero, BlendOp colorBlendOp_ = BlendOp::eAdd, BlendFactor srcAlphaBlendFactor_ = BlendFactor::eZero, BlendFactor dstAlphaBlendFactor_ = BlendFactor::eZero, BlendOp alphaBlendOp_ = BlendOp::eAdd ) VULKAN_HPP_NOEXCEPT : srcColorBlendFactor{ srcColorBlendFactor_ } , dstColorBlendFactor{ dstColorBlendFactor_ } , colorBlendOp{ colorBlendOp_ } , srcAlphaBlendFactor{ srcAlphaBlendFactor_ } , dstAlphaBlendFactor{ dstAlphaBlendFactor_ } , alphaBlendOp{ alphaBlendOp_ } { } VULKAN_HPP_CONSTEXPR ColorBlendEquationEXT( ColorBlendEquationEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; ColorBlendEquationEXT( VkColorBlendEquationEXT const & rhs ) VULKAN_HPP_NOEXCEPT : ColorBlendEquationEXT( *reinterpret_cast<ColorBlendEquationEXT const *>( &rhs ) ) { } ColorBlendEquationEXT & operator=( ColorBlendEquationEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ColorBlendEquationEXT & operator=( VkColorBlendEquationEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ColorBlendEquationEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ColorBlendEquationEXT & setSrcColorBlendFactor( BlendFactor srcColorBlendFactor_ ) VULKAN_HPP_NOEXCEPT { srcColorBlendFactor = srcColorBlendFactor_; return *this; } VULKAN_HPP_CONSTEXPR_14 ColorBlendEquationEXT & setDstColorBlendFactor( BlendFactor dstColorBlendFactor_ ) VULKAN_HPP_NOEXCEPT { dstColorBlendFactor = dstColorBlendFactor_; return *this; } VULKAN_HPP_CONSTEXPR_14 ColorBlendEquationEXT & setColorBlendOp( BlendOp colorBlendOp_ ) VULKAN_HPP_NOEXCEPT { colorBlendOp = colorBlendOp_; return *this; } VULKAN_HPP_CONSTEXPR_14 ColorBlendEquationEXT & setSrcAlphaBlendFactor( BlendFactor srcAlphaBlendFactor_ ) VULKAN_HPP_NOEXCEPT { srcAlphaBlendFactor = srcAlphaBlendFactor_; return *this; } VULKAN_HPP_CONSTEXPR_14 ColorBlendEquationEXT & setDstAlphaBlendFactor( BlendFactor dstAlphaBlendFactor_ ) VULKAN_HPP_NOEXCEPT { dstAlphaBlendFactor = dstAlphaBlendFactor_; return *this; } VULKAN_HPP_CONSTEXPR_14 ColorBlendEquationEXT & setAlphaBlendOp( BlendOp alphaBlendOp_ ) VULKAN_HPP_NOEXCEPT { alphaBlendOp = alphaBlendOp_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkColorBlendEquationEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkColorBlendEquationEXT *>( this ); } operator VkColorBlendEquationEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkColorBlendEquationEXT *>( this ); } operator VkColorBlendEquationEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkColorBlendEquationEXT *>( this ); } operator VkColorBlendEquationEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkColorBlendEquationEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<BlendFactor const &, BlendFactor const &, BlendOp const &, BlendFactor const &, BlendFactor const &, BlendOp const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( srcColorBlendFactor, dstColorBlendFactor, colorBlendOp, srcAlphaBlendFactor, dstAlphaBlendFactor, alphaBlendOp ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ColorBlendEquationEXT const & ) const = default; #else bool operator==( ColorBlendEquationEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( srcColorBlendFactor == rhs.srcColorBlendFactor ) && ( dstColorBlendFactor == rhs.dstColorBlendFactor ) && ( colorBlendOp == rhs.colorBlendOp ) && ( srcAlphaBlendFactor == rhs.srcAlphaBlendFactor ) && ( dstAlphaBlendFactor == rhs.dstAlphaBlendFactor ) && ( alphaBlendOp == rhs.alphaBlendOp ); # endif } bool operator!=( ColorBlendEquationEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: BlendFactor srcColorBlendFactor = BlendFactor::eZero; BlendFactor dstColorBlendFactor = BlendFactor::eZero; BlendOp colorBlendOp = BlendOp::eAdd; BlendFactor srcAlphaBlendFactor = BlendFactor::eZero; BlendFactor dstAlphaBlendFactor = BlendFactor::eZero; BlendOp alphaBlendOp = BlendOp::eAdd; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkColorBlendEquationEXT> { using Type = ColorBlendEquationEXT; }; #endif // wrapper struct for struct VkCommandBufferAllocateInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCommandBufferAllocateInfo.html struct CommandBufferAllocateInfo { using NativeType = VkCommandBufferAllocateInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCommandBufferAllocateInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CommandBufferAllocateInfo( CommandPool commandPool_ = {}, CommandBufferLevel level_ = CommandBufferLevel::ePrimary, uint32_t commandBufferCount_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , commandPool{ commandPool_ } , level{ level_ } , commandBufferCount{ commandBufferCount_ } { } VULKAN_HPP_CONSTEXPR CommandBufferAllocateInfo( CommandBufferAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; CommandBufferAllocateInfo( VkCommandBufferAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : CommandBufferAllocateInfo( *reinterpret_cast<CommandBufferAllocateInfo const *>( &rhs ) ) { } CommandBufferAllocateInfo & operator=( CommandBufferAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CommandBufferAllocateInfo & operator=( VkCommandBufferAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CommandBufferAllocateInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CommandBufferAllocateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CommandBufferAllocateInfo & setCommandPool( CommandPool commandPool_ ) VULKAN_HPP_NOEXCEPT { commandPool = commandPool_; return *this; } VULKAN_HPP_CONSTEXPR_14 CommandBufferAllocateInfo & setLevel( CommandBufferLevel level_ ) VULKAN_HPP_NOEXCEPT { level = level_; return *this; } VULKAN_HPP_CONSTEXPR_14 CommandBufferAllocateInfo & setCommandBufferCount( uint32_t commandBufferCount_ ) VULKAN_HPP_NOEXCEPT { commandBufferCount = commandBufferCount_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCommandBufferAllocateInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCommandBufferAllocateInfo *>( this ); } operator VkCommandBufferAllocateInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCommandBufferAllocateInfo *>( this ); } operator VkCommandBufferAllocateInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCommandBufferAllocateInfo *>( this ); } operator VkCommandBufferAllocateInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCommandBufferAllocateInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, CommandPool const &, CommandBufferLevel const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, commandPool, level, commandBufferCount ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CommandBufferAllocateInfo const & ) const = default; #else bool operator==( CommandBufferAllocateInfo 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 ) && ( commandPool == rhs.commandPool ) && ( level == rhs.level ) && ( commandBufferCount == rhs.commandBufferCount ); # endif } bool operator!=( CommandBufferAllocateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eCommandBufferAllocateInfo; const void * pNext = {}; CommandPool commandPool = {}; CommandBufferLevel level = CommandBufferLevel::ePrimary; uint32_t commandBufferCount = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCommandBufferAllocateInfo> { using Type = CommandBufferAllocateInfo; }; #endif template <> struct CppType<StructureType, StructureType::eCommandBufferAllocateInfo> { using Type = CommandBufferAllocateInfo; }; // wrapper struct for struct VkCommandBufferInheritanceInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCommandBufferInheritanceInfo.html struct CommandBufferInheritanceInfo { using NativeType = VkCommandBufferInheritanceInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCommandBufferInheritanceInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CommandBufferInheritanceInfo( RenderPass renderPass_ = {}, uint32_t subpass_ = {}, Framebuffer framebuffer_ = {}, Bool32 occlusionQueryEnable_ = {}, QueryControlFlags queryFlags_ = {}, QueryPipelineStatisticFlags pipelineStatistics_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , renderPass{ renderPass_ } , subpass{ subpass_ } , framebuffer{ framebuffer_ } , occlusionQueryEnable{ occlusionQueryEnable_ } , queryFlags{ queryFlags_ } , pipelineStatistics{ pipelineStatistics_ } { } VULKAN_HPP_CONSTEXPR CommandBufferInheritanceInfo( CommandBufferInheritanceInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; CommandBufferInheritanceInfo( VkCommandBufferInheritanceInfo const & rhs ) VULKAN_HPP_NOEXCEPT : CommandBufferInheritanceInfo( *reinterpret_cast<CommandBufferInheritanceInfo const *>( &rhs ) ) { } CommandBufferInheritanceInfo & operator=( CommandBufferInheritanceInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CommandBufferInheritanceInfo & operator=( VkCommandBufferInheritanceInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CommandBufferInheritanceInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceInfo & setRenderPass( RenderPass renderPass_ ) VULKAN_HPP_NOEXCEPT { renderPass = renderPass_; return *this; } VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceInfo & setSubpass( uint32_t subpass_ ) VULKAN_HPP_NOEXCEPT { subpass = subpass_; return *this; } VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceInfo & setFramebuffer( Framebuffer framebuffer_ ) VULKAN_HPP_NOEXCEPT { framebuffer = framebuffer_; return *this; } VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceInfo & setOcclusionQueryEnable( Bool32 occlusionQueryEnable_ ) VULKAN_HPP_NOEXCEPT { occlusionQueryEnable = occlusionQueryEnable_; return *this; } VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceInfo & setQueryFlags( QueryControlFlags queryFlags_ ) VULKAN_HPP_NOEXCEPT { queryFlags = queryFlags_; return *this; } VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceInfo & setPipelineStatistics( QueryPipelineStatisticFlags pipelineStatistics_ ) VULKAN_HPP_NOEXCEPT { pipelineStatistics = pipelineStatistics_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCommandBufferInheritanceInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCommandBufferInheritanceInfo *>( this ); } operator VkCommandBufferInheritanceInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCommandBufferInheritanceInfo *>( this ); } operator VkCommandBufferInheritanceInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCommandBufferInheritanceInfo *>( this ); } operator VkCommandBufferInheritanceInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCommandBufferInheritanceInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, RenderPass const &, uint32_t const &, Framebuffer const &, Bool32 const &, QueryControlFlags const &, QueryPipelineStatisticFlags const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, renderPass, subpass, framebuffer, occlusionQueryEnable, queryFlags, pipelineStatistics ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CommandBufferInheritanceInfo const & ) const = default; #else bool operator==( CommandBufferInheritanceInfo 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 ) && ( renderPass == rhs.renderPass ) && ( subpass == rhs.subpass ) && ( framebuffer == rhs.framebuffer ) && ( occlusionQueryEnable == rhs.occlusionQueryEnable ) && ( queryFlags == rhs.queryFlags ) && ( pipelineStatistics == rhs.pipelineStatistics ); # endif } bool operator!=( CommandBufferInheritanceInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eCommandBufferInheritanceInfo; const void * pNext = {}; RenderPass renderPass = {}; uint32_t subpass = {}; Framebuffer framebuffer = {}; Bool32 occlusionQueryEnable = {}; QueryControlFlags queryFlags = {}; QueryPipelineStatisticFlags pipelineStatistics = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCommandBufferInheritanceInfo> { using Type = CommandBufferInheritanceInfo; }; #endif template <> struct CppType<StructureType, StructureType::eCommandBufferInheritanceInfo> { using Type = CommandBufferInheritanceInfo; }; // wrapper struct for struct VkCommandBufferBeginInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCommandBufferBeginInfo.html struct CommandBufferBeginInfo { using NativeType = VkCommandBufferBeginInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCommandBufferBeginInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CommandBufferBeginInfo( CommandBufferUsageFlags flags_ = {}, const CommandBufferInheritanceInfo * pInheritanceInfo_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , pInheritanceInfo{ pInheritanceInfo_ } { } VULKAN_HPP_CONSTEXPR CommandBufferBeginInfo( CommandBufferBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; CommandBufferBeginInfo( VkCommandBufferBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT : CommandBufferBeginInfo( *reinterpret_cast<CommandBufferBeginInfo const *>( &rhs ) ) { } CommandBufferBeginInfo & operator=( CommandBufferBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CommandBufferBeginInfo & operator=( VkCommandBufferBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CommandBufferBeginInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CommandBufferBeginInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CommandBufferBeginInfo & setFlags( CommandBufferUsageFlags flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 CommandBufferBeginInfo & setPInheritanceInfo( const CommandBufferInheritanceInfo * pInheritanceInfo_ ) VULKAN_HPP_NOEXCEPT { pInheritanceInfo = pInheritanceInfo_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCommandBufferBeginInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCommandBufferBeginInfo *>( this ); } operator VkCommandBufferBeginInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCommandBufferBeginInfo *>( this ); } operator VkCommandBufferBeginInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCommandBufferBeginInfo *>( this ); } operator VkCommandBufferBeginInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCommandBufferBeginInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, CommandBufferUsageFlags const &, const CommandBufferInheritanceInfo * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, pInheritanceInfo ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CommandBufferBeginInfo const & ) const = default; #else bool operator==( CommandBufferBeginInfo 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 ) && ( flags == rhs.flags ) && ( pInheritanceInfo == rhs.pInheritanceInfo ); # endif } bool operator!=( CommandBufferBeginInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eCommandBufferBeginInfo; const void * pNext = {}; CommandBufferUsageFlags flags = {}; const CommandBufferInheritanceInfo * pInheritanceInfo = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCommandBufferBeginInfo> { using Type = CommandBufferBeginInfo; }; #endif template <> struct CppType<StructureType, StructureType::eCommandBufferBeginInfo> { using Type = CommandBufferBeginInfo; }; // wrapper struct for struct VkCommandBufferInheritanceConditionalRenderingInfoEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkCommandBufferInheritanceConditionalRenderingInfoEXT.html struct CommandBufferInheritanceConditionalRenderingInfoEXT { using NativeType = VkCommandBufferInheritanceConditionalRenderingInfoEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCommandBufferInheritanceConditionalRenderingInfoEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CommandBufferInheritanceConditionalRenderingInfoEXT( Bool32 conditionalRenderingEnable_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , conditionalRenderingEnable{ conditionalRenderingEnable_ } { } VULKAN_HPP_CONSTEXPR CommandBufferInheritanceConditionalRenderingInfoEXT( CommandBufferInheritanceConditionalRenderingInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; CommandBufferInheritanceConditionalRenderingInfoEXT( VkCommandBufferInheritanceConditionalRenderingInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : CommandBufferInheritanceConditionalRenderingInfoEXT( *reinterpret_cast<CommandBufferInheritanceConditionalRenderingInfoEXT const *>( &rhs ) ) { } CommandBufferInheritanceConditionalRenderingInfoEXT & operator=( CommandBufferInheritanceConditionalRenderingInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CommandBufferInheritanceConditionalRenderingInfoEXT & operator=( VkCommandBufferInheritanceConditionalRenderingInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CommandBufferInheritanceConditionalRenderingInfoEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceConditionalRenderingInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceConditionalRenderingInfoEXT & setConditionalRenderingEnable( Bool32 conditionalRenderingEnable_ ) VULKAN_HPP_NOEXCEPT { conditionalRenderingEnable = conditionalRenderingEnable_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCommandBufferInheritanceConditionalRenderingInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCommandBufferInheritanceConditionalRenderingInfoEXT *>( this ); } operator VkCommandBufferInheritanceConditionalRenderingInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCommandBufferInheritanceConditionalRenderingInfoEXT *>( this ); } operator VkCommandBufferInheritanceConditionalRenderingInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCommandBufferInheritanceConditionalRenderingInfoEXT *>( this ); } operator VkCommandBufferInheritanceConditionalRenderingInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCommandBufferInheritanceConditionalRenderingInfoEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Bool32 const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, conditionalRenderingEnable ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CommandBufferInheritanceConditionalRenderingInfoEXT const & ) const = default; #else bool operator==( CommandBufferInheritanceConditionalRenderingInfoEXT 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 ) && ( conditionalRenderingEnable == rhs.conditionalRenderingEnable ); # endif } bool operator!=( CommandBufferInheritanceConditionalRenderingInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eCommandBufferInheritanceConditionalRenderingInfoEXT; const void * pNext = {}; Bool32 conditionalRenderingEnable = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCommandBufferInheritanceConditionalRenderingInfoEXT> { using Type = CommandBufferInheritanceConditionalRenderingInfoEXT; }; #endif template <> struct CppType<StructureType, StructureType::eCommandBufferInheritanceConditionalRenderingInfoEXT> { using Type = CommandBufferInheritanceConditionalRenderingInfoEXT; }; // wrapper struct for struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkCommandBufferInheritanceRenderPassTransformInfoQCOM.html struct CommandBufferInheritanceRenderPassTransformInfoQCOM { using NativeType = VkCommandBufferInheritanceRenderPassTransformInfoQCOM; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCommandBufferInheritanceRenderPassTransformInfoQCOM; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CommandBufferInheritanceRenderPassTransformInfoQCOM( SurfaceTransformFlagBitsKHR transform_ = SurfaceTransformFlagBitsKHR::eIdentity, Rect2D renderArea_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , transform{ transform_ } , renderArea{ renderArea_ } { } VULKAN_HPP_CONSTEXPR CommandBufferInheritanceRenderPassTransformInfoQCOM( CommandBufferInheritanceRenderPassTransformInfoQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default; CommandBufferInheritanceRenderPassTransformInfoQCOM( VkCommandBufferInheritanceRenderPassTransformInfoQCOM const & rhs ) VULKAN_HPP_NOEXCEPT : CommandBufferInheritanceRenderPassTransformInfoQCOM( *reinterpret_cast<CommandBufferInheritanceRenderPassTransformInfoQCOM const *>( &rhs ) ) { } CommandBufferInheritanceRenderPassTransformInfoQCOM & operator=( CommandBufferInheritanceRenderPassTransformInfoQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CommandBufferInheritanceRenderPassTransformInfoQCOM & operator=( VkCommandBufferInheritanceRenderPassTransformInfoQCOM const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CommandBufferInheritanceRenderPassTransformInfoQCOM const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceRenderPassTransformInfoQCOM & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceRenderPassTransformInfoQCOM & setTransform( SurfaceTransformFlagBitsKHR transform_ ) VULKAN_HPP_NOEXCEPT { transform = transform_; return *this; } VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceRenderPassTransformInfoQCOM & setRenderArea( Rect2D const & renderArea_ ) VULKAN_HPP_NOEXCEPT { renderArea = renderArea_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCommandBufferInheritanceRenderPassTransformInfoQCOM const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCommandBufferInheritanceRenderPassTransformInfoQCOM *>( this ); } operator VkCommandBufferInheritanceRenderPassTransformInfoQCOM &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCommandBufferInheritanceRenderPassTransformInfoQCOM *>( this ); } operator VkCommandBufferInheritanceRenderPassTransformInfoQCOM const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCommandBufferInheritanceRenderPassTransformInfoQCOM *>( this ); } operator VkCommandBufferInheritanceRenderPassTransformInfoQCOM *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCommandBufferInheritanceRenderPassTransformInfoQCOM *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, SurfaceTransformFlagBitsKHR const &, Rect2D const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, transform, renderArea ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CommandBufferInheritanceRenderPassTransformInfoQCOM const & ) const = default; #else bool operator==( CommandBufferInheritanceRenderPassTransformInfoQCOM 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 ) && ( transform == rhs.transform ) && ( renderArea == rhs.renderArea ); # endif } bool operator!=( CommandBufferInheritanceRenderPassTransformInfoQCOM const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eCommandBufferInheritanceRenderPassTransformInfoQCOM; const void * pNext = {}; SurfaceTransformFlagBitsKHR transform = SurfaceTransformFlagBitsKHR::eIdentity; Rect2D renderArea = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCommandBufferInheritanceRenderPassTransformInfoQCOM> { using Type = CommandBufferInheritanceRenderPassTransformInfoQCOM; }; #endif template <> struct CppType<StructureType, StructureType::eCommandBufferInheritanceRenderPassTransformInfoQCOM> { using Type = CommandBufferInheritanceRenderPassTransformInfoQCOM; }; // wrapper struct for struct VkCommandBufferInheritanceRenderingInfo, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkCommandBufferInheritanceRenderingInfo.html struct CommandBufferInheritanceRenderingInfo { using NativeType = VkCommandBufferInheritanceRenderingInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCommandBufferInheritanceRenderingInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CommandBufferInheritanceRenderingInfo( RenderingFlags flags_ = {}, uint32_t viewMask_ = {}, uint32_t colorAttachmentCount_ = {}, const Format * pColorAttachmentFormats_ = {}, Format depthAttachmentFormat_ = Format::eUndefined, Format stencilAttachmentFormat_ = Format::eUndefined, SampleCountFlagBits rasterizationSamples_ = SampleCountFlagBits::e1, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , viewMask{ viewMask_ } , colorAttachmentCount{ colorAttachmentCount_ } , pColorAttachmentFormats{ pColorAttachmentFormats_ } , depthAttachmentFormat{ depthAttachmentFormat_ } , stencilAttachmentFormat{ stencilAttachmentFormat_ } , rasterizationSamples{ rasterizationSamples_ } { } VULKAN_HPP_CONSTEXPR CommandBufferInheritanceRenderingInfo( CommandBufferInheritanceRenderingInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; CommandBufferInheritanceRenderingInfo( VkCommandBufferInheritanceRenderingInfo const & rhs ) VULKAN_HPP_NOEXCEPT : CommandBufferInheritanceRenderingInfo( *reinterpret_cast<CommandBufferInheritanceRenderingInfo const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) CommandBufferInheritanceRenderingInfo( RenderingFlags flags_, uint32_t viewMask_, ArrayProxyNoTemporaries<const Format> const & colorAttachmentFormats_, Format depthAttachmentFormat_ = Format::eUndefined, Format stencilAttachmentFormat_ = Format::eUndefined, SampleCountFlagBits rasterizationSamples_ = SampleCountFlagBits::e1, const void * pNext_ = nullptr ) : pNext( pNext_ ) , flags( flags_ ) , viewMask( viewMask_ ) , colorAttachmentCount( static_cast<uint32_t>( colorAttachmentFormats_.size() ) ) , pColorAttachmentFormats( colorAttachmentFormats_.data() ) , depthAttachmentFormat( depthAttachmentFormat_ ) , stencilAttachmentFormat( stencilAttachmentFormat_ ) , rasterizationSamples( rasterizationSamples_ ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ CommandBufferInheritanceRenderingInfo & operator=( CommandBufferInheritanceRenderingInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CommandBufferInheritanceRenderingInfo & operator=( VkCommandBufferInheritanceRenderingInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CommandBufferInheritanceRenderingInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceRenderingInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceRenderingInfo & setFlags( RenderingFlags flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceRenderingInfo & setViewMask( uint32_t viewMask_ ) VULKAN_HPP_NOEXCEPT { viewMask = viewMask_; return *this; } VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceRenderingInfo & setColorAttachmentCount( uint32_t colorAttachmentCount_ ) VULKAN_HPP_NOEXCEPT { colorAttachmentCount = colorAttachmentCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceRenderingInfo & setPColorAttachmentFormats( const Format * pColorAttachmentFormats_ ) VULKAN_HPP_NOEXCEPT { pColorAttachmentFormats = pColorAttachmentFormats_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) CommandBufferInheritanceRenderingInfo & setColorAttachmentFormats( ArrayProxyNoTemporaries<const Format> const & colorAttachmentFormats_ ) VULKAN_HPP_NOEXCEPT { colorAttachmentCount = static_cast<uint32_t>( colorAttachmentFormats_.size() ); pColorAttachmentFormats = colorAttachmentFormats_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceRenderingInfo & setDepthAttachmentFormat( Format depthAttachmentFormat_ ) VULKAN_HPP_NOEXCEPT { depthAttachmentFormat = depthAttachmentFormat_; return *this; } VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceRenderingInfo & setStencilAttachmentFormat( Format stencilAttachmentFormat_ ) VULKAN_HPP_NOEXCEPT { stencilAttachmentFormat = stencilAttachmentFormat_; return *this; } VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceRenderingInfo & setRasterizationSamples( SampleCountFlagBits rasterizationSamples_ ) VULKAN_HPP_NOEXCEPT { rasterizationSamples = rasterizationSamples_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCommandBufferInheritanceRenderingInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCommandBufferInheritanceRenderingInfo *>( this ); } operator VkCommandBufferInheritanceRenderingInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCommandBufferInheritanceRenderingInfo *>( this ); } operator VkCommandBufferInheritanceRenderingInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCommandBufferInheritanceRenderingInfo *>( this ); } operator VkCommandBufferInheritanceRenderingInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCommandBufferInheritanceRenderingInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, RenderingFlags const &, uint32_t const &, uint32_t const &, const Format * const &, Format const &, Format const &, SampleCountFlagBits const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, viewMask, colorAttachmentCount, pColorAttachmentFormats, depthAttachmentFormat, stencilAttachmentFormat, rasterizationSamples ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CommandBufferInheritanceRenderingInfo const & ) const = default; #else bool operator==( CommandBufferInheritanceRenderingInfo 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 ) && ( flags == rhs.flags ) && ( viewMask == rhs.viewMask ) && ( colorAttachmentCount == rhs.colorAttachmentCount ) && ( pColorAttachmentFormats == rhs.pColorAttachmentFormats ) && ( depthAttachmentFormat == rhs.depthAttachmentFormat ) && ( stencilAttachmentFormat == rhs.stencilAttachmentFormat ) && ( rasterizationSamples == rhs.rasterizationSamples ); # endif } bool operator!=( CommandBufferInheritanceRenderingInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eCommandBufferInheritanceRenderingInfo; const void * pNext = {}; RenderingFlags flags = {}; uint32_t viewMask = {}; uint32_t colorAttachmentCount = {}; const Format * pColorAttachmentFormats = {}; Format depthAttachmentFormat = Format::eUndefined; Format stencilAttachmentFormat = Format::eUndefined; SampleCountFlagBits rasterizationSamples = SampleCountFlagBits::e1; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCommandBufferInheritanceRenderingInfo> { using Type = CommandBufferInheritanceRenderingInfo; }; #endif template <> struct CppType<StructureType, StructureType::eCommandBufferInheritanceRenderingInfo> { using Type = CommandBufferInheritanceRenderingInfo; }; using CommandBufferInheritanceRenderingInfoKHR = CommandBufferInheritanceRenderingInfo; // wrapper struct for struct VkViewport, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkViewport.html struct Viewport { using NativeType = VkViewport; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR Viewport( float x_ = {}, float y_ = {}, float width_ = {}, float height_ = {}, float minDepth_ = {}, float maxDepth_ = {} ) VULKAN_HPP_NOEXCEPT : x{ x_ } , y{ y_ } , width{ width_ } , height{ height_ } , minDepth{ minDepth_ } , maxDepth{ maxDepth_ } { } VULKAN_HPP_CONSTEXPR Viewport( Viewport const & rhs ) VULKAN_HPP_NOEXCEPT = default; Viewport( VkViewport const & rhs ) VULKAN_HPP_NOEXCEPT : Viewport( *reinterpret_cast<Viewport const *>( &rhs ) ) {} Viewport & operator=( Viewport const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ Viewport & operator=( VkViewport const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<Viewport const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 Viewport & setX( float x_ ) VULKAN_HPP_NOEXCEPT { x = x_; return *this; } VULKAN_HPP_CONSTEXPR_14 Viewport & setY( float y_ ) VULKAN_HPP_NOEXCEPT { y = y_; return *this; } VULKAN_HPP_CONSTEXPR_14 Viewport & setWidth( float width_ ) VULKAN_HPP_NOEXCEPT { width = width_; return *this; } VULKAN_HPP_CONSTEXPR_14 Viewport & setHeight( float height_ ) VULKAN_HPP_NOEXCEPT { height = height_; return *this; } VULKAN_HPP_CONSTEXPR_14 Viewport & setMinDepth( float minDepth_ ) VULKAN_HPP_NOEXCEPT { minDepth = minDepth_; return *this; } VULKAN_HPP_CONSTEXPR_14 Viewport & setMaxDepth( float maxDepth_ ) VULKAN_HPP_NOEXCEPT { maxDepth = maxDepth_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkViewport const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkViewport *>( this ); } operator VkViewport &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkViewport *>( this ); } operator VkViewport const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkViewport *>( this ); } operator VkViewport *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkViewport *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<float const &, float const &, float const &, float const &, float const &, float const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( x, y, width, height, minDepth, maxDepth ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( Viewport const & ) const = default; #else bool operator==( Viewport const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( x == rhs.x ) && ( y == rhs.y ) && ( width == rhs.width ) && ( height == rhs.height ) && ( minDepth == rhs.minDepth ) && ( maxDepth == rhs.maxDepth ); # endif } bool operator!=( Viewport const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: float x = {}; float y = {}; float width = {}; float height = {}; float minDepth = {}; float maxDepth = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkViewport> { using Type = Viewport; }; #endif // wrapper struct for struct VkCommandBufferInheritanceViewportScissorInfoNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkCommandBufferInheritanceViewportScissorInfoNV.html struct CommandBufferInheritanceViewportScissorInfoNV { using NativeType = VkCommandBufferInheritanceViewportScissorInfoNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCommandBufferInheritanceViewportScissorInfoNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CommandBufferInheritanceViewportScissorInfoNV( Bool32 viewportScissor2D_ = {}, uint32_t viewportDepthCount_ = {}, const Viewport * pViewportDepths_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , viewportScissor2D{ viewportScissor2D_ } , viewportDepthCount{ viewportDepthCount_ } , pViewportDepths{ pViewportDepths_ } { } VULKAN_HPP_CONSTEXPR CommandBufferInheritanceViewportScissorInfoNV( CommandBufferInheritanceViewportScissorInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; CommandBufferInheritanceViewportScissorInfoNV( VkCommandBufferInheritanceViewportScissorInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT : CommandBufferInheritanceViewportScissorInfoNV( *reinterpret_cast<CommandBufferInheritanceViewportScissorInfoNV const *>( &rhs ) ) { } CommandBufferInheritanceViewportScissorInfoNV & operator=( CommandBufferInheritanceViewportScissorInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CommandBufferInheritanceViewportScissorInfoNV & operator=( VkCommandBufferInheritanceViewportScissorInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CommandBufferInheritanceViewportScissorInfoNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceViewportScissorInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceViewportScissorInfoNV & setViewportScissor2D( Bool32 viewportScissor2D_ ) VULKAN_HPP_NOEXCEPT { viewportScissor2D = viewportScissor2D_; return *this; } VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceViewportScissorInfoNV & setViewportDepthCount( uint32_t viewportDepthCount_ ) VULKAN_HPP_NOEXCEPT { viewportDepthCount = viewportDepthCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceViewportScissorInfoNV & setPViewportDepths( const Viewport * pViewportDepths_ ) VULKAN_HPP_NOEXCEPT { pViewportDepths = pViewportDepths_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCommandBufferInheritanceViewportScissorInfoNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCommandBufferInheritanceViewportScissorInfoNV *>( this ); } operator VkCommandBufferInheritanceViewportScissorInfoNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCommandBufferInheritanceViewportScissorInfoNV *>( this ); } operator VkCommandBufferInheritanceViewportScissorInfoNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCommandBufferInheritanceViewportScissorInfoNV *>( this ); } operator VkCommandBufferInheritanceViewportScissorInfoNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCommandBufferInheritanceViewportScissorInfoNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Bool32 const &, uint32_t const &, const Viewport * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, viewportScissor2D, viewportDepthCount, pViewportDepths ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CommandBufferInheritanceViewportScissorInfoNV const & ) const = default; #else bool operator==( CommandBufferInheritanceViewportScissorInfoNV 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 ) && ( viewportScissor2D == rhs.viewportScissor2D ) && ( viewportDepthCount == rhs.viewportDepthCount ) && ( pViewportDepths == rhs.pViewportDepths ); # endif } bool operator!=( CommandBufferInheritanceViewportScissorInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eCommandBufferInheritanceViewportScissorInfoNV; const void * pNext = {}; Bool32 viewportScissor2D = {}; uint32_t viewportDepthCount = {}; const Viewport * pViewportDepths = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCommandBufferInheritanceViewportScissorInfoNV> { using Type = CommandBufferInheritanceViewportScissorInfoNV; }; #endif template <> struct CppType<StructureType, StructureType::eCommandBufferInheritanceViewportScissorInfoNV> { using Type = CommandBufferInheritanceViewportScissorInfoNV; }; // wrapper struct for struct VkCommandBufferSubmitInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCommandBufferSubmitInfo.html struct CommandBufferSubmitInfo { using NativeType = VkCommandBufferSubmitInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCommandBufferSubmitInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CommandBufferSubmitInfo( CommandBuffer commandBuffer_ = {}, uint32_t deviceMask_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , commandBuffer{ commandBuffer_ } , deviceMask{ deviceMask_ } { } VULKAN_HPP_CONSTEXPR CommandBufferSubmitInfo( CommandBufferSubmitInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; CommandBufferSubmitInfo( VkCommandBufferSubmitInfo const & rhs ) VULKAN_HPP_NOEXCEPT : CommandBufferSubmitInfo( *reinterpret_cast<CommandBufferSubmitInfo const *>( &rhs ) ) { } CommandBufferSubmitInfo & operator=( CommandBufferSubmitInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CommandBufferSubmitInfo & operator=( VkCommandBufferSubmitInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CommandBufferSubmitInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CommandBufferSubmitInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CommandBufferSubmitInfo & setCommandBuffer( CommandBuffer commandBuffer_ ) VULKAN_HPP_NOEXCEPT { commandBuffer = commandBuffer_; return *this; } VULKAN_HPP_CONSTEXPR_14 CommandBufferSubmitInfo & setDeviceMask( uint32_t deviceMask_ ) VULKAN_HPP_NOEXCEPT { deviceMask = deviceMask_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCommandBufferSubmitInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCommandBufferSubmitInfo *>( this ); } operator VkCommandBufferSubmitInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCommandBufferSubmitInfo *>( this ); } operator VkCommandBufferSubmitInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCommandBufferSubmitInfo *>( this ); } operator VkCommandBufferSubmitInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCommandBufferSubmitInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, CommandBuffer const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, commandBuffer, deviceMask ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CommandBufferSubmitInfo const & ) const = default; #else bool operator==( CommandBufferSubmitInfo 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 ) && ( commandBuffer == rhs.commandBuffer ) && ( deviceMask == rhs.deviceMask ); # endif } bool operator!=( CommandBufferSubmitInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eCommandBufferSubmitInfo; const void * pNext = {}; CommandBuffer commandBuffer = {}; uint32_t deviceMask = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCommandBufferSubmitInfo> { using Type = CommandBufferSubmitInfo; }; #endif template <> struct CppType<StructureType, StructureType::eCommandBufferSubmitInfo> { using Type = CommandBufferSubmitInfo; }; using CommandBufferSubmitInfoKHR = CommandBufferSubmitInfo; // wrapper struct for struct VkCommandPoolCreateInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCommandPoolCreateInfo.html struct CommandPoolCreateInfo { using NativeType = VkCommandPoolCreateInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCommandPoolCreateInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CommandPoolCreateInfo( CommandPoolCreateFlags flags_ = {}, uint32_t queueFamilyIndex_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , queueFamilyIndex{ queueFamilyIndex_ } { } VULKAN_HPP_CONSTEXPR CommandPoolCreateInfo( CommandPoolCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; CommandPoolCreateInfo( VkCommandPoolCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : CommandPoolCreateInfo( *reinterpret_cast<CommandPoolCreateInfo const *>( &rhs ) ) { } CommandPoolCreateInfo & operator=( CommandPoolCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CommandPoolCreateInfo & operator=( VkCommandPoolCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CommandPoolCreateInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CommandPoolCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CommandPoolCreateInfo & setFlags( CommandPoolCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 CommandPoolCreateInfo & setQueueFamilyIndex( uint32_t queueFamilyIndex_ ) VULKAN_HPP_NOEXCEPT { queueFamilyIndex = queueFamilyIndex_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCommandPoolCreateInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCommandPoolCreateInfo *>( this ); } operator VkCommandPoolCreateInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCommandPoolCreateInfo *>( this ); } operator VkCommandPoolCreateInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCommandPoolCreateInfo *>( this ); } operator VkCommandPoolCreateInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCommandPoolCreateInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, CommandPoolCreateFlags const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, queueFamilyIndex ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CommandPoolCreateInfo const & ) const = default; #else bool operator==( CommandPoolCreateInfo 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 ) && ( flags == rhs.flags ) && ( queueFamilyIndex == rhs.queueFamilyIndex ); # endif } bool operator!=( CommandPoolCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eCommandPoolCreateInfo; const void * pNext = {}; CommandPoolCreateFlags flags = {}; uint32_t queueFamilyIndex = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCommandPoolCreateInfo> { using Type = CommandPoolCreateInfo; }; #endif template <> struct CppType<StructureType, StructureType::eCommandPoolCreateInfo> { using Type = CommandPoolCreateInfo; }; // wrapper struct for struct VkSpecializationMapEntry, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSpecializationMapEntry.html struct SpecializationMapEntry { using NativeType = VkSpecializationMapEntry; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR SpecializationMapEntry( uint32_t constantID_ = {}, uint32_t offset_ = {}, size_t size_ = {} ) VULKAN_HPP_NOEXCEPT : constantID{ constantID_ } , offset{ offset_ } , size{ size_ } { } VULKAN_HPP_CONSTEXPR SpecializationMapEntry( SpecializationMapEntry const & rhs ) VULKAN_HPP_NOEXCEPT = default; SpecializationMapEntry( VkSpecializationMapEntry const & rhs ) VULKAN_HPP_NOEXCEPT : SpecializationMapEntry( *reinterpret_cast<SpecializationMapEntry const *>( &rhs ) ) { } SpecializationMapEntry & operator=( SpecializationMapEntry const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ SpecializationMapEntry & operator=( VkSpecializationMapEntry const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<SpecializationMapEntry const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 SpecializationMapEntry & setConstantID( uint32_t constantID_ ) VULKAN_HPP_NOEXCEPT { constantID = constantID_; return *this; } VULKAN_HPP_CONSTEXPR_14 SpecializationMapEntry & setOffset( uint32_t offset_ ) VULKAN_HPP_NOEXCEPT { offset = offset_; return *this; } VULKAN_HPP_CONSTEXPR_14 SpecializationMapEntry & setSize( size_t size_ ) VULKAN_HPP_NOEXCEPT { size = size_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkSpecializationMapEntry const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkSpecializationMapEntry *>( this ); } operator VkSpecializationMapEntry &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkSpecializationMapEntry *>( this ); } operator VkSpecializationMapEntry const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkSpecializationMapEntry *>( this ); } operator VkSpecializationMapEntry *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkSpecializationMapEntry *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<uint32_t const &, uint32_t const &, size_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( constantID, offset, size ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( SpecializationMapEntry const & ) const = default; #else bool operator==( SpecializationMapEntry const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( constantID == rhs.constantID ) && ( offset == rhs.offset ) && ( size == rhs.size ); # endif } bool operator!=( SpecializationMapEntry const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: uint32_t constantID = {}; uint32_t offset = {}; size_t size = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkSpecializationMapEntry> { using Type = SpecializationMapEntry; }; #endif // wrapper struct for struct VkSpecializationInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSpecializationInfo.html struct SpecializationInfo { using NativeType = VkSpecializationInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR SpecializationInfo( uint32_t mapEntryCount_ = {}, const SpecializationMapEntry * pMapEntries_ = {}, size_t dataSize_ = {}, const void * pData_ = {} ) VULKAN_HPP_NOEXCEPT : mapEntryCount{ mapEntryCount_ } , pMapEntries{ pMapEntries_ } , dataSize{ dataSize_ } , pData{ pData_ } { } VULKAN_HPP_CONSTEXPR SpecializationInfo( SpecializationInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; SpecializationInfo( VkSpecializationInfo const & rhs ) VULKAN_HPP_NOEXCEPT : SpecializationInfo( *reinterpret_cast<SpecializationInfo const *>( &rhs ) ) {} # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) template <typename T> SpecializationInfo( ArrayProxyNoTemporaries<const SpecializationMapEntry> const & mapEntries_, ArrayProxyNoTemporaries<const T> const & data_ = {} ) : mapEntryCount( static_cast<uint32_t>( mapEntries_.size() ) ) , pMapEntries( mapEntries_.data() ) , dataSize( data_.size() * sizeof( T ) ) , pData( data_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ SpecializationInfo & operator=( SpecializationInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ SpecializationInfo & operator=( VkSpecializationInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<SpecializationInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 SpecializationInfo & setMapEntryCount( uint32_t mapEntryCount_ ) VULKAN_HPP_NOEXCEPT { mapEntryCount = mapEntryCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 SpecializationInfo & setPMapEntries( const SpecializationMapEntry * pMapEntries_ ) VULKAN_HPP_NOEXCEPT { pMapEntries = pMapEntries_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) SpecializationInfo & setMapEntries( ArrayProxyNoTemporaries<const SpecializationMapEntry> const & mapEntries_ ) VULKAN_HPP_NOEXCEPT { mapEntryCount = static_cast<uint32_t>( mapEntries_.size() ); pMapEntries = mapEntries_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 SpecializationInfo & setDataSize( size_t dataSize_ ) VULKAN_HPP_NOEXCEPT { dataSize = dataSize_; return *this; } VULKAN_HPP_CONSTEXPR_14 SpecializationInfo & setPData( const void * pData_ ) VULKAN_HPP_NOEXCEPT { pData = pData_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) template <typename T> SpecializationInfo & setData( ArrayProxyNoTemporaries<const T> const & data_ ) VULKAN_HPP_NOEXCEPT { dataSize = data_.size() * sizeof( T ); pData = data_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkSpecializationInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkSpecializationInfo *>( this ); } operator VkSpecializationInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkSpecializationInfo *>( this ); } operator VkSpecializationInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkSpecializationInfo *>( this ); } operator VkSpecializationInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkSpecializationInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<uint32_t const &, const SpecializationMapEntry * const &, size_t const &, const void * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( mapEntryCount, pMapEntries, dataSize, pData ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( SpecializationInfo const & ) const = default; #else bool operator==( SpecializationInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( mapEntryCount == rhs.mapEntryCount ) && ( pMapEntries == rhs.pMapEntries ) && ( dataSize == rhs.dataSize ) && ( pData == rhs.pData ); # endif } bool operator!=( SpecializationInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: uint32_t mapEntryCount = {}; const SpecializationMapEntry * pMapEntries = {}; size_t dataSize = {}; const void * pData = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkSpecializationInfo> { using Type = SpecializationInfo; }; #endif // wrapper struct for struct VkPipelineShaderStageCreateInfo, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineShaderStageCreateInfo.html struct PipelineShaderStageCreateInfo { using NativeType = VkPipelineShaderStageCreateInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineShaderStageCreateInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR PipelineShaderStageCreateInfo( PipelineShaderStageCreateFlags flags_ = {}, ShaderStageFlagBits stage_ = ShaderStageFlagBits::eVertex, ShaderModule module_ = {}, const char * pName_ = {}, const SpecializationInfo * pSpecializationInfo_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , stage{ stage_ } , module{ module_ } , pName{ pName_ } , pSpecializationInfo{ pSpecializationInfo_ } { } VULKAN_HPP_CONSTEXPR PipelineShaderStageCreateInfo( PipelineShaderStageCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; PipelineShaderStageCreateInfo( VkPipelineShaderStageCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : PipelineShaderStageCreateInfo( *reinterpret_cast<PipelineShaderStageCreateInfo const *>( &rhs ) ) { } PipelineShaderStageCreateInfo & operator=( PipelineShaderStageCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ PipelineShaderStageCreateInfo & operator=( VkPipelineShaderStageCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<PipelineShaderStageCreateInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 PipelineShaderStageCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 PipelineShaderStageCreateInfo & setFlags( PipelineShaderStageCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 PipelineShaderStageCreateInfo & setStage( ShaderStageFlagBits stage_ ) VULKAN_HPP_NOEXCEPT { stage = stage_; return *this; } VULKAN_HPP_CONSTEXPR_14 PipelineShaderStageCreateInfo & setModule( ShaderModule module_ ) VULKAN_HPP_NOEXCEPT { module = module_; return *this; } VULKAN_HPP_CONSTEXPR_14 PipelineShaderStageCreateInfo & setPName( const char * pName_ ) VULKAN_HPP_NOEXCEPT { pName = pName_; return *this; } VULKAN_HPP_CONSTEXPR_14 PipelineShaderStageCreateInfo & setPSpecializationInfo( const SpecializationInfo * pSpecializationInfo_ ) VULKAN_HPP_NOEXCEPT { pSpecializationInfo = pSpecializationInfo_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkPipelineShaderStageCreateInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkPipelineShaderStageCreateInfo *>( this ); } operator VkPipelineShaderStageCreateInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkPipelineShaderStageCreateInfo *>( this ); } operator VkPipelineShaderStageCreateInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkPipelineShaderStageCreateInfo *>( this ); } operator VkPipelineShaderStageCreateInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkPipelineShaderStageCreateInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, PipelineShaderStageCreateFlags const &, ShaderStageFlagBits const &, ShaderModule const &, const char * const &, const SpecializationInfo * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, stage, module, pName, pSpecializationInfo ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) std::strong_ordering operator<=>( PipelineShaderStageCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { if ( auto cmp = sType <=> rhs.sType; cmp != 0 ) return cmp; if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 ) return cmp; if ( auto cmp = flags <=> rhs.flags; cmp != 0 ) return cmp; if ( auto cmp = stage <=> rhs.stage; cmp != 0 ) return cmp; if ( auto cmp = module <=> rhs.module; cmp != 0 ) return cmp; if ( pName != rhs.pName ) if ( auto cmp = strcmp( pName, rhs.pName ); cmp != 0 ) return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater; if ( auto cmp = pSpecializationInfo <=> rhs.pSpecializationInfo; cmp != 0 ) return cmp; return std::strong_ordering::equivalent; } #endif bool operator==( PipelineShaderStageCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( stage == rhs.stage ) && ( module == rhs.module ) && ( ( pName == rhs.pName ) || ( strcmp( pName, rhs.pName ) == 0 ) ) && ( pSpecializationInfo == rhs.pSpecializationInfo ); } bool operator!=( PipelineShaderStageCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } public: StructureType sType = StructureType::ePipelineShaderStageCreateInfo; const void * pNext = {}; PipelineShaderStageCreateFlags flags = {}; ShaderStageFlagBits stage = ShaderStageFlagBits::eVertex; ShaderModule module = {}; const char * pName = {}; const SpecializationInfo * pSpecializationInfo = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkPipelineShaderStageCreateInfo> { using Type = PipelineShaderStageCreateInfo; }; #endif template <> struct CppType<StructureType, StructureType::ePipelineShaderStageCreateInfo> { using Type = PipelineShaderStageCreateInfo; }; // wrapper struct for struct VkComputePipelineCreateInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkComputePipelineCreateInfo.html struct ComputePipelineCreateInfo { using NativeType = VkComputePipelineCreateInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eComputePipelineCreateInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ComputePipelineCreateInfo( PipelineCreateFlags flags_ = {}, PipelineShaderStageCreateInfo stage_ = {}, PipelineLayout layout_ = {}, Pipeline basePipelineHandle_ = {}, int32_t basePipelineIndex_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , stage{ stage_ } , layout{ layout_ } , basePipelineHandle{ basePipelineHandle_ } , basePipelineIndex{ basePipelineIndex_ } { } VULKAN_HPP_CONSTEXPR ComputePipelineCreateInfo( ComputePipelineCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; ComputePipelineCreateInfo( VkComputePipelineCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : ComputePipelineCreateInfo( *reinterpret_cast<ComputePipelineCreateInfo const *>( &rhs ) ) { } ComputePipelineCreateInfo & operator=( ComputePipelineCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ComputePipelineCreateInfo & operator=( VkComputePipelineCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ComputePipelineCreateInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ComputePipelineCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ComputePipelineCreateInfo & setFlags( PipelineCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 ComputePipelineCreateInfo & setStage( PipelineShaderStageCreateInfo const & stage_ ) VULKAN_HPP_NOEXCEPT { stage = stage_; return *this; } VULKAN_HPP_CONSTEXPR_14 ComputePipelineCreateInfo & setLayout( PipelineLayout layout_ ) VULKAN_HPP_NOEXCEPT { layout = layout_; return *this; } VULKAN_HPP_CONSTEXPR_14 ComputePipelineCreateInfo & setBasePipelineHandle( Pipeline basePipelineHandle_ ) VULKAN_HPP_NOEXCEPT { basePipelineHandle = basePipelineHandle_; return *this; } VULKAN_HPP_CONSTEXPR_14 ComputePipelineCreateInfo & setBasePipelineIndex( int32_t basePipelineIndex_ ) VULKAN_HPP_NOEXCEPT { basePipelineIndex = basePipelineIndex_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkComputePipelineCreateInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkComputePipelineCreateInfo *>( this ); } operator VkComputePipelineCreateInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkComputePipelineCreateInfo *>( this ); } operator VkComputePipelineCreateInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkComputePipelineCreateInfo *>( this ); } operator VkComputePipelineCreateInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkComputePipelineCreateInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, PipelineCreateFlags const &, PipelineShaderStageCreateInfo const &, PipelineLayout const &, Pipeline const &, int32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, stage, layout, basePipelineHandle, basePipelineIndex ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ComputePipelineCreateInfo const & ) const = default; #else bool operator==( ComputePipelineCreateInfo 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 ) && ( flags == rhs.flags ) && ( stage == rhs.stage ) && ( layout == rhs.layout ) && ( basePipelineHandle == rhs.basePipelineHandle ) && ( basePipelineIndex == rhs.basePipelineIndex ); # endif } bool operator!=( ComputePipelineCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eComputePipelineCreateInfo; const void * pNext = {}; PipelineCreateFlags flags = {}; PipelineShaderStageCreateInfo stage = {}; PipelineLayout layout = {}; Pipeline basePipelineHandle = {}; int32_t basePipelineIndex = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkComputePipelineCreateInfo> { using Type = ComputePipelineCreateInfo; }; #endif template <> struct CppType<StructureType, StructureType::eComputePipelineCreateInfo> { using Type = ComputePipelineCreateInfo; }; // wrapper struct for struct VkComputePipelineIndirectBufferInfoNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkComputePipelineIndirectBufferInfoNV.html struct ComputePipelineIndirectBufferInfoNV { using NativeType = VkComputePipelineIndirectBufferInfoNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eComputePipelineIndirectBufferInfoNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ComputePipelineIndirectBufferInfoNV( DeviceAddress deviceAddress_ = {}, DeviceSize size_ = {}, DeviceAddress pipelineDeviceAddressCaptureReplay_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , deviceAddress{ deviceAddress_ } , size{ size_ } , pipelineDeviceAddressCaptureReplay{ pipelineDeviceAddressCaptureReplay_ } { } VULKAN_HPP_CONSTEXPR ComputePipelineIndirectBufferInfoNV( ComputePipelineIndirectBufferInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; ComputePipelineIndirectBufferInfoNV( VkComputePipelineIndirectBufferInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT : ComputePipelineIndirectBufferInfoNV( *reinterpret_cast<ComputePipelineIndirectBufferInfoNV const *>( &rhs ) ) { } ComputePipelineIndirectBufferInfoNV & operator=( ComputePipelineIndirectBufferInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ComputePipelineIndirectBufferInfoNV & operator=( VkComputePipelineIndirectBufferInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ComputePipelineIndirectBufferInfoNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ComputePipelineIndirectBufferInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ComputePipelineIndirectBufferInfoNV & setDeviceAddress( DeviceAddress deviceAddress_ ) VULKAN_HPP_NOEXCEPT { deviceAddress = deviceAddress_; return *this; } VULKAN_HPP_CONSTEXPR_14 ComputePipelineIndirectBufferInfoNV & setSize( DeviceSize size_ ) VULKAN_HPP_NOEXCEPT { size = size_; return *this; } VULKAN_HPP_CONSTEXPR_14 ComputePipelineIndirectBufferInfoNV & setPipelineDeviceAddressCaptureReplay( DeviceAddress pipelineDeviceAddressCaptureReplay_ ) VULKAN_HPP_NOEXCEPT { pipelineDeviceAddressCaptureReplay = pipelineDeviceAddressCaptureReplay_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkComputePipelineIndirectBufferInfoNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkComputePipelineIndirectBufferInfoNV *>( this ); } operator VkComputePipelineIndirectBufferInfoNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkComputePipelineIndirectBufferInfoNV *>( this ); } operator VkComputePipelineIndirectBufferInfoNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkComputePipelineIndirectBufferInfoNV *>( this ); } operator VkComputePipelineIndirectBufferInfoNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkComputePipelineIndirectBufferInfoNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DeviceAddress const &, DeviceSize const &, DeviceAddress const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, deviceAddress, size, pipelineDeviceAddressCaptureReplay ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ComputePipelineIndirectBufferInfoNV const & ) const = default; #else bool operator==( ComputePipelineIndirectBufferInfoNV 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 ) && ( deviceAddress == rhs.deviceAddress ) && ( size == rhs.size ) && ( pipelineDeviceAddressCaptureReplay == rhs.pipelineDeviceAddressCaptureReplay ); # endif } bool operator!=( ComputePipelineIndirectBufferInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eComputePipelineIndirectBufferInfoNV; const void * pNext = {}; DeviceAddress deviceAddress = {}; DeviceSize size = {}; DeviceAddress pipelineDeviceAddressCaptureReplay = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkComputePipelineIndirectBufferInfoNV> { using Type = ComputePipelineIndirectBufferInfoNV; }; #endif template <> struct CppType<StructureType, StructureType::eComputePipelineIndirectBufferInfoNV> { using Type = ComputePipelineIndirectBufferInfoNV; }; // wrapper struct for struct VkConditionalRenderingBeginInfoEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkConditionalRenderingBeginInfoEXT.html struct ConditionalRenderingBeginInfoEXT { using NativeType = VkConditionalRenderingBeginInfoEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eConditionalRenderingBeginInfoEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ConditionalRenderingBeginInfoEXT( Buffer buffer_ = {}, DeviceSize offset_ = {}, ConditionalRenderingFlagsEXT flags_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , buffer{ buffer_ } , offset{ offset_ } , flags{ flags_ } { } VULKAN_HPP_CONSTEXPR ConditionalRenderingBeginInfoEXT( ConditionalRenderingBeginInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; ConditionalRenderingBeginInfoEXT( VkConditionalRenderingBeginInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : ConditionalRenderingBeginInfoEXT( *reinterpret_cast<ConditionalRenderingBeginInfoEXT const *>( &rhs ) ) { } ConditionalRenderingBeginInfoEXT & operator=( ConditionalRenderingBeginInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ConditionalRenderingBeginInfoEXT & operator=( VkConditionalRenderingBeginInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ConditionalRenderingBeginInfoEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ConditionalRenderingBeginInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ConditionalRenderingBeginInfoEXT & setBuffer( Buffer buffer_ ) VULKAN_HPP_NOEXCEPT { buffer = buffer_; return *this; } VULKAN_HPP_CONSTEXPR_14 ConditionalRenderingBeginInfoEXT & setOffset( DeviceSize offset_ ) VULKAN_HPP_NOEXCEPT { offset = offset_; return *this; } VULKAN_HPP_CONSTEXPR_14 ConditionalRenderingBeginInfoEXT & setFlags( ConditionalRenderingFlagsEXT flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkConditionalRenderingBeginInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkConditionalRenderingBeginInfoEXT *>( this ); } operator VkConditionalRenderingBeginInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkConditionalRenderingBeginInfoEXT *>( this ); } operator VkConditionalRenderingBeginInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkConditionalRenderingBeginInfoEXT *>( this ); } operator VkConditionalRenderingBeginInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkConditionalRenderingBeginInfoEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Buffer const &, DeviceSize const &, ConditionalRenderingFlagsEXT const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, buffer, offset, flags ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ConditionalRenderingBeginInfoEXT const & ) const = default; #else bool operator==( ConditionalRenderingBeginInfoEXT 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 ) && ( buffer == rhs.buffer ) && ( offset == rhs.offset ) && ( flags == rhs.flags ); # endif } bool operator!=( ConditionalRenderingBeginInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eConditionalRenderingBeginInfoEXT; const void * pNext = {}; Buffer buffer = {}; DeviceSize offset = {}; ConditionalRenderingFlagsEXT flags = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkConditionalRenderingBeginInfoEXT> { using Type = ConditionalRenderingBeginInfoEXT; }; #endif template <> struct CppType<StructureType, StructureType::eConditionalRenderingBeginInfoEXT> { using Type = ConditionalRenderingBeginInfoEXT; }; // wrapper struct for struct VkConformanceVersion, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkConformanceVersion.html struct ConformanceVersion { using NativeType = VkConformanceVersion; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ConformanceVersion( uint8_t major_ = {}, uint8_t minor_ = {}, uint8_t subminor_ = {}, uint8_t patch_ = {} ) VULKAN_HPP_NOEXCEPT : major{ major_ } , minor{ minor_ } , subminor{ subminor_ } , patch{ patch_ } { } VULKAN_HPP_CONSTEXPR ConformanceVersion( ConformanceVersion const & rhs ) VULKAN_HPP_NOEXCEPT = default; ConformanceVersion( VkConformanceVersion const & rhs ) VULKAN_HPP_NOEXCEPT : ConformanceVersion( *reinterpret_cast<ConformanceVersion const *>( &rhs ) ) {} ConformanceVersion & operator=( ConformanceVersion const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ConformanceVersion & operator=( VkConformanceVersion const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ConformanceVersion const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ConformanceVersion & setMajor( uint8_t major_ ) VULKAN_HPP_NOEXCEPT { major = major_; return *this; } VULKAN_HPP_CONSTEXPR_14 ConformanceVersion & setMinor( uint8_t minor_ ) VULKAN_HPP_NOEXCEPT { minor = minor_; return *this; } VULKAN_HPP_CONSTEXPR_14 ConformanceVersion & setSubminor( uint8_t subminor_ ) VULKAN_HPP_NOEXCEPT { subminor = subminor_; return *this; } VULKAN_HPP_CONSTEXPR_14 ConformanceVersion & setPatch( uint8_t patch_ ) VULKAN_HPP_NOEXCEPT { patch = patch_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkConformanceVersion const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkConformanceVersion *>( this ); } operator VkConformanceVersion &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkConformanceVersion *>( this ); } operator VkConformanceVersion const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkConformanceVersion *>( this ); } operator VkConformanceVersion *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkConformanceVersion *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<uint8_t const &, uint8_t const &, uint8_t const &, uint8_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( major, minor, subminor, patch ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ConformanceVersion const & ) const = default; #else bool operator==( ConformanceVersion const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( major == rhs.major ) && ( minor == rhs.minor ) && ( subminor == rhs.subminor ) && ( patch == rhs.patch ); # endif } bool operator!=( ConformanceVersion const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: uint8_t major = {}; uint8_t minor = {}; uint8_t subminor = {}; uint8_t patch = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkConformanceVersion> { using Type = ConformanceVersion; }; #endif using ConformanceVersionKHR = ConformanceVersion; // wrapper struct for struct VkConvertCooperativeVectorMatrixInfoNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkConvertCooperativeVectorMatrixInfoNV.html struct ConvertCooperativeVectorMatrixInfoNV { using NativeType = VkConvertCooperativeVectorMatrixInfoNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eConvertCooperativeVectorMatrixInfoNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 ConvertCooperativeVectorMatrixInfoNV( size_t srcSize_ = {}, DeviceOrHostAddressConstKHR srcData_ = {}, size_t * pDstSize_ = {}, DeviceOrHostAddressKHR dstData_ = {}, ComponentTypeKHR srcComponentType_ = ComponentTypeKHR::eFloat16, ComponentTypeKHR dstComponentType_ = ComponentTypeKHR::eFloat16, uint32_t numRows_ = {}, uint32_t numColumns_ = {}, CooperativeVectorMatrixLayoutNV srcLayout_ = CooperativeVectorMatrixLayoutNV::eRowMajor, size_t srcStride_ = {}, CooperativeVectorMatrixLayoutNV dstLayout_ = CooperativeVectorMatrixLayoutNV::eRowMajor, size_t dstStride_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , srcSize{ srcSize_ } , srcData{ srcData_ } , pDstSize{ pDstSize_ } , dstData{ dstData_ } , srcComponentType{ srcComponentType_ } , dstComponentType{ dstComponentType_ } , numRows{ numRows_ } , numColumns{ numColumns_ } , srcLayout{ srcLayout_ } , srcStride{ srcStride_ } , dstLayout{ dstLayout_ } , dstStride{ dstStride_ } { } VULKAN_HPP_CONSTEXPR_14 ConvertCooperativeVectorMatrixInfoNV( ConvertCooperativeVectorMatrixInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; ConvertCooperativeVectorMatrixInfoNV( VkConvertCooperativeVectorMatrixInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT : ConvertCooperativeVectorMatrixInfoNV( *reinterpret_cast<ConvertCooperativeVectorMatrixInfoNV const *>( &rhs ) ) { } ConvertCooperativeVectorMatrixInfoNV & operator=( ConvertCooperativeVectorMatrixInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ConvertCooperativeVectorMatrixInfoNV & operator=( VkConvertCooperativeVectorMatrixInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ConvertCooperativeVectorMatrixInfoNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ConvertCooperativeVectorMatrixInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ConvertCooperativeVectorMatrixInfoNV & setSrcSize( size_t srcSize_ ) VULKAN_HPP_NOEXCEPT { srcSize = srcSize_; return *this; } VULKAN_HPP_CONSTEXPR_14 ConvertCooperativeVectorMatrixInfoNV & setSrcData( DeviceOrHostAddressConstKHR const & srcData_ ) VULKAN_HPP_NOEXCEPT { srcData = srcData_; return *this; } VULKAN_HPP_CONSTEXPR_14 ConvertCooperativeVectorMatrixInfoNV & setPDstSize( size_t * pDstSize_ ) VULKAN_HPP_NOEXCEPT { pDstSize = pDstSize_; return *this; } VULKAN_HPP_CONSTEXPR_14 ConvertCooperativeVectorMatrixInfoNV & setDstData( DeviceOrHostAddressKHR const & dstData_ ) VULKAN_HPP_NOEXCEPT { dstData = dstData_; return *this; } VULKAN_HPP_CONSTEXPR_14 ConvertCooperativeVectorMatrixInfoNV & setSrcComponentType( ComponentTypeKHR srcComponentType_ ) VULKAN_HPP_NOEXCEPT { srcComponentType = srcComponentType_; return *this; } VULKAN_HPP_CONSTEXPR_14 ConvertCooperativeVectorMatrixInfoNV & setDstComponentType( ComponentTypeKHR dstComponentType_ ) VULKAN_HPP_NOEXCEPT { dstComponentType = dstComponentType_; return *this; } VULKAN_HPP_CONSTEXPR_14 ConvertCooperativeVectorMatrixInfoNV & setNumRows( uint32_t numRows_ ) VULKAN_HPP_NOEXCEPT { numRows = numRows_; return *this; } VULKAN_HPP_CONSTEXPR_14 ConvertCooperativeVectorMatrixInfoNV & setNumColumns( uint32_t numColumns_ ) VULKAN_HPP_NOEXCEPT { numColumns = numColumns_; return *this; } VULKAN_HPP_CONSTEXPR_14 ConvertCooperativeVectorMatrixInfoNV & setSrcLayout( CooperativeVectorMatrixLayoutNV srcLayout_ ) VULKAN_HPP_NOEXCEPT { srcLayout = srcLayout_; return *this; } VULKAN_HPP_CONSTEXPR_14 ConvertCooperativeVectorMatrixInfoNV & setSrcStride( size_t srcStride_ ) VULKAN_HPP_NOEXCEPT { srcStride = srcStride_; return *this; } VULKAN_HPP_CONSTEXPR_14 ConvertCooperativeVectorMatrixInfoNV & setDstLayout( CooperativeVectorMatrixLayoutNV dstLayout_ ) VULKAN_HPP_NOEXCEPT { dstLayout = dstLayout_; return *this; } VULKAN_HPP_CONSTEXPR_14 ConvertCooperativeVectorMatrixInfoNV & setDstStride( size_t dstStride_ ) VULKAN_HPP_NOEXCEPT { dstStride = dstStride_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkConvertCooperativeVectorMatrixInfoNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkConvertCooperativeVectorMatrixInfoNV *>( this ); } operator VkConvertCooperativeVectorMatrixInfoNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkConvertCooperativeVectorMatrixInfoNV *>( this ); } operator VkConvertCooperativeVectorMatrixInfoNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkConvertCooperativeVectorMatrixInfoNV *>( this ); } operator VkConvertCooperativeVectorMatrixInfoNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkConvertCooperativeVectorMatrixInfoNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, size_t const &, DeviceOrHostAddressConstKHR const &, size_t * const &, DeviceOrHostAddressKHR const &, ComponentTypeKHR const &, ComponentTypeKHR const &, uint32_t const &, uint32_t const &, CooperativeVectorMatrixLayoutNV const &, size_t const &, CooperativeVectorMatrixLayoutNV const &, size_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, srcSize, srcData, pDstSize, dstData, srcComponentType, dstComponentType, numRows, numColumns, srcLayout, srcStride, dstLayout, dstStride ); } #endif public: StructureType sType = StructureType::eConvertCooperativeVectorMatrixInfoNV; const void * pNext = {}; size_t srcSize = {}; DeviceOrHostAddressConstKHR srcData = {}; size_t * pDstSize = {}; DeviceOrHostAddressKHR dstData = {}; ComponentTypeKHR srcComponentType = ComponentTypeKHR::eFloat16; ComponentTypeKHR dstComponentType = ComponentTypeKHR::eFloat16; uint32_t numRows = {}; uint32_t numColumns = {}; CooperativeVectorMatrixLayoutNV srcLayout = CooperativeVectorMatrixLayoutNV::eRowMajor; size_t srcStride = {}; CooperativeVectorMatrixLayoutNV dstLayout = CooperativeVectorMatrixLayoutNV::eRowMajor; size_t dstStride = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkConvertCooperativeVectorMatrixInfoNV> { using Type = ConvertCooperativeVectorMatrixInfoNV; }; #endif template <> struct CppType<StructureType, StructureType::eConvertCooperativeVectorMatrixInfoNV> { using Type = ConvertCooperativeVectorMatrixInfoNV; }; // wrapper struct for struct VkCooperativeMatrixFlexibleDimensionsPropertiesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkCooperativeMatrixFlexibleDimensionsPropertiesNV.html struct CooperativeMatrixFlexibleDimensionsPropertiesNV { using NativeType = VkCooperativeMatrixFlexibleDimensionsPropertiesNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCooperativeMatrixFlexibleDimensionsPropertiesNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CooperativeMatrixFlexibleDimensionsPropertiesNV( uint32_t MGranularity_ = {}, uint32_t NGranularity_ = {}, uint32_t KGranularity_ = {}, ComponentTypeKHR AType_ = ComponentTypeKHR::eFloat16, ComponentTypeKHR BType_ = ComponentTypeKHR::eFloat16, ComponentTypeKHR CType_ = ComponentTypeKHR::eFloat16, ComponentTypeKHR ResultType_ = ComponentTypeKHR::eFloat16, Bool32 saturatingAccumulation_ = {}, ScopeKHR scope_ = ScopeKHR::eDevice, uint32_t workgroupInvocations_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , MGranularity{ MGranularity_ } , NGranularity{ NGranularity_ } , KGranularity{ KGranularity_ } , AType{ AType_ } , BType{ BType_ } , CType{ CType_ } , ResultType{ ResultType_ } , saturatingAccumulation{ saturatingAccumulation_ } , scope{ scope_ } , workgroupInvocations{ workgroupInvocations_ } { } VULKAN_HPP_CONSTEXPR CooperativeMatrixFlexibleDimensionsPropertiesNV( CooperativeMatrixFlexibleDimensionsPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; CooperativeMatrixFlexibleDimensionsPropertiesNV( VkCooperativeMatrixFlexibleDimensionsPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT : CooperativeMatrixFlexibleDimensionsPropertiesNV( *reinterpret_cast<CooperativeMatrixFlexibleDimensionsPropertiesNV const *>( &rhs ) ) { } CooperativeMatrixFlexibleDimensionsPropertiesNV & operator=( CooperativeMatrixFlexibleDimensionsPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CooperativeMatrixFlexibleDimensionsPropertiesNV & operator=( VkCooperativeMatrixFlexibleDimensionsPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CooperativeMatrixFlexibleDimensionsPropertiesNV const *>( &rhs ); return *this; } operator VkCooperativeMatrixFlexibleDimensionsPropertiesNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCooperativeMatrixFlexibleDimensionsPropertiesNV *>( this ); } operator VkCooperativeMatrixFlexibleDimensionsPropertiesNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCooperativeMatrixFlexibleDimensionsPropertiesNV *>( this ); } operator VkCooperativeMatrixFlexibleDimensionsPropertiesNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCooperativeMatrixFlexibleDimensionsPropertiesNV *>( this ); } operator VkCooperativeMatrixFlexibleDimensionsPropertiesNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCooperativeMatrixFlexibleDimensionsPropertiesNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, uint32_t const &, uint32_t const &, uint32_t const &, ComponentTypeKHR const &, ComponentTypeKHR const &, ComponentTypeKHR const &, ComponentTypeKHR const &, Bool32 const &, ScopeKHR const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, MGranularity, NGranularity, KGranularity, AType, BType, CType, ResultType, saturatingAccumulation, scope, workgroupInvocations ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CooperativeMatrixFlexibleDimensionsPropertiesNV const & ) const = default; #else bool operator==( CooperativeMatrixFlexibleDimensionsPropertiesNV 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 ) && ( MGranularity == rhs.MGranularity ) && ( NGranularity == rhs.NGranularity ) && ( KGranularity == rhs.KGranularity ) && ( AType == rhs.AType ) && ( BType == rhs.BType ) && ( CType == rhs.CType ) && ( ResultType == rhs.ResultType ) && ( saturatingAccumulation == rhs.saturatingAccumulation ) && ( scope == rhs.scope ) && ( workgroupInvocations == rhs.workgroupInvocations ); # endif } bool operator!=( CooperativeMatrixFlexibleDimensionsPropertiesNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eCooperativeMatrixFlexibleDimensionsPropertiesNV; void * pNext = {}; uint32_t MGranularity = {}; uint32_t NGranularity = {}; uint32_t KGranularity = {}; ComponentTypeKHR AType = ComponentTypeKHR::eFloat16; ComponentTypeKHR BType = ComponentTypeKHR::eFloat16; ComponentTypeKHR CType = ComponentTypeKHR::eFloat16; ComponentTypeKHR ResultType = ComponentTypeKHR::eFloat16; Bool32 saturatingAccumulation = {}; ScopeKHR scope = ScopeKHR::eDevice; uint32_t workgroupInvocations = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCooperativeMatrixFlexibleDimensionsPropertiesNV> { using Type = CooperativeMatrixFlexibleDimensionsPropertiesNV; }; #endif template <> struct CppType<StructureType, StructureType::eCooperativeMatrixFlexibleDimensionsPropertiesNV> { using Type = CooperativeMatrixFlexibleDimensionsPropertiesNV; }; // wrapper struct for struct VkCooperativeMatrixPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkCooperativeMatrixPropertiesKHR.html struct CooperativeMatrixPropertiesKHR { using NativeType = VkCooperativeMatrixPropertiesKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCooperativeMatrixPropertiesKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CooperativeMatrixPropertiesKHR( uint32_t MSize_ = {}, uint32_t NSize_ = {}, uint32_t KSize_ = {}, ComponentTypeKHR AType_ = ComponentTypeKHR::eFloat16, ComponentTypeKHR BType_ = ComponentTypeKHR::eFloat16, ComponentTypeKHR CType_ = ComponentTypeKHR::eFloat16, ComponentTypeKHR ResultType_ = ComponentTypeKHR::eFloat16, Bool32 saturatingAccumulation_ = {}, ScopeKHR scope_ = ScopeKHR::eDevice, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , MSize{ MSize_ } , NSize{ NSize_ } , KSize{ KSize_ } , AType{ AType_ } , BType{ BType_ } , CType{ CType_ } , ResultType{ ResultType_ } , saturatingAccumulation{ saturatingAccumulation_ } , scope{ scope_ } { } VULKAN_HPP_CONSTEXPR CooperativeMatrixPropertiesKHR( CooperativeMatrixPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; CooperativeMatrixPropertiesKHR( VkCooperativeMatrixPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT : CooperativeMatrixPropertiesKHR( *reinterpret_cast<CooperativeMatrixPropertiesKHR const *>( &rhs ) ) { } CooperativeMatrixPropertiesKHR & operator=( CooperativeMatrixPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CooperativeMatrixPropertiesKHR & operator=( VkCooperativeMatrixPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CooperativeMatrixPropertiesKHR const *>( &rhs ); return *this; } operator VkCooperativeMatrixPropertiesKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCooperativeMatrixPropertiesKHR *>( this ); } operator VkCooperativeMatrixPropertiesKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCooperativeMatrixPropertiesKHR *>( this ); } operator VkCooperativeMatrixPropertiesKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCooperativeMatrixPropertiesKHR *>( this ); } operator VkCooperativeMatrixPropertiesKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCooperativeMatrixPropertiesKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, uint32_t const &, uint32_t const &, uint32_t const &, ComponentTypeKHR const &, ComponentTypeKHR const &, ComponentTypeKHR const &, ComponentTypeKHR const &, Bool32 const &, ScopeKHR const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, MSize, NSize, KSize, AType, BType, CType, ResultType, saturatingAccumulation, scope ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CooperativeMatrixPropertiesKHR const & ) const = default; #else bool operator==( CooperativeMatrixPropertiesKHR 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 ) && ( MSize == rhs.MSize ) && ( NSize == rhs.NSize ) && ( KSize == rhs.KSize ) && ( AType == rhs.AType ) && ( BType == rhs.BType ) && ( CType == rhs.CType ) && ( ResultType == rhs.ResultType ) && ( saturatingAccumulation == rhs.saturatingAccumulation ) && ( scope == rhs.scope ); # endif } bool operator!=( CooperativeMatrixPropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eCooperativeMatrixPropertiesKHR; void * pNext = {}; uint32_t MSize = {}; uint32_t NSize = {}; uint32_t KSize = {}; ComponentTypeKHR AType = ComponentTypeKHR::eFloat16; ComponentTypeKHR BType = ComponentTypeKHR::eFloat16; ComponentTypeKHR CType = ComponentTypeKHR::eFloat16; ComponentTypeKHR ResultType = ComponentTypeKHR::eFloat16; Bool32 saturatingAccumulation = {}; ScopeKHR scope = ScopeKHR::eDevice; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCooperativeMatrixPropertiesKHR> { using Type = CooperativeMatrixPropertiesKHR; }; #endif template <> struct CppType<StructureType, StructureType::eCooperativeMatrixPropertiesKHR> { using Type = CooperativeMatrixPropertiesKHR; }; // wrapper struct for struct VkCooperativeMatrixPropertiesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkCooperativeMatrixPropertiesNV.html struct CooperativeMatrixPropertiesNV { using NativeType = VkCooperativeMatrixPropertiesNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCooperativeMatrixPropertiesNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CooperativeMatrixPropertiesNV( uint32_t MSize_ = {}, uint32_t NSize_ = {}, uint32_t KSize_ = {}, ComponentTypeNV AType_ = {}, ComponentTypeNV BType_ = {}, ComponentTypeNV CType_ = {}, ComponentTypeNV DType_ = {}, ScopeNV scope_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , MSize{ MSize_ } , NSize{ NSize_ } , KSize{ KSize_ } , AType{ AType_ } , BType{ BType_ } , CType{ CType_ } , DType{ DType_ } , scope{ scope_ } { } VULKAN_HPP_CONSTEXPR CooperativeMatrixPropertiesNV( CooperativeMatrixPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; CooperativeMatrixPropertiesNV( VkCooperativeMatrixPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT : CooperativeMatrixPropertiesNV( *reinterpret_cast<CooperativeMatrixPropertiesNV const *>( &rhs ) ) { } CooperativeMatrixPropertiesNV & operator=( CooperativeMatrixPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CooperativeMatrixPropertiesNV & operator=( VkCooperativeMatrixPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CooperativeMatrixPropertiesNV const *>( &rhs ); return *this; } operator VkCooperativeMatrixPropertiesNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCooperativeMatrixPropertiesNV *>( this ); } operator VkCooperativeMatrixPropertiesNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCooperativeMatrixPropertiesNV *>( this ); } operator VkCooperativeMatrixPropertiesNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCooperativeMatrixPropertiesNV *>( this ); } operator VkCooperativeMatrixPropertiesNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCooperativeMatrixPropertiesNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, uint32_t const &, uint32_t const &, uint32_t const &, ComponentTypeNV const &, ComponentTypeNV const &, ComponentTypeNV const &, ComponentTypeNV const &, ScopeNV const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, MSize, NSize, KSize, AType, BType, CType, DType, scope ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CooperativeMatrixPropertiesNV const & ) const = default; #else bool operator==( CooperativeMatrixPropertiesNV 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 ) && ( MSize == rhs.MSize ) && ( NSize == rhs.NSize ) && ( KSize == rhs.KSize ) && ( AType == rhs.AType ) && ( BType == rhs.BType ) && ( CType == rhs.CType ) && ( DType == rhs.DType ) && ( scope == rhs.scope ); # endif } bool operator!=( CooperativeMatrixPropertiesNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eCooperativeMatrixPropertiesNV; void * pNext = {}; uint32_t MSize = {}; uint32_t NSize = {}; uint32_t KSize = {}; ComponentTypeNV AType = {}; ComponentTypeNV BType = {}; ComponentTypeNV CType = {}; ComponentTypeNV DType = {}; ScopeNV scope = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCooperativeMatrixPropertiesNV> { using Type = CooperativeMatrixPropertiesNV; }; #endif template <> struct CppType<StructureType, StructureType::eCooperativeMatrixPropertiesNV> { using Type = CooperativeMatrixPropertiesNV; }; // wrapper struct for struct VkCooperativeVectorPropertiesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkCooperativeVectorPropertiesNV.html struct CooperativeVectorPropertiesNV { using NativeType = VkCooperativeVectorPropertiesNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCooperativeVectorPropertiesNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CooperativeVectorPropertiesNV( ComponentTypeKHR inputType_ = ComponentTypeKHR::eFloat16, ComponentTypeKHR inputInterpretation_ = ComponentTypeKHR::eFloat16, ComponentTypeKHR matrixInterpretation_ = ComponentTypeKHR::eFloat16, ComponentTypeKHR biasInterpretation_ = ComponentTypeKHR::eFloat16, ComponentTypeKHR resultType_ = ComponentTypeKHR::eFloat16, Bool32 transpose_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , inputType{ inputType_ } , inputInterpretation{ inputInterpretation_ } , matrixInterpretation{ matrixInterpretation_ } , biasInterpretation{ biasInterpretation_ } , resultType{ resultType_ } , transpose{ transpose_ } { } VULKAN_HPP_CONSTEXPR CooperativeVectorPropertiesNV( CooperativeVectorPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; CooperativeVectorPropertiesNV( VkCooperativeVectorPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT : CooperativeVectorPropertiesNV( *reinterpret_cast<CooperativeVectorPropertiesNV const *>( &rhs ) ) { } CooperativeVectorPropertiesNV & operator=( CooperativeVectorPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CooperativeVectorPropertiesNV & operator=( VkCooperativeVectorPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CooperativeVectorPropertiesNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CooperativeVectorPropertiesNV & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CooperativeVectorPropertiesNV & setInputType( ComponentTypeKHR inputType_ ) VULKAN_HPP_NOEXCEPT { inputType = inputType_; return *this; } VULKAN_HPP_CONSTEXPR_14 CooperativeVectorPropertiesNV & setInputInterpretation( ComponentTypeKHR inputInterpretation_ ) VULKAN_HPP_NOEXCEPT { inputInterpretation = inputInterpretation_; return *this; } VULKAN_HPP_CONSTEXPR_14 CooperativeVectorPropertiesNV & setMatrixInterpretation( ComponentTypeKHR matrixInterpretation_ ) VULKAN_HPP_NOEXCEPT { matrixInterpretation = matrixInterpretation_; return *this; } VULKAN_HPP_CONSTEXPR_14 CooperativeVectorPropertiesNV & setBiasInterpretation( ComponentTypeKHR biasInterpretation_ ) VULKAN_HPP_NOEXCEPT { biasInterpretation = biasInterpretation_; return *this; } VULKAN_HPP_CONSTEXPR_14 CooperativeVectorPropertiesNV & setResultType( ComponentTypeKHR resultType_ ) VULKAN_HPP_NOEXCEPT { resultType = resultType_; return *this; } VULKAN_HPP_CONSTEXPR_14 CooperativeVectorPropertiesNV & setTranspose( Bool32 transpose_ ) VULKAN_HPP_NOEXCEPT { transpose = transpose_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCooperativeVectorPropertiesNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCooperativeVectorPropertiesNV *>( this ); } operator VkCooperativeVectorPropertiesNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCooperativeVectorPropertiesNV *>( this ); } operator VkCooperativeVectorPropertiesNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCooperativeVectorPropertiesNV *>( this ); } operator VkCooperativeVectorPropertiesNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCooperativeVectorPropertiesNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, ComponentTypeKHR const &, ComponentTypeKHR const &, ComponentTypeKHR const &, ComponentTypeKHR const &, ComponentTypeKHR const &, Bool32 const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, inputType, inputInterpretation, matrixInterpretation, biasInterpretation, resultType, transpose ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CooperativeVectorPropertiesNV const & ) const = default; #else bool operator==( CooperativeVectorPropertiesNV 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 ) && ( inputType == rhs.inputType ) && ( inputInterpretation == rhs.inputInterpretation ) && ( matrixInterpretation == rhs.matrixInterpretation ) && ( biasInterpretation == rhs.biasInterpretation ) && ( resultType == rhs.resultType ) && ( transpose == rhs.transpose ); # endif } bool operator!=( CooperativeVectorPropertiesNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eCooperativeVectorPropertiesNV; void * pNext = {}; ComponentTypeKHR inputType = ComponentTypeKHR::eFloat16; ComponentTypeKHR inputInterpretation = ComponentTypeKHR::eFloat16; ComponentTypeKHR matrixInterpretation = ComponentTypeKHR::eFloat16; ComponentTypeKHR biasInterpretation = ComponentTypeKHR::eFloat16; ComponentTypeKHR resultType = ComponentTypeKHR::eFloat16; Bool32 transpose = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCooperativeVectorPropertiesNV> { using Type = CooperativeVectorPropertiesNV; }; #endif template <> struct CppType<StructureType, StructureType::eCooperativeVectorPropertiesNV> { using Type = CooperativeVectorPropertiesNV; }; // wrapper struct for struct VkCopyAccelerationStructureInfoKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkCopyAccelerationStructureInfoKHR.html struct CopyAccelerationStructureInfoKHR { using NativeType = VkCopyAccelerationStructureInfoKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCopyAccelerationStructureInfoKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CopyAccelerationStructureInfoKHR( AccelerationStructureKHR src_ = {}, AccelerationStructureKHR dst_ = {}, CopyAccelerationStructureModeKHR mode_ = CopyAccelerationStructureModeKHR::eClone, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , src{ src_ } , dst{ dst_ } , mode{ mode_ } { } VULKAN_HPP_CONSTEXPR CopyAccelerationStructureInfoKHR( CopyAccelerationStructureInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; CopyAccelerationStructureInfoKHR( VkCopyAccelerationStructureInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : CopyAccelerationStructureInfoKHR( *reinterpret_cast<CopyAccelerationStructureInfoKHR const *>( &rhs ) ) { } CopyAccelerationStructureInfoKHR & operator=( CopyAccelerationStructureInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CopyAccelerationStructureInfoKHR & operator=( VkCopyAccelerationStructureInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CopyAccelerationStructureInfoKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CopyAccelerationStructureInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyAccelerationStructureInfoKHR & setSrc( AccelerationStructureKHR src_ ) VULKAN_HPP_NOEXCEPT { src = src_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyAccelerationStructureInfoKHR & setDst( AccelerationStructureKHR dst_ ) VULKAN_HPP_NOEXCEPT { dst = dst_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyAccelerationStructureInfoKHR & setMode( CopyAccelerationStructureModeKHR mode_ ) VULKAN_HPP_NOEXCEPT { mode = mode_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCopyAccelerationStructureInfoKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCopyAccelerationStructureInfoKHR *>( this ); } operator VkCopyAccelerationStructureInfoKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCopyAccelerationStructureInfoKHR *>( this ); } operator VkCopyAccelerationStructureInfoKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCopyAccelerationStructureInfoKHR *>( this ); } operator VkCopyAccelerationStructureInfoKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCopyAccelerationStructureInfoKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, AccelerationStructureKHR const &, AccelerationStructureKHR const &, CopyAccelerationStructureModeKHR const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, src, dst, mode ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CopyAccelerationStructureInfoKHR const & ) const = default; #else bool operator==( CopyAccelerationStructureInfoKHR 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 ) && ( src == rhs.src ) && ( dst == rhs.dst ) && ( mode == rhs.mode ); # endif } bool operator!=( CopyAccelerationStructureInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eCopyAccelerationStructureInfoKHR; const void * pNext = {}; AccelerationStructureKHR src = {}; AccelerationStructureKHR dst = {}; CopyAccelerationStructureModeKHR mode = CopyAccelerationStructureModeKHR::eClone; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCopyAccelerationStructureInfoKHR> { using Type = CopyAccelerationStructureInfoKHR; }; #endif template <> struct CppType<StructureType, StructureType::eCopyAccelerationStructureInfoKHR> { using Type = CopyAccelerationStructureInfoKHR; }; // wrapper struct for struct VkCopyAccelerationStructureToMemoryInfoKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkCopyAccelerationStructureToMemoryInfoKHR.html struct CopyAccelerationStructureToMemoryInfoKHR { using NativeType = VkCopyAccelerationStructureToMemoryInfoKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCopyAccelerationStructureToMemoryInfoKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 CopyAccelerationStructureToMemoryInfoKHR( AccelerationStructureKHR src_ = {}, DeviceOrHostAddressKHR dst_ = {}, CopyAccelerationStructureModeKHR mode_ = CopyAccelerationStructureModeKHR::eClone, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , src{ src_ } , dst{ dst_ } , mode{ mode_ } { } VULKAN_HPP_CONSTEXPR_14 CopyAccelerationStructureToMemoryInfoKHR( CopyAccelerationStructureToMemoryInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; CopyAccelerationStructureToMemoryInfoKHR( VkCopyAccelerationStructureToMemoryInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : CopyAccelerationStructureToMemoryInfoKHR( *reinterpret_cast<CopyAccelerationStructureToMemoryInfoKHR const *>( &rhs ) ) { } CopyAccelerationStructureToMemoryInfoKHR & operator=( CopyAccelerationStructureToMemoryInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CopyAccelerationStructureToMemoryInfoKHR & operator=( VkCopyAccelerationStructureToMemoryInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CopyAccelerationStructureToMemoryInfoKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CopyAccelerationStructureToMemoryInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyAccelerationStructureToMemoryInfoKHR & setSrc( AccelerationStructureKHR src_ ) VULKAN_HPP_NOEXCEPT { src = src_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyAccelerationStructureToMemoryInfoKHR & setDst( DeviceOrHostAddressKHR const & dst_ ) VULKAN_HPP_NOEXCEPT { dst = dst_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyAccelerationStructureToMemoryInfoKHR & setMode( CopyAccelerationStructureModeKHR mode_ ) VULKAN_HPP_NOEXCEPT { mode = mode_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCopyAccelerationStructureToMemoryInfoKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCopyAccelerationStructureToMemoryInfoKHR *>( this ); } operator VkCopyAccelerationStructureToMemoryInfoKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCopyAccelerationStructureToMemoryInfoKHR *>( this ); } operator VkCopyAccelerationStructureToMemoryInfoKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCopyAccelerationStructureToMemoryInfoKHR *>( this ); } operator VkCopyAccelerationStructureToMemoryInfoKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCopyAccelerationStructureToMemoryInfoKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, AccelerationStructureKHR const &, DeviceOrHostAddressKHR const &, CopyAccelerationStructureModeKHR const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, src, dst, mode ); } #endif public: StructureType sType = StructureType::eCopyAccelerationStructureToMemoryInfoKHR; const void * pNext = {}; AccelerationStructureKHR src = {}; DeviceOrHostAddressKHR dst = {}; CopyAccelerationStructureModeKHR mode = CopyAccelerationStructureModeKHR::eClone; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCopyAccelerationStructureToMemoryInfoKHR> { using Type = CopyAccelerationStructureToMemoryInfoKHR; }; #endif template <> struct CppType<StructureType, StructureType::eCopyAccelerationStructureToMemoryInfoKHR> { using Type = CopyAccelerationStructureToMemoryInfoKHR; }; // wrapper struct for struct VkCopyBufferInfo2, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCopyBufferInfo2.html struct CopyBufferInfo2 { using NativeType = VkCopyBufferInfo2; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCopyBufferInfo2; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CopyBufferInfo2( Buffer srcBuffer_ = {}, Buffer dstBuffer_ = {}, uint32_t regionCount_ = {}, const BufferCopy2 * pRegions_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , srcBuffer{ srcBuffer_ } , dstBuffer{ dstBuffer_ } , regionCount{ regionCount_ } , pRegions{ pRegions_ } { } VULKAN_HPP_CONSTEXPR CopyBufferInfo2( CopyBufferInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; CopyBufferInfo2( VkCopyBufferInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT : CopyBufferInfo2( *reinterpret_cast<CopyBufferInfo2 const *>( &rhs ) ) {} # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) CopyBufferInfo2( Buffer srcBuffer_, Buffer dstBuffer_, ArrayProxyNoTemporaries<const BufferCopy2> const & regions_, const void * pNext_ = nullptr ) : pNext( pNext_ ), srcBuffer( srcBuffer_ ), dstBuffer( dstBuffer_ ), regionCount( static_cast<uint32_t>( regions_.size() ) ), pRegions( regions_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ CopyBufferInfo2 & operator=( CopyBufferInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CopyBufferInfo2 & operator=( VkCopyBufferInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CopyBufferInfo2 const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CopyBufferInfo2 & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyBufferInfo2 & setSrcBuffer( Buffer srcBuffer_ ) VULKAN_HPP_NOEXCEPT { srcBuffer = srcBuffer_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyBufferInfo2 & setDstBuffer( Buffer dstBuffer_ ) VULKAN_HPP_NOEXCEPT { dstBuffer = dstBuffer_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyBufferInfo2 & setRegionCount( uint32_t regionCount_ ) VULKAN_HPP_NOEXCEPT { regionCount = regionCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyBufferInfo2 & setPRegions( const BufferCopy2 * pRegions_ ) VULKAN_HPP_NOEXCEPT { pRegions = pRegions_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) CopyBufferInfo2 & setRegions( ArrayProxyNoTemporaries<const BufferCopy2> const & regions_ ) VULKAN_HPP_NOEXCEPT { regionCount = static_cast<uint32_t>( regions_.size() ); pRegions = regions_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCopyBufferInfo2 const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCopyBufferInfo2 *>( this ); } operator VkCopyBufferInfo2 &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCopyBufferInfo2 *>( this ); } operator VkCopyBufferInfo2 const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCopyBufferInfo2 *>( this ); } operator VkCopyBufferInfo2 *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCopyBufferInfo2 *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Buffer const &, Buffer const &, uint32_t const &, const BufferCopy2 * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, srcBuffer, dstBuffer, regionCount, pRegions ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CopyBufferInfo2 const & ) const = default; #else bool operator==( CopyBufferInfo2 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 ) && ( srcBuffer == rhs.srcBuffer ) && ( dstBuffer == rhs.dstBuffer ) && ( regionCount == rhs.regionCount ) && ( pRegions == rhs.pRegions ); # endif } bool operator!=( CopyBufferInfo2 const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eCopyBufferInfo2; const void * pNext = {}; Buffer srcBuffer = {}; Buffer dstBuffer = {}; uint32_t regionCount = {}; const BufferCopy2 * pRegions = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCopyBufferInfo2> { using Type = CopyBufferInfo2; }; #endif template <> struct CppType<StructureType, StructureType::eCopyBufferInfo2> { using Type = CopyBufferInfo2; }; using CopyBufferInfo2KHR = CopyBufferInfo2; // wrapper struct for struct VkCopyBufferToImageInfo2, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCopyBufferToImageInfo2.html struct CopyBufferToImageInfo2 { using NativeType = VkCopyBufferToImageInfo2; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCopyBufferToImageInfo2; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CopyBufferToImageInfo2( Buffer srcBuffer_ = {}, Image dstImage_ = {}, ImageLayout dstImageLayout_ = ImageLayout::eUndefined, uint32_t regionCount_ = {}, const BufferImageCopy2 * pRegions_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , srcBuffer{ srcBuffer_ } , dstImage{ dstImage_ } , dstImageLayout{ dstImageLayout_ } , regionCount{ regionCount_ } , pRegions{ pRegions_ } { } VULKAN_HPP_CONSTEXPR CopyBufferToImageInfo2( CopyBufferToImageInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; CopyBufferToImageInfo2( VkCopyBufferToImageInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT : CopyBufferToImageInfo2( *reinterpret_cast<CopyBufferToImageInfo2 const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) CopyBufferToImageInfo2( Buffer srcBuffer_, Image dstImage_, ImageLayout dstImageLayout_, ArrayProxyNoTemporaries<const BufferImageCopy2> const & regions_, const void * pNext_ = nullptr ) : pNext( pNext_ ) , srcBuffer( srcBuffer_ ) , dstImage( dstImage_ ) , dstImageLayout( dstImageLayout_ ) , regionCount( static_cast<uint32_t>( regions_.size() ) ) , pRegions( regions_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ CopyBufferToImageInfo2 & operator=( CopyBufferToImageInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CopyBufferToImageInfo2 & operator=( VkCopyBufferToImageInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CopyBufferToImageInfo2 const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CopyBufferToImageInfo2 & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyBufferToImageInfo2 & setSrcBuffer( Buffer srcBuffer_ ) VULKAN_HPP_NOEXCEPT { srcBuffer = srcBuffer_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyBufferToImageInfo2 & setDstImage( Image dstImage_ ) VULKAN_HPP_NOEXCEPT { dstImage = dstImage_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyBufferToImageInfo2 & setDstImageLayout( ImageLayout dstImageLayout_ ) VULKAN_HPP_NOEXCEPT { dstImageLayout = dstImageLayout_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyBufferToImageInfo2 & setRegionCount( uint32_t regionCount_ ) VULKAN_HPP_NOEXCEPT { regionCount = regionCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyBufferToImageInfo2 & setPRegions( const BufferImageCopy2 * pRegions_ ) VULKAN_HPP_NOEXCEPT { pRegions = pRegions_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) CopyBufferToImageInfo2 & setRegions( ArrayProxyNoTemporaries<const BufferImageCopy2> const & regions_ ) VULKAN_HPP_NOEXCEPT { regionCount = static_cast<uint32_t>( regions_.size() ); pRegions = regions_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCopyBufferToImageInfo2 const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCopyBufferToImageInfo2 *>( this ); } operator VkCopyBufferToImageInfo2 &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCopyBufferToImageInfo2 *>( this ); } operator VkCopyBufferToImageInfo2 const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCopyBufferToImageInfo2 *>( this ); } operator VkCopyBufferToImageInfo2 *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCopyBufferToImageInfo2 *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std:: tuple<StructureType const &, const void * const &, Buffer const &, Image const &, ImageLayout const &, uint32_t const &, const BufferImageCopy2 * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CopyBufferToImageInfo2 const & ) const = default; #else bool operator==( CopyBufferToImageInfo2 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 ) && ( srcBuffer == rhs.srcBuffer ) && ( dstImage == rhs.dstImage ) && ( dstImageLayout == rhs.dstImageLayout ) && ( regionCount == rhs.regionCount ) && ( pRegions == rhs.pRegions ); # endif } bool operator!=( CopyBufferToImageInfo2 const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eCopyBufferToImageInfo2; const void * pNext = {}; Buffer srcBuffer = {}; Image dstImage = {}; ImageLayout dstImageLayout = ImageLayout::eUndefined; uint32_t regionCount = {}; const BufferImageCopy2 * pRegions = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCopyBufferToImageInfo2> { using Type = CopyBufferToImageInfo2; }; #endif template <> struct CppType<StructureType, StructureType::eCopyBufferToImageInfo2> { using Type = CopyBufferToImageInfo2; }; using CopyBufferToImageInfo2KHR = CopyBufferToImageInfo2; // wrapper struct for struct VkCopyCommandTransformInfoQCOM, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCopyCommandTransformInfoQCOM.html struct CopyCommandTransformInfoQCOM { using NativeType = VkCopyCommandTransformInfoQCOM; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCopyCommandTransformInfoQCOM; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CopyCommandTransformInfoQCOM( SurfaceTransformFlagBitsKHR transform_ = SurfaceTransformFlagBitsKHR::eIdentity, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , transform{ transform_ } { } VULKAN_HPP_CONSTEXPR CopyCommandTransformInfoQCOM( CopyCommandTransformInfoQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default; CopyCommandTransformInfoQCOM( VkCopyCommandTransformInfoQCOM const & rhs ) VULKAN_HPP_NOEXCEPT : CopyCommandTransformInfoQCOM( *reinterpret_cast<CopyCommandTransformInfoQCOM const *>( &rhs ) ) { } CopyCommandTransformInfoQCOM & operator=( CopyCommandTransformInfoQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CopyCommandTransformInfoQCOM & operator=( VkCopyCommandTransformInfoQCOM const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CopyCommandTransformInfoQCOM const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CopyCommandTransformInfoQCOM & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyCommandTransformInfoQCOM & setTransform( SurfaceTransformFlagBitsKHR transform_ ) VULKAN_HPP_NOEXCEPT { transform = transform_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCopyCommandTransformInfoQCOM const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCopyCommandTransformInfoQCOM *>( this ); } operator VkCopyCommandTransformInfoQCOM &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCopyCommandTransformInfoQCOM *>( this ); } operator VkCopyCommandTransformInfoQCOM const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCopyCommandTransformInfoQCOM *>( this ); } operator VkCopyCommandTransformInfoQCOM *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCopyCommandTransformInfoQCOM *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, SurfaceTransformFlagBitsKHR const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, transform ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CopyCommandTransformInfoQCOM const & ) const = default; #else bool operator==( CopyCommandTransformInfoQCOM 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 ) && ( transform == rhs.transform ); # endif } bool operator!=( CopyCommandTransformInfoQCOM const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eCopyCommandTransformInfoQCOM; const void * pNext = {}; SurfaceTransformFlagBitsKHR transform = SurfaceTransformFlagBitsKHR::eIdentity; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCopyCommandTransformInfoQCOM> { using Type = CopyCommandTransformInfoQCOM; }; #endif template <> struct CppType<StructureType, StructureType::eCopyCommandTransformInfoQCOM> { using Type = CopyCommandTransformInfoQCOM; }; // wrapper struct for struct VkCopyDescriptorSet, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCopyDescriptorSet.html struct CopyDescriptorSet { using NativeType = VkCopyDescriptorSet; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCopyDescriptorSet; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CopyDescriptorSet( DescriptorSet srcSet_ = {}, uint32_t srcBinding_ = {}, uint32_t srcArrayElement_ = {}, DescriptorSet dstSet_ = {}, uint32_t dstBinding_ = {}, uint32_t dstArrayElement_ = {}, uint32_t descriptorCount_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , srcSet{ srcSet_ } , srcBinding{ srcBinding_ } , srcArrayElement{ srcArrayElement_ } , dstSet{ dstSet_ } , dstBinding{ dstBinding_ } , dstArrayElement{ dstArrayElement_ } , descriptorCount{ descriptorCount_ } { } VULKAN_HPP_CONSTEXPR CopyDescriptorSet( CopyDescriptorSet const & rhs ) VULKAN_HPP_NOEXCEPT = default; CopyDescriptorSet( VkCopyDescriptorSet const & rhs ) VULKAN_HPP_NOEXCEPT : CopyDescriptorSet( *reinterpret_cast<CopyDescriptorSet const *>( &rhs ) ) {} CopyDescriptorSet & operator=( CopyDescriptorSet const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CopyDescriptorSet & operator=( VkCopyDescriptorSet const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CopyDescriptorSet const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CopyDescriptorSet & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyDescriptorSet & setSrcSet( DescriptorSet srcSet_ ) VULKAN_HPP_NOEXCEPT { srcSet = srcSet_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyDescriptorSet & setSrcBinding( uint32_t srcBinding_ ) VULKAN_HPP_NOEXCEPT { srcBinding = srcBinding_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyDescriptorSet & setSrcArrayElement( uint32_t srcArrayElement_ ) VULKAN_HPP_NOEXCEPT { srcArrayElement = srcArrayElement_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyDescriptorSet & setDstSet( DescriptorSet dstSet_ ) VULKAN_HPP_NOEXCEPT { dstSet = dstSet_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyDescriptorSet & setDstBinding( uint32_t dstBinding_ ) VULKAN_HPP_NOEXCEPT { dstBinding = dstBinding_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyDescriptorSet & setDstArrayElement( uint32_t dstArrayElement_ ) VULKAN_HPP_NOEXCEPT { dstArrayElement = dstArrayElement_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyDescriptorSet & setDescriptorCount( uint32_t descriptorCount_ ) VULKAN_HPP_NOEXCEPT { descriptorCount = descriptorCount_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCopyDescriptorSet const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCopyDescriptorSet *>( this ); } operator VkCopyDescriptorSet &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCopyDescriptorSet *>( this ); } operator VkCopyDescriptorSet const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCopyDescriptorSet *>( this ); } operator VkCopyDescriptorSet *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCopyDescriptorSet *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DescriptorSet const &, uint32_t const &, uint32_t const &, DescriptorSet const &, uint32_t const &, uint32_t const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, srcSet, srcBinding, srcArrayElement, dstSet, dstBinding, dstArrayElement, descriptorCount ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CopyDescriptorSet const & ) const = default; #else bool operator==( CopyDescriptorSet 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 ) && ( srcSet == rhs.srcSet ) && ( srcBinding == rhs.srcBinding ) && ( srcArrayElement == rhs.srcArrayElement ) && ( dstSet == rhs.dstSet ) && ( dstBinding == rhs.dstBinding ) && ( dstArrayElement == rhs.dstArrayElement ) && ( descriptorCount == rhs.descriptorCount ); # endif } bool operator!=( CopyDescriptorSet const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eCopyDescriptorSet; const void * pNext = {}; DescriptorSet srcSet = {}; uint32_t srcBinding = {}; uint32_t srcArrayElement = {}; DescriptorSet dstSet = {}; uint32_t dstBinding = {}; uint32_t dstArrayElement = {}; uint32_t descriptorCount = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCopyDescriptorSet> { using Type = CopyDescriptorSet; }; #endif template <> struct CppType<StructureType, StructureType::eCopyDescriptorSet> { using Type = CopyDescriptorSet; }; // wrapper struct for struct VkImageCopy2, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageCopy2.html struct ImageCopy2 { using NativeType = VkImageCopy2; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageCopy2; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ImageCopy2( ImageSubresourceLayers srcSubresource_ = {}, Offset3D srcOffset_ = {}, ImageSubresourceLayers dstSubresource_ = {}, Offset3D dstOffset_ = {}, Extent3D extent_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , srcSubresource{ srcSubresource_ } , srcOffset{ srcOffset_ } , dstSubresource{ dstSubresource_ } , dstOffset{ dstOffset_ } , extent{ extent_ } { } VULKAN_HPP_CONSTEXPR ImageCopy2( ImageCopy2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; ImageCopy2( VkImageCopy2 const & rhs ) VULKAN_HPP_NOEXCEPT : ImageCopy2( *reinterpret_cast<ImageCopy2 const *>( &rhs ) ) {} ImageCopy2 & operator=( ImageCopy2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ImageCopy2 & operator=( VkImageCopy2 const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ImageCopy2 const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ImageCopy2 & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageCopy2 & setSrcSubresource( ImageSubresourceLayers const & srcSubresource_ ) VULKAN_HPP_NOEXCEPT { srcSubresource = srcSubresource_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageCopy2 & setSrcOffset( Offset3D const & srcOffset_ ) VULKAN_HPP_NOEXCEPT { srcOffset = srcOffset_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageCopy2 & setDstSubresource( ImageSubresourceLayers const & dstSubresource_ ) VULKAN_HPP_NOEXCEPT { dstSubresource = dstSubresource_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageCopy2 & setDstOffset( Offset3D const & dstOffset_ ) VULKAN_HPP_NOEXCEPT { dstOffset = dstOffset_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageCopy2 & setExtent( Extent3D const & extent_ ) VULKAN_HPP_NOEXCEPT { extent = extent_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkImageCopy2 const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkImageCopy2 *>( this ); } operator VkImageCopy2 &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkImageCopy2 *>( this ); } operator VkImageCopy2 const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkImageCopy2 *>( this ); } operator VkImageCopy2 *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkImageCopy2 *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, ImageSubresourceLayers const &, Offset3D const &, ImageSubresourceLayers const &, Offset3D const &, Extent3D const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, srcSubresource, srcOffset, dstSubresource, dstOffset, extent ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ImageCopy2 const & ) const = default; #else bool operator==( ImageCopy2 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 ) && ( srcSubresource == rhs.srcSubresource ) && ( srcOffset == rhs.srcOffset ) && ( dstSubresource == rhs.dstSubresource ) && ( dstOffset == rhs.dstOffset ) && ( extent == rhs.extent ); # endif } bool operator!=( ImageCopy2 const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eImageCopy2; const void * pNext = {}; ImageSubresourceLayers srcSubresource = {}; Offset3D srcOffset = {}; ImageSubresourceLayers dstSubresource = {}; Offset3D dstOffset = {}; Extent3D extent = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkImageCopy2> { using Type = ImageCopy2; }; #endif template <> struct CppType<StructureType, StructureType::eImageCopy2> { using Type = ImageCopy2; }; using ImageCopy2KHR = ImageCopy2; // wrapper struct for struct VkCopyImageInfo2, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCopyImageInfo2.html struct CopyImageInfo2 { using NativeType = VkCopyImageInfo2; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCopyImageInfo2; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CopyImageInfo2( Image srcImage_ = {}, ImageLayout srcImageLayout_ = ImageLayout::eUndefined, Image dstImage_ = {}, ImageLayout dstImageLayout_ = ImageLayout::eUndefined, uint32_t regionCount_ = {}, const ImageCopy2 * pRegions_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , srcImage{ srcImage_ } , srcImageLayout{ srcImageLayout_ } , dstImage{ dstImage_ } , dstImageLayout{ dstImageLayout_ } , regionCount{ regionCount_ } , pRegions{ pRegions_ } { } VULKAN_HPP_CONSTEXPR CopyImageInfo2( CopyImageInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; CopyImageInfo2( VkCopyImageInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT : CopyImageInfo2( *reinterpret_cast<CopyImageInfo2 const *>( &rhs ) ) {} # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) CopyImageInfo2( Image srcImage_, ImageLayout srcImageLayout_, Image dstImage_, ImageLayout dstImageLayout_, ArrayProxyNoTemporaries<const ImageCopy2> const & regions_, const void * pNext_ = nullptr ) : pNext( pNext_ ) , srcImage( srcImage_ ) , srcImageLayout( srcImageLayout_ ) , dstImage( dstImage_ ) , dstImageLayout( dstImageLayout_ ) , regionCount( static_cast<uint32_t>( regions_.size() ) ) , pRegions( regions_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ CopyImageInfo2 & operator=( CopyImageInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CopyImageInfo2 & operator=( VkCopyImageInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CopyImageInfo2 const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CopyImageInfo2 & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyImageInfo2 & setSrcImage( Image srcImage_ ) VULKAN_HPP_NOEXCEPT { srcImage = srcImage_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyImageInfo2 & setSrcImageLayout( ImageLayout srcImageLayout_ ) VULKAN_HPP_NOEXCEPT { srcImageLayout = srcImageLayout_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyImageInfo2 & setDstImage( Image dstImage_ ) VULKAN_HPP_NOEXCEPT { dstImage = dstImage_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyImageInfo2 & setDstImageLayout( ImageLayout dstImageLayout_ ) VULKAN_HPP_NOEXCEPT { dstImageLayout = dstImageLayout_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyImageInfo2 & setRegionCount( uint32_t regionCount_ ) VULKAN_HPP_NOEXCEPT { regionCount = regionCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyImageInfo2 & setPRegions( const ImageCopy2 * pRegions_ ) VULKAN_HPP_NOEXCEPT { pRegions = pRegions_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) CopyImageInfo2 & setRegions( ArrayProxyNoTemporaries<const ImageCopy2> const & regions_ ) VULKAN_HPP_NOEXCEPT { regionCount = static_cast<uint32_t>( regions_.size() ); pRegions = regions_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCopyImageInfo2 const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCopyImageInfo2 *>( this ); } operator VkCopyImageInfo2 &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCopyImageInfo2 *>( this ); } operator VkCopyImageInfo2 const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCopyImageInfo2 *>( this ); } operator VkCopyImageInfo2 *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCopyImageInfo2 *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Image const &, ImageLayout const &, Image const &, ImageLayout const &, uint32_t const &, const ImageCopy2 * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CopyImageInfo2 const & ) const = default; #else bool operator==( CopyImageInfo2 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 ) && ( srcImage == rhs.srcImage ) && ( srcImageLayout == rhs.srcImageLayout ) && ( dstImage == rhs.dstImage ) && ( dstImageLayout == rhs.dstImageLayout ) && ( regionCount == rhs.regionCount ) && ( pRegions == rhs.pRegions ); # endif } bool operator!=( CopyImageInfo2 const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eCopyImageInfo2; const void * pNext = {}; Image srcImage = {}; ImageLayout srcImageLayout = ImageLayout::eUndefined; Image dstImage = {}; ImageLayout dstImageLayout = ImageLayout::eUndefined; uint32_t regionCount = {}; const ImageCopy2 * pRegions = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCopyImageInfo2> { using Type = CopyImageInfo2; }; #endif template <> struct CppType<StructureType, StructureType::eCopyImageInfo2> { using Type = CopyImageInfo2; }; using CopyImageInfo2KHR = CopyImageInfo2; // wrapper struct for struct VkCopyImageToBufferInfo2, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCopyImageToBufferInfo2.html struct CopyImageToBufferInfo2 { using NativeType = VkCopyImageToBufferInfo2; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCopyImageToBufferInfo2; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CopyImageToBufferInfo2( Image srcImage_ = {}, ImageLayout srcImageLayout_ = ImageLayout::eUndefined, Buffer dstBuffer_ = {}, uint32_t regionCount_ = {}, const BufferImageCopy2 * pRegions_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , srcImage{ srcImage_ } , srcImageLayout{ srcImageLayout_ } , dstBuffer{ dstBuffer_ } , regionCount{ regionCount_ } , pRegions{ pRegions_ } { } VULKAN_HPP_CONSTEXPR CopyImageToBufferInfo2( CopyImageToBufferInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; CopyImageToBufferInfo2( VkCopyImageToBufferInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT : CopyImageToBufferInfo2( *reinterpret_cast<CopyImageToBufferInfo2 const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) CopyImageToBufferInfo2( Image srcImage_, ImageLayout srcImageLayout_, Buffer dstBuffer_, ArrayProxyNoTemporaries<const BufferImageCopy2> const & regions_, const void * pNext_ = nullptr ) : pNext( pNext_ ) , srcImage( srcImage_ ) , srcImageLayout( srcImageLayout_ ) , dstBuffer( dstBuffer_ ) , regionCount( static_cast<uint32_t>( regions_.size() ) ) , pRegions( regions_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ CopyImageToBufferInfo2 & operator=( CopyImageToBufferInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CopyImageToBufferInfo2 & operator=( VkCopyImageToBufferInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CopyImageToBufferInfo2 const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CopyImageToBufferInfo2 & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyImageToBufferInfo2 & setSrcImage( Image srcImage_ ) VULKAN_HPP_NOEXCEPT { srcImage = srcImage_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyImageToBufferInfo2 & setSrcImageLayout( ImageLayout srcImageLayout_ ) VULKAN_HPP_NOEXCEPT { srcImageLayout = srcImageLayout_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyImageToBufferInfo2 & setDstBuffer( Buffer dstBuffer_ ) VULKAN_HPP_NOEXCEPT { dstBuffer = dstBuffer_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyImageToBufferInfo2 & setRegionCount( uint32_t regionCount_ ) VULKAN_HPP_NOEXCEPT { regionCount = regionCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyImageToBufferInfo2 & setPRegions( const BufferImageCopy2 * pRegions_ ) VULKAN_HPP_NOEXCEPT { pRegions = pRegions_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) CopyImageToBufferInfo2 & setRegions( ArrayProxyNoTemporaries<const BufferImageCopy2> const & regions_ ) VULKAN_HPP_NOEXCEPT { regionCount = static_cast<uint32_t>( regions_.size() ); pRegions = regions_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCopyImageToBufferInfo2 const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCopyImageToBufferInfo2 *>( this ); } operator VkCopyImageToBufferInfo2 &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCopyImageToBufferInfo2 *>( this ); } operator VkCopyImageToBufferInfo2 const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCopyImageToBufferInfo2 *>( this ); } operator VkCopyImageToBufferInfo2 *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCopyImageToBufferInfo2 *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std:: tuple<StructureType const &, const void * const &, Image const &, ImageLayout const &, Buffer const &, uint32_t const &, const BufferImageCopy2 * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CopyImageToBufferInfo2 const & ) const = default; #else bool operator==( CopyImageToBufferInfo2 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 ) && ( srcImage == rhs.srcImage ) && ( srcImageLayout == rhs.srcImageLayout ) && ( dstBuffer == rhs.dstBuffer ) && ( regionCount == rhs.regionCount ) && ( pRegions == rhs.pRegions ); # endif } bool operator!=( CopyImageToBufferInfo2 const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eCopyImageToBufferInfo2; const void * pNext = {}; Image srcImage = {}; ImageLayout srcImageLayout = ImageLayout::eUndefined; Buffer dstBuffer = {}; uint32_t regionCount = {}; const BufferImageCopy2 * pRegions = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCopyImageToBufferInfo2> { using Type = CopyImageToBufferInfo2; }; #endif template <> struct CppType<StructureType, StructureType::eCopyImageToBufferInfo2> { using Type = CopyImageToBufferInfo2; }; using CopyImageToBufferInfo2KHR = CopyImageToBufferInfo2; // wrapper struct for struct VkCopyImageToImageInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCopyImageToImageInfo.html struct CopyImageToImageInfo { using NativeType = VkCopyImageToImageInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCopyImageToImageInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CopyImageToImageInfo( HostImageCopyFlags flags_ = {}, Image srcImage_ = {}, ImageLayout srcImageLayout_ = ImageLayout::eUndefined, Image dstImage_ = {}, ImageLayout dstImageLayout_ = ImageLayout::eUndefined, uint32_t regionCount_ = {}, const ImageCopy2 * pRegions_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , srcImage{ srcImage_ } , srcImageLayout{ srcImageLayout_ } , dstImage{ dstImage_ } , dstImageLayout{ dstImageLayout_ } , regionCount{ regionCount_ } , pRegions{ pRegions_ } { } VULKAN_HPP_CONSTEXPR CopyImageToImageInfo( CopyImageToImageInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; CopyImageToImageInfo( VkCopyImageToImageInfo const & rhs ) VULKAN_HPP_NOEXCEPT : CopyImageToImageInfo( *reinterpret_cast<CopyImageToImageInfo const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) CopyImageToImageInfo( HostImageCopyFlags flags_, Image srcImage_, ImageLayout srcImageLayout_, Image dstImage_, ImageLayout dstImageLayout_, ArrayProxyNoTemporaries<const ImageCopy2> const & regions_, const void * pNext_ = nullptr ) : pNext( pNext_ ) , flags( flags_ ) , srcImage( srcImage_ ) , srcImageLayout( srcImageLayout_ ) , dstImage( dstImage_ ) , dstImageLayout( dstImageLayout_ ) , regionCount( static_cast<uint32_t>( regions_.size() ) ) , pRegions( regions_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ CopyImageToImageInfo & operator=( CopyImageToImageInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CopyImageToImageInfo & operator=( VkCopyImageToImageInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CopyImageToImageInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CopyImageToImageInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyImageToImageInfo & setFlags( HostImageCopyFlags flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyImageToImageInfo & setSrcImage( Image srcImage_ ) VULKAN_HPP_NOEXCEPT { srcImage = srcImage_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyImageToImageInfo & setSrcImageLayout( ImageLayout srcImageLayout_ ) VULKAN_HPP_NOEXCEPT { srcImageLayout = srcImageLayout_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyImageToImageInfo & setDstImage( Image dstImage_ ) VULKAN_HPP_NOEXCEPT { dstImage = dstImage_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyImageToImageInfo & setDstImageLayout( ImageLayout dstImageLayout_ ) VULKAN_HPP_NOEXCEPT { dstImageLayout = dstImageLayout_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyImageToImageInfo & setRegionCount( uint32_t regionCount_ ) VULKAN_HPP_NOEXCEPT { regionCount = regionCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyImageToImageInfo & setPRegions( const ImageCopy2 * pRegions_ ) VULKAN_HPP_NOEXCEPT { pRegions = pRegions_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) CopyImageToImageInfo & setRegions( ArrayProxyNoTemporaries<const ImageCopy2> const & regions_ ) VULKAN_HPP_NOEXCEPT { regionCount = static_cast<uint32_t>( regions_.size() ); pRegions = regions_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCopyImageToImageInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCopyImageToImageInfo *>( this ); } operator VkCopyImageToImageInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCopyImageToImageInfo *>( this ); } operator VkCopyImageToImageInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCopyImageToImageInfo *>( this ); } operator VkCopyImageToImageInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCopyImageToImageInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, HostImageCopyFlags const &, Image const &, ImageLayout const &, Image const &, ImageLayout const &, uint32_t const &, const ImageCopy2 * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CopyImageToImageInfo const & ) const = default; #else bool operator==( CopyImageToImageInfo 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 ) && ( flags == rhs.flags ) && ( srcImage == rhs.srcImage ) && ( srcImageLayout == rhs.srcImageLayout ) && ( dstImage == rhs.dstImage ) && ( dstImageLayout == rhs.dstImageLayout ) && ( regionCount == rhs.regionCount ) && ( pRegions == rhs.pRegions ); # endif } bool operator!=( CopyImageToImageInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eCopyImageToImageInfo; const void * pNext = {}; HostImageCopyFlags flags = {}; Image srcImage = {}; ImageLayout srcImageLayout = ImageLayout::eUndefined; Image dstImage = {}; ImageLayout dstImageLayout = ImageLayout::eUndefined; uint32_t regionCount = {}; const ImageCopy2 * pRegions = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCopyImageToImageInfo> { using Type = CopyImageToImageInfo; }; #endif template <> struct CppType<StructureType, StructureType::eCopyImageToImageInfo> { using Type = CopyImageToImageInfo; }; using CopyImageToImageInfoEXT = CopyImageToImageInfo; // wrapper struct for struct VkImageToMemoryCopy, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageToMemoryCopy.html struct ImageToMemoryCopy { using NativeType = VkImageToMemoryCopy; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageToMemoryCopy; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ImageToMemoryCopy( void * pHostPointer_ = {}, uint32_t memoryRowLength_ = {}, uint32_t memoryImageHeight_ = {}, ImageSubresourceLayers imageSubresource_ = {}, Offset3D imageOffset_ = {}, Extent3D imageExtent_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , pHostPointer{ pHostPointer_ } , memoryRowLength{ memoryRowLength_ } , memoryImageHeight{ memoryImageHeight_ } , imageSubresource{ imageSubresource_ } , imageOffset{ imageOffset_ } , imageExtent{ imageExtent_ } { } VULKAN_HPP_CONSTEXPR ImageToMemoryCopy( ImageToMemoryCopy const & rhs ) VULKAN_HPP_NOEXCEPT = default; ImageToMemoryCopy( VkImageToMemoryCopy const & rhs ) VULKAN_HPP_NOEXCEPT : ImageToMemoryCopy( *reinterpret_cast<ImageToMemoryCopy const *>( &rhs ) ) {} ImageToMemoryCopy & operator=( ImageToMemoryCopy const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ImageToMemoryCopy & operator=( VkImageToMemoryCopy const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ImageToMemoryCopy const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ImageToMemoryCopy & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageToMemoryCopy & setPHostPointer( void * pHostPointer_ ) VULKAN_HPP_NOEXCEPT { pHostPointer = pHostPointer_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageToMemoryCopy & setMemoryRowLength( uint32_t memoryRowLength_ ) VULKAN_HPP_NOEXCEPT { memoryRowLength = memoryRowLength_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageToMemoryCopy & setMemoryImageHeight( uint32_t memoryImageHeight_ ) VULKAN_HPP_NOEXCEPT { memoryImageHeight = memoryImageHeight_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageToMemoryCopy & setImageSubresource( ImageSubresourceLayers const & imageSubresource_ ) VULKAN_HPP_NOEXCEPT { imageSubresource = imageSubresource_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageToMemoryCopy & setImageOffset( Offset3D const & imageOffset_ ) VULKAN_HPP_NOEXCEPT { imageOffset = imageOffset_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageToMemoryCopy & setImageExtent( Extent3D const & imageExtent_ ) VULKAN_HPP_NOEXCEPT { imageExtent = imageExtent_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkImageToMemoryCopy const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkImageToMemoryCopy *>( this ); } operator VkImageToMemoryCopy &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkImageToMemoryCopy *>( this ); } operator VkImageToMemoryCopy const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkImageToMemoryCopy *>( this ); } operator VkImageToMemoryCopy *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkImageToMemoryCopy *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, void * const &, uint32_t const &, uint32_t const &, ImageSubresourceLayers const &, Offset3D const &, Extent3D const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, pHostPointer, memoryRowLength, memoryImageHeight, imageSubresource, imageOffset, imageExtent ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ImageToMemoryCopy const & ) const = default; #else bool operator==( ImageToMemoryCopy 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 ) && ( pHostPointer == rhs.pHostPointer ) && ( memoryRowLength == rhs.memoryRowLength ) && ( memoryImageHeight == rhs.memoryImageHeight ) && ( imageSubresource == rhs.imageSubresource ) && ( imageOffset == rhs.imageOffset ) && ( imageExtent == rhs.imageExtent ); # endif } bool operator!=( ImageToMemoryCopy const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eImageToMemoryCopy; const void * pNext = {}; void * pHostPointer = {}; uint32_t memoryRowLength = {}; uint32_t memoryImageHeight = {}; ImageSubresourceLayers imageSubresource = {}; Offset3D imageOffset = {}; Extent3D imageExtent = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkImageToMemoryCopy> { using Type = ImageToMemoryCopy; }; #endif template <> struct CppType<StructureType, StructureType::eImageToMemoryCopy> { using Type = ImageToMemoryCopy; }; using ImageToMemoryCopyEXT = ImageToMemoryCopy; // wrapper struct for struct VkCopyImageToMemoryInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCopyImageToMemoryInfo.html struct CopyImageToMemoryInfo { using NativeType = VkCopyImageToMemoryInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCopyImageToMemoryInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CopyImageToMemoryInfo( HostImageCopyFlags flags_ = {}, Image srcImage_ = {}, ImageLayout srcImageLayout_ = ImageLayout::eUndefined, uint32_t regionCount_ = {}, const ImageToMemoryCopy * pRegions_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , srcImage{ srcImage_ } , srcImageLayout{ srcImageLayout_ } , regionCount{ regionCount_ } , pRegions{ pRegions_ } { } VULKAN_HPP_CONSTEXPR CopyImageToMemoryInfo( CopyImageToMemoryInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; CopyImageToMemoryInfo( VkCopyImageToMemoryInfo const & rhs ) VULKAN_HPP_NOEXCEPT : CopyImageToMemoryInfo( *reinterpret_cast<CopyImageToMemoryInfo const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) CopyImageToMemoryInfo( HostImageCopyFlags flags_, Image srcImage_, ImageLayout srcImageLayout_, ArrayProxyNoTemporaries<const ImageToMemoryCopy> const & regions_, const void * pNext_ = nullptr ) : pNext( pNext_ ) , flags( flags_ ) , srcImage( srcImage_ ) , srcImageLayout( srcImageLayout_ ) , regionCount( static_cast<uint32_t>( regions_.size() ) ) , pRegions( regions_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ CopyImageToMemoryInfo & operator=( CopyImageToMemoryInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CopyImageToMemoryInfo & operator=( VkCopyImageToMemoryInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CopyImageToMemoryInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CopyImageToMemoryInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyImageToMemoryInfo & setFlags( HostImageCopyFlags flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyImageToMemoryInfo & setSrcImage( Image srcImage_ ) VULKAN_HPP_NOEXCEPT { srcImage = srcImage_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyImageToMemoryInfo & setSrcImageLayout( ImageLayout srcImageLayout_ ) VULKAN_HPP_NOEXCEPT { srcImageLayout = srcImageLayout_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyImageToMemoryInfo & setRegionCount( uint32_t regionCount_ ) VULKAN_HPP_NOEXCEPT { regionCount = regionCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyImageToMemoryInfo & setPRegions( const ImageToMemoryCopy * pRegions_ ) VULKAN_HPP_NOEXCEPT { pRegions = pRegions_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) CopyImageToMemoryInfo & setRegions( ArrayProxyNoTemporaries<const ImageToMemoryCopy> const & regions_ ) VULKAN_HPP_NOEXCEPT { regionCount = static_cast<uint32_t>( regions_.size() ); pRegions = regions_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCopyImageToMemoryInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCopyImageToMemoryInfo *>( this ); } operator VkCopyImageToMemoryInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCopyImageToMemoryInfo *>( this ); } operator VkCopyImageToMemoryInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCopyImageToMemoryInfo *>( this ); } operator VkCopyImageToMemoryInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCopyImageToMemoryInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, HostImageCopyFlags const &, Image const &, ImageLayout const &, uint32_t const &, const ImageToMemoryCopy * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, srcImage, srcImageLayout, regionCount, pRegions ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CopyImageToMemoryInfo const & ) const = default; #else bool operator==( CopyImageToMemoryInfo 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 ) && ( flags == rhs.flags ) && ( srcImage == rhs.srcImage ) && ( srcImageLayout == rhs.srcImageLayout ) && ( regionCount == rhs.regionCount ) && ( pRegions == rhs.pRegions ); # endif } bool operator!=( CopyImageToMemoryInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eCopyImageToMemoryInfo; const void * pNext = {}; HostImageCopyFlags flags = {}; Image srcImage = {}; ImageLayout srcImageLayout = ImageLayout::eUndefined; uint32_t regionCount = {}; const ImageToMemoryCopy * pRegions = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCopyImageToMemoryInfo> { using Type = CopyImageToMemoryInfo; }; #endif template <> struct CppType<StructureType, StructureType::eCopyImageToMemoryInfo> { using Type = CopyImageToMemoryInfo; }; using CopyImageToMemoryInfoEXT = CopyImageToMemoryInfo; // wrapper struct for struct VkCopyMemoryIndirectCommandKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCopyMemoryIndirectCommandKHR.html struct CopyMemoryIndirectCommandKHR { using NativeType = VkCopyMemoryIndirectCommandKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CopyMemoryIndirectCommandKHR( DeviceAddress srcAddress_ = {}, DeviceAddress dstAddress_ = {}, DeviceSize size_ = {} ) VULKAN_HPP_NOEXCEPT : srcAddress{ srcAddress_ } , dstAddress{ dstAddress_ } , size{ size_ } { } VULKAN_HPP_CONSTEXPR CopyMemoryIndirectCommandKHR( CopyMemoryIndirectCommandKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; CopyMemoryIndirectCommandKHR( VkCopyMemoryIndirectCommandKHR const & rhs ) VULKAN_HPP_NOEXCEPT : CopyMemoryIndirectCommandKHR( *reinterpret_cast<CopyMemoryIndirectCommandKHR const *>( &rhs ) ) { } CopyMemoryIndirectCommandKHR & operator=( CopyMemoryIndirectCommandKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CopyMemoryIndirectCommandKHR & operator=( VkCopyMemoryIndirectCommandKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CopyMemoryIndirectCommandKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CopyMemoryIndirectCommandKHR & setSrcAddress( DeviceAddress srcAddress_ ) VULKAN_HPP_NOEXCEPT { srcAddress = srcAddress_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyMemoryIndirectCommandKHR & setDstAddress( DeviceAddress dstAddress_ ) VULKAN_HPP_NOEXCEPT { dstAddress = dstAddress_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyMemoryIndirectCommandKHR & setSize( DeviceSize size_ ) VULKAN_HPP_NOEXCEPT { size = size_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCopyMemoryIndirectCommandKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCopyMemoryIndirectCommandKHR *>( this ); } operator VkCopyMemoryIndirectCommandKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCopyMemoryIndirectCommandKHR *>( this ); } operator VkCopyMemoryIndirectCommandKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCopyMemoryIndirectCommandKHR *>( this ); } operator VkCopyMemoryIndirectCommandKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCopyMemoryIndirectCommandKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<DeviceAddress const &, DeviceAddress const &, DeviceSize const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( srcAddress, dstAddress, size ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CopyMemoryIndirectCommandKHR const & ) const = default; #else bool operator==( CopyMemoryIndirectCommandKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( srcAddress == rhs.srcAddress ) && ( dstAddress == rhs.dstAddress ) && ( size == rhs.size ); # endif } bool operator!=( CopyMemoryIndirectCommandKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: DeviceAddress srcAddress = {}; DeviceAddress dstAddress = {}; DeviceSize size = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCopyMemoryIndirectCommandKHR> { using Type = CopyMemoryIndirectCommandKHR; }; #endif using CopyMemoryIndirectCommandNV = CopyMemoryIndirectCommandKHR; // wrapper struct for struct VkStridedDeviceAddressRangeKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkStridedDeviceAddressRangeKHR.html struct StridedDeviceAddressRangeKHR { using NativeType = VkStridedDeviceAddressRangeKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR StridedDeviceAddressRangeKHR( DeviceAddress address_ = {}, DeviceSize size_ = {}, DeviceSize stride_ = {} ) VULKAN_HPP_NOEXCEPT : address{ address_ } , size{ size_ } , stride{ stride_ } { } VULKAN_HPP_CONSTEXPR StridedDeviceAddressRangeKHR( StridedDeviceAddressRangeKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; StridedDeviceAddressRangeKHR( VkStridedDeviceAddressRangeKHR const & rhs ) VULKAN_HPP_NOEXCEPT : StridedDeviceAddressRangeKHR( *reinterpret_cast<StridedDeviceAddressRangeKHR const *>( &rhs ) ) { } StridedDeviceAddressRangeKHR & operator=( StridedDeviceAddressRangeKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ StridedDeviceAddressRangeKHR & operator=( VkStridedDeviceAddressRangeKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<StridedDeviceAddressRangeKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 StridedDeviceAddressRangeKHR & setAddress( DeviceAddress address_ ) VULKAN_HPP_NOEXCEPT { address = address_; return *this; } VULKAN_HPP_CONSTEXPR_14 StridedDeviceAddressRangeKHR & setSize( DeviceSize size_ ) VULKAN_HPP_NOEXCEPT { size = size_; return *this; } VULKAN_HPP_CONSTEXPR_14 StridedDeviceAddressRangeKHR & setStride( DeviceSize stride_ ) VULKAN_HPP_NOEXCEPT { stride = stride_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkStridedDeviceAddressRangeKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkStridedDeviceAddressRangeKHR *>( this ); } operator VkStridedDeviceAddressRangeKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkStridedDeviceAddressRangeKHR *>( this ); } operator VkStridedDeviceAddressRangeKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkStridedDeviceAddressRangeKHR *>( this ); } operator VkStridedDeviceAddressRangeKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkStridedDeviceAddressRangeKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<DeviceAddress const &, DeviceSize const &, DeviceSize const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( address, size, stride ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( StridedDeviceAddressRangeKHR const & ) const = default; #else bool operator==( StridedDeviceAddressRangeKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( address == rhs.address ) && ( size == rhs.size ) && ( stride == rhs.stride ); # endif } bool operator!=( StridedDeviceAddressRangeKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: DeviceAddress address = {}; DeviceSize size = {}; DeviceSize stride = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkStridedDeviceAddressRangeKHR> { using Type = StridedDeviceAddressRangeKHR; }; #endif // wrapper struct for struct VkCopyMemoryIndirectInfoKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCopyMemoryIndirectInfoKHR.html struct CopyMemoryIndirectInfoKHR { using NativeType = VkCopyMemoryIndirectInfoKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCopyMemoryIndirectInfoKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CopyMemoryIndirectInfoKHR( AddressCopyFlagsKHR srcCopyFlags_ = {}, AddressCopyFlagsKHR dstCopyFlags_ = {}, uint32_t copyCount_ = {}, StridedDeviceAddressRangeKHR copyAddressRange_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , srcCopyFlags{ srcCopyFlags_ } , dstCopyFlags{ dstCopyFlags_ } , copyCount{ copyCount_ } , copyAddressRange{ copyAddressRange_ } { } VULKAN_HPP_CONSTEXPR CopyMemoryIndirectInfoKHR( CopyMemoryIndirectInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; CopyMemoryIndirectInfoKHR( VkCopyMemoryIndirectInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : CopyMemoryIndirectInfoKHR( *reinterpret_cast<CopyMemoryIndirectInfoKHR const *>( &rhs ) ) { } CopyMemoryIndirectInfoKHR & operator=( CopyMemoryIndirectInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CopyMemoryIndirectInfoKHR & operator=( VkCopyMemoryIndirectInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CopyMemoryIndirectInfoKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CopyMemoryIndirectInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyMemoryIndirectInfoKHR & setSrcCopyFlags( AddressCopyFlagsKHR srcCopyFlags_ ) VULKAN_HPP_NOEXCEPT { srcCopyFlags = srcCopyFlags_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyMemoryIndirectInfoKHR & setDstCopyFlags( AddressCopyFlagsKHR dstCopyFlags_ ) VULKAN_HPP_NOEXCEPT { dstCopyFlags = dstCopyFlags_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyMemoryIndirectInfoKHR & setCopyCount( uint32_t copyCount_ ) VULKAN_HPP_NOEXCEPT { copyCount = copyCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyMemoryIndirectInfoKHR & setCopyAddressRange( StridedDeviceAddressRangeKHR const & copyAddressRange_ ) VULKAN_HPP_NOEXCEPT { copyAddressRange = copyAddressRange_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCopyMemoryIndirectInfoKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCopyMemoryIndirectInfoKHR *>( this ); } operator VkCopyMemoryIndirectInfoKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCopyMemoryIndirectInfoKHR *>( this ); } operator VkCopyMemoryIndirectInfoKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCopyMemoryIndirectInfoKHR *>( this ); } operator VkCopyMemoryIndirectInfoKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCopyMemoryIndirectInfoKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, AddressCopyFlagsKHR const &, AddressCopyFlagsKHR const &, uint32_t const &, StridedDeviceAddressRangeKHR const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, srcCopyFlags, dstCopyFlags, copyCount, copyAddressRange ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CopyMemoryIndirectInfoKHR const & ) const = default; #else bool operator==( CopyMemoryIndirectInfoKHR 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 ) && ( srcCopyFlags == rhs.srcCopyFlags ) && ( dstCopyFlags == rhs.dstCopyFlags ) && ( copyCount == rhs.copyCount ) && ( copyAddressRange == rhs.copyAddressRange ); # endif } bool operator!=( CopyMemoryIndirectInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eCopyMemoryIndirectInfoKHR; const void * pNext = {}; AddressCopyFlagsKHR srcCopyFlags = {}; AddressCopyFlagsKHR dstCopyFlags = {}; uint32_t copyCount = {}; StridedDeviceAddressRangeKHR copyAddressRange = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCopyMemoryIndirectInfoKHR> { using Type = CopyMemoryIndirectInfoKHR; }; #endif template <> struct CppType<StructureType, StructureType::eCopyMemoryIndirectInfoKHR> { using Type = CopyMemoryIndirectInfoKHR; }; // wrapper struct for struct VkCopyMemoryToAccelerationStructureInfoKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkCopyMemoryToAccelerationStructureInfoKHR.html struct CopyMemoryToAccelerationStructureInfoKHR { using NativeType = VkCopyMemoryToAccelerationStructureInfoKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCopyMemoryToAccelerationStructureInfoKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 CopyMemoryToAccelerationStructureInfoKHR( DeviceOrHostAddressConstKHR src_ = {}, AccelerationStructureKHR dst_ = {}, CopyAccelerationStructureModeKHR mode_ = CopyAccelerationStructureModeKHR::eClone, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , src{ src_ } , dst{ dst_ } , mode{ mode_ } { } VULKAN_HPP_CONSTEXPR_14 CopyMemoryToAccelerationStructureInfoKHR( CopyMemoryToAccelerationStructureInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; CopyMemoryToAccelerationStructureInfoKHR( VkCopyMemoryToAccelerationStructureInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : CopyMemoryToAccelerationStructureInfoKHR( *reinterpret_cast<CopyMemoryToAccelerationStructureInfoKHR const *>( &rhs ) ) { } CopyMemoryToAccelerationStructureInfoKHR & operator=( CopyMemoryToAccelerationStructureInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CopyMemoryToAccelerationStructureInfoKHR & operator=( VkCopyMemoryToAccelerationStructureInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CopyMemoryToAccelerationStructureInfoKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CopyMemoryToAccelerationStructureInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyMemoryToAccelerationStructureInfoKHR & setSrc( DeviceOrHostAddressConstKHR const & src_ ) VULKAN_HPP_NOEXCEPT { src = src_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyMemoryToAccelerationStructureInfoKHR & setDst( AccelerationStructureKHR dst_ ) VULKAN_HPP_NOEXCEPT { dst = dst_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyMemoryToAccelerationStructureInfoKHR & setMode( CopyAccelerationStructureModeKHR mode_ ) VULKAN_HPP_NOEXCEPT { mode = mode_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCopyMemoryToAccelerationStructureInfoKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCopyMemoryToAccelerationStructureInfoKHR *>( this ); } operator VkCopyMemoryToAccelerationStructureInfoKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCopyMemoryToAccelerationStructureInfoKHR *>( this ); } operator VkCopyMemoryToAccelerationStructureInfoKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCopyMemoryToAccelerationStructureInfoKHR *>( this ); } operator VkCopyMemoryToAccelerationStructureInfoKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCopyMemoryToAccelerationStructureInfoKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DeviceOrHostAddressConstKHR const &, AccelerationStructureKHR const &, CopyAccelerationStructureModeKHR const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, src, dst, mode ); } #endif public: StructureType sType = StructureType::eCopyMemoryToAccelerationStructureInfoKHR; const void * pNext = {}; DeviceOrHostAddressConstKHR src = {}; AccelerationStructureKHR dst = {}; CopyAccelerationStructureModeKHR mode = CopyAccelerationStructureModeKHR::eClone; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCopyMemoryToAccelerationStructureInfoKHR> { using Type = CopyMemoryToAccelerationStructureInfoKHR; }; #endif template <> struct CppType<StructureType, StructureType::eCopyMemoryToAccelerationStructureInfoKHR> { using Type = CopyMemoryToAccelerationStructureInfoKHR; }; // wrapper struct for struct VkCopyMemoryToImageIndirectCommandKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkCopyMemoryToImageIndirectCommandKHR.html struct CopyMemoryToImageIndirectCommandKHR { using NativeType = VkCopyMemoryToImageIndirectCommandKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CopyMemoryToImageIndirectCommandKHR( DeviceAddress srcAddress_ = {}, uint32_t bufferRowLength_ = {}, uint32_t bufferImageHeight_ = {}, ImageSubresourceLayers imageSubresource_ = {}, Offset3D imageOffset_ = {}, Extent3D imageExtent_ = {} ) VULKAN_HPP_NOEXCEPT : srcAddress{ srcAddress_ } , bufferRowLength{ bufferRowLength_ } , bufferImageHeight{ bufferImageHeight_ } , imageSubresource{ imageSubresource_ } , imageOffset{ imageOffset_ } , imageExtent{ imageExtent_ } { } VULKAN_HPP_CONSTEXPR CopyMemoryToImageIndirectCommandKHR( CopyMemoryToImageIndirectCommandKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; CopyMemoryToImageIndirectCommandKHR( VkCopyMemoryToImageIndirectCommandKHR const & rhs ) VULKAN_HPP_NOEXCEPT : CopyMemoryToImageIndirectCommandKHR( *reinterpret_cast<CopyMemoryToImageIndirectCommandKHR const *>( &rhs ) ) { } CopyMemoryToImageIndirectCommandKHR & operator=( CopyMemoryToImageIndirectCommandKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CopyMemoryToImageIndirectCommandKHR & operator=( VkCopyMemoryToImageIndirectCommandKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CopyMemoryToImageIndirectCommandKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CopyMemoryToImageIndirectCommandKHR & setSrcAddress( DeviceAddress srcAddress_ ) VULKAN_HPP_NOEXCEPT { srcAddress = srcAddress_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyMemoryToImageIndirectCommandKHR & setBufferRowLength( uint32_t bufferRowLength_ ) VULKAN_HPP_NOEXCEPT { bufferRowLength = bufferRowLength_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyMemoryToImageIndirectCommandKHR & setBufferImageHeight( uint32_t bufferImageHeight_ ) VULKAN_HPP_NOEXCEPT { bufferImageHeight = bufferImageHeight_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyMemoryToImageIndirectCommandKHR & setImageSubresource( ImageSubresourceLayers const & imageSubresource_ ) VULKAN_HPP_NOEXCEPT { imageSubresource = imageSubresource_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyMemoryToImageIndirectCommandKHR & setImageOffset( Offset3D const & imageOffset_ ) VULKAN_HPP_NOEXCEPT { imageOffset = imageOffset_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyMemoryToImageIndirectCommandKHR & setImageExtent( Extent3D const & imageExtent_ ) VULKAN_HPP_NOEXCEPT { imageExtent = imageExtent_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCopyMemoryToImageIndirectCommandKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCopyMemoryToImageIndirectCommandKHR *>( this ); } operator VkCopyMemoryToImageIndirectCommandKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCopyMemoryToImageIndirectCommandKHR *>( this ); } operator VkCopyMemoryToImageIndirectCommandKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCopyMemoryToImageIndirectCommandKHR *>( this ); } operator VkCopyMemoryToImageIndirectCommandKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCopyMemoryToImageIndirectCommandKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<DeviceAddress const &, uint32_t const &, uint32_t const &, ImageSubresourceLayers const &, Offset3D const &, Extent3D const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( srcAddress, bufferRowLength, bufferImageHeight, imageSubresource, imageOffset, imageExtent ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CopyMemoryToImageIndirectCommandKHR const & ) const = default; #else bool operator==( CopyMemoryToImageIndirectCommandKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( srcAddress == rhs.srcAddress ) && ( bufferRowLength == rhs.bufferRowLength ) && ( bufferImageHeight == rhs.bufferImageHeight ) && ( imageSubresource == rhs.imageSubresource ) && ( imageOffset == rhs.imageOffset ) && ( imageExtent == rhs.imageExtent ); # endif } bool operator!=( CopyMemoryToImageIndirectCommandKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: DeviceAddress srcAddress = {}; uint32_t bufferRowLength = {}; uint32_t bufferImageHeight = {}; ImageSubresourceLayers imageSubresource = {}; Offset3D imageOffset = {}; Extent3D imageExtent = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCopyMemoryToImageIndirectCommandKHR> { using Type = CopyMemoryToImageIndirectCommandKHR; }; #endif using CopyMemoryToImageIndirectCommandNV = CopyMemoryToImageIndirectCommandKHR; // wrapper struct for struct VkCopyMemoryToImageIndirectInfoKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkCopyMemoryToImageIndirectInfoKHR.html struct CopyMemoryToImageIndirectInfoKHR { using NativeType = VkCopyMemoryToImageIndirectInfoKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCopyMemoryToImageIndirectInfoKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CopyMemoryToImageIndirectInfoKHR( AddressCopyFlagsKHR srcCopyFlags_ = {}, uint32_t copyCount_ = {}, StridedDeviceAddressRangeKHR copyAddressRange_ = {}, Image dstImage_ = {}, ImageLayout dstImageLayout_ = ImageLayout::eUndefined, const ImageSubresourceLayers * pImageSubresources_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , srcCopyFlags{ srcCopyFlags_ } , copyCount{ copyCount_ } , copyAddressRange{ copyAddressRange_ } , dstImage{ dstImage_ } , dstImageLayout{ dstImageLayout_ } , pImageSubresources{ pImageSubresources_ } { } VULKAN_HPP_CONSTEXPR CopyMemoryToImageIndirectInfoKHR( CopyMemoryToImageIndirectInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; CopyMemoryToImageIndirectInfoKHR( VkCopyMemoryToImageIndirectInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : CopyMemoryToImageIndirectInfoKHR( *reinterpret_cast<CopyMemoryToImageIndirectInfoKHR const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) CopyMemoryToImageIndirectInfoKHR( AddressCopyFlagsKHR srcCopyFlags_, StridedDeviceAddressRangeKHR copyAddressRange_, Image dstImage_, ImageLayout dstImageLayout_, ArrayProxyNoTemporaries<const ImageSubresourceLayers> const & imageSubresources_, const void * pNext_ = nullptr ) : pNext( pNext_ ) , srcCopyFlags( srcCopyFlags_ ) , copyCount( static_cast<uint32_t>( imageSubresources_.size() ) ) , copyAddressRange( copyAddressRange_ ) , dstImage( dstImage_ ) , dstImageLayout( dstImageLayout_ ) , pImageSubresources( imageSubresources_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ CopyMemoryToImageIndirectInfoKHR & operator=( CopyMemoryToImageIndirectInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CopyMemoryToImageIndirectInfoKHR & operator=( VkCopyMemoryToImageIndirectInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CopyMemoryToImageIndirectInfoKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CopyMemoryToImageIndirectInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyMemoryToImageIndirectInfoKHR & setSrcCopyFlags( AddressCopyFlagsKHR srcCopyFlags_ ) VULKAN_HPP_NOEXCEPT { srcCopyFlags = srcCopyFlags_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyMemoryToImageIndirectInfoKHR & setCopyCount( uint32_t copyCount_ ) VULKAN_HPP_NOEXCEPT { copyCount = copyCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyMemoryToImageIndirectInfoKHR & setCopyAddressRange( StridedDeviceAddressRangeKHR const & copyAddressRange_ ) VULKAN_HPP_NOEXCEPT { copyAddressRange = copyAddressRange_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyMemoryToImageIndirectInfoKHR & setDstImage( Image dstImage_ ) VULKAN_HPP_NOEXCEPT { dstImage = dstImage_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyMemoryToImageIndirectInfoKHR & setDstImageLayout( ImageLayout dstImageLayout_ ) VULKAN_HPP_NOEXCEPT { dstImageLayout = dstImageLayout_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyMemoryToImageIndirectInfoKHR & setPImageSubresources( const ImageSubresourceLayers * pImageSubresources_ ) VULKAN_HPP_NOEXCEPT { pImageSubresources = pImageSubresources_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) CopyMemoryToImageIndirectInfoKHR & setImageSubresources( ArrayProxyNoTemporaries<const ImageSubresourceLayers> const & imageSubresources_ ) VULKAN_HPP_NOEXCEPT { copyCount = static_cast<uint32_t>( imageSubresources_.size() ); pImageSubresources = imageSubresources_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCopyMemoryToImageIndirectInfoKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCopyMemoryToImageIndirectInfoKHR *>( this ); } operator VkCopyMemoryToImageIndirectInfoKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCopyMemoryToImageIndirectInfoKHR *>( this ); } operator VkCopyMemoryToImageIndirectInfoKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCopyMemoryToImageIndirectInfoKHR *>( this ); } operator VkCopyMemoryToImageIndirectInfoKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCopyMemoryToImageIndirectInfoKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, AddressCopyFlagsKHR const &, uint32_t const &, StridedDeviceAddressRangeKHR const &, Image const &, ImageLayout const &, const ImageSubresourceLayers * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, srcCopyFlags, copyCount, copyAddressRange, dstImage, dstImageLayout, pImageSubresources ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CopyMemoryToImageIndirectInfoKHR const & ) const = default; #else bool operator==( CopyMemoryToImageIndirectInfoKHR 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 ) && ( srcCopyFlags == rhs.srcCopyFlags ) && ( copyCount == rhs.copyCount ) && ( copyAddressRange == rhs.copyAddressRange ) && ( dstImage == rhs.dstImage ) && ( dstImageLayout == rhs.dstImageLayout ) && ( pImageSubresources == rhs.pImageSubresources ); # endif } bool operator!=( CopyMemoryToImageIndirectInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eCopyMemoryToImageIndirectInfoKHR; const void * pNext = {}; AddressCopyFlagsKHR srcCopyFlags = {}; uint32_t copyCount = {}; StridedDeviceAddressRangeKHR copyAddressRange = {}; Image dstImage = {}; ImageLayout dstImageLayout = ImageLayout::eUndefined; const ImageSubresourceLayers * pImageSubresources = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCopyMemoryToImageIndirectInfoKHR> { using Type = CopyMemoryToImageIndirectInfoKHR; }; #endif template <> struct CppType<StructureType, StructureType::eCopyMemoryToImageIndirectInfoKHR> { using Type = CopyMemoryToImageIndirectInfoKHR; }; // wrapper struct for struct VkMemoryToImageCopy, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkMemoryToImageCopy.html struct MemoryToImageCopy { using NativeType = VkMemoryToImageCopy; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryToImageCopy; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR MemoryToImageCopy( const void * pHostPointer_ = {}, uint32_t memoryRowLength_ = {}, uint32_t memoryImageHeight_ = {}, ImageSubresourceLayers imageSubresource_ = {}, Offset3D imageOffset_ = {}, Extent3D imageExtent_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , pHostPointer{ pHostPointer_ } , memoryRowLength{ memoryRowLength_ } , memoryImageHeight{ memoryImageHeight_ } , imageSubresource{ imageSubresource_ } , imageOffset{ imageOffset_ } , imageExtent{ imageExtent_ } { } VULKAN_HPP_CONSTEXPR MemoryToImageCopy( MemoryToImageCopy const & rhs ) VULKAN_HPP_NOEXCEPT = default; MemoryToImageCopy( VkMemoryToImageCopy const & rhs ) VULKAN_HPP_NOEXCEPT : MemoryToImageCopy( *reinterpret_cast<MemoryToImageCopy const *>( &rhs ) ) {} MemoryToImageCopy & operator=( MemoryToImageCopy const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ MemoryToImageCopy & operator=( VkMemoryToImageCopy const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<MemoryToImageCopy const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 MemoryToImageCopy & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 MemoryToImageCopy & setPHostPointer( const void * pHostPointer_ ) VULKAN_HPP_NOEXCEPT { pHostPointer = pHostPointer_; return *this; } VULKAN_HPP_CONSTEXPR_14 MemoryToImageCopy & setMemoryRowLength( uint32_t memoryRowLength_ ) VULKAN_HPP_NOEXCEPT { memoryRowLength = memoryRowLength_; return *this; } VULKAN_HPP_CONSTEXPR_14 MemoryToImageCopy & setMemoryImageHeight( uint32_t memoryImageHeight_ ) VULKAN_HPP_NOEXCEPT { memoryImageHeight = memoryImageHeight_; return *this; } VULKAN_HPP_CONSTEXPR_14 MemoryToImageCopy & setImageSubresource( ImageSubresourceLayers const & imageSubresource_ ) VULKAN_HPP_NOEXCEPT { imageSubresource = imageSubresource_; return *this; } VULKAN_HPP_CONSTEXPR_14 MemoryToImageCopy & setImageOffset( Offset3D const & imageOffset_ ) VULKAN_HPP_NOEXCEPT { imageOffset = imageOffset_; return *this; } VULKAN_HPP_CONSTEXPR_14 MemoryToImageCopy & setImageExtent( Extent3D const & imageExtent_ ) VULKAN_HPP_NOEXCEPT { imageExtent = imageExtent_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkMemoryToImageCopy const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkMemoryToImageCopy *>( this ); } operator VkMemoryToImageCopy &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkMemoryToImageCopy *>( this ); } operator VkMemoryToImageCopy const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkMemoryToImageCopy *>( this ); } operator VkMemoryToImageCopy *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkMemoryToImageCopy *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, const void * const &, uint32_t const &, uint32_t const &, ImageSubresourceLayers const &, Offset3D const &, Extent3D const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, pHostPointer, memoryRowLength, memoryImageHeight, imageSubresource, imageOffset, imageExtent ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( MemoryToImageCopy const & ) const = default; #else bool operator==( MemoryToImageCopy 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 ) && ( pHostPointer == rhs.pHostPointer ) && ( memoryRowLength == rhs.memoryRowLength ) && ( memoryImageHeight == rhs.memoryImageHeight ) && ( imageSubresource == rhs.imageSubresource ) && ( imageOffset == rhs.imageOffset ) && ( imageExtent == rhs.imageExtent ); # endif } bool operator!=( MemoryToImageCopy const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eMemoryToImageCopy; const void * pNext = {}; const void * pHostPointer = {}; uint32_t memoryRowLength = {}; uint32_t memoryImageHeight = {}; ImageSubresourceLayers imageSubresource = {}; Offset3D imageOffset = {}; Extent3D imageExtent = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkMemoryToImageCopy> { using Type = MemoryToImageCopy; }; #endif template <> struct CppType<StructureType, StructureType::eMemoryToImageCopy> { using Type = MemoryToImageCopy; }; using MemoryToImageCopyEXT = MemoryToImageCopy; // wrapper struct for struct VkCopyMemoryToImageInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCopyMemoryToImageInfo.html struct CopyMemoryToImageInfo { using NativeType = VkCopyMemoryToImageInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCopyMemoryToImageInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CopyMemoryToImageInfo( HostImageCopyFlags flags_ = {}, Image dstImage_ = {}, ImageLayout dstImageLayout_ = ImageLayout::eUndefined, uint32_t regionCount_ = {}, const MemoryToImageCopy * pRegions_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , dstImage{ dstImage_ } , dstImageLayout{ dstImageLayout_ } , regionCount{ regionCount_ } , pRegions{ pRegions_ } { } VULKAN_HPP_CONSTEXPR CopyMemoryToImageInfo( CopyMemoryToImageInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; CopyMemoryToImageInfo( VkCopyMemoryToImageInfo const & rhs ) VULKAN_HPP_NOEXCEPT : CopyMemoryToImageInfo( *reinterpret_cast<CopyMemoryToImageInfo const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) CopyMemoryToImageInfo( HostImageCopyFlags flags_, Image dstImage_, ImageLayout dstImageLayout_, ArrayProxyNoTemporaries<const MemoryToImageCopy> const & regions_, const void * pNext_ = nullptr ) : pNext( pNext_ ) , flags( flags_ ) , dstImage( dstImage_ ) , dstImageLayout( dstImageLayout_ ) , regionCount( static_cast<uint32_t>( regions_.size() ) ) , pRegions( regions_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ CopyMemoryToImageInfo & operator=( CopyMemoryToImageInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CopyMemoryToImageInfo & operator=( VkCopyMemoryToImageInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CopyMemoryToImageInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CopyMemoryToImageInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyMemoryToImageInfo & setFlags( HostImageCopyFlags flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyMemoryToImageInfo & setDstImage( Image dstImage_ ) VULKAN_HPP_NOEXCEPT { dstImage = dstImage_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyMemoryToImageInfo & setDstImageLayout( ImageLayout dstImageLayout_ ) VULKAN_HPP_NOEXCEPT { dstImageLayout = dstImageLayout_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyMemoryToImageInfo & setRegionCount( uint32_t regionCount_ ) VULKAN_HPP_NOEXCEPT { regionCount = regionCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyMemoryToImageInfo & setPRegions( const MemoryToImageCopy * pRegions_ ) VULKAN_HPP_NOEXCEPT { pRegions = pRegions_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) CopyMemoryToImageInfo & setRegions( ArrayProxyNoTemporaries<const MemoryToImageCopy> const & regions_ ) VULKAN_HPP_NOEXCEPT { regionCount = static_cast<uint32_t>( regions_.size() ); pRegions = regions_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCopyMemoryToImageInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCopyMemoryToImageInfo *>( this ); } operator VkCopyMemoryToImageInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCopyMemoryToImageInfo *>( this ); } operator VkCopyMemoryToImageInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCopyMemoryToImageInfo *>( this ); } operator VkCopyMemoryToImageInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCopyMemoryToImageInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, HostImageCopyFlags const &, Image const &, ImageLayout const &, uint32_t const &, const MemoryToImageCopy * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, dstImage, dstImageLayout, regionCount, pRegions ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CopyMemoryToImageInfo const & ) const = default; #else bool operator==( CopyMemoryToImageInfo 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 ) && ( flags == rhs.flags ) && ( dstImage == rhs.dstImage ) && ( dstImageLayout == rhs.dstImageLayout ) && ( regionCount == rhs.regionCount ) && ( pRegions == rhs.pRegions ); # endif } bool operator!=( CopyMemoryToImageInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eCopyMemoryToImageInfo; const void * pNext = {}; HostImageCopyFlags flags = {}; Image dstImage = {}; ImageLayout dstImageLayout = ImageLayout::eUndefined; uint32_t regionCount = {}; const MemoryToImageCopy * pRegions = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCopyMemoryToImageInfo> { using Type = CopyMemoryToImageInfo; }; #endif template <> struct CppType<StructureType, StructureType::eCopyMemoryToImageInfo> { using Type = CopyMemoryToImageInfo; }; using CopyMemoryToImageInfoEXT = CopyMemoryToImageInfo; // wrapper struct for struct VkCopyMemoryToMicromapInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCopyMemoryToMicromapInfoEXT.html struct CopyMemoryToMicromapInfoEXT { using NativeType = VkCopyMemoryToMicromapInfoEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCopyMemoryToMicromapInfoEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 CopyMemoryToMicromapInfoEXT( DeviceOrHostAddressConstKHR src_ = {}, MicromapEXT dst_ = {}, CopyMicromapModeEXT mode_ = CopyMicromapModeEXT::eClone, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , src{ src_ } , dst{ dst_ } , mode{ mode_ } { } VULKAN_HPP_CONSTEXPR_14 CopyMemoryToMicromapInfoEXT( CopyMemoryToMicromapInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; CopyMemoryToMicromapInfoEXT( VkCopyMemoryToMicromapInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : CopyMemoryToMicromapInfoEXT( *reinterpret_cast<CopyMemoryToMicromapInfoEXT const *>( &rhs ) ) { } CopyMemoryToMicromapInfoEXT & operator=( CopyMemoryToMicromapInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CopyMemoryToMicromapInfoEXT & operator=( VkCopyMemoryToMicromapInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CopyMemoryToMicromapInfoEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CopyMemoryToMicromapInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyMemoryToMicromapInfoEXT & setSrc( DeviceOrHostAddressConstKHR const & src_ ) VULKAN_HPP_NOEXCEPT { src = src_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyMemoryToMicromapInfoEXT & setDst( MicromapEXT dst_ ) VULKAN_HPP_NOEXCEPT { dst = dst_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyMemoryToMicromapInfoEXT & setMode( CopyMicromapModeEXT mode_ ) VULKAN_HPP_NOEXCEPT { mode = mode_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCopyMemoryToMicromapInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCopyMemoryToMicromapInfoEXT *>( this ); } operator VkCopyMemoryToMicromapInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCopyMemoryToMicromapInfoEXT *>( this ); } operator VkCopyMemoryToMicromapInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCopyMemoryToMicromapInfoEXT *>( this ); } operator VkCopyMemoryToMicromapInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCopyMemoryToMicromapInfoEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DeviceOrHostAddressConstKHR const &, MicromapEXT const &, CopyMicromapModeEXT const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, src, dst, mode ); } #endif public: StructureType sType = StructureType::eCopyMemoryToMicromapInfoEXT; const void * pNext = {}; DeviceOrHostAddressConstKHR src = {}; MicromapEXT dst = {}; CopyMicromapModeEXT mode = CopyMicromapModeEXT::eClone; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCopyMemoryToMicromapInfoEXT> { using Type = CopyMemoryToMicromapInfoEXT; }; #endif template <> struct CppType<StructureType, StructureType::eCopyMemoryToMicromapInfoEXT> { using Type = CopyMemoryToMicromapInfoEXT; }; // wrapper struct for struct VkCopyMicromapInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCopyMicromapInfoEXT.html struct CopyMicromapInfoEXT { using NativeType = VkCopyMicromapInfoEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCopyMicromapInfoEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CopyMicromapInfoEXT( MicromapEXT src_ = {}, MicromapEXT dst_ = {}, CopyMicromapModeEXT mode_ = CopyMicromapModeEXT::eClone, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , src{ src_ } , dst{ dst_ } , mode{ mode_ } { } VULKAN_HPP_CONSTEXPR CopyMicromapInfoEXT( CopyMicromapInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; CopyMicromapInfoEXT( VkCopyMicromapInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : CopyMicromapInfoEXT( *reinterpret_cast<CopyMicromapInfoEXT const *>( &rhs ) ) { } CopyMicromapInfoEXT & operator=( CopyMicromapInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CopyMicromapInfoEXT & operator=( VkCopyMicromapInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CopyMicromapInfoEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CopyMicromapInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyMicromapInfoEXT & setSrc( MicromapEXT src_ ) VULKAN_HPP_NOEXCEPT { src = src_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyMicromapInfoEXT & setDst( MicromapEXT dst_ ) VULKAN_HPP_NOEXCEPT { dst = dst_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyMicromapInfoEXT & setMode( CopyMicromapModeEXT mode_ ) VULKAN_HPP_NOEXCEPT { mode = mode_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCopyMicromapInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCopyMicromapInfoEXT *>( this ); } operator VkCopyMicromapInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCopyMicromapInfoEXT *>( this ); } operator VkCopyMicromapInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCopyMicromapInfoEXT *>( this ); } operator VkCopyMicromapInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCopyMicromapInfoEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, MicromapEXT const &, MicromapEXT const &, CopyMicromapModeEXT const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, src, dst, mode ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CopyMicromapInfoEXT const & ) const = default; #else bool operator==( CopyMicromapInfoEXT 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 ) && ( src == rhs.src ) && ( dst == rhs.dst ) && ( mode == rhs.mode ); # endif } bool operator!=( CopyMicromapInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eCopyMicromapInfoEXT; const void * pNext = {}; MicromapEXT src = {}; MicromapEXT dst = {}; CopyMicromapModeEXT mode = CopyMicromapModeEXT::eClone; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCopyMicromapInfoEXT> { using Type = CopyMicromapInfoEXT; }; #endif template <> struct CppType<StructureType, StructureType::eCopyMicromapInfoEXT> { using Type = CopyMicromapInfoEXT; }; // wrapper struct for struct VkCopyMicromapToMemoryInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCopyMicromapToMemoryInfoEXT.html struct CopyMicromapToMemoryInfoEXT { using NativeType = VkCopyMicromapToMemoryInfoEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCopyMicromapToMemoryInfoEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 CopyMicromapToMemoryInfoEXT( MicromapEXT src_ = {}, DeviceOrHostAddressKHR dst_ = {}, CopyMicromapModeEXT mode_ = CopyMicromapModeEXT::eClone, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , src{ src_ } , dst{ dst_ } , mode{ mode_ } { } VULKAN_HPP_CONSTEXPR_14 CopyMicromapToMemoryInfoEXT( CopyMicromapToMemoryInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; CopyMicromapToMemoryInfoEXT( VkCopyMicromapToMemoryInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : CopyMicromapToMemoryInfoEXT( *reinterpret_cast<CopyMicromapToMemoryInfoEXT const *>( &rhs ) ) { } CopyMicromapToMemoryInfoEXT & operator=( CopyMicromapToMemoryInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CopyMicromapToMemoryInfoEXT & operator=( VkCopyMicromapToMemoryInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CopyMicromapToMemoryInfoEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CopyMicromapToMemoryInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyMicromapToMemoryInfoEXT & setSrc( MicromapEXT src_ ) VULKAN_HPP_NOEXCEPT { src = src_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyMicromapToMemoryInfoEXT & setDst( DeviceOrHostAddressKHR const & dst_ ) VULKAN_HPP_NOEXCEPT { dst = dst_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyMicromapToMemoryInfoEXT & setMode( CopyMicromapModeEXT mode_ ) VULKAN_HPP_NOEXCEPT { mode = mode_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCopyMicromapToMemoryInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCopyMicromapToMemoryInfoEXT *>( this ); } operator VkCopyMicromapToMemoryInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCopyMicromapToMemoryInfoEXT *>( this ); } operator VkCopyMicromapToMemoryInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCopyMicromapToMemoryInfoEXT *>( this ); } operator VkCopyMicromapToMemoryInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCopyMicromapToMemoryInfoEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, MicromapEXT const &, DeviceOrHostAddressKHR const &, CopyMicromapModeEXT const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, src, dst, mode ); } #endif public: StructureType sType = StructureType::eCopyMicromapToMemoryInfoEXT; const void * pNext = {}; MicromapEXT src = {}; DeviceOrHostAddressKHR dst = {}; CopyMicromapModeEXT mode = CopyMicromapModeEXT::eClone; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCopyMicromapToMemoryInfoEXT> { using Type = CopyMicromapToMemoryInfoEXT; }; #endif template <> struct CppType<StructureType, StructureType::eCopyMicromapToMemoryInfoEXT> { using Type = CopyMicromapToMemoryInfoEXT; }; // wrapper struct for struct VkTensorCopyARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkTensorCopyARM.html struct TensorCopyARM { using NativeType = VkTensorCopyARM; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eTensorCopyARM; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR TensorCopyARM( uint32_t dimensionCount_ = {}, const uint64_t * pSrcOffset_ = {}, const uint64_t * pDstOffset_ = {}, const uint64_t * pExtent_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , dimensionCount{ dimensionCount_ } , pSrcOffset{ pSrcOffset_ } , pDstOffset{ pDstOffset_ } , pExtent{ pExtent_ } { } VULKAN_HPP_CONSTEXPR TensorCopyARM( TensorCopyARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; TensorCopyARM( VkTensorCopyARM const & rhs ) VULKAN_HPP_NOEXCEPT : TensorCopyARM( *reinterpret_cast<TensorCopyARM const *>( &rhs ) ) {} # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) TensorCopyARM( ArrayProxyNoTemporaries<const uint64_t> const & srcOffset_, ArrayProxyNoTemporaries<const uint64_t> const & dstOffset_ = {}, ArrayProxyNoTemporaries<const uint64_t> const & extent_ = {}, const void * pNext_ = nullptr ) : pNext( pNext_ ) , dimensionCount( static_cast<uint32_t>( srcOffset_.size() ) ) , pSrcOffset( srcOffset_.data() ) , pDstOffset( dstOffset_.data() ) , pExtent( extent_.data() ) { # ifdef VULKAN_HPP_NO_EXCEPTIONS VULKAN_HPP_ASSERT( srcOffset_.empty() || dstOffset_.empty() || ( srcOffset_.size() == dstOffset_.size() ) ); VULKAN_HPP_ASSERT( srcOffset_.empty() || extent_.empty() || ( srcOffset_.size() == extent_.size() ) ); VULKAN_HPP_ASSERT( dstOffset_.empty() || extent_.empty() || ( dstOffset_.size() == extent_.size() ) ); # else if ( !srcOffset_.empty() && !dstOffset_.empty() && ( srcOffset_.size() != dstOffset_.size() ) ) { throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::TensorCopyARM::TensorCopyARM: !srcOffset_.empty() && !dstOffset_.empty() && ( srcOffset_.size() != dstOffset_.size() )" ); } if ( !srcOffset_.empty() && !extent_.empty() && ( srcOffset_.size() != extent_.size() ) ) { throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::TensorCopyARM::TensorCopyARM: !srcOffset_.empty() && !extent_.empty() && ( srcOffset_.size() != extent_.size() )" ); } if ( !dstOffset_.empty() && !extent_.empty() && ( dstOffset_.size() != extent_.size() ) ) { throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::TensorCopyARM::TensorCopyARM: !dstOffset_.empty() && !extent_.empty() && ( dstOffset_.size() != extent_.size() )" ); } # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ TensorCopyARM & operator=( TensorCopyARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ TensorCopyARM & operator=( VkTensorCopyARM const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<TensorCopyARM const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 TensorCopyARM & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 TensorCopyARM & setDimensionCount( uint32_t dimensionCount_ ) VULKAN_HPP_NOEXCEPT { dimensionCount = dimensionCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 TensorCopyARM & setPSrcOffset( const uint64_t * pSrcOffset_ ) VULKAN_HPP_NOEXCEPT { pSrcOffset = pSrcOffset_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) TensorCopyARM & setSrcOffset( ArrayProxyNoTemporaries<const uint64_t> const & srcOffset_ ) VULKAN_HPP_NOEXCEPT { dimensionCount = static_cast<uint32_t>( srcOffset_.size() ); pSrcOffset = srcOffset_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 TensorCopyARM & setPDstOffset( const uint64_t * pDstOffset_ ) VULKAN_HPP_NOEXCEPT { pDstOffset = pDstOffset_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) TensorCopyARM & setDstOffset( ArrayProxyNoTemporaries<const uint64_t> const & dstOffset_ ) VULKAN_HPP_NOEXCEPT { dimensionCount = static_cast<uint32_t>( dstOffset_.size() ); pDstOffset = dstOffset_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 TensorCopyARM & setPExtent( const uint64_t * pExtent_ ) VULKAN_HPP_NOEXCEPT { pExtent = pExtent_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) TensorCopyARM & setExtent( ArrayProxyNoTemporaries<const uint64_t> const & extent_ ) VULKAN_HPP_NOEXCEPT { dimensionCount = static_cast<uint32_t>( extent_.size() ); pExtent = extent_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkTensorCopyARM const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkTensorCopyARM *>( this ); } operator VkTensorCopyARM &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkTensorCopyARM *>( this ); } operator VkTensorCopyARM const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkTensorCopyARM *>( this ); } operator VkTensorCopyARM *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkTensorCopyARM *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, uint32_t const &, const uint64_t * const &, const uint64_t * const &, const uint64_t * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, dimensionCount, pSrcOffset, pDstOffset, pExtent ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( TensorCopyARM const & ) const = default; #else bool operator==( TensorCopyARM 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 ) && ( dimensionCount == rhs.dimensionCount ) && ( pSrcOffset == rhs.pSrcOffset ) && ( pDstOffset == rhs.pDstOffset ) && ( pExtent == rhs.pExtent ); # endif } bool operator!=( TensorCopyARM const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eTensorCopyARM; const void * pNext = {}; uint32_t dimensionCount = {}; const uint64_t * pSrcOffset = {}; const uint64_t * pDstOffset = {}; const uint64_t * pExtent = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkTensorCopyARM> { using Type = TensorCopyARM; }; #endif template <> struct CppType<StructureType, StructureType::eTensorCopyARM> { using Type = TensorCopyARM; }; // wrapper struct for struct VkCopyTensorInfoARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCopyTensorInfoARM.html struct CopyTensorInfoARM { using NativeType = VkCopyTensorInfoARM; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCopyTensorInfoARM; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CopyTensorInfoARM( TensorARM srcTensor_ = {}, TensorARM dstTensor_ = {}, uint32_t regionCount_ = {}, const TensorCopyARM * pRegions_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , srcTensor{ srcTensor_ } , dstTensor{ dstTensor_ } , regionCount{ regionCount_ } , pRegions{ pRegions_ } { } VULKAN_HPP_CONSTEXPR CopyTensorInfoARM( CopyTensorInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; CopyTensorInfoARM( VkCopyTensorInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT : CopyTensorInfoARM( *reinterpret_cast<CopyTensorInfoARM const *>( &rhs ) ) {} # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) CopyTensorInfoARM( TensorARM srcTensor_, TensorARM dstTensor_, ArrayProxyNoTemporaries<const TensorCopyARM> const & regions_, const void * pNext_ = nullptr ) : pNext( pNext_ ), srcTensor( srcTensor_ ), dstTensor( dstTensor_ ), regionCount( static_cast<uint32_t>( regions_.size() ) ), pRegions( regions_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ CopyTensorInfoARM & operator=( CopyTensorInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CopyTensorInfoARM & operator=( VkCopyTensorInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CopyTensorInfoARM const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CopyTensorInfoARM & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyTensorInfoARM & setSrcTensor( TensorARM srcTensor_ ) VULKAN_HPP_NOEXCEPT { srcTensor = srcTensor_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyTensorInfoARM & setDstTensor( TensorARM dstTensor_ ) VULKAN_HPP_NOEXCEPT { dstTensor = dstTensor_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyTensorInfoARM & setRegionCount( uint32_t regionCount_ ) VULKAN_HPP_NOEXCEPT { regionCount = regionCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 CopyTensorInfoARM & setPRegions( const TensorCopyARM * pRegions_ ) VULKAN_HPP_NOEXCEPT { pRegions = pRegions_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) CopyTensorInfoARM & setRegions( ArrayProxyNoTemporaries<const TensorCopyARM> const & regions_ ) VULKAN_HPP_NOEXCEPT { regionCount = static_cast<uint32_t>( regions_.size() ); pRegions = regions_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCopyTensorInfoARM const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCopyTensorInfoARM *>( this ); } operator VkCopyTensorInfoARM &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCopyTensorInfoARM *>( this ); } operator VkCopyTensorInfoARM const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCopyTensorInfoARM *>( this ); } operator VkCopyTensorInfoARM *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCopyTensorInfoARM *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, TensorARM const &, TensorARM const &, uint32_t const &, const TensorCopyARM * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, srcTensor, dstTensor, regionCount, pRegions ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CopyTensorInfoARM const & ) const = default; #else bool operator==( CopyTensorInfoARM 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 ) && ( srcTensor == rhs.srcTensor ) && ( dstTensor == rhs.dstTensor ) && ( regionCount == rhs.regionCount ) && ( pRegions == rhs.pRegions ); # endif } bool operator!=( CopyTensorInfoARM const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eCopyTensorInfoARM; const void * pNext = {}; TensorARM srcTensor = {}; TensorARM dstTensor = {}; uint32_t regionCount = {}; const TensorCopyARM * pRegions = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCopyTensorInfoARM> { using Type = CopyTensorInfoARM; }; #endif template <> struct CppType<StructureType, StructureType::eCopyTensorInfoARM> { using Type = CopyTensorInfoARM; }; // wrapper struct for struct VkCuFunctionCreateInfoNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCuFunctionCreateInfoNVX.html struct CuFunctionCreateInfoNVX { using NativeType = VkCuFunctionCreateInfoNVX; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCuFunctionCreateInfoNVX; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CuFunctionCreateInfoNVX( CuModuleNVX module_ = {}, const char * pName_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , module{ module_ } , pName{ pName_ } { } VULKAN_HPP_CONSTEXPR CuFunctionCreateInfoNVX( CuFunctionCreateInfoNVX const & rhs ) VULKAN_HPP_NOEXCEPT = default; CuFunctionCreateInfoNVX( VkCuFunctionCreateInfoNVX const & rhs ) VULKAN_HPP_NOEXCEPT : CuFunctionCreateInfoNVX( *reinterpret_cast<CuFunctionCreateInfoNVX const *>( &rhs ) ) { } CuFunctionCreateInfoNVX & operator=( CuFunctionCreateInfoNVX const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CuFunctionCreateInfoNVX & operator=( VkCuFunctionCreateInfoNVX const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CuFunctionCreateInfoNVX const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CuFunctionCreateInfoNVX & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CuFunctionCreateInfoNVX & setModule( CuModuleNVX module_ ) VULKAN_HPP_NOEXCEPT { module = module_; return *this; } VULKAN_HPP_CONSTEXPR_14 CuFunctionCreateInfoNVX & setPName( const char * pName_ ) VULKAN_HPP_NOEXCEPT { pName = pName_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCuFunctionCreateInfoNVX const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCuFunctionCreateInfoNVX *>( this ); } operator VkCuFunctionCreateInfoNVX &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCuFunctionCreateInfoNVX *>( this ); } operator VkCuFunctionCreateInfoNVX const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCuFunctionCreateInfoNVX *>( this ); } operator VkCuFunctionCreateInfoNVX *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCuFunctionCreateInfoNVX *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, CuModuleNVX const &, const char * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, module, pName ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) std::strong_ordering operator<=>( CuFunctionCreateInfoNVX const & rhs ) const VULKAN_HPP_NOEXCEPT { if ( auto cmp = sType <=> rhs.sType; cmp != 0 ) return cmp; if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 ) return cmp; if ( auto cmp = module <=> rhs.module; cmp != 0 ) return cmp; if ( pName != rhs.pName ) if ( auto cmp = strcmp( pName, rhs.pName ); cmp != 0 ) return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater; return std::strong_ordering::equivalent; } #endif bool operator==( CuFunctionCreateInfoNVX const & rhs ) const VULKAN_HPP_NOEXCEPT { return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( module == rhs.module ) && ( ( pName == rhs.pName ) || ( strcmp( pName, rhs.pName ) == 0 ) ); } bool operator!=( CuFunctionCreateInfoNVX const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } public: StructureType sType = StructureType::eCuFunctionCreateInfoNVX; const void * pNext = {}; CuModuleNVX module = {}; const char * pName = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCuFunctionCreateInfoNVX> { using Type = CuFunctionCreateInfoNVX; }; #endif template <> struct CppType<StructureType, StructureType::eCuFunctionCreateInfoNVX> { using Type = CuFunctionCreateInfoNVX; }; // wrapper struct for struct VkCuLaunchInfoNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCuLaunchInfoNVX.html struct CuLaunchInfoNVX { using NativeType = VkCuLaunchInfoNVX; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCuLaunchInfoNVX; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CuLaunchInfoNVX( CuFunctionNVX function_ = {}, uint32_t gridDimX_ = {}, uint32_t gridDimY_ = {}, uint32_t gridDimZ_ = {}, uint32_t blockDimX_ = {}, uint32_t blockDimY_ = {}, uint32_t blockDimZ_ = {}, uint32_t sharedMemBytes_ = {}, size_t paramCount_ = {}, const void * const * pParams_ = {}, size_t extraCount_ = {}, const void * const * pExtras_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , function{ function_ } , gridDimX{ gridDimX_ } , gridDimY{ gridDimY_ } , gridDimZ{ gridDimZ_ } , blockDimX{ blockDimX_ } , blockDimY{ blockDimY_ } , blockDimZ{ blockDimZ_ } , sharedMemBytes{ sharedMemBytes_ } , paramCount{ paramCount_ } , pParams{ pParams_ } , extraCount{ extraCount_ } , pExtras{ pExtras_ } { } VULKAN_HPP_CONSTEXPR CuLaunchInfoNVX( CuLaunchInfoNVX const & rhs ) VULKAN_HPP_NOEXCEPT = default; CuLaunchInfoNVX( VkCuLaunchInfoNVX const & rhs ) VULKAN_HPP_NOEXCEPT : CuLaunchInfoNVX( *reinterpret_cast<CuLaunchInfoNVX const *>( &rhs ) ) {} # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) CuLaunchInfoNVX( CuFunctionNVX function_, uint32_t gridDimX_, uint32_t gridDimY_, uint32_t gridDimZ_, uint32_t blockDimX_, uint32_t blockDimY_, uint32_t blockDimZ_, uint32_t sharedMemBytes_, ArrayProxyNoTemporaries<const void * const> const & params_, ArrayProxyNoTemporaries<const void * const> const & extras_ = {}, const void * pNext_ = nullptr ) : pNext( pNext_ ) , function( function_ ) , gridDimX( gridDimX_ ) , gridDimY( gridDimY_ ) , gridDimZ( gridDimZ_ ) , blockDimX( blockDimX_ ) , blockDimY( blockDimY_ ) , blockDimZ( blockDimZ_ ) , sharedMemBytes( sharedMemBytes_ ) , paramCount( params_.size() ) , pParams( params_.data() ) , extraCount( extras_.size() ) , pExtras( extras_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ CuLaunchInfoNVX & operator=( CuLaunchInfoNVX const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CuLaunchInfoNVX & operator=( VkCuLaunchInfoNVX const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CuLaunchInfoNVX const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CuLaunchInfoNVX & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CuLaunchInfoNVX & setFunction( CuFunctionNVX function_ ) VULKAN_HPP_NOEXCEPT { function = function_; return *this; } VULKAN_HPP_CONSTEXPR_14 CuLaunchInfoNVX & setGridDimX( uint32_t gridDimX_ ) VULKAN_HPP_NOEXCEPT { gridDimX = gridDimX_; return *this; } VULKAN_HPP_CONSTEXPR_14 CuLaunchInfoNVX & setGridDimY( uint32_t gridDimY_ ) VULKAN_HPP_NOEXCEPT { gridDimY = gridDimY_; return *this; } VULKAN_HPP_CONSTEXPR_14 CuLaunchInfoNVX & setGridDimZ( uint32_t gridDimZ_ ) VULKAN_HPP_NOEXCEPT { gridDimZ = gridDimZ_; return *this; } VULKAN_HPP_CONSTEXPR_14 CuLaunchInfoNVX & setBlockDimX( uint32_t blockDimX_ ) VULKAN_HPP_NOEXCEPT { blockDimX = blockDimX_; return *this; } VULKAN_HPP_CONSTEXPR_14 CuLaunchInfoNVX & setBlockDimY( uint32_t blockDimY_ ) VULKAN_HPP_NOEXCEPT { blockDimY = blockDimY_; return *this; } VULKAN_HPP_CONSTEXPR_14 CuLaunchInfoNVX & setBlockDimZ( uint32_t blockDimZ_ ) VULKAN_HPP_NOEXCEPT { blockDimZ = blockDimZ_; return *this; } VULKAN_HPP_CONSTEXPR_14 CuLaunchInfoNVX & setSharedMemBytes( uint32_t sharedMemBytes_ ) VULKAN_HPP_NOEXCEPT { sharedMemBytes = sharedMemBytes_; return *this; } VULKAN_HPP_CONSTEXPR_14 CuLaunchInfoNVX & setParamCount( size_t paramCount_ ) VULKAN_HPP_NOEXCEPT { paramCount = paramCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 CuLaunchInfoNVX & setPParams( const void * const * pParams_ ) VULKAN_HPP_NOEXCEPT { pParams = pParams_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) CuLaunchInfoNVX & setParams( ArrayProxyNoTemporaries<const void * const> const & params_ ) VULKAN_HPP_NOEXCEPT { paramCount = params_.size(); pParams = params_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 CuLaunchInfoNVX & setExtraCount( size_t extraCount_ ) VULKAN_HPP_NOEXCEPT { extraCount = extraCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 CuLaunchInfoNVX & setPExtras( const void * const * pExtras_ ) VULKAN_HPP_NOEXCEPT { pExtras = pExtras_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) CuLaunchInfoNVX & setExtras( ArrayProxyNoTemporaries<const void * const> const & extras_ ) VULKAN_HPP_NOEXCEPT { extraCount = extras_.size(); pExtras = extras_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCuLaunchInfoNVX const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCuLaunchInfoNVX *>( this ); } operator VkCuLaunchInfoNVX &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCuLaunchInfoNVX *>( this ); } operator VkCuLaunchInfoNVX const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCuLaunchInfoNVX *>( this ); } operator VkCuLaunchInfoNVX *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCuLaunchInfoNVX *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, CuFunctionNVX const &, uint32_t const &, uint32_t const &, uint32_t const &, uint32_t const &, uint32_t const &, uint32_t const &, uint32_t const &, size_t const &, const void * const * const &, size_t const &, const void * const * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, function, gridDimX, gridDimY, gridDimZ, blockDimX, blockDimY, blockDimZ, sharedMemBytes, paramCount, pParams, extraCount, pExtras ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CuLaunchInfoNVX const & ) const = default; #else bool operator==( CuLaunchInfoNVX 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 ) && ( function == rhs.function ) && ( gridDimX == rhs.gridDimX ) && ( gridDimY == rhs.gridDimY ) && ( gridDimZ == rhs.gridDimZ ) && ( blockDimX == rhs.blockDimX ) && ( blockDimY == rhs.blockDimY ) && ( blockDimZ == rhs.blockDimZ ) && ( sharedMemBytes == rhs.sharedMemBytes ) && ( paramCount == rhs.paramCount ) && ( pParams == rhs.pParams ) && ( extraCount == rhs.extraCount ) && ( pExtras == rhs.pExtras ); # endif } bool operator!=( CuLaunchInfoNVX const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eCuLaunchInfoNVX; const void * pNext = {}; CuFunctionNVX function = {}; uint32_t gridDimX = {}; uint32_t gridDimY = {}; uint32_t gridDimZ = {}; uint32_t blockDimX = {}; uint32_t blockDimY = {}; uint32_t blockDimZ = {}; uint32_t sharedMemBytes = {}; size_t paramCount = {}; const void * const * pParams = {}; size_t extraCount = {}; const void * const * pExtras = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCuLaunchInfoNVX> { using Type = CuLaunchInfoNVX; }; #endif template <> struct CppType<StructureType, StructureType::eCuLaunchInfoNVX> { using Type = CuLaunchInfoNVX; }; // wrapper struct for struct VkCuModuleCreateInfoNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCuModuleCreateInfoNVX.html struct CuModuleCreateInfoNVX { using NativeType = VkCuModuleCreateInfoNVX; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCuModuleCreateInfoNVX; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CuModuleCreateInfoNVX( size_t dataSize_ = {}, const void * pData_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , dataSize{ dataSize_ } , pData{ pData_ } { } VULKAN_HPP_CONSTEXPR CuModuleCreateInfoNVX( CuModuleCreateInfoNVX const & rhs ) VULKAN_HPP_NOEXCEPT = default; CuModuleCreateInfoNVX( VkCuModuleCreateInfoNVX const & rhs ) VULKAN_HPP_NOEXCEPT : CuModuleCreateInfoNVX( *reinterpret_cast<CuModuleCreateInfoNVX const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) template <typename T> CuModuleCreateInfoNVX( ArrayProxyNoTemporaries<const T> const & data_, const void * pNext_ = nullptr ) : pNext( pNext_ ), dataSize( data_.size() * sizeof( T ) ), pData( data_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ CuModuleCreateInfoNVX & operator=( CuModuleCreateInfoNVX const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CuModuleCreateInfoNVX & operator=( VkCuModuleCreateInfoNVX const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CuModuleCreateInfoNVX const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CuModuleCreateInfoNVX & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CuModuleCreateInfoNVX & setDataSize( size_t dataSize_ ) VULKAN_HPP_NOEXCEPT { dataSize = dataSize_; return *this; } VULKAN_HPP_CONSTEXPR_14 CuModuleCreateInfoNVX & setPData( const void * pData_ ) VULKAN_HPP_NOEXCEPT { pData = pData_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) template <typename T> CuModuleCreateInfoNVX & setData( ArrayProxyNoTemporaries<const T> const & data_ ) VULKAN_HPP_NOEXCEPT { dataSize = data_.size() * sizeof( T ); pData = data_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCuModuleCreateInfoNVX const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCuModuleCreateInfoNVX *>( this ); } operator VkCuModuleCreateInfoNVX &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCuModuleCreateInfoNVX *>( this ); } operator VkCuModuleCreateInfoNVX const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCuModuleCreateInfoNVX *>( this ); } operator VkCuModuleCreateInfoNVX *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCuModuleCreateInfoNVX *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, size_t const &, const void * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, dataSize, pData ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CuModuleCreateInfoNVX const & ) const = default; #else bool operator==( CuModuleCreateInfoNVX 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 ) && ( dataSize == rhs.dataSize ) && ( pData == rhs.pData ); # endif } bool operator!=( CuModuleCreateInfoNVX const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eCuModuleCreateInfoNVX; const void * pNext = {}; size_t dataSize = {}; const void * pData = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCuModuleCreateInfoNVX> { using Type = CuModuleCreateInfoNVX; }; #endif template <> struct CppType<StructureType, StructureType::eCuModuleCreateInfoNVX> { using Type = CuModuleCreateInfoNVX; }; // wrapper struct for struct VkCuModuleTexturingModeCreateInfoNVX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkCuModuleTexturingModeCreateInfoNVX.html struct CuModuleTexturingModeCreateInfoNVX { using NativeType = VkCuModuleTexturingModeCreateInfoNVX; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCuModuleTexturingModeCreateInfoNVX; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CuModuleTexturingModeCreateInfoNVX( Bool32 use64bitTexturing_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , use64bitTexturing{ use64bitTexturing_ } { } VULKAN_HPP_CONSTEXPR CuModuleTexturingModeCreateInfoNVX( CuModuleTexturingModeCreateInfoNVX const & rhs ) VULKAN_HPP_NOEXCEPT = default; CuModuleTexturingModeCreateInfoNVX( VkCuModuleTexturingModeCreateInfoNVX const & rhs ) VULKAN_HPP_NOEXCEPT : CuModuleTexturingModeCreateInfoNVX( *reinterpret_cast<CuModuleTexturingModeCreateInfoNVX const *>( &rhs ) ) { } CuModuleTexturingModeCreateInfoNVX & operator=( CuModuleTexturingModeCreateInfoNVX const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CuModuleTexturingModeCreateInfoNVX & operator=( VkCuModuleTexturingModeCreateInfoNVX const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CuModuleTexturingModeCreateInfoNVX const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CuModuleTexturingModeCreateInfoNVX & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CuModuleTexturingModeCreateInfoNVX & setUse64bitTexturing( Bool32 use64bitTexturing_ ) VULKAN_HPP_NOEXCEPT { use64bitTexturing = use64bitTexturing_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCuModuleTexturingModeCreateInfoNVX const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCuModuleTexturingModeCreateInfoNVX *>( this ); } operator VkCuModuleTexturingModeCreateInfoNVX &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCuModuleTexturingModeCreateInfoNVX *>( this ); } operator VkCuModuleTexturingModeCreateInfoNVX const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCuModuleTexturingModeCreateInfoNVX *>( this ); } operator VkCuModuleTexturingModeCreateInfoNVX *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCuModuleTexturingModeCreateInfoNVX *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Bool32 const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, use64bitTexturing ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CuModuleTexturingModeCreateInfoNVX const & ) const = default; #else bool operator==( CuModuleTexturingModeCreateInfoNVX 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 ) && ( use64bitTexturing == rhs.use64bitTexturing ); # endif } bool operator!=( CuModuleTexturingModeCreateInfoNVX const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eCuModuleTexturingModeCreateInfoNVX; const void * pNext = {}; Bool32 use64bitTexturing = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCuModuleTexturingModeCreateInfoNVX> { using Type = CuModuleTexturingModeCreateInfoNVX; }; #endif template <> struct CppType<StructureType, StructureType::eCuModuleTexturingModeCreateInfoNVX> { using Type = CuModuleTexturingModeCreateInfoNVX; }; #if defined( VK_ENABLE_BETA_EXTENSIONS ) // wrapper struct for struct VkCudaFunctionCreateInfoNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCudaFunctionCreateInfoNV.html struct CudaFunctionCreateInfoNV { using NativeType = VkCudaFunctionCreateInfoNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCudaFunctionCreateInfoNV; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CudaFunctionCreateInfoNV( CudaModuleNV module_ = {}, const char * pName_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , module{ module_ } , pName{ pName_ } { } VULKAN_HPP_CONSTEXPR CudaFunctionCreateInfoNV( CudaFunctionCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; CudaFunctionCreateInfoNV( VkCudaFunctionCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT : CudaFunctionCreateInfoNV( *reinterpret_cast<CudaFunctionCreateInfoNV const *>( &rhs ) ) { } CudaFunctionCreateInfoNV & operator=( CudaFunctionCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CudaFunctionCreateInfoNV & operator=( VkCudaFunctionCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CudaFunctionCreateInfoNV const *>( &rhs ); return *this; } # if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CudaFunctionCreateInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CudaFunctionCreateInfoNV & setModule( CudaModuleNV module_ ) VULKAN_HPP_NOEXCEPT { module = module_; return *this; } VULKAN_HPP_CONSTEXPR_14 CudaFunctionCreateInfoNV & setPName( const char * pName_ ) VULKAN_HPP_NOEXCEPT { pName = pName_; return *this; } # endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCudaFunctionCreateInfoNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCudaFunctionCreateInfoNV *>( this ); } operator VkCudaFunctionCreateInfoNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCudaFunctionCreateInfoNV *>( this ); } operator VkCudaFunctionCreateInfoNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCudaFunctionCreateInfoNV *>( this ); } operator VkCudaFunctionCreateInfoNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCudaFunctionCreateInfoNV *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, CudaModuleNV const &, const char * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, module, pName ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) std::strong_ordering operator<=>( CudaFunctionCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { if ( auto cmp = sType <=> rhs.sType; cmp != 0 ) return cmp; if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 ) return cmp; if ( auto cmp = module <=> rhs.module; cmp != 0 ) return cmp; if ( pName != rhs.pName ) if ( auto cmp = strcmp( pName, rhs.pName ); cmp != 0 ) return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater; return std::strong_ordering::equivalent; } # endif bool operator==( CudaFunctionCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( module == rhs.module ) && ( ( pName == rhs.pName ) || ( strcmp( pName, rhs.pName ) == 0 ) ); } bool operator!=( CudaFunctionCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } public: StructureType sType = StructureType::eCudaFunctionCreateInfoNV; const void * pNext = {}; CudaModuleNV module = {}; const char * pName = {}; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCudaFunctionCreateInfoNV> { using Type = CudaFunctionCreateInfoNV; }; # endif template <> struct CppType<StructureType, StructureType::eCudaFunctionCreateInfoNV> { using Type = CudaFunctionCreateInfoNV; }; #endif /*VK_ENABLE_BETA_EXTENSIONS*/ #if defined( VK_ENABLE_BETA_EXTENSIONS ) // wrapper struct for struct VkCudaLaunchInfoNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCudaLaunchInfoNV.html struct CudaLaunchInfoNV { using NativeType = VkCudaLaunchInfoNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCudaLaunchInfoNV; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CudaLaunchInfoNV( CudaFunctionNV function_ = {}, uint32_t gridDimX_ = {}, uint32_t gridDimY_ = {}, uint32_t gridDimZ_ = {}, uint32_t blockDimX_ = {}, uint32_t blockDimY_ = {}, uint32_t blockDimZ_ = {}, uint32_t sharedMemBytes_ = {}, size_t paramCount_ = {}, const void * const * pParams_ = {}, size_t extraCount_ = {}, const void * const * pExtras_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , function{ function_ } , gridDimX{ gridDimX_ } , gridDimY{ gridDimY_ } , gridDimZ{ gridDimZ_ } , blockDimX{ blockDimX_ } , blockDimY{ blockDimY_ } , blockDimZ{ blockDimZ_ } , sharedMemBytes{ sharedMemBytes_ } , paramCount{ paramCount_ } , pParams{ pParams_ } , extraCount{ extraCount_ } , pExtras{ pExtras_ } { } VULKAN_HPP_CONSTEXPR CudaLaunchInfoNV( CudaLaunchInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; CudaLaunchInfoNV( VkCudaLaunchInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT : CudaLaunchInfoNV( *reinterpret_cast<CudaLaunchInfoNV const *>( &rhs ) ) {} # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) CudaLaunchInfoNV( CudaFunctionNV function_, uint32_t gridDimX_, uint32_t gridDimY_, uint32_t gridDimZ_, uint32_t blockDimX_, uint32_t blockDimY_, uint32_t blockDimZ_, uint32_t sharedMemBytes_, ArrayProxyNoTemporaries<const void * const> const & params_, ArrayProxyNoTemporaries<const void * const> const & extras_ = {}, const void * pNext_ = nullptr ) : pNext( pNext_ ) , function( function_ ) , gridDimX( gridDimX_ ) , gridDimY( gridDimY_ ) , gridDimZ( gridDimZ_ ) , blockDimX( blockDimX_ ) , blockDimY( blockDimY_ ) , blockDimZ( blockDimZ_ ) , sharedMemBytes( sharedMemBytes_ ) , paramCount( params_.size() ) , pParams( params_.data() ) , extraCount( extras_.size() ) , pExtras( extras_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ CudaLaunchInfoNV & operator=( CudaLaunchInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CudaLaunchInfoNV & operator=( VkCudaLaunchInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CudaLaunchInfoNV const *>( &rhs ); return *this; } # if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CudaLaunchInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CudaLaunchInfoNV & setFunction( CudaFunctionNV function_ ) VULKAN_HPP_NOEXCEPT { function = function_; return *this; } VULKAN_HPP_CONSTEXPR_14 CudaLaunchInfoNV & setGridDimX( uint32_t gridDimX_ ) VULKAN_HPP_NOEXCEPT { gridDimX = gridDimX_; return *this; } VULKAN_HPP_CONSTEXPR_14 CudaLaunchInfoNV & setGridDimY( uint32_t gridDimY_ ) VULKAN_HPP_NOEXCEPT { gridDimY = gridDimY_; return *this; } VULKAN_HPP_CONSTEXPR_14 CudaLaunchInfoNV & setGridDimZ( uint32_t gridDimZ_ ) VULKAN_HPP_NOEXCEPT { gridDimZ = gridDimZ_; return *this; } VULKAN_HPP_CONSTEXPR_14 CudaLaunchInfoNV & setBlockDimX( uint32_t blockDimX_ ) VULKAN_HPP_NOEXCEPT { blockDimX = blockDimX_; return *this; } VULKAN_HPP_CONSTEXPR_14 CudaLaunchInfoNV & setBlockDimY( uint32_t blockDimY_ ) VULKAN_HPP_NOEXCEPT { blockDimY = blockDimY_; return *this; } VULKAN_HPP_CONSTEXPR_14 CudaLaunchInfoNV & setBlockDimZ( uint32_t blockDimZ_ ) VULKAN_HPP_NOEXCEPT { blockDimZ = blockDimZ_; return *this; } VULKAN_HPP_CONSTEXPR_14 CudaLaunchInfoNV & setSharedMemBytes( uint32_t sharedMemBytes_ ) VULKAN_HPP_NOEXCEPT { sharedMemBytes = sharedMemBytes_; return *this; } VULKAN_HPP_CONSTEXPR_14 CudaLaunchInfoNV & setParamCount( size_t paramCount_ ) VULKAN_HPP_NOEXCEPT { paramCount = paramCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 CudaLaunchInfoNV & setPParams( const void * const * pParams_ ) VULKAN_HPP_NOEXCEPT { pParams = pParams_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) CudaLaunchInfoNV & setParams( ArrayProxyNoTemporaries<const void * const> const & params_ ) VULKAN_HPP_NOEXCEPT { paramCount = params_.size(); pParams = params_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 CudaLaunchInfoNV & setExtraCount( size_t extraCount_ ) VULKAN_HPP_NOEXCEPT { extraCount = extraCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 CudaLaunchInfoNV & setPExtras( const void * const * pExtras_ ) VULKAN_HPP_NOEXCEPT { pExtras = pExtras_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) CudaLaunchInfoNV & setExtras( ArrayProxyNoTemporaries<const void * const> const & extras_ ) VULKAN_HPP_NOEXCEPT { extraCount = extras_.size(); pExtras = extras_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ # endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCudaLaunchInfoNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCudaLaunchInfoNV *>( this ); } operator VkCudaLaunchInfoNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCudaLaunchInfoNV *>( this ); } operator VkCudaLaunchInfoNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCudaLaunchInfoNV *>( this ); } operator VkCudaLaunchInfoNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCudaLaunchInfoNV *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, CudaFunctionNV const &, uint32_t const &, uint32_t const &, uint32_t const &, uint32_t const &, uint32_t const &, uint32_t const &, uint32_t const &, size_t const &, const void * const * const &, size_t const &, const void * const * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, function, gridDimX, gridDimY, gridDimZ, blockDimX, blockDimY, blockDimZ, sharedMemBytes, paramCount, pParams, extraCount, pExtras ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CudaLaunchInfoNV const & ) const = default; # else bool operator==( CudaLaunchInfoNV 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 ) && ( function == rhs.function ) && ( gridDimX == rhs.gridDimX ) && ( gridDimY == rhs.gridDimY ) && ( gridDimZ == rhs.gridDimZ ) && ( blockDimX == rhs.blockDimX ) && ( blockDimY == rhs.blockDimY ) && ( blockDimZ == rhs.blockDimZ ) && ( sharedMemBytes == rhs.sharedMemBytes ) && ( paramCount == rhs.paramCount ) && ( pParams == rhs.pParams ) && ( extraCount == rhs.extraCount ) && ( pExtras == rhs.pExtras ); # endif } bool operator!=( CudaLaunchInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } # endif public: StructureType sType = StructureType::eCudaLaunchInfoNV; const void * pNext = {}; CudaFunctionNV function = {}; uint32_t gridDimX = {}; uint32_t gridDimY = {}; uint32_t gridDimZ = {}; uint32_t blockDimX = {}; uint32_t blockDimY = {}; uint32_t blockDimZ = {}; uint32_t sharedMemBytes = {}; size_t paramCount = {}; const void * const * pParams = {}; size_t extraCount = {}; const void * const * pExtras = {}; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCudaLaunchInfoNV> { using Type = CudaLaunchInfoNV; }; # endif template <> struct CppType<StructureType, StructureType::eCudaLaunchInfoNV> { using Type = CudaLaunchInfoNV; }; #endif /*VK_ENABLE_BETA_EXTENSIONS*/ #if defined( VK_ENABLE_BETA_EXTENSIONS ) // wrapper struct for struct VkCudaModuleCreateInfoNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCudaModuleCreateInfoNV.html struct CudaModuleCreateInfoNV { using NativeType = VkCudaModuleCreateInfoNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCudaModuleCreateInfoNV; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR CudaModuleCreateInfoNV( size_t dataSize_ = {}, const void * pData_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , dataSize{ dataSize_ } , pData{ pData_ } { } VULKAN_HPP_CONSTEXPR CudaModuleCreateInfoNV( CudaModuleCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; CudaModuleCreateInfoNV( VkCudaModuleCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT : CudaModuleCreateInfoNV( *reinterpret_cast<CudaModuleCreateInfoNV const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) template <typename T> CudaModuleCreateInfoNV( ArrayProxyNoTemporaries<const T> const & data_, const void * pNext_ = nullptr ) : pNext( pNext_ ), dataSize( data_.size() * sizeof( T ) ), pData( data_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ CudaModuleCreateInfoNV & operator=( CudaModuleCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ CudaModuleCreateInfoNV & operator=( VkCudaModuleCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<CudaModuleCreateInfoNV const *>( &rhs ); return *this; } # if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 CudaModuleCreateInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 CudaModuleCreateInfoNV & setDataSize( size_t dataSize_ ) VULKAN_HPP_NOEXCEPT { dataSize = dataSize_; return *this; } VULKAN_HPP_CONSTEXPR_14 CudaModuleCreateInfoNV & setPData( const void * pData_ ) VULKAN_HPP_NOEXCEPT { pData = pData_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) template <typename T> CudaModuleCreateInfoNV & setData( ArrayProxyNoTemporaries<const T> const & data_ ) VULKAN_HPP_NOEXCEPT { dataSize = data_.size() * sizeof( T ); pData = data_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ # endif /*VULKAN_HPP_NO_SETTERS*/ operator VkCudaModuleCreateInfoNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCudaModuleCreateInfoNV *>( this ); } operator VkCudaModuleCreateInfoNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkCudaModuleCreateInfoNV *>( this ); } operator VkCudaModuleCreateInfoNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkCudaModuleCreateInfoNV *>( this ); } operator VkCudaModuleCreateInfoNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkCudaModuleCreateInfoNV *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, size_t const &, const void * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, dataSize, pData ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( CudaModuleCreateInfoNV const & ) const = default; # else bool operator==( CudaModuleCreateInfoNV 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 ) && ( dataSize == rhs.dataSize ) && ( pData == rhs.pData ); # endif } bool operator!=( CudaModuleCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } # endif public: StructureType sType = StructureType::eCudaModuleCreateInfoNV; const void * pNext = {}; size_t dataSize = {}; const void * pData = {}; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkCudaModuleCreateInfoNV> { using Type = CudaModuleCreateInfoNV; }; # endif template <> struct CppType<StructureType, StructureType::eCudaModuleCreateInfoNV> { using Type = CudaModuleCreateInfoNV; }; #endif /*VK_ENABLE_BETA_EXTENSIONS*/ #if defined( VK_USE_PLATFORM_WIN32_KHR ) // wrapper struct for struct VkD3D12FenceSubmitInfoKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkD3D12FenceSubmitInfoKHR.html struct D3D12FenceSubmitInfoKHR { using NativeType = VkD3D12FenceSubmitInfoKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eD3D12FenceSubmitInfoKHR; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR D3D12FenceSubmitInfoKHR( uint32_t waitSemaphoreValuesCount_ = {}, const uint64_t * pWaitSemaphoreValues_ = {}, uint32_t signalSemaphoreValuesCount_ = {}, const uint64_t * pSignalSemaphoreValues_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , waitSemaphoreValuesCount{ waitSemaphoreValuesCount_ } , pWaitSemaphoreValues{ pWaitSemaphoreValues_ } , signalSemaphoreValuesCount{ signalSemaphoreValuesCount_ } , pSignalSemaphoreValues{ pSignalSemaphoreValues_ } { } VULKAN_HPP_CONSTEXPR D3D12FenceSubmitInfoKHR( D3D12FenceSubmitInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; D3D12FenceSubmitInfoKHR( VkD3D12FenceSubmitInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : D3D12FenceSubmitInfoKHR( *reinterpret_cast<D3D12FenceSubmitInfoKHR const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) D3D12FenceSubmitInfoKHR( ArrayProxyNoTemporaries<const uint64_t> const & waitSemaphoreValues_, ArrayProxyNoTemporaries<const uint64_t> const & signalSemaphoreValues_ = {}, const void * pNext_ = nullptr ) : pNext( pNext_ ) , waitSemaphoreValuesCount( static_cast<uint32_t>( waitSemaphoreValues_.size() ) ) , pWaitSemaphoreValues( waitSemaphoreValues_.data() ) , signalSemaphoreValuesCount( static_cast<uint32_t>( signalSemaphoreValues_.size() ) ) , pSignalSemaphoreValues( signalSemaphoreValues_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ D3D12FenceSubmitInfoKHR & operator=( D3D12FenceSubmitInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ D3D12FenceSubmitInfoKHR & operator=( VkD3D12FenceSubmitInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<D3D12FenceSubmitInfoKHR const *>( &rhs ); return *this; } # if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 D3D12FenceSubmitInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 D3D12FenceSubmitInfoKHR & setWaitSemaphoreValuesCount( uint32_t waitSemaphoreValuesCount_ ) VULKAN_HPP_NOEXCEPT { waitSemaphoreValuesCount = waitSemaphoreValuesCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 D3D12FenceSubmitInfoKHR & setPWaitSemaphoreValues( const uint64_t * pWaitSemaphoreValues_ ) VULKAN_HPP_NOEXCEPT { pWaitSemaphoreValues = pWaitSemaphoreValues_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) D3D12FenceSubmitInfoKHR & setWaitSemaphoreValues( ArrayProxyNoTemporaries<const uint64_t> const & waitSemaphoreValues_ ) VULKAN_HPP_NOEXCEPT { waitSemaphoreValuesCount = static_cast<uint32_t>( waitSemaphoreValues_.size() ); pWaitSemaphoreValues = waitSemaphoreValues_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 D3D12FenceSubmitInfoKHR & setSignalSemaphoreValuesCount( uint32_t signalSemaphoreValuesCount_ ) VULKAN_HPP_NOEXCEPT { signalSemaphoreValuesCount = signalSemaphoreValuesCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 D3D12FenceSubmitInfoKHR & setPSignalSemaphoreValues( const uint64_t * pSignalSemaphoreValues_ ) VULKAN_HPP_NOEXCEPT { pSignalSemaphoreValues = pSignalSemaphoreValues_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) D3D12FenceSubmitInfoKHR & setSignalSemaphoreValues( ArrayProxyNoTemporaries<const uint64_t> const & signalSemaphoreValues_ ) VULKAN_HPP_NOEXCEPT { signalSemaphoreValuesCount = static_cast<uint32_t>( signalSemaphoreValues_.size() ); pSignalSemaphoreValues = signalSemaphoreValues_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ # endif /*VULKAN_HPP_NO_SETTERS*/ operator VkD3D12FenceSubmitInfoKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkD3D12FenceSubmitInfoKHR *>( this ); } operator VkD3D12FenceSubmitInfoKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkD3D12FenceSubmitInfoKHR *>( this ); } operator VkD3D12FenceSubmitInfoKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkD3D12FenceSubmitInfoKHR *>( this ); } operator VkD3D12FenceSubmitInfoKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkD3D12FenceSubmitInfoKHR *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, uint32_t const &, const uint64_t * const &, uint32_t const &, const uint64_t * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, waitSemaphoreValuesCount, pWaitSemaphoreValues, signalSemaphoreValuesCount, pSignalSemaphoreValues ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( D3D12FenceSubmitInfoKHR const & ) const = default; # else bool operator==( D3D12FenceSubmitInfoKHR 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 ) && ( waitSemaphoreValuesCount == rhs.waitSemaphoreValuesCount ) && ( pWaitSemaphoreValues == rhs.pWaitSemaphoreValues ) && ( signalSemaphoreValuesCount == rhs.signalSemaphoreValuesCount ) && ( pSignalSemaphoreValues == rhs.pSignalSemaphoreValues ); # endif } bool operator!=( D3D12FenceSubmitInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } # endif public: StructureType sType = StructureType::eD3D12FenceSubmitInfoKHR; const void * pNext = {}; uint32_t waitSemaphoreValuesCount = {}; const uint64_t * pWaitSemaphoreValues = {}; uint32_t signalSemaphoreValuesCount = {}; const uint64_t * pSignalSemaphoreValues = {}; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkD3D12FenceSubmitInfoKHR> { using Type = D3D12FenceSubmitInfoKHR; }; # endif template <> struct CppType<StructureType, StructureType::eD3D12FenceSubmitInfoKHR> { using Type = D3D12FenceSubmitInfoKHR; }; #endif /*VK_USE_PLATFORM_WIN32_KHR*/ // wrapper struct for struct VkDataGraphPipelineCompilerControlCreateInfoARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDataGraphPipelineCompilerControlCreateInfoARM.html struct DataGraphPipelineCompilerControlCreateInfoARM { using NativeType = VkDataGraphPipelineCompilerControlCreateInfoARM; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDataGraphPipelineCompilerControlCreateInfoARM; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DataGraphPipelineCompilerControlCreateInfoARM( const char * pVendorOptions_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , pVendorOptions{ pVendorOptions_ } { } VULKAN_HPP_CONSTEXPR DataGraphPipelineCompilerControlCreateInfoARM( DataGraphPipelineCompilerControlCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; DataGraphPipelineCompilerControlCreateInfoARM( VkDataGraphPipelineCompilerControlCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT : DataGraphPipelineCompilerControlCreateInfoARM( *reinterpret_cast<DataGraphPipelineCompilerControlCreateInfoARM const *>( &rhs ) ) { } DataGraphPipelineCompilerControlCreateInfoARM & operator=( DataGraphPipelineCompilerControlCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DataGraphPipelineCompilerControlCreateInfoARM & operator=( VkDataGraphPipelineCompilerControlCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DataGraphPipelineCompilerControlCreateInfoARM const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineCompilerControlCreateInfoARM & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineCompilerControlCreateInfoARM & setPVendorOptions( const char * pVendorOptions_ ) VULKAN_HPP_NOEXCEPT { pVendorOptions = pVendorOptions_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDataGraphPipelineCompilerControlCreateInfoARM const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDataGraphPipelineCompilerControlCreateInfoARM *>( this ); } operator VkDataGraphPipelineCompilerControlCreateInfoARM &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDataGraphPipelineCompilerControlCreateInfoARM *>( this ); } operator VkDataGraphPipelineCompilerControlCreateInfoARM const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDataGraphPipelineCompilerControlCreateInfoARM *>( this ); } operator VkDataGraphPipelineCompilerControlCreateInfoARM *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDataGraphPipelineCompilerControlCreateInfoARM *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, const char * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, pVendorOptions ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) std::strong_ordering operator<=>( DataGraphPipelineCompilerControlCreateInfoARM const & rhs ) const VULKAN_HPP_NOEXCEPT { if ( auto cmp = sType <=> rhs.sType; cmp != 0 ) return cmp; if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 ) return cmp; if ( pVendorOptions != rhs.pVendorOptions ) if ( auto cmp = strcmp( pVendorOptions, rhs.pVendorOptions ); cmp != 0 ) return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater; return std::strong_ordering::equivalent; } #endif bool operator==( DataGraphPipelineCompilerControlCreateInfoARM const & rhs ) const VULKAN_HPP_NOEXCEPT { return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( ( pVendorOptions == rhs.pVendorOptions ) || ( strcmp( pVendorOptions, rhs.pVendorOptions ) == 0 ) ); } bool operator!=( DataGraphPipelineCompilerControlCreateInfoARM const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } public: StructureType sType = StructureType::eDataGraphPipelineCompilerControlCreateInfoARM; const void * pNext = {}; const char * pVendorOptions = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDataGraphPipelineCompilerControlCreateInfoARM> { using Type = DataGraphPipelineCompilerControlCreateInfoARM; }; #endif template <> struct CppType<StructureType, StructureType::eDataGraphPipelineCompilerControlCreateInfoARM> { using Type = DataGraphPipelineCompilerControlCreateInfoARM; }; // wrapper struct for struct VkDataGraphPipelineConstantARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDataGraphPipelineConstantARM.html struct DataGraphPipelineConstantARM { using NativeType = VkDataGraphPipelineConstantARM; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDataGraphPipelineConstantARM; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DataGraphPipelineConstantARM( uint32_t id_ = {}, const void * pConstantData_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , id{ id_ } , pConstantData{ pConstantData_ } { } VULKAN_HPP_CONSTEXPR DataGraphPipelineConstantARM( DataGraphPipelineConstantARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; DataGraphPipelineConstantARM( VkDataGraphPipelineConstantARM const & rhs ) VULKAN_HPP_NOEXCEPT : DataGraphPipelineConstantARM( *reinterpret_cast<DataGraphPipelineConstantARM const *>( &rhs ) ) { } DataGraphPipelineConstantARM & operator=( DataGraphPipelineConstantARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DataGraphPipelineConstantARM & operator=( VkDataGraphPipelineConstantARM const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DataGraphPipelineConstantARM const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineConstantARM & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineConstantARM & setId( uint32_t id_ ) VULKAN_HPP_NOEXCEPT { id = id_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineConstantARM & setPConstantData( const void * pConstantData_ ) VULKAN_HPP_NOEXCEPT { pConstantData = pConstantData_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDataGraphPipelineConstantARM const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDataGraphPipelineConstantARM *>( this ); } operator VkDataGraphPipelineConstantARM &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDataGraphPipelineConstantARM *>( this ); } operator VkDataGraphPipelineConstantARM const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDataGraphPipelineConstantARM *>( this ); } operator VkDataGraphPipelineConstantARM *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDataGraphPipelineConstantARM *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, uint32_t const &, const void * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, id, pConstantData ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DataGraphPipelineConstantARM const & ) const = default; #else bool operator==( DataGraphPipelineConstantARM 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 ) && ( id == rhs.id ) && ( pConstantData == rhs.pConstantData ); # endif } bool operator!=( DataGraphPipelineConstantARM const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDataGraphPipelineConstantARM; const void * pNext = {}; uint32_t id = {}; const void * pConstantData = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDataGraphPipelineConstantARM> { using Type = DataGraphPipelineConstantARM; }; #endif template <> struct CppType<StructureType, StructureType::eDataGraphPipelineConstantARM> { using Type = DataGraphPipelineConstantARM; }; // wrapper struct for struct VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM.html struct DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM { using NativeType = VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM; static const bool allowDuplicate = true; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM( uint32_t dimension_ = {}, uint32_t zeroCount_ = {}, uint32_t groupSize_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , dimension{ dimension_ } , zeroCount{ zeroCount_ } , groupSize{ groupSize_ } { } VULKAN_HPP_CONSTEXPR DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM( DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM( VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT : DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM( *reinterpret_cast<DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM const *>( &rhs ) ) { } DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM & operator=( DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM & operator=( VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM & setDimension( uint32_t dimension_ ) VULKAN_HPP_NOEXCEPT { dimension = dimension_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM & setZeroCount( uint32_t zeroCount_ ) VULKAN_HPP_NOEXCEPT { zeroCount = zeroCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM & setGroupSize( uint32_t groupSize_ ) VULKAN_HPP_NOEXCEPT { groupSize = groupSize_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM *>( this ); } operator VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM *>( this ); } operator VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM *>( this ); } operator VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, uint32_t const &, uint32_t const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, dimension, zeroCount, groupSize ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM const & ) const = default; #else bool operator==( DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM 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 ) && ( dimension == rhs.dimension ) && ( zeroCount == rhs.zeroCount ) && ( groupSize == rhs.groupSize ); # endif } bool operator!=( DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM; const void * pNext = {}; uint32_t dimension = {}; uint32_t zeroCount = {}; uint32_t groupSize = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM> { using Type = DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM; }; #endif template <> struct CppType<StructureType, StructureType::eDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM> { using Type = DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM; }; // wrapper struct for struct VkDataGraphPipelineResourceInfoARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDataGraphPipelineResourceInfoARM.html struct DataGraphPipelineResourceInfoARM { using NativeType = VkDataGraphPipelineResourceInfoARM; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDataGraphPipelineResourceInfoARM; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DataGraphPipelineResourceInfoARM( uint32_t descriptorSet_ = {}, uint32_t binding_ = {}, uint32_t arrayElement_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , descriptorSet{ descriptorSet_ } , binding{ binding_ } , arrayElement{ arrayElement_ } { } VULKAN_HPP_CONSTEXPR DataGraphPipelineResourceInfoARM( DataGraphPipelineResourceInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; DataGraphPipelineResourceInfoARM( VkDataGraphPipelineResourceInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT : DataGraphPipelineResourceInfoARM( *reinterpret_cast<DataGraphPipelineResourceInfoARM const *>( &rhs ) ) { } DataGraphPipelineResourceInfoARM & operator=( DataGraphPipelineResourceInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DataGraphPipelineResourceInfoARM & operator=( VkDataGraphPipelineResourceInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DataGraphPipelineResourceInfoARM const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineResourceInfoARM & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineResourceInfoARM & setDescriptorSet( uint32_t descriptorSet_ ) VULKAN_HPP_NOEXCEPT { descriptorSet = descriptorSet_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineResourceInfoARM & setBinding( uint32_t binding_ ) VULKAN_HPP_NOEXCEPT { binding = binding_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineResourceInfoARM & setArrayElement( uint32_t arrayElement_ ) VULKAN_HPP_NOEXCEPT { arrayElement = arrayElement_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDataGraphPipelineResourceInfoARM const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDataGraphPipelineResourceInfoARM *>( this ); } operator VkDataGraphPipelineResourceInfoARM &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDataGraphPipelineResourceInfoARM *>( this ); } operator VkDataGraphPipelineResourceInfoARM const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDataGraphPipelineResourceInfoARM *>( this ); } operator VkDataGraphPipelineResourceInfoARM *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDataGraphPipelineResourceInfoARM *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, uint32_t const &, uint32_t const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, descriptorSet, binding, arrayElement ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DataGraphPipelineResourceInfoARM const & ) const = default; #else bool operator==( DataGraphPipelineResourceInfoARM 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 ) && ( descriptorSet == rhs.descriptorSet ) && ( binding == rhs.binding ) && ( arrayElement == rhs.arrayElement ); # endif } bool operator!=( DataGraphPipelineResourceInfoARM const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDataGraphPipelineResourceInfoARM; const void * pNext = {}; uint32_t descriptorSet = {}; uint32_t binding = {}; uint32_t arrayElement = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDataGraphPipelineResourceInfoARM> { using Type = DataGraphPipelineResourceInfoARM; }; #endif template <> struct CppType<StructureType, StructureType::eDataGraphPipelineResourceInfoARM> { using Type = DataGraphPipelineResourceInfoARM; }; // wrapper struct for struct VkDataGraphPipelineCreateInfoARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDataGraphPipelineCreateInfoARM.html struct DataGraphPipelineCreateInfoARM { using NativeType = VkDataGraphPipelineCreateInfoARM; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDataGraphPipelineCreateInfoARM; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DataGraphPipelineCreateInfoARM( PipelineCreateFlags2KHR flags_ = {}, PipelineLayout layout_ = {}, uint32_t resourceInfoCount_ = {}, const DataGraphPipelineResourceInfoARM * pResourceInfos_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , layout{ layout_ } , resourceInfoCount{ resourceInfoCount_ } , pResourceInfos{ pResourceInfos_ } { } VULKAN_HPP_CONSTEXPR DataGraphPipelineCreateInfoARM( DataGraphPipelineCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; DataGraphPipelineCreateInfoARM( VkDataGraphPipelineCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT : DataGraphPipelineCreateInfoARM( *reinterpret_cast<DataGraphPipelineCreateInfoARM const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DataGraphPipelineCreateInfoARM( PipelineCreateFlags2KHR flags_, PipelineLayout layout_, ArrayProxyNoTemporaries<const DataGraphPipelineResourceInfoARM> const & resourceInfos_, const void * pNext_ = nullptr ) : pNext( pNext_ ) , flags( flags_ ) , layout( layout_ ) , resourceInfoCount( static_cast<uint32_t>( resourceInfos_.size() ) ) , pResourceInfos( resourceInfos_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ DataGraphPipelineCreateInfoARM & operator=( DataGraphPipelineCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DataGraphPipelineCreateInfoARM & operator=( VkDataGraphPipelineCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DataGraphPipelineCreateInfoARM const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineCreateInfoARM & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineCreateInfoARM & setFlags( PipelineCreateFlags2KHR flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineCreateInfoARM & setLayout( PipelineLayout layout_ ) VULKAN_HPP_NOEXCEPT { layout = layout_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineCreateInfoARM & setResourceInfoCount( uint32_t resourceInfoCount_ ) VULKAN_HPP_NOEXCEPT { resourceInfoCount = resourceInfoCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineCreateInfoARM & setPResourceInfos( const DataGraphPipelineResourceInfoARM * pResourceInfos_ ) VULKAN_HPP_NOEXCEPT { pResourceInfos = pResourceInfos_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DataGraphPipelineCreateInfoARM & setResourceInfos( ArrayProxyNoTemporaries<const DataGraphPipelineResourceInfoARM> const & resourceInfos_ ) VULKAN_HPP_NOEXCEPT { resourceInfoCount = static_cast<uint32_t>( resourceInfos_.size() ); pResourceInfos = resourceInfos_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDataGraphPipelineCreateInfoARM const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDataGraphPipelineCreateInfoARM *>( this ); } operator VkDataGraphPipelineCreateInfoARM &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDataGraphPipelineCreateInfoARM *>( this ); } operator VkDataGraphPipelineCreateInfoARM const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDataGraphPipelineCreateInfoARM *>( this ); } operator VkDataGraphPipelineCreateInfoARM *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDataGraphPipelineCreateInfoARM *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, PipelineCreateFlags2KHR const &, PipelineLayout const &, uint32_t const &, const DataGraphPipelineResourceInfoARM * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, layout, resourceInfoCount, pResourceInfos ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DataGraphPipelineCreateInfoARM const & ) const = default; #else bool operator==( DataGraphPipelineCreateInfoARM 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 ) && ( flags == rhs.flags ) && ( layout == rhs.layout ) && ( resourceInfoCount == rhs.resourceInfoCount ) && ( pResourceInfos == rhs.pResourceInfos ); # endif } bool operator!=( DataGraphPipelineCreateInfoARM const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDataGraphPipelineCreateInfoARM; const void * pNext = {}; PipelineCreateFlags2KHR flags = {}; PipelineLayout layout = {}; uint32_t resourceInfoCount = {}; const DataGraphPipelineResourceInfoARM * pResourceInfos = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDataGraphPipelineCreateInfoARM> { using Type = DataGraphPipelineCreateInfoARM; }; #endif template <> struct CppType<StructureType, StructureType::eDataGraphPipelineCreateInfoARM> { using Type = DataGraphPipelineCreateInfoARM; }; // wrapper struct for struct VkDataGraphPipelineDispatchInfoARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDataGraphPipelineDispatchInfoARM.html struct DataGraphPipelineDispatchInfoARM { using NativeType = VkDataGraphPipelineDispatchInfoARM; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDataGraphPipelineDispatchInfoARM; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DataGraphPipelineDispatchInfoARM( DataGraphPipelineDispatchFlagsARM flags_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } { } VULKAN_HPP_CONSTEXPR DataGraphPipelineDispatchInfoARM( DataGraphPipelineDispatchInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; DataGraphPipelineDispatchInfoARM( VkDataGraphPipelineDispatchInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT : DataGraphPipelineDispatchInfoARM( *reinterpret_cast<DataGraphPipelineDispatchInfoARM const *>( &rhs ) ) { } DataGraphPipelineDispatchInfoARM & operator=( DataGraphPipelineDispatchInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DataGraphPipelineDispatchInfoARM & operator=( VkDataGraphPipelineDispatchInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DataGraphPipelineDispatchInfoARM const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineDispatchInfoARM & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineDispatchInfoARM & setFlags( DataGraphPipelineDispatchFlagsARM flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDataGraphPipelineDispatchInfoARM const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDataGraphPipelineDispatchInfoARM *>( this ); } operator VkDataGraphPipelineDispatchInfoARM &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDataGraphPipelineDispatchInfoARM *>( this ); } operator VkDataGraphPipelineDispatchInfoARM const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDataGraphPipelineDispatchInfoARM *>( this ); } operator VkDataGraphPipelineDispatchInfoARM *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDataGraphPipelineDispatchInfoARM *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, DataGraphPipelineDispatchFlagsARM const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DataGraphPipelineDispatchInfoARM const & ) const = default; #else bool operator==( DataGraphPipelineDispatchInfoARM 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 ) && ( flags == rhs.flags ); # endif } bool operator!=( DataGraphPipelineDispatchInfoARM const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDataGraphPipelineDispatchInfoARM; void * pNext = {}; DataGraphPipelineDispatchFlagsARM flags = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDataGraphPipelineDispatchInfoARM> { using Type = DataGraphPipelineDispatchInfoARM; }; #endif template <> struct CppType<StructureType, StructureType::eDataGraphPipelineDispatchInfoARM> { using Type = DataGraphPipelineDispatchInfoARM; }; // wrapper struct for struct VkDataGraphPipelineIdentifierCreateInfoARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDataGraphPipelineIdentifierCreateInfoARM.html struct DataGraphPipelineIdentifierCreateInfoARM { using NativeType = VkDataGraphPipelineIdentifierCreateInfoARM; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDataGraphPipelineIdentifierCreateInfoARM; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DataGraphPipelineIdentifierCreateInfoARM( uint32_t identifierSize_ = {}, const uint8_t * pIdentifier_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , identifierSize{ identifierSize_ } , pIdentifier{ pIdentifier_ } { } VULKAN_HPP_CONSTEXPR DataGraphPipelineIdentifierCreateInfoARM( DataGraphPipelineIdentifierCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; DataGraphPipelineIdentifierCreateInfoARM( VkDataGraphPipelineIdentifierCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT : DataGraphPipelineIdentifierCreateInfoARM( *reinterpret_cast<DataGraphPipelineIdentifierCreateInfoARM const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DataGraphPipelineIdentifierCreateInfoARM( ArrayProxyNoTemporaries<const uint8_t> const & identifier_, const void * pNext_ = nullptr ) : pNext( pNext_ ), identifierSize( static_cast<uint32_t>( identifier_.size() ) ), pIdentifier( identifier_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ DataGraphPipelineIdentifierCreateInfoARM & operator=( DataGraphPipelineIdentifierCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DataGraphPipelineIdentifierCreateInfoARM & operator=( VkDataGraphPipelineIdentifierCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DataGraphPipelineIdentifierCreateInfoARM const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineIdentifierCreateInfoARM & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineIdentifierCreateInfoARM & setIdentifierSize( uint32_t identifierSize_ ) VULKAN_HPP_NOEXCEPT { identifierSize = identifierSize_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineIdentifierCreateInfoARM & setPIdentifier( const uint8_t * pIdentifier_ ) VULKAN_HPP_NOEXCEPT { pIdentifier = pIdentifier_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DataGraphPipelineIdentifierCreateInfoARM & setIdentifier( ArrayProxyNoTemporaries<const uint8_t> const & identifier_ ) VULKAN_HPP_NOEXCEPT { identifierSize = static_cast<uint32_t>( identifier_.size() ); pIdentifier = identifier_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDataGraphPipelineIdentifierCreateInfoARM const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDataGraphPipelineIdentifierCreateInfoARM *>( this ); } operator VkDataGraphPipelineIdentifierCreateInfoARM &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDataGraphPipelineIdentifierCreateInfoARM *>( this ); } operator VkDataGraphPipelineIdentifierCreateInfoARM const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDataGraphPipelineIdentifierCreateInfoARM *>( this ); } operator VkDataGraphPipelineIdentifierCreateInfoARM *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDataGraphPipelineIdentifierCreateInfoARM *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, uint32_t const &, const uint8_t * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, identifierSize, pIdentifier ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DataGraphPipelineIdentifierCreateInfoARM const & ) const = default; #else bool operator==( DataGraphPipelineIdentifierCreateInfoARM 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 ) && ( identifierSize == rhs.identifierSize ) && ( pIdentifier == rhs.pIdentifier ); # endif } bool operator!=( DataGraphPipelineIdentifierCreateInfoARM const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDataGraphPipelineIdentifierCreateInfoARM; const void * pNext = {}; uint32_t identifierSize = {}; const uint8_t * pIdentifier = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDataGraphPipelineIdentifierCreateInfoARM> { using Type = DataGraphPipelineIdentifierCreateInfoARM; }; #endif template <> struct CppType<StructureType, StructureType::eDataGraphPipelineIdentifierCreateInfoARM> { using Type = DataGraphPipelineIdentifierCreateInfoARM; }; // wrapper struct for struct VkDataGraphPipelineInfoARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDataGraphPipelineInfoARM.html struct DataGraphPipelineInfoARM { using NativeType = VkDataGraphPipelineInfoARM; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDataGraphPipelineInfoARM; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DataGraphPipelineInfoARM( Pipeline dataGraphPipeline_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , dataGraphPipeline{ dataGraphPipeline_ } { } VULKAN_HPP_CONSTEXPR DataGraphPipelineInfoARM( DataGraphPipelineInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; DataGraphPipelineInfoARM( VkDataGraphPipelineInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT : DataGraphPipelineInfoARM( *reinterpret_cast<DataGraphPipelineInfoARM const *>( &rhs ) ) { } DataGraphPipelineInfoARM & operator=( DataGraphPipelineInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DataGraphPipelineInfoARM & operator=( VkDataGraphPipelineInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DataGraphPipelineInfoARM const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineInfoARM & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineInfoARM & setDataGraphPipeline( Pipeline dataGraphPipeline_ ) VULKAN_HPP_NOEXCEPT { dataGraphPipeline = dataGraphPipeline_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDataGraphPipelineInfoARM const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDataGraphPipelineInfoARM *>( this ); } operator VkDataGraphPipelineInfoARM &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDataGraphPipelineInfoARM *>( this ); } operator VkDataGraphPipelineInfoARM const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDataGraphPipelineInfoARM *>( this ); } operator VkDataGraphPipelineInfoARM *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDataGraphPipelineInfoARM *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Pipeline const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, dataGraphPipeline ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DataGraphPipelineInfoARM const & ) const = default; #else bool operator==( DataGraphPipelineInfoARM 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 ) && ( dataGraphPipeline == rhs.dataGraphPipeline ); # endif } bool operator!=( DataGraphPipelineInfoARM const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDataGraphPipelineInfoARM; const void * pNext = {}; Pipeline dataGraphPipeline = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDataGraphPipelineInfoARM> { using Type = DataGraphPipelineInfoARM; }; #endif template <> struct CppType<StructureType, StructureType::eDataGraphPipelineInfoARM> { using Type = DataGraphPipelineInfoARM; }; // wrapper struct for struct VkDataGraphPipelinePropertyQueryResultARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDataGraphPipelinePropertyQueryResultARM.html struct DataGraphPipelinePropertyQueryResultARM { using NativeType = VkDataGraphPipelinePropertyQueryResultARM; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDataGraphPipelinePropertyQueryResultARM; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DataGraphPipelinePropertyQueryResultARM( DataGraphPipelinePropertyARM property_ = DataGraphPipelinePropertyARM::eCreationLog, Bool32 isText_ = {}, size_t dataSize_ = {}, void * pData_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , property{ property_ } , isText{ isText_ } , dataSize{ dataSize_ } , pData{ pData_ } { } VULKAN_HPP_CONSTEXPR DataGraphPipelinePropertyQueryResultARM( DataGraphPipelinePropertyQueryResultARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; DataGraphPipelinePropertyQueryResultARM( VkDataGraphPipelinePropertyQueryResultARM const & rhs ) VULKAN_HPP_NOEXCEPT : DataGraphPipelinePropertyQueryResultARM( *reinterpret_cast<DataGraphPipelinePropertyQueryResultARM const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) template <typename T> DataGraphPipelinePropertyQueryResultARM( DataGraphPipelinePropertyARM property_, Bool32 isText_, ArrayProxyNoTemporaries<T> const & data_, const void * pNext_ = nullptr ) : pNext( pNext_ ), property( property_ ), isText( isText_ ), dataSize( data_.size() * sizeof( T ) ), pData( data_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ DataGraphPipelinePropertyQueryResultARM & operator=( DataGraphPipelinePropertyQueryResultARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DataGraphPipelinePropertyQueryResultARM & operator=( VkDataGraphPipelinePropertyQueryResultARM const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DataGraphPipelinePropertyQueryResultARM const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DataGraphPipelinePropertyQueryResultARM & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelinePropertyQueryResultARM & setProperty( DataGraphPipelinePropertyARM property_ ) VULKAN_HPP_NOEXCEPT { property = property_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelinePropertyQueryResultARM & setIsText( Bool32 isText_ ) VULKAN_HPP_NOEXCEPT { isText = isText_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelinePropertyQueryResultARM & setDataSize( size_t dataSize_ ) VULKAN_HPP_NOEXCEPT { dataSize = dataSize_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelinePropertyQueryResultARM & setPData( void * pData_ ) VULKAN_HPP_NOEXCEPT { pData = pData_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) template <typename T> DataGraphPipelinePropertyQueryResultARM & setData( ArrayProxyNoTemporaries<T> const & data_ ) VULKAN_HPP_NOEXCEPT { dataSize = data_.size() * sizeof( T ); pData = data_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDataGraphPipelinePropertyQueryResultARM const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDataGraphPipelinePropertyQueryResultARM *>( this ); } operator VkDataGraphPipelinePropertyQueryResultARM &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDataGraphPipelinePropertyQueryResultARM *>( this ); } operator VkDataGraphPipelinePropertyQueryResultARM const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDataGraphPipelinePropertyQueryResultARM *>( this ); } operator VkDataGraphPipelinePropertyQueryResultARM *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDataGraphPipelinePropertyQueryResultARM *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DataGraphPipelinePropertyARM const &, Bool32 const &, size_t const &, void * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, property, isText, dataSize, pData ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DataGraphPipelinePropertyQueryResultARM const & ) const = default; #else bool operator==( DataGraphPipelinePropertyQueryResultARM 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 ) && ( property == rhs.property ) && ( isText == rhs.isText ) && ( dataSize == rhs.dataSize ) && ( pData == rhs.pData ); # endif } bool operator!=( DataGraphPipelinePropertyQueryResultARM const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDataGraphPipelinePropertyQueryResultARM; const void * pNext = {}; DataGraphPipelinePropertyARM property = DataGraphPipelinePropertyARM::eCreationLog; Bool32 isText = {}; size_t dataSize = {}; void * pData = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDataGraphPipelinePropertyQueryResultARM> { using Type = DataGraphPipelinePropertyQueryResultARM; }; #endif template <> struct CppType<StructureType, StructureType::eDataGraphPipelinePropertyQueryResultARM> { using Type = DataGraphPipelinePropertyQueryResultARM; }; // wrapper struct for struct VkDataGraphPipelineSessionBindPointRequirementARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDataGraphPipelineSessionBindPointRequirementARM.html struct DataGraphPipelineSessionBindPointRequirementARM { using NativeType = VkDataGraphPipelineSessionBindPointRequirementARM; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDataGraphPipelineSessionBindPointRequirementARM; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DataGraphPipelineSessionBindPointRequirementARM( DataGraphPipelineSessionBindPointARM bindPoint_ = DataGraphPipelineSessionBindPointARM::eTransient, DataGraphPipelineSessionBindPointTypeARM bindPointType_ = DataGraphPipelineSessionBindPointTypeARM::eMemory, uint32_t numObjects_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , bindPoint{ bindPoint_ } , bindPointType{ bindPointType_ } , numObjects{ numObjects_ } { } VULKAN_HPP_CONSTEXPR DataGraphPipelineSessionBindPointRequirementARM( DataGraphPipelineSessionBindPointRequirementARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; DataGraphPipelineSessionBindPointRequirementARM( VkDataGraphPipelineSessionBindPointRequirementARM const & rhs ) VULKAN_HPP_NOEXCEPT : DataGraphPipelineSessionBindPointRequirementARM( *reinterpret_cast<DataGraphPipelineSessionBindPointRequirementARM const *>( &rhs ) ) { } DataGraphPipelineSessionBindPointRequirementARM & operator=( DataGraphPipelineSessionBindPointRequirementARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DataGraphPipelineSessionBindPointRequirementARM & operator=( VkDataGraphPipelineSessionBindPointRequirementARM const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DataGraphPipelineSessionBindPointRequirementARM const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineSessionBindPointRequirementARM & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineSessionBindPointRequirementARM & setBindPoint( DataGraphPipelineSessionBindPointARM bindPoint_ ) VULKAN_HPP_NOEXCEPT { bindPoint = bindPoint_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineSessionBindPointRequirementARM & setBindPointType( DataGraphPipelineSessionBindPointTypeARM bindPointType_ ) VULKAN_HPP_NOEXCEPT { bindPointType = bindPointType_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineSessionBindPointRequirementARM & setNumObjects( uint32_t numObjects_ ) VULKAN_HPP_NOEXCEPT { numObjects = numObjects_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDataGraphPipelineSessionBindPointRequirementARM const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDataGraphPipelineSessionBindPointRequirementARM *>( this ); } operator VkDataGraphPipelineSessionBindPointRequirementARM &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDataGraphPipelineSessionBindPointRequirementARM *>( this ); } operator VkDataGraphPipelineSessionBindPointRequirementARM const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDataGraphPipelineSessionBindPointRequirementARM *>( this ); } operator VkDataGraphPipelineSessionBindPointRequirementARM *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDataGraphPipelineSessionBindPointRequirementARM *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DataGraphPipelineSessionBindPointARM const &, DataGraphPipelineSessionBindPointTypeARM const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, bindPoint, bindPointType, numObjects ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DataGraphPipelineSessionBindPointRequirementARM const & ) const = default; #else bool operator==( DataGraphPipelineSessionBindPointRequirementARM 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 ) && ( bindPoint == rhs.bindPoint ) && ( bindPointType == rhs.bindPointType ) && ( numObjects == rhs.numObjects ); # endif } bool operator!=( DataGraphPipelineSessionBindPointRequirementARM const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDataGraphPipelineSessionBindPointRequirementARM; const void * pNext = {}; DataGraphPipelineSessionBindPointARM bindPoint = DataGraphPipelineSessionBindPointARM::eTransient; DataGraphPipelineSessionBindPointTypeARM bindPointType = DataGraphPipelineSessionBindPointTypeARM::eMemory; uint32_t numObjects = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDataGraphPipelineSessionBindPointRequirementARM> { using Type = DataGraphPipelineSessionBindPointRequirementARM; }; #endif template <> struct CppType<StructureType, StructureType::eDataGraphPipelineSessionBindPointRequirementARM> { using Type = DataGraphPipelineSessionBindPointRequirementARM; }; // wrapper struct for struct VkDataGraphPipelineSessionBindPointRequirementsInfoARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDataGraphPipelineSessionBindPointRequirementsInfoARM.html struct DataGraphPipelineSessionBindPointRequirementsInfoARM { using NativeType = VkDataGraphPipelineSessionBindPointRequirementsInfoARM; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDataGraphPipelineSessionBindPointRequirementsInfoARM; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DataGraphPipelineSessionBindPointRequirementsInfoARM( DataGraphPipelineSessionARM session_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , session{ session_ } { } VULKAN_HPP_CONSTEXPR DataGraphPipelineSessionBindPointRequirementsInfoARM( DataGraphPipelineSessionBindPointRequirementsInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; DataGraphPipelineSessionBindPointRequirementsInfoARM( VkDataGraphPipelineSessionBindPointRequirementsInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT : DataGraphPipelineSessionBindPointRequirementsInfoARM( *reinterpret_cast<DataGraphPipelineSessionBindPointRequirementsInfoARM const *>( &rhs ) ) { } DataGraphPipelineSessionBindPointRequirementsInfoARM & operator=( DataGraphPipelineSessionBindPointRequirementsInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DataGraphPipelineSessionBindPointRequirementsInfoARM & operator=( VkDataGraphPipelineSessionBindPointRequirementsInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DataGraphPipelineSessionBindPointRequirementsInfoARM const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineSessionBindPointRequirementsInfoARM & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineSessionBindPointRequirementsInfoARM & setSession( DataGraphPipelineSessionARM session_ ) VULKAN_HPP_NOEXCEPT { session = session_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDataGraphPipelineSessionBindPointRequirementsInfoARM const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDataGraphPipelineSessionBindPointRequirementsInfoARM *>( this ); } operator VkDataGraphPipelineSessionBindPointRequirementsInfoARM &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDataGraphPipelineSessionBindPointRequirementsInfoARM *>( this ); } operator VkDataGraphPipelineSessionBindPointRequirementsInfoARM const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDataGraphPipelineSessionBindPointRequirementsInfoARM *>( this ); } operator VkDataGraphPipelineSessionBindPointRequirementsInfoARM *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDataGraphPipelineSessionBindPointRequirementsInfoARM *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DataGraphPipelineSessionARM const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, session ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DataGraphPipelineSessionBindPointRequirementsInfoARM const & ) const = default; #else bool operator==( DataGraphPipelineSessionBindPointRequirementsInfoARM 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 ) && ( session == rhs.session ); # endif } bool operator!=( DataGraphPipelineSessionBindPointRequirementsInfoARM const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDataGraphPipelineSessionBindPointRequirementsInfoARM; const void * pNext = {}; DataGraphPipelineSessionARM session = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDataGraphPipelineSessionBindPointRequirementsInfoARM> { using Type = DataGraphPipelineSessionBindPointRequirementsInfoARM; }; #endif template <> struct CppType<StructureType, StructureType::eDataGraphPipelineSessionBindPointRequirementsInfoARM> { using Type = DataGraphPipelineSessionBindPointRequirementsInfoARM; }; // wrapper struct for struct VkDataGraphPipelineSessionCreateInfoARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDataGraphPipelineSessionCreateInfoARM.html struct DataGraphPipelineSessionCreateInfoARM { using NativeType = VkDataGraphPipelineSessionCreateInfoARM; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDataGraphPipelineSessionCreateInfoARM; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DataGraphPipelineSessionCreateInfoARM( DataGraphPipelineSessionCreateFlagsARM flags_ = {}, Pipeline dataGraphPipeline_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , dataGraphPipeline{ dataGraphPipeline_ } { } VULKAN_HPP_CONSTEXPR DataGraphPipelineSessionCreateInfoARM( DataGraphPipelineSessionCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; DataGraphPipelineSessionCreateInfoARM( VkDataGraphPipelineSessionCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT : DataGraphPipelineSessionCreateInfoARM( *reinterpret_cast<DataGraphPipelineSessionCreateInfoARM const *>( &rhs ) ) { } DataGraphPipelineSessionCreateInfoARM & operator=( DataGraphPipelineSessionCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DataGraphPipelineSessionCreateInfoARM & operator=( VkDataGraphPipelineSessionCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DataGraphPipelineSessionCreateInfoARM const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineSessionCreateInfoARM & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineSessionCreateInfoARM & setFlags( DataGraphPipelineSessionCreateFlagsARM flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineSessionCreateInfoARM & setDataGraphPipeline( Pipeline dataGraphPipeline_ ) VULKAN_HPP_NOEXCEPT { dataGraphPipeline = dataGraphPipeline_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDataGraphPipelineSessionCreateInfoARM const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDataGraphPipelineSessionCreateInfoARM *>( this ); } operator VkDataGraphPipelineSessionCreateInfoARM &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDataGraphPipelineSessionCreateInfoARM *>( this ); } operator VkDataGraphPipelineSessionCreateInfoARM const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDataGraphPipelineSessionCreateInfoARM *>( this ); } operator VkDataGraphPipelineSessionCreateInfoARM *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDataGraphPipelineSessionCreateInfoARM *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DataGraphPipelineSessionCreateFlagsARM const &, Pipeline const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, dataGraphPipeline ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DataGraphPipelineSessionCreateInfoARM const & ) const = default; #else bool operator==( DataGraphPipelineSessionCreateInfoARM 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 ) && ( flags == rhs.flags ) && ( dataGraphPipeline == rhs.dataGraphPipeline ); # endif } bool operator!=( DataGraphPipelineSessionCreateInfoARM const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDataGraphPipelineSessionCreateInfoARM; const void * pNext = {}; DataGraphPipelineSessionCreateFlagsARM flags = {}; Pipeline dataGraphPipeline = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDataGraphPipelineSessionCreateInfoARM> { using Type = DataGraphPipelineSessionCreateInfoARM; }; #endif template <> struct CppType<StructureType, StructureType::eDataGraphPipelineSessionCreateInfoARM> { using Type = DataGraphPipelineSessionCreateInfoARM; }; // wrapper struct for struct VkDataGraphPipelineSessionMemoryRequirementsInfoARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDataGraphPipelineSessionMemoryRequirementsInfoARM.html struct DataGraphPipelineSessionMemoryRequirementsInfoARM { using NativeType = VkDataGraphPipelineSessionMemoryRequirementsInfoARM; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDataGraphPipelineSessionMemoryRequirementsInfoARM; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DataGraphPipelineSessionMemoryRequirementsInfoARM( DataGraphPipelineSessionARM session_ = {}, DataGraphPipelineSessionBindPointARM bindPoint_ = DataGraphPipelineSessionBindPointARM::eTransient, uint32_t objectIndex_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , session{ session_ } , bindPoint{ bindPoint_ } , objectIndex{ objectIndex_ } { } VULKAN_HPP_CONSTEXPR DataGraphPipelineSessionMemoryRequirementsInfoARM( DataGraphPipelineSessionMemoryRequirementsInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; DataGraphPipelineSessionMemoryRequirementsInfoARM( VkDataGraphPipelineSessionMemoryRequirementsInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT : DataGraphPipelineSessionMemoryRequirementsInfoARM( *reinterpret_cast<DataGraphPipelineSessionMemoryRequirementsInfoARM const *>( &rhs ) ) { } DataGraphPipelineSessionMemoryRequirementsInfoARM & operator=( DataGraphPipelineSessionMemoryRequirementsInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DataGraphPipelineSessionMemoryRequirementsInfoARM & operator=( VkDataGraphPipelineSessionMemoryRequirementsInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DataGraphPipelineSessionMemoryRequirementsInfoARM const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineSessionMemoryRequirementsInfoARM & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineSessionMemoryRequirementsInfoARM & setSession( DataGraphPipelineSessionARM session_ ) VULKAN_HPP_NOEXCEPT { session = session_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineSessionMemoryRequirementsInfoARM & setBindPoint( DataGraphPipelineSessionBindPointARM bindPoint_ ) VULKAN_HPP_NOEXCEPT { bindPoint = bindPoint_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineSessionMemoryRequirementsInfoARM & setObjectIndex( uint32_t objectIndex_ ) VULKAN_HPP_NOEXCEPT { objectIndex = objectIndex_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDataGraphPipelineSessionMemoryRequirementsInfoARM const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDataGraphPipelineSessionMemoryRequirementsInfoARM *>( this ); } operator VkDataGraphPipelineSessionMemoryRequirementsInfoARM &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDataGraphPipelineSessionMemoryRequirementsInfoARM *>( this ); } operator VkDataGraphPipelineSessionMemoryRequirementsInfoARM const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDataGraphPipelineSessionMemoryRequirementsInfoARM *>( this ); } operator VkDataGraphPipelineSessionMemoryRequirementsInfoARM *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDataGraphPipelineSessionMemoryRequirementsInfoARM *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DataGraphPipelineSessionARM const &, DataGraphPipelineSessionBindPointARM const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, session, bindPoint, objectIndex ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DataGraphPipelineSessionMemoryRequirementsInfoARM const & ) const = default; #else bool operator==( DataGraphPipelineSessionMemoryRequirementsInfoARM 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 ) && ( session == rhs.session ) && ( bindPoint == rhs.bindPoint ) && ( objectIndex == rhs.objectIndex ); # endif } bool operator!=( DataGraphPipelineSessionMemoryRequirementsInfoARM const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDataGraphPipelineSessionMemoryRequirementsInfoARM; const void * pNext = {}; DataGraphPipelineSessionARM session = {}; DataGraphPipelineSessionBindPointARM bindPoint = DataGraphPipelineSessionBindPointARM::eTransient; uint32_t objectIndex = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDataGraphPipelineSessionMemoryRequirementsInfoARM> { using Type = DataGraphPipelineSessionMemoryRequirementsInfoARM; }; #endif template <> struct CppType<StructureType, StructureType::eDataGraphPipelineSessionMemoryRequirementsInfoARM> { using Type = DataGraphPipelineSessionMemoryRequirementsInfoARM; }; // wrapper struct for struct VkDataGraphPipelineShaderModuleCreateInfoARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDataGraphPipelineShaderModuleCreateInfoARM.html struct DataGraphPipelineShaderModuleCreateInfoARM { using NativeType = VkDataGraphPipelineShaderModuleCreateInfoARM; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDataGraphPipelineShaderModuleCreateInfoARM; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DataGraphPipelineShaderModuleCreateInfoARM( ShaderModule module_ = {}, const char * pName_ = {}, const SpecializationInfo * pSpecializationInfo_ = {}, uint32_t constantCount_ = {}, const DataGraphPipelineConstantARM * pConstants_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , module{ module_ } , pName{ pName_ } , pSpecializationInfo{ pSpecializationInfo_ } , constantCount{ constantCount_ } , pConstants{ pConstants_ } { } VULKAN_HPP_CONSTEXPR DataGraphPipelineShaderModuleCreateInfoARM( DataGraphPipelineShaderModuleCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; DataGraphPipelineShaderModuleCreateInfoARM( VkDataGraphPipelineShaderModuleCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT : DataGraphPipelineShaderModuleCreateInfoARM( *reinterpret_cast<DataGraphPipelineShaderModuleCreateInfoARM const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DataGraphPipelineShaderModuleCreateInfoARM( ShaderModule module_, const char * pName_, const SpecializationInfo * pSpecializationInfo_, ArrayProxyNoTemporaries<const DataGraphPipelineConstantARM> const & constants_, const void * pNext_ = nullptr ) : pNext( pNext_ ) , module( module_ ) , pName( pName_ ) , pSpecializationInfo( pSpecializationInfo_ ) , constantCount( static_cast<uint32_t>( constants_.size() ) ) , pConstants( constants_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ DataGraphPipelineShaderModuleCreateInfoARM & operator=( DataGraphPipelineShaderModuleCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DataGraphPipelineShaderModuleCreateInfoARM & operator=( VkDataGraphPipelineShaderModuleCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DataGraphPipelineShaderModuleCreateInfoARM const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineShaderModuleCreateInfoARM & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineShaderModuleCreateInfoARM & setModule( ShaderModule module_ ) VULKAN_HPP_NOEXCEPT { module = module_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineShaderModuleCreateInfoARM & setPName( const char * pName_ ) VULKAN_HPP_NOEXCEPT { pName = pName_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineShaderModuleCreateInfoARM & setPSpecializationInfo( const SpecializationInfo * pSpecializationInfo_ ) VULKAN_HPP_NOEXCEPT { pSpecializationInfo = pSpecializationInfo_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineShaderModuleCreateInfoARM & setConstantCount( uint32_t constantCount_ ) VULKAN_HPP_NOEXCEPT { constantCount = constantCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineShaderModuleCreateInfoARM & setPConstants( const DataGraphPipelineConstantARM * pConstants_ ) VULKAN_HPP_NOEXCEPT { pConstants = pConstants_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DataGraphPipelineShaderModuleCreateInfoARM & setConstants( ArrayProxyNoTemporaries<const DataGraphPipelineConstantARM> const & constants_ ) VULKAN_HPP_NOEXCEPT { constantCount = static_cast<uint32_t>( constants_.size() ); pConstants = constants_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDataGraphPipelineShaderModuleCreateInfoARM const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDataGraphPipelineShaderModuleCreateInfoARM *>( this ); } operator VkDataGraphPipelineShaderModuleCreateInfoARM &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDataGraphPipelineShaderModuleCreateInfoARM *>( this ); } operator VkDataGraphPipelineShaderModuleCreateInfoARM const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDataGraphPipelineShaderModuleCreateInfoARM *>( this ); } operator VkDataGraphPipelineShaderModuleCreateInfoARM *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDataGraphPipelineShaderModuleCreateInfoARM *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, ShaderModule const &, const char * const &, const SpecializationInfo * const &, uint32_t const &, const DataGraphPipelineConstantARM * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, module, pName, pSpecializationInfo, constantCount, pConstants ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) std::strong_ordering operator<=>( DataGraphPipelineShaderModuleCreateInfoARM const & rhs ) const VULKAN_HPP_NOEXCEPT { if ( auto cmp = sType <=> rhs.sType; cmp != 0 ) return cmp; if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 ) return cmp; if ( auto cmp = module <=> rhs.module; cmp != 0 ) return cmp; if ( pName != rhs.pName ) if ( auto cmp = strcmp( pName, rhs.pName ); cmp != 0 ) return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater; if ( auto cmp = pSpecializationInfo <=> rhs.pSpecializationInfo; cmp != 0 ) return cmp; if ( auto cmp = constantCount <=> rhs.constantCount; cmp != 0 ) return cmp; if ( auto cmp = pConstants <=> rhs.pConstants; cmp != 0 ) return cmp; return std::strong_ordering::equivalent; } #endif bool operator==( DataGraphPipelineShaderModuleCreateInfoARM const & rhs ) const VULKAN_HPP_NOEXCEPT { return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( module == rhs.module ) && ( ( pName == rhs.pName ) || ( strcmp( pName, rhs.pName ) == 0 ) ) && ( pSpecializationInfo == rhs.pSpecializationInfo ) && ( constantCount == rhs.constantCount ) && ( pConstants == rhs.pConstants ); } bool operator!=( DataGraphPipelineShaderModuleCreateInfoARM const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } public: StructureType sType = StructureType::eDataGraphPipelineShaderModuleCreateInfoARM; const void * pNext = {}; ShaderModule module = {}; const char * pName = {}; const SpecializationInfo * pSpecializationInfo = {}; uint32_t constantCount = {}; const DataGraphPipelineConstantARM * pConstants = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDataGraphPipelineShaderModuleCreateInfoARM> { using Type = DataGraphPipelineShaderModuleCreateInfoARM; }; #endif template <> struct CppType<StructureType, StructureType::eDataGraphPipelineShaderModuleCreateInfoARM> { using Type = DataGraphPipelineShaderModuleCreateInfoARM; }; // wrapper struct for struct VkPhysicalDeviceDataGraphProcessingEngineARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceDataGraphProcessingEngineARM.html struct PhysicalDeviceDataGraphProcessingEngineARM { using NativeType = VkPhysicalDeviceDataGraphProcessingEngineARM; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR PhysicalDeviceDataGraphProcessingEngineARM( PhysicalDeviceDataGraphProcessingEngineTypeARM type_ = PhysicalDeviceDataGraphProcessingEngineTypeARM::eDefault, Bool32 isForeign_ = {} ) VULKAN_HPP_NOEXCEPT : type{ type_ } , isForeign{ isForeign_ } { } VULKAN_HPP_CONSTEXPR PhysicalDeviceDataGraphProcessingEngineARM( PhysicalDeviceDataGraphProcessingEngineARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; PhysicalDeviceDataGraphProcessingEngineARM( VkPhysicalDeviceDataGraphProcessingEngineARM const & rhs ) VULKAN_HPP_NOEXCEPT : PhysicalDeviceDataGraphProcessingEngineARM( *reinterpret_cast<PhysicalDeviceDataGraphProcessingEngineARM const *>( &rhs ) ) { } PhysicalDeviceDataGraphProcessingEngineARM & operator=( PhysicalDeviceDataGraphProcessingEngineARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ PhysicalDeviceDataGraphProcessingEngineARM & operator=( VkPhysicalDeviceDataGraphProcessingEngineARM const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<PhysicalDeviceDataGraphProcessingEngineARM const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDataGraphProcessingEngineARM & setType( PhysicalDeviceDataGraphProcessingEngineTypeARM type_ ) VULKAN_HPP_NOEXCEPT { type = type_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDataGraphProcessingEngineARM & setIsForeign( Bool32 isForeign_ ) VULKAN_HPP_NOEXCEPT { isForeign = isForeign_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkPhysicalDeviceDataGraphProcessingEngineARM const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkPhysicalDeviceDataGraphProcessingEngineARM *>( this ); } operator VkPhysicalDeviceDataGraphProcessingEngineARM &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkPhysicalDeviceDataGraphProcessingEngineARM *>( this ); } operator VkPhysicalDeviceDataGraphProcessingEngineARM const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkPhysicalDeviceDataGraphProcessingEngineARM *>( this ); } operator VkPhysicalDeviceDataGraphProcessingEngineARM *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkPhysicalDeviceDataGraphProcessingEngineARM *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<PhysicalDeviceDataGraphProcessingEngineTypeARM const &, Bool32 const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( type, isForeign ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( PhysicalDeviceDataGraphProcessingEngineARM const & ) const = default; #else bool operator==( PhysicalDeviceDataGraphProcessingEngineARM const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( type == rhs.type ) && ( isForeign == rhs.isForeign ); # endif } bool operator!=( PhysicalDeviceDataGraphProcessingEngineARM const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: PhysicalDeviceDataGraphProcessingEngineTypeARM type = PhysicalDeviceDataGraphProcessingEngineTypeARM::eDefault; Bool32 isForeign = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkPhysicalDeviceDataGraphProcessingEngineARM> { using Type = PhysicalDeviceDataGraphProcessingEngineARM; }; #endif // wrapper struct for struct VkDataGraphProcessingEngineCreateInfoARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDataGraphProcessingEngineCreateInfoARM.html struct DataGraphProcessingEngineCreateInfoARM { using NativeType = VkDataGraphProcessingEngineCreateInfoARM; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDataGraphProcessingEngineCreateInfoARM; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DataGraphProcessingEngineCreateInfoARM( uint32_t processingEngineCount_ = {}, PhysicalDeviceDataGraphProcessingEngineARM * pProcessingEngines_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , processingEngineCount{ processingEngineCount_ } , pProcessingEngines{ pProcessingEngines_ } { } VULKAN_HPP_CONSTEXPR DataGraphProcessingEngineCreateInfoARM( DataGraphProcessingEngineCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; DataGraphProcessingEngineCreateInfoARM( VkDataGraphProcessingEngineCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT : DataGraphProcessingEngineCreateInfoARM( *reinterpret_cast<DataGraphProcessingEngineCreateInfoARM const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DataGraphProcessingEngineCreateInfoARM( ArrayProxyNoTemporaries<PhysicalDeviceDataGraphProcessingEngineARM> const & processingEngines_, const void * pNext_ = nullptr ) : pNext( pNext_ ), processingEngineCount( static_cast<uint32_t>( processingEngines_.size() ) ), pProcessingEngines( processingEngines_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ DataGraphProcessingEngineCreateInfoARM & operator=( DataGraphProcessingEngineCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DataGraphProcessingEngineCreateInfoARM & operator=( VkDataGraphProcessingEngineCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DataGraphProcessingEngineCreateInfoARM const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DataGraphProcessingEngineCreateInfoARM & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphProcessingEngineCreateInfoARM & setProcessingEngineCount( uint32_t processingEngineCount_ ) VULKAN_HPP_NOEXCEPT { processingEngineCount = processingEngineCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DataGraphProcessingEngineCreateInfoARM & setPProcessingEngines( PhysicalDeviceDataGraphProcessingEngineARM * pProcessingEngines_ ) VULKAN_HPP_NOEXCEPT { pProcessingEngines = pProcessingEngines_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DataGraphProcessingEngineCreateInfoARM & setProcessingEngines( ArrayProxyNoTemporaries<PhysicalDeviceDataGraphProcessingEngineARM> const & processingEngines_ ) VULKAN_HPP_NOEXCEPT { processingEngineCount = static_cast<uint32_t>( processingEngines_.size() ); pProcessingEngines = processingEngines_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDataGraphProcessingEngineCreateInfoARM const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDataGraphProcessingEngineCreateInfoARM *>( this ); } operator VkDataGraphProcessingEngineCreateInfoARM &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDataGraphProcessingEngineCreateInfoARM *>( this ); } operator VkDataGraphProcessingEngineCreateInfoARM const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDataGraphProcessingEngineCreateInfoARM *>( this ); } operator VkDataGraphProcessingEngineCreateInfoARM *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDataGraphProcessingEngineCreateInfoARM *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, uint32_t const &, PhysicalDeviceDataGraphProcessingEngineARM * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, processingEngineCount, pProcessingEngines ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DataGraphProcessingEngineCreateInfoARM const & ) const = default; #else bool operator==( DataGraphProcessingEngineCreateInfoARM 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 ) && ( processingEngineCount == rhs.processingEngineCount ) && ( pProcessingEngines == rhs.pProcessingEngines ); # endif } bool operator!=( DataGraphProcessingEngineCreateInfoARM const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDataGraphProcessingEngineCreateInfoARM; const void * pNext = {}; uint32_t processingEngineCount = {}; PhysicalDeviceDataGraphProcessingEngineARM * pProcessingEngines = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDataGraphProcessingEngineCreateInfoARM> { using Type = DataGraphProcessingEngineCreateInfoARM; }; #endif template <> struct CppType<StructureType, StructureType::eDataGraphProcessingEngineCreateInfoARM> { using Type = DataGraphProcessingEngineCreateInfoARM; }; // wrapper struct for struct VkDebugMarkerMarkerInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDebugMarkerMarkerInfoEXT.html struct DebugMarkerMarkerInfoEXT { using NativeType = VkDebugMarkerMarkerInfoEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDebugMarkerMarkerInfoEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 DebugMarkerMarkerInfoEXT( const char * pMarkerName_ = {}, std::array<float, 4> const & color_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , pMarkerName{ pMarkerName_ } , color{ color_ } { } VULKAN_HPP_CONSTEXPR_14 DebugMarkerMarkerInfoEXT( DebugMarkerMarkerInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; DebugMarkerMarkerInfoEXT( VkDebugMarkerMarkerInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DebugMarkerMarkerInfoEXT( *reinterpret_cast<DebugMarkerMarkerInfoEXT const *>( &rhs ) ) { } DebugMarkerMarkerInfoEXT & operator=( DebugMarkerMarkerInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DebugMarkerMarkerInfoEXT & operator=( VkDebugMarkerMarkerInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DebugMarkerMarkerInfoEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DebugMarkerMarkerInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugMarkerMarkerInfoEXT & setPMarkerName( const char * pMarkerName_ ) VULKAN_HPP_NOEXCEPT { pMarkerName = pMarkerName_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugMarkerMarkerInfoEXT & setColor( std::array<float, 4> color_ ) VULKAN_HPP_NOEXCEPT { color = color_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDebugMarkerMarkerInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDebugMarkerMarkerInfoEXT *>( this ); } operator VkDebugMarkerMarkerInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDebugMarkerMarkerInfoEXT *>( this ); } operator VkDebugMarkerMarkerInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDebugMarkerMarkerInfoEXT *>( this ); } operator VkDebugMarkerMarkerInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDebugMarkerMarkerInfoEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, const char * const &, ArrayWrapper1D<float, 4> const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, pMarkerName, color ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) std::partial_ordering operator<=>( DebugMarkerMarkerInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { if ( auto cmp = sType <=> rhs.sType; cmp != 0 ) return cmp; if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 ) return cmp; if ( pMarkerName != rhs.pMarkerName ) if ( auto cmp = strcmp( pMarkerName, rhs.pMarkerName ); cmp != 0 ) return ( cmp < 0 ) ? std::partial_ordering::less : std::partial_ordering::greater; if ( auto cmp = color <=> rhs.color; cmp != 0 ) return cmp; return std::partial_ordering::equivalent; } #endif bool operator==( DebugMarkerMarkerInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( ( pMarkerName == rhs.pMarkerName ) || ( strcmp( pMarkerName, rhs.pMarkerName ) == 0 ) ) && ( color == rhs.color ); } bool operator!=( DebugMarkerMarkerInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } public: StructureType sType = StructureType::eDebugMarkerMarkerInfoEXT; const void * pNext = {}; const char * pMarkerName = {}; ArrayWrapper1D<float, 4> color = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDebugMarkerMarkerInfoEXT> { using Type = DebugMarkerMarkerInfoEXT; }; #endif template <> struct CppType<StructureType, StructureType::eDebugMarkerMarkerInfoEXT> { using Type = DebugMarkerMarkerInfoEXT; }; // wrapper struct for struct VkDebugMarkerObjectNameInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDebugMarkerObjectNameInfoEXT.html struct DebugMarkerObjectNameInfoEXT { using NativeType = VkDebugMarkerObjectNameInfoEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDebugMarkerObjectNameInfoEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DebugMarkerObjectNameInfoEXT( DebugReportObjectTypeEXT objectType_ = DebugReportObjectTypeEXT::eUnknown, uint64_t object_ = {}, const char * pObjectName_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , objectType{ objectType_ } , object{ object_ } , pObjectName{ pObjectName_ } { } VULKAN_HPP_CONSTEXPR DebugMarkerObjectNameInfoEXT( DebugMarkerObjectNameInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; DebugMarkerObjectNameInfoEXT( VkDebugMarkerObjectNameInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DebugMarkerObjectNameInfoEXT( *reinterpret_cast<DebugMarkerObjectNameInfoEXT const *>( &rhs ) ) { } DebugMarkerObjectNameInfoEXT & operator=( DebugMarkerObjectNameInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DebugMarkerObjectNameInfoEXT & operator=( VkDebugMarkerObjectNameInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DebugMarkerObjectNameInfoEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DebugMarkerObjectNameInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugMarkerObjectNameInfoEXT & setObjectType( DebugReportObjectTypeEXT objectType_ ) VULKAN_HPP_NOEXCEPT { objectType = objectType_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugMarkerObjectNameInfoEXT & setObject( uint64_t object_ ) VULKAN_HPP_NOEXCEPT { object = object_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugMarkerObjectNameInfoEXT & setPObjectName( const char * pObjectName_ ) VULKAN_HPP_NOEXCEPT { pObjectName = pObjectName_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDebugMarkerObjectNameInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDebugMarkerObjectNameInfoEXT *>( this ); } operator VkDebugMarkerObjectNameInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDebugMarkerObjectNameInfoEXT *>( this ); } operator VkDebugMarkerObjectNameInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDebugMarkerObjectNameInfoEXT *>( this ); } operator VkDebugMarkerObjectNameInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDebugMarkerObjectNameInfoEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DebugReportObjectTypeEXT const &, uint64_t const &, const char * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, objectType, object, pObjectName ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) std::strong_ordering operator<=>( DebugMarkerObjectNameInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { if ( auto cmp = sType <=> rhs.sType; cmp != 0 ) return cmp; if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 ) return cmp; if ( auto cmp = objectType <=> rhs.objectType; cmp != 0 ) return cmp; if ( auto cmp = object <=> rhs.object; cmp != 0 ) return cmp; if ( pObjectName != rhs.pObjectName ) if ( auto cmp = strcmp( pObjectName, rhs.pObjectName ); cmp != 0 ) return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater; return std::strong_ordering::equivalent; } #endif bool operator==( DebugMarkerObjectNameInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( objectType == rhs.objectType ) && ( object == rhs.object ) && ( ( pObjectName == rhs.pObjectName ) || ( strcmp( pObjectName, rhs.pObjectName ) == 0 ) ); } bool operator!=( DebugMarkerObjectNameInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } public: StructureType sType = StructureType::eDebugMarkerObjectNameInfoEXT; const void * pNext = {}; DebugReportObjectTypeEXT objectType = DebugReportObjectTypeEXT::eUnknown; uint64_t object = {}; const char * pObjectName = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDebugMarkerObjectNameInfoEXT> { using Type = DebugMarkerObjectNameInfoEXT; }; #endif template <> struct CppType<StructureType, StructureType::eDebugMarkerObjectNameInfoEXT> { using Type = DebugMarkerObjectNameInfoEXT; }; // wrapper struct for struct VkDebugMarkerObjectTagInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDebugMarkerObjectTagInfoEXT.html struct DebugMarkerObjectTagInfoEXT { using NativeType = VkDebugMarkerObjectTagInfoEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDebugMarkerObjectTagInfoEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DebugMarkerObjectTagInfoEXT( DebugReportObjectTypeEXT objectType_ = DebugReportObjectTypeEXT::eUnknown, uint64_t object_ = {}, uint64_t tagName_ = {}, size_t tagSize_ = {}, const void * pTag_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , objectType{ objectType_ } , object{ object_ } , tagName{ tagName_ } , tagSize{ tagSize_ } , pTag{ pTag_ } { } VULKAN_HPP_CONSTEXPR DebugMarkerObjectTagInfoEXT( DebugMarkerObjectTagInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; DebugMarkerObjectTagInfoEXT( VkDebugMarkerObjectTagInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DebugMarkerObjectTagInfoEXT( *reinterpret_cast<DebugMarkerObjectTagInfoEXT const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) template <typename T> DebugMarkerObjectTagInfoEXT( DebugReportObjectTypeEXT objectType_, uint64_t object_, uint64_t tagName_, ArrayProxyNoTemporaries<const T> const & tag_, const void * pNext_ = nullptr ) : pNext( pNext_ ), objectType( objectType_ ), object( object_ ), tagName( tagName_ ), tagSize( tag_.size() * sizeof( T ) ), pTag( tag_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ DebugMarkerObjectTagInfoEXT & operator=( DebugMarkerObjectTagInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DebugMarkerObjectTagInfoEXT & operator=( VkDebugMarkerObjectTagInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DebugMarkerObjectTagInfoEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DebugMarkerObjectTagInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugMarkerObjectTagInfoEXT & setObjectType( DebugReportObjectTypeEXT objectType_ ) VULKAN_HPP_NOEXCEPT { objectType = objectType_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugMarkerObjectTagInfoEXT & setObject( uint64_t object_ ) VULKAN_HPP_NOEXCEPT { object = object_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugMarkerObjectTagInfoEXT & setTagName( uint64_t tagName_ ) VULKAN_HPP_NOEXCEPT { tagName = tagName_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugMarkerObjectTagInfoEXT & setTagSize( size_t tagSize_ ) VULKAN_HPP_NOEXCEPT { tagSize = tagSize_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugMarkerObjectTagInfoEXT & setPTag( const void * pTag_ ) VULKAN_HPP_NOEXCEPT { pTag = pTag_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) template <typename T> DebugMarkerObjectTagInfoEXT & setTag( ArrayProxyNoTemporaries<const T> const & tag_ ) VULKAN_HPP_NOEXCEPT { tagSize = tag_.size() * sizeof( T ); pTag = tag_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDebugMarkerObjectTagInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDebugMarkerObjectTagInfoEXT *>( this ); } operator VkDebugMarkerObjectTagInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDebugMarkerObjectTagInfoEXT *>( this ); } operator VkDebugMarkerObjectTagInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDebugMarkerObjectTagInfoEXT *>( this ); } operator VkDebugMarkerObjectTagInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDebugMarkerObjectTagInfoEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DebugReportObjectTypeEXT const &, uint64_t const &, uint64_t const &, size_t const &, const void * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, objectType, object, tagName, tagSize, pTag ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DebugMarkerObjectTagInfoEXT const & ) const = default; #else bool operator==( DebugMarkerObjectTagInfoEXT 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 ) && ( objectType == rhs.objectType ) && ( object == rhs.object ) && ( tagName == rhs.tagName ) && ( tagSize == rhs.tagSize ) && ( pTag == rhs.pTag ); # endif } bool operator!=( DebugMarkerObjectTagInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDebugMarkerObjectTagInfoEXT; const void * pNext = {}; DebugReportObjectTypeEXT objectType = DebugReportObjectTypeEXT::eUnknown; uint64_t object = {}; uint64_t tagName = {}; size_t tagSize = {}; const void * pTag = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDebugMarkerObjectTagInfoEXT> { using Type = DebugMarkerObjectTagInfoEXT; }; #endif template <> struct CppType<StructureType, StructureType::eDebugMarkerObjectTagInfoEXT> { using Type = DebugMarkerObjectTagInfoEXT; }; typedef Bool32( VKAPI_PTR * PFN_DebugReportCallbackEXT )( DebugReportFlagsEXT flags, DebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char * pLayerPrefix, const char * pMessage, void * pUserData ); // wrapper struct for struct VkDebugReportCallbackCreateInfoEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDebugReportCallbackCreateInfoEXT.html struct DebugReportCallbackCreateInfoEXT { using NativeType = VkDebugReportCallbackCreateInfoEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDebugReportCallbackCreateInfoEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DebugReportCallbackCreateInfoEXT( DebugReportFlagsEXT flags_ = {}, PFN_DebugReportCallbackEXT pfnCallback_ = {}, void * pUserData_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , pfnCallback{ pfnCallback_ } , pUserData{ pUserData_ } { } VULKAN_HPP_CONSTEXPR DebugReportCallbackCreateInfoEXT( DebugReportCallbackCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; DebugReportCallbackCreateInfoEXT( VkDebugReportCallbackCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DebugReportCallbackCreateInfoEXT( *reinterpret_cast<DebugReportCallbackCreateInfoEXT const *>( &rhs ) ) { } # if defined( __clang__ ) || defined( __GNUC__ ) # pragma GCC diagnostic push # if defined( __clang__ ) # pragma clang diagnostic ignored "-Wunknown-warning-option" # endif # pragma GCC diagnostic ignored "-Wcast-function-type" # endif VULKAN_HPP_DEPRECATED( "This constructor is deprecated. Use the one taking function pointer types from the vk-namespace instead." ) DebugReportCallbackCreateInfoEXT( DebugReportFlagsEXT flags_, PFN_vkDebugReportCallbackEXT pfnCallback_, void * pUserData_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : DebugReportCallbackCreateInfoEXT( flags_, reinterpret_cast<PFN_DebugReportCallbackEXT>( pfnCallback_ ), pUserData_, pNext_ ) { } # if defined( __clang__ ) || defined( __GNUC__ ) # pragma GCC diagnostic pop # endif DebugReportCallbackCreateInfoEXT & operator=( DebugReportCallbackCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DebugReportCallbackCreateInfoEXT & operator=( VkDebugReportCallbackCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DebugReportCallbackCreateInfoEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DebugReportCallbackCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugReportCallbackCreateInfoEXT & setFlags( DebugReportFlagsEXT flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugReportCallbackCreateInfoEXT & setPfnCallback( PFN_DebugReportCallbackEXT pfnCallback_ ) VULKAN_HPP_NOEXCEPT { pfnCallback = pfnCallback_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugReportCallbackCreateInfoEXT & setPUserData( void * pUserData_ ) VULKAN_HPP_NOEXCEPT { pUserData = pUserData_; return *this; } # if defined( __clang__ ) || defined( __GNUC__ ) # pragma GCC diagnostic push # if defined( __clang__ ) # pragma clang diagnostic ignored "-Wunknown-warning-option" # endif # pragma GCC diagnostic ignored "-Wcast-function-type" # endif VULKAN_HPP_DEPRECATED( "This setter is deprecated. Use the one taking a function pointer type from the vk-namespace instead." ) DebugReportCallbackCreateInfoEXT & setPfnCallback( PFN_vkDebugReportCallbackEXT pfnCallback_ ) VULKAN_HPP_NOEXCEPT { return setPfnCallback( reinterpret_cast<PFN_DebugReportCallbackEXT>( pfnCallback_ ) ); } # if defined( __clang__ ) || defined( __GNUC__ ) # pragma GCC diagnostic pop # endif #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDebugReportCallbackCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT *>( this ); } operator VkDebugReportCallbackCreateInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDebugReportCallbackCreateInfoEXT *>( this ); } operator VkDebugReportCallbackCreateInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT *>( this ); } operator VkDebugReportCallbackCreateInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDebugReportCallbackCreateInfoEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DebugReportFlagsEXT const &, PFN_DebugReportCallbackEXT const &, void * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, pfnCallback, pUserData ); } #endif bool operator==( DebugReportCallbackCreateInfoEXT 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 ) && ( flags == rhs.flags ) && ( pfnCallback == rhs.pfnCallback ) && ( pUserData == rhs.pUserData ); #endif } bool operator!=( DebugReportCallbackCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } public: StructureType sType = StructureType::eDebugReportCallbackCreateInfoEXT; const void * pNext = {}; DebugReportFlagsEXT flags = {}; PFN_DebugReportCallbackEXT pfnCallback = {}; void * pUserData = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDebugReportCallbackCreateInfoEXT> { using Type = DebugReportCallbackCreateInfoEXT; }; #endif template <> struct CppType<StructureType, StructureType::eDebugReportCallbackCreateInfoEXT> { using Type = DebugReportCallbackCreateInfoEXT; }; // wrapper struct for struct VkDebugUtilsLabelEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDebugUtilsLabelEXT.html struct DebugUtilsLabelEXT { using NativeType = VkDebugUtilsLabelEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDebugUtilsLabelEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 DebugUtilsLabelEXT( const char * pLabelName_ = {}, std::array<float, 4> const & color_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , pLabelName{ pLabelName_ } , color{ color_ } { } VULKAN_HPP_CONSTEXPR_14 DebugUtilsLabelEXT( DebugUtilsLabelEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; DebugUtilsLabelEXT( VkDebugUtilsLabelEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DebugUtilsLabelEXT( *reinterpret_cast<DebugUtilsLabelEXT const *>( &rhs ) ) {} DebugUtilsLabelEXT & operator=( DebugUtilsLabelEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DebugUtilsLabelEXT & operator=( VkDebugUtilsLabelEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DebugUtilsLabelEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DebugUtilsLabelEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugUtilsLabelEXT & setPLabelName( const char * pLabelName_ ) VULKAN_HPP_NOEXCEPT { pLabelName = pLabelName_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugUtilsLabelEXT & setColor( std::array<float, 4> color_ ) VULKAN_HPP_NOEXCEPT { color = color_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDebugUtilsLabelEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDebugUtilsLabelEXT *>( this ); } operator VkDebugUtilsLabelEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDebugUtilsLabelEXT *>( this ); } operator VkDebugUtilsLabelEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDebugUtilsLabelEXT *>( this ); } operator VkDebugUtilsLabelEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDebugUtilsLabelEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, const char * const &, ArrayWrapper1D<float, 4> const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, pLabelName, color ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) std::partial_ordering operator<=>( DebugUtilsLabelEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { if ( auto cmp = sType <=> rhs.sType; cmp != 0 ) return cmp; if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 ) return cmp; if ( pLabelName != rhs.pLabelName ) if ( auto cmp = strcmp( pLabelName, rhs.pLabelName ); cmp != 0 ) return ( cmp < 0 ) ? std::partial_ordering::less : std::partial_ordering::greater; if ( auto cmp = color <=> rhs.color; cmp != 0 ) return cmp; return std::partial_ordering::equivalent; } #endif bool operator==( DebugUtilsLabelEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( ( pLabelName == rhs.pLabelName ) || ( strcmp( pLabelName, rhs.pLabelName ) == 0 ) ) && ( color == rhs.color ); } bool operator!=( DebugUtilsLabelEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } public: StructureType sType = StructureType::eDebugUtilsLabelEXT; const void * pNext = {}; const char * pLabelName = {}; ArrayWrapper1D<float, 4> color = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDebugUtilsLabelEXT> { using Type = DebugUtilsLabelEXT; }; #endif template <> struct CppType<StructureType, StructureType::eDebugUtilsLabelEXT> { using Type = DebugUtilsLabelEXT; }; // wrapper struct for struct VkDebugUtilsObjectNameInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDebugUtilsObjectNameInfoEXT.html struct DebugUtilsObjectNameInfoEXT { using NativeType = VkDebugUtilsObjectNameInfoEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDebugUtilsObjectNameInfoEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DebugUtilsObjectNameInfoEXT( ObjectType objectType_ = ObjectType::eUnknown, uint64_t objectHandle_ = {}, const char * pObjectName_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , objectType{ objectType_ } , objectHandle{ objectHandle_ } , pObjectName{ pObjectName_ } { } VULKAN_HPP_CONSTEXPR DebugUtilsObjectNameInfoEXT( DebugUtilsObjectNameInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; DebugUtilsObjectNameInfoEXT( VkDebugUtilsObjectNameInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DebugUtilsObjectNameInfoEXT( *reinterpret_cast<DebugUtilsObjectNameInfoEXT const *>( &rhs ) ) { } DebugUtilsObjectNameInfoEXT & operator=( DebugUtilsObjectNameInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DebugUtilsObjectNameInfoEXT & operator=( VkDebugUtilsObjectNameInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DebugUtilsObjectNameInfoEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DebugUtilsObjectNameInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugUtilsObjectNameInfoEXT & setObjectType( ObjectType objectType_ ) VULKAN_HPP_NOEXCEPT { objectType = objectType_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugUtilsObjectNameInfoEXT & setObjectHandle( uint64_t objectHandle_ ) VULKAN_HPP_NOEXCEPT { objectHandle = objectHandle_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugUtilsObjectNameInfoEXT & setPObjectName( const char * pObjectName_ ) VULKAN_HPP_NOEXCEPT { pObjectName = pObjectName_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDebugUtilsObjectNameInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDebugUtilsObjectNameInfoEXT *>( this ); } operator VkDebugUtilsObjectNameInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDebugUtilsObjectNameInfoEXT *>( this ); } operator VkDebugUtilsObjectNameInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDebugUtilsObjectNameInfoEXT *>( this ); } operator VkDebugUtilsObjectNameInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDebugUtilsObjectNameInfoEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, ObjectType const &, uint64_t const &, const char * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, objectType, objectHandle, pObjectName ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) std::strong_ordering operator<=>( DebugUtilsObjectNameInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { if ( auto cmp = sType <=> rhs.sType; cmp != 0 ) return cmp; if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 ) return cmp; if ( auto cmp = objectType <=> rhs.objectType; cmp != 0 ) return cmp; if ( auto cmp = objectHandle <=> rhs.objectHandle; cmp != 0 ) return cmp; if ( pObjectName != rhs.pObjectName ) if ( auto cmp = strcmp( pObjectName, rhs.pObjectName ); cmp != 0 ) return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater; return std::strong_ordering::equivalent; } #endif bool operator==( DebugUtilsObjectNameInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( objectType == rhs.objectType ) && ( objectHandle == rhs.objectHandle ) && ( ( pObjectName == rhs.pObjectName ) || ( strcmp( pObjectName, rhs.pObjectName ) == 0 ) ); } bool operator!=( DebugUtilsObjectNameInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } public: StructureType sType = StructureType::eDebugUtilsObjectNameInfoEXT; const void * pNext = {}; ObjectType objectType = ObjectType::eUnknown; uint64_t objectHandle = {}; const char * pObjectName = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDebugUtilsObjectNameInfoEXT> { using Type = DebugUtilsObjectNameInfoEXT; }; #endif template <> struct CppType<StructureType, StructureType::eDebugUtilsObjectNameInfoEXT> { using Type = DebugUtilsObjectNameInfoEXT; }; // wrapper struct for struct VkDebugUtilsMessengerCallbackDataEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDebugUtilsMessengerCallbackDataEXT.html struct DebugUtilsMessengerCallbackDataEXT { using NativeType = VkDebugUtilsMessengerCallbackDataEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDebugUtilsMessengerCallbackDataEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCallbackDataEXT( DebugUtilsMessengerCallbackDataFlagsEXT flags_ = {}, const char * pMessageIdName_ = {}, int32_t messageIdNumber_ = {}, const char * pMessage_ = {}, uint32_t queueLabelCount_ = {}, const DebugUtilsLabelEXT * pQueueLabels_ = {}, uint32_t cmdBufLabelCount_ = {}, const DebugUtilsLabelEXT * pCmdBufLabels_ = {}, uint32_t objectCount_ = {}, const DebugUtilsObjectNameInfoEXT * pObjects_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , pMessageIdName{ pMessageIdName_ } , messageIdNumber{ messageIdNumber_ } , pMessage{ pMessage_ } , queueLabelCount{ queueLabelCount_ } , pQueueLabels{ pQueueLabels_ } , cmdBufLabelCount{ cmdBufLabelCount_ } , pCmdBufLabels{ pCmdBufLabels_ } , objectCount{ objectCount_ } , pObjects{ pObjects_ } { } VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCallbackDataEXT( DebugUtilsMessengerCallbackDataEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; DebugUtilsMessengerCallbackDataEXT( VkDebugUtilsMessengerCallbackDataEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DebugUtilsMessengerCallbackDataEXT( *reinterpret_cast<DebugUtilsMessengerCallbackDataEXT const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DebugUtilsMessengerCallbackDataEXT( DebugUtilsMessengerCallbackDataFlagsEXT flags_, const char * pMessageIdName_, int32_t messageIdNumber_, const char * pMessage_, ArrayProxyNoTemporaries<const DebugUtilsLabelEXT> const & queueLabels_, ArrayProxyNoTemporaries<const DebugUtilsLabelEXT> const & cmdBufLabels_ = {}, ArrayProxyNoTemporaries<const DebugUtilsObjectNameInfoEXT> const & objects_ = {}, const void * pNext_ = nullptr ) : pNext( pNext_ ) , flags( flags_ ) , pMessageIdName( pMessageIdName_ ) , messageIdNumber( messageIdNumber_ ) , pMessage( pMessage_ ) , queueLabelCount( static_cast<uint32_t>( queueLabels_.size() ) ) , pQueueLabels( queueLabels_.data() ) , cmdBufLabelCount( static_cast<uint32_t>( cmdBufLabels_.size() ) ) , pCmdBufLabels( cmdBufLabels_.data() ) , objectCount( static_cast<uint32_t>( objects_.size() ) ) , pObjects( objects_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ DebugUtilsMessengerCallbackDataEXT & operator=( DebugUtilsMessengerCallbackDataEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DebugUtilsMessengerCallbackDataEXT & operator=( VkDebugUtilsMessengerCallbackDataEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DebugUtilsMessengerCallbackDataEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCallbackDataEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCallbackDataEXT & setFlags( DebugUtilsMessengerCallbackDataFlagsEXT flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCallbackDataEXT & setPMessageIdName( const char * pMessageIdName_ ) VULKAN_HPP_NOEXCEPT { pMessageIdName = pMessageIdName_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCallbackDataEXT & setMessageIdNumber( int32_t messageIdNumber_ ) VULKAN_HPP_NOEXCEPT { messageIdNumber = messageIdNumber_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCallbackDataEXT & setPMessage( const char * pMessage_ ) VULKAN_HPP_NOEXCEPT { pMessage = pMessage_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCallbackDataEXT & setQueueLabelCount( uint32_t queueLabelCount_ ) VULKAN_HPP_NOEXCEPT { queueLabelCount = queueLabelCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCallbackDataEXT & setPQueueLabels( const DebugUtilsLabelEXT * pQueueLabels_ ) VULKAN_HPP_NOEXCEPT { pQueueLabels = pQueueLabels_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DebugUtilsMessengerCallbackDataEXT & setQueueLabels( ArrayProxyNoTemporaries<const DebugUtilsLabelEXT> const & queueLabels_ ) VULKAN_HPP_NOEXCEPT { queueLabelCount = static_cast<uint32_t>( queueLabels_.size() ); pQueueLabels = queueLabels_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCallbackDataEXT & setCmdBufLabelCount( uint32_t cmdBufLabelCount_ ) VULKAN_HPP_NOEXCEPT { cmdBufLabelCount = cmdBufLabelCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCallbackDataEXT & setPCmdBufLabels( const DebugUtilsLabelEXT * pCmdBufLabels_ ) VULKAN_HPP_NOEXCEPT { pCmdBufLabels = pCmdBufLabels_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DebugUtilsMessengerCallbackDataEXT & setCmdBufLabels( ArrayProxyNoTemporaries<const DebugUtilsLabelEXT> const & cmdBufLabels_ ) VULKAN_HPP_NOEXCEPT { cmdBufLabelCount = static_cast<uint32_t>( cmdBufLabels_.size() ); pCmdBufLabels = cmdBufLabels_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCallbackDataEXT & setObjectCount( uint32_t objectCount_ ) VULKAN_HPP_NOEXCEPT { objectCount = objectCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCallbackDataEXT & setPObjects( const DebugUtilsObjectNameInfoEXT * pObjects_ ) VULKAN_HPP_NOEXCEPT { pObjects = pObjects_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DebugUtilsMessengerCallbackDataEXT & setObjects( ArrayProxyNoTemporaries<const DebugUtilsObjectNameInfoEXT> const & objects_ ) VULKAN_HPP_NOEXCEPT { objectCount = static_cast<uint32_t>( objects_.size() ); pObjects = objects_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDebugUtilsMessengerCallbackDataEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDebugUtilsMessengerCallbackDataEXT *>( this ); } operator VkDebugUtilsMessengerCallbackDataEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDebugUtilsMessengerCallbackDataEXT *>( this ); } operator VkDebugUtilsMessengerCallbackDataEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDebugUtilsMessengerCallbackDataEXT *>( this ); } operator VkDebugUtilsMessengerCallbackDataEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDebugUtilsMessengerCallbackDataEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DebugUtilsMessengerCallbackDataFlagsEXT const &, const char * const &, int32_t const &, const char * const &, uint32_t const &, const DebugUtilsLabelEXT * const &, uint32_t const &, const DebugUtilsLabelEXT * const &, uint32_t const &, const DebugUtilsObjectNameInfoEXT * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, pMessageIdName, messageIdNumber, pMessage, queueLabelCount, pQueueLabels, cmdBufLabelCount, pCmdBufLabels, objectCount, pObjects ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) std::strong_ordering operator<=>( DebugUtilsMessengerCallbackDataEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { if ( auto cmp = sType <=> rhs.sType; cmp != 0 ) return cmp; if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 ) return cmp; if ( auto cmp = flags <=> rhs.flags; cmp != 0 ) return cmp; if ( pMessageIdName != rhs.pMessageIdName ) if ( auto cmp = strcmp( pMessageIdName, rhs.pMessageIdName ); cmp != 0 ) return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater; if ( auto cmp = messageIdNumber <=> rhs.messageIdNumber; cmp != 0 ) return cmp; if ( pMessage != rhs.pMessage ) if ( auto cmp = strcmp( pMessage, rhs.pMessage ); cmp != 0 ) return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater; if ( auto cmp = queueLabelCount <=> rhs.queueLabelCount; cmp != 0 ) return cmp; if ( auto cmp = pQueueLabels <=> rhs.pQueueLabels; cmp != 0 ) return cmp; if ( auto cmp = cmdBufLabelCount <=> rhs.cmdBufLabelCount; cmp != 0 ) return cmp; if ( auto cmp = pCmdBufLabels <=> rhs.pCmdBufLabels; cmp != 0 ) return cmp; if ( auto cmp = objectCount <=> rhs.objectCount; cmp != 0 ) return cmp; if ( auto cmp = pObjects <=> rhs.pObjects; cmp != 0 ) return cmp; return std::strong_ordering::equivalent; } #endif bool operator==( DebugUtilsMessengerCallbackDataEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( ( pMessageIdName == rhs.pMessageIdName ) || ( strcmp( pMessageIdName, rhs.pMessageIdName ) == 0 ) ) && ( messageIdNumber == rhs.messageIdNumber ) && ( ( pMessage == rhs.pMessage ) || ( strcmp( pMessage, rhs.pMessage ) == 0 ) ) && ( queueLabelCount == rhs.queueLabelCount ) && ( pQueueLabels == rhs.pQueueLabels ) && ( cmdBufLabelCount == rhs.cmdBufLabelCount ) && ( pCmdBufLabels == rhs.pCmdBufLabels ) && ( objectCount == rhs.objectCount ) && ( pObjects == rhs.pObjects ); } bool operator!=( DebugUtilsMessengerCallbackDataEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } public: StructureType sType = StructureType::eDebugUtilsMessengerCallbackDataEXT; const void * pNext = {}; DebugUtilsMessengerCallbackDataFlagsEXT flags = {}; const char * pMessageIdName = {}; int32_t messageIdNumber = {}; const char * pMessage = {}; uint32_t queueLabelCount = {}; const DebugUtilsLabelEXT * pQueueLabels = {}; uint32_t cmdBufLabelCount = {}; const DebugUtilsLabelEXT * pCmdBufLabels = {}; uint32_t objectCount = {}; const DebugUtilsObjectNameInfoEXT * pObjects = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDebugUtilsMessengerCallbackDataEXT> { using Type = DebugUtilsMessengerCallbackDataEXT; }; #endif template <> struct CppType<StructureType, StructureType::eDebugUtilsMessengerCallbackDataEXT> { using Type = DebugUtilsMessengerCallbackDataEXT; }; typedef Bool32( VKAPI_PTR * PFN_DebugUtilsMessengerCallbackEXT )( DebugUtilsMessageSeverityFlagBitsEXT messageSeverity, DebugUtilsMessageTypeFlagsEXT messageTypes, const DebugUtilsMessengerCallbackDataEXT * pCallbackData, void * pUserData ); // wrapper struct for struct VkDebugUtilsMessengerCreateInfoEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDebugUtilsMessengerCreateInfoEXT.html struct DebugUtilsMessengerCreateInfoEXT { using NativeType = VkDebugUtilsMessengerCreateInfoEXT; static const bool allowDuplicate = true; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDebugUtilsMessengerCreateInfoEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DebugUtilsMessengerCreateInfoEXT( DebugUtilsMessengerCreateFlagsEXT flags_ = {}, DebugUtilsMessageSeverityFlagsEXT messageSeverity_ = {}, DebugUtilsMessageTypeFlagsEXT messageType_ = {}, PFN_DebugUtilsMessengerCallbackEXT pfnUserCallback_ = {}, void * pUserData_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , messageSeverity{ messageSeverity_ } , messageType{ messageType_ } , pfnUserCallback{ pfnUserCallback_ } , pUserData{ pUserData_ } { } VULKAN_HPP_CONSTEXPR DebugUtilsMessengerCreateInfoEXT( DebugUtilsMessengerCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; DebugUtilsMessengerCreateInfoEXT( VkDebugUtilsMessengerCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DebugUtilsMessengerCreateInfoEXT( *reinterpret_cast<DebugUtilsMessengerCreateInfoEXT const *>( &rhs ) ) { } # if defined( __clang__ ) || defined( __GNUC__ ) # pragma GCC diagnostic push # if defined( __clang__ ) # pragma clang diagnostic ignored "-Wunknown-warning-option" # endif # pragma GCC diagnostic ignored "-Wcast-function-type" # endif VULKAN_HPP_DEPRECATED( "This constructor is deprecated. Use the one taking function pointer types from the vk-namespace instead." ) DebugUtilsMessengerCreateInfoEXT( DebugUtilsMessengerCreateFlagsEXT flags_, DebugUtilsMessageSeverityFlagsEXT messageSeverity_, DebugUtilsMessageTypeFlagsEXT messageType_, PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback_, void * pUserData_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : DebugUtilsMessengerCreateInfoEXT( flags_, messageSeverity_, messageType_, reinterpret_cast<PFN_DebugUtilsMessengerCallbackEXT>( pfnUserCallback_ ), pUserData_, pNext_ ) { } # if defined( __clang__ ) || defined( __GNUC__ ) # pragma GCC diagnostic pop # endif DebugUtilsMessengerCreateInfoEXT & operator=( DebugUtilsMessengerCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DebugUtilsMessengerCreateInfoEXT & operator=( VkDebugUtilsMessengerCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DebugUtilsMessengerCreateInfoEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCreateInfoEXT & setFlags( DebugUtilsMessengerCreateFlagsEXT flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCreateInfoEXT & setMessageSeverity( DebugUtilsMessageSeverityFlagsEXT messageSeverity_ ) VULKAN_HPP_NOEXCEPT { messageSeverity = messageSeverity_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCreateInfoEXT & setMessageType( DebugUtilsMessageTypeFlagsEXT messageType_ ) VULKAN_HPP_NOEXCEPT { messageType = messageType_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCreateInfoEXT & setPfnUserCallback( PFN_DebugUtilsMessengerCallbackEXT pfnUserCallback_ ) VULKAN_HPP_NOEXCEPT { pfnUserCallback = pfnUserCallback_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCreateInfoEXT & setPUserData( void * pUserData_ ) VULKAN_HPP_NOEXCEPT { pUserData = pUserData_; return *this; } # if defined( __clang__ ) || defined( __GNUC__ ) # pragma GCC diagnostic push # if defined( __clang__ ) # pragma clang diagnostic ignored "-Wunknown-warning-option" # endif # pragma GCC diagnostic ignored "-Wcast-function-type" # endif VULKAN_HPP_DEPRECATED( "This setter is deprecated. Use the one taking a function pointer type from the vk-namespace instead." ) DebugUtilsMessengerCreateInfoEXT & setPfnUserCallback( PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback_ ) VULKAN_HPP_NOEXCEPT { return setPfnUserCallback( reinterpret_cast<PFN_DebugUtilsMessengerCallbackEXT>( pfnUserCallback_ ) ); } # if defined( __clang__ ) || defined( __GNUC__ ) # pragma GCC diagnostic pop # endif #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDebugUtilsMessengerCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT *>( this ); } operator VkDebugUtilsMessengerCreateInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDebugUtilsMessengerCreateInfoEXT *>( this ); } operator VkDebugUtilsMessengerCreateInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT *>( this ); } operator VkDebugUtilsMessengerCreateInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDebugUtilsMessengerCreateInfoEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DebugUtilsMessengerCreateFlagsEXT const &, DebugUtilsMessageSeverityFlagsEXT const &, DebugUtilsMessageTypeFlagsEXT const &, PFN_DebugUtilsMessengerCallbackEXT const &, void * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, messageSeverity, messageType, pfnUserCallback, pUserData ); } #endif bool operator==( DebugUtilsMessengerCreateInfoEXT 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 ) && ( flags == rhs.flags ) && ( messageSeverity == rhs.messageSeverity ) && ( messageType == rhs.messageType ) && ( pfnUserCallback == rhs.pfnUserCallback ) && ( pUserData == rhs.pUserData ); #endif } bool operator!=( DebugUtilsMessengerCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } public: StructureType sType = StructureType::eDebugUtilsMessengerCreateInfoEXT; const void * pNext = {}; DebugUtilsMessengerCreateFlagsEXT flags = {}; DebugUtilsMessageSeverityFlagsEXT messageSeverity = {}; DebugUtilsMessageTypeFlagsEXT messageType = {}; PFN_DebugUtilsMessengerCallbackEXT pfnUserCallback = {}; void * pUserData = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDebugUtilsMessengerCreateInfoEXT> { using Type = DebugUtilsMessengerCreateInfoEXT; }; #endif template <> struct CppType<StructureType, StructureType::eDebugUtilsMessengerCreateInfoEXT> { using Type = DebugUtilsMessengerCreateInfoEXT; }; // wrapper struct for struct VkDebugUtilsObjectTagInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDebugUtilsObjectTagInfoEXT.html struct DebugUtilsObjectTagInfoEXT { using NativeType = VkDebugUtilsObjectTagInfoEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDebugUtilsObjectTagInfoEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DebugUtilsObjectTagInfoEXT( ObjectType objectType_ = ObjectType::eUnknown, uint64_t objectHandle_ = {}, uint64_t tagName_ = {}, size_t tagSize_ = {}, const void * pTag_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , objectType{ objectType_ } , objectHandle{ objectHandle_ } , tagName{ tagName_ } , tagSize{ tagSize_ } , pTag{ pTag_ } { } VULKAN_HPP_CONSTEXPR DebugUtilsObjectTagInfoEXT( DebugUtilsObjectTagInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; DebugUtilsObjectTagInfoEXT( VkDebugUtilsObjectTagInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DebugUtilsObjectTagInfoEXT( *reinterpret_cast<DebugUtilsObjectTagInfoEXT const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) template <typename T> DebugUtilsObjectTagInfoEXT( ObjectType objectType_, uint64_t objectHandle_, uint64_t tagName_, ArrayProxyNoTemporaries<const T> const & tag_, const void * pNext_ = nullptr ) : pNext( pNext_ ) , objectType( objectType_ ) , objectHandle( objectHandle_ ) , tagName( tagName_ ) , tagSize( tag_.size() * sizeof( T ) ) , pTag( tag_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ DebugUtilsObjectTagInfoEXT & operator=( DebugUtilsObjectTagInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DebugUtilsObjectTagInfoEXT & operator=( VkDebugUtilsObjectTagInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DebugUtilsObjectTagInfoEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DebugUtilsObjectTagInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugUtilsObjectTagInfoEXT & setObjectType( ObjectType objectType_ ) VULKAN_HPP_NOEXCEPT { objectType = objectType_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugUtilsObjectTagInfoEXT & setObjectHandle( uint64_t objectHandle_ ) VULKAN_HPP_NOEXCEPT { objectHandle = objectHandle_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugUtilsObjectTagInfoEXT & setTagName( uint64_t tagName_ ) VULKAN_HPP_NOEXCEPT { tagName = tagName_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugUtilsObjectTagInfoEXT & setTagSize( size_t tagSize_ ) VULKAN_HPP_NOEXCEPT { tagSize = tagSize_; return *this; } VULKAN_HPP_CONSTEXPR_14 DebugUtilsObjectTagInfoEXT & setPTag( const void * pTag_ ) VULKAN_HPP_NOEXCEPT { pTag = pTag_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) template <typename T> DebugUtilsObjectTagInfoEXT & setTag( ArrayProxyNoTemporaries<const T> const & tag_ ) VULKAN_HPP_NOEXCEPT { tagSize = tag_.size() * sizeof( T ); pTag = tag_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDebugUtilsObjectTagInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDebugUtilsObjectTagInfoEXT *>( this ); } operator VkDebugUtilsObjectTagInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDebugUtilsObjectTagInfoEXT *>( this ); } operator VkDebugUtilsObjectTagInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDebugUtilsObjectTagInfoEXT *>( this ); } operator VkDebugUtilsObjectTagInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDebugUtilsObjectTagInfoEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, ObjectType const &, uint64_t const &, uint64_t const &, size_t const &, const void * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, objectType, objectHandle, tagName, tagSize, pTag ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DebugUtilsObjectTagInfoEXT const & ) const = default; #else bool operator==( DebugUtilsObjectTagInfoEXT 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 ) && ( objectType == rhs.objectType ) && ( objectHandle == rhs.objectHandle ) && ( tagName == rhs.tagName ) && ( tagSize == rhs.tagSize ) && ( pTag == rhs.pTag ); # endif } bool operator!=( DebugUtilsObjectTagInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDebugUtilsObjectTagInfoEXT; const void * pNext = {}; ObjectType objectType = ObjectType::eUnknown; uint64_t objectHandle = {}; uint64_t tagName = {}; size_t tagSize = {}; const void * pTag = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDebugUtilsObjectTagInfoEXT> { using Type = DebugUtilsObjectTagInfoEXT; }; #endif template <> struct CppType<StructureType, StructureType::eDebugUtilsObjectTagInfoEXT> { using Type = DebugUtilsObjectTagInfoEXT; }; // wrapper struct for struct VkDecompressMemoryRegionNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDecompressMemoryRegionNV.html struct DecompressMemoryRegionNV { using NativeType = VkDecompressMemoryRegionNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DecompressMemoryRegionNV( DeviceAddress srcAddress_ = {}, DeviceAddress dstAddress_ = {}, DeviceSize compressedSize_ = {}, DeviceSize decompressedSize_ = {}, MemoryDecompressionMethodFlagsNV decompressionMethod_ = {} ) VULKAN_HPP_NOEXCEPT : srcAddress{ srcAddress_ } , dstAddress{ dstAddress_ } , compressedSize{ compressedSize_ } , decompressedSize{ decompressedSize_ } , decompressionMethod{ decompressionMethod_ } { } VULKAN_HPP_CONSTEXPR DecompressMemoryRegionNV( DecompressMemoryRegionNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; DecompressMemoryRegionNV( VkDecompressMemoryRegionNV const & rhs ) VULKAN_HPP_NOEXCEPT : DecompressMemoryRegionNV( *reinterpret_cast<DecompressMemoryRegionNV const *>( &rhs ) ) { } DecompressMemoryRegionNV & operator=( DecompressMemoryRegionNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DecompressMemoryRegionNV & operator=( VkDecompressMemoryRegionNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DecompressMemoryRegionNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DecompressMemoryRegionNV & setSrcAddress( DeviceAddress srcAddress_ ) VULKAN_HPP_NOEXCEPT { srcAddress = srcAddress_; return *this; } VULKAN_HPP_CONSTEXPR_14 DecompressMemoryRegionNV & setDstAddress( DeviceAddress dstAddress_ ) VULKAN_HPP_NOEXCEPT { dstAddress = dstAddress_; return *this; } VULKAN_HPP_CONSTEXPR_14 DecompressMemoryRegionNV & setCompressedSize( DeviceSize compressedSize_ ) VULKAN_HPP_NOEXCEPT { compressedSize = compressedSize_; return *this; } VULKAN_HPP_CONSTEXPR_14 DecompressMemoryRegionNV & setDecompressedSize( DeviceSize decompressedSize_ ) VULKAN_HPP_NOEXCEPT { decompressedSize = decompressedSize_; return *this; } VULKAN_HPP_CONSTEXPR_14 DecompressMemoryRegionNV & setDecompressionMethod( MemoryDecompressionMethodFlagsNV decompressionMethod_ ) VULKAN_HPP_NOEXCEPT { decompressionMethod = decompressionMethod_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDecompressMemoryRegionNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDecompressMemoryRegionNV *>( this ); } operator VkDecompressMemoryRegionNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDecompressMemoryRegionNV *>( this ); } operator VkDecompressMemoryRegionNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDecompressMemoryRegionNV *>( this ); } operator VkDecompressMemoryRegionNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDecompressMemoryRegionNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<DeviceAddress const &, DeviceAddress const &, DeviceSize const &, DeviceSize const &, MemoryDecompressionMethodFlagsNV const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( srcAddress, dstAddress, compressedSize, decompressedSize, decompressionMethod ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DecompressMemoryRegionNV const & ) const = default; #else bool operator==( DecompressMemoryRegionNV const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( srcAddress == rhs.srcAddress ) && ( dstAddress == rhs.dstAddress ) && ( compressedSize == rhs.compressedSize ) && ( decompressedSize == rhs.decompressedSize ) && ( decompressionMethod == rhs.decompressionMethod ); # endif } bool operator!=( DecompressMemoryRegionNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: DeviceAddress srcAddress = {}; DeviceAddress dstAddress = {}; DeviceSize compressedSize = {}; DeviceSize decompressedSize = {}; MemoryDecompressionMethodFlagsNV decompressionMethod = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDecompressMemoryRegionNV> { using Type = DecompressMemoryRegionNV; }; #endif // wrapper struct for struct VkDedicatedAllocationBufferCreateInfoNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDedicatedAllocationBufferCreateInfoNV.html struct DedicatedAllocationBufferCreateInfoNV { using NativeType = VkDedicatedAllocationBufferCreateInfoNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDedicatedAllocationBufferCreateInfoNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DedicatedAllocationBufferCreateInfoNV( Bool32 dedicatedAllocation_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , dedicatedAllocation{ dedicatedAllocation_ } { } VULKAN_HPP_CONSTEXPR DedicatedAllocationBufferCreateInfoNV( DedicatedAllocationBufferCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; DedicatedAllocationBufferCreateInfoNV( VkDedicatedAllocationBufferCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT : DedicatedAllocationBufferCreateInfoNV( *reinterpret_cast<DedicatedAllocationBufferCreateInfoNV const *>( &rhs ) ) { } DedicatedAllocationBufferCreateInfoNV & operator=( DedicatedAllocationBufferCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DedicatedAllocationBufferCreateInfoNV & operator=( VkDedicatedAllocationBufferCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DedicatedAllocationBufferCreateInfoNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DedicatedAllocationBufferCreateInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DedicatedAllocationBufferCreateInfoNV & setDedicatedAllocation( Bool32 dedicatedAllocation_ ) VULKAN_HPP_NOEXCEPT { dedicatedAllocation = dedicatedAllocation_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDedicatedAllocationBufferCreateInfoNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDedicatedAllocationBufferCreateInfoNV *>( this ); } operator VkDedicatedAllocationBufferCreateInfoNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDedicatedAllocationBufferCreateInfoNV *>( this ); } operator VkDedicatedAllocationBufferCreateInfoNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDedicatedAllocationBufferCreateInfoNV *>( this ); } operator VkDedicatedAllocationBufferCreateInfoNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDedicatedAllocationBufferCreateInfoNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Bool32 const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, dedicatedAllocation ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DedicatedAllocationBufferCreateInfoNV const & ) const = default; #else bool operator==( DedicatedAllocationBufferCreateInfoNV 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 ) && ( dedicatedAllocation == rhs.dedicatedAllocation ); # endif } bool operator!=( DedicatedAllocationBufferCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDedicatedAllocationBufferCreateInfoNV; const void * pNext = {}; Bool32 dedicatedAllocation = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDedicatedAllocationBufferCreateInfoNV> { using Type = DedicatedAllocationBufferCreateInfoNV; }; #endif template <> struct CppType<StructureType, StructureType::eDedicatedAllocationBufferCreateInfoNV> { using Type = DedicatedAllocationBufferCreateInfoNV; }; // wrapper struct for struct VkDedicatedAllocationImageCreateInfoNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDedicatedAllocationImageCreateInfoNV.html struct DedicatedAllocationImageCreateInfoNV { using NativeType = VkDedicatedAllocationImageCreateInfoNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDedicatedAllocationImageCreateInfoNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DedicatedAllocationImageCreateInfoNV( Bool32 dedicatedAllocation_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , dedicatedAllocation{ dedicatedAllocation_ } { } VULKAN_HPP_CONSTEXPR DedicatedAllocationImageCreateInfoNV( DedicatedAllocationImageCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; DedicatedAllocationImageCreateInfoNV( VkDedicatedAllocationImageCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT : DedicatedAllocationImageCreateInfoNV( *reinterpret_cast<DedicatedAllocationImageCreateInfoNV const *>( &rhs ) ) { } DedicatedAllocationImageCreateInfoNV & operator=( DedicatedAllocationImageCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DedicatedAllocationImageCreateInfoNV & operator=( VkDedicatedAllocationImageCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DedicatedAllocationImageCreateInfoNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DedicatedAllocationImageCreateInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DedicatedAllocationImageCreateInfoNV & setDedicatedAllocation( Bool32 dedicatedAllocation_ ) VULKAN_HPP_NOEXCEPT { dedicatedAllocation = dedicatedAllocation_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDedicatedAllocationImageCreateInfoNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDedicatedAllocationImageCreateInfoNV *>( this ); } operator VkDedicatedAllocationImageCreateInfoNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDedicatedAllocationImageCreateInfoNV *>( this ); } operator VkDedicatedAllocationImageCreateInfoNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDedicatedAllocationImageCreateInfoNV *>( this ); } operator VkDedicatedAllocationImageCreateInfoNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDedicatedAllocationImageCreateInfoNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Bool32 const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, dedicatedAllocation ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DedicatedAllocationImageCreateInfoNV const & ) const = default; #else bool operator==( DedicatedAllocationImageCreateInfoNV 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 ) && ( dedicatedAllocation == rhs.dedicatedAllocation ); # endif } bool operator!=( DedicatedAllocationImageCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDedicatedAllocationImageCreateInfoNV; const void * pNext = {}; Bool32 dedicatedAllocation = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDedicatedAllocationImageCreateInfoNV> { using Type = DedicatedAllocationImageCreateInfoNV; }; #endif template <> struct CppType<StructureType, StructureType::eDedicatedAllocationImageCreateInfoNV> { using Type = DedicatedAllocationImageCreateInfoNV; }; // wrapper struct for struct VkDedicatedAllocationMemoryAllocateInfoNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDedicatedAllocationMemoryAllocateInfoNV.html struct DedicatedAllocationMemoryAllocateInfoNV { using NativeType = VkDedicatedAllocationMemoryAllocateInfoNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDedicatedAllocationMemoryAllocateInfoNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DedicatedAllocationMemoryAllocateInfoNV( Image image_ = {}, Buffer buffer_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , image{ image_ } , buffer{ buffer_ } { } VULKAN_HPP_CONSTEXPR DedicatedAllocationMemoryAllocateInfoNV( DedicatedAllocationMemoryAllocateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; DedicatedAllocationMemoryAllocateInfoNV( VkDedicatedAllocationMemoryAllocateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT : DedicatedAllocationMemoryAllocateInfoNV( *reinterpret_cast<DedicatedAllocationMemoryAllocateInfoNV const *>( &rhs ) ) { } DedicatedAllocationMemoryAllocateInfoNV & operator=( DedicatedAllocationMemoryAllocateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DedicatedAllocationMemoryAllocateInfoNV & operator=( VkDedicatedAllocationMemoryAllocateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DedicatedAllocationMemoryAllocateInfoNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DedicatedAllocationMemoryAllocateInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DedicatedAllocationMemoryAllocateInfoNV & setImage( Image image_ ) VULKAN_HPP_NOEXCEPT { image = image_; return *this; } VULKAN_HPP_CONSTEXPR_14 DedicatedAllocationMemoryAllocateInfoNV & setBuffer( Buffer buffer_ ) VULKAN_HPP_NOEXCEPT { buffer = buffer_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDedicatedAllocationMemoryAllocateInfoNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDedicatedAllocationMemoryAllocateInfoNV *>( this ); } operator VkDedicatedAllocationMemoryAllocateInfoNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDedicatedAllocationMemoryAllocateInfoNV *>( this ); } operator VkDedicatedAllocationMemoryAllocateInfoNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDedicatedAllocationMemoryAllocateInfoNV *>( this ); } operator VkDedicatedAllocationMemoryAllocateInfoNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDedicatedAllocationMemoryAllocateInfoNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Image const &, Buffer const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, image, buffer ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DedicatedAllocationMemoryAllocateInfoNV const & ) const = default; #else bool operator==( DedicatedAllocationMemoryAllocateInfoNV 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 ) && ( image == rhs.image ) && ( buffer == rhs.buffer ); # endif } bool operator!=( DedicatedAllocationMemoryAllocateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDedicatedAllocationMemoryAllocateInfoNV; const void * pNext = {}; Image image = {}; Buffer buffer = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDedicatedAllocationMemoryAllocateInfoNV> { using Type = DedicatedAllocationMemoryAllocateInfoNV; }; #endif template <> struct CppType<StructureType, StructureType::eDedicatedAllocationMemoryAllocateInfoNV> { using Type = DedicatedAllocationMemoryAllocateInfoNV; }; // wrapper struct for struct VkMemoryBarrier2, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkMemoryBarrier2.html struct MemoryBarrier2 { using NativeType = VkMemoryBarrier2; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryBarrier2; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR MemoryBarrier2( PipelineStageFlags2 srcStageMask_ = {}, AccessFlags2 srcAccessMask_ = {}, PipelineStageFlags2 dstStageMask_ = {}, AccessFlags2 dstAccessMask_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , srcStageMask{ srcStageMask_ } , srcAccessMask{ srcAccessMask_ } , dstStageMask{ dstStageMask_ } , dstAccessMask{ dstAccessMask_ } { } VULKAN_HPP_CONSTEXPR MemoryBarrier2( MemoryBarrier2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; MemoryBarrier2( VkMemoryBarrier2 const & rhs ) VULKAN_HPP_NOEXCEPT : MemoryBarrier2( *reinterpret_cast<MemoryBarrier2 const *>( &rhs ) ) {} MemoryBarrier2 & operator=( MemoryBarrier2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ MemoryBarrier2 & operator=( VkMemoryBarrier2 const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<MemoryBarrier2 const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 MemoryBarrier2 & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 MemoryBarrier2 & setSrcStageMask( PipelineStageFlags2 srcStageMask_ ) VULKAN_HPP_NOEXCEPT { srcStageMask = srcStageMask_; return *this; } VULKAN_HPP_CONSTEXPR_14 MemoryBarrier2 & setSrcAccessMask( AccessFlags2 srcAccessMask_ ) VULKAN_HPP_NOEXCEPT { srcAccessMask = srcAccessMask_; return *this; } VULKAN_HPP_CONSTEXPR_14 MemoryBarrier2 & setDstStageMask( PipelineStageFlags2 dstStageMask_ ) VULKAN_HPP_NOEXCEPT { dstStageMask = dstStageMask_; return *this; } VULKAN_HPP_CONSTEXPR_14 MemoryBarrier2 & setDstAccessMask( AccessFlags2 dstAccessMask_ ) VULKAN_HPP_NOEXCEPT { dstAccessMask = dstAccessMask_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkMemoryBarrier2 const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkMemoryBarrier2 *>( this ); } operator VkMemoryBarrier2 &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkMemoryBarrier2 *>( this ); } operator VkMemoryBarrier2 const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkMemoryBarrier2 *>( this ); } operator VkMemoryBarrier2 *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkMemoryBarrier2 *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std:: tuple<StructureType const &, const void * const &, PipelineStageFlags2 const &, AccessFlags2 const &, PipelineStageFlags2 const &, AccessFlags2 const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, srcStageMask, srcAccessMask, dstStageMask, dstAccessMask ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( MemoryBarrier2 const & ) const = default; #else bool operator==( MemoryBarrier2 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 ) && ( srcStageMask == rhs.srcStageMask ) && ( srcAccessMask == rhs.srcAccessMask ) && ( dstStageMask == rhs.dstStageMask ) && ( dstAccessMask == rhs.dstAccessMask ); # endif } bool operator!=( MemoryBarrier2 const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eMemoryBarrier2; const void * pNext = {}; PipelineStageFlags2 srcStageMask = {}; AccessFlags2 srcAccessMask = {}; PipelineStageFlags2 dstStageMask = {}; AccessFlags2 dstAccessMask = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkMemoryBarrier2> { using Type = MemoryBarrier2; }; #endif template <> struct CppType<StructureType, StructureType::eMemoryBarrier2> { using Type = MemoryBarrier2; }; using MemoryBarrier2KHR = MemoryBarrier2; // wrapper struct for struct VkImageSubresourceRange, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageSubresourceRange.html struct ImageSubresourceRange { using NativeType = VkImageSubresourceRange; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ImageSubresourceRange( ImageAspectFlags aspectMask_ = {}, uint32_t baseMipLevel_ = {}, uint32_t levelCount_ = {}, uint32_t baseArrayLayer_ = {}, uint32_t layerCount_ = {} ) VULKAN_HPP_NOEXCEPT : aspectMask{ aspectMask_ } , baseMipLevel{ baseMipLevel_ } , levelCount{ levelCount_ } , baseArrayLayer{ baseArrayLayer_ } , layerCount{ layerCount_ } { } VULKAN_HPP_CONSTEXPR ImageSubresourceRange( ImageSubresourceRange const & rhs ) VULKAN_HPP_NOEXCEPT = default; ImageSubresourceRange( VkImageSubresourceRange const & rhs ) VULKAN_HPP_NOEXCEPT : ImageSubresourceRange( *reinterpret_cast<ImageSubresourceRange const *>( &rhs ) ) { } ImageSubresourceRange & operator=( ImageSubresourceRange const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ImageSubresourceRange & operator=( VkImageSubresourceRange const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ImageSubresourceRange const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ImageSubresourceRange & setAspectMask( ImageAspectFlags aspectMask_ ) VULKAN_HPP_NOEXCEPT { aspectMask = aspectMask_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageSubresourceRange & setBaseMipLevel( uint32_t baseMipLevel_ ) VULKAN_HPP_NOEXCEPT { baseMipLevel = baseMipLevel_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageSubresourceRange & setLevelCount( uint32_t levelCount_ ) VULKAN_HPP_NOEXCEPT { levelCount = levelCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageSubresourceRange & setBaseArrayLayer( uint32_t baseArrayLayer_ ) VULKAN_HPP_NOEXCEPT { baseArrayLayer = baseArrayLayer_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageSubresourceRange & setLayerCount( uint32_t layerCount_ ) VULKAN_HPP_NOEXCEPT { layerCount = layerCount_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkImageSubresourceRange const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkImageSubresourceRange *>( this ); } operator VkImageSubresourceRange &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkImageSubresourceRange *>( this ); } operator VkImageSubresourceRange const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkImageSubresourceRange *>( this ); } operator VkImageSubresourceRange *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkImageSubresourceRange *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<ImageAspectFlags const &, uint32_t const &, uint32_t const &, uint32_t const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( aspectMask, baseMipLevel, levelCount, baseArrayLayer, layerCount ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ImageSubresourceRange const & ) const = default; #else bool operator==( ImageSubresourceRange const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( aspectMask == rhs.aspectMask ) && ( baseMipLevel == rhs.baseMipLevel ) && ( levelCount == rhs.levelCount ) && ( baseArrayLayer == rhs.baseArrayLayer ) && ( layerCount == rhs.layerCount ); # endif } bool operator!=( ImageSubresourceRange const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: ImageAspectFlags aspectMask = {}; uint32_t baseMipLevel = {}; uint32_t levelCount = {}; uint32_t baseArrayLayer = {}; uint32_t layerCount = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkImageSubresourceRange> { using Type = ImageSubresourceRange; }; #endif // wrapper struct for struct VkImageMemoryBarrier2, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageMemoryBarrier2.html struct ImageMemoryBarrier2 { using NativeType = VkImageMemoryBarrier2; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageMemoryBarrier2; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ImageMemoryBarrier2( PipelineStageFlags2 srcStageMask_ = {}, AccessFlags2 srcAccessMask_ = {}, PipelineStageFlags2 dstStageMask_ = {}, AccessFlags2 dstAccessMask_ = {}, ImageLayout oldLayout_ = ImageLayout::eUndefined, ImageLayout newLayout_ = ImageLayout::eUndefined, uint32_t srcQueueFamilyIndex_ = {}, uint32_t dstQueueFamilyIndex_ = {}, Image image_ = {}, ImageSubresourceRange subresourceRange_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , srcStageMask{ srcStageMask_ } , srcAccessMask{ srcAccessMask_ } , dstStageMask{ dstStageMask_ } , dstAccessMask{ dstAccessMask_ } , oldLayout{ oldLayout_ } , newLayout{ newLayout_ } , srcQueueFamilyIndex{ srcQueueFamilyIndex_ } , dstQueueFamilyIndex{ dstQueueFamilyIndex_ } , image{ image_ } , subresourceRange{ subresourceRange_ } { } VULKAN_HPP_CONSTEXPR ImageMemoryBarrier2( ImageMemoryBarrier2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; ImageMemoryBarrier2( VkImageMemoryBarrier2 const & rhs ) VULKAN_HPP_NOEXCEPT : ImageMemoryBarrier2( *reinterpret_cast<ImageMemoryBarrier2 const *>( &rhs ) ) { } ImageMemoryBarrier2 & operator=( ImageMemoryBarrier2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ImageMemoryBarrier2 & operator=( VkImageMemoryBarrier2 const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ImageMemoryBarrier2 const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ImageMemoryBarrier2 & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageMemoryBarrier2 & setSrcStageMask( PipelineStageFlags2 srcStageMask_ ) VULKAN_HPP_NOEXCEPT { srcStageMask = srcStageMask_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageMemoryBarrier2 & setSrcAccessMask( AccessFlags2 srcAccessMask_ ) VULKAN_HPP_NOEXCEPT { srcAccessMask = srcAccessMask_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageMemoryBarrier2 & setDstStageMask( PipelineStageFlags2 dstStageMask_ ) VULKAN_HPP_NOEXCEPT { dstStageMask = dstStageMask_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageMemoryBarrier2 & setDstAccessMask( AccessFlags2 dstAccessMask_ ) VULKAN_HPP_NOEXCEPT { dstAccessMask = dstAccessMask_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageMemoryBarrier2 & setOldLayout( ImageLayout oldLayout_ ) VULKAN_HPP_NOEXCEPT { oldLayout = oldLayout_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageMemoryBarrier2 & setNewLayout( ImageLayout newLayout_ ) VULKAN_HPP_NOEXCEPT { newLayout = newLayout_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageMemoryBarrier2 & setSrcQueueFamilyIndex( uint32_t srcQueueFamilyIndex_ ) VULKAN_HPP_NOEXCEPT { srcQueueFamilyIndex = srcQueueFamilyIndex_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageMemoryBarrier2 & setDstQueueFamilyIndex( uint32_t dstQueueFamilyIndex_ ) VULKAN_HPP_NOEXCEPT { dstQueueFamilyIndex = dstQueueFamilyIndex_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageMemoryBarrier2 & setImage( Image image_ ) VULKAN_HPP_NOEXCEPT { image = image_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageMemoryBarrier2 & setSubresourceRange( ImageSubresourceRange const & subresourceRange_ ) VULKAN_HPP_NOEXCEPT { subresourceRange = subresourceRange_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkImageMemoryBarrier2 const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkImageMemoryBarrier2 *>( this ); } operator VkImageMemoryBarrier2 &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkImageMemoryBarrier2 *>( this ); } operator VkImageMemoryBarrier2 const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkImageMemoryBarrier2 *>( this ); } operator VkImageMemoryBarrier2 *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkImageMemoryBarrier2 *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, PipelineStageFlags2 const &, AccessFlags2 const &, PipelineStageFlags2 const &, AccessFlags2 const &, ImageLayout const &, ImageLayout const &, uint32_t const &, uint32_t const &, Image const &, ImageSubresourceRange const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, srcStageMask, srcAccessMask, dstStageMask, dstAccessMask, oldLayout, newLayout, srcQueueFamilyIndex, dstQueueFamilyIndex, image, subresourceRange ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ImageMemoryBarrier2 const & ) const = default; #else bool operator==( ImageMemoryBarrier2 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 ) && ( srcStageMask == rhs.srcStageMask ) && ( srcAccessMask == rhs.srcAccessMask ) && ( dstStageMask == rhs.dstStageMask ) && ( dstAccessMask == rhs.dstAccessMask ) && ( oldLayout == rhs.oldLayout ) && ( newLayout == rhs.newLayout ) && ( srcQueueFamilyIndex == rhs.srcQueueFamilyIndex ) && ( dstQueueFamilyIndex == rhs.dstQueueFamilyIndex ) && ( image == rhs.image ) && ( subresourceRange == rhs.subresourceRange ); # endif } bool operator!=( ImageMemoryBarrier2 const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eImageMemoryBarrier2; const void * pNext = {}; PipelineStageFlags2 srcStageMask = {}; AccessFlags2 srcAccessMask = {}; PipelineStageFlags2 dstStageMask = {}; AccessFlags2 dstAccessMask = {}; ImageLayout oldLayout = ImageLayout::eUndefined; ImageLayout newLayout = ImageLayout::eUndefined; uint32_t srcQueueFamilyIndex = {}; uint32_t dstQueueFamilyIndex = {}; Image image = {}; ImageSubresourceRange subresourceRange = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkImageMemoryBarrier2> { using Type = ImageMemoryBarrier2; }; #endif template <> struct CppType<StructureType, StructureType::eImageMemoryBarrier2> { using Type = ImageMemoryBarrier2; }; using ImageMemoryBarrier2KHR = ImageMemoryBarrier2; // wrapper struct for struct VkDependencyInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDependencyInfo.html struct DependencyInfo { using NativeType = VkDependencyInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDependencyInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DependencyInfo( DependencyFlags dependencyFlags_ = {}, uint32_t memoryBarrierCount_ = {}, const MemoryBarrier2 * pMemoryBarriers_ = {}, uint32_t bufferMemoryBarrierCount_ = {}, const BufferMemoryBarrier2 * pBufferMemoryBarriers_ = {}, uint32_t imageMemoryBarrierCount_ = {}, const ImageMemoryBarrier2 * pImageMemoryBarriers_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , dependencyFlags{ dependencyFlags_ } , memoryBarrierCount{ memoryBarrierCount_ } , pMemoryBarriers{ pMemoryBarriers_ } , bufferMemoryBarrierCount{ bufferMemoryBarrierCount_ } , pBufferMemoryBarriers{ pBufferMemoryBarriers_ } , imageMemoryBarrierCount{ imageMemoryBarrierCount_ } , pImageMemoryBarriers{ pImageMemoryBarriers_ } { } VULKAN_HPP_CONSTEXPR DependencyInfo( DependencyInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; DependencyInfo( VkDependencyInfo const & rhs ) VULKAN_HPP_NOEXCEPT : DependencyInfo( *reinterpret_cast<DependencyInfo const *>( &rhs ) ) {} # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DependencyInfo( DependencyFlags dependencyFlags_, ArrayProxyNoTemporaries<const MemoryBarrier2> const & memoryBarriers_, ArrayProxyNoTemporaries<const BufferMemoryBarrier2> const & bufferMemoryBarriers_ = {}, ArrayProxyNoTemporaries<const ImageMemoryBarrier2> const & imageMemoryBarriers_ = {}, const void * pNext_ = nullptr ) : pNext( pNext_ ) , dependencyFlags( dependencyFlags_ ) , memoryBarrierCount( static_cast<uint32_t>( memoryBarriers_.size() ) ) , pMemoryBarriers( memoryBarriers_.data() ) , bufferMemoryBarrierCount( static_cast<uint32_t>( bufferMemoryBarriers_.size() ) ) , pBufferMemoryBarriers( bufferMemoryBarriers_.data() ) , imageMemoryBarrierCount( static_cast<uint32_t>( imageMemoryBarriers_.size() ) ) , pImageMemoryBarriers( imageMemoryBarriers_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ DependencyInfo & operator=( DependencyInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DependencyInfo & operator=( VkDependencyInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DependencyInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DependencyInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DependencyInfo & setDependencyFlags( DependencyFlags dependencyFlags_ ) VULKAN_HPP_NOEXCEPT { dependencyFlags = dependencyFlags_; return *this; } VULKAN_HPP_CONSTEXPR_14 DependencyInfo & setMemoryBarrierCount( uint32_t memoryBarrierCount_ ) VULKAN_HPP_NOEXCEPT { memoryBarrierCount = memoryBarrierCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DependencyInfo & setPMemoryBarriers( const MemoryBarrier2 * pMemoryBarriers_ ) VULKAN_HPP_NOEXCEPT { pMemoryBarriers = pMemoryBarriers_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DependencyInfo & setMemoryBarriers( ArrayProxyNoTemporaries<const MemoryBarrier2> const & memoryBarriers_ ) VULKAN_HPP_NOEXCEPT { memoryBarrierCount = static_cast<uint32_t>( memoryBarriers_.size() ); pMemoryBarriers = memoryBarriers_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 DependencyInfo & setBufferMemoryBarrierCount( uint32_t bufferMemoryBarrierCount_ ) VULKAN_HPP_NOEXCEPT { bufferMemoryBarrierCount = bufferMemoryBarrierCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DependencyInfo & setPBufferMemoryBarriers( const BufferMemoryBarrier2 * pBufferMemoryBarriers_ ) VULKAN_HPP_NOEXCEPT { pBufferMemoryBarriers = pBufferMemoryBarriers_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DependencyInfo & setBufferMemoryBarriers( ArrayProxyNoTemporaries<const BufferMemoryBarrier2> const & bufferMemoryBarriers_ ) VULKAN_HPP_NOEXCEPT { bufferMemoryBarrierCount = static_cast<uint32_t>( bufferMemoryBarriers_.size() ); pBufferMemoryBarriers = bufferMemoryBarriers_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 DependencyInfo & setImageMemoryBarrierCount( uint32_t imageMemoryBarrierCount_ ) VULKAN_HPP_NOEXCEPT { imageMemoryBarrierCount = imageMemoryBarrierCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DependencyInfo & setPImageMemoryBarriers( const ImageMemoryBarrier2 * pImageMemoryBarriers_ ) VULKAN_HPP_NOEXCEPT { pImageMemoryBarriers = pImageMemoryBarriers_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DependencyInfo & setImageMemoryBarriers( ArrayProxyNoTemporaries<const ImageMemoryBarrier2> const & imageMemoryBarriers_ ) VULKAN_HPP_NOEXCEPT { imageMemoryBarrierCount = static_cast<uint32_t>( imageMemoryBarriers_.size() ); pImageMemoryBarriers = imageMemoryBarriers_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDependencyInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDependencyInfo *>( this ); } operator VkDependencyInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDependencyInfo *>( this ); } operator VkDependencyInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDependencyInfo *>( this ); } operator VkDependencyInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDependencyInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DependencyFlags const &, uint32_t const &, const MemoryBarrier2 * const &, uint32_t const &, const BufferMemoryBarrier2 * const &, uint32_t const &, const ImageMemoryBarrier2 * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DependencyInfo const & ) const = default; #else bool operator==( DependencyInfo 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 ) && ( dependencyFlags == rhs.dependencyFlags ) && ( memoryBarrierCount == rhs.memoryBarrierCount ) && ( pMemoryBarriers == rhs.pMemoryBarriers ) && ( bufferMemoryBarrierCount == rhs.bufferMemoryBarrierCount ) && ( pBufferMemoryBarriers == rhs.pBufferMemoryBarriers ) && ( imageMemoryBarrierCount == rhs.imageMemoryBarrierCount ) && ( pImageMemoryBarriers == rhs.pImageMemoryBarriers ); # endif } bool operator!=( DependencyInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDependencyInfo; const void * pNext = {}; DependencyFlags dependencyFlags = {}; uint32_t memoryBarrierCount = {}; const MemoryBarrier2 * pMemoryBarriers = {}; uint32_t bufferMemoryBarrierCount = {}; const BufferMemoryBarrier2 * pBufferMemoryBarriers = {}; uint32_t imageMemoryBarrierCount = {}; const ImageMemoryBarrier2 * pImageMemoryBarriers = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDependencyInfo> { using Type = DependencyInfo; }; #endif template <> struct CppType<StructureType, StructureType::eDependencyInfo> { using Type = DependencyInfo; }; using DependencyInfoKHR = DependencyInfo; // wrapper struct for struct VkDepthBiasInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDepthBiasInfoEXT.html struct DepthBiasInfoEXT { using NativeType = VkDepthBiasInfoEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDepthBiasInfoEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DepthBiasInfoEXT( float depthBiasConstantFactor_ = {}, float depthBiasClamp_ = {}, float depthBiasSlopeFactor_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , depthBiasConstantFactor{ depthBiasConstantFactor_ } , depthBiasClamp{ depthBiasClamp_ } , depthBiasSlopeFactor{ depthBiasSlopeFactor_ } { } VULKAN_HPP_CONSTEXPR DepthBiasInfoEXT( DepthBiasInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; DepthBiasInfoEXT( VkDepthBiasInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DepthBiasInfoEXT( *reinterpret_cast<DepthBiasInfoEXT const *>( &rhs ) ) {} DepthBiasInfoEXT & operator=( DepthBiasInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DepthBiasInfoEXT & operator=( VkDepthBiasInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DepthBiasInfoEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DepthBiasInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DepthBiasInfoEXT & setDepthBiasConstantFactor( float depthBiasConstantFactor_ ) VULKAN_HPP_NOEXCEPT { depthBiasConstantFactor = depthBiasConstantFactor_; return *this; } VULKAN_HPP_CONSTEXPR_14 DepthBiasInfoEXT & setDepthBiasClamp( float depthBiasClamp_ ) VULKAN_HPP_NOEXCEPT { depthBiasClamp = depthBiasClamp_; return *this; } VULKAN_HPP_CONSTEXPR_14 DepthBiasInfoEXT & setDepthBiasSlopeFactor( float depthBiasSlopeFactor_ ) VULKAN_HPP_NOEXCEPT { depthBiasSlopeFactor = depthBiasSlopeFactor_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDepthBiasInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDepthBiasInfoEXT *>( this ); } operator VkDepthBiasInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDepthBiasInfoEXT *>( this ); } operator VkDepthBiasInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDepthBiasInfoEXT *>( this ); } operator VkDepthBiasInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDepthBiasInfoEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, float const &, float const &, float const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DepthBiasInfoEXT const & ) const = default; #else bool operator==( DepthBiasInfoEXT 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 ) && ( depthBiasConstantFactor == rhs.depthBiasConstantFactor ) && ( depthBiasClamp == rhs.depthBiasClamp ) && ( depthBiasSlopeFactor == rhs.depthBiasSlopeFactor ); # endif } bool operator!=( DepthBiasInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDepthBiasInfoEXT; const void * pNext = {}; float depthBiasConstantFactor = {}; float depthBiasClamp = {}; float depthBiasSlopeFactor = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDepthBiasInfoEXT> { using Type = DepthBiasInfoEXT; }; #endif template <> struct CppType<StructureType, StructureType::eDepthBiasInfoEXT> { using Type = DepthBiasInfoEXT; }; // wrapper struct for struct VkDepthBiasRepresentationInfoEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDepthBiasRepresentationInfoEXT.html struct DepthBiasRepresentationInfoEXT { using NativeType = VkDepthBiasRepresentationInfoEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDepthBiasRepresentationInfoEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DepthBiasRepresentationInfoEXT( DepthBiasRepresentationEXT depthBiasRepresentation_ = DepthBiasRepresentationEXT::eLeastRepresentableValueFormat, Bool32 depthBiasExact_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , depthBiasRepresentation{ depthBiasRepresentation_ } , depthBiasExact{ depthBiasExact_ } { } VULKAN_HPP_CONSTEXPR DepthBiasRepresentationInfoEXT( DepthBiasRepresentationInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; DepthBiasRepresentationInfoEXT( VkDepthBiasRepresentationInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DepthBiasRepresentationInfoEXT( *reinterpret_cast<DepthBiasRepresentationInfoEXT const *>( &rhs ) ) { } DepthBiasRepresentationInfoEXT & operator=( DepthBiasRepresentationInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DepthBiasRepresentationInfoEXT & operator=( VkDepthBiasRepresentationInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DepthBiasRepresentationInfoEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DepthBiasRepresentationInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DepthBiasRepresentationInfoEXT & setDepthBiasRepresentation( DepthBiasRepresentationEXT depthBiasRepresentation_ ) VULKAN_HPP_NOEXCEPT { depthBiasRepresentation = depthBiasRepresentation_; return *this; } VULKAN_HPP_CONSTEXPR_14 DepthBiasRepresentationInfoEXT & setDepthBiasExact( Bool32 depthBiasExact_ ) VULKAN_HPP_NOEXCEPT { depthBiasExact = depthBiasExact_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDepthBiasRepresentationInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDepthBiasRepresentationInfoEXT *>( this ); } operator VkDepthBiasRepresentationInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDepthBiasRepresentationInfoEXT *>( this ); } operator VkDepthBiasRepresentationInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDepthBiasRepresentationInfoEXT *>( this ); } operator VkDepthBiasRepresentationInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDepthBiasRepresentationInfoEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DepthBiasRepresentationEXT const &, Bool32 const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, depthBiasRepresentation, depthBiasExact ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DepthBiasRepresentationInfoEXT const & ) const = default; #else bool operator==( DepthBiasRepresentationInfoEXT 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 ) && ( depthBiasRepresentation == rhs.depthBiasRepresentation ) && ( depthBiasExact == rhs.depthBiasExact ); # endif } bool operator!=( DepthBiasRepresentationInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDepthBiasRepresentationInfoEXT; const void * pNext = {}; DepthBiasRepresentationEXT depthBiasRepresentation = DepthBiasRepresentationEXT::eLeastRepresentableValueFormat; Bool32 depthBiasExact = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDepthBiasRepresentationInfoEXT> { using Type = DepthBiasRepresentationInfoEXT; }; #endif template <> struct CppType<StructureType, StructureType::eDepthBiasRepresentationInfoEXT> { using Type = DepthBiasRepresentationInfoEXT; }; // wrapper struct for struct VkDepthClampRangeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDepthClampRangeEXT.html struct DepthClampRangeEXT { using NativeType = VkDepthClampRangeEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DepthClampRangeEXT( float minDepthClamp_ = {}, float maxDepthClamp_ = {} ) VULKAN_HPP_NOEXCEPT : minDepthClamp{ minDepthClamp_ } , maxDepthClamp{ maxDepthClamp_ } { } VULKAN_HPP_CONSTEXPR DepthClampRangeEXT( DepthClampRangeEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; DepthClampRangeEXT( VkDepthClampRangeEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DepthClampRangeEXT( *reinterpret_cast<DepthClampRangeEXT const *>( &rhs ) ) {} DepthClampRangeEXT & operator=( DepthClampRangeEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DepthClampRangeEXT & operator=( VkDepthClampRangeEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DepthClampRangeEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DepthClampRangeEXT & setMinDepthClamp( float minDepthClamp_ ) VULKAN_HPP_NOEXCEPT { minDepthClamp = minDepthClamp_; return *this; } VULKAN_HPP_CONSTEXPR_14 DepthClampRangeEXT & setMaxDepthClamp( float maxDepthClamp_ ) VULKAN_HPP_NOEXCEPT { maxDepthClamp = maxDepthClamp_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDepthClampRangeEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDepthClampRangeEXT *>( this ); } operator VkDepthClampRangeEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDepthClampRangeEXT *>( this ); } operator VkDepthClampRangeEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDepthClampRangeEXT *>( this ); } operator VkDepthClampRangeEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDepthClampRangeEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<float const &, float const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( minDepthClamp, maxDepthClamp ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DepthClampRangeEXT const & ) const = default; #else bool operator==( DepthClampRangeEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( minDepthClamp == rhs.minDepthClamp ) && ( maxDepthClamp == rhs.maxDepthClamp ); # endif } bool operator!=( DepthClampRangeEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: float minDepthClamp = {}; float maxDepthClamp = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDepthClampRangeEXT> { using Type = DepthClampRangeEXT; }; #endif // wrapper struct for struct VkDescriptorAddressInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorAddressInfoEXT.html struct DescriptorAddressInfoEXT { using NativeType = VkDescriptorAddressInfoEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDescriptorAddressInfoEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DescriptorAddressInfoEXT( DeviceAddress address_ = {}, DeviceSize range_ = {}, Format format_ = Format::eUndefined, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , address{ address_ } , range{ range_ } , format{ format_ } { } VULKAN_HPP_CONSTEXPR DescriptorAddressInfoEXT( DescriptorAddressInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; DescriptorAddressInfoEXT( VkDescriptorAddressInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DescriptorAddressInfoEXT( *reinterpret_cast<DescriptorAddressInfoEXT const *>( &rhs ) ) { } DescriptorAddressInfoEXT & operator=( DescriptorAddressInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DescriptorAddressInfoEXT & operator=( VkDescriptorAddressInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DescriptorAddressInfoEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DescriptorAddressInfoEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorAddressInfoEXT & setAddress( DeviceAddress address_ ) VULKAN_HPP_NOEXCEPT { address = address_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorAddressInfoEXT & setRange( DeviceSize range_ ) VULKAN_HPP_NOEXCEPT { range = range_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorAddressInfoEXT & setFormat( Format format_ ) VULKAN_HPP_NOEXCEPT { format = format_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDescriptorAddressInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDescriptorAddressInfoEXT *>( this ); } operator VkDescriptorAddressInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDescriptorAddressInfoEXT *>( this ); } operator VkDescriptorAddressInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDescriptorAddressInfoEXT *>( this ); } operator VkDescriptorAddressInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDescriptorAddressInfoEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, DeviceAddress const &, DeviceSize const &, Format const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, address, range, format ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DescriptorAddressInfoEXT const & ) const = default; #else bool operator==( DescriptorAddressInfoEXT 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 ) && ( address == rhs.address ) && ( range == rhs.range ) && ( format == rhs.format ); # endif } bool operator!=( DescriptorAddressInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDescriptorAddressInfoEXT; void * pNext = {}; DeviceAddress address = {}; DeviceSize range = {}; Format format = Format::eUndefined; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDescriptorAddressInfoEXT> { using Type = DescriptorAddressInfoEXT; }; #endif template <> struct CppType<StructureType, StructureType::eDescriptorAddressInfoEXT> { using Type = DescriptorAddressInfoEXT; }; // wrapper struct for struct VkDescriptorBufferBindingInfoEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorBufferBindingInfoEXT.html struct DescriptorBufferBindingInfoEXT { using NativeType = VkDescriptorBufferBindingInfoEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDescriptorBufferBindingInfoEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DescriptorBufferBindingInfoEXT( DeviceAddress address_ = {}, BufferUsageFlags usage_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , address{ address_ } , usage{ usage_ } { } VULKAN_HPP_CONSTEXPR DescriptorBufferBindingInfoEXT( DescriptorBufferBindingInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; DescriptorBufferBindingInfoEXT( VkDescriptorBufferBindingInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DescriptorBufferBindingInfoEXT( *reinterpret_cast<DescriptorBufferBindingInfoEXT const *>( &rhs ) ) { } DescriptorBufferBindingInfoEXT & operator=( DescriptorBufferBindingInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DescriptorBufferBindingInfoEXT & operator=( VkDescriptorBufferBindingInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DescriptorBufferBindingInfoEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DescriptorBufferBindingInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorBufferBindingInfoEXT & setAddress( DeviceAddress address_ ) VULKAN_HPP_NOEXCEPT { address = address_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorBufferBindingInfoEXT & setUsage( BufferUsageFlags usage_ ) VULKAN_HPP_NOEXCEPT { usage = usage_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDescriptorBufferBindingInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDescriptorBufferBindingInfoEXT *>( this ); } operator VkDescriptorBufferBindingInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDescriptorBufferBindingInfoEXT *>( this ); } operator VkDescriptorBufferBindingInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDescriptorBufferBindingInfoEXT *>( this ); } operator VkDescriptorBufferBindingInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDescriptorBufferBindingInfoEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DeviceAddress const &, BufferUsageFlags const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, address, usage ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DescriptorBufferBindingInfoEXT const & ) const = default; #else bool operator==( DescriptorBufferBindingInfoEXT 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 ) && ( address == rhs.address ) && ( usage == rhs.usage ); # endif } bool operator!=( DescriptorBufferBindingInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDescriptorBufferBindingInfoEXT; const void * pNext = {}; DeviceAddress address = {}; BufferUsageFlags usage = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDescriptorBufferBindingInfoEXT> { using Type = DescriptorBufferBindingInfoEXT; }; #endif template <> struct CppType<StructureType, StructureType::eDescriptorBufferBindingInfoEXT> { using Type = DescriptorBufferBindingInfoEXT; }; // wrapper struct for struct VkDescriptorBufferBindingPushDescriptorBufferHandleEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorBufferBindingPushDescriptorBufferHandleEXT.html struct DescriptorBufferBindingPushDescriptorBufferHandleEXT { using NativeType = VkDescriptorBufferBindingPushDescriptorBufferHandleEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDescriptorBufferBindingPushDescriptorBufferHandleEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DescriptorBufferBindingPushDescriptorBufferHandleEXT( Buffer buffer_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , buffer{ buffer_ } { } VULKAN_HPP_CONSTEXPR DescriptorBufferBindingPushDescriptorBufferHandleEXT( DescriptorBufferBindingPushDescriptorBufferHandleEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; DescriptorBufferBindingPushDescriptorBufferHandleEXT( VkDescriptorBufferBindingPushDescriptorBufferHandleEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DescriptorBufferBindingPushDescriptorBufferHandleEXT( *reinterpret_cast<DescriptorBufferBindingPushDescriptorBufferHandleEXT const *>( &rhs ) ) { } DescriptorBufferBindingPushDescriptorBufferHandleEXT & operator=( DescriptorBufferBindingPushDescriptorBufferHandleEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DescriptorBufferBindingPushDescriptorBufferHandleEXT & operator=( VkDescriptorBufferBindingPushDescriptorBufferHandleEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DescriptorBufferBindingPushDescriptorBufferHandleEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DescriptorBufferBindingPushDescriptorBufferHandleEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorBufferBindingPushDescriptorBufferHandleEXT & setBuffer( Buffer buffer_ ) VULKAN_HPP_NOEXCEPT { buffer = buffer_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDescriptorBufferBindingPushDescriptorBufferHandleEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDescriptorBufferBindingPushDescriptorBufferHandleEXT *>( this ); } operator VkDescriptorBufferBindingPushDescriptorBufferHandleEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDescriptorBufferBindingPushDescriptorBufferHandleEXT *>( this ); } operator VkDescriptorBufferBindingPushDescriptorBufferHandleEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDescriptorBufferBindingPushDescriptorBufferHandleEXT *>( this ); } operator VkDescriptorBufferBindingPushDescriptorBufferHandleEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDescriptorBufferBindingPushDescriptorBufferHandleEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Buffer const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, buffer ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DescriptorBufferBindingPushDescriptorBufferHandleEXT const & ) const = default; #else bool operator==( DescriptorBufferBindingPushDescriptorBufferHandleEXT 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 ) && ( buffer == rhs.buffer ); # endif } bool operator!=( DescriptorBufferBindingPushDescriptorBufferHandleEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDescriptorBufferBindingPushDescriptorBufferHandleEXT; const void * pNext = {}; Buffer buffer = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDescriptorBufferBindingPushDescriptorBufferHandleEXT> { using Type = DescriptorBufferBindingPushDescriptorBufferHandleEXT; }; #endif template <> struct CppType<StructureType, StructureType::eDescriptorBufferBindingPushDescriptorBufferHandleEXT> { using Type = DescriptorBufferBindingPushDescriptorBufferHandleEXT; }; // wrapper struct for struct VkDescriptorBufferInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorBufferInfo.html struct DescriptorBufferInfo { using NativeType = VkDescriptorBufferInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DescriptorBufferInfo( Buffer buffer_ = {}, DeviceSize offset_ = {}, DeviceSize range_ = {} ) VULKAN_HPP_NOEXCEPT : buffer{ buffer_ } , offset{ offset_ } , range{ range_ } { } VULKAN_HPP_CONSTEXPR DescriptorBufferInfo( DescriptorBufferInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; DescriptorBufferInfo( VkDescriptorBufferInfo const & rhs ) VULKAN_HPP_NOEXCEPT : DescriptorBufferInfo( *reinterpret_cast<DescriptorBufferInfo const *>( &rhs ) ) { } DescriptorBufferInfo & operator=( DescriptorBufferInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DescriptorBufferInfo & operator=( VkDescriptorBufferInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DescriptorBufferInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DescriptorBufferInfo & setBuffer( Buffer buffer_ ) VULKAN_HPP_NOEXCEPT { buffer = buffer_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorBufferInfo & setOffset( DeviceSize offset_ ) VULKAN_HPP_NOEXCEPT { offset = offset_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorBufferInfo & setRange( DeviceSize range_ ) VULKAN_HPP_NOEXCEPT { range = range_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDescriptorBufferInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDescriptorBufferInfo *>( this ); } operator VkDescriptorBufferInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDescriptorBufferInfo *>( this ); } operator VkDescriptorBufferInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDescriptorBufferInfo *>( this ); } operator VkDescriptorBufferInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDescriptorBufferInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<Buffer const &, DeviceSize const &, DeviceSize const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( buffer, offset, range ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DescriptorBufferInfo const & ) const = default; #else bool operator==( DescriptorBufferInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( buffer == rhs.buffer ) && ( offset == rhs.offset ) && ( range == rhs.range ); # endif } bool operator!=( DescriptorBufferInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: Buffer buffer = {}; DeviceSize offset = {}; DeviceSize range = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDescriptorBufferInfo> { using Type = DescriptorBufferInfo; }; #endif // wrapper struct for struct VkDescriptorImageInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorImageInfo.html struct DescriptorImageInfo { using NativeType = VkDescriptorImageInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DescriptorImageInfo( Sampler sampler_ = {}, ImageView imageView_ = {}, ImageLayout imageLayout_ = ImageLayout::eUndefined ) VULKAN_HPP_NOEXCEPT : sampler{ sampler_ } , imageView{ imageView_ } , imageLayout{ imageLayout_ } { } VULKAN_HPP_CONSTEXPR DescriptorImageInfo( DescriptorImageInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; DescriptorImageInfo( VkDescriptorImageInfo const & rhs ) VULKAN_HPP_NOEXCEPT : DescriptorImageInfo( *reinterpret_cast<DescriptorImageInfo const *>( &rhs ) ) { } DescriptorImageInfo & operator=( DescriptorImageInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DescriptorImageInfo & operator=( VkDescriptorImageInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DescriptorImageInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DescriptorImageInfo & setSampler( Sampler sampler_ ) VULKAN_HPP_NOEXCEPT { sampler = sampler_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorImageInfo & setImageView( ImageView imageView_ ) VULKAN_HPP_NOEXCEPT { imageView = imageView_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorImageInfo & setImageLayout( ImageLayout imageLayout_ ) VULKAN_HPP_NOEXCEPT { imageLayout = imageLayout_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDescriptorImageInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDescriptorImageInfo *>( this ); } operator VkDescriptorImageInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDescriptorImageInfo *>( this ); } operator VkDescriptorImageInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDescriptorImageInfo *>( this ); } operator VkDescriptorImageInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDescriptorImageInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<Sampler const &, ImageView const &, ImageLayout const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sampler, imageView, imageLayout ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DescriptorImageInfo const & ) const = default; #else bool operator==( DescriptorImageInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( sampler == rhs.sampler ) && ( imageView == rhs.imageView ) && ( imageLayout == rhs.imageLayout ); # endif } bool operator!=( DescriptorImageInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: Sampler sampler = {}; ImageView imageView = {}; ImageLayout imageLayout = ImageLayout::eUndefined; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDescriptorImageInfo> { using Type = DescriptorImageInfo; }; #endif union DescriptorDataEXT { using NativeType = VkDescriptorDataEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_UNION_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT( const Sampler * pSampler_ = {} ) : pSampler( pSampler_ ) {} VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT( const DescriptorImageInfo * pDescriptorImageInfo_ ) : pCombinedImageSampler( pDescriptorImageInfo_ ) {} VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT( const DescriptorAddressInfoEXT * pDescriptorAddressInfoEXT_ ) : pUniformTexelBuffer( pDescriptorAddressInfoEXT_ ) { } VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT( DeviceAddress accelerationStructure_ ) : accelerationStructure( accelerationStructure_ ) {} #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_UNION_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT & setPSampler( const Sampler * pSampler_ ) VULKAN_HPP_NOEXCEPT { pSampler = pSampler_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT & setPCombinedImageSampler( const DescriptorImageInfo * pCombinedImageSampler_ ) VULKAN_HPP_NOEXCEPT { pCombinedImageSampler = pCombinedImageSampler_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT & setPInputAttachmentImage( const DescriptorImageInfo * pInputAttachmentImage_ ) VULKAN_HPP_NOEXCEPT { pInputAttachmentImage = pInputAttachmentImage_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT & setPSampledImage( const DescriptorImageInfo * pSampledImage_ ) VULKAN_HPP_NOEXCEPT { pSampledImage = pSampledImage_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT & setPStorageImage( const DescriptorImageInfo * pStorageImage_ ) VULKAN_HPP_NOEXCEPT { pStorageImage = pStorageImage_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT & setPUniformTexelBuffer( const DescriptorAddressInfoEXT * pUniformTexelBuffer_ ) VULKAN_HPP_NOEXCEPT { pUniformTexelBuffer = pUniformTexelBuffer_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT & setPStorageTexelBuffer( const DescriptorAddressInfoEXT * pStorageTexelBuffer_ ) VULKAN_HPP_NOEXCEPT { pStorageTexelBuffer = pStorageTexelBuffer_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT & setPUniformBuffer( const DescriptorAddressInfoEXT * pUniformBuffer_ ) VULKAN_HPP_NOEXCEPT { pUniformBuffer = pUniformBuffer_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT & setPStorageBuffer( const DescriptorAddressInfoEXT * pStorageBuffer_ ) VULKAN_HPP_NOEXCEPT { pStorageBuffer = pStorageBuffer_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT & setAccelerationStructure( DeviceAddress accelerationStructure_ ) VULKAN_HPP_NOEXCEPT { accelerationStructure = accelerationStructure_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDescriptorDataEXT const &() const { return *reinterpret_cast<const VkDescriptorDataEXT *>( this ); } operator VkDescriptorDataEXT &() { return *reinterpret_cast<VkDescriptorDataEXT *>( this ); } #ifdef VULKAN_HPP_HAS_UNRESTRICTED_UNIONS const Sampler * pSampler; const DescriptorImageInfo * pCombinedImageSampler; const DescriptorImageInfo * pInputAttachmentImage; const DescriptorImageInfo * pSampledImage; const DescriptorImageInfo * pStorageImage; const DescriptorAddressInfoEXT * pUniformTexelBuffer; const DescriptorAddressInfoEXT * pStorageTexelBuffer; const DescriptorAddressInfoEXT * pUniformBuffer; const DescriptorAddressInfoEXT * pStorageBuffer; DeviceAddress accelerationStructure; #else const VkSampler * pSampler; const VkDescriptorImageInfo * pCombinedImageSampler; const VkDescriptorImageInfo * pInputAttachmentImage; const VkDescriptorImageInfo * pSampledImage; const VkDescriptorImageInfo * pStorageImage; const VkDescriptorAddressInfoEXT * pUniformTexelBuffer; const VkDescriptorAddressInfoEXT * pStorageTexelBuffer; const VkDescriptorAddressInfoEXT * pUniformBuffer; const VkDescriptorAddressInfoEXT * pStorageBuffer; VkDeviceAddress accelerationStructure; #endif /*VULKAN_HPP_HAS_UNRESTRICTED_UNIONS*/ }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDescriptorDataEXT> { using Type = DescriptorDataEXT; }; #endif // wrapper struct for struct VkDescriptorGetInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorGetInfoEXT.html struct DescriptorGetInfoEXT { using NativeType = VkDescriptorGetInfoEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDescriptorGetInfoEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 DescriptorGetInfoEXT( DescriptorType type_ = DescriptorType::eSampler, DescriptorDataEXT data_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , type{ type_ } , data{ data_ } { } VULKAN_HPP_CONSTEXPR_14 DescriptorGetInfoEXT( DescriptorGetInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; DescriptorGetInfoEXT( VkDescriptorGetInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DescriptorGetInfoEXT( *reinterpret_cast<DescriptorGetInfoEXT const *>( &rhs ) ) { } DescriptorGetInfoEXT & operator=( DescriptorGetInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DescriptorGetInfoEXT & operator=( VkDescriptorGetInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DescriptorGetInfoEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DescriptorGetInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorGetInfoEXT & setType( DescriptorType type_ ) VULKAN_HPP_NOEXCEPT { type = type_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorGetInfoEXT & setData( DescriptorDataEXT const & data_ ) VULKAN_HPP_NOEXCEPT { data = data_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDescriptorGetInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDescriptorGetInfoEXT *>( this ); } operator VkDescriptorGetInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDescriptorGetInfoEXT *>( this ); } operator VkDescriptorGetInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDescriptorGetInfoEXT *>( this ); } operator VkDescriptorGetInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDescriptorGetInfoEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DescriptorType const &, DescriptorDataEXT const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, type, data ); } #endif public: StructureType sType = StructureType::eDescriptorGetInfoEXT; const void * pNext = {}; DescriptorType type = DescriptorType::eSampler; DescriptorDataEXT data = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDescriptorGetInfoEXT> { using Type = DescriptorGetInfoEXT; }; #endif template <> struct CppType<StructureType, StructureType::eDescriptorGetInfoEXT> { using Type = DescriptorGetInfoEXT; }; // wrapper struct for struct VkDescriptorGetTensorInfoARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorGetTensorInfoARM.html struct DescriptorGetTensorInfoARM { using NativeType = VkDescriptorGetTensorInfoARM; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDescriptorGetTensorInfoARM; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DescriptorGetTensorInfoARM( TensorViewARM tensorView_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , tensorView{ tensorView_ } { } VULKAN_HPP_CONSTEXPR DescriptorGetTensorInfoARM( DescriptorGetTensorInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; DescriptorGetTensorInfoARM( VkDescriptorGetTensorInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT : DescriptorGetTensorInfoARM( *reinterpret_cast<DescriptorGetTensorInfoARM const *>( &rhs ) ) { } DescriptorGetTensorInfoARM & operator=( DescriptorGetTensorInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DescriptorGetTensorInfoARM & operator=( VkDescriptorGetTensorInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DescriptorGetTensorInfoARM const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DescriptorGetTensorInfoARM & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorGetTensorInfoARM & setTensorView( TensorViewARM tensorView_ ) VULKAN_HPP_NOEXCEPT { tensorView = tensorView_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDescriptorGetTensorInfoARM const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDescriptorGetTensorInfoARM *>( this ); } operator VkDescriptorGetTensorInfoARM &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDescriptorGetTensorInfoARM *>( this ); } operator VkDescriptorGetTensorInfoARM const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDescriptorGetTensorInfoARM *>( this ); } operator VkDescriptorGetTensorInfoARM *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDescriptorGetTensorInfoARM *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, TensorViewARM const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, tensorView ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DescriptorGetTensorInfoARM const & ) const = default; #else bool operator==( DescriptorGetTensorInfoARM 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 ) && ( tensorView == rhs.tensorView ); # endif } bool operator!=( DescriptorGetTensorInfoARM const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDescriptorGetTensorInfoARM; const void * pNext = {}; TensorViewARM tensorView = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDescriptorGetTensorInfoARM> { using Type = DescriptorGetTensorInfoARM; }; #endif template <> struct CppType<StructureType, StructureType::eDescriptorGetTensorInfoARM> { using Type = DescriptorGetTensorInfoARM; }; // wrapper struct for struct VkDescriptorPoolSize, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorPoolSize.html struct DescriptorPoolSize { using NativeType = VkDescriptorPoolSize; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DescriptorPoolSize( DescriptorType type_ = DescriptorType::eSampler, uint32_t descriptorCount_ = {} ) VULKAN_HPP_NOEXCEPT : type{ type_ } , descriptorCount{ descriptorCount_ } { } VULKAN_HPP_CONSTEXPR DescriptorPoolSize( DescriptorPoolSize const & rhs ) VULKAN_HPP_NOEXCEPT = default; DescriptorPoolSize( VkDescriptorPoolSize const & rhs ) VULKAN_HPP_NOEXCEPT : DescriptorPoolSize( *reinterpret_cast<DescriptorPoolSize const *>( &rhs ) ) {} DescriptorPoolSize & operator=( DescriptorPoolSize const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DescriptorPoolSize & operator=( VkDescriptorPoolSize const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DescriptorPoolSize const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DescriptorPoolSize & setType( DescriptorType type_ ) VULKAN_HPP_NOEXCEPT { type = type_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorPoolSize & setDescriptorCount( uint32_t descriptorCount_ ) VULKAN_HPP_NOEXCEPT { descriptorCount = descriptorCount_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDescriptorPoolSize const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDescriptorPoolSize *>( this ); } operator VkDescriptorPoolSize &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDescriptorPoolSize *>( this ); } operator VkDescriptorPoolSize const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDescriptorPoolSize *>( this ); } operator VkDescriptorPoolSize *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDescriptorPoolSize *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<DescriptorType const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( type, descriptorCount ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DescriptorPoolSize const & ) const = default; #else bool operator==( DescriptorPoolSize const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( type == rhs.type ) && ( descriptorCount == rhs.descriptorCount ); # endif } bool operator!=( DescriptorPoolSize const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: DescriptorType type = DescriptorType::eSampler; uint32_t descriptorCount = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDescriptorPoolSize> { using Type = DescriptorPoolSize; }; #endif // wrapper struct for struct VkDescriptorPoolCreateInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorPoolCreateInfo.html struct DescriptorPoolCreateInfo { using NativeType = VkDescriptorPoolCreateInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDescriptorPoolCreateInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DescriptorPoolCreateInfo( DescriptorPoolCreateFlags flags_ = {}, uint32_t maxSets_ = {}, uint32_t poolSizeCount_ = {}, const DescriptorPoolSize * pPoolSizes_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , maxSets{ maxSets_ } , poolSizeCount{ poolSizeCount_ } , pPoolSizes{ pPoolSizes_ } { } VULKAN_HPP_CONSTEXPR DescriptorPoolCreateInfo( DescriptorPoolCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; DescriptorPoolCreateInfo( VkDescriptorPoolCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : DescriptorPoolCreateInfo( *reinterpret_cast<DescriptorPoolCreateInfo const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DescriptorPoolCreateInfo( DescriptorPoolCreateFlags flags_, uint32_t maxSets_, ArrayProxyNoTemporaries<const DescriptorPoolSize> const & poolSizes_, const void * pNext_ = nullptr ) : pNext( pNext_ ), flags( flags_ ), maxSets( maxSets_ ), poolSizeCount( static_cast<uint32_t>( poolSizes_.size() ) ), pPoolSizes( poolSizes_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ DescriptorPoolCreateInfo & operator=( DescriptorPoolCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DescriptorPoolCreateInfo & operator=( VkDescriptorPoolCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DescriptorPoolCreateInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DescriptorPoolCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorPoolCreateInfo & setFlags( DescriptorPoolCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorPoolCreateInfo & setMaxSets( uint32_t maxSets_ ) VULKAN_HPP_NOEXCEPT { maxSets = maxSets_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorPoolCreateInfo & setPoolSizeCount( uint32_t poolSizeCount_ ) VULKAN_HPP_NOEXCEPT { poolSizeCount = poolSizeCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorPoolCreateInfo & setPPoolSizes( const DescriptorPoolSize * pPoolSizes_ ) VULKAN_HPP_NOEXCEPT { pPoolSizes = pPoolSizes_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DescriptorPoolCreateInfo & setPoolSizes( ArrayProxyNoTemporaries<const DescriptorPoolSize> const & poolSizes_ ) VULKAN_HPP_NOEXCEPT { poolSizeCount = static_cast<uint32_t>( poolSizes_.size() ); pPoolSizes = poolSizes_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDescriptorPoolCreateInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDescriptorPoolCreateInfo *>( this ); } operator VkDescriptorPoolCreateInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDescriptorPoolCreateInfo *>( this ); } operator VkDescriptorPoolCreateInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDescriptorPoolCreateInfo *>( this ); } operator VkDescriptorPoolCreateInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDescriptorPoolCreateInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DescriptorPoolCreateFlags const &, uint32_t const &, uint32_t const &, const DescriptorPoolSize * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, maxSets, poolSizeCount, pPoolSizes ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DescriptorPoolCreateInfo const & ) const = default; #else bool operator==( DescriptorPoolCreateInfo 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 ) && ( flags == rhs.flags ) && ( maxSets == rhs.maxSets ) && ( poolSizeCount == rhs.poolSizeCount ) && ( pPoolSizes == rhs.pPoolSizes ); # endif } bool operator!=( DescriptorPoolCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDescriptorPoolCreateInfo; const void * pNext = {}; DescriptorPoolCreateFlags flags = {}; uint32_t maxSets = {}; uint32_t poolSizeCount = {}; const DescriptorPoolSize * pPoolSizes = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDescriptorPoolCreateInfo> { using Type = DescriptorPoolCreateInfo; }; #endif template <> struct CppType<StructureType, StructureType::eDescriptorPoolCreateInfo> { using Type = DescriptorPoolCreateInfo; }; // wrapper struct for struct VkDescriptorPoolInlineUniformBlockCreateInfo, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorPoolInlineUniformBlockCreateInfo.html struct DescriptorPoolInlineUniformBlockCreateInfo { using NativeType = VkDescriptorPoolInlineUniformBlockCreateInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDescriptorPoolInlineUniformBlockCreateInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DescriptorPoolInlineUniformBlockCreateInfo( uint32_t maxInlineUniformBlockBindings_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , maxInlineUniformBlockBindings{ maxInlineUniformBlockBindings_ } { } VULKAN_HPP_CONSTEXPR DescriptorPoolInlineUniformBlockCreateInfo( DescriptorPoolInlineUniformBlockCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; DescriptorPoolInlineUniformBlockCreateInfo( VkDescriptorPoolInlineUniformBlockCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : DescriptorPoolInlineUniformBlockCreateInfo( *reinterpret_cast<DescriptorPoolInlineUniformBlockCreateInfo const *>( &rhs ) ) { } DescriptorPoolInlineUniformBlockCreateInfo & operator=( DescriptorPoolInlineUniformBlockCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DescriptorPoolInlineUniformBlockCreateInfo & operator=( VkDescriptorPoolInlineUniformBlockCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DescriptorPoolInlineUniformBlockCreateInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DescriptorPoolInlineUniformBlockCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorPoolInlineUniformBlockCreateInfo & setMaxInlineUniformBlockBindings( uint32_t maxInlineUniformBlockBindings_ ) VULKAN_HPP_NOEXCEPT { maxInlineUniformBlockBindings = maxInlineUniformBlockBindings_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDescriptorPoolInlineUniformBlockCreateInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDescriptorPoolInlineUniformBlockCreateInfo *>( this ); } operator VkDescriptorPoolInlineUniformBlockCreateInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDescriptorPoolInlineUniformBlockCreateInfo *>( this ); } operator VkDescriptorPoolInlineUniformBlockCreateInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDescriptorPoolInlineUniformBlockCreateInfo *>( this ); } operator VkDescriptorPoolInlineUniformBlockCreateInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDescriptorPoolInlineUniformBlockCreateInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, maxInlineUniformBlockBindings ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DescriptorPoolInlineUniformBlockCreateInfo const & ) const = default; #else bool operator==( DescriptorPoolInlineUniformBlockCreateInfo 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 ) && ( maxInlineUniformBlockBindings == rhs.maxInlineUniformBlockBindings ); # endif } bool operator!=( DescriptorPoolInlineUniformBlockCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDescriptorPoolInlineUniformBlockCreateInfo; const void * pNext = {}; uint32_t maxInlineUniformBlockBindings = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDescriptorPoolInlineUniformBlockCreateInfo> { using Type = DescriptorPoolInlineUniformBlockCreateInfo; }; #endif template <> struct CppType<StructureType, StructureType::eDescriptorPoolInlineUniformBlockCreateInfo> { using Type = DescriptorPoolInlineUniformBlockCreateInfo; }; using DescriptorPoolInlineUniformBlockCreateInfoEXT = DescriptorPoolInlineUniformBlockCreateInfo; // wrapper struct for struct VkDescriptorSetAllocateInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorSetAllocateInfo.html struct DescriptorSetAllocateInfo { using NativeType = VkDescriptorSetAllocateInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDescriptorSetAllocateInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DescriptorSetAllocateInfo( DescriptorPool descriptorPool_ = {}, uint32_t descriptorSetCount_ = {}, const DescriptorSetLayout * pSetLayouts_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , descriptorPool{ descriptorPool_ } , descriptorSetCount{ descriptorSetCount_ } , pSetLayouts{ pSetLayouts_ } { } VULKAN_HPP_CONSTEXPR DescriptorSetAllocateInfo( DescriptorSetAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; DescriptorSetAllocateInfo( VkDescriptorSetAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : DescriptorSetAllocateInfo( *reinterpret_cast<DescriptorSetAllocateInfo const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DescriptorSetAllocateInfo( DescriptorPool descriptorPool_, ArrayProxyNoTemporaries<const DescriptorSetLayout> const & setLayouts_, const void * pNext_ = nullptr ) : pNext( pNext_ ), descriptorPool( descriptorPool_ ), descriptorSetCount( static_cast<uint32_t>( setLayouts_.size() ) ), pSetLayouts( setLayouts_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ DescriptorSetAllocateInfo & operator=( DescriptorSetAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DescriptorSetAllocateInfo & operator=( VkDescriptorSetAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DescriptorSetAllocateInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DescriptorSetAllocateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorSetAllocateInfo & setDescriptorPool( DescriptorPool descriptorPool_ ) VULKAN_HPP_NOEXCEPT { descriptorPool = descriptorPool_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorSetAllocateInfo & setDescriptorSetCount( uint32_t descriptorSetCount_ ) VULKAN_HPP_NOEXCEPT { descriptorSetCount = descriptorSetCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorSetAllocateInfo & setPSetLayouts( const DescriptorSetLayout * pSetLayouts_ ) VULKAN_HPP_NOEXCEPT { pSetLayouts = pSetLayouts_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DescriptorSetAllocateInfo & setSetLayouts( ArrayProxyNoTemporaries<const DescriptorSetLayout> const & setLayouts_ ) VULKAN_HPP_NOEXCEPT { descriptorSetCount = static_cast<uint32_t>( setLayouts_.size() ); pSetLayouts = setLayouts_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDescriptorSetAllocateInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDescriptorSetAllocateInfo *>( this ); } operator VkDescriptorSetAllocateInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDescriptorSetAllocateInfo *>( this ); } operator VkDescriptorSetAllocateInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDescriptorSetAllocateInfo *>( this ); } operator VkDescriptorSetAllocateInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDescriptorSetAllocateInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DescriptorPool const &, uint32_t const &, const DescriptorSetLayout * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, descriptorPool, descriptorSetCount, pSetLayouts ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DescriptorSetAllocateInfo const & ) const = default; #else bool operator==( DescriptorSetAllocateInfo 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 ) && ( descriptorPool == rhs.descriptorPool ) && ( descriptorSetCount == rhs.descriptorSetCount ) && ( pSetLayouts == rhs.pSetLayouts ); # endif } bool operator!=( DescriptorSetAllocateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDescriptorSetAllocateInfo; const void * pNext = {}; DescriptorPool descriptorPool = {}; uint32_t descriptorSetCount = {}; const DescriptorSetLayout * pSetLayouts = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDescriptorSetAllocateInfo> { using Type = DescriptorSetAllocateInfo; }; #endif template <> struct CppType<StructureType, StructureType::eDescriptorSetAllocateInfo> { using Type = DescriptorSetAllocateInfo; }; // wrapper struct for struct VkDescriptorSetBindingReferenceVALVE, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorSetBindingReferenceVALVE.html struct DescriptorSetBindingReferenceVALVE { using NativeType = VkDescriptorSetBindingReferenceVALVE; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDescriptorSetBindingReferenceVALVE; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DescriptorSetBindingReferenceVALVE( DescriptorSetLayout descriptorSetLayout_ = {}, uint32_t binding_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , descriptorSetLayout{ descriptorSetLayout_ } , binding{ binding_ } { } VULKAN_HPP_CONSTEXPR DescriptorSetBindingReferenceVALVE( DescriptorSetBindingReferenceVALVE const & rhs ) VULKAN_HPP_NOEXCEPT = default; DescriptorSetBindingReferenceVALVE( VkDescriptorSetBindingReferenceVALVE const & rhs ) VULKAN_HPP_NOEXCEPT : DescriptorSetBindingReferenceVALVE( *reinterpret_cast<DescriptorSetBindingReferenceVALVE const *>( &rhs ) ) { } DescriptorSetBindingReferenceVALVE & operator=( DescriptorSetBindingReferenceVALVE const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DescriptorSetBindingReferenceVALVE & operator=( VkDescriptorSetBindingReferenceVALVE const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DescriptorSetBindingReferenceVALVE const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DescriptorSetBindingReferenceVALVE & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorSetBindingReferenceVALVE & setDescriptorSetLayout( DescriptorSetLayout descriptorSetLayout_ ) VULKAN_HPP_NOEXCEPT { descriptorSetLayout = descriptorSetLayout_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorSetBindingReferenceVALVE & setBinding( uint32_t binding_ ) VULKAN_HPP_NOEXCEPT { binding = binding_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDescriptorSetBindingReferenceVALVE const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDescriptorSetBindingReferenceVALVE *>( this ); } operator VkDescriptorSetBindingReferenceVALVE &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDescriptorSetBindingReferenceVALVE *>( this ); } operator VkDescriptorSetBindingReferenceVALVE const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDescriptorSetBindingReferenceVALVE *>( this ); } operator VkDescriptorSetBindingReferenceVALVE *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDescriptorSetBindingReferenceVALVE *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DescriptorSetLayout const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, descriptorSetLayout, binding ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DescriptorSetBindingReferenceVALVE const & ) const = default; #else bool operator==( DescriptorSetBindingReferenceVALVE 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 ) && ( descriptorSetLayout == rhs.descriptorSetLayout ) && ( binding == rhs.binding ); # endif } bool operator!=( DescriptorSetBindingReferenceVALVE const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDescriptorSetBindingReferenceVALVE; const void * pNext = {}; DescriptorSetLayout descriptorSetLayout = {}; uint32_t binding = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDescriptorSetBindingReferenceVALVE> { using Type = DescriptorSetBindingReferenceVALVE; }; #endif template <> struct CppType<StructureType, StructureType::eDescriptorSetBindingReferenceVALVE> { using Type = DescriptorSetBindingReferenceVALVE; }; // wrapper struct for struct VkDescriptorSetLayoutBinding, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorSetLayoutBinding.html struct DescriptorSetLayoutBinding { using NativeType = VkDescriptorSetLayoutBinding; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DescriptorSetLayoutBinding( uint32_t binding_ = {}, DescriptorType descriptorType_ = DescriptorType::eSampler, uint32_t descriptorCount_ = {}, ShaderStageFlags stageFlags_ = {}, const Sampler * pImmutableSamplers_ = {} ) VULKAN_HPP_NOEXCEPT : binding{ binding_ } , descriptorType{ descriptorType_ } , descriptorCount{ descriptorCount_ } , stageFlags{ stageFlags_ } , pImmutableSamplers{ pImmutableSamplers_ } { } VULKAN_HPP_CONSTEXPR DescriptorSetLayoutBinding( DescriptorSetLayoutBinding const & rhs ) VULKAN_HPP_NOEXCEPT = default; DescriptorSetLayoutBinding( VkDescriptorSetLayoutBinding const & rhs ) VULKAN_HPP_NOEXCEPT : DescriptorSetLayoutBinding( *reinterpret_cast<DescriptorSetLayoutBinding const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DescriptorSetLayoutBinding( uint32_t binding_, DescriptorType descriptorType_, ShaderStageFlags stageFlags_, ArrayProxyNoTemporaries<const Sampler> const & immutableSamplers_ ) : binding( binding_ ) , descriptorType( descriptorType_ ) , descriptorCount( static_cast<uint32_t>( immutableSamplers_.size() ) ) , stageFlags( stageFlags_ ) , pImmutableSamplers( immutableSamplers_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ DescriptorSetLayoutBinding & operator=( DescriptorSetLayoutBinding const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DescriptorSetLayoutBinding & operator=( VkDescriptorSetLayoutBinding const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DescriptorSetLayoutBinding const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DescriptorSetLayoutBinding & setBinding( uint32_t binding_ ) VULKAN_HPP_NOEXCEPT { binding = binding_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorSetLayoutBinding & setDescriptorType( DescriptorType descriptorType_ ) VULKAN_HPP_NOEXCEPT { descriptorType = descriptorType_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorSetLayoutBinding & setDescriptorCount( uint32_t descriptorCount_ ) VULKAN_HPP_NOEXCEPT { descriptorCount = descriptorCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorSetLayoutBinding & setStageFlags( ShaderStageFlags stageFlags_ ) VULKAN_HPP_NOEXCEPT { stageFlags = stageFlags_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorSetLayoutBinding & setPImmutableSamplers( const Sampler * pImmutableSamplers_ ) VULKAN_HPP_NOEXCEPT { pImmutableSamplers = pImmutableSamplers_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DescriptorSetLayoutBinding & setImmutableSamplers( ArrayProxyNoTemporaries<const Sampler> const & immutableSamplers_ ) VULKAN_HPP_NOEXCEPT { descriptorCount = static_cast<uint32_t>( immutableSamplers_.size() ); pImmutableSamplers = immutableSamplers_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDescriptorSetLayoutBinding const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDescriptorSetLayoutBinding *>( this ); } operator VkDescriptorSetLayoutBinding &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDescriptorSetLayoutBinding *>( this ); } operator VkDescriptorSetLayoutBinding const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDescriptorSetLayoutBinding *>( this ); } operator VkDescriptorSetLayoutBinding *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDescriptorSetLayoutBinding *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<uint32_t const &, DescriptorType const &, uint32_t const &, ShaderStageFlags const &, const Sampler * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( binding, descriptorType, descriptorCount, stageFlags, pImmutableSamplers ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DescriptorSetLayoutBinding const & ) const = default; #else bool operator==( DescriptorSetLayoutBinding const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( binding == rhs.binding ) && ( descriptorType == rhs.descriptorType ) && ( descriptorCount == rhs.descriptorCount ) && ( stageFlags == rhs.stageFlags ) && ( pImmutableSamplers == rhs.pImmutableSamplers ); # endif } bool operator!=( DescriptorSetLayoutBinding const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: uint32_t binding = {}; DescriptorType descriptorType = DescriptorType::eSampler; uint32_t descriptorCount = {}; ShaderStageFlags stageFlags = {}; const Sampler * pImmutableSamplers = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDescriptorSetLayoutBinding> { using Type = DescriptorSetLayoutBinding; }; #endif // wrapper struct for struct VkDescriptorSetLayoutBindingFlagsCreateInfo, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorSetLayoutBindingFlagsCreateInfo.html struct DescriptorSetLayoutBindingFlagsCreateInfo { using NativeType = VkDescriptorSetLayoutBindingFlagsCreateInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDescriptorSetLayoutBindingFlagsCreateInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DescriptorSetLayoutBindingFlagsCreateInfo( uint32_t bindingCount_ = {}, const DescriptorBindingFlags * pBindingFlags_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , bindingCount{ bindingCount_ } , pBindingFlags{ pBindingFlags_ } { } VULKAN_HPP_CONSTEXPR DescriptorSetLayoutBindingFlagsCreateInfo( DescriptorSetLayoutBindingFlagsCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; DescriptorSetLayoutBindingFlagsCreateInfo( VkDescriptorSetLayoutBindingFlagsCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : DescriptorSetLayoutBindingFlagsCreateInfo( *reinterpret_cast<DescriptorSetLayoutBindingFlagsCreateInfo const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DescriptorSetLayoutBindingFlagsCreateInfo( ArrayProxyNoTemporaries<const DescriptorBindingFlags> const & bindingFlags_, const void * pNext_ = nullptr ) : pNext( pNext_ ), bindingCount( static_cast<uint32_t>( bindingFlags_.size() ) ), pBindingFlags( bindingFlags_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ DescriptorSetLayoutBindingFlagsCreateInfo & operator=( DescriptorSetLayoutBindingFlagsCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DescriptorSetLayoutBindingFlagsCreateInfo & operator=( VkDescriptorSetLayoutBindingFlagsCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DescriptorSetLayoutBindingFlagsCreateInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DescriptorSetLayoutBindingFlagsCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorSetLayoutBindingFlagsCreateInfo & setBindingCount( uint32_t bindingCount_ ) VULKAN_HPP_NOEXCEPT { bindingCount = bindingCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorSetLayoutBindingFlagsCreateInfo & setPBindingFlags( const DescriptorBindingFlags * pBindingFlags_ ) VULKAN_HPP_NOEXCEPT { pBindingFlags = pBindingFlags_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DescriptorSetLayoutBindingFlagsCreateInfo & setBindingFlags( ArrayProxyNoTemporaries<const DescriptorBindingFlags> const & bindingFlags_ ) VULKAN_HPP_NOEXCEPT { bindingCount = static_cast<uint32_t>( bindingFlags_.size() ); pBindingFlags = bindingFlags_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDescriptorSetLayoutBindingFlagsCreateInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDescriptorSetLayoutBindingFlagsCreateInfo *>( this ); } operator VkDescriptorSetLayoutBindingFlagsCreateInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDescriptorSetLayoutBindingFlagsCreateInfo *>( this ); } operator VkDescriptorSetLayoutBindingFlagsCreateInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDescriptorSetLayoutBindingFlagsCreateInfo *>( this ); } operator VkDescriptorSetLayoutBindingFlagsCreateInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDescriptorSetLayoutBindingFlagsCreateInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, uint32_t const &, const DescriptorBindingFlags * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, bindingCount, pBindingFlags ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DescriptorSetLayoutBindingFlagsCreateInfo const & ) const = default; #else bool operator==( DescriptorSetLayoutBindingFlagsCreateInfo 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 ) && ( bindingCount == rhs.bindingCount ) && ( pBindingFlags == rhs.pBindingFlags ); # endif } bool operator!=( DescriptorSetLayoutBindingFlagsCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDescriptorSetLayoutBindingFlagsCreateInfo; const void * pNext = {}; uint32_t bindingCount = {}; const DescriptorBindingFlags * pBindingFlags = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDescriptorSetLayoutBindingFlagsCreateInfo> { using Type = DescriptorSetLayoutBindingFlagsCreateInfo; }; #endif template <> struct CppType<StructureType, StructureType::eDescriptorSetLayoutBindingFlagsCreateInfo> { using Type = DescriptorSetLayoutBindingFlagsCreateInfo; }; using DescriptorSetLayoutBindingFlagsCreateInfoEXT = DescriptorSetLayoutBindingFlagsCreateInfo; // wrapper struct for struct VkDescriptorSetLayoutCreateInfo, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorSetLayoutCreateInfo.html struct DescriptorSetLayoutCreateInfo { using NativeType = VkDescriptorSetLayoutCreateInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDescriptorSetLayoutCreateInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DescriptorSetLayoutCreateInfo( DescriptorSetLayoutCreateFlags flags_ = {}, uint32_t bindingCount_ = {}, const DescriptorSetLayoutBinding * pBindings_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , bindingCount{ bindingCount_ } , pBindings{ pBindings_ } { } VULKAN_HPP_CONSTEXPR DescriptorSetLayoutCreateInfo( DescriptorSetLayoutCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; DescriptorSetLayoutCreateInfo( VkDescriptorSetLayoutCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : DescriptorSetLayoutCreateInfo( *reinterpret_cast<DescriptorSetLayoutCreateInfo const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DescriptorSetLayoutCreateInfo( DescriptorSetLayoutCreateFlags flags_, ArrayProxyNoTemporaries<const DescriptorSetLayoutBinding> const & bindings_, const void * pNext_ = nullptr ) : pNext( pNext_ ), flags( flags_ ), bindingCount( static_cast<uint32_t>( bindings_.size() ) ), pBindings( bindings_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ DescriptorSetLayoutCreateInfo & operator=( DescriptorSetLayoutCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DescriptorSetLayoutCreateInfo & operator=( VkDescriptorSetLayoutCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DescriptorSetLayoutCreateInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DescriptorSetLayoutCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorSetLayoutCreateInfo & setFlags( DescriptorSetLayoutCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorSetLayoutCreateInfo & setBindingCount( uint32_t bindingCount_ ) VULKAN_HPP_NOEXCEPT { bindingCount = bindingCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorSetLayoutCreateInfo & setPBindings( const DescriptorSetLayoutBinding * pBindings_ ) VULKAN_HPP_NOEXCEPT { pBindings = pBindings_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DescriptorSetLayoutCreateInfo & setBindings( ArrayProxyNoTemporaries<const DescriptorSetLayoutBinding> const & bindings_ ) VULKAN_HPP_NOEXCEPT { bindingCount = static_cast<uint32_t>( bindings_.size() ); pBindings = bindings_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDescriptorSetLayoutCreateInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>( this ); } operator VkDescriptorSetLayoutCreateInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDescriptorSetLayoutCreateInfo *>( this ); } operator VkDescriptorSetLayoutCreateInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>( this ); } operator VkDescriptorSetLayoutCreateInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDescriptorSetLayoutCreateInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std:: tuple<StructureType const &, const void * const &, DescriptorSetLayoutCreateFlags const &, uint32_t const &, const DescriptorSetLayoutBinding * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, bindingCount, pBindings ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DescriptorSetLayoutCreateInfo const & ) const = default; #else bool operator==( DescriptorSetLayoutCreateInfo 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 ) && ( flags == rhs.flags ) && ( bindingCount == rhs.bindingCount ) && ( pBindings == rhs.pBindings ); # endif } bool operator!=( DescriptorSetLayoutCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDescriptorSetLayoutCreateInfo; const void * pNext = {}; DescriptorSetLayoutCreateFlags flags = {}; uint32_t bindingCount = {}; const DescriptorSetLayoutBinding * pBindings = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDescriptorSetLayoutCreateInfo> { using Type = DescriptorSetLayoutCreateInfo; }; #endif template <> struct CppType<StructureType, StructureType::eDescriptorSetLayoutCreateInfo> { using Type = DescriptorSetLayoutCreateInfo; }; // wrapper struct for struct VkDescriptorSetLayoutHostMappingInfoVALVE, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorSetLayoutHostMappingInfoVALVE.html struct DescriptorSetLayoutHostMappingInfoVALVE { using NativeType = VkDescriptorSetLayoutHostMappingInfoVALVE; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDescriptorSetLayoutHostMappingInfoVALVE; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DescriptorSetLayoutHostMappingInfoVALVE( size_t descriptorOffset_ = {}, uint32_t descriptorSize_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , descriptorOffset{ descriptorOffset_ } , descriptorSize{ descriptorSize_ } { } VULKAN_HPP_CONSTEXPR DescriptorSetLayoutHostMappingInfoVALVE( DescriptorSetLayoutHostMappingInfoVALVE const & rhs ) VULKAN_HPP_NOEXCEPT = default; DescriptorSetLayoutHostMappingInfoVALVE( VkDescriptorSetLayoutHostMappingInfoVALVE const & rhs ) VULKAN_HPP_NOEXCEPT : DescriptorSetLayoutHostMappingInfoVALVE( *reinterpret_cast<DescriptorSetLayoutHostMappingInfoVALVE const *>( &rhs ) ) { } DescriptorSetLayoutHostMappingInfoVALVE & operator=( DescriptorSetLayoutHostMappingInfoVALVE const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DescriptorSetLayoutHostMappingInfoVALVE & operator=( VkDescriptorSetLayoutHostMappingInfoVALVE const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DescriptorSetLayoutHostMappingInfoVALVE const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DescriptorSetLayoutHostMappingInfoVALVE & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorSetLayoutHostMappingInfoVALVE & setDescriptorOffset( size_t descriptorOffset_ ) VULKAN_HPP_NOEXCEPT { descriptorOffset = descriptorOffset_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorSetLayoutHostMappingInfoVALVE & setDescriptorSize( uint32_t descriptorSize_ ) VULKAN_HPP_NOEXCEPT { descriptorSize = descriptorSize_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDescriptorSetLayoutHostMappingInfoVALVE const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDescriptorSetLayoutHostMappingInfoVALVE *>( this ); } operator VkDescriptorSetLayoutHostMappingInfoVALVE &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDescriptorSetLayoutHostMappingInfoVALVE *>( this ); } operator VkDescriptorSetLayoutHostMappingInfoVALVE const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDescriptorSetLayoutHostMappingInfoVALVE *>( this ); } operator VkDescriptorSetLayoutHostMappingInfoVALVE *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDescriptorSetLayoutHostMappingInfoVALVE *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, size_t const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, descriptorOffset, descriptorSize ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DescriptorSetLayoutHostMappingInfoVALVE const & ) const = default; #else bool operator==( DescriptorSetLayoutHostMappingInfoVALVE 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 ) && ( descriptorOffset == rhs.descriptorOffset ) && ( descriptorSize == rhs.descriptorSize ); # endif } bool operator!=( DescriptorSetLayoutHostMappingInfoVALVE const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDescriptorSetLayoutHostMappingInfoVALVE; void * pNext = {}; size_t descriptorOffset = {}; uint32_t descriptorSize = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDescriptorSetLayoutHostMappingInfoVALVE> { using Type = DescriptorSetLayoutHostMappingInfoVALVE; }; #endif template <> struct CppType<StructureType, StructureType::eDescriptorSetLayoutHostMappingInfoVALVE> { using Type = DescriptorSetLayoutHostMappingInfoVALVE; }; // wrapper struct for struct VkDescriptorSetLayoutSupport, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorSetLayoutSupport.html struct DescriptorSetLayoutSupport { using NativeType = VkDescriptorSetLayoutSupport; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDescriptorSetLayoutSupport; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DescriptorSetLayoutSupport( Bool32 supported_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , supported{ supported_ } { } VULKAN_HPP_CONSTEXPR DescriptorSetLayoutSupport( DescriptorSetLayoutSupport const & rhs ) VULKAN_HPP_NOEXCEPT = default; DescriptorSetLayoutSupport( VkDescriptorSetLayoutSupport const & rhs ) VULKAN_HPP_NOEXCEPT : DescriptorSetLayoutSupport( *reinterpret_cast<DescriptorSetLayoutSupport const *>( &rhs ) ) { } DescriptorSetLayoutSupport & operator=( DescriptorSetLayoutSupport const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DescriptorSetLayoutSupport & operator=( VkDescriptorSetLayoutSupport const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DescriptorSetLayoutSupport const *>( &rhs ); return *this; } operator VkDescriptorSetLayoutSupport const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDescriptorSetLayoutSupport *>( this ); } operator VkDescriptorSetLayoutSupport &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDescriptorSetLayoutSupport *>( this ); } operator VkDescriptorSetLayoutSupport const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDescriptorSetLayoutSupport *>( this ); } operator VkDescriptorSetLayoutSupport *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDescriptorSetLayoutSupport *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, Bool32 const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, supported ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DescriptorSetLayoutSupport const & ) const = default; #else bool operator==( DescriptorSetLayoutSupport 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 ) && ( supported == rhs.supported ); # endif } bool operator!=( DescriptorSetLayoutSupport const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDescriptorSetLayoutSupport; void * pNext = {}; Bool32 supported = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDescriptorSetLayoutSupport> { using Type = DescriptorSetLayoutSupport; }; #endif template <> struct CppType<StructureType, StructureType::eDescriptorSetLayoutSupport> { using Type = DescriptorSetLayoutSupport; }; using DescriptorSetLayoutSupportKHR = DescriptorSetLayoutSupport; // wrapper struct for struct VkDescriptorSetVariableDescriptorCountAllocateInfo, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorSetVariableDescriptorCountAllocateInfo.html struct DescriptorSetVariableDescriptorCountAllocateInfo { using NativeType = VkDescriptorSetVariableDescriptorCountAllocateInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDescriptorSetVariableDescriptorCountAllocateInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DescriptorSetVariableDescriptorCountAllocateInfo( uint32_t descriptorSetCount_ = {}, const uint32_t * pDescriptorCounts_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , descriptorSetCount{ descriptorSetCount_ } , pDescriptorCounts{ pDescriptorCounts_ } { } VULKAN_HPP_CONSTEXPR DescriptorSetVariableDescriptorCountAllocateInfo( DescriptorSetVariableDescriptorCountAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; DescriptorSetVariableDescriptorCountAllocateInfo( VkDescriptorSetVariableDescriptorCountAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : DescriptorSetVariableDescriptorCountAllocateInfo( *reinterpret_cast<DescriptorSetVariableDescriptorCountAllocateInfo const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DescriptorSetVariableDescriptorCountAllocateInfo( ArrayProxyNoTemporaries<const uint32_t> const & descriptorCounts_, const void * pNext_ = nullptr ) : pNext( pNext_ ), descriptorSetCount( static_cast<uint32_t>( descriptorCounts_.size() ) ), pDescriptorCounts( descriptorCounts_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ DescriptorSetVariableDescriptorCountAllocateInfo & operator=( DescriptorSetVariableDescriptorCountAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DescriptorSetVariableDescriptorCountAllocateInfo & operator=( VkDescriptorSetVariableDescriptorCountAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DescriptorSetVariableDescriptorCountAllocateInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DescriptorSetVariableDescriptorCountAllocateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorSetVariableDescriptorCountAllocateInfo & setDescriptorSetCount( uint32_t descriptorSetCount_ ) VULKAN_HPP_NOEXCEPT { descriptorSetCount = descriptorSetCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorSetVariableDescriptorCountAllocateInfo & setPDescriptorCounts( const uint32_t * pDescriptorCounts_ ) VULKAN_HPP_NOEXCEPT { pDescriptorCounts = pDescriptorCounts_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DescriptorSetVariableDescriptorCountAllocateInfo & setDescriptorCounts( ArrayProxyNoTemporaries<const uint32_t> const & descriptorCounts_ ) VULKAN_HPP_NOEXCEPT { descriptorSetCount = static_cast<uint32_t>( descriptorCounts_.size() ); pDescriptorCounts = descriptorCounts_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDescriptorSetVariableDescriptorCountAllocateInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDescriptorSetVariableDescriptorCountAllocateInfo *>( this ); } operator VkDescriptorSetVariableDescriptorCountAllocateInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDescriptorSetVariableDescriptorCountAllocateInfo *>( this ); } operator VkDescriptorSetVariableDescriptorCountAllocateInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDescriptorSetVariableDescriptorCountAllocateInfo *>( this ); } operator VkDescriptorSetVariableDescriptorCountAllocateInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDescriptorSetVariableDescriptorCountAllocateInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, uint32_t const &, const uint32_t * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, descriptorSetCount, pDescriptorCounts ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DescriptorSetVariableDescriptorCountAllocateInfo const & ) const = default; #else bool operator==( DescriptorSetVariableDescriptorCountAllocateInfo 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 ) && ( descriptorSetCount == rhs.descriptorSetCount ) && ( pDescriptorCounts == rhs.pDescriptorCounts ); # endif } bool operator!=( DescriptorSetVariableDescriptorCountAllocateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDescriptorSetVariableDescriptorCountAllocateInfo; const void * pNext = {}; uint32_t descriptorSetCount = {}; const uint32_t * pDescriptorCounts = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDescriptorSetVariableDescriptorCountAllocateInfo> { using Type = DescriptorSetVariableDescriptorCountAllocateInfo; }; #endif template <> struct CppType<StructureType, StructureType::eDescriptorSetVariableDescriptorCountAllocateInfo> { using Type = DescriptorSetVariableDescriptorCountAllocateInfo; }; using DescriptorSetVariableDescriptorCountAllocateInfoEXT = DescriptorSetVariableDescriptorCountAllocateInfo; // wrapper struct for struct VkDescriptorSetVariableDescriptorCountLayoutSupport, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorSetVariableDescriptorCountLayoutSupport.html struct DescriptorSetVariableDescriptorCountLayoutSupport { using NativeType = VkDescriptorSetVariableDescriptorCountLayoutSupport; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDescriptorSetVariableDescriptorCountLayoutSupport; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DescriptorSetVariableDescriptorCountLayoutSupport( uint32_t maxVariableDescriptorCount_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , maxVariableDescriptorCount{ maxVariableDescriptorCount_ } { } VULKAN_HPP_CONSTEXPR DescriptorSetVariableDescriptorCountLayoutSupport( DescriptorSetVariableDescriptorCountLayoutSupport const & rhs ) VULKAN_HPP_NOEXCEPT = default; DescriptorSetVariableDescriptorCountLayoutSupport( VkDescriptorSetVariableDescriptorCountLayoutSupport const & rhs ) VULKAN_HPP_NOEXCEPT : DescriptorSetVariableDescriptorCountLayoutSupport( *reinterpret_cast<DescriptorSetVariableDescriptorCountLayoutSupport const *>( &rhs ) ) { } DescriptorSetVariableDescriptorCountLayoutSupport & operator=( DescriptorSetVariableDescriptorCountLayoutSupport const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DescriptorSetVariableDescriptorCountLayoutSupport & operator=( VkDescriptorSetVariableDescriptorCountLayoutSupport const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DescriptorSetVariableDescriptorCountLayoutSupport const *>( &rhs ); return *this; } operator VkDescriptorSetVariableDescriptorCountLayoutSupport const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDescriptorSetVariableDescriptorCountLayoutSupport *>( this ); } operator VkDescriptorSetVariableDescriptorCountLayoutSupport &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDescriptorSetVariableDescriptorCountLayoutSupport *>( this ); } operator VkDescriptorSetVariableDescriptorCountLayoutSupport const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDescriptorSetVariableDescriptorCountLayoutSupport *>( this ); } operator VkDescriptorSetVariableDescriptorCountLayoutSupport *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDescriptorSetVariableDescriptorCountLayoutSupport *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, maxVariableDescriptorCount ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DescriptorSetVariableDescriptorCountLayoutSupport const & ) const = default; #else bool operator==( DescriptorSetVariableDescriptorCountLayoutSupport 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 ) && ( maxVariableDescriptorCount == rhs.maxVariableDescriptorCount ); # endif } bool operator!=( DescriptorSetVariableDescriptorCountLayoutSupport const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDescriptorSetVariableDescriptorCountLayoutSupport; void * pNext = {}; uint32_t maxVariableDescriptorCount = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDescriptorSetVariableDescriptorCountLayoutSupport> { using Type = DescriptorSetVariableDescriptorCountLayoutSupport; }; #endif template <> struct CppType<StructureType, StructureType::eDescriptorSetVariableDescriptorCountLayoutSupport> { using Type = DescriptorSetVariableDescriptorCountLayoutSupport; }; using DescriptorSetVariableDescriptorCountLayoutSupportEXT = DescriptorSetVariableDescriptorCountLayoutSupport; // wrapper struct for struct VkDescriptorUpdateTemplateEntry, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorUpdateTemplateEntry.html struct DescriptorUpdateTemplateEntry { using NativeType = VkDescriptorUpdateTemplateEntry; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DescriptorUpdateTemplateEntry( uint32_t dstBinding_ = {}, uint32_t dstArrayElement_ = {}, uint32_t descriptorCount_ = {}, DescriptorType descriptorType_ = DescriptorType::eSampler, size_t offset_ = {}, size_t stride_ = {} ) VULKAN_HPP_NOEXCEPT : dstBinding{ dstBinding_ } , dstArrayElement{ dstArrayElement_ } , descriptorCount{ descriptorCount_ } , descriptorType{ descriptorType_ } , offset{ offset_ } , stride{ stride_ } { } VULKAN_HPP_CONSTEXPR DescriptorUpdateTemplateEntry( DescriptorUpdateTemplateEntry const & rhs ) VULKAN_HPP_NOEXCEPT = default; DescriptorUpdateTemplateEntry( VkDescriptorUpdateTemplateEntry const & rhs ) VULKAN_HPP_NOEXCEPT : DescriptorUpdateTemplateEntry( *reinterpret_cast<DescriptorUpdateTemplateEntry const *>( &rhs ) ) { } DescriptorUpdateTemplateEntry & operator=( DescriptorUpdateTemplateEntry const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DescriptorUpdateTemplateEntry & operator=( VkDescriptorUpdateTemplateEntry const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DescriptorUpdateTemplateEntry const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DescriptorUpdateTemplateEntry & setDstBinding( uint32_t dstBinding_ ) VULKAN_HPP_NOEXCEPT { dstBinding = dstBinding_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorUpdateTemplateEntry & setDstArrayElement( uint32_t dstArrayElement_ ) VULKAN_HPP_NOEXCEPT { dstArrayElement = dstArrayElement_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorUpdateTemplateEntry & setDescriptorCount( uint32_t descriptorCount_ ) VULKAN_HPP_NOEXCEPT { descriptorCount = descriptorCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorUpdateTemplateEntry & setDescriptorType( DescriptorType descriptorType_ ) VULKAN_HPP_NOEXCEPT { descriptorType = descriptorType_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorUpdateTemplateEntry & setOffset( size_t offset_ ) VULKAN_HPP_NOEXCEPT { offset = offset_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorUpdateTemplateEntry & setStride( size_t stride_ ) VULKAN_HPP_NOEXCEPT { stride = stride_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDescriptorUpdateTemplateEntry const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDescriptorUpdateTemplateEntry *>( this ); } operator VkDescriptorUpdateTemplateEntry &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDescriptorUpdateTemplateEntry *>( this ); } operator VkDescriptorUpdateTemplateEntry const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDescriptorUpdateTemplateEntry *>( this ); } operator VkDescriptorUpdateTemplateEntry *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDescriptorUpdateTemplateEntry *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<uint32_t const &, uint32_t const &, uint32_t const &, DescriptorType const &, size_t const &, size_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( dstBinding, dstArrayElement, descriptorCount, descriptorType, offset, stride ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DescriptorUpdateTemplateEntry const & ) const = default; #else bool operator==( DescriptorUpdateTemplateEntry const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( dstBinding == rhs.dstBinding ) && ( dstArrayElement == rhs.dstArrayElement ) && ( descriptorCount == rhs.descriptorCount ) && ( descriptorType == rhs.descriptorType ) && ( offset == rhs.offset ) && ( stride == rhs.stride ); # endif } bool operator!=( DescriptorUpdateTemplateEntry const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: uint32_t dstBinding = {}; uint32_t dstArrayElement = {}; uint32_t descriptorCount = {}; DescriptorType descriptorType = DescriptorType::eSampler; size_t offset = {}; size_t stride = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDescriptorUpdateTemplateEntry> { using Type = DescriptorUpdateTemplateEntry; }; #endif using DescriptorUpdateTemplateEntryKHR = DescriptorUpdateTemplateEntry; // wrapper struct for struct VkDescriptorUpdateTemplateCreateInfo, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorUpdateTemplateCreateInfo.html struct DescriptorUpdateTemplateCreateInfo { using NativeType = VkDescriptorUpdateTemplateCreateInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDescriptorUpdateTemplateCreateInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DescriptorUpdateTemplateCreateInfo( DescriptorUpdateTemplateCreateFlags flags_ = {}, uint32_t descriptorUpdateEntryCount_ = {}, const DescriptorUpdateTemplateEntry * pDescriptorUpdateEntries_ = {}, DescriptorUpdateTemplateType templateType_ = DescriptorUpdateTemplateType::eDescriptorSet, DescriptorSetLayout descriptorSetLayout_ = {}, PipelineBindPoint pipelineBindPoint_ = PipelineBindPoint::eGraphics, PipelineLayout pipelineLayout_ = {}, uint32_t set_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , descriptorUpdateEntryCount{ descriptorUpdateEntryCount_ } , pDescriptorUpdateEntries{ pDescriptorUpdateEntries_ } , templateType{ templateType_ } , descriptorSetLayout{ descriptorSetLayout_ } , pipelineBindPoint{ pipelineBindPoint_ } , pipelineLayout{ pipelineLayout_ } , set{ set_ } { } VULKAN_HPP_CONSTEXPR DescriptorUpdateTemplateCreateInfo( DescriptorUpdateTemplateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; DescriptorUpdateTemplateCreateInfo( VkDescriptorUpdateTemplateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : DescriptorUpdateTemplateCreateInfo( *reinterpret_cast<DescriptorUpdateTemplateCreateInfo const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DescriptorUpdateTemplateCreateInfo( DescriptorUpdateTemplateCreateFlags flags_, ArrayProxyNoTemporaries<const DescriptorUpdateTemplateEntry> const & descriptorUpdateEntries_, DescriptorUpdateTemplateType templateType_ = DescriptorUpdateTemplateType::eDescriptorSet, DescriptorSetLayout descriptorSetLayout_ = {}, PipelineBindPoint pipelineBindPoint_ = PipelineBindPoint::eGraphics, PipelineLayout pipelineLayout_ = {}, uint32_t set_ = {}, const void * pNext_ = nullptr ) : pNext( pNext_ ) , flags( flags_ ) , descriptorUpdateEntryCount( static_cast<uint32_t>( descriptorUpdateEntries_.size() ) ) , pDescriptorUpdateEntries( descriptorUpdateEntries_.data() ) , templateType( templateType_ ) , descriptorSetLayout( descriptorSetLayout_ ) , pipelineBindPoint( pipelineBindPoint_ ) , pipelineLayout( pipelineLayout_ ) , set( set_ ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ DescriptorUpdateTemplateCreateInfo & operator=( DescriptorUpdateTemplateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DescriptorUpdateTemplateCreateInfo & operator=( VkDescriptorUpdateTemplateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DescriptorUpdateTemplateCreateInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DescriptorUpdateTemplateCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorUpdateTemplateCreateInfo & setFlags( DescriptorUpdateTemplateCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorUpdateTemplateCreateInfo & setDescriptorUpdateEntryCount( uint32_t descriptorUpdateEntryCount_ ) VULKAN_HPP_NOEXCEPT { descriptorUpdateEntryCount = descriptorUpdateEntryCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorUpdateTemplateCreateInfo & setPDescriptorUpdateEntries( const DescriptorUpdateTemplateEntry * pDescriptorUpdateEntries_ ) VULKAN_HPP_NOEXCEPT { pDescriptorUpdateEntries = pDescriptorUpdateEntries_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DescriptorUpdateTemplateCreateInfo & setDescriptorUpdateEntries( ArrayProxyNoTemporaries<const DescriptorUpdateTemplateEntry> const & descriptorUpdateEntries_ ) VULKAN_HPP_NOEXCEPT { descriptorUpdateEntryCount = static_cast<uint32_t>( descriptorUpdateEntries_.size() ); pDescriptorUpdateEntries = descriptorUpdateEntries_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 DescriptorUpdateTemplateCreateInfo & setTemplateType( DescriptorUpdateTemplateType templateType_ ) VULKAN_HPP_NOEXCEPT { templateType = templateType_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorUpdateTemplateCreateInfo & setDescriptorSetLayout( DescriptorSetLayout descriptorSetLayout_ ) VULKAN_HPP_NOEXCEPT { descriptorSetLayout = descriptorSetLayout_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorUpdateTemplateCreateInfo & setPipelineBindPoint( PipelineBindPoint pipelineBindPoint_ ) VULKAN_HPP_NOEXCEPT { pipelineBindPoint = pipelineBindPoint_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorUpdateTemplateCreateInfo & setPipelineLayout( PipelineLayout pipelineLayout_ ) VULKAN_HPP_NOEXCEPT { pipelineLayout = pipelineLayout_; return *this; } VULKAN_HPP_CONSTEXPR_14 DescriptorUpdateTemplateCreateInfo & setSet( uint32_t set_ ) VULKAN_HPP_NOEXCEPT { set = set_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDescriptorUpdateTemplateCreateInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo *>( this ); } operator VkDescriptorUpdateTemplateCreateInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDescriptorUpdateTemplateCreateInfo *>( this ); } operator VkDescriptorUpdateTemplateCreateInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo *>( this ); } operator VkDescriptorUpdateTemplateCreateInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDescriptorUpdateTemplateCreateInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DescriptorUpdateTemplateCreateFlags const &, uint32_t const &, const DescriptorUpdateTemplateEntry * const &, DescriptorUpdateTemplateType const &, DescriptorSetLayout const &, PipelineBindPoint const &, PipelineLayout const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, descriptorUpdateEntryCount, pDescriptorUpdateEntries, templateType, descriptorSetLayout, pipelineBindPoint, pipelineLayout, set ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DescriptorUpdateTemplateCreateInfo const & ) const = default; #else bool operator==( DescriptorUpdateTemplateCreateInfo 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 ) && ( flags == rhs.flags ) && ( descriptorUpdateEntryCount == rhs.descriptorUpdateEntryCount ) && ( pDescriptorUpdateEntries == rhs.pDescriptorUpdateEntries ) && ( templateType == rhs.templateType ) && ( descriptorSetLayout == rhs.descriptorSetLayout ) && ( pipelineBindPoint == rhs.pipelineBindPoint ) && ( pipelineLayout == rhs.pipelineLayout ) && ( set == rhs.set ); # endif } bool operator!=( DescriptorUpdateTemplateCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDescriptorUpdateTemplateCreateInfo; const void * pNext = {}; DescriptorUpdateTemplateCreateFlags flags = {}; uint32_t descriptorUpdateEntryCount = {}; const DescriptorUpdateTemplateEntry * pDescriptorUpdateEntries = {}; DescriptorUpdateTemplateType templateType = DescriptorUpdateTemplateType::eDescriptorSet; DescriptorSetLayout descriptorSetLayout = {}; PipelineBindPoint pipelineBindPoint = PipelineBindPoint::eGraphics; PipelineLayout pipelineLayout = {}; uint32_t set = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDescriptorUpdateTemplateCreateInfo> { using Type = DescriptorUpdateTemplateCreateInfo; }; #endif template <> struct CppType<StructureType, StructureType::eDescriptorUpdateTemplateCreateInfo> { using Type = DescriptorUpdateTemplateCreateInfo; }; using DescriptorUpdateTemplateCreateInfoKHR = DescriptorUpdateTemplateCreateInfo; // wrapper struct for struct VkDeviceAddressBindingCallbackDataEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceAddressBindingCallbackDataEXT.html struct DeviceAddressBindingCallbackDataEXT { using NativeType = VkDeviceAddressBindingCallbackDataEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceAddressBindingCallbackDataEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DeviceAddressBindingCallbackDataEXT( DeviceAddressBindingFlagsEXT flags_ = {}, DeviceAddress baseAddress_ = {}, DeviceSize size_ = {}, DeviceAddressBindingTypeEXT bindingType_ = DeviceAddressBindingTypeEXT::eBind, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , baseAddress{ baseAddress_ } , size{ size_ } , bindingType{ bindingType_ } { } VULKAN_HPP_CONSTEXPR DeviceAddressBindingCallbackDataEXT( DeviceAddressBindingCallbackDataEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; DeviceAddressBindingCallbackDataEXT( VkDeviceAddressBindingCallbackDataEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DeviceAddressBindingCallbackDataEXT( *reinterpret_cast<DeviceAddressBindingCallbackDataEXT const *>( &rhs ) ) { } DeviceAddressBindingCallbackDataEXT & operator=( DeviceAddressBindingCallbackDataEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DeviceAddressBindingCallbackDataEXT & operator=( VkDeviceAddressBindingCallbackDataEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DeviceAddressBindingCallbackDataEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DeviceAddressBindingCallbackDataEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceAddressBindingCallbackDataEXT & setFlags( DeviceAddressBindingFlagsEXT flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceAddressBindingCallbackDataEXT & setBaseAddress( DeviceAddress baseAddress_ ) VULKAN_HPP_NOEXCEPT { baseAddress = baseAddress_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceAddressBindingCallbackDataEXT & setSize( DeviceSize size_ ) VULKAN_HPP_NOEXCEPT { size = size_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceAddressBindingCallbackDataEXT & setBindingType( DeviceAddressBindingTypeEXT bindingType_ ) VULKAN_HPP_NOEXCEPT { bindingType = bindingType_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDeviceAddressBindingCallbackDataEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDeviceAddressBindingCallbackDataEXT *>( this ); } operator VkDeviceAddressBindingCallbackDataEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDeviceAddressBindingCallbackDataEXT *>( this ); } operator VkDeviceAddressBindingCallbackDataEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDeviceAddressBindingCallbackDataEXT *>( this ); } operator VkDeviceAddressBindingCallbackDataEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDeviceAddressBindingCallbackDataEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, DeviceAddressBindingFlagsEXT const &, DeviceAddress const &, DeviceSize const &, DeviceAddressBindingTypeEXT const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, baseAddress, size, bindingType ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DeviceAddressBindingCallbackDataEXT const & ) const = default; #else bool operator==( DeviceAddressBindingCallbackDataEXT 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 ) && ( flags == rhs.flags ) && ( baseAddress == rhs.baseAddress ) && ( size == rhs.size ) && ( bindingType == rhs.bindingType ); # endif } bool operator!=( DeviceAddressBindingCallbackDataEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDeviceAddressBindingCallbackDataEXT; void * pNext = {}; DeviceAddressBindingFlagsEXT flags = {}; DeviceAddress baseAddress = {}; DeviceSize size = {}; DeviceAddressBindingTypeEXT bindingType = DeviceAddressBindingTypeEXT::eBind; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDeviceAddressBindingCallbackDataEXT> { using Type = DeviceAddressBindingCallbackDataEXT; }; #endif template <> struct CppType<StructureType, StructureType::eDeviceAddressBindingCallbackDataEXT> { using Type = DeviceAddressBindingCallbackDataEXT; }; // wrapper struct for struct VkDeviceBufferMemoryRequirements, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceBufferMemoryRequirements.html struct DeviceBufferMemoryRequirements { using NativeType = VkDeviceBufferMemoryRequirements; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceBufferMemoryRequirements; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DeviceBufferMemoryRequirements( const BufferCreateInfo * pCreateInfo_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , pCreateInfo{ pCreateInfo_ } { } VULKAN_HPP_CONSTEXPR DeviceBufferMemoryRequirements( DeviceBufferMemoryRequirements const & rhs ) VULKAN_HPP_NOEXCEPT = default; DeviceBufferMemoryRequirements( VkDeviceBufferMemoryRequirements const & rhs ) VULKAN_HPP_NOEXCEPT : DeviceBufferMemoryRequirements( *reinterpret_cast<DeviceBufferMemoryRequirements const *>( &rhs ) ) { } DeviceBufferMemoryRequirements & operator=( DeviceBufferMemoryRequirements const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DeviceBufferMemoryRequirements & operator=( VkDeviceBufferMemoryRequirements const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DeviceBufferMemoryRequirements const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DeviceBufferMemoryRequirements & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceBufferMemoryRequirements & setPCreateInfo( const BufferCreateInfo * pCreateInfo_ ) VULKAN_HPP_NOEXCEPT { pCreateInfo = pCreateInfo_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDeviceBufferMemoryRequirements const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDeviceBufferMemoryRequirements *>( this ); } operator VkDeviceBufferMemoryRequirements &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDeviceBufferMemoryRequirements *>( this ); } operator VkDeviceBufferMemoryRequirements const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDeviceBufferMemoryRequirements *>( this ); } operator VkDeviceBufferMemoryRequirements *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDeviceBufferMemoryRequirements *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, const BufferCreateInfo * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, pCreateInfo ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DeviceBufferMemoryRequirements const & ) const = default; #else bool operator==( DeviceBufferMemoryRequirements 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 ) && ( pCreateInfo == rhs.pCreateInfo ); # endif } bool operator!=( DeviceBufferMemoryRequirements const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDeviceBufferMemoryRequirements; const void * pNext = {}; const BufferCreateInfo * pCreateInfo = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDeviceBufferMemoryRequirements> { using Type = DeviceBufferMemoryRequirements; }; #endif template <> struct CppType<StructureType, StructureType::eDeviceBufferMemoryRequirements> { using Type = DeviceBufferMemoryRequirements; }; using DeviceBufferMemoryRequirementsKHR = DeviceBufferMemoryRequirements; // wrapper struct for struct VkDeviceQueueCreateInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceQueueCreateInfo.html struct DeviceQueueCreateInfo { using NativeType = VkDeviceQueueCreateInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceQueueCreateInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DeviceQueueCreateInfo( DeviceQueueCreateFlags flags_ = {}, uint32_t queueFamilyIndex_ = {}, uint32_t queueCount_ = {}, const float * pQueuePriorities_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , queueFamilyIndex{ queueFamilyIndex_ } , queueCount{ queueCount_ } , pQueuePriorities{ pQueuePriorities_ } { } VULKAN_HPP_CONSTEXPR DeviceQueueCreateInfo( DeviceQueueCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; DeviceQueueCreateInfo( VkDeviceQueueCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : DeviceQueueCreateInfo( *reinterpret_cast<DeviceQueueCreateInfo const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DeviceQueueCreateInfo( DeviceQueueCreateFlags flags_, uint32_t queueFamilyIndex_, ArrayProxyNoTemporaries<const float> const & queuePriorities_, const void * pNext_ = nullptr ) : pNext( pNext_ ) , flags( flags_ ) , queueFamilyIndex( queueFamilyIndex_ ) , queueCount( static_cast<uint32_t>( queuePriorities_.size() ) ) , pQueuePriorities( queuePriorities_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ DeviceQueueCreateInfo & operator=( DeviceQueueCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DeviceQueueCreateInfo & operator=( VkDeviceQueueCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DeviceQueueCreateInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DeviceQueueCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceQueueCreateInfo & setFlags( DeviceQueueCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceQueueCreateInfo & setQueueFamilyIndex( uint32_t queueFamilyIndex_ ) VULKAN_HPP_NOEXCEPT { queueFamilyIndex = queueFamilyIndex_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceQueueCreateInfo & setQueueCount( uint32_t queueCount_ ) VULKAN_HPP_NOEXCEPT { queueCount = queueCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceQueueCreateInfo & setPQueuePriorities( const float * pQueuePriorities_ ) VULKAN_HPP_NOEXCEPT { pQueuePriorities = pQueuePriorities_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DeviceQueueCreateInfo & setQueuePriorities( ArrayProxyNoTemporaries<const float> const & queuePriorities_ ) VULKAN_HPP_NOEXCEPT { queueCount = static_cast<uint32_t>( queuePriorities_.size() ); pQueuePriorities = queuePriorities_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDeviceQueueCreateInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDeviceQueueCreateInfo *>( this ); } operator VkDeviceQueueCreateInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDeviceQueueCreateInfo *>( this ); } operator VkDeviceQueueCreateInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDeviceQueueCreateInfo *>( this ); } operator VkDeviceQueueCreateInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDeviceQueueCreateInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DeviceQueueCreateFlags const &, uint32_t const &, uint32_t const &, const float * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, queueFamilyIndex, queueCount, pQueuePriorities ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DeviceQueueCreateInfo const & ) const = default; #else bool operator==( DeviceQueueCreateInfo 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 ) && ( flags == rhs.flags ) && ( queueFamilyIndex == rhs.queueFamilyIndex ) && ( queueCount == rhs.queueCount ) && ( pQueuePriorities == rhs.pQueuePriorities ); # endif } bool operator!=( DeviceQueueCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDeviceQueueCreateInfo; const void * pNext = {}; DeviceQueueCreateFlags flags = {}; uint32_t queueFamilyIndex = {}; uint32_t queueCount = {}; const float * pQueuePriorities = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDeviceQueueCreateInfo> { using Type = DeviceQueueCreateInfo; }; #endif template <> struct CppType<StructureType, StructureType::eDeviceQueueCreateInfo> { using Type = DeviceQueueCreateInfo; }; // wrapper struct for struct VkPhysicalDeviceFeatures, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceFeatures.html struct PhysicalDeviceFeatures { using NativeType = VkPhysicalDeviceFeatures; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR PhysicalDeviceFeatures( Bool32 robustBufferAccess_ = {}, Bool32 fullDrawIndexUint32_ = {}, Bool32 imageCubeArray_ = {}, Bool32 independentBlend_ = {}, Bool32 geometryShader_ = {}, Bool32 tessellationShader_ = {}, Bool32 sampleRateShading_ = {}, Bool32 dualSrcBlend_ = {}, Bool32 logicOp_ = {}, Bool32 multiDrawIndirect_ = {}, Bool32 drawIndirectFirstInstance_ = {}, Bool32 depthClamp_ = {}, Bool32 depthBiasClamp_ = {}, Bool32 fillModeNonSolid_ = {}, Bool32 depthBounds_ = {}, Bool32 wideLines_ = {}, Bool32 largePoints_ = {}, Bool32 alphaToOne_ = {}, Bool32 multiViewport_ = {}, Bool32 samplerAnisotropy_ = {}, Bool32 textureCompressionETC2_ = {}, Bool32 textureCompressionASTC_LDR_ = {}, Bool32 textureCompressionBC_ = {}, Bool32 occlusionQueryPrecise_ = {}, Bool32 pipelineStatisticsQuery_ = {}, Bool32 vertexPipelineStoresAndAtomics_ = {}, Bool32 fragmentStoresAndAtomics_ = {}, Bool32 shaderTessellationAndGeometryPointSize_ = {}, Bool32 shaderImageGatherExtended_ = {}, Bool32 shaderStorageImageExtendedFormats_ = {}, Bool32 shaderStorageImageMultisample_ = {}, Bool32 shaderStorageImageReadWithoutFormat_ = {}, Bool32 shaderStorageImageWriteWithoutFormat_ = {}, Bool32 shaderUniformBufferArrayDynamicIndexing_ = {}, Bool32 shaderSampledImageArrayDynamicIndexing_ = {}, Bool32 shaderStorageBufferArrayDynamicIndexing_ = {}, Bool32 shaderStorageImageArrayDynamicIndexing_ = {}, Bool32 shaderClipDistance_ = {}, Bool32 shaderCullDistance_ = {}, Bool32 shaderFloat64_ = {}, Bool32 shaderInt64_ = {}, Bool32 shaderInt16_ = {}, Bool32 shaderResourceResidency_ = {}, Bool32 shaderResourceMinLod_ = {}, Bool32 sparseBinding_ = {}, Bool32 sparseResidencyBuffer_ = {}, Bool32 sparseResidencyImage2D_ = {}, Bool32 sparseResidencyImage3D_ = {}, Bool32 sparseResidency2Samples_ = {}, Bool32 sparseResidency4Samples_ = {}, Bool32 sparseResidency8Samples_ = {}, Bool32 sparseResidency16Samples_ = {}, Bool32 sparseResidencyAliased_ = {}, Bool32 variableMultisampleRate_ = {}, Bool32 inheritedQueries_ = {} ) VULKAN_HPP_NOEXCEPT : robustBufferAccess{ robustBufferAccess_ } , fullDrawIndexUint32{ fullDrawIndexUint32_ } , imageCubeArray{ imageCubeArray_ } , independentBlend{ independentBlend_ } , geometryShader{ geometryShader_ } , tessellationShader{ tessellationShader_ } , sampleRateShading{ sampleRateShading_ } , dualSrcBlend{ dualSrcBlend_ } , logicOp{ logicOp_ } , multiDrawIndirect{ multiDrawIndirect_ } , drawIndirectFirstInstance{ drawIndirectFirstInstance_ } , depthClamp{ depthClamp_ } , depthBiasClamp{ depthBiasClamp_ } , fillModeNonSolid{ fillModeNonSolid_ } , depthBounds{ depthBounds_ } , wideLines{ wideLines_ } , largePoints{ largePoints_ } , alphaToOne{ alphaToOne_ } , multiViewport{ multiViewport_ } , samplerAnisotropy{ samplerAnisotropy_ } , textureCompressionETC2{ textureCompressionETC2_ } , textureCompressionASTC_LDR{ textureCompressionASTC_LDR_ } , textureCompressionBC{ textureCompressionBC_ } , occlusionQueryPrecise{ occlusionQueryPrecise_ } , pipelineStatisticsQuery{ pipelineStatisticsQuery_ } , vertexPipelineStoresAndAtomics{ vertexPipelineStoresAndAtomics_ } , fragmentStoresAndAtomics{ fragmentStoresAndAtomics_ } , shaderTessellationAndGeometryPointSize{ shaderTessellationAndGeometryPointSize_ } , shaderImageGatherExtended{ shaderImageGatherExtended_ } , shaderStorageImageExtendedFormats{ shaderStorageImageExtendedFormats_ } , shaderStorageImageMultisample{ shaderStorageImageMultisample_ } , shaderStorageImageReadWithoutFormat{ shaderStorageImageReadWithoutFormat_ } , shaderStorageImageWriteWithoutFormat{ shaderStorageImageWriteWithoutFormat_ } , shaderUniformBufferArrayDynamicIndexing{ shaderUniformBufferArrayDynamicIndexing_ } , shaderSampledImageArrayDynamicIndexing{ shaderSampledImageArrayDynamicIndexing_ } , shaderStorageBufferArrayDynamicIndexing{ shaderStorageBufferArrayDynamicIndexing_ } , shaderStorageImageArrayDynamicIndexing{ shaderStorageImageArrayDynamicIndexing_ } , shaderClipDistance{ shaderClipDistance_ } , shaderCullDistance{ shaderCullDistance_ } , shaderFloat64{ shaderFloat64_ } , shaderInt64{ shaderInt64_ } , shaderInt16{ shaderInt16_ } , shaderResourceResidency{ shaderResourceResidency_ } , shaderResourceMinLod{ shaderResourceMinLod_ } , sparseBinding{ sparseBinding_ } , sparseResidencyBuffer{ sparseResidencyBuffer_ } , sparseResidencyImage2D{ sparseResidencyImage2D_ } , sparseResidencyImage3D{ sparseResidencyImage3D_ } , sparseResidency2Samples{ sparseResidency2Samples_ } , sparseResidency4Samples{ sparseResidency4Samples_ } , sparseResidency8Samples{ sparseResidency8Samples_ } , sparseResidency16Samples{ sparseResidency16Samples_ } , sparseResidencyAliased{ sparseResidencyAliased_ } , variableMultisampleRate{ variableMultisampleRate_ } , inheritedQueries{ inheritedQueries_ } { } VULKAN_HPP_CONSTEXPR PhysicalDeviceFeatures( PhysicalDeviceFeatures const & rhs ) VULKAN_HPP_NOEXCEPT = default; PhysicalDeviceFeatures( VkPhysicalDeviceFeatures const & rhs ) VULKAN_HPP_NOEXCEPT : PhysicalDeviceFeatures( *reinterpret_cast<PhysicalDeviceFeatures const *>( &rhs ) ) { } PhysicalDeviceFeatures & operator=( PhysicalDeviceFeatures const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ PhysicalDeviceFeatures & operator=( VkPhysicalDeviceFeatures const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<PhysicalDeviceFeatures const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setRobustBufferAccess( Bool32 robustBufferAccess_ ) VULKAN_HPP_NOEXCEPT { robustBufferAccess = robustBufferAccess_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setFullDrawIndexUint32( Bool32 fullDrawIndexUint32_ ) VULKAN_HPP_NOEXCEPT { fullDrawIndexUint32 = fullDrawIndexUint32_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setImageCubeArray( Bool32 imageCubeArray_ ) VULKAN_HPP_NOEXCEPT { imageCubeArray = imageCubeArray_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setIndependentBlend( Bool32 independentBlend_ ) VULKAN_HPP_NOEXCEPT { independentBlend = independentBlend_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setGeometryShader( Bool32 geometryShader_ ) VULKAN_HPP_NOEXCEPT { geometryShader = geometryShader_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setTessellationShader( Bool32 tessellationShader_ ) VULKAN_HPP_NOEXCEPT { tessellationShader = tessellationShader_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setSampleRateShading( Bool32 sampleRateShading_ ) VULKAN_HPP_NOEXCEPT { sampleRateShading = sampleRateShading_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setDualSrcBlend( Bool32 dualSrcBlend_ ) VULKAN_HPP_NOEXCEPT { dualSrcBlend = dualSrcBlend_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setLogicOp( Bool32 logicOp_ ) VULKAN_HPP_NOEXCEPT { logicOp = logicOp_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setMultiDrawIndirect( Bool32 multiDrawIndirect_ ) VULKAN_HPP_NOEXCEPT { multiDrawIndirect = multiDrawIndirect_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setDrawIndirectFirstInstance( Bool32 drawIndirectFirstInstance_ ) VULKAN_HPP_NOEXCEPT { drawIndirectFirstInstance = drawIndirectFirstInstance_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setDepthClamp( Bool32 depthClamp_ ) VULKAN_HPP_NOEXCEPT { depthClamp = depthClamp_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setDepthBiasClamp( Bool32 depthBiasClamp_ ) VULKAN_HPP_NOEXCEPT { depthBiasClamp = depthBiasClamp_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setFillModeNonSolid( Bool32 fillModeNonSolid_ ) VULKAN_HPP_NOEXCEPT { fillModeNonSolid = fillModeNonSolid_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setDepthBounds( Bool32 depthBounds_ ) VULKAN_HPP_NOEXCEPT { depthBounds = depthBounds_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setWideLines( Bool32 wideLines_ ) VULKAN_HPP_NOEXCEPT { wideLines = wideLines_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setLargePoints( Bool32 largePoints_ ) VULKAN_HPP_NOEXCEPT { largePoints = largePoints_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setAlphaToOne( Bool32 alphaToOne_ ) VULKAN_HPP_NOEXCEPT { alphaToOne = alphaToOne_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setMultiViewport( Bool32 multiViewport_ ) VULKAN_HPP_NOEXCEPT { multiViewport = multiViewport_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setSamplerAnisotropy( Bool32 samplerAnisotropy_ ) VULKAN_HPP_NOEXCEPT { samplerAnisotropy = samplerAnisotropy_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setTextureCompressionETC2( Bool32 textureCompressionETC2_ ) VULKAN_HPP_NOEXCEPT { textureCompressionETC2 = textureCompressionETC2_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setTextureCompressionASTC_LDR( Bool32 textureCompressionASTC_LDR_ ) VULKAN_HPP_NOEXCEPT { textureCompressionASTC_LDR = textureCompressionASTC_LDR_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setTextureCompressionBC( Bool32 textureCompressionBC_ ) VULKAN_HPP_NOEXCEPT { textureCompressionBC = textureCompressionBC_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setOcclusionQueryPrecise( Bool32 occlusionQueryPrecise_ ) VULKAN_HPP_NOEXCEPT { occlusionQueryPrecise = occlusionQueryPrecise_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setPipelineStatisticsQuery( Bool32 pipelineStatisticsQuery_ ) VULKAN_HPP_NOEXCEPT { pipelineStatisticsQuery = pipelineStatisticsQuery_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setVertexPipelineStoresAndAtomics( Bool32 vertexPipelineStoresAndAtomics_ ) VULKAN_HPP_NOEXCEPT { vertexPipelineStoresAndAtomics = vertexPipelineStoresAndAtomics_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setFragmentStoresAndAtomics( Bool32 fragmentStoresAndAtomics_ ) VULKAN_HPP_NOEXCEPT { fragmentStoresAndAtomics = fragmentStoresAndAtomics_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setShaderTessellationAndGeometryPointSize( Bool32 shaderTessellationAndGeometryPointSize_ ) VULKAN_HPP_NOEXCEPT { shaderTessellationAndGeometryPointSize = shaderTessellationAndGeometryPointSize_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setShaderImageGatherExtended( Bool32 shaderImageGatherExtended_ ) VULKAN_HPP_NOEXCEPT { shaderImageGatherExtended = shaderImageGatherExtended_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setShaderStorageImageExtendedFormats( Bool32 shaderStorageImageExtendedFormats_ ) VULKAN_HPP_NOEXCEPT { shaderStorageImageExtendedFormats = shaderStorageImageExtendedFormats_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setShaderStorageImageMultisample( Bool32 shaderStorageImageMultisample_ ) VULKAN_HPP_NOEXCEPT { shaderStorageImageMultisample = shaderStorageImageMultisample_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setShaderStorageImageReadWithoutFormat( Bool32 shaderStorageImageReadWithoutFormat_ ) VULKAN_HPP_NOEXCEPT { shaderStorageImageReadWithoutFormat = shaderStorageImageReadWithoutFormat_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setShaderStorageImageWriteWithoutFormat( Bool32 shaderStorageImageWriteWithoutFormat_ ) VULKAN_HPP_NOEXCEPT { shaderStorageImageWriteWithoutFormat = shaderStorageImageWriteWithoutFormat_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setShaderUniformBufferArrayDynamicIndexing( Bool32 shaderUniformBufferArrayDynamicIndexing_ ) VULKAN_HPP_NOEXCEPT { shaderUniformBufferArrayDynamicIndexing = shaderUniformBufferArrayDynamicIndexing_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setShaderSampledImageArrayDynamicIndexing( Bool32 shaderSampledImageArrayDynamicIndexing_ ) VULKAN_HPP_NOEXCEPT { shaderSampledImageArrayDynamicIndexing = shaderSampledImageArrayDynamicIndexing_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setShaderStorageBufferArrayDynamicIndexing( Bool32 shaderStorageBufferArrayDynamicIndexing_ ) VULKAN_HPP_NOEXCEPT { shaderStorageBufferArrayDynamicIndexing = shaderStorageBufferArrayDynamicIndexing_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setShaderStorageImageArrayDynamicIndexing( Bool32 shaderStorageImageArrayDynamicIndexing_ ) VULKAN_HPP_NOEXCEPT { shaderStorageImageArrayDynamicIndexing = shaderStorageImageArrayDynamicIndexing_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setShaderClipDistance( Bool32 shaderClipDistance_ ) VULKAN_HPP_NOEXCEPT { shaderClipDistance = shaderClipDistance_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setShaderCullDistance( Bool32 shaderCullDistance_ ) VULKAN_HPP_NOEXCEPT { shaderCullDistance = shaderCullDistance_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setShaderFloat64( Bool32 shaderFloat64_ ) VULKAN_HPP_NOEXCEPT { shaderFloat64 = shaderFloat64_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setShaderInt64( Bool32 shaderInt64_ ) VULKAN_HPP_NOEXCEPT { shaderInt64 = shaderInt64_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setShaderInt16( Bool32 shaderInt16_ ) VULKAN_HPP_NOEXCEPT { shaderInt16 = shaderInt16_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setShaderResourceResidency( Bool32 shaderResourceResidency_ ) VULKAN_HPP_NOEXCEPT { shaderResourceResidency = shaderResourceResidency_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setShaderResourceMinLod( Bool32 shaderResourceMinLod_ ) VULKAN_HPP_NOEXCEPT { shaderResourceMinLod = shaderResourceMinLod_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setSparseBinding( Bool32 sparseBinding_ ) VULKAN_HPP_NOEXCEPT { sparseBinding = sparseBinding_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setSparseResidencyBuffer( Bool32 sparseResidencyBuffer_ ) VULKAN_HPP_NOEXCEPT { sparseResidencyBuffer = sparseResidencyBuffer_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setSparseResidencyImage2D( Bool32 sparseResidencyImage2D_ ) VULKAN_HPP_NOEXCEPT { sparseResidencyImage2D = sparseResidencyImage2D_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setSparseResidencyImage3D( Bool32 sparseResidencyImage3D_ ) VULKAN_HPP_NOEXCEPT { sparseResidencyImage3D = sparseResidencyImage3D_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setSparseResidency2Samples( Bool32 sparseResidency2Samples_ ) VULKAN_HPP_NOEXCEPT { sparseResidency2Samples = sparseResidency2Samples_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setSparseResidency4Samples( Bool32 sparseResidency4Samples_ ) VULKAN_HPP_NOEXCEPT { sparseResidency4Samples = sparseResidency4Samples_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setSparseResidency8Samples( Bool32 sparseResidency8Samples_ ) VULKAN_HPP_NOEXCEPT { sparseResidency8Samples = sparseResidency8Samples_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setSparseResidency16Samples( Bool32 sparseResidency16Samples_ ) VULKAN_HPP_NOEXCEPT { sparseResidency16Samples = sparseResidency16Samples_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setSparseResidencyAliased( Bool32 sparseResidencyAliased_ ) VULKAN_HPP_NOEXCEPT { sparseResidencyAliased = sparseResidencyAliased_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setVariableMultisampleRate( Bool32 variableMultisampleRate_ ) VULKAN_HPP_NOEXCEPT { variableMultisampleRate = variableMultisampleRate_; return *this; } VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setInheritedQueries( Bool32 inheritedQueries_ ) VULKAN_HPP_NOEXCEPT { inheritedQueries = inheritedQueries_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkPhysicalDeviceFeatures const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkPhysicalDeviceFeatures *>( this ); } operator VkPhysicalDeviceFeatures &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkPhysicalDeviceFeatures *>( this ); } operator VkPhysicalDeviceFeatures const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkPhysicalDeviceFeatures *>( this ); } operator VkPhysicalDeviceFeatures *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkPhysicalDeviceFeatures *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &, Bool32 const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( robustBufferAccess, fullDrawIndexUint32, imageCubeArray, independentBlend, geometryShader, tessellationShader, sampleRateShading, dualSrcBlend, logicOp, multiDrawIndirect, drawIndirectFirstInstance, depthClamp, depthBiasClamp, fillModeNonSolid, depthBounds, wideLines, largePoints, alphaToOne, multiViewport, samplerAnisotropy, textureCompressionETC2, textureCompressionASTC_LDR, textureCompressionBC, occlusionQueryPrecise, pipelineStatisticsQuery, vertexPipelineStoresAndAtomics, fragmentStoresAndAtomics, shaderTessellationAndGeometryPointSize, shaderImageGatherExtended, shaderStorageImageExtendedFormats, shaderStorageImageMultisample, shaderStorageImageReadWithoutFormat, shaderStorageImageWriteWithoutFormat, shaderUniformBufferArrayDynamicIndexing, shaderSampledImageArrayDynamicIndexing, shaderStorageBufferArrayDynamicIndexing, shaderStorageImageArrayDynamicIndexing, shaderClipDistance, shaderCullDistance, shaderFloat64, shaderInt64, shaderInt16, shaderResourceResidency, shaderResourceMinLod, sparseBinding, sparseResidencyBuffer, sparseResidencyImage2D, sparseResidencyImage3D, sparseResidency2Samples, sparseResidency4Samples, sparseResidency8Samples, sparseResidency16Samples, sparseResidencyAliased, variableMultisampleRate, inheritedQueries ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( PhysicalDeviceFeatures const & ) const = default; #else bool operator==( PhysicalDeviceFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( robustBufferAccess == rhs.robustBufferAccess ) && ( fullDrawIndexUint32 == rhs.fullDrawIndexUint32 ) && ( imageCubeArray == rhs.imageCubeArray ) && ( independentBlend == rhs.independentBlend ) && ( geometryShader == rhs.geometryShader ) && ( tessellationShader == rhs.tessellationShader ) && ( sampleRateShading == rhs.sampleRateShading ) && ( dualSrcBlend == rhs.dualSrcBlend ) && ( logicOp == rhs.logicOp ) && ( multiDrawIndirect == rhs.multiDrawIndirect ) && ( drawIndirectFirstInstance == rhs.drawIndirectFirstInstance ) && ( depthClamp == rhs.depthClamp ) && ( depthBiasClamp == rhs.depthBiasClamp ) && ( fillModeNonSolid == rhs.fillModeNonSolid ) && ( depthBounds == rhs.depthBounds ) && ( wideLines == rhs.wideLines ) && ( largePoints == rhs.largePoints ) && ( alphaToOne == rhs.alphaToOne ) && ( multiViewport == rhs.multiViewport ) && ( samplerAnisotropy == rhs.samplerAnisotropy ) && ( textureCompressionETC2 == rhs.textureCompressionETC2 ) && ( textureCompressionASTC_LDR == rhs.textureCompressionASTC_LDR ) && ( textureCompressionBC == rhs.textureCompressionBC ) && ( occlusionQueryPrecise == rhs.occlusionQueryPrecise ) && ( pipelineStatisticsQuery == rhs.pipelineStatisticsQuery ) && ( vertexPipelineStoresAndAtomics == rhs.vertexPipelineStoresAndAtomics ) && ( fragmentStoresAndAtomics == rhs.fragmentStoresAndAtomics ) && ( shaderTessellationAndGeometryPointSize == rhs.shaderTessellationAndGeometryPointSize ) && ( shaderImageGatherExtended == rhs.shaderImageGatherExtended ) && ( shaderStorageImageExtendedFormats == rhs.shaderStorageImageExtendedFormats ) && ( shaderStorageImageMultisample == rhs.shaderStorageImageMultisample ) && ( shaderStorageImageReadWithoutFormat == rhs.shaderStorageImageReadWithoutFormat ) && ( shaderStorageImageWriteWithoutFormat == rhs.shaderStorageImageWriteWithoutFormat ) && ( shaderUniformBufferArrayDynamicIndexing == rhs.shaderUniformBufferArrayDynamicIndexing ) && ( shaderSampledImageArrayDynamicIndexing == rhs.shaderSampledImageArrayDynamicIndexing ) && ( shaderStorageBufferArrayDynamicIndexing == rhs.shaderStorageBufferArrayDynamicIndexing ) && ( shaderStorageImageArrayDynamicIndexing == rhs.shaderStorageImageArrayDynamicIndexing ) && ( shaderClipDistance == rhs.shaderClipDistance ) && ( shaderCullDistance == rhs.shaderCullDistance ) && ( shaderFloat64 == rhs.shaderFloat64 ) && ( shaderInt64 == rhs.shaderInt64 ) && ( shaderInt16 == rhs.shaderInt16 ) && ( shaderResourceResidency == rhs.shaderResourceResidency ) && ( shaderResourceMinLod == rhs.shaderResourceMinLod ) && ( sparseBinding == rhs.sparseBinding ) && ( sparseResidencyBuffer == rhs.sparseResidencyBuffer ) && ( sparseResidencyImage2D == rhs.sparseResidencyImage2D ) && ( sparseResidencyImage3D == rhs.sparseResidencyImage3D ) && ( sparseResidency2Samples == rhs.sparseResidency2Samples ) && ( sparseResidency4Samples == rhs.sparseResidency4Samples ) && ( sparseResidency8Samples == rhs.sparseResidency8Samples ) && ( sparseResidency16Samples == rhs.sparseResidency16Samples ) && ( sparseResidencyAliased == rhs.sparseResidencyAliased ) && ( variableMultisampleRate == rhs.variableMultisampleRate ) && ( inheritedQueries == rhs.inheritedQueries ); # endif } bool operator!=( PhysicalDeviceFeatures const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: Bool32 robustBufferAccess = {}; Bool32 fullDrawIndexUint32 = {}; Bool32 imageCubeArray = {}; Bool32 independentBlend = {}; Bool32 geometryShader = {}; Bool32 tessellationShader = {}; Bool32 sampleRateShading = {}; Bool32 dualSrcBlend = {}; Bool32 logicOp = {}; Bool32 multiDrawIndirect = {}; Bool32 drawIndirectFirstInstance = {}; Bool32 depthClamp = {}; Bool32 depthBiasClamp = {}; Bool32 fillModeNonSolid = {}; Bool32 depthBounds = {}; Bool32 wideLines = {}; Bool32 largePoints = {}; Bool32 alphaToOne = {}; Bool32 multiViewport = {}; Bool32 samplerAnisotropy = {}; Bool32 textureCompressionETC2 = {}; Bool32 textureCompressionASTC_LDR = {}; Bool32 textureCompressionBC = {}; Bool32 occlusionQueryPrecise = {}; Bool32 pipelineStatisticsQuery = {}; Bool32 vertexPipelineStoresAndAtomics = {}; Bool32 fragmentStoresAndAtomics = {}; Bool32 shaderTessellationAndGeometryPointSize = {}; Bool32 shaderImageGatherExtended = {}; Bool32 shaderStorageImageExtendedFormats = {}; Bool32 shaderStorageImageMultisample = {}; Bool32 shaderStorageImageReadWithoutFormat = {}; Bool32 shaderStorageImageWriteWithoutFormat = {}; Bool32 shaderUniformBufferArrayDynamicIndexing = {}; Bool32 shaderSampledImageArrayDynamicIndexing = {}; Bool32 shaderStorageBufferArrayDynamicIndexing = {}; Bool32 shaderStorageImageArrayDynamicIndexing = {}; Bool32 shaderClipDistance = {}; Bool32 shaderCullDistance = {}; Bool32 shaderFloat64 = {}; Bool32 shaderInt64 = {}; Bool32 shaderInt16 = {}; Bool32 shaderResourceResidency = {}; Bool32 shaderResourceMinLod = {}; Bool32 sparseBinding = {}; Bool32 sparseResidencyBuffer = {}; Bool32 sparseResidencyImage2D = {}; Bool32 sparseResidencyImage3D = {}; Bool32 sparseResidency2Samples = {}; Bool32 sparseResidency4Samples = {}; Bool32 sparseResidency8Samples = {}; Bool32 sparseResidency16Samples = {}; Bool32 sparseResidencyAliased = {}; Bool32 variableMultisampleRate = {}; Bool32 inheritedQueries = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkPhysicalDeviceFeatures> { using Type = PhysicalDeviceFeatures; }; #endif // wrapper struct for struct VkDeviceCreateInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceCreateInfo.html struct DeviceCreateInfo { using NativeType = VkDeviceCreateInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceCreateInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) # if defined( _MSC_VER ) # pragma warning( push ) # pragma warning( disable : 4996 ) // 'function': was declared deprecated # elif defined( __clang__ ) # pragma clang diagnostic push # pragma clang diagnostic ignored "-Wdeprecated-declarations" # elif defined( __GNUC__ ) # pragma GCC diagnostic push # pragma GCC diagnostic ignored "-Wdeprecated-declarations" # else // unknown compiler... just ignore the warnings for yourselves ;) # endif VULKAN_HPP_CONSTEXPR_17 DeviceCreateInfo( DeviceCreateFlags flags_ = {}, uint32_t queueCreateInfoCount_ = {}, const DeviceQueueCreateInfo * pQueueCreateInfos_ = {}, uint32_t enabledLayerCount_ = {}, const char * const * ppEnabledLayerNames_ = {}, uint32_t enabledExtensionCount_ = {}, const char * const * ppEnabledExtensionNames_ = {}, const PhysicalDeviceFeatures * pEnabledFeatures_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , queueCreateInfoCount{ queueCreateInfoCount_ } , pQueueCreateInfos{ pQueueCreateInfos_ } , enabledLayerCount{ enabledLayerCount_ } , ppEnabledLayerNames{ ppEnabledLayerNames_ } , enabledExtensionCount{ enabledExtensionCount_ } , ppEnabledExtensionNames{ ppEnabledExtensionNames_ } , pEnabledFeatures{ pEnabledFeatures_ } { } VULKAN_HPP_CONSTEXPR_17 DeviceCreateInfo( DeviceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; DeviceCreateInfo( VkDeviceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : DeviceCreateInfo( *reinterpret_cast<DeviceCreateInfo const *>( &rhs ) ) {} # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DeviceCreateInfo( DeviceCreateFlags flags_, ArrayProxyNoTemporaries<const DeviceQueueCreateInfo> const & queueCreateInfos_, ArrayProxyNoTemporaries<const char * const> const & pEnabledLayerNames_ = {}, ArrayProxyNoTemporaries<const char * const> const & pEnabledExtensionNames_ = {}, const PhysicalDeviceFeatures * pEnabledFeatures_ = {}, const void * pNext_ = nullptr ) : pNext( pNext_ ) , flags( flags_ ) , queueCreateInfoCount( static_cast<uint32_t>( queueCreateInfos_.size() ) ) , pQueueCreateInfos( queueCreateInfos_.data() ) , enabledLayerCount( static_cast<uint32_t>( pEnabledLayerNames_.size() ) ) , ppEnabledLayerNames( pEnabledLayerNames_.data() ) , enabledExtensionCount( static_cast<uint32_t>( pEnabledExtensionNames_.size() ) ) , ppEnabledExtensionNames( pEnabledExtensionNames_.data() ) , pEnabledFeatures( pEnabledFeatures_ ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ DeviceCreateInfo & operator=( DeviceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; # if defined( _MSC_VER ) # pragma warning( pop ) # elif defined( __clang__ ) # pragma clang diagnostic pop # elif defined( __GNUC__ ) # pragma GCC diagnostic pop # else // unknown compiler... just ignore the warnings for yourselves ;) # endif #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DeviceCreateInfo & operator=( VkDeviceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT { pNext = rhs.pNext; flags = static_cast<DeviceCreateFlags>( rhs.flags ); queueCreateInfoCount = rhs.queueCreateInfoCount; pQueueCreateInfos = reinterpret_cast<const DeviceQueueCreateInfo *>( rhs.pQueueCreateInfos ); enabledExtensionCount = rhs.enabledExtensionCount; ppEnabledExtensionNames = rhs.ppEnabledExtensionNames; pEnabledFeatures = reinterpret_cast<const PhysicalDeviceFeatures *>( rhs.pEnabledFeatures ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DeviceCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceCreateInfo & setFlags( DeviceCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceCreateInfo & setQueueCreateInfoCount( uint32_t queueCreateInfoCount_ ) VULKAN_HPP_NOEXCEPT { queueCreateInfoCount = queueCreateInfoCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceCreateInfo & setPQueueCreateInfos( const DeviceQueueCreateInfo * pQueueCreateInfos_ ) VULKAN_HPP_NOEXCEPT { pQueueCreateInfos = pQueueCreateInfos_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DeviceCreateInfo & setQueueCreateInfos( ArrayProxyNoTemporaries<const DeviceQueueCreateInfo> const & queueCreateInfos_ ) VULKAN_HPP_NOEXCEPT { queueCreateInfoCount = static_cast<uint32_t>( queueCreateInfos_.size() ); pQueueCreateInfos = queueCreateInfos_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_DEPRECATED( "ignored" ) VULKAN_HPP_CONSTEXPR_14 DeviceCreateInfo & setEnabledLayerCount( uint32_t enabledLayerCount_ ) VULKAN_HPP_NOEXCEPT { detail::ignore( enabledLayerCount_ ); return *this; } VULKAN_HPP_DEPRECATED( "ignored" ) VULKAN_HPP_CONSTEXPR_14 DeviceCreateInfo & setPpEnabledLayerNames( const char * const * ppEnabledLayerNames_ ) VULKAN_HPP_NOEXCEPT { detail::ignore( ppEnabledLayerNames_ ); return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) VULKAN_HPP_DEPRECATED( "ignored" ) DeviceCreateInfo & setPEnabledLayerNames( ArrayProxyNoTemporaries<const char * const> const & pEnabledLayerNames_ ) VULKAN_HPP_NOEXCEPT { detail::ignore( pEnabledLayerNames_ ); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 DeviceCreateInfo & setEnabledExtensionCount( uint32_t enabledExtensionCount_ ) VULKAN_HPP_NOEXCEPT { enabledExtensionCount = enabledExtensionCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceCreateInfo & setPpEnabledExtensionNames( const char * const * ppEnabledExtensionNames_ ) VULKAN_HPP_NOEXCEPT { ppEnabledExtensionNames = ppEnabledExtensionNames_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DeviceCreateInfo & setPEnabledExtensionNames( ArrayProxyNoTemporaries<const char * const> const & pEnabledExtensionNames_ ) VULKAN_HPP_NOEXCEPT { enabledExtensionCount = static_cast<uint32_t>( pEnabledExtensionNames_.size() ); ppEnabledExtensionNames = pEnabledExtensionNames_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 DeviceCreateInfo & setPEnabledFeatures( const PhysicalDeviceFeatures * pEnabledFeatures_ ) VULKAN_HPP_NOEXCEPT { pEnabledFeatures = pEnabledFeatures_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDeviceCreateInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDeviceCreateInfo *>( this ); } operator VkDeviceCreateInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDeviceCreateInfo *>( this ); } operator VkDeviceCreateInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDeviceCreateInfo *>( this ); } operator VkDeviceCreateInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDeviceCreateInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DeviceCreateFlags const &, uint32_t const &, const DeviceQueueCreateInfo * const &, uint32_t const &, const char * const * const &, uint32_t const &, const char * const * const &, const PhysicalDeviceFeatures * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, queueCreateInfoCount, pQueueCreateInfos, enabledLayerCount, ppEnabledLayerNames, enabledExtensionCount, ppEnabledExtensionNames, pEnabledFeatures ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) std::strong_ordering operator<=>( DeviceCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { if ( auto cmp = sType <=> rhs.sType; cmp != 0 ) return cmp; if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 ) return cmp; if ( auto cmp = flags <=> rhs.flags; cmp != 0 ) return cmp; if ( auto cmp = queueCreateInfoCount <=> rhs.queueCreateInfoCount; cmp != 0 ) return cmp; if ( auto cmp = pQueueCreateInfos <=> rhs.pQueueCreateInfos; cmp != 0 ) return cmp; if ( auto cmp = enabledExtensionCount <=> rhs.enabledExtensionCount; cmp != 0 ) return cmp; for ( size_t i = 0; i < enabledExtensionCount; ++i ) { if ( ppEnabledExtensionNames[i] != rhs.ppEnabledExtensionNames[i] ) if ( auto cmp = strcmp( ppEnabledExtensionNames[i], rhs.ppEnabledExtensionNames[i] ); cmp != 0 ) return cmp < 0 ? std::strong_ordering::less : std::strong_ordering::greater; } if ( auto cmp = pEnabledFeatures <=> rhs.pEnabledFeatures; cmp != 0 ) return cmp; return std::strong_ordering::equivalent; } #endif bool operator==( DeviceCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( queueCreateInfoCount == rhs.queueCreateInfoCount ) && ( pQueueCreateInfos == rhs.pQueueCreateInfos ) && ( enabledExtensionCount == rhs.enabledExtensionCount ) && std::equal( ppEnabledExtensionNames, ppEnabledExtensionNames + enabledExtensionCount, rhs.ppEnabledExtensionNames, []( char const * left, char const * right ) { return ( left == right ) || ( strcmp( left, right ) == 0 ); } ) && ( pEnabledFeatures == rhs.pEnabledFeatures ); } bool operator!=( DeviceCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } public: StructureType sType = StructureType::eDeviceCreateInfo; const void * pNext = {}; DeviceCreateFlags flags = {}; uint32_t queueCreateInfoCount = {}; const DeviceQueueCreateInfo * pQueueCreateInfos = {}; VULKAN_HPP_DEPRECATED( "ignored" ) uint32_t enabledLayerCount; VULKAN_HPP_DEPRECATED( "ignored" ) const char * const * ppEnabledLayerNames; uint32_t enabledExtensionCount = {}; const char * const * ppEnabledExtensionNames = {}; const PhysicalDeviceFeatures * pEnabledFeatures = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDeviceCreateInfo> { using Type = DeviceCreateInfo; }; #endif template <> struct CppType<StructureType, StructureType::eDeviceCreateInfo> { using Type = DeviceCreateInfo; }; // wrapper struct for struct VkDeviceMemoryReportCallbackDataEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceMemoryReportCallbackDataEXT.html struct DeviceMemoryReportCallbackDataEXT { using NativeType = VkDeviceMemoryReportCallbackDataEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceMemoryReportCallbackDataEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DeviceMemoryReportCallbackDataEXT( DeviceMemoryReportFlagsEXT flags_ = {}, DeviceMemoryReportEventTypeEXT type_ = DeviceMemoryReportEventTypeEXT::eAllocate, uint64_t memoryObjectId_ = {}, DeviceSize size_ = {}, ObjectType objectType_ = ObjectType::eUnknown, uint64_t objectHandle_ = {}, uint32_t heapIndex_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , type{ type_ } , memoryObjectId{ memoryObjectId_ } , size{ size_ } , objectType{ objectType_ } , objectHandle{ objectHandle_ } , heapIndex{ heapIndex_ } { } VULKAN_HPP_CONSTEXPR DeviceMemoryReportCallbackDataEXT( DeviceMemoryReportCallbackDataEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; DeviceMemoryReportCallbackDataEXT( VkDeviceMemoryReportCallbackDataEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DeviceMemoryReportCallbackDataEXT( *reinterpret_cast<DeviceMemoryReportCallbackDataEXT const *>( &rhs ) ) { } DeviceMemoryReportCallbackDataEXT & operator=( DeviceMemoryReportCallbackDataEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DeviceMemoryReportCallbackDataEXT & operator=( VkDeviceMemoryReportCallbackDataEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DeviceMemoryReportCallbackDataEXT const *>( &rhs ); return *this; } operator VkDeviceMemoryReportCallbackDataEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDeviceMemoryReportCallbackDataEXT *>( this ); } operator VkDeviceMemoryReportCallbackDataEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDeviceMemoryReportCallbackDataEXT *>( this ); } operator VkDeviceMemoryReportCallbackDataEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDeviceMemoryReportCallbackDataEXT *>( this ); } operator VkDeviceMemoryReportCallbackDataEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDeviceMemoryReportCallbackDataEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, DeviceMemoryReportFlagsEXT const &, DeviceMemoryReportEventTypeEXT const &, uint64_t const &, DeviceSize const &, ObjectType const &, uint64_t const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, type, memoryObjectId, size, objectType, objectHandle, heapIndex ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DeviceMemoryReportCallbackDataEXT const & ) const = default; #else bool operator==( DeviceMemoryReportCallbackDataEXT 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 ) && ( flags == rhs.flags ) && ( type == rhs.type ) && ( memoryObjectId == rhs.memoryObjectId ) && ( size == rhs.size ) && ( objectType == rhs.objectType ) && ( objectHandle == rhs.objectHandle ) && ( heapIndex == rhs.heapIndex ); # endif } bool operator!=( DeviceMemoryReportCallbackDataEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDeviceMemoryReportCallbackDataEXT; void * pNext = {}; DeviceMemoryReportFlagsEXT flags = {}; DeviceMemoryReportEventTypeEXT type = DeviceMemoryReportEventTypeEXT::eAllocate; uint64_t memoryObjectId = {}; DeviceSize size = {}; ObjectType objectType = ObjectType::eUnknown; uint64_t objectHandle = {}; uint32_t heapIndex = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDeviceMemoryReportCallbackDataEXT> { using Type = DeviceMemoryReportCallbackDataEXT; }; #endif template <> struct CppType<StructureType, StructureType::eDeviceMemoryReportCallbackDataEXT> { using Type = DeviceMemoryReportCallbackDataEXT; }; typedef void( VKAPI_PTR * PFN_DeviceMemoryReportCallbackEXT )( const DeviceMemoryReportCallbackDataEXT * pCallbackData, void * pUserData ); // wrapper struct for struct VkDeviceDeviceMemoryReportCreateInfoEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceDeviceMemoryReportCreateInfoEXT.html struct DeviceDeviceMemoryReportCreateInfoEXT { using NativeType = VkDeviceDeviceMemoryReportCreateInfoEXT; static const bool allowDuplicate = true; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceDeviceMemoryReportCreateInfoEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DeviceDeviceMemoryReportCreateInfoEXT( DeviceMemoryReportFlagsEXT flags_ = {}, PFN_DeviceMemoryReportCallbackEXT pfnUserCallback_ = {}, void * pUserData_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , pfnUserCallback{ pfnUserCallback_ } , pUserData{ pUserData_ } { } VULKAN_HPP_CONSTEXPR DeviceDeviceMemoryReportCreateInfoEXT( DeviceDeviceMemoryReportCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; DeviceDeviceMemoryReportCreateInfoEXT( VkDeviceDeviceMemoryReportCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DeviceDeviceMemoryReportCreateInfoEXT( *reinterpret_cast<DeviceDeviceMemoryReportCreateInfoEXT const *>( &rhs ) ) { } # if defined( __clang__ ) || defined( __GNUC__ ) # pragma GCC diagnostic push # if defined( __clang__ ) # pragma clang diagnostic ignored "-Wunknown-warning-option" # endif # pragma GCC diagnostic ignored "-Wcast-function-type" # endif VULKAN_HPP_DEPRECATED( "This constructor is deprecated. Use the one taking function pointer types from the vk-namespace instead." ) DeviceDeviceMemoryReportCreateInfoEXT( DeviceMemoryReportFlagsEXT flags_, PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback_, void * pUserData_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : DeviceDeviceMemoryReportCreateInfoEXT( flags_, reinterpret_cast<PFN_DeviceMemoryReportCallbackEXT>( pfnUserCallback_ ), pUserData_, pNext_ ) { } # if defined( __clang__ ) || defined( __GNUC__ ) # pragma GCC diagnostic pop # endif DeviceDeviceMemoryReportCreateInfoEXT & operator=( DeviceDeviceMemoryReportCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DeviceDeviceMemoryReportCreateInfoEXT & operator=( VkDeviceDeviceMemoryReportCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DeviceDeviceMemoryReportCreateInfoEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DeviceDeviceMemoryReportCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceDeviceMemoryReportCreateInfoEXT & setFlags( DeviceMemoryReportFlagsEXT flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceDeviceMemoryReportCreateInfoEXT & setPfnUserCallback( PFN_DeviceMemoryReportCallbackEXT pfnUserCallback_ ) VULKAN_HPP_NOEXCEPT { pfnUserCallback = pfnUserCallback_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceDeviceMemoryReportCreateInfoEXT & setPUserData( void * pUserData_ ) VULKAN_HPP_NOEXCEPT { pUserData = pUserData_; return *this; } # if defined( __clang__ ) || defined( __GNUC__ ) # pragma GCC diagnostic push # if defined( __clang__ ) # pragma clang diagnostic ignored "-Wunknown-warning-option" # endif # pragma GCC diagnostic ignored "-Wcast-function-type" # endif VULKAN_HPP_DEPRECATED( "This setter is deprecated. Use the one taking a function pointer type from the vk-namespace instead." ) DeviceDeviceMemoryReportCreateInfoEXT & setPfnUserCallback( PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback_ ) VULKAN_HPP_NOEXCEPT { return setPfnUserCallback( reinterpret_cast<PFN_DeviceMemoryReportCallbackEXT>( pfnUserCallback_ ) ); } # if defined( __clang__ ) || defined( __GNUC__ ) # pragma GCC diagnostic pop # endif #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDeviceDeviceMemoryReportCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDeviceDeviceMemoryReportCreateInfoEXT *>( this ); } operator VkDeviceDeviceMemoryReportCreateInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDeviceDeviceMemoryReportCreateInfoEXT *>( this ); } operator VkDeviceDeviceMemoryReportCreateInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDeviceDeviceMemoryReportCreateInfoEXT *>( this ); } operator VkDeviceDeviceMemoryReportCreateInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDeviceDeviceMemoryReportCreateInfoEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DeviceMemoryReportFlagsEXT const &, PFN_DeviceMemoryReportCallbackEXT const &, void * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, pfnUserCallback, pUserData ); } #endif bool operator==( DeviceDeviceMemoryReportCreateInfoEXT 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 ) && ( flags == rhs.flags ) && ( pfnUserCallback == rhs.pfnUserCallback ) && ( pUserData == rhs.pUserData ); #endif } bool operator!=( DeviceDeviceMemoryReportCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } public: StructureType sType = StructureType::eDeviceDeviceMemoryReportCreateInfoEXT; const void * pNext = {}; DeviceMemoryReportFlagsEXT flags = {}; PFN_DeviceMemoryReportCallbackEXT pfnUserCallback = {}; void * pUserData = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDeviceDeviceMemoryReportCreateInfoEXT> { using Type = DeviceDeviceMemoryReportCreateInfoEXT; }; #endif template <> struct CppType<StructureType, StructureType::eDeviceDeviceMemoryReportCreateInfoEXT> { using Type = DeviceDeviceMemoryReportCreateInfoEXT; }; // wrapper struct for struct VkDeviceDiagnosticsConfigCreateInfoNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceDiagnosticsConfigCreateInfoNV.html struct DeviceDiagnosticsConfigCreateInfoNV { using NativeType = VkDeviceDiagnosticsConfigCreateInfoNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceDiagnosticsConfigCreateInfoNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DeviceDiagnosticsConfigCreateInfoNV( DeviceDiagnosticsConfigFlagsNV flags_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } { } VULKAN_HPP_CONSTEXPR DeviceDiagnosticsConfigCreateInfoNV( DeviceDiagnosticsConfigCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; DeviceDiagnosticsConfigCreateInfoNV( VkDeviceDiagnosticsConfigCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT : DeviceDiagnosticsConfigCreateInfoNV( *reinterpret_cast<DeviceDiagnosticsConfigCreateInfoNV const *>( &rhs ) ) { } DeviceDiagnosticsConfigCreateInfoNV & operator=( DeviceDiagnosticsConfigCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DeviceDiagnosticsConfigCreateInfoNV & operator=( VkDeviceDiagnosticsConfigCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DeviceDiagnosticsConfigCreateInfoNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DeviceDiagnosticsConfigCreateInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceDiagnosticsConfigCreateInfoNV & setFlags( DeviceDiagnosticsConfigFlagsNV flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDeviceDiagnosticsConfigCreateInfoNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDeviceDiagnosticsConfigCreateInfoNV *>( this ); } operator VkDeviceDiagnosticsConfigCreateInfoNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDeviceDiagnosticsConfigCreateInfoNV *>( this ); } operator VkDeviceDiagnosticsConfigCreateInfoNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDeviceDiagnosticsConfigCreateInfoNV *>( this ); } operator VkDeviceDiagnosticsConfigCreateInfoNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDeviceDiagnosticsConfigCreateInfoNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DeviceDiagnosticsConfigFlagsNV const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DeviceDiagnosticsConfigCreateInfoNV const & ) const = default; #else bool operator==( DeviceDiagnosticsConfigCreateInfoNV 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 ) && ( flags == rhs.flags ); # endif } bool operator!=( DeviceDiagnosticsConfigCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDeviceDiagnosticsConfigCreateInfoNV; const void * pNext = {}; DeviceDiagnosticsConfigFlagsNV flags = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDeviceDiagnosticsConfigCreateInfoNV> { using Type = DeviceDiagnosticsConfigCreateInfoNV; }; #endif template <> struct CppType<StructureType, StructureType::eDeviceDiagnosticsConfigCreateInfoNV> { using Type = DeviceDiagnosticsConfigCreateInfoNV; }; // wrapper struct for struct VkDeviceEventInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceEventInfoEXT.html struct DeviceEventInfoEXT { using NativeType = VkDeviceEventInfoEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceEventInfoEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DeviceEventInfoEXT( DeviceEventTypeEXT deviceEvent_ = DeviceEventTypeEXT::eDisplayHotplug, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , deviceEvent{ deviceEvent_ } { } VULKAN_HPP_CONSTEXPR DeviceEventInfoEXT( DeviceEventInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; DeviceEventInfoEXT( VkDeviceEventInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DeviceEventInfoEXT( *reinterpret_cast<DeviceEventInfoEXT const *>( &rhs ) ) {} DeviceEventInfoEXT & operator=( DeviceEventInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DeviceEventInfoEXT & operator=( VkDeviceEventInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DeviceEventInfoEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DeviceEventInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceEventInfoEXT & setDeviceEvent( DeviceEventTypeEXT deviceEvent_ ) VULKAN_HPP_NOEXCEPT { deviceEvent = deviceEvent_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDeviceEventInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDeviceEventInfoEXT *>( this ); } operator VkDeviceEventInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDeviceEventInfoEXT *>( this ); } operator VkDeviceEventInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDeviceEventInfoEXT *>( this ); } operator VkDeviceEventInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDeviceEventInfoEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DeviceEventTypeEXT const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, deviceEvent ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DeviceEventInfoEXT const & ) const = default; #else bool operator==( DeviceEventInfoEXT 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 ) && ( deviceEvent == rhs.deviceEvent ); # endif } bool operator!=( DeviceEventInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDeviceEventInfoEXT; const void * pNext = {}; DeviceEventTypeEXT deviceEvent = DeviceEventTypeEXT::eDisplayHotplug; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDeviceEventInfoEXT> { using Type = DeviceEventInfoEXT; }; #endif template <> struct CppType<StructureType, StructureType::eDeviceEventInfoEXT> { using Type = DeviceEventInfoEXT; }; // wrapper struct for struct VkDeviceFaultAddressInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceFaultAddressInfoEXT.html struct DeviceFaultAddressInfoEXT { using NativeType = VkDeviceFaultAddressInfoEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DeviceFaultAddressInfoEXT( DeviceFaultAddressTypeEXT addressType_ = DeviceFaultAddressTypeEXT::eNone, DeviceAddress reportedAddress_ = {}, DeviceSize addressPrecision_ = {} ) VULKAN_HPP_NOEXCEPT : addressType{ addressType_ } , reportedAddress{ reportedAddress_ } , addressPrecision{ addressPrecision_ } { } VULKAN_HPP_CONSTEXPR DeviceFaultAddressInfoEXT( DeviceFaultAddressInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; DeviceFaultAddressInfoEXT( VkDeviceFaultAddressInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DeviceFaultAddressInfoEXT( *reinterpret_cast<DeviceFaultAddressInfoEXT const *>( &rhs ) ) { } DeviceFaultAddressInfoEXT & operator=( DeviceFaultAddressInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DeviceFaultAddressInfoEXT & operator=( VkDeviceFaultAddressInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DeviceFaultAddressInfoEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DeviceFaultAddressInfoEXT & setAddressType( DeviceFaultAddressTypeEXT addressType_ ) VULKAN_HPP_NOEXCEPT { addressType = addressType_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceFaultAddressInfoEXT & setReportedAddress( DeviceAddress reportedAddress_ ) VULKAN_HPP_NOEXCEPT { reportedAddress = reportedAddress_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceFaultAddressInfoEXT & setAddressPrecision( DeviceSize addressPrecision_ ) VULKAN_HPP_NOEXCEPT { addressPrecision = addressPrecision_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDeviceFaultAddressInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDeviceFaultAddressInfoEXT *>( this ); } operator VkDeviceFaultAddressInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDeviceFaultAddressInfoEXT *>( this ); } operator VkDeviceFaultAddressInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDeviceFaultAddressInfoEXT *>( this ); } operator VkDeviceFaultAddressInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDeviceFaultAddressInfoEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<DeviceFaultAddressTypeEXT const &, DeviceAddress const &, DeviceSize const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( addressType, reportedAddress, addressPrecision ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DeviceFaultAddressInfoEXT const & ) const = default; #else bool operator==( DeviceFaultAddressInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( addressType == rhs.addressType ) && ( reportedAddress == rhs.reportedAddress ) && ( addressPrecision == rhs.addressPrecision ); # endif } bool operator!=( DeviceFaultAddressInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: DeviceFaultAddressTypeEXT addressType = DeviceFaultAddressTypeEXT::eNone; DeviceAddress reportedAddress = {}; DeviceSize addressPrecision = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDeviceFaultAddressInfoEXT> { using Type = DeviceFaultAddressInfoEXT; }; #endif // wrapper struct for struct VkDeviceFaultCountsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceFaultCountsEXT.html struct DeviceFaultCountsEXT { using NativeType = VkDeviceFaultCountsEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceFaultCountsEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DeviceFaultCountsEXT( uint32_t addressInfoCount_ = {}, uint32_t vendorInfoCount_ = {}, DeviceSize vendorBinarySize_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , addressInfoCount{ addressInfoCount_ } , vendorInfoCount{ vendorInfoCount_ } , vendorBinarySize{ vendorBinarySize_ } { } VULKAN_HPP_CONSTEXPR DeviceFaultCountsEXT( DeviceFaultCountsEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; DeviceFaultCountsEXT( VkDeviceFaultCountsEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DeviceFaultCountsEXT( *reinterpret_cast<DeviceFaultCountsEXT const *>( &rhs ) ) { } DeviceFaultCountsEXT & operator=( DeviceFaultCountsEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DeviceFaultCountsEXT & operator=( VkDeviceFaultCountsEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DeviceFaultCountsEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DeviceFaultCountsEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceFaultCountsEXT & setAddressInfoCount( uint32_t addressInfoCount_ ) VULKAN_HPP_NOEXCEPT { addressInfoCount = addressInfoCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceFaultCountsEXT & setVendorInfoCount( uint32_t vendorInfoCount_ ) VULKAN_HPP_NOEXCEPT { vendorInfoCount = vendorInfoCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceFaultCountsEXT & setVendorBinarySize( DeviceSize vendorBinarySize_ ) VULKAN_HPP_NOEXCEPT { vendorBinarySize = vendorBinarySize_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDeviceFaultCountsEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDeviceFaultCountsEXT *>( this ); } operator VkDeviceFaultCountsEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDeviceFaultCountsEXT *>( this ); } operator VkDeviceFaultCountsEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDeviceFaultCountsEXT *>( this ); } operator VkDeviceFaultCountsEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDeviceFaultCountsEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, uint32_t const &, uint32_t const &, DeviceSize const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, addressInfoCount, vendorInfoCount, vendorBinarySize ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DeviceFaultCountsEXT const & ) const = default; #else bool operator==( DeviceFaultCountsEXT 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 ) && ( addressInfoCount == rhs.addressInfoCount ) && ( vendorInfoCount == rhs.vendorInfoCount ) && ( vendorBinarySize == rhs.vendorBinarySize ); # endif } bool operator!=( DeviceFaultCountsEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDeviceFaultCountsEXT; void * pNext = {}; uint32_t addressInfoCount = {}; uint32_t vendorInfoCount = {}; DeviceSize vendorBinarySize = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDeviceFaultCountsEXT> { using Type = DeviceFaultCountsEXT; }; #endif template <> struct CppType<StructureType, StructureType::eDeviceFaultCountsEXT> { using Type = DeviceFaultCountsEXT; }; // wrapper struct for struct VkDeviceFaultVendorInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceFaultVendorInfoEXT.html struct DeviceFaultVendorInfoEXT { using NativeType = VkDeviceFaultVendorInfoEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorInfoEXT( std::array<char, VK_MAX_DESCRIPTION_SIZE> const & description_ = {}, uint64_t vendorFaultCode_ = {}, uint64_t vendorFaultData_ = {} ) VULKAN_HPP_NOEXCEPT : description{ description_ } , vendorFaultCode{ vendorFaultCode_ } , vendorFaultData{ vendorFaultData_ } { } VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorInfoEXT( DeviceFaultVendorInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; DeviceFaultVendorInfoEXT( VkDeviceFaultVendorInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DeviceFaultVendorInfoEXT( *reinterpret_cast<DeviceFaultVendorInfoEXT const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DeviceFaultVendorInfoEXT( std::string const & description_, uint64_t vendorFaultCode_ = {}, uint64_t vendorFaultData_ = {} ) : vendorFaultCode( vendorFaultCode_ ), vendorFaultData( vendorFaultData_ ) { VULKAN_HPP_ASSERT( description_.size() < VK_MAX_DESCRIPTION_SIZE ); # if defined( _WIN32 ) strncpy_s( description, VK_MAX_DESCRIPTION_SIZE, description_.data(), description_.size() ); # else strncpy( description, description_.data(), std::min<size_t>( VK_MAX_DESCRIPTION_SIZE, description_.size() ) ); # endif } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ DeviceFaultVendorInfoEXT & operator=( DeviceFaultVendorInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DeviceFaultVendorInfoEXT & operator=( VkDeviceFaultVendorInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DeviceFaultVendorInfoEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorInfoEXT & setDescription( std::array<char, VK_MAX_DESCRIPTION_SIZE> description_ ) VULKAN_HPP_NOEXCEPT { description = description_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DeviceFaultVendorInfoEXT & setDescription( std::string const & description_ ) VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( description_.size() < VK_MAX_DESCRIPTION_SIZE ); # if defined( _WIN32 ) strncpy_s( description, VK_MAX_DESCRIPTION_SIZE, description_.data(), description_.size() ); # else strncpy( description, description_.data(), std::min<size_t>( VK_MAX_DESCRIPTION_SIZE, description_.size() ) ); # endif return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorInfoEXT & setVendorFaultCode( uint64_t vendorFaultCode_ ) VULKAN_HPP_NOEXCEPT { vendorFaultCode = vendorFaultCode_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorInfoEXT & setVendorFaultData( uint64_t vendorFaultData_ ) VULKAN_HPP_NOEXCEPT { vendorFaultData = vendorFaultData_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDeviceFaultVendorInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDeviceFaultVendorInfoEXT *>( this ); } operator VkDeviceFaultVendorInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDeviceFaultVendorInfoEXT *>( this ); } operator VkDeviceFaultVendorInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDeviceFaultVendorInfoEXT *>( this ); } operator VkDeviceFaultVendorInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDeviceFaultVendorInfoEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<ArrayWrapper1D<char, VK_MAX_DESCRIPTION_SIZE> const &, uint64_t const &, uint64_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( description, vendorFaultCode, vendorFaultData ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) std::strong_ordering operator<=>( DeviceFaultVendorInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { if ( auto cmp = strcmp( description, rhs.description ); cmp != 0 ) return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater; if ( auto cmp = vendorFaultCode <=> rhs.vendorFaultCode; cmp != 0 ) return cmp; if ( auto cmp = vendorFaultData <=> rhs.vendorFaultData; cmp != 0 ) return cmp; return std::strong_ordering::equivalent; } #endif bool operator==( DeviceFaultVendorInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return ( strcmp( description, rhs.description ) == 0 ) && ( vendorFaultCode == rhs.vendorFaultCode ) && ( vendorFaultData == rhs.vendorFaultData ); } bool operator!=( DeviceFaultVendorInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } public: ArrayWrapper1D<char, VK_MAX_DESCRIPTION_SIZE> description = {}; uint64_t vendorFaultCode = {}; uint64_t vendorFaultData = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDeviceFaultVendorInfoEXT> { using Type = DeviceFaultVendorInfoEXT; }; #endif // wrapper struct for struct VkDeviceFaultInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceFaultInfoEXT.html struct DeviceFaultInfoEXT { using NativeType = VkDeviceFaultInfoEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceFaultInfoEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 DeviceFaultInfoEXT( std::array<char, VK_MAX_DESCRIPTION_SIZE> const & description_ = {}, DeviceFaultAddressInfoEXT * pAddressInfos_ = {}, DeviceFaultVendorInfoEXT * pVendorInfos_ = {}, void * pVendorBinaryData_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , description{ description_ } , pAddressInfos{ pAddressInfos_ } , pVendorInfos{ pVendorInfos_ } , pVendorBinaryData{ pVendorBinaryData_ } { } # ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE VULKAN_HPP_CONSTEXPR_14 DeviceFaultInfoEXT( DeviceFaultInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; DeviceFaultInfoEXT( VkDeviceFaultInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DeviceFaultInfoEXT( *reinterpret_cast<DeviceFaultInfoEXT const *>( &rhs ) ) {} DeviceFaultInfoEXT & operator=( DeviceFaultInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; # else DeviceFaultInfoEXT( DeviceFaultInfoEXT const & ) = delete; DeviceFaultInfoEXT & operator=( DeviceFaultInfoEXT const & ) = delete; DeviceFaultInfoEXT( DeviceFaultInfoEXT && rhs ) VULKAN_HPP_NOEXCEPT : pNext{ rhs.pNext } , pAddressInfos{ rhs.pAddressInfos } , pVendorInfos{ rhs.pVendorInfos } , pVendorBinaryData{ rhs.pVendorBinaryData } { memcpy( description, rhs.description, VK_MAX_DESCRIPTION_SIZE ); rhs.pNext = nullptr; memset( rhs.description, 0, VK_MAX_DESCRIPTION_SIZE ); rhs.pAddressInfos = nullptr; rhs.pVendorInfos = nullptr; rhs.pVendorBinaryData = nullptr; } DeviceFaultInfoEXT & operator=( DeviceFaultInfoEXT && rhs ) VULKAN_HPP_NOEXCEPT { free( pAddressInfos ); free( pVendorInfos ); free( pVendorBinaryData ); pNext = rhs.pNext; memcpy( description, rhs.description, VK_MAX_DESCRIPTION_SIZE ); pAddressInfos = rhs.pAddressInfos; pVendorInfos = rhs.pVendorInfos; pVendorBinaryData = rhs.pVendorBinaryData; rhs.pNext = nullptr; memset( rhs.description, 0, VK_MAX_DESCRIPTION_SIZE ); rhs.pAddressInfos = nullptr; rhs.pVendorInfos = nullptr; rhs.pVendorBinaryData = nullptr; return *this; } ~DeviceFaultInfoEXT() VULKAN_HPP_NOEXCEPT { free( pAddressInfos ); free( pVendorInfos ); free( pVendorBinaryData ); } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ operator VkDeviceFaultInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDeviceFaultInfoEXT *>( this ); } operator VkDeviceFaultInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDeviceFaultInfoEXT *>( this ); } operator VkDeviceFaultInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDeviceFaultInfoEXT *>( this ); } operator VkDeviceFaultInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDeviceFaultInfoEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, ArrayWrapper1D<char, VK_MAX_DESCRIPTION_SIZE> const &, DeviceFaultAddressInfoEXT * const &, DeviceFaultVendorInfoEXT * const &, void * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, description, pAddressInfos, pVendorInfos, pVendorBinaryData ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) std::strong_ordering operator<=>( DeviceFaultInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { if ( auto cmp = sType <=> rhs.sType; cmp != 0 ) return cmp; if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 ) return cmp; if ( auto cmp = strcmp( description, rhs.description ); cmp != 0 ) return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater; if ( auto cmp = pAddressInfos <=> rhs.pAddressInfos; cmp != 0 ) return cmp; if ( auto cmp = pVendorInfos <=> rhs.pVendorInfos; cmp != 0 ) return cmp; if ( auto cmp = pVendorBinaryData <=> rhs.pVendorBinaryData; cmp != 0 ) return cmp; return std::strong_ordering::equivalent; } #endif bool operator==( DeviceFaultInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( strcmp( description, rhs.description ) == 0 ) && ( pAddressInfos == rhs.pAddressInfos ) && ( pVendorInfos == rhs.pVendorInfos ) && ( pVendorBinaryData == rhs.pVendorBinaryData ); } bool operator!=( DeviceFaultInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } public: StructureType sType = StructureType::eDeviceFaultInfoEXT; void * pNext = {}; ArrayWrapper1D<char, VK_MAX_DESCRIPTION_SIZE> description = {}; DeviceFaultAddressInfoEXT * pAddressInfos = {}; DeviceFaultVendorInfoEXT * pVendorInfos = {}; void * pVendorBinaryData = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDeviceFaultInfoEXT> { using Type = DeviceFaultInfoEXT; }; #endif template <> struct CppType<StructureType, StructureType::eDeviceFaultInfoEXT> { using Type = DeviceFaultInfoEXT; }; // wrapper struct for struct VkDeviceFaultVendorBinaryHeaderVersionOneEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceFaultVendorBinaryHeaderVersionOneEXT.html struct DeviceFaultVendorBinaryHeaderVersionOneEXT { using NativeType = VkDeviceFaultVendorBinaryHeaderVersionOneEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorBinaryHeaderVersionOneEXT( uint32_t headerSize_ = {}, DeviceFaultVendorBinaryHeaderVersionEXT headerVersion_ = DeviceFaultVendorBinaryHeaderVersionEXT::eOne, uint32_t vendorID_ = {}, uint32_t deviceID_ = {}, uint32_t driverVersion_ = {}, std::array<uint8_t, VK_UUID_SIZE> const & pipelineCacheUUID_ = {}, uint32_t applicationNameOffset_ = {}, uint32_t applicationVersion_ = {}, uint32_t engineNameOffset_ = {}, uint32_t engineVersion_ = {}, uint32_t apiVersion_ = {} ) VULKAN_HPP_NOEXCEPT : headerSize{ headerSize_ } , headerVersion{ headerVersion_ } , vendorID{ vendorID_ } , deviceID{ deviceID_ } , driverVersion{ driverVersion_ } , pipelineCacheUUID{ pipelineCacheUUID_ } , applicationNameOffset{ applicationNameOffset_ } , applicationVersion{ applicationVersion_ } , engineNameOffset{ engineNameOffset_ } , engineVersion{ engineVersion_ } , apiVersion{ apiVersion_ } { } VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorBinaryHeaderVersionOneEXT( DeviceFaultVendorBinaryHeaderVersionOneEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; DeviceFaultVendorBinaryHeaderVersionOneEXT( VkDeviceFaultVendorBinaryHeaderVersionOneEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DeviceFaultVendorBinaryHeaderVersionOneEXT( *reinterpret_cast<DeviceFaultVendorBinaryHeaderVersionOneEXT const *>( &rhs ) ) { } DeviceFaultVendorBinaryHeaderVersionOneEXT & operator=( DeviceFaultVendorBinaryHeaderVersionOneEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DeviceFaultVendorBinaryHeaderVersionOneEXT & operator=( VkDeviceFaultVendorBinaryHeaderVersionOneEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DeviceFaultVendorBinaryHeaderVersionOneEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorBinaryHeaderVersionOneEXT & setHeaderSize( uint32_t headerSize_ ) VULKAN_HPP_NOEXCEPT { headerSize = headerSize_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorBinaryHeaderVersionOneEXT & setHeaderVersion( DeviceFaultVendorBinaryHeaderVersionEXT headerVersion_ ) VULKAN_HPP_NOEXCEPT { headerVersion = headerVersion_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorBinaryHeaderVersionOneEXT & setVendorID( uint32_t vendorID_ ) VULKAN_HPP_NOEXCEPT { vendorID = vendorID_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorBinaryHeaderVersionOneEXT & setDeviceID( uint32_t deviceID_ ) VULKAN_HPP_NOEXCEPT { deviceID = deviceID_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorBinaryHeaderVersionOneEXT & setDriverVersion( uint32_t driverVersion_ ) VULKAN_HPP_NOEXCEPT { driverVersion = driverVersion_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorBinaryHeaderVersionOneEXT & setPipelineCacheUUID( std::array<uint8_t, VK_UUID_SIZE> pipelineCacheUUID_ ) VULKAN_HPP_NOEXCEPT { pipelineCacheUUID = pipelineCacheUUID_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorBinaryHeaderVersionOneEXT & setApplicationNameOffset( uint32_t applicationNameOffset_ ) VULKAN_HPP_NOEXCEPT { applicationNameOffset = applicationNameOffset_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorBinaryHeaderVersionOneEXT & setApplicationVersion( uint32_t applicationVersion_ ) VULKAN_HPP_NOEXCEPT { applicationVersion = applicationVersion_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorBinaryHeaderVersionOneEXT & setEngineNameOffset( uint32_t engineNameOffset_ ) VULKAN_HPP_NOEXCEPT { engineNameOffset = engineNameOffset_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorBinaryHeaderVersionOneEXT & setEngineVersion( uint32_t engineVersion_ ) VULKAN_HPP_NOEXCEPT { engineVersion = engineVersion_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorBinaryHeaderVersionOneEXT & setApiVersion( uint32_t apiVersion_ ) VULKAN_HPP_NOEXCEPT { apiVersion = apiVersion_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDeviceFaultVendorBinaryHeaderVersionOneEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDeviceFaultVendorBinaryHeaderVersionOneEXT *>( this ); } operator VkDeviceFaultVendorBinaryHeaderVersionOneEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDeviceFaultVendorBinaryHeaderVersionOneEXT *>( this ); } operator VkDeviceFaultVendorBinaryHeaderVersionOneEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDeviceFaultVendorBinaryHeaderVersionOneEXT *>( this ); } operator VkDeviceFaultVendorBinaryHeaderVersionOneEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDeviceFaultVendorBinaryHeaderVersionOneEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<uint32_t const &, DeviceFaultVendorBinaryHeaderVersionEXT const &, uint32_t const &, uint32_t const &, uint32_t const &, ArrayWrapper1D<uint8_t, VK_UUID_SIZE> const &, uint32_t const &, uint32_t const &, uint32_t const &, uint32_t const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( headerSize, headerVersion, vendorID, deviceID, driverVersion, pipelineCacheUUID, applicationNameOffset, applicationVersion, engineNameOffset, engineVersion, apiVersion ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DeviceFaultVendorBinaryHeaderVersionOneEXT const & ) const = default; #else bool operator==( DeviceFaultVendorBinaryHeaderVersionOneEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( headerSize == rhs.headerSize ) && ( headerVersion == rhs.headerVersion ) && ( vendorID == rhs.vendorID ) && ( deviceID == rhs.deviceID ) && ( driverVersion == rhs.driverVersion ) && ( pipelineCacheUUID == rhs.pipelineCacheUUID ) && ( applicationNameOffset == rhs.applicationNameOffset ) && ( applicationVersion == rhs.applicationVersion ) && ( engineNameOffset == rhs.engineNameOffset ) && ( engineVersion == rhs.engineVersion ) && ( apiVersion == rhs.apiVersion ); # endif } bool operator!=( DeviceFaultVendorBinaryHeaderVersionOneEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: uint32_t headerSize = {}; DeviceFaultVendorBinaryHeaderVersionEXT headerVersion = DeviceFaultVendorBinaryHeaderVersionEXT::eOne; uint32_t vendorID = {}; uint32_t deviceID = {}; uint32_t driverVersion = {}; ArrayWrapper1D<uint8_t, VK_UUID_SIZE> pipelineCacheUUID = {}; uint32_t applicationNameOffset = {}; uint32_t applicationVersion = {}; uint32_t engineNameOffset = {}; uint32_t engineVersion = {}; uint32_t apiVersion = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDeviceFaultVendorBinaryHeaderVersionOneEXT> { using Type = DeviceFaultVendorBinaryHeaderVersionOneEXT; }; #endif // wrapper struct for struct VkDeviceGroupBindSparseInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceGroupBindSparseInfo.html struct DeviceGroupBindSparseInfo { using NativeType = VkDeviceGroupBindSparseInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceGroupBindSparseInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DeviceGroupBindSparseInfo( uint32_t resourceDeviceIndex_ = {}, uint32_t memoryDeviceIndex_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , resourceDeviceIndex{ resourceDeviceIndex_ } , memoryDeviceIndex{ memoryDeviceIndex_ } { } VULKAN_HPP_CONSTEXPR DeviceGroupBindSparseInfo( DeviceGroupBindSparseInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; DeviceGroupBindSparseInfo( VkDeviceGroupBindSparseInfo const & rhs ) VULKAN_HPP_NOEXCEPT : DeviceGroupBindSparseInfo( *reinterpret_cast<DeviceGroupBindSparseInfo const *>( &rhs ) ) { } DeviceGroupBindSparseInfo & operator=( DeviceGroupBindSparseInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DeviceGroupBindSparseInfo & operator=( VkDeviceGroupBindSparseInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DeviceGroupBindSparseInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DeviceGroupBindSparseInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceGroupBindSparseInfo & setResourceDeviceIndex( uint32_t resourceDeviceIndex_ ) VULKAN_HPP_NOEXCEPT { resourceDeviceIndex = resourceDeviceIndex_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceGroupBindSparseInfo & setMemoryDeviceIndex( uint32_t memoryDeviceIndex_ ) VULKAN_HPP_NOEXCEPT { memoryDeviceIndex = memoryDeviceIndex_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDeviceGroupBindSparseInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDeviceGroupBindSparseInfo *>( this ); } operator VkDeviceGroupBindSparseInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDeviceGroupBindSparseInfo *>( this ); } operator VkDeviceGroupBindSparseInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDeviceGroupBindSparseInfo *>( this ); } operator VkDeviceGroupBindSparseInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDeviceGroupBindSparseInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, uint32_t const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, resourceDeviceIndex, memoryDeviceIndex ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DeviceGroupBindSparseInfo const & ) const = default; #else bool operator==( DeviceGroupBindSparseInfo 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 ) && ( resourceDeviceIndex == rhs.resourceDeviceIndex ) && ( memoryDeviceIndex == rhs.memoryDeviceIndex ); # endif } bool operator!=( DeviceGroupBindSparseInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDeviceGroupBindSparseInfo; const void * pNext = {}; uint32_t resourceDeviceIndex = {}; uint32_t memoryDeviceIndex = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDeviceGroupBindSparseInfo> { using Type = DeviceGroupBindSparseInfo; }; #endif template <> struct CppType<StructureType, StructureType::eDeviceGroupBindSparseInfo> { using Type = DeviceGroupBindSparseInfo; }; using DeviceGroupBindSparseInfoKHR = DeviceGroupBindSparseInfo; // wrapper struct for struct VkDeviceGroupCommandBufferBeginInfo, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceGroupCommandBufferBeginInfo.html struct DeviceGroupCommandBufferBeginInfo { using NativeType = VkDeviceGroupCommandBufferBeginInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceGroupCommandBufferBeginInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DeviceGroupCommandBufferBeginInfo( uint32_t deviceMask_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , deviceMask{ deviceMask_ } { } VULKAN_HPP_CONSTEXPR DeviceGroupCommandBufferBeginInfo( DeviceGroupCommandBufferBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; DeviceGroupCommandBufferBeginInfo( VkDeviceGroupCommandBufferBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT : DeviceGroupCommandBufferBeginInfo( *reinterpret_cast<DeviceGroupCommandBufferBeginInfo const *>( &rhs ) ) { } DeviceGroupCommandBufferBeginInfo & operator=( DeviceGroupCommandBufferBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DeviceGroupCommandBufferBeginInfo & operator=( VkDeviceGroupCommandBufferBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DeviceGroupCommandBufferBeginInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DeviceGroupCommandBufferBeginInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceGroupCommandBufferBeginInfo & setDeviceMask( uint32_t deviceMask_ ) VULKAN_HPP_NOEXCEPT { deviceMask = deviceMask_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDeviceGroupCommandBufferBeginInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDeviceGroupCommandBufferBeginInfo *>( this ); } operator VkDeviceGroupCommandBufferBeginInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDeviceGroupCommandBufferBeginInfo *>( this ); } operator VkDeviceGroupCommandBufferBeginInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDeviceGroupCommandBufferBeginInfo *>( this ); } operator VkDeviceGroupCommandBufferBeginInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDeviceGroupCommandBufferBeginInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, deviceMask ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DeviceGroupCommandBufferBeginInfo const & ) const = default; #else bool operator==( DeviceGroupCommandBufferBeginInfo 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 ) && ( deviceMask == rhs.deviceMask ); # endif } bool operator!=( DeviceGroupCommandBufferBeginInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDeviceGroupCommandBufferBeginInfo; const void * pNext = {}; uint32_t deviceMask = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDeviceGroupCommandBufferBeginInfo> { using Type = DeviceGroupCommandBufferBeginInfo; }; #endif template <> struct CppType<StructureType, StructureType::eDeviceGroupCommandBufferBeginInfo> { using Type = DeviceGroupCommandBufferBeginInfo; }; using DeviceGroupCommandBufferBeginInfoKHR = DeviceGroupCommandBufferBeginInfo; // wrapper struct for struct VkDeviceGroupDeviceCreateInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceGroupDeviceCreateInfo.html struct DeviceGroupDeviceCreateInfo { using NativeType = VkDeviceGroupDeviceCreateInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceGroupDeviceCreateInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DeviceGroupDeviceCreateInfo( uint32_t physicalDeviceCount_ = {}, const PhysicalDevice * pPhysicalDevices_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , physicalDeviceCount{ physicalDeviceCount_ } , pPhysicalDevices{ pPhysicalDevices_ } { } VULKAN_HPP_CONSTEXPR DeviceGroupDeviceCreateInfo( DeviceGroupDeviceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; DeviceGroupDeviceCreateInfo( VkDeviceGroupDeviceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : DeviceGroupDeviceCreateInfo( *reinterpret_cast<DeviceGroupDeviceCreateInfo const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DeviceGroupDeviceCreateInfo( ArrayProxyNoTemporaries<const PhysicalDevice> const & physicalDevices_, const void * pNext_ = nullptr ) : pNext( pNext_ ), physicalDeviceCount( static_cast<uint32_t>( physicalDevices_.size() ) ), pPhysicalDevices( physicalDevices_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ DeviceGroupDeviceCreateInfo & operator=( DeviceGroupDeviceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DeviceGroupDeviceCreateInfo & operator=( VkDeviceGroupDeviceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DeviceGroupDeviceCreateInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DeviceGroupDeviceCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceGroupDeviceCreateInfo & setPhysicalDeviceCount( uint32_t physicalDeviceCount_ ) VULKAN_HPP_NOEXCEPT { physicalDeviceCount = physicalDeviceCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceGroupDeviceCreateInfo & setPPhysicalDevices( const PhysicalDevice * pPhysicalDevices_ ) VULKAN_HPP_NOEXCEPT { pPhysicalDevices = pPhysicalDevices_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DeviceGroupDeviceCreateInfo & setPhysicalDevices( ArrayProxyNoTemporaries<const PhysicalDevice> const & physicalDevices_ ) VULKAN_HPP_NOEXCEPT { physicalDeviceCount = static_cast<uint32_t>( physicalDevices_.size() ); pPhysicalDevices = physicalDevices_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDeviceGroupDeviceCreateInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDeviceGroupDeviceCreateInfo *>( this ); } operator VkDeviceGroupDeviceCreateInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDeviceGroupDeviceCreateInfo *>( this ); } operator VkDeviceGroupDeviceCreateInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDeviceGroupDeviceCreateInfo *>( this ); } operator VkDeviceGroupDeviceCreateInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDeviceGroupDeviceCreateInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, uint32_t const &, const PhysicalDevice * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, physicalDeviceCount, pPhysicalDevices ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DeviceGroupDeviceCreateInfo const & ) const = default; #else bool operator==( DeviceGroupDeviceCreateInfo 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 ) && ( physicalDeviceCount == rhs.physicalDeviceCount ) && ( pPhysicalDevices == rhs.pPhysicalDevices ); # endif } bool operator!=( DeviceGroupDeviceCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDeviceGroupDeviceCreateInfo; const void * pNext = {}; uint32_t physicalDeviceCount = {}; const PhysicalDevice * pPhysicalDevices = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDeviceGroupDeviceCreateInfo> { using Type = DeviceGroupDeviceCreateInfo; }; #endif template <> struct CppType<StructureType, StructureType::eDeviceGroupDeviceCreateInfo> { using Type = DeviceGroupDeviceCreateInfo; }; using DeviceGroupDeviceCreateInfoKHR = DeviceGroupDeviceCreateInfo; // wrapper struct for struct VkDeviceGroupPresentCapabilitiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceGroupPresentCapabilitiesKHR.html struct DeviceGroupPresentCapabilitiesKHR { using NativeType = VkDeviceGroupPresentCapabilitiesKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceGroupPresentCapabilitiesKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 DeviceGroupPresentCapabilitiesKHR( std::array<uint32_t, VK_MAX_DEVICE_GROUP_SIZE> const & presentMask_ = {}, DeviceGroupPresentModeFlagsKHR modes_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , presentMask{ presentMask_ } , modes{ modes_ } { } VULKAN_HPP_CONSTEXPR_14 DeviceGroupPresentCapabilitiesKHR( DeviceGroupPresentCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; DeviceGroupPresentCapabilitiesKHR( VkDeviceGroupPresentCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT : DeviceGroupPresentCapabilitiesKHR( *reinterpret_cast<DeviceGroupPresentCapabilitiesKHR const *>( &rhs ) ) { } DeviceGroupPresentCapabilitiesKHR & operator=( DeviceGroupPresentCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DeviceGroupPresentCapabilitiesKHR & operator=( VkDeviceGroupPresentCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DeviceGroupPresentCapabilitiesKHR const *>( &rhs ); return *this; } operator VkDeviceGroupPresentCapabilitiesKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDeviceGroupPresentCapabilitiesKHR *>( this ); } operator VkDeviceGroupPresentCapabilitiesKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDeviceGroupPresentCapabilitiesKHR *>( this ); } operator VkDeviceGroupPresentCapabilitiesKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDeviceGroupPresentCapabilitiesKHR *>( this ); } operator VkDeviceGroupPresentCapabilitiesKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDeviceGroupPresentCapabilitiesKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, ArrayWrapper1D<uint32_t, VK_MAX_DEVICE_GROUP_SIZE> const &, DeviceGroupPresentModeFlagsKHR const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, presentMask, modes ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DeviceGroupPresentCapabilitiesKHR const & ) const = default; #else bool operator==( DeviceGroupPresentCapabilitiesKHR 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 ) && ( presentMask == rhs.presentMask ) && ( modes == rhs.modes ); # endif } bool operator!=( DeviceGroupPresentCapabilitiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDeviceGroupPresentCapabilitiesKHR; void * pNext = {}; ArrayWrapper1D<uint32_t, VK_MAX_DEVICE_GROUP_SIZE> presentMask = {}; DeviceGroupPresentModeFlagsKHR modes = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDeviceGroupPresentCapabilitiesKHR> { using Type = DeviceGroupPresentCapabilitiesKHR; }; #endif template <> struct CppType<StructureType, StructureType::eDeviceGroupPresentCapabilitiesKHR> { using Type = DeviceGroupPresentCapabilitiesKHR; }; // wrapper struct for struct VkDeviceGroupPresentInfoKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceGroupPresentInfoKHR.html struct DeviceGroupPresentInfoKHR { using NativeType = VkDeviceGroupPresentInfoKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceGroupPresentInfoKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DeviceGroupPresentInfoKHR( uint32_t swapchainCount_ = {}, const uint32_t * pDeviceMasks_ = {}, DeviceGroupPresentModeFlagBitsKHR mode_ = DeviceGroupPresentModeFlagBitsKHR::eLocal, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , swapchainCount{ swapchainCount_ } , pDeviceMasks{ pDeviceMasks_ } , mode{ mode_ } { } VULKAN_HPP_CONSTEXPR DeviceGroupPresentInfoKHR( DeviceGroupPresentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; DeviceGroupPresentInfoKHR( VkDeviceGroupPresentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : DeviceGroupPresentInfoKHR( *reinterpret_cast<DeviceGroupPresentInfoKHR const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DeviceGroupPresentInfoKHR( ArrayProxyNoTemporaries<const uint32_t> const & deviceMasks_, DeviceGroupPresentModeFlagBitsKHR mode_ = DeviceGroupPresentModeFlagBitsKHR::eLocal, const void * pNext_ = nullptr ) : pNext( pNext_ ), swapchainCount( static_cast<uint32_t>( deviceMasks_.size() ) ), pDeviceMasks( deviceMasks_.data() ), mode( mode_ ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ DeviceGroupPresentInfoKHR & operator=( DeviceGroupPresentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DeviceGroupPresentInfoKHR & operator=( VkDeviceGroupPresentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DeviceGroupPresentInfoKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DeviceGroupPresentInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceGroupPresentInfoKHR & setSwapchainCount( uint32_t swapchainCount_ ) VULKAN_HPP_NOEXCEPT { swapchainCount = swapchainCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceGroupPresentInfoKHR & setPDeviceMasks( const uint32_t * pDeviceMasks_ ) VULKAN_HPP_NOEXCEPT { pDeviceMasks = pDeviceMasks_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DeviceGroupPresentInfoKHR & setDeviceMasks( ArrayProxyNoTemporaries<const uint32_t> const & deviceMasks_ ) VULKAN_HPP_NOEXCEPT { swapchainCount = static_cast<uint32_t>( deviceMasks_.size() ); pDeviceMasks = deviceMasks_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 DeviceGroupPresentInfoKHR & setMode( DeviceGroupPresentModeFlagBitsKHR mode_ ) VULKAN_HPP_NOEXCEPT { mode = mode_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDeviceGroupPresentInfoKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDeviceGroupPresentInfoKHR *>( this ); } operator VkDeviceGroupPresentInfoKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDeviceGroupPresentInfoKHR *>( this ); } operator VkDeviceGroupPresentInfoKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDeviceGroupPresentInfoKHR *>( this ); } operator VkDeviceGroupPresentInfoKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDeviceGroupPresentInfoKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, uint32_t const &, const uint32_t * const &, DeviceGroupPresentModeFlagBitsKHR const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, swapchainCount, pDeviceMasks, mode ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DeviceGroupPresentInfoKHR const & ) const = default; #else bool operator==( DeviceGroupPresentInfoKHR 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 ) && ( swapchainCount == rhs.swapchainCount ) && ( pDeviceMasks == rhs.pDeviceMasks ) && ( mode == rhs.mode ); # endif } bool operator!=( DeviceGroupPresentInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDeviceGroupPresentInfoKHR; const void * pNext = {}; uint32_t swapchainCount = {}; const uint32_t * pDeviceMasks = {}; DeviceGroupPresentModeFlagBitsKHR mode = DeviceGroupPresentModeFlagBitsKHR::eLocal; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDeviceGroupPresentInfoKHR> { using Type = DeviceGroupPresentInfoKHR; }; #endif template <> struct CppType<StructureType, StructureType::eDeviceGroupPresentInfoKHR> { using Type = DeviceGroupPresentInfoKHR; }; // wrapper struct for struct VkDeviceGroupRenderPassBeginInfo, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceGroupRenderPassBeginInfo.html struct DeviceGroupRenderPassBeginInfo { using NativeType = VkDeviceGroupRenderPassBeginInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceGroupRenderPassBeginInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DeviceGroupRenderPassBeginInfo( uint32_t deviceMask_ = {}, uint32_t deviceRenderAreaCount_ = {}, const Rect2D * pDeviceRenderAreas_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , deviceMask{ deviceMask_ } , deviceRenderAreaCount{ deviceRenderAreaCount_ } , pDeviceRenderAreas{ pDeviceRenderAreas_ } { } VULKAN_HPP_CONSTEXPR DeviceGroupRenderPassBeginInfo( DeviceGroupRenderPassBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; DeviceGroupRenderPassBeginInfo( VkDeviceGroupRenderPassBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT : DeviceGroupRenderPassBeginInfo( *reinterpret_cast<DeviceGroupRenderPassBeginInfo const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DeviceGroupRenderPassBeginInfo( uint32_t deviceMask_, ArrayProxyNoTemporaries<const Rect2D> const & deviceRenderAreas_, const void * pNext_ = nullptr ) : pNext( pNext_ ) , deviceMask( deviceMask_ ) , deviceRenderAreaCount( static_cast<uint32_t>( deviceRenderAreas_.size() ) ) , pDeviceRenderAreas( deviceRenderAreas_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ DeviceGroupRenderPassBeginInfo & operator=( DeviceGroupRenderPassBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DeviceGroupRenderPassBeginInfo & operator=( VkDeviceGroupRenderPassBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DeviceGroupRenderPassBeginInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DeviceGroupRenderPassBeginInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceGroupRenderPassBeginInfo & setDeviceMask( uint32_t deviceMask_ ) VULKAN_HPP_NOEXCEPT { deviceMask = deviceMask_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceGroupRenderPassBeginInfo & setDeviceRenderAreaCount( uint32_t deviceRenderAreaCount_ ) VULKAN_HPP_NOEXCEPT { deviceRenderAreaCount = deviceRenderAreaCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceGroupRenderPassBeginInfo & setPDeviceRenderAreas( const Rect2D * pDeviceRenderAreas_ ) VULKAN_HPP_NOEXCEPT { pDeviceRenderAreas = pDeviceRenderAreas_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DeviceGroupRenderPassBeginInfo & setDeviceRenderAreas( ArrayProxyNoTemporaries<const Rect2D> const & deviceRenderAreas_ ) VULKAN_HPP_NOEXCEPT { deviceRenderAreaCount = static_cast<uint32_t>( deviceRenderAreas_.size() ); pDeviceRenderAreas = deviceRenderAreas_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDeviceGroupRenderPassBeginInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDeviceGroupRenderPassBeginInfo *>( this ); } operator VkDeviceGroupRenderPassBeginInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDeviceGroupRenderPassBeginInfo *>( this ); } operator VkDeviceGroupRenderPassBeginInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDeviceGroupRenderPassBeginInfo *>( this ); } operator VkDeviceGroupRenderPassBeginInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDeviceGroupRenderPassBeginInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, uint32_t const &, uint32_t const &, const Rect2D * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, deviceMask, deviceRenderAreaCount, pDeviceRenderAreas ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DeviceGroupRenderPassBeginInfo const & ) const = default; #else bool operator==( DeviceGroupRenderPassBeginInfo 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 ) && ( deviceMask == rhs.deviceMask ) && ( deviceRenderAreaCount == rhs.deviceRenderAreaCount ) && ( pDeviceRenderAreas == rhs.pDeviceRenderAreas ); # endif } bool operator!=( DeviceGroupRenderPassBeginInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDeviceGroupRenderPassBeginInfo; const void * pNext = {}; uint32_t deviceMask = {}; uint32_t deviceRenderAreaCount = {}; const Rect2D * pDeviceRenderAreas = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDeviceGroupRenderPassBeginInfo> { using Type = DeviceGroupRenderPassBeginInfo; }; #endif template <> struct CppType<StructureType, StructureType::eDeviceGroupRenderPassBeginInfo> { using Type = DeviceGroupRenderPassBeginInfo; }; using DeviceGroupRenderPassBeginInfoKHR = DeviceGroupRenderPassBeginInfo; // wrapper struct for struct VkDeviceGroupSubmitInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceGroupSubmitInfo.html struct DeviceGroupSubmitInfo { using NativeType = VkDeviceGroupSubmitInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceGroupSubmitInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DeviceGroupSubmitInfo( uint32_t waitSemaphoreCount_ = {}, const uint32_t * pWaitSemaphoreDeviceIndices_ = {}, uint32_t commandBufferCount_ = {}, const uint32_t * pCommandBufferDeviceMasks_ = {}, uint32_t signalSemaphoreCount_ = {}, const uint32_t * pSignalSemaphoreDeviceIndices_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , waitSemaphoreCount{ waitSemaphoreCount_ } , pWaitSemaphoreDeviceIndices{ pWaitSemaphoreDeviceIndices_ } , commandBufferCount{ commandBufferCount_ } , pCommandBufferDeviceMasks{ pCommandBufferDeviceMasks_ } , signalSemaphoreCount{ signalSemaphoreCount_ } , pSignalSemaphoreDeviceIndices{ pSignalSemaphoreDeviceIndices_ } { } VULKAN_HPP_CONSTEXPR DeviceGroupSubmitInfo( DeviceGroupSubmitInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; DeviceGroupSubmitInfo( VkDeviceGroupSubmitInfo const & rhs ) VULKAN_HPP_NOEXCEPT : DeviceGroupSubmitInfo( *reinterpret_cast<DeviceGroupSubmitInfo const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DeviceGroupSubmitInfo( ArrayProxyNoTemporaries<const uint32_t> const & waitSemaphoreDeviceIndices_, ArrayProxyNoTemporaries<const uint32_t> const & commandBufferDeviceMasks_ = {}, ArrayProxyNoTemporaries<const uint32_t> const & signalSemaphoreDeviceIndices_ = {}, const void * pNext_ = nullptr ) : pNext( pNext_ ) , waitSemaphoreCount( static_cast<uint32_t>( waitSemaphoreDeviceIndices_.size() ) ) , pWaitSemaphoreDeviceIndices( waitSemaphoreDeviceIndices_.data() ) , commandBufferCount( static_cast<uint32_t>( commandBufferDeviceMasks_.size() ) ) , pCommandBufferDeviceMasks( commandBufferDeviceMasks_.data() ) , signalSemaphoreCount( static_cast<uint32_t>( signalSemaphoreDeviceIndices_.size() ) ) , pSignalSemaphoreDeviceIndices( signalSemaphoreDeviceIndices_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ DeviceGroupSubmitInfo & operator=( DeviceGroupSubmitInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DeviceGroupSubmitInfo & operator=( VkDeviceGroupSubmitInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DeviceGroupSubmitInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DeviceGroupSubmitInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceGroupSubmitInfo & setWaitSemaphoreCount( uint32_t waitSemaphoreCount_ ) VULKAN_HPP_NOEXCEPT { waitSemaphoreCount = waitSemaphoreCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceGroupSubmitInfo & setPWaitSemaphoreDeviceIndices( const uint32_t * pWaitSemaphoreDeviceIndices_ ) VULKAN_HPP_NOEXCEPT { pWaitSemaphoreDeviceIndices = pWaitSemaphoreDeviceIndices_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DeviceGroupSubmitInfo & setWaitSemaphoreDeviceIndices( ArrayProxyNoTemporaries<const uint32_t> const & waitSemaphoreDeviceIndices_ ) VULKAN_HPP_NOEXCEPT { waitSemaphoreCount = static_cast<uint32_t>( waitSemaphoreDeviceIndices_.size() ); pWaitSemaphoreDeviceIndices = waitSemaphoreDeviceIndices_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 DeviceGroupSubmitInfo & setCommandBufferCount( uint32_t commandBufferCount_ ) VULKAN_HPP_NOEXCEPT { commandBufferCount = commandBufferCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceGroupSubmitInfo & setPCommandBufferDeviceMasks( const uint32_t * pCommandBufferDeviceMasks_ ) VULKAN_HPP_NOEXCEPT { pCommandBufferDeviceMasks = pCommandBufferDeviceMasks_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DeviceGroupSubmitInfo & setCommandBufferDeviceMasks( ArrayProxyNoTemporaries<const uint32_t> const & commandBufferDeviceMasks_ ) VULKAN_HPP_NOEXCEPT { commandBufferCount = static_cast<uint32_t>( commandBufferDeviceMasks_.size() ); pCommandBufferDeviceMasks = commandBufferDeviceMasks_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 DeviceGroupSubmitInfo & setSignalSemaphoreCount( uint32_t signalSemaphoreCount_ ) VULKAN_HPP_NOEXCEPT { signalSemaphoreCount = signalSemaphoreCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceGroupSubmitInfo & setPSignalSemaphoreDeviceIndices( const uint32_t * pSignalSemaphoreDeviceIndices_ ) VULKAN_HPP_NOEXCEPT { pSignalSemaphoreDeviceIndices = pSignalSemaphoreDeviceIndices_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DeviceGroupSubmitInfo & setSignalSemaphoreDeviceIndices( ArrayProxyNoTemporaries<const uint32_t> const & signalSemaphoreDeviceIndices_ ) VULKAN_HPP_NOEXCEPT { signalSemaphoreCount = static_cast<uint32_t>( signalSemaphoreDeviceIndices_.size() ); pSignalSemaphoreDeviceIndices = signalSemaphoreDeviceIndices_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDeviceGroupSubmitInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDeviceGroupSubmitInfo *>( this ); } operator VkDeviceGroupSubmitInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDeviceGroupSubmitInfo *>( this ); } operator VkDeviceGroupSubmitInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDeviceGroupSubmitInfo *>( this ); } operator VkDeviceGroupSubmitInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDeviceGroupSubmitInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, uint32_t const &, const uint32_t * const &, uint32_t const &, const uint32_t * const &, uint32_t const &, const uint32_t * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, waitSemaphoreCount, pWaitSemaphoreDeviceIndices, commandBufferCount, pCommandBufferDeviceMasks, signalSemaphoreCount, pSignalSemaphoreDeviceIndices ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DeviceGroupSubmitInfo const & ) const = default; #else bool operator==( DeviceGroupSubmitInfo 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 ) && ( waitSemaphoreCount == rhs.waitSemaphoreCount ) && ( pWaitSemaphoreDeviceIndices == rhs.pWaitSemaphoreDeviceIndices ) && ( commandBufferCount == rhs.commandBufferCount ) && ( pCommandBufferDeviceMasks == rhs.pCommandBufferDeviceMasks ) && ( signalSemaphoreCount == rhs.signalSemaphoreCount ) && ( pSignalSemaphoreDeviceIndices == rhs.pSignalSemaphoreDeviceIndices ); # endif } bool operator!=( DeviceGroupSubmitInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDeviceGroupSubmitInfo; const void * pNext = {}; uint32_t waitSemaphoreCount = {}; const uint32_t * pWaitSemaphoreDeviceIndices = {}; uint32_t commandBufferCount = {}; const uint32_t * pCommandBufferDeviceMasks = {}; uint32_t signalSemaphoreCount = {}; const uint32_t * pSignalSemaphoreDeviceIndices = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDeviceGroupSubmitInfo> { using Type = DeviceGroupSubmitInfo; }; #endif template <> struct CppType<StructureType, StructureType::eDeviceGroupSubmitInfo> { using Type = DeviceGroupSubmitInfo; }; using DeviceGroupSubmitInfoKHR = DeviceGroupSubmitInfo; // wrapper struct for struct VkDeviceGroupSwapchainCreateInfoKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceGroupSwapchainCreateInfoKHR.html struct DeviceGroupSwapchainCreateInfoKHR { using NativeType = VkDeviceGroupSwapchainCreateInfoKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceGroupSwapchainCreateInfoKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DeviceGroupSwapchainCreateInfoKHR( DeviceGroupPresentModeFlagsKHR modes_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , modes{ modes_ } { } VULKAN_HPP_CONSTEXPR DeviceGroupSwapchainCreateInfoKHR( DeviceGroupSwapchainCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; DeviceGroupSwapchainCreateInfoKHR( VkDeviceGroupSwapchainCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : DeviceGroupSwapchainCreateInfoKHR( *reinterpret_cast<DeviceGroupSwapchainCreateInfoKHR const *>( &rhs ) ) { } DeviceGroupSwapchainCreateInfoKHR & operator=( DeviceGroupSwapchainCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DeviceGroupSwapchainCreateInfoKHR & operator=( VkDeviceGroupSwapchainCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DeviceGroupSwapchainCreateInfoKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DeviceGroupSwapchainCreateInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceGroupSwapchainCreateInfoKHR & setModes( DeviceGroupPresentModeFlagsKHR modes_ ) VULKAN_HPP_NOEXCEPT { modes = modes_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDeviceGroupSwapchainCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDeviceGroupSwapchainCreateInfoKHR *>( this ); } operator VkDeviceGroupSwapchainCreateInfoKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDeviceGroupSwapchainCreateInfoKHR *>( this ); } operator VkDeviceGroupSwapchainCreateInfoKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDeviceGroupSwapchainCreateInfoKHR *>( this ); } operator VkDeviceGroupSwapchainCreateInfoKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDeviceGroupSwapchainCreateInfoKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DeviceGroupPresentModeFlagsKHR const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, modes ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DeviceGroupSwapchainCreateInfoKHR const & ) const = default; #else bool operator==( DeviceGroupSwapchainCreateInfoKHR 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 ) && ( modes == rhs.modes ); # endif } bool operator!=( DeviceGroupSwapchainCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDeviceGroupSwapchainCreateInfoKHR; const void * pNext = {}; DeviceGroupPresentModeFlagsKHR modes = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDeviceGroupSwapchainCreateInfoKHR> { using Type = DeviceGroupSwapchainCreateInfoKHR; }; #endif template <> struct CppType<StructureType, StructureType::eDeviceGroupSwapchainCreateInfoKHR> { using Type = DeviceGroupSwapchainCreateInfoKHR; }; // wrapper struct for struct VkImageCreateInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageCreateInfo.html struct ImageCreateInfo { using NativeType = VkImageCreateInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageCreateInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ImageCreateInfo( ImageCreateFlags flags_ = {}, ImageType imageType_ = ImageType::e1D, Format format_ = Format::eUndefined, Extent3D extent_ = {}, uint32_t mipLevels_ = {}, uint32_t arrayLayers_ = {}, SampleCountFlagBits samples_ = SampleCountFlagBits::e1, ImageTiling tiling_ = ImageTiling::eOptimal, ImageUsageFlags usage_ = {}, SharingMode sharingMode_ = SharingMode::eExclusive, uint32_t queueFamilyIndexCount_ = {}, const uint32_t * pQueueFamilyIndices_ = {}, ImageLayout initialLayout_ = ImageLayout::eUndefined, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , imageType{ imageType_ } , format{ format_ } , extent{ extent_ } , mipLevels{ mipLevels_ } , arrayLayers{ arrayLayers_ } , samples{ samples_ } , tiling{ tiling_ } , usage{ usage_ } , sharingMode{ sharingMode_ } , queueFamilyIndexCount{ queueFamilyIndexCount_ } , pQueueFamilyIndices{ pQueueFamilyIndices_ } , initialLayout{ initialLayout_ } { } VULKAN_HPP_CONSTEXPR ImageCreateInfo( ImageCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; ImageCreateInfo( VkImageCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : ImageCreateInfo( *reinterpret_cast<ImageCreateInfo const *>( &rhs ) ) {} # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) ImageCreateInfo( ImageCreateFlags flags_, ImageType imageType_, Format format_, Extent3D extent_, uint32_t mipLevels_, uint32_t arrayLayers_, SampleCountFlagBits samples_, ImageTiling tiling_, ImageUsageFlags usage_, SharingMode sharingMode_, ArrayProxyNoTemporaries<const uint32_t> const & queueFamilyIndices_, ImageLayout initialLayout_ = ImageLayout::eUndefined, const void * pNext_ = nullptr ) : pNext( pNext_ ) , flags( flags_ ) , imageType( imageType_ ) , format( format_ ) , extent( extent_ ) , mipLevels( mipLevels_ ) , arrayLayers( arrayLayers_ ) , samples( samples_ ) , tiling( tiling_ ) , usage( usage_ ) , sharingMode( sharingMode_ ) , queueFamilyIndexCount( static_cast<uint32_t>( queueFamilyIndices_.size() ) ) , pQueueFamilyIndices( queueFamilyIndices_.data() ) , initialLayout( initialLayout_ ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ ImageCreateInfo & operator=( ImageCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ImageCreateInfo & operator=( VkImageCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ImageCreateInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ImageCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageCreateInfo & setFlags( ImageCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageCreateInfo & setImageType( ImageType imageType_ ) VULKAN_HPP_NOEXCEPT { imageType = imageType_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageCreateInfo & setFormat( Format format_ ) VULKAN_HPP_NOEXCEPT { format = format_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageCreateInfo & setExtent( Extent3D const & extent_ ) VULKAN_HPP_NOEXCEPT { extent = extent_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageCreateInfo & setMipLevels( uint32_t mipLevels_ ) VULKAN_HPP_NOEXCEPT { mipLevels = mipLevels_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageCreateInfo & setArrayLayers( uint32_t arrayLayers_ ) VULKAN_HPP_NOEXCEPT { arrayLayers = arrayLayers_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageCreateInfo & setSamples( SampleCountFlagBits samples_ ) VULKAN_HPP_NOEXCEPT { samples = samples_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageCreateInfo & setTiling( ImageTiling tiling_ ) VULKAN_HPP_NOEXCEPT { tiling = tiling_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageCreateInfo & setUsage( ImageUsageFlags usage_ ) VULKAN_HPP_NOEXCEPT { usage = usage_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageCreateInfo & setSharingMode( SharingMode sharingMode_ ) VULKAN_HPP_NOEXCEPT { sharingMode = sharingMode_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageCreateInfo & setQueueFamilyIndexCount( uint32_t queueFamilyIndexCount_ ) VULKAN_HPP_NOEXCEPT { queueFamilyIndexCount = queueFamilyIndexCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageCreateInfo & setPQueueFamilyIndices( const uint32_t * pQueueFamilyIndices_ ) VULKAN_HPP_NOEXCEPT { pQueueFamilyIndices = pQueueFamilyIndices_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) ImageCreateInfo & setQueueFamilyIndices( ArrayProxyNoTemporaries<const uint32_t> const & queueFamilyIndices_ ) VULKAN_HPP_NOEXCEPT { queueFamilyIndexCount = static_cast<uint32_t>( queueFamilyIndices_.size() ); pQueueFamilyIndices = queueFamilyIndices_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 ImageCreateInfo & setInitialLayout( ImageLayout initialLayout_ ) VULKAN_HPP_NOEXCEPT { initialLayout = initialLayout_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkImageCreateInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkImageCreateInfo *>( this ); } operator VkImageCreateInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkImageCreateInfo *>( this ); } operator VkImageCreateInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkImageCreateInfo *>( this ); } operator VkImageCreateInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkImageCreateInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, ImageCreateFlags const &, ImageType const &, Format const &, Extent3D const &, uint32_t const &, uint32_t const &, SampleCountFlagBits const &, ImageTiling const &, ImageUsageFlags const &, SharingMode const &, uint32_t const &, const uint32_t * const &, ImageLayout const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, imageType, format, extent, mipLevels, arrayLayers, samples, tiling, usage, sharingMode, queueFamilyIndexCount, pQueueFamilyIndices, initialLayout ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ImageCreateInfo const & ) const = default; #else bool operator==( ImageCreateInfo 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 ) && ( flags == rhs.flags ) && ( imageType == rhs.imageType ) && ( format == rhs.format ) && ( extent == rhs.extent ) && ( mipLevels == rhs.mipLevels ) && ( arrayLayers == rhs.arrayLayers ) && ( samples == rhs.samples ) && ( tiling == rhs.tiling ) && ( usage == rhs.usage ) && ( sharingMode == rhs.sharingMode ) && ( queueFamilyIndexCount == rhs.queueFamilyIndexCount ) && ( pQueueFamilyIndices == rhs.pQueueFamilyIndices ) && ( initialLayout == rhs.initialLayout ); # endif } bool operator!=( ImageCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eImageCreateInfo; const void * pNext = {}; ImageCreateFlags flags = {}; ImageType imageType = ImageType::e1D; Format format = Format::eUndefined; Extent3D extent = {}; uint32_t mipLevels = {}; uint32_t arrayLayers = {}; SampleCountFlagBits samples = SampleCountFlagBits::e1; ImageTiling tiling = ImageTiling::eOptimal; ImageUsageFlags usage = {}; SharingMode sharingMode = SharingMode::eExclusive; uint32_t queueFamilyIndexCount = {}; const uint32_t * pQueueFamilyIndices = {}; ImageLayout initialLayout = ImageLayout::eUndefined; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkImageCreateInfo> { using Type = ImageCreateInfo; }; #endif template <> struct CppType<StructureType, StructureType::eImageCreateInfo> { using Type = ImageCreateInfo; }; // wrapper struct for struct VkDeviceImageMemoryRequirements, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceImageMemoryRequirements.html struct DeviceImageMemoryRequirements { using NativeType = VkDeviceImageMemoryRequirements; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceImageMemoryRequirements; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DeviceImageMemoryRequirements( const ImageCreateInfo * pCreateInfo_ = {}, ImageAspectFlagBits planeAspect_ = ImageAspectFlagBits::eColor, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , pCreateInfo{ pCreateInfo_ } , planeAspect{ planeAspect_ } { } VULKAN_HPP_CONSTEXPR DeviceImageMemoryRequirements( DeviceImageMemoryRequirements const & rhs ) VULKAN_HPP_NOEXCEPT = default; DeviceImageMemoryRequirements( VkDeviceImageMemoryRequirements const & rhs ) VULKAN_HPP_NOEXCEPT : DeviceImageMemoryRequirements( *reinterpret_cast<DeviceImageMemoryRequirements const *>( &rhs ) ) { } DeviceImageMemoryRequirements & operator=( DeviceImageMemoryRequirements const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DeviceImageMemoryRequirements & operator=( VkDeviceImageMemoryRequirements const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DeviceImageMemoryRequirements const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DeviceImageMemoryRequirements & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceImageMemoryRequirements & setPCreateInfo( const ImageCreateInfo * pCreateInfo_ ) VULKAN_HPP_NOEXCEPT { pCreateInfo = pCreateInfo_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceImageMemoryRequirements & setPlaneAspect( ImageAspectFlagBits planeAspect_ ) VULKAN_HPP_NOEXCEPT { planeAspect = planeAspect_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDeviceImageMemoryRequirements const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDeviceImageMemoryRequirements *>( this ); } operator VkDeviceImageMemoryRequirements &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDeviceImageMemoryRequirements *>( this ); } operator VkDeviceImageMemoryRequirements const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDeviceImageMemoryRequirements *>( this ); } operator VkDeviceImageMemoryRequirements *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDeviceImageMemoryRequirements *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, const ImageCreateInfo * const &, ImageAspectFlagBits const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, pCreateInfo, planeAspect ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DeviceImageMemoryRequirements const & ) const = default; #else bool operator==( DeviceImageMemoryRequirements 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 ) && ( pCreateInfo == rhs.pCreateInfo ) && ( planeAspect == rhs.planeAspect ); # endif } bool operator!=( DeviceImageMemoryRequirements const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDeviceImageMemoryRequirements; const void * pNext = {}; const ImageCreateInfo * pCreateInfo = {}; ImageAspectFlagBits planeAspect = ImageAspectFlagBits::eColor; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDeviceImageMemoryRequirements> { using Type = DeviceImageMemoryRequirements; }; #endif template <> struct CppType<StructureType, StructureType::eDeviceImageMemoryRequirements> { using Type = DeviceImageMemoryRequirements; }; using DeviceImageMemoryRequirementsKHR = DeviceImageMemoryRequirements; // wrapper struct for struct VkImageSubresource2, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageSubresource2.html struct ImageSubresource2 { using NativeType = VkImageSubresource2; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageSubresource2; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ImageSubresource2( ImageSubresource imageSubresource_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , imageSubresource{ imageSubresource_ } { } VULKAN_HPP_CONSTEXPR ImageSubresource2( ImageSubresource2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; ImageSubresource2( VkImageSubresource2 const & rhs ) VULKAN_HPP_NOEXCEPT : ImageSubresource2( *reinterpret_cast<ImageSubresource2 const *>( &rhs ) ) {} ImageSubresource2 & operator=( ImageSubresource2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ImageSubresource2 & operator=( VkImageSubresource2 const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ImageSubresource2 const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ImageSubresource2 & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ImageSubresource2 & setImageSubresource( ImageSubresource const & imageSubresource_ ) VULKAN_HPP_NOEXCEPT { imageSubresource = imageSubresource_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkImageSubresource2 const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkImageSubresource2 *>( this ); } operator VkImageSubresource2 &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkImageSubresource2 *>( this ); } operator VkImageSubresource2 const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkImageSubresource2 *>( this ); } operator VkImageSubresource2 *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkImageSubresource2 *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, ImageSubresource const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, imageSubresource ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ImageSubresource2 const & ) const = default; #else bool operator==( ImageSubresource2 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 ) && ( imageSubresource == rhs.imageSubresource ); # endif } bool operator!=( ImageSubresource2 const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eImageSubresource2; void * pNext = {}; ImageSubresource imageSubresource = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkImageSubresource2> { using Type = ImageSubresource2; }; #endif template <> struct CppType<StructureType, StructureType::eImageSubresource2> { using Type = ImageSubresource2; }; using ImageSubresource2EXT = ImageSubresource2; using ImageSubresource2KHR = ImageSubresource2; // wrapper struct for struct VkDeviceImageSubresourceInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceImageSubresourceInfo.html struct DeviceImageSubresourceInfo { using NativeType = VkDeviceImageSubresourceInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceImageSubresourceInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DeviceImageSubresourceInfo( const ImageCreateInfo * pCreateInfo_ = {}, const ImageSubresource2 * pSubresource_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , pCreateInfo{ pCreateInfo_ } , pSubresource{ pSubresource_ } { } VULKAN_HPP_CONSTEXPR DeviceImageSubresourceInfo( DeviceImageSubresourceInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; DeviceImageSubresourceInfo( VkDeviceImageSubresourceInfo const & rhs ) VULKAN_HPP_NOEXCEPT : DeviceImageSubresourceInfo( *reinterpret_cast<DeviceImageSubresourceInfo const *>( &rhs ) ) { } DeviceImageSubresourceInfo & operator=( DeviceImageSubresourceInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DeviceImageSubresourceInfo & operator=( VkDeviceImageSubresourceInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DeviceImageSubresourceInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DeviceImageSubresourceInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceImageSubresourceInfo & setPCreateInfo( const ImageCreateInfo * pCreateInfo_ ) VULKAN_HPP_NOEXCEPT { pCreateInfo = pCreateInfo_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceImageSubresourceInfo & setPSubresource( const ImageSubresource2 * pSubresource_ ) VULKAN_HPP_NOEXCEPT { pSubresource = pSubresource_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDeviceImageSubresourceInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDeviceImageSubresourceInfo *>( this ); } operator VkDeviceImageSubresourceInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDeviceImageSubresourceInfo *>( this ); } operator VkDeviceImageSubresourceInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDeviceImageSubresourceInfo *>( this ); } operator VkDeviceImageSubresourceInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDeviceImageSubresourceInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, const ImageCreateInfo * const &, const ImageSubresource2 * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, pCreateInfo, pSubresource ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DeviceImageSubresourceInfo const & ) const = default; #else bool operator==( DeviceImageSubresourceInfo 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 ) && ( pCreateInfo == rhs.pCreateInfo ) && ( pSubresource == rhs.pSubresource ); # endif } bool operator!=( DeviceImageSubresourceInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDeviceImageSubresourceInfo; const void * pNext = {}; const ImageCreateInfo * pCreateInfo = {}; const ImageSubresource2 * pSubresource = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDeviceImageSubresourceInfo> { using Type = DeviceImageSubresourceInfo; }; #endif template <> struct CppType<StructureType, StructureType::eDeviceImageSubresourceInfo> { using Type = DeviceImageSubresourceInfo; }; using DeviceImageSubresourceInfoKHR = DeviceImageSubresourceInfo; // wrapper struct for struct VkDeviceMemoryOpaqueCaptureAddressInfo, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceMemoryOpaqueCaptureAddressInfo.html struct DeviceMemoryOpaqueCaptureAddressInfo { using NativeType = VkDeviceMemoryOpaqueCaptureAddressInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceMemoryOpaqueCaptureAddressInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DeviceMemoryOpaqueCaptureAddressInfo( DeviceMemory memory_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , memory{ memory_ } { } VULKAN_HPP_CONSTEXPR DeviceMemoryOpaqueCaptureAddressInfo( DeviceMemoryOpaqueCaptureAddressInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; DeviceMemoryOpaqueCaptureAddressInfo( VkDeviceMemoryOpaqueCaptureAddressInfo const & rhs ) VULKAN_HPP_NOEXCEPT : DeviceMemoryOpaqueCaptureAddressInfo( *reinterpret_cast<DeviceMemoryOpaqueCaptureAddressInfo const *>( &rhs ) ) { } DeviceMemoryOpaqueCaptureAddressInfo & operator=( DeviceMemoryOpaqueCaptureAddressInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DeviceMemoryOpaqueCaptureAddressInfo & operator=( VkDeviceMemoryOpaqueCaptureAddressInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DeviceMemoryOpaqueCaptureAddressInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DeviceMemoryOpaqueCaptureAddressInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceMemoryOpaqueCaptureAddressInfo & setMemory( DeviceMemory memory_ ) VULKAN_HPP_NOEXCEPT { memory = memory_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDeviceMemoryOpaqueCaptureAddressInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDeviceMemoryOpaqueCaptureAddressInfo *>( this ); } operator VkDeviceMemoryOpaqueCaptureAddressInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDeviceMemoryOpaqueCaptureAddressInfo *>( this ); } operator VkDeviceMemoryOpaqueCaptureAddressInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDeviceMemoryOpaqueCaptureAddressInfo *>( this ); } operator VkDeviceMemoryOpaqueCaptureAddressInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDeviceMemoryOpaqueCaptureAddressInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DeviceMemory const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, memory ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DeviceMemoryOpaqueCaptureAddressInfo const & ) const = default; #else bool operator==( DeviceMemoryOpaqueCaptureAddressInfo 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 ) && ( memory == rhs.memory ); # endif } bool operator!=( DeviceMemoryOpaqueCaptureAddressInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDeviceMemoryOpaqueCaptureAddressInfo; const void * pNext = {}; DeviceMemory memory = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDeviceMemoryOpaqueCaptureAddressInfo> { using Type = DeviceMemoryOpaqueCaptureAddressInfo; }; #endif template <> struct CppType<StructureType, StructureType::eDeviceMemoryOpaqueCaptureAddressInfo> { using Type = DeviceMemoryOpaqueCaptureAddressInfo; }; using DeviceMemoryOpaqueCaptureAddressInfoKHR = DeviceMemoryOpaqueCaptureAddressInfo; // wrapper struct for struct VkDeviceMemoryOverallocationCreateInfoAMD, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceMemoryOverallocationCreateInfoAMD.html struct DeviceMemoryOverallocationCreateInfoAMD { using NativeType = VkDeviceMemoryOverallocationCreateInfoAMD; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceMemoryOverallocationCreateInfoAMD; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DeviceMemoryOverallocationCreateInfoAMD( MemoryOverallocationBehaviorAMD overallocationBehavior_ = MemoryOverallocationBehaviorAMD::eDefault, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , overallocationBehavior{ overallocationBehavior_ } { } VULKAN_HPP_CONSTEXPR DeviceMemoryOverallocationCreateInfoAMD( DeviceMemoryOverallocationCreateInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default; DeviceMemoryOverallocationCreateInfoAMD( VkDeviceMemoryOverallocationCreateInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT : DeviceMemoryOverallocationCreateInfoAMD( *reinterpret_cast<DeviceMemoryOverallocationCreateInfoAMD const *>( &rhs ) ) { } DeviceMemoryOverallocationCreateInfoAMD & operator=( DeviceMemoryOverallocationCreateInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DeviceMemoryOverallocationCreateInfoAMD & operator=( VkDeviceMemoryOverallocationCreateInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DeviceMemoryOverallocationCreateInfoAMD const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DeviceMemoryOverallocationCreateInfoAMD & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceMemoryOverallocationCreateInfoAMD & setOverallocationBehavior( MemoryOverallocationBehaviorAMD overallocationBehavior_ ) VULKAN_HPP_NOEXCEPT { overallocationBehavior = overallocationBehavior_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDeviceMemoryOverallocationCreateInfoAMD const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDeviceMemoryOverallocationCreateInfoAMD *>( this ); } operator VkDeviceMemoryOverallocationCreateInfoAMD &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDeviceMemoryOverallocationCreateInfoAMD *>( this ); } operator VkDeviceMemoryOverallocationCreateInfoAMD const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDeviceMemoryOverallocationCreateInfoAMD *>( this ); } operator VkDeviceMemoryOverallocationCreateInfoAMD *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDeviceMemoryOverallocationCreateInfoAMD *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, MemoryOverallocationBehaviorAMD const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, overallocationBehavior ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DeviceMemoryOverallocationCreateInfoAMD const & ) const = default; #else bool operator==( DeviceMemoryOverallocationCreateInfoAMD 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 ) && ( overallocationBehavior == rhs.overallocationBehavior ); # endif } bool operator!=( DeviceMemoryOverallocationCreateInfoAMD const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDeviceMemoryOverallocationCreateInfoAMD; const void * pNext = {}; MemoryOverallocationBehaviorAMD overallocationBehavior = MemoryOverallocationBehaviorAMD::eDefault; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDeviceMemoryOverallocationCreateInfoAMD> { using Type = DeviceMemoryOverallocationCreateInfoAMD; }; #endif template <> struct CppType<StructureType, StructureType::eDeviceMemoryOverallocationCreateInfoAMD> { using Type = DeviceMemoryOverallocationCreateInfoAMD; }; #if defined( VK_ENABLE_BETA_EXTENSIONS ) union DeviceOrHostAddressConstAMDX { using NativeType = VkDeviceOrHostAddressConstAMDX; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_UNION_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 DeviceOrHostAddressConstAMDX( DeviceAddress deviceAddress_ = {} ) : deviceAddress( deviceAddress_ ) {} VULKAN_HPP_CONSTEXPR_14 DeviceOrHostAddressConstAMDX( const void * hostAddress_ ) : hostAddress( hostAddress_ ) {} # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ # if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_UNION_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DeviceOrHostAddressConstAMDX & setDeviceAddress( DeviceAddress deviceAddress_ ) VULKAN_HPP_NOEXCEPT { deviceAddress = deviceAddress_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceOrHostAddressConstAMDX & setHostAddress( const void * hostAddress_ ) VULKAN_HPP_NOEXCEPT { hostAddress = hostAddress_; return *this; } # endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDeviceOrHostAddressConstAMDX const &() const { return *reinterpret_cast<const VkDeviceOrHostAddressConstAMDX *>( this ); } operator VkDeviceOrHostAddressConstAMDX &() { return *reinterpret_cast<VkDeviceOrHostAddressConstAMDX *>( this ); } # ifdef VULKAN_HPP_HAS_UNRESTRICTED_UNIONS DeviceAddress deviceAddress; const void * hostAddress; # else VkDeviceAddress deviceAddress; const void * hostAddress; # endif /*VULKAN_HPP_HAS_UNRESTRICTED_UNIONS*/ }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDeviceOrHostAddressConstAMDX> { using Type = DeviceOrHostAddressConstAMDX; }; # endif #endif /*VK_ENABLE_BETA_EXTENSIONS*/ // wrapper struct for struct VkDevicePipelineBinaryInternalCacheControlKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDevicePipelineBinaryInternalCacheControlKHR.html struct DevicePipelineBinaryInternalCacheControlKHR { using NativeType = VkDevicePipelineBinaryInternalCacheControlKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDevicePipelineBinaryInternalCacheControlKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DevicePipelineBinaryInternalCacheControlKHR( Bool32 disableInternalCache_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , disableInternalCache{ disableInternalCache_ } { } VULKAN_HPP_CONSTEXPR DevicePipelineBinaryInternalCacheControlKHR( DevicePipelineBinaryInternalCacheControlKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; DevicePipelineBinaryInternalCacheControlKHR( VkDevicePipelineBinaryInternalCacheControlKHR const & rhs ) VULKAN_HPP_NOEXCEPT : DevicePipelineBinaryInternalCacheControlKHR( *reinterpret_cast<DevicePipelineBinaryInternalCacheControlKHR const *>( &rhs ) ) { } DevicePipelineBinaryInternalCacheControlKHR & operator=( DevicePipelineBinaryInternalCacheControlKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DevicePipelineBinaryInternalCacheControlKHR & operator=( VkDevicePipelineBinaryInternalCacheControlKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DevicePipelineBinaryInternalCacheControlKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DevicePipelineBinaryInternalCacheControlKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DevicePipelineBinaryInternalCacheControlKHR & setDisableInternalCache( Bool32 disableInternalCache_ ) VULKAN_HPP_NOEXCEPT { disableInternalCache = disableInternalCache_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDevicePipelineBinaryInternalCacheControlKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDevicePipelineBinaryInternalCacheControlKHR *>( this ); } operator VkDevicePipelineBinaryInternalCacheControlKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDevicePipelineBinaryInternalCacheControlKHR *>( this ); } operator VkDevicePipelineBinaryInternalCacheControlKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDevicePipelineBinaryInternalCacheControlKHR *>( this ); } operator VkDevicePipelineBinaryInternalCacheControlKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDevicePipelineBinaryInternalCacheControlKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Bool32 const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, disableInternalCache ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DevicePipelineBinaryInternalCacheControlKHR const & ) const = default; #else bool operator==( DevicePipelineBinaryInternalCacheControlKHR 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 ) && ( disableInternalCache == rhs.disableInternalCache ); # endif } bool operator!=( DevicePipelineBinaryInternalCacheControlKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDevicePipelineBinaryInternalCacheControlKHR; const void * pNext = {}; Bool32 disableInternalCache = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDevicePipelineBinaryInternalCacheControlKHR> { using Type = DevicePipelineBinaryInternalCacheControlKHR; }; #endif template <> struct CppType<StructureType, StructureType::eDevicePipelineBinaryInternalCacheControlKHR> { using Type = DevicePipelineBinaryInternalCacheControlKHR; }; // wrapper struct for struct VkDevicePrivateDataCreateInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDevicePrivateDataCreateInfo.html struct DevicePrivateDataCreateInfo { using NativeType = VkDevicePrivateDataCreateInfo; static const bool allowDuplicate = true; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDevicePrivateDataCreateInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DevicePrivateDataCreateInfo( uint32_t privateDataSlotRequestCount_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , privateDataSlotRequestCount{ privateDataSlotRequestCount_ } { } VULKAN_HPP_CONSTEXPR DevicePrivateDataCreateInfo( DevicePrivateDataCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; DevicePrivateDataCreateInfo( VkDevicePrivateDataCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : DevicePrivateDataCreateInfo( *reinterpret_cast<DevicePrivateDataCreateInfo const *>( &rhs ) ) { } DevicePrivateDataCreateInfo & operator=( DevicePrivateDataCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DevicePrivateDataCreateInfo & operator=( VkDevicePrivateDataCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DevicePrivateDataCreateInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DevicePrivateDataCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DevicePrivateDataCreateInfo & setPrivateDataSlotRequestCount( uint32_t privateDataSlotRequestCount_ ) VULKAN_HPP_NOEXCEPT { privateDataSlotRequestCount = privateDataSlotRequestCount_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDevicePrivateDataCreateInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDevicePrivateDataCreateInfo *>( this ); } operator VkDevicePrivateDataCreateInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDevicePrivateDataCreateInfo *>( this ); } operator VkDevicePrivateDataCreateInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDevicePrivateDataCreateInfo *>( this ); } operator VkDevicePrivateDataCreateInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDevicePrivateDataCreateInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, privateDataSlotRequestCount ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DevicePrivateDataCreateInfo const & ) const = default; #else bool operator==( DevicePrivateDataCreateInfo 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 ) && ( privateDataSlotRequestCount == rhs.privateDataSlotRequestCount ); # endif } bool operator!=( DevicePrivateDataCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDevicePrivateDataCreateInfo; const void * pNext = {}; uint32_t privateDataSlotRequestCount = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDevicePrivateDataCreateInfo> { using Type = DevicePrivateDataCreateInfo; }; #endif template <> struct CppType<StructureType, StructureType::eDevicePrivateDataCreateInfo> { using Type = DevicePrivateDataCreateInfo; }; using DevicePrivateDataCreateInfoEXT = DevicePrivateDataCreateInfo; // wrapper struct for struct VkDeviceQueueGlobalPriorityCreateInfo, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceQueueGlobalPriorityCreateInfo.html struct DeviceQueueGlobalPriorityCreateInfo { using NativeType = VkDeviceQueueGlobalPriorityCreateInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceQueueGlobalPriorityCreateInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DeviceQueueGlobalPriorityCreateInfo( QueueGlobalPriority globalPriority_ = QueueGlobalPriority::eLow, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , globalPriority{ globalPriority_ } { } VULKAN_HPP_CONSTEXPR DeviceQueueGlobalPriorityCreateInfo( DeviceQueueGlobalPriorityCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; DeviceQueueGlobalPriorityCreateInfo( VkDeviceQueueGlobalPriorityCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : DeviceQueueGlobalPriorityCreateInfo( *reinterpret_cast<DeviceQueueGlobalPriorityCreateInfo const *>( &rhs ) ) { } DeviceQueueGlobalPriorityCreateInfo & operator=( DeviceQueueGlobalPriorityCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DeviceQueueGlobalPriorityCreateInfo & operator=( VkDeviceQueueGlobalPriorityCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DeviceQueueGlobalPriorityCreateInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DeviceQueueGlobalPriorityCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceQueueGlobalPriorityCreateInfo & setGlobalPriority( QueueGlobalPriority globalPriority_ ) VULKAN_HPP_NOEXCEPT { globalPriority = globalPriority_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDeviceQueueGlobalPriorityCreateInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDeviceQueueGlobalPriorityCreateInfo *>( this ); } operator VkDeviceQueueGlobalPriorityCreateInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDeviceQueueGlobalPriorityCreateInfo *>( this ); } operator VkDeviceQueueGlobalPriorityCreateInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDeviceQueueGlobalPriorityCreateInfo *>( this ); } operator VkDeviceQueueGlobalPriorityCreateInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDeviceQueueGlobalPriorityCreateInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, QueueGlobalPriority const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, globalPriority ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DeviceQueueGlobalPriorityCreateInfo const & ) const = default; #else bool operator==( DeviceQueueGlobalPriorityCreateInfo 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 ) && ( globalPriority == rhs.globalPriority ); # endif } bool operator!=( DeviceQueueGlobalPriorityCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDeviceQueueGlobalPriorityCreateInfo; const void * pNext = {}; QueueGlobalPriority globalPriority = QueueGlobalPriority::eLow; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDeviceQueueGlobalPriorityCreateInfo> { using Type = DeviceQueueGlobalPriorityCreateInfo; }; #endif template <> struct CppType<StructureType, StructureType::eDeviceQueueGlobalPriorityCreateInfo> { using Type = DeviceQueueGlobalPriorityCreateInfo; }; using DeviceQueueGlobalPriorityCreateInfoEXT = DeviceQueueGlobalPriorityCreateInfo; using DeviceQueueGlobalPriorityCreateInfoKHR = DeviceQueueGlobalPriorityCreateInfo; // wrapper struct for struct VkDeviceQueueInfo2, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceQueueInfo2.html struct DeviceQueueInfo2 { using NativeType = VkDeviceQueueInfo2; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceQueueInfo2; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DeviceQueueInfo2( DeviceQueueCreateFlags flags_ = {}, uint32_t queueFamilyIndex_ = {}, uint32_t queueIndex_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , queueFamilyIndex{ queueFamilyIndex_ } , queueIndex{ queueIndex_ } { } VULKAN_HPP_CONSTEXPR DeviceQueueInfo2( DeviceQueueInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; DeviceQueueInfo2( VkDeviceQueueInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT : DeviceQueueInfo2( *reinterpret_cast<DeviceQueueInfo2 const *>( &rhs ) ) {} DeviceQueueInfo2 & operator=( DeviceQueueInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DeviceQueueInfo2 & operator=( VkDeviceQueueInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DeviceQueueInfo2 const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DeviceQueueInfo2 & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceQueueInfo2 & setFlags( DeviceQueueCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceQueueInfo2 & setQueueFamilyIndex( uint32_t queueFamilyIndex_ ) VULKAN_HPP_NOEXCEPT { queueFamilyIndex = queueFamilyIndex_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceQueueInfo2 & setQueueIndex( uint32_t queueIndex_ ) VULKAN_HPP_NOEXCEPT { queueIndex = queueIndex_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDeviceQueueInfo2 const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDeviceQueueInfo2 *>( this ); } operator VkDeviceQueueInfo2 &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDeviceQueueInfo2 *>( this ); } operator VkDeviceQueueInfo2 const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDeviceQueueInfo2 *>( this ); } operator VkDeviceQueueInfo2 *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDeviceQueueInfo2 *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DeviceQueueCreateFlags const &, uint32_t const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, queueFamilyIndex, queueIndex ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DeviceQueueInfo2 const & ) const = default; #else bool operator==( DeviceQueueInfo2 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 ) && ( flags == rhs.flags ) && ( queueFamilyIndex == rhs.queueFamilyIndex ) && ( queueIndex == rhs.queueIndex ); # endif } bool operator!=( DeviceQueueInfo2 const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDeviceQueueInfo2; const void * pNext = {}; DeviceQueueCreateFlags flags = {}; uint32_t queueFamilyIndex = {}; uint32_t queueIndex = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDeviceQueueInfo2> { using Type = DeviceQueueInfo2; }; #endif template <> struct CppType<StructureType, StructureType::eDeviceQueueInfo2> { using Type = DeviceQueueInfo2; }; // wrapper struct for struct VkDeviceQueueShaderCoreControlCreateInfoARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceQueueShaderCoreControlCreateInfoARM.html struct DeviceQueueShaderCoreControlCreateInfoARM { using NativeType = VkDeviceQueueShaderCoreControlCreateInfoARM; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceQueueShaderCoreControlCreateInfoARM; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DeviceQueueShaderCoreControlCreateInfoARM( uint32_t shaderCoreCount_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , shaderCoreCount{ shaderCoreCount_ } { } VULKAN_HPP_CONSTEXPR DeviceQueueShaderCoreControlCreateInfoARM( DeviceQueueShaderCoreControlCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; DeviceQueueShaderCoreControlCreateInfoARM( VkDeviceQueueShaderCoreControlCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT : DeviceQueueShaderCoreControlCreateInfoARM( *reinterpret_cast<DeviceQueueShaderCoreControlCreateInfoARM const *>( &rhs ) ) { } DeviceQueueShaderCoreControlCreateInfoARM & operator=( DeviceQueueShaderCoreControlCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DeviceQueueShaderCoreControlCreateInfoARM & operator=( VkDeviceQueueShaderCoreControlCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DeviceQueueShaderCoreControlCreateInfoARM const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DeviceQueueShaderCoreControlCreateInfoARM & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceQueueShaderCoreControlCreateInfoARM & setShaderCoreCount( uint32_t shaderCoreCount_ ) VULKAN_HPP_NOEXCEPT { shaderCoreCount = shaderCoreCount_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDeviceQueueShaderCoreControlCreateInfoARM const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDeviceQueueShaderCoreControlCreateInfoARM *>( this ); } operator VkDeviceQueueShaderCoreControlCreateInfoARM &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDeviceQueueShaderCoreControlCreateInfoARM *>( this ); } operator VkDeviceQueueShaderCoreControlCreateInfoARM const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDeviceQueueShaderCoreControlCreateInfoARM *>( this ); } operator VkDeviceQueueShaderCoreControlCreateInfoARM *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDeviceQueueShaderCoreControlCreateInfoARM *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, shaderCoreCount ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DeviceQueueShaderCoreControlCreateInfoARM const & ) const = default; #else bool operator==( DeviceQueueShaderCoreControlCreateInfoARM 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 ) && ( shaderCoreCount == rhs.shaderCoreCount ); # endif } bool operator!=( DeviceQueueShaderCoreControlCreateInfoARM const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDeviceQueueShaderCoreControlCreateInfoARM; void * pNext = {}; uint32_t shaderCoreCount = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDeviceQueueShaderCoreControlCreateInfoARM> { using Type = DeviceQueueShaderCoreControlCreateInfoARM; }; #endif template <> struct CppType<StructureType, StructureType::eDeviceQueueShaderCoreControlCreateInfoARM> { using Type = DeviceQueueShaderCoreControlCreateInfoARM; }; // wrapper struct for struct VkTensorDescriptionARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkTensorDescriptionARM.html struct TensorDescriptionARM { using NativeType = VkTensorDescriptionARM; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eTensorDescriptionARM; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR TensorDescriptionARM( TensorTilingARM tiling_ = TensorTilingARM::eOptimal, Format format_ = Format::eUndefined, uint32_t dimensionCount_ = {}, const int64_t * pDimensions_ = {}, const int64_t * pStrides_ = {}, TensorUsageFlagsARM usage_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , tiling{ tiling_ } , format{ format_ } , dimensionCount{ dimensionCount_ } , pDimensions{ pDimensions_ } , pStrides{ pStrides_ } , usage{ usage_ } { } VULKAN_HPP_CONSTEXPR TensorDescriptionARM( TensorDescriptionARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; TensorDescriptionARM( VkTensorDescriptionARM const & rhs ) VULKAN_HPP_NOEXCEPT : TensorDescriptionARM( *reinterpret_cast<TensorDescriptionARM const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) TensorDescriptionARM( TensorTilingARM tiling_, Format format_, ArrayProxyNoTemporaries<const int64_t> const & dimensions_, ArrayProxyNoTemporaries<const int64_t> const & strides_ = {}, TensorUsageFlagsARM usage_ = {}, const void * pNext_ = nullptr ) : pNext( pNext_ ) , tiling( tiling_ ) , format( format_ ) , dimensionCount( static_cast<uint32_t>( dimensions_.size() ) ) , pDimensions( dimensions_.data() ) , pStrides( strides_.data() ) , usage( usage_ ) { # ifdef VULKAN_HPP_NO_EXCEPTIONS VULKAN_HPP_ASSERT( strides_.empty() || ( dimensions_.size() == strides_.size() ) ); # else if ( !strides_.empty() && ( dimensions_.size() != strides_.size() ) ) { throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::TensorDescriptionARM::TensorDescriptionARM: !strides_.empty() && ( dimensions_.size() != strides_.size() )" ); } # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ TensorDescriptionARM & operator=( TensorDescriptionARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ TensorDescriptionARM & operator=( VkTensorDescriptionARM const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<TensorDescriptionARM const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 TensorDescriptionARM & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 TensorDescriptionARM & setTiling( TensorTilingARM tiling_ ) VULKAN_HPP_NOEXCEPT { tiling = tiling_; return *this; } VULKAN_HPP_CONSTEXPR_14 TensorDescriptionARM & setFormat( Format format_ ) VULKAN_HPP_NOEXCEPT { format = format_; return *this; } VULKAN_HPP_CONSTEXPR_14 TensorDescriptionARM & setDimensionCount( uint32_t dimensionCount_ ) VULKAN_HPP_NOEXCEPT { dimensionCount = dimensionCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 TensorDescriptionARM & setPDimensions( const int64_t * pDimensions_ ) VULKAN_HPP_NOEXCEPT { pDimensions = pDimensions_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) TensorDescriptionARM & setDimensions( ArrayProxyNoTemporaries<const int64_t> const & dimensions_ ) VULKAN_HPP_NOEXCEPT { dimensionCount = static_cast<uint32_t>( dimensions_.size() ); pDimensions = dimensions_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 TensorDescriptionARM & setPStrides( const int64_t * pStrides_ ) VULKAN_HPP_NOEXCEPT { pStrides = pStrides_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) TensorDescriptionARM & setStrides( ArrayProxyNoTemporaries<const int64_t> const & strides_ ) VULKAN_HPP_NOEXCEPT { dimensionCount = static_cast<uint32_t>( strides_.size() ); pStrides = strides_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 TensorDescriptionARM & setUsage( TensorUsageFlagsARM usage_ ) VULKAN_HPP_NOEXCEPT { usage = usage_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkTensorDescriptionARM const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkTensorDescriptionARM *>( this ); } operator VkTensorDescriptionARM &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkTensorDescriptionARM *>( this ); } operator VkTensorDescriptionARM const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkTensorDescriptionARM *>( this ); } operator VkTensorDescriptionARM *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkTensorDescriptionARM *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, TensorTilingARM const &, Format const &, uint32_t const &, const int64_t * const &, const int64_t * const &, TensorUsageFlagsARM const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, tiling, format, dimensionCount, pDimensions, pStrides, usage ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( TensorDescriptionARM const & ) const = default; #else bool operator==( TensorDescriptionARM 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 ) && ( tiling == rhs.tiling ) && ( format == rhs.format ) && ( dimensionCount == rhs.dimensionCount ) && ( pDimensions == rhs.pDimensions ) && ( pStrides == rhs.pStrides ) && ( usage == rhs.usage ); # endif } bool operator!=( TensorDescriptionARM const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eTensorDescriptionARM; const void * pNext = {}; TensorTilingARM tiling = TensorTilingARM::eOptimal; Format format = Format::eUndefined; uint32_t dimensionCount = {}; const int64_t * pDimensions = {}; const int64_t * pStrides = {}; TensorUsageFlagsARM usage = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkTensorDescriptionARM> { using Type = TensorDescriptionARM; }; #endif template <> struct CppType<StructureType, StructureType::eTensorDescriptionARM> { using Type = TensorDescriptionARM; }; // wrapper struct for struct VkTensorCreateInfoARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkTensorCreateInfoARM.html struct TensorCreateInfoARM { using NativeType = VkTensorCreateInfoARM; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eTensorCreateInfoARM; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR TensorCreateInfoARM( TensorCreateFlagsARM flags_ = {}, const TensorDescriptionARM * pDescription_ = {}, SharingMode sharingMode_ = SharingMode::eExclusive, uint32_t queueFamilyIndexCount_ = {}, const uint32_t * pQueueFamilyIndices_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , pDescription{ pDescription_ } , sharingMode{ sharingMode_ } , queueFamilyIndexCount{ queueFamilyIndexCount_ } , pQueueFamilyIndices{ pQueueFamilyIndices_ } { } VULKAN_HPP_CONSTEXPR TensorCreateInfoARM( TensorCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; TensorCreateInfoARM( VkTensorCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT : TensorCreateInfoARM( *reinterpret_cast<TensorCreateInfoARM const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) TensorCreateInfoARM( TensorCreateFlagsARM flags_, const TensorDescriptionARM * pDescription_, SharingMode sharingMode_, ArrayProxyNoTemporaries<const uint32_t> const & queueFamilyIndices_, const void * pNext_ = nullptr ) : pNext( pNext_ ) , flags( flags_ ) , pDescription( pDescription_ ) , sharingMode( sharingMode_ ) , queueFamilyIndexCount( static_cast<uint32_t>( queueFamilyIndices_.size() ) ) , pQueueFamilyIndices( queueFamilyIndices_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ TensorCreateInfoARM & operator=( TensorCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ TensorCreateInfoARM & operator=( VkTensorCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<TensorCreateInfoARM const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 TensorCreateInfoARM & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 TensorCreateInfoARM & setFlags( TensorCreateFlagsARM flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 TensorCreateInfoARM & setPDescription( const TensorDescriptionARM * pDescription_ ) VULKAN_HPP_NOEXCEPT { pDescription = pDescription_; return *this; } VULKAN_HPP_CONSTEXPR_14 TensorCreateInfoARM & setSharingMode( SharingMode sharingMode_ ) VULKAN_HPP_NOEXCEPT { sharingMode = sharingMode_; return *this; } VULKAN_HPP_CONSTEXPR_14 TensorCreateInfoARM & setQueueFamilyIndexCount( uint32_t queueFamilyIndexCount_ ) VULKAN_HPP_NOEXCEPT { queueFamilyIndexCount = queueFamilyIndexCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 TensorCreateInfoARM & setPQueueFamilyIndices( const uint32_t * pQueueFamilyIndices_ ) VULKAN_HPP_NOEXCEPT { pQueueFamilyIndices = pQueueFamilyIndices_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) TensorCreateInfoARM & setQueueFamilyIndices( ArrayProxyNoTemporaries<const uint32_t> const & queueFamilyIndices_ ) VULKAN_HPP_NOEXCEPT { queueFamilyIndexCount = static_cast<uint32_t>( queueFamilyIndices_.size() ); pQueueFamilyIndices = queueFamilyIndices_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkTensorCreateInfoARM const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkTensorCreateInfoARM *>( this ); } operator VkTensorCreateInfoARM &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkTensorCreateInfoARM *>( this ); } operator VkTensorCreateInfoARM const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkTensorCreateInfoARM *>( this ); } operator VkTensorCreateInfoARM *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkTensorCreateInfoARM *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, TensorCreateFlagsARM const &, const TensorDescriptionARM * const &, SharingMode const &, uint32_t const &, const uint32_t * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, pDescription, sharingMode, queueFamilyIndexCount, pQueueFamilyIndices ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( TensorCreateInfoARM const & ) const = default; #else bool operator==( TensorCreateInfoARM 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 ) && ( flags == rhs.flags ) && ( pDescription == rhs.pDescription ) && ( sharingMode == rhs.sharingMode ) && ( queueFamilyIndexCount == rhs.queueFamilyIndexCount ) && ( pQueueFamilyIndices == rhs.pQueueFamilyIndices ); # endif } bool operator!=( TensorCreateInfoARM const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eTensorCreateInfoARM; const void * pNext = {}; TensorCreateFlagsARM flags = {}; const TensorDescriptionARM * pDescription = {}; SharingMode sharingMode = SharingMode::eExclusive; uint32_t queueFamilyIndexCount = {}; const uint32_t * pQueueFamilyIndices = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkTensorCreateInfoARM> { using Type = TensorCreateInfoARM; }; #endif template <> struct CppType<StructureType, StructureType::eTensorCreateInfoARM> { using Type = TensorCreateInfoARM; }; // wrapper struct for struct VkDeviceTensorMemoryRequirementsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceTensorMemoryRequirementsARM.html struct DeviceTensorMemoryRequirementsARM { using NativeType = VkDeviceTensorMemoryRequirementsARM; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceTensorMemoryRequirementsARM; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DeviceTensorMemoryRequirementsARM( const TensorCreateInfoARM * pCreateInfo_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , pCreateInfo{ pCreateInfo_ } { } VULKAN_HPP_CONSTEXPR DeviceTensorMemoryRequirementsARM( DeviceTensorMemoryRequirementsARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; DeviceTensorMemoryRequirementsARM( VkDeviceTensorMemoryRequirementsARM const & rhs ) VULKAN_HPP_NOEXCEPT : DeviceTensorMemoryRequirementsARM( *reinterpret_cast<DeviceTensorMemoryRequirementsARM const *>( &rhs ) ) { } DeviceTensorMemoryRequirementsARM & operator=( DeviceTensorMemoryRequirementsARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DeviceTensorMemoryRequirementsARM & operator=( VkDeviceTensorMemoryRequirementsARM const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DeviceTensorMemoryRequirementsARM const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DeviceTensorMemoryRequirementsARM & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DeviceTensorMemoryRequirementsARM & setPCreateInfo( const TensorCreateInfoARM * pCreateInfo_ ) VULKAN_HPP_NOEXCEPT { pCreateInfo = pCreateInfo_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDeviceTensorMemoryRequirementsARM const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDeviceTensorMemoryRequirementsARM *>( this ); } operator VkDeviceTensorMemoryRequirementsARM &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDeviceTensorMemoryRequirementsARM *>( this ); } operator VkDeviceTensorMemoryRequirementsARM const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDeviceTensorMemoryRequirementsARM *>( this ); } operator VkDeviceTensorMemoryRequirementsARM *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDeviceTensorMemoryRequirementsARM *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, const TensorCreateInfoARM * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, pCreateInfo ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DeviceTensorMemoryRequirementsARM const & ) const = default; #else bool operator==( DeviceTensorMemoryRequirementsARM 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 ) && ( pCreateInfo == rhs.pCreateInfo ); # endif } bool operator!=( DeviceTensorMemoryRequirementsARM const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDeviceTensorMemoryRequirementsARM; const void * pNext = {}; const TensorCreateInfoARM * pCreateInfo = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDeviceTensorMemoryRequirementsARM> { using Type = DeviceTensorMemoryRequirementsARM; }; #endif template <> struct CppType<StructureType, StructureType::eDeviceTensorMemoryRequirementsARM> { using Type = DeviceTensorMemoryRequirementsARM; }; typedef PFN_vkVoidFunction( VKAPI_PTR * PFN_GetInstanceProcAddrLUNARG )( Instance instance, const char * pName ); // wrapper struct for struct VkDirectDriverLoadingInfoLUNARG, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDirectDriverLoadingInfoLUNARG.html struct DirectDriverLoadingInfoLUNARG { using NativeType = VkDirectDriverLoadingInfoLUNARG; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDirectDriverLoadingInfoLUNARG; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DirectDriverLoadingInfoLUNARG( DirectDriverLoadingFlagsLUNARG flags_ = {}, PFN_GetInstanceProcAddrLUNARG pfnGetInstanceProcAddr_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , pfnGetInstanceProcAddr{ pfnGetInstanceProcAddr_ } { } VULKAN_HPP_CONSTEXPR DirectDriverLoadingInfoLUNARG( DirectDriverLoadingInfoLUNARG const & rhs ) VULKAN_HPP_NOEXCEPT = default; DirectDriverLoadingInfoLUNARG( VkDirectDriverLoadingInfoLUNARG const & rhs ) VULKAN_HPP_NOEXCEPT : DirectDriverLoadingInfoLUNARG( *reinterpret_cast<DirectDriverLoadingInfoLUNARG const *>( &rhs ) ) { } DirectDriverLoadingInfoLUNARG & operator=( DirectDriverLoadingInfoLUNARG const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DirectDriverLoadingInfoLUNARG & operator=( VkDirectDriverLoadingInfoLUNARG const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DirectDriverLoadingInfoLUNARG const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DirectDriverLoadingInfoLUNARG & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DirectDriverLoadingInfoLUNARG & setFlags( DirectDriverLoadingFlagsLUNARG flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 DirectDriverLoadingInfoLUNARG & setPfnGetInstanceProcAddr( PFN_GetInstanceProcAddrLUNARG pfnGetInstanceProcAddr_ ) VULKAN_HPP_NOEXCEPT { pfnGetInstanceProcAddr = pfnGetInstanceProcAddr_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDirectDriverLoadingInfoLUNARG const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDirectDriverLoadingInfoLUNARG *>( this ); } operator VkDirectDriverLoadingInfoLUNARG &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDirectDriverLoadingInfoLUNARG *>( this ); } operator VkDirectDriverLoadingInfoLUNARG const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDirectDriverLoadingInfoLUNARG *>( this ); } operator VkDirectDriverLoadingInfoLUNARG *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDirectDriverLoadingInfoLUNARG *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, DirectDriverLoadingFlagsLUNARG const &, PFN_GetInstanceProcAddrLUNARG const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, pfnGetInstanceProcAddr ); } #endif bool operator==( DirectDriverLoadingInfoLUNARG 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 ) && ( flags == rhs.flags ) && ( pfnGetInstanceProcAddr == rhs.pfnGetInstanceProcAddr ); #endif } bool operator!=( DirectDriverLoadingInfoLUNARG const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } public: StructureType sType = StructureType::eDirectDriverLoadingInfoLUNARG; void * pNext = {}; DirectDriverLoadingFlagsLUNARG flags = {}; PFN_GetInstanceProcAddrLUNARG pfnGetInstanceProcAddr = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDirectDriverLoadingInfoLUNARG> { using Type = DirectDriverLoadingInfoLUNARG; }; #endif template <> struct CppType<StructureType, StructureType::eDirectDriverLoadingInfoLUNARG> { using Type = DirectDriverLoadingInfoLUNARG; }; // wrapper struct for struct VkDirectDriverLoadingListLUNARG, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDirectDriverLoadingListLUNARG.html struct DirectDriverLoadingListLUNARG { using NativeType = VkDirectDriverLoadingListLUNARG; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDirectDriverLoadingListLUNARG; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DirectDriverLoadingListLUNARG( DirectDriverLoadingModeLUNARG mode_ = DirectDriverLoadingModeLUNARG::eExclusive, uint32_t driverCount_ = {}, const DirectDriverLoadingInfoLUNARG * pDrivers_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , mode{ mode_ } , driverCount{ driverCount_ } , pDrivers{ pDrivers_ } { } VULKAN_HPP_CONSTEXPR DirectDriverLoadingListLUNARG( DirectDriverLoadingListLUNARG const & rhs ) VULKAN_HPP_NOEXCEPT = default; DirectDriverLoadingListLUNARG( VkDirectDriverLoadingListLUNARG const & rhs ) VULKAN_HPP_NOEXCEPT : DirectDriverLoadingListLUNARG( *reinterpret_cast<DirectDriverLoadingListLUNARG const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DirectDriverLoadingListLUNARG( DirectDriverLoadingModeLUNARG mode_, ArrayProxyNoTemporaries<const DirectDriverLoadingInfoLUNARG> const & drivers_, const void * pNext_ = nullptr ) : pNext( pNext_ ), mode( mode_ ), driverCount( static_cast<uint32_t>( drivers_.size() ) ), pDrivers( drivers_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ DirectDriverLoadingListLUNARG & operator=( DirectDriverLoadingListLUNARG const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DirectDriverLoadingListLUNARG & operator=( VkDirectDriverLoadingListLUNARG const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DirectDriverLoadingListLUNARG const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DirectDriverLoadingListLUNARG & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DirectDriverLoadingListLUNARG & setMode( DirectDriverLoadingModeLUNARG mode_ ) VULKAN_HPP_NOEXCEPT { mode = mode_; return *this; } VULKAN_HPP_CONSTEXPR_14 DirectDriverLoadingListLUNARG & setDriverCount( uint32_t driverCount_ ) VULKAN_HPP_NOEXCEPT { driverCount = driverCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DirectDriverLoadingListLUNARG & setPDrivers( const DirectDriverLoadingInfoLUNARG * pDrivers_ ) VULKAN_HPP_NOEXCEPT { pDrivers = pDrivers_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) DirectDriverLoadingListLUNARG & setDrivers( ArrayProxyNoTemporaries<const DirectDriverLoadingInfoLUNARG> const & drivers_ ) VULKAN_HPP_NOEXCEPT { driverCount = static_cast<uint32_t>( drivers_.size() ); pDrivers = drivers_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDirectDriverLoadingListLUNARG const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDirectDriverLoadingListLUNARG *>( this ); } operator VkDirectDriverLoadingListLUNARG &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDirectDriverLoadingListLUNARG *>( this ); } operator VkDirectDriverLoadingListLUNARG const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDirectDriverLoadingListLUNARG *>( this ); } operator VkDirectDriverLoadingListLUNARG *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDirectDriverLoadingListLUNARG *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std:: tuple<StructureType const &, const void * const &, DirectDriverLoadingModeLUNARG const &, uint32_t const &, const DirectDriverLoadingInfoLUNARG * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, mode, driverCount, pDrivers ); } #endif bool operator==( DirectDriverLoadingListLUNARG 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 ) && ( mode == rhs.mode ) && ( driverCount == rhs.driverCount ) && ( pDrivers == rhs.pDrivers ); #endif } bool operator!=( DirectDriverLoadingListLUNARG const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } public: StructureType sType = StructureType::eDirectDriverLoadingListLUNARG; const void * pNext = {}; DirectDriverLoadingModeLUNARG mode = DirectDriverLoadingModeLUNARG::eExclusive; uint32_t driverCount = {}; const DirectDriverLoadingInfoLUNARG * pDrivers = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDirectDriverLoadingListLUNARG> { using Type = DirectDriverLoadingListLUNARG; }; #endif template <> struct CppType<StructureType, StructureType::eDirectDriverLoadingListLUNARG> { using Type = DirectDriverLoadingListLUNARG; }; #if defined( VK_USE_PLATFORM_DIRECTFB_EXT ) // wrapper struct for struct VkDirectFBSurfaceCreateInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDirectFBSurfaceCreateInfoEXT.html struct DirectFBSurfaceCreateInfoEXT { using NativeType = VkDirectFBSurfaceCreateInfoEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDirectfbSurfaceCreateInfoEXT; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DirectFBSurfaceCreateInfoEXT( DirectFBSurfaceCreateFlagsEXT flags_ = {}, IDirectFB * dfb_ = {}, IDirectFBSurface * surface_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , dfb{ dfb_ } , surface{ surface_ } { } VULKAN_HPP_CONSTEXPR DirectFBSurfaceCreateInfoEXT( DirectFBSurfaceCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; DirectFBSurfaceCreateInfoEXT( VkDirectFBSurfaceCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DirectFBSurfaceCreateInfoEXT( *reinterpret_cast<DirectFBSurfaceCreateInfoEXT const *>( &rhs ) ) { } DirectFBSurfaceCreateInfoEXT & operator=( DirectFBSurfaceCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DirectFBSurfaceCreateInfoEXT & operator=( VkDirectFBSurfaceCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DirectFBSurfaceCreateInfoEXT const *>( &rhs ); return *this; } # if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DirectFBSurfaceCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DirectFBSurfaceCreateInfoEXT & setFlags( DirectFBSurfaceCreateFlagsEXT flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 DirectFBSurfaceCreateInfoEXT & setDfb( IDirectFB * dfb_ ) VULKAN_HPP_NOEXCEPT { dfb = dfb_; return *this; } VULKAN_HPP_CONSTEXPR_14 DirectFBSurfaceCreateInfoEXT & setSurface( IDirectFBSurface * surface_ ) VULKAN_HPP_NOEXCEPT { surface = surface_; return *this; } # endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDirectFBSurfaceCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDirectFBSurfaceCreateInfoEXT *>( this ); } operator VkDirectFBSurfaceCreateInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDirectFBSurfaceCreateInfoEXT *>( this ); } operator VkDirectFBSurfaceCreateInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDirectFBSurfaceCreateInfoEXT *>( this ); } operator VkDirectFBSurfaceCreateInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDirectFBSurfaceCreateInfoEXT *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DirectFBSurfaceCreateFlagsEXT const &, IDirectFB * const &, IDirectFBSurface * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, dfb, surface ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DirectFBSurfaceCreateInfoEXT const & ) const = default; # else bool operator==( DirectFBSurfaceCreateInfoEXT 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 ) && ( flags == rhs.flags ) && ( dfb == rhs.dfb ) && ( surface == rhs.surface ); # endif } bool operator!=( DirectFBSurfaceCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } # endif public: StructureType sType = StructureType::eDirectfbSurfaceCreateInfoEXT; const void * pNext = {}; DirectFBSurfaceCreateFlagsEXT flags = {}; IDirectFB * dfb = {}; IDirectFBSurface * surface = {}; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDirectFBSurfaceCreateInfoEXT> { using Type = DirectFBSurfaceCreateInfoEXT; }; # endif template <> struct CppType<StructureType, StructureType::eDirectfbSurfaceCreateInfoEXT> { using Type = DirectFBSurfaceCreateInfoEXT; }; #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/ #if defined( VK_ENABLE_BETA_EXTENSIONS ) // wrapper struct for struct VkDispatchGraphCountInfoAMDX, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDispatchGraphCountInfoAMDX.html struct DispatchGraphCountInfoAMDX { using NativeType = VkDispatchGraphCountInfoAMDX; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 DispatchGraphCountInfoAMDX( uint32_t count_ = {}, DeviceOrHostAddressConstAMDX infos_ = {}, uint64_t stride_ = {} ) VULKAN_HPP_NOEXCEPT : count{ count_ } , infos{ infos_ } , stride{ stride_ } { } VULKAN_HPP_CONSTEXPR_14 DispatchGraphCountInfoAMDX( DispatchGraphCountInfoAMDX const & rhs ) VULKAN_HPP_NOEXCEPT = default; DispatchGraphCountInfoAMDX( VkDispatchGraphCountInfoAMDX const & rhs ) VULKAN_HPP_NOEXCEPT : DispatchGraphCountInfoAMDX( *reinterpret_cast<DispatchGraphCountInfoAMDX const *>( &rhs ) ) { } DispatchGraphCountInfoAMDX & operator=( DispatchGraphCountInfoAMDX const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DispatchGraphCountInfoAMDX & operator=( VkDispatchGraphCountInfoAMDX const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DispatchGraphCountInfoAMDX const *>( &rhs ); return *this; } # if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DispatchGraphCountInfoAMDX & setCount( uint32_t count_ ) VULKAN_HPP_NOEXCEPT { count = count_; return *this; } VULKAN_HPP_CONSTEXPR_14 DispatchGraphCountInfoAMDX & setInfos( DeviceOrHostAddressConstAMDX const & infos_ ) VULKAN_HPP_NOEXCEPT { infos = infos_; return *this; } VULKAN_HPP_CONSTEXPR_14 DispatchGraphCountInfoAMDX & setStride( uint64_t stride_ ) VULKAN_HPP_NOEXCEPT { stride = stride_; return *this; } # endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDispatchGraphCountInfoAMDX const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDispatchGraphCountInfoAMDX *>( this ); } operator VkDispatchGraphCountInfoAMDX &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDispatchGraphCountInfoAMDX *>( this ); } operator VkDispatchGraphCountInfoAMDX const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDispatchGraphCountInfoAMDX *>( this ); } operator VkDispatchGraphCountInfoAMDX *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDispatchGraphCountInfoAMDX *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<uint32_t const &, DeviceOrHostAddressConstAMDX const &, uint64_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( count, infos, stride ); } # endif public: uint32_t count = {}; DeviceOrHostAddressConstAMDX infos = {}; uint64_t stride = {}; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDispatchGraphCountInfoAMDX> { using Type = DispatchGraphCountInfoAMDX; }; # endif #endif /*VK_ENABLE_BETA_EXTENSIONS*/ #if defined( VK_ENABLE_BETA_EXTENSIONS ) // wrapper struct for struct VkDispatchGraphInfoAMDX, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDispatchGraphInfoAMDX.html struct DispatchGraphInfoAMDX { using NativeType = VkDispatchGraphInfoAMDX; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 DispatchGraphInfoAMDX( uint32_t nodeIndex_ = {}, uint32_t payloadCount_ = {}, DeviceOrHostAddressConstAMDX payloads_ = {}, uint64_t payloadStride_ = {} ) VULKAN_HPP_NOEXCEPT : nodeIndex{ nodeIndex_ } , payloadCount{ payloadCount_ } , payloads{ payloads_ } , payloadStride{ payloadStride_ } { } VULKAN_HPP_CONSTEXPR_14 DispatchGraphInfoAMDX( DispatchGraphInfoAMDX const & rhs ) VULKAN_HPP_NOEXCEPT = default; DispatchGraphInfoAMDX( VkDispatchGraphInfoAMDX const & rhs ) VULKAN_HPP_NOEXCEPT : DispatchGraphInfoAMDX( *reinterpret_cast<DispatchGraphInfoAMDX const *>( &rhs ) ) { } DispatchGraphInfoAMDX & operator=( DispatchGraphInfoAMDX const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DispatchGraphInfoAMDX & operator=( VkDispatchGraphInfoAMDX const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DispatchGraphInfoAMDX const *>( &rhs ); return *this; } # if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DispatchGraphInfoAMDX & setNodeIndex( uint32_t nodeIndex_ ) VULKAN_HPP_NOEXCEPT { nodeIndex = nodeIndex_; return *this; } VULKAN_HPP_CONSTEXPR_14 DispatchGraphInfoAMDX & setPayloadCount( uint32_t payloadCount_ ) VULKAN_HPP_NOEXCEPT { payloadCount = payloadCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DispatchGraphInfoAMDX & setPayloads( DeviceOrHostAddressConstAMDX const & payloads_ ) VULKAN_HPP_NOEXCEPT { payloads = payloads_; return *this; } VULKAN_HPP_CONSTEXPR_14 DispatchGraphInfoAMDX & setPayloadStride( uint64_t payloadStride_ ) VULKAN_HPP_NOEXCEPT { payloadStride = payloadStride_; return *this; } # endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDispatchGraphInfoAMDX const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDispatchGraphInfoAMDX *>( this ); } operator VkDispatchGraphInfoAMDX &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDispatchGraphInfoAMDX *>( this ); } operator VkDispatchGraphInfoAMDX const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDispatchGraphInfoAMDX *>( this ); } operator VkDispatchGraphInfoAMDX *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDispatchGraphInfoAMDX *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<uint32_t const &, uint32_t const &, DeviceOrHostAddressConstAMDX const &, uint64_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( nodeIndex, payloadCount, payloads, payloadStride ); } # endif public: uint32_t nodeIndex = {}; uint32_t payloadCount = {}; DeviceOrHostAddressConstAMDX payloads = {}; uint64_t payloadStride = {}; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDispatchGraphInfoAMDX> { using Type = DispatchGraphInfoAMDX; }; # endif #endif /*VK_ENABLE_BETA_EXTENSIONS*/ // wrapper struct for struct VkDispatchIndirectCommand, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDispatchIndirectCommand.html struct DispatchIndirectCommand { using NativeType = VkDispatchIndirectCommand; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DispatchIndirectCommand( uint32_t x_ = {}, uint32_t y_ = {}, uint32_t z_ = {} ) VULKAN_HPP_NOEXCEPT : x{ x_ } , y{ y_ } , z{ z_ } { } VULKAN_HPP_CONSTEXPR DispatchIndirectCommand( DispatchIndirectCommand const & rhs ) VULKAN_HPP_NOEXCEPT = default; DispatchIndirectCommand( VkDispatchIndirectCommand const & rhs ) VULKAN_HPP_NOEXCEPT : DispatchIndirectCommand( *reinterpret_cast<DispatchIndirectCommand const *>( &rhs ) ) { } DispatchIndirectCommand & operator=( DispatchIndirectCommand const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DispatchIndirectCommand & operator=( VkDispatchIndirectCommand const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DispatchIndirectCommand const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DispatchIndirectCommand & setX( uint32_t x_ ) VULKAN_HPP_NOEXCEPT { x = x_; return *this; } VULKAN_HPP_CONSTEXPR_14 DispatchIndirectCommand & setY( uint32_t y_ ) VULKAN_HPP_NOEXCEPT { y = y_; return *this; } VULKAN_HPP_CONSTEXPR_14 DispatchIndirectCommand & setZ( uint32_t z_ ) VULKAN_HPP_NOEXCEPT { z = z_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDispatchIndirectCommand const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDispatchIndirectCommand *>( this ); } operator VkDispatchIndirectCommand &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDispatchIndirectCommand *>( this ); } operator VkDispatchIndirectCommand const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDispatchIndirectCommand *>( this ); } operator VkDispatchIndirectCommand *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDispatchIndirectCommand *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<uint32_t const &, uint32_t const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( x, y, z ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DispatchIndirectCommand const & ) const = default; #else bool operator==( DispatchIndirectCommand const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( x == rhs.x ) && ( y == rhs.y ) && ( z == rhs.z ); # endif } bool operator!=( DispatchIndirectCommand const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: uint32_t x = {}; uint32_t y = {}; uint32_t z = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDispatchIndirectCommand> { using Type = DispatchIndirectCommand; }; #endif // wrapper struct for struct VkDispatchTileInfoQCOM, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDispatchTileInfoQCOM.html struct DispatchTileInfoQCOM { using NativeType = VkDispatchTileInfoQCOM; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDispatchTileInfoQCOM; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DispatchTileInfoQCOM( const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } {} VULKAN_HPP_CONSTEXPR DispatchTileInfoQCOM( DispatchTileInfoQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default; DispatchTileInfoQCOM( VkDispatchTileInfoQCOM const & rhs ) VULKAN_HPP_NOEXCEPT : DispatchTileInfoQCOM( *reinterpret_cast<DispatchTileInfoQCOM const *>( &rhs ) ) { } DispatchTileInfoQCOM & operator=( DispatchTileInfoQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DispatchTileInfoQCOM & operator=( VkDispatchTileInfoQCOM const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DispatchTileInfoQCOM const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DispatchTileInfoQCOM & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDispatchTileInfoQCOM const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDispatchTileInfoQCOM *>( this ); } operator VkDispatchTileInfoQCOM &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDispatchTileInfoQCOM *>( this ); } operator VkDispatchTileInfoQCOM const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDispatchTileInfoQCOM *>( this ); } operator VkDispatchTileInfoQCOM *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDispatchTileInfoQCOM *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DispatchTileInfoQCOM const & ) const = default; #else bool operator==( DispatchTileInfoQCOM 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 ); # endif } bool operator!=( DispatchTileInfoQCOM const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDispatchTileInfoQCOM; const void * pNext = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDispatchTileInfoQCOM> { using Type = DispatchTileInfoQCOM; }; #endif template <> struct CppType<StructureType, StructureType::eDispatchTileInfoQCOM> { using Type = DispatchTileInfoQCOM; }; // wrapper struct for struct VkDisplayEventInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDisplayEventInfoEXT.html struct DisplayEventInfoEXT { using NativeType = VkDisplayEventInfoEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayEventInfoEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DisplayEventInfoEXT( DisplayEventTypeEXT displayEvent_ = DisplayEventTypeEXT::eFirstPixelOut, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , displayEvent{ displayEvent_ } { } VULKAN_HPP_CONSTEXPR DisplayEventInfoEXT( DisplayEventInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; DisplayEventInfoEXT( VkDisplayEventInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DisplayEventInfoEXT( *reinterpret_cast<DisplayEventInfoEXT const *>( &rhs ) ) { } DisplayEventInfoEXT & operator=( DisplayEventInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DisplayEventInfoEXT & operator=( VkDisplayEventInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DisplayEventInfoEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DisplayEventInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DisplayEventInfoEXT & setDisplayEvent( DisplayEventTypeEXT displayEvent_ ) VULKAN_HPP_NOEXCEPT { displayEvent = displayEvent_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDisplayEventInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDisplayEventInfoEXT *>( this ); } operator VkDisplayEventInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDisplayEventInfoEXT *>( this ); } operator VkDisplayEventInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDisplayEventInfoEXT *>( this ); } operator VkDisplayEventInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDisplayEventInfoEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DisplayEventTypeEXT const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, displayEvent ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DisplayEventInfoEXT const & ) const = default; #else bool operator==( DisplayEventInfoEXT 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 ) && ( displayEvent == rhs.displayEvent ); # endif } bool operator!=( DisplayEventInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDisplayEventInfoEXT; const void * pNext = {}; DisplayEventTypeEXT displayEvent = DisplayEventTypeEXT::eFirstPixelOut; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDisplayEventInfoEXT> { using Type = DisplayEventInfoEXT; }; #endif template <> struct CppType<StructureType, StructureType::eDisplayEventInfoEXT> { using Type = DisplayEventInfoEXT; }; // wrapper struct for struct VkDisplayModeParametersKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDisplayModeParametersKHR.html struct DisplayModeParametersKHR { using NativeType = VkDisplayModeParametersKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DisplayModeParametersKHR( Extent2D visibleRegion_ = {}, uint32_t refreshRate_ = {} ) VULKAN_HPP_NOEXCEPT : visibleRegion{ visibleRegion_ } , refreshRate{ refreshRate_ } { } VULKAN_HPP_CONSTEXPR DisplayModeParametersKHR( DisplayModeParametersKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; DisplayModeParametersKHR( VkDisplayModeParametersKHR const & rhs ) VULKAN_HPP_NOEXCEPT : DisplayModeParametersKHR( *reinterpret_cast<DisplayModeParametersKHR const *>( &rhs ) ) { } DisplayModeParametersKHR & operator=( DisplayModeParametersKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DisplayModeParametersKHR & operator=( VkDisplayModeParametersKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DisplayModeParametersKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DisplayModeParametersKHR & setVisibleRegion( Extent2D const & visibleRegion_ ) VULKAN_HPP_NOEXCEPT { visibleRegion = visibleRegion_; return *this; } VULKAN_HPP_CONSTEXPR_14 DisplayModeParametersKHR & setRefreshRate( uint32_t refreshRate_ ) VULKAN_HPP_NOEXCEPT { refreshRate = refreshRate_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDisplayModeParametersKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDisplayModeParametersKHR *>( this ); } operator VkDisplayModeParametersKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDisplayModeParametersKHR *>( this ); } operator VkDisplayModeParametersKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDisplayModeParametersKHR *>( this ); } operator VkDisplayModeParametersKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDisplayModeParametersKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<Extent2D const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( visibleRegion, refreshRate ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DisplayModeParametersKHR const & ) const = default; #else bool operator==( DisplayModeParametersKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( visibleRegion == rhs.visibleRegion ) && ( refreshRate == rhs.refreshRate ); # endif } bool operator!=( DisplayModeParametersKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: Extent2D visibleRegion = {}; uint32_t refreshRate = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDisplayModeParametersKHR> { using Type = DisplayModeParametersKHR; }; #endif // wrapper struct for struct VkDisplayModeCreateInfoKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDisplayModeCreateInfoKHR.html struct DisplayModeCreateInfoKHR { using NativeType = VkDisplayModeCreateInfoKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayModeCreateInfoKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DisplayModeCreateInfoKHR( DisplayModeCreateFlagsKHR flags_ = {}, DisplayModeParametersKHR parameters_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , parameters{ parameters_ } { } VULKAN_HPP_CONSTEXPR DisplayModeCreateInfoKHR( DisplayModeCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; DisplayModeCreateInfoKHR( VkDisplayModeCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : DisplayModeCreateInfoKHR( *reinterpret_cast<DisplayModeCreateInfoKHR const *>( &rhs ) ) { } DisplayModeCreateInfoKHR & operator=( DisplayModeCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DisplayModeCreateInfoKHR & operator=( VkDisplayModeCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DisplayModeCreateInfoKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DisplayModeCreateInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DisplayModeCreateInfoKHR & setFlags( DisplayModeCreateFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 DisplayModeCreateInfoKHR & setParameters( DisplayModeParametersKHR const & parameters_ ) VULKAN_HPP_NOEXCEPT { parameters = parameters_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDisplayModeCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDisplayModeCreateInfoKHR *>( this ); } operator VkDisplayModeCreateInfoKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDisplayModeCreateInfoKHR *>( this ); } operator VkDisplayModeCreateInfoKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDisplayModeCreateInfoKHR *>( this ); } operator VkDisplayModeCreateInfoKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDisplayModeCreateInfoKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DisplayModeCreateFlagsKHR const &, DisplayModeParametersKHR const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, parameters ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DisplayModeCreateInfoKHR const & ) const = default; #else bool operator==( DisplayModeCreateInfoKHR 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 ) && ( flags == rhs.flags ) && ( parameters == rhs.parameters ); # endif } bool operator!=( DisplayModeCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDisplayModeCreateInfoKHR; const void * pNext = {}; DisplayModeCreateFlagsKHR flags = {}; DisplayModeParametersKHR parameters = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDisplayModeCreateInfoKHR> { using Type = DisplayModeCreateInfoKHR; }; #endif template <> struct CppType<StructureType, StructureType::eDisplayModeCreateInfoKHR> { using Type = DisplayModeCreateInfoKHR; }; // wrapper struct for struct VkDisplayModePropertiesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDisplayModePropertiesKHR.html struct DisplayModePropertiesKHR { using NativeType = VkDisplayModePropertiesKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DisplayModePropertiesKHR( DisplayModeKHR displayMode_ = {}, DisplayModeParametersKHR parameters_ = {} ) VULKAN_HPP_NOEXCEPT : displayMode{ displayMode_ } , parameters{ parameters_ } { } VULKAN_HPP_CONSTEXPR DisplayModePropertiesKHR( DisplayModePropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; DisplayModePropertiesKHR( VkDisplayModePropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT : DisplayModePropertiesKHR( *reinterpret_cast<DisplayModePropertiesKHR const *>( &rhs ) ) { } DisplayModePropertiesKHR & operator=( DisplayModePropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DisplayModePropertiesKHR & operator=( VkDisplayModePropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DisplayModePropertiesKHR const *>( &rhs ); return *this; } operator VkDisplayModePropertiesKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDisplayModePropertiesKHR *>( this ); } operator VkDisplayModePropertiesKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDisplayModePropertiesKHR *>( this ); } operator VkDisplayModePropertiesKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDisplayModePropertiesKHR *>( this ); } operator VkDisplayModePropertiesKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDisplayModePropertiesKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<DisplayModeKHR const &, DisplayModeParametersKHR const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( displayMode, parameters ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DisplayModePropertiesKHR const & ) const = default; #else bool operator==( DisplayModePropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( displayMode == rhs.displayMode ) && ( parameters == rhs.parameters ); # endif } bool operator!=( DisplayModePropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: DisplayModeKHR displayMode = {}; DisplayModeParametersKHR parameters = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDisplayModePropertiesKHR> { using Type = DisplayModePropertiesKHR; }; #endif // wrapper struct for struct VkDisplayModeProperties2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDisplayModeProperties2KHR.html struct DisplayModeProperties2KHR { using NativeType = VkDisplayModeProperties2KHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayModeProperties2KHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DisplayModeProperties2KHR( DisplayModePropertiesKHR displayModeProperties_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , displayModeProperties{ displayModeProperties_ } { } VULKAN_HPP_CONSTEXPR DisplayModeProperties2KHR( DisplayModeProperties2KHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; DisplayModeProperties2KHR( VkDisplayModeProperties2KHR const & rhs ) VULKAN_HPP_NOEXCEPT : DisplayModeProperties2KHR( *reinterpret_cast<DisplayModeProperties2KHR const *>( &rhs ) ) { } DisplayModeProperties2KHR & operator=( DisplayModeProperties2KHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DisplayModeProperties2KHR & operator=( VkDisplayModeProperties2KHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DisplayModeProperties2KHR const *>( &rhs ); return *this; } operator VkDisplayModeProperties2KHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDisplayModeProperties2KHR *>( this ); } operator VkDisplayModeProperties2KHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDisplayModeProperties2KHR *>( this ); } operator VkDisplayModeProperties2KHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDisplayModeProperties2KHR *>( this ); } operator VkDisplayModeProperties2KHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDisplayModeProperties2KHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, DisplayModePropertiesKHR const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, displayModeProperties ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DisplayModeProperties2KHR const & ) const = default; #else bool operator==( DisplayModeProperties2KHR 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 ) && ( displayModeProperties == rhs.displayModeProperties ); # endif } bool operator!=( DisplayModeProperties2KHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDisplayModeProperties2KHR; void * pNext = {}; DisplayModePropertiesKHR displayModeProperties = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDisplayModeProperties2KHR> { using Type = DisplayModeProperties2KHR; }; #endif template <> struct CppType<StructureType, StructureType::eDisplayModeProperties2KHR> { using Type = DisplayModeProperties2KHR; }; // wrapper struct for struct VkDisplayModeStereoPropertiesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDisplayModeStereoPropertiesNV.html struct DisplayModeStereoPropertiesNV { using NativeType = VkDisplayModeStereoPropertiesNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayModeStereoPropertiesNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DisplayModeStereoPropertiesNV( Bool32 hdmi3DSupported_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , hdmi3DSupported{ hdmi3DSupported_ } { } VULKAN_HPP_CONSTEXPR DisplayModeStereoPropertiesNV( DisplayModeStereoPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; DisplayModeStereoPropertiesNV( VkDisplayModeStereoPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT : DisplayModeStereoPropertiesNV( *reinterpret_cast<DisplayModeStereoPropertiesNV const *>( &rhs ) ) { } DisplayModeStereoPropertiesNV & operator=( DisplayModeStereoPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DisplayModeStereoPropertiesNV & operator=( VkDisplayModeStereoPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DisplayModeStereoPropertiesNV const *>( &rhs ); return *this; } operator VkDisplayModeStereoPropertiesNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDisplayModeStereoPropertiesNV *>( this ); } operator VkDisplayModeStereoPropertiesNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDisplayModeStereoPropertiesNV *>( this ); } operator VkDisplayModeStereoPropertiesNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDisplayModeStereoPropertiesNV *>( this ); } operator VkDisplayModeStereoPropertiesNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDisplayModeStereoPropertiesNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Bool32 const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, hdmi3DSupported ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DisplayModeStereoPropertiesNV const & ) const = default; #else bool operator==( DisplayModeStereoPropertiesNV 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 ) && ( hdmi3DSupported == rhs.hdmi3DSupported ); # endif } bool operator!=( DisplayModeStereoPropertiesNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDisplayModeStereoPropertiesNV; const void * pNext = {}; Bool32 hdmi3DSupported = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDisplayModeStereoPropertiesNV> { using Type = DisplayModeStereoPropertiesNV; }; #endif template <> struct CppType<StructureType, StructureType::eDisplayModeStereoPropertiesNV> { using Type = DisplayModeStereoPropertiesNV; }; // wrapper struct for struct VkDisplayNativeHdrSurfaceCapabilitiesAMD, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDisplayNativeHdrSurfaceCapabilitiesAMD.html struct DisplayNativeHdrSurfaceCapabilitiesAMD { using NativeType = VkDisplayNativeHdrSurfaceCapabilitiesAMD; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayNativeHdrSurfaceCapabilitiesAMD; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DisplayNativeHdrSurfaceCapabilitiesAMD( Bool32 localDimmingSupport_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , localDimmingSupport{ localDimmingSupport_ } { } VULKAN_HPP_CONSTEXPR DisplayNativeHdrSurfaceCapabilitiesAMD( DisplayNativeHdrSurfaceCapabilitiesAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default; DisplayNativeHdrSurfaceCapabilitiesAMD( VkDisplayNativeHdrSurfaceCapabilitiesAMD const & rhs ) VULKAN_HPP_NOEXCEPT : DisplayNativeHdrSurfaceCapabilitiesAMD( *reinterpret_cast<DisplayNativeHdrSurfaceCapabilitiesAMD const *>( &rhs ) ) { } DisplayNativeHdrSurfaceCapabilitiesAMD & operator=( DisplayNativeHdrSurfaceCapabilitiesAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DisplayNativeHdrSurfaceCapabilitiesAMD & operator=( VkDisplayNativeHdrSurfaceCapabilitiesAMD const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DisplayNativeHdrSurfaceCapabilitiesAMD const *>( &rhs ); return *this; } operator VkDisplayNativeHdrSurfaceCapabilitiesAMD const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDisplayNativeHdrSurfaceCapabilitiesAMD *>( this ); } operator VkDisplayNativeHdrSurfaceCapabilitiesAMD &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDisplayNativeHdrSurfaceCapabilitiesAMD *>( this ); } operator VkDisplayNativeHdrSurfaceCapabilitiesAMD const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDisplayNativeHdrSurfaceCapabilitiesAMD *>( this ); } operator VkDisplayNativeHdrSurfaceCapabilitiesAMD *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDisplayNativeHdrSurfaceCapabilitiesAMD *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, Bool32 const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, localDimmingSupport ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DisplayNativeHdrSurfaceCapabilitiesAMD const & ) const = default; #else bool operator==( DisplayNativeHdrSurfaceCapabilitiesAMD 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 ) && ( localDimmingSupport == rhs.localDimmingSupport ); # endif } bool operator!=( DisplayNativeHdrSurfaceCapabilitiesAMD const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDisplayNativeHdrSurfaceCapabilitiesAMD; void * pNext = {}; Bool32 localDimmingSupport = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDisplayNativeHdrSurfaceCapabilitiesAMD> { using Type = DisplayNativeHdrSurfaceCapabilitiesAMD; }; #endif template <> struct CppType<StructureType, StructureType::eDisplayNativeHdrSurfaceCapabilitiesAMD> { using Type = DisplayNativeHdrSurfaceCapabilitiesAMD; }; // wrapper struct for struct VkDisplayPlaneCapabilitiesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDisplayPlaneCapabilitiesKHR.html struct DisplayPlaneCapabilitiesKHR { using NativeType = VkDisplayPlaneCapabilitiesKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DisplayPlaneCapabilitiesKHR( DisplayPlaneAlphaFlagsKHR supportedAlpha_ = {}, Offset2D minSrcPosition_ = {}, Offset2D maxSrcPosition_ = {}, Extent2D minSrcExtent_ = {}, Extent2D maxSrcExtent_ = {}, Offset2D minDstPosition_ = {}, Offset2D maxDstPosition_ = {}, Extent2D minDstExtent_ = {}, Extent2D maxDstExtent_ = {} ) VULKAN_HPP_NOEXCEPT : supportedAlpha{ supportedAlpha_ } , minSrcPosition{ minSrcPosition_ } , maxSrcPosition{ maxSrcPosition_ } , minSrcExtent{ minSrcExtent_ } , maxSrcExtent{ maxSrcExtent_ } , minDstPosition{ minDstPosition_ } , maxDstPosition{ maxDstPosition_ } , minDstExtent{ minDstExtent_ } , maxDstExtent{ maxDstExtent_ } { } VULKAN_HPP_CONSTEXPR DisplayPlaneCapabilitiesKHR( DisplayPlaneCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; DisplayPlaneCapabilitiesKHR( VkDisplayPlaneCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT : DisplayPlaneCapabilitiesKHR( *reinterpret_cast<DisplayPlaneCapabilitiesKHR const *>( &rhs ) ) { } DisplayPlaneCapabilitiesKHR & operator=( DisplayPlaneCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DisplayPlaneCapabilitiesKHR & operator=( VkDisplayPlaneCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DisplayPlaneCapabilitiesKHR const *>( &rhs ); return *this; } operator VkDisplayPlaneCapabilitiesKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDisplayPlaneCapabilitiesKHR *>( this ); } operator VkDisplayPlaneCapabilitiesKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDisplayPlaneCapabilitiesKHR *>( this ); } operator VkDisplayPlaneCapabilitiesKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDisplayPlaneCapabilitiesKHR *>( this ); } operator VkDisplayPlaneCapabilitiesKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDisplayPlaneCapabilitiesKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<DisplayPlaneAlphaFlagsKHR const &, Offset2D const &, Offset2D const &, Extent2D const &, Extent2D const &, Offset2D const &, Offset2D const &, Extent2D const &, Extent2D const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( supportedAlpha, minSrcPosition, maxSrcPosition, minSrcExtent, maxSrcExtent, minDstPosition, maxDstPosition, minDstExtent, maxDstExtent ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DisplayPlaneCapabilitiesKHR const & ) const = default; #else bool operator==( DisplayPlaneCapabilitiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( supportedAlpha == rhs.supportedAlpha ) && ( minSrcPosition == rhs.minSrcPosition ) && ( maxSrcPosition == rhs.maxSrcPosition ) && ( minSrcExtent == rhs.minSrcExtent ) && ( maxSrcExtent == rhs.maxSrcExtent ) && ( minDstPosition == rhs.minDstPosition ) && ( maxDstPosition == rhs.maxDstPosition ) && ( minDstExtent == rhs.minDstExtent ) && ( maxDstExtent == rhs.maxDstExtent ); # endif } bool operator!=( DisplayPlaneCapabilitiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: DisplayPlaneAlphaFlagsKHR supportedAlpha = {}; Offset2D minSrcPosition = {}; Offset2D maxSrcPosition = {}; Extent2D minSrcExtent = {}; Extent2D maxSrcExtent = {}; Offset2D minDstPosition = {}; Offset2D maxDstPosition = {}; Extent2D minDstExtent = {}; Extent2D maxDstExtent = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDisplayPlaneCapabilitiesKHR> { using Type = DisplayPlaneCapabilitiesKHR; }; #endif // wrapper struct for struct VkDisplayPlaneCapabilities2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDisplayPlaneCapabilities2KHR.html struct DisplayPlaneCapabilities2KHR { using NativeType = VkDisplayPlaneCapabilities2KHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayPlaneCapabilities2KHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DisplayPlaneCapabilities2KHR( DisplayPlaneCapabilitiesKHR capabilities_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , capabilities{ capabilities_ } { } VULKAN_HPP_CONSTEXPR DisplayPlaneCapabilities2KHR( DisplayPlaneCapabilities2KHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; DisplayPlaneCapabilities2KHR( VkDisplayPlaneCapabilities2KHR const & rhs ) VULKAN_HPP_NOEXCEPT : DisplayPlaneCapabilities2KHR( *reinterpret_cast<DisplayPlaneCapabilities2KHR const *>( &rhs ) ) { } DisplayPlaneCapabilities2KHR & operator=( DisplayPlaneCapabilities2KHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DisplayPlaneCapabilities2KHR & operator=( VkDisplayPlaneCapabilities2KHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DisplayPlaneCapabilities2KHR const *>( &rhs ); return *this; } operator VkDisplayPlaneCapabilities2KHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDisplayPlaneCapabilities2KHR *>( this ); } operator VkDisplayPlaneCapabilities2KHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDisplayPlaneCapabilities2KHR *>( this ); } operator VkDisplayPlaneCapabilities2KHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDisplayPlaneCapabilities2KHR *>( this ); } operator VkDisplayPlaneCapabilities2KHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDisplayPlaneCapabilities2KHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, DisplayPlaneCapabilitiesKHR const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, capabilities ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DisplayPlaneCapabilities2KHR const & ) const = default; #else bool operator==( DisplayPlaneCapabilities2KHR 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 ) && ( capabilities == rhs.capabilities ); # endif } bool operator!=( DisplayPlaneCapabilities2KHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDisplayPlaneCapabilities2KHR; void * pNext = {}; DisplayPlaneCapabilitiesKHR capabilities = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDisplayPlaneCapabilities2KHR> { using Type = DisplayPlaneCapabilities2KHR; }; #endif template <> struct CppType<StructureType, StructureType::eDisplayPlaneCapabilities2KHR> { using Type = DisplayPlaneCapabilities2KHR; }; // wrapper struct for struct VkDisplayPlaneInfo2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDisplayPlaneInfo2KHR.html struct DisplayPlaneInfo2KHR { using NativeType = VkDisplayPlaneInfo2KHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayPlaneInfo2KHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DisplayPlaneInfo2KHR( DisplayModeKHR mode_ = {}, uint32_t planeIndex_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , mode{ mode_ } , planeIndex{ planeIndex_ } { } VULKAN_HPP_CONSTEXPR DisplayPlaneInfo2KHR( DisplayPlaneInfo2KHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; DisplayPlaneInfo2KHR( VkDisplayPlaneInfo2KHR const & rhs ) VULKAN_HPP_NOEXCEPT : DisplayPlaneInfo2KHR( *reinterpret_cast<DisplayPlaneInfo2KHR const *>( &rhs ) ) { } DisplayPlaneInfo2KHR & operator=( DisplayPlaneInfo2KHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DisplayPlaneInfo2KHR & operator=( VkDisplayPlaneInfo2KHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DisplayPlaneInfo2KHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DisplayPlaneInfo2KHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DisplayPlaneInfo2KHR & setMode( DisplayModeKHR mode_ ) VULKAN_HPP_NOEXCEPT { mode = mode_; return *this; } VULKAN_HPP_CONSTEXPR_14 DisplayPlaneInfo2KHR & setPlaneIndex( uint32_t planeIndex_ ) VULKAN_HPP_NOEXCEPT { planeIndex = planeIndex_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDisplayPlaneInfo2KHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDisplayPlaneInfo2KHR *>( this ); } operator VkDisplayPlaneInfo2KHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDisplayPlaneInfo2KHR *>( this ); } operator VkDisplayPlaneInfo2KHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDisplayPlaneInfo2KHR *>( this ); } operator VkDisplayPlaneInfo2KHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDisplayPlaneInfo2KHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DisplayModeKHR const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, mode, planeIndex ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DisplayPlaneInfo2KHR const & ) const = default; #else bool operator==( DisplayPlaneInfo2KHR 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 ) && ( mode == rhs.mode ) && ( planeIndex == rhs.planeIndex ); # endif } bool operator!=( DisplayPlaneInfo2KHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDisplayPlaneInfo2KHR; const void * pNext = {}; DisplayModeKHR mode = {}; uint32_t planeIndex = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDisplayPlaneInfo2KHR> { using Type = DisplayPlaneInfo2KHR; }; #endif template <> struct CppType<StructureType, StructureType::eDisplayPlaneInfo2KHR> { using Type = DisplayPlaneInfo2KHR; }; // wrapper struct for struct VkDisplayPlanePropertiesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDisplayPlanePropertiesKHR.html struct DisplayPlanePropertiesKHR { using NativeType = VkDisplayPlanePropertiesKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DisplayPlanePropertiesKHR( DisplayKHR currentDisplay_ = {}, uint32_t currentStackIndex_ = {} ) VULKAN_HPP_NOEXCEPT : currentDisplay{ currentDisplay_ } , currentStackIndex{ currentStackIndex_ } { } VULKAN_HPP_CONSTEXPR DisplayPlanePropertiesKHR( DisplayPlanePropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; DisplayPlanePropertiesKHR( VkDisplayPlanePropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT : DisplayPlanePropertiesKHR( *reinterpret_cast<DisplayPlanePropertiesKHR const *>( &rhs ) ) { } DisplayPlanePropertiesKHR & operator=( DisplayPlanePropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DisplayPlanePropertiesKHR & operator=( VkDisplayPlanePropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DisplayPlanePropertiesKHR const *>( &rhs ); return *this; } operator VkDisplayPlanePropertiesKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDisplayPlanePropertiesKHR *>( this ); } operator VkDisplayPlanePropertiesKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDisplayPlanePropertiesKHR *>( this ); } operator VkDisplayPlanePropertiesKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDisplayPlanePropertiesKHR *>( this ); } operator VkDisplayPlanePropertiesKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDisplayPlanePropertiesKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<DisplayKHR const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( currentDisplay, currentStackIndex ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DisplayPlanePropertiesKHR const & ) const = default; #else bool operator==( DisplayPlanePropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( currentDisplay == rhs.currentDisplay ) && ( currentStackIndex == rhs.currentStackIndex ); # endif } bool operator!=( DisplayPlanePropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: DisplayKHR currentDisplay = {}; uint32_t currentStackIndex = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDisplayPlanePropertiesKHR> { using Type = DisplayPlanePropertiesKHR; }; #endif // wrapper struct for struct VkDisplayPlaneProperties2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDisplayPlaneProperties2KHR.html struct DisplayPlaneProperties2KHR { using NativeType = VkDisplayPlaneProperties2KHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayPlaneProperties2KHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DisplayPlaneProperties2KHR( DisplayPlanePropertiesKHR displayPlaneProperties_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , displayPlaneProperties{ displayPlaneProperties_ } { } VULKAN_HPP_CONSTEXPR DisplayPlaneProperties2KHR( DisplayPlaneProperties2KHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; DisplayPlaneProperties2KHR( VkDisplayPlaneProperties2KHR const & rhs ) VULKAN_HPP_NOEXCEPT : DisplayPlaneProperties2KHR( *reinterpret_cast<DisplayPlaneProperties2KHR const *>( &rhs ) ) { } DisplayPlaneProperties2KHR & operator=( DisplayPlaneProperties2KHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DisplayPlaneProperties2KHR & operator=( VkDisplayPlaneProperties2KHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DisplayPlaneProperties2KHR const *>( &rhs ); return *this; } operator VkDisplayPlaneProperties2KHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDisplayPlaneProperties2KHR *>( this ); } operator VkDisplayPlaneProperties2KHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDisplayPlaneProperties2KHR *>( this ); } operator VkDisplayPlaneProperties2KHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDisplayPlaneProperties2KHR *>( this ); } operator VkDisplayPlaneProperties2KHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDisplayPlaneProperties2KHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, DisplayPlanePropertiesKHR const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, displayPlaneProperties ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DisplayPlaneProperties2KHR const & ) const = default; #else bool operator==( DisplayPlaneProperties2KHR 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 ) && ( displayPlaneProperties == rhs.displayPlaneProperties ); # endif } bool operator!=( DisplayPlaneProperties2KHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDisplayPlaneProperties2KHR; void * pNext = {}; DisplayPlanePropertiesKHR displayPlaneProperties = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDisplayPlaneProperties2KHR> { using Type = DisplayPlaneProperties2KHR; }; #endif template <> struct CppType<StructureType, StructureType::eDisplayPlaneProperties2KHR> { using Type = DisplayPlaneProperties2KHR; }; // wrapper struct for struct VkDisplayPowerInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDisplayPowerInfoEXT.html struct DisplayPowerInfoEXT { using NativeType = VkDisplayPowerInfoEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayPowerInfoEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DisplayPowerInfoEXT( DisplayPowerStateEXT powerState_ = DisplayPowerStateEXT::eOff, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , powerState{ powerState_ } { } VULKAN_HPP_CONSTEXPR DisplayPowerInfoEXT( DisplayPowerInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; DisplayPowerInfoEXT( VkDisplayPowerInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DisplayPowerInfoEXT( *reinterpret_cast<DisplayPowerInfoEXT const *>( &rhs ) ) { } DisplayPowerInfoEXT & operator=( DisplayPowerInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DisplayPowerInfoEXT & operator=( VkDisplayPowerInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DisplayPowerInfoEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DisplayPowerInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DisplayPowerInfoEXT & setPowerState( DisplayPowerStateEXT powerState_ ) VULKAN_HPP_NOEXCEPT { powerState = powerState_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDisplayPowerInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDisplayPowerInfoEXT *>( this ); } operator VkDisplayPowerInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDisplayPowerInfoEXT *>( this ); } operator VkDisplayPowerInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDisplayPowerInfoEXT *>( this ); } operator VkDisplayPowerInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDisplayPowerInfoEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DisplayPowerStateEXT const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, powerState ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DisplayPowerInfoEXT const & ) const = default; #else bool operator==( DisplayPowerInfoEXT 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 ) && ( powerState == rhs.powerState ); # endif } bool operator!=( DisplayPowerInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDisplayPowerInfoEXT; const void * pNext = {}; DisplayPowerStateEXT powerState = DisplayPowerStateEXT::eOff; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDisplayPowerInfoEXT> { using Type = DisplayPowerInfoEXT; }; #endif template <> struct CppType<StructureType, StructureType::eDisplayPowerInfoEXT> { using Type = DisplayPowerInfoEXT; }; // wrapper struct for struct VkDisplayPresentInfoKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDisplayPresentInfoKHR.html struct DisplayPresentInfoKHR { using NativeType = VkDisplayPresentInfoKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayPresentInfoKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DisplayPresentInfoKHR( Rect2D srcRect_ = {}, Rect2D dstRect_ = {}, Bool32 persistent_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , srcRect{ srcRect_ } , dstRect{ dstRect_ } , persistent{ persistent_ } { } VULKAN_HPP_CONSTEXPR DisplayPresentInfoKHR( DisplayPresentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; DisplayPresentInfoKHR( VkDisplayPresentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : DisplayPresentInfoKHR( *reinterpret_cast<DisplayPresentInfoKHR const *>( &rhs ) ) { } DisplayPresentInfoKHR & operator=( DisplayPresentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DisplayPresentInfoKHR & operator=( VkDisplayPresentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DisplayPresentInfoKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DisplayPresentInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DisplayPresentInfoKHR & setSrcRect( Rect2D const & srcRect_ ) VULKAN_HPP_NOEXCEPT { srcRect = srcRect_; return *this; } VULKAN_HPP_CONSTEXPR_14 DisplayPresentInfoKHR & setDstRect( Rect2D const & dstRect_ ) VULKAN_HPP_NOEXCEPT { dstRect = dstRect_; return *this; } VULKAN_HPP_CONSTEXPR_14 DisplayPresentInfoKHR & setPersistent( Bool32 persistent_ ) VULKAN_HPP_NOEXCEPT { persistent = persistent_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDisplayPresentInfoKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDisplayPresentInfoKHR *>( this ); } operator VkDisplayPresentInfoKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDisplayPresentInfoKHR *>( this ); } operator VkDisplayPresentInfoKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDisplayPresentInfoKHR *>( this ); } operator VkDisplayPresentInfoKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDisplayPresentInfoKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Rect2D const &, Rect2D const &, Bool32 const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, srcRect, dstRect, persistent ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DisplayPresentInfoKHR const & ) const = default; #else bool operator==( DisplayPresentInfoKHR 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 ) && ( srcRect == rhs.srcRect ) && ( dstRect == rhs.dstRect ) && ( persistent == rhs.persistent ); # endif } bool operator!=( DisplayPresentInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDisplayPresentInfoKHR; const void * pNext = {}; Rect2D srcRect = {}; Rect2D dstRect = {}; Bool32 persistent = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDisplayPresentInfoKHR> { using Type = DisplayPresentInfoKHR; }; #endif template <> struct CppType<StructureType, StructureType::eDisplayPresentInfoKHR> { using Type = DisplayPresentInfoKHR; }; // wrapper struct for struct VkDisplayPropertiesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDisplayPropertiesKHR.html struct DisplayPropertiesKHR { using NativeType = VkDisplayPropertiesKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DisplayPropertiesKHR( DisplayKHR display_ = {}, const char * displayName_ = {}, Extent2D physicalDimensions_ = {}, Extent2D physicalResolution_ = {}, SurfaceTransformFlagsKHR supportedTransforms_ = {}, Bool32 planeReorderPossible_ = {}, Bool32 persistentContent_ = {} ) VULKAN_HPP_NOEXCEPT : display{ display_ } , displayName{ displayName_ } , physicalDimensions{ physicalDimensions_ } , physicalResolution{ physicalResolution_ } , supportedTransforms{ supportedTransforms_ } , planeReorderPossible{ planeReorderPossible_ } , persistentContent{ persistentContent_ } { } VULKAN_HPP_CONSTEXPR DisplayPropertiesKHR( DisplayPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; DisplayPropertiesKHR( VkDisplayPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT : DisplayPropertiesKHR( *reinterpret_cast<DisplayPropertiesKHR const *>( &rhs ) ) { } DisplayPropertiesKHR & operator=( DisplayPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DisplayPropertiesKHR & operator=( VkDisplayPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DisplayPropertiesKHR const *>( &rhs ); return *this; } operator VkDisplayPropertiesKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDisplayPropertiesKHR *>( this ); } operator VkDisplayPropertiesKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDisplayPropertiesKHR *>( this ); } operator VkDisplayPropertiesKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDisplayPropertiesKHR *>( this ); } operator VkDisplayPropertiesKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDisplayPropertiesKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<DisplayKHR const &, const char * const &, Extent2D const &, Extent2D const &, SurfaceTransformFlagsKHR const &, Bool32 const &, Bool32 const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( display, displayName, physicalDimensions, physicalResolution, supportedTransforms, planeReorderPossible, persistentContent ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) std::strong_ordering operator<=>( DisplayPropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { if ( auto cmp = display <=> rhs.display; cmp != 0 ) return cmp; if ( displayName != rhs.displayName ) if ( auto cmp = strcmp( displayName, rhs.displayName ); cmp != 0 ) return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater; if ( auto cmp = physicalDimensions <=> rhs.physicalDimensions; cmp != 0 ) return cmp; if ( auto cmp = physicalResolution <=> rhs.physicalResolution; cmp != 0 ) return cmp; if ( auto cmp = supportedTransforms <=> rhs.supportedTransforms; cmp != 0 ) return cmp; if ( auto cmp = planeReorderPossible <=> rhs.planeReorderPossible; cmp != 0 ) return cmp; if ( auto cmp = persistentContent <=> rhs.persistentContent; cmp != 0 ) return cmp; return std::strong_ordering::equivalent; } #endif bool operator==( DisplayPropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return ( display == rhs.display ) && ( ( displayName == rhs.displayName ) || ( strcmp( displayName, rhs.displayName ) == 0 ) ) && ( physicalDimensions == rhs.physicalDimensions ) && ( physicalResolution == rhs.physicalResolution ) && ( supportedTransforms == rhs.supportedTransforms ) && ( planeReorderPossible == rhs.planeReorderPossible ) && ( persistentContent == rhs.persistentContent ); } bool operator!=( DisplayPropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } public: DisplayKHR display = {}; const char * displayName = {}; Extent2D physicalDimensions = {}; Extent2D physicalResolution = {}; SurfaceTransformFlagsKHR supportedTransforms = {}; Bool32 planeReorderPossible = {}; Bool32 persistentContent = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDisplayPropertiesKHR> { using Type = DisplayPropertiesKHR; }; #endif // wrapper struct for struct VkDisplayProperties2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDisplayProperties2KHR.html struct DisplayProperties2KHR { using NativeType = VkDisplayProperties2KHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayProperties2KHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DisplayProperties2KHR( DisplayPropertiesKHR displayProperties_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , displayProperties{ displayProperties_ } { } VULKAN_HPP_CONSTEXPR DisplayProperties2KHR( DisplayProperties2KHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; DisplayProperties2KHR( VkDisplayProperties2KHR const & rhs ) VULKAN_HPP_NOEXCEPT : DisplayProperties2KHR( *reinterpret_cast<DisplayProperties2KHR const *>( &rhs ) ) { } DisplayProperties2KHR & operator=( DisplayProperties2KHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DisplayProperties2KHR & operator=( VkDisplayProperties2KHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DisplayProperties2KHR const *>( &rhs ); return *this; } operator VkDisplayProperties2KHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDisplayProperties2KHR *>( this ); } operator VkDisplayProperties2KHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDisplayProperties2KHR *>( this ); } operator VkDisplayProperties2KHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDisplayProperties2KHR *>( this ); } operator VkDisplayProperties2KHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDisplayProperties2KHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, DisplayPropertiesKHR const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, displayProperties ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DisplayProperties2KHR const & ) const = default; #else bool operator==( DisplayProperties2KHR 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 ) && ( displayProperties == rhs.displayProperties ); # endif } bool operator!=( DisplayProperties2KHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDisplayProperties2KHR; void * pNext = {}; DisplayPropertiesKHR displayProperties = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDisplayProperties2KHR> { using Type = DisplayProperties2KHR; }; #endif template <> struct CppType<StructureType, StructureType::eDisplayProperties2KHR> { using Type = DisplayProperties2KHR; }; // wrapper struct for struct VkDisplaySurfaceCreateInfoKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDisplaySurfaceCreateInfoKHR.html struct DisplaySurfaceCreateInfoKHR { using NativeType = VkDisplaySurfaceCreateInfoKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplaySurfaceCreateInfoKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DisplaySurfaceCreateInfoKHR( DisplaySurfaceCreateFlagsKHR flags_ = {}, DisplayModeKHR displayMode_ = {}, uint32_t planeIndex_ = {}, uint32_t planeStackIndex_ = {}, SurfaceTransformFlagBitsKHR transform_ = SurfaceTransformFlagBitsKHR::eIdentity, float globalAlpha_ = {}, DisplayPlaneAlphaFlagBitsKHR alphaMode_ = DisplayPlaneAlphaFlagBitsKHR::eOpaque, Extent2D imageExtent_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , displayMode{ displayMode_ } , planeIndex{ planeIndex_ } , planeStackIndex{ planeStackIndex_ } , transform{ transform_ } , globalAlpha{ globalAlpha_ } , alphaMode{ alphaMode_ } , imageExtent{ imageExtent_ } { } VULKAN_HPP_CONSTEXPR DisplaySurfaceCreateInfoKHR( DisplaySurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; DisplaySurfaceCreateInfoKHR( VkDisplaySurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : DisplaySurfaceCreateInfoKHR( *reinterpret_cast<DisplaySurfaceCreateInfoKHR const *>( &rhs ) ) { } DisplaySurfaceCreateInfoKHR & operator=( DisplaySurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DisplaySurfaceCreateInfoKHR & operator=( VkDisplaySurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DisplaySurfaceCreateInfoKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DisplaySurfaceCreateInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DisplaySurfaceCreateInfoKHR & setFlags( DisplaySurfaceCreateFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 DisplaySurfaceCreateInfoKHR & setDisplayMode( DisplayModeKHR displayMode_ ) VULKAN_HPP_NOEXCEPT { displayMode = displayMode_; return *this; } VULKAN_HPP_CONSTEXPR_14 DisplaySurfaceCreateInfoKHR & setPlaneIndex( uint32_t planeIndex_ ) VULKAN_HPP_NOEXCEPT { planeIndex = planeIndex_; return *this; } VULKAN_HPP_CONSTEXPR_14 DisplaySurfaceCreateInfoKHR & setPlaneStackIndex( uint32_t planeStackIndex_ ) VULKAN_HPP_NOEXCEPT { planeStackIndex = planeStackIndex_; return *this; } VULKAN_HPP_CONSTEXPR_14 DisplaySurfaceCreateInfoKHR & setTransform( SurfaceTransformFlagBitsKHR transform_ ) VULKAN_HPP_NOEXCEPT { transform = transform_; return *this; } VULKAN_HPP_CONSTEXPR_14 DisplaySurfaceCreateInfoKHR & setGlobalAlpha( float globalAlpha_ ) VULKAN_HPP_NOEXCEPT { globalAlpha = globalAlpha_; return *this; } VULKAN_HPP_CONSTEXPR_14 DisplaySurfaceCreateInfoKHR & setAlphaMode( DisplayPlaneAlphaFlagBitsKHR alphaMode_ ) VULKAN_HPP_NOEXCEPT { alphaMode = alphaMode_; return *this; } VULKAN_HPP_CONSTEXPR_14 DisplaySurfaceCreateInfoKHR & setImageExtent( Extent2D const & imageExtent_ ) VULKAN_HPP_NOEXCEPT { imageExtent = imageExtent_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDisplaySurfaceCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDisplaySurfaceCreateInfoKHR *>( this ); } operator VkDisplaySurfaceCreateInfoKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDisplaySurfaceCreateInfoKHR *>( this ); } operator VkDisplaySurfaceCreateInfoKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDisplaySurfaceCreateInfoKHR *>( this ); } operator VkDisplaySurfaceCreateInfoKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDisplaySurfaceCreateInfoKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DisplaySurfaceCreateFlagsKHR const &, DisplayModeKHR const &, uint32_t const &, uint32_t const &, SurfaceTransformFlagBitsKHR const &, float const &, DisplayPlaneAlphaFlagBitsKHR const &, Extent2D const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, displayMode, planeIndex, planeStackIndex, transform, globalAlpha, alphaMode, imageExtent ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DisplaySurfaceCreateInfoKHR const & ) const = default; #else bool operator==( DisplaySurfaceCreateInfoKHR 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 ) && ( flags == rhs.flags ) && ( displayMode == rhs.displayMode ) && ( planeIndex == rhs.planeIndex ) && ( planeStackIndex == rhs.planeStackIndex ) && ( transform == rhs.transform ) && ( globalAlpha == rhs.globalAlpha ) && ( alphaMode == rhs.alphaMode ) && ( imageExtent == rhs.imageExtent ); # endif } bool operator!=( DisplaySurfaceCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDisplaySurfaceCreateInfoKHR; const void * pNext = {}; DisplaySurfaceCreateFlagsKHR flags = {}; DisplayModeKHR displayMode = {}; uint32_t planeIndex = {}; uint32_t planeStackIndex = {}; SurfaceTransformFlagBitsKHR transform = SurfaceTransformFlagBitsKHR::eIdentity; float globalAlpha = {}; DisplayPlaneAlphaFlagBitsKHR alphaMode = DisplayPlaneAlphaFlagBitsKHR::eOpaque; Extent2D imageExtent = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDisplaySurfaceCreateInfoKHR> { using Type = DisplaySurfaceCreateInfoKHR; }; #endif template <> struct CppType<StructureType, StructureType::eDisplaySurfaceCreateInfoKHR> { using Type = DisplaySurfaceCreateInfoKHR; }; // wrapper struct for struct VkDisplaySurfaceStereoCreateInfoNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDisplaySurfaceStereoCreateInfoNV.html struct DisplaySurfaceStereoCreateInfoNV { using NativeType = VkDisplaySurfaceStereoCreateInfoNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplaySurfaceStereoCreateInfoNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DisplaySurfaceStereoCreateInfoNV( DisplaySurfaceStereoTypeNV stereoType_ = DisplaySurfaceStereoTypeNV::eNone, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , stereoType{ stereoType_ } { } VULKAN_HPP_CONSTEXPR DisplaySurfaceStereoCreateInfoNV( DisplaySurfaceStereoCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; DisplaySurfaceStereoCreateInfoNV( VkDisplaySurfaceStereoCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT : DisplaySurfaceStereoCreateInfoNV( *reinterpret_cast<DisplaySurfaceStereoCreateInfoNV const *>( &rhs ) ) { } DisplaySurfaceStereoCreateInfoNV & operator=( DisplaySurfaceStereoCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DisplaySurfaceStereoCreateInfoNV & operator=( VkDisplaySurfaceStereoCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DisplaySurfaceStereoCreateInfoNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DisplaySurfaceStereoCreateInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 DisplaySurfaceStereoCreateInfoNV & setStereoType( DisplaySurfaceStereoTypeNV stereoType_ ) VULKAN_HPP_NOEXCEPT { stereoType = stereoType_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDisplaySurfaceStereoCreateInfoNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDisplaySurfaceStereoCreateInfoNV *>( this ); } operator VkDisplaySurfaceStereoCreateInfoNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDisplaySurfaceStereoCreateInfoNV *>( this ); } operator VkDisplaySurfaceStereoCreateInfoNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDisplaySurfaceStereoCreateInfoNV *>( this ); } operator VkDisplaySurfaceStereoCreateInfoNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDisplaySurfaceStereoCreateInfoNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DisplaySurfaceStereoTypeNV const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, stereoType ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DisplaySurfaceStereoCreateInfoNV const & ) const = default; #else bool operator==( DisplaySurfaceStereoCreateInfoNV 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 ) && ( stereoType == rhs.stereoType ); # endif } bool operator!=( DisplaySurfaceStereoCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDisplaySurfaceStereoCreateInfoNV; const void * pNext = {}; DisplaySurfaceStereoTypeNV stereoType = DisplaySurfaceStereoTypeNV::eNone; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDisplaySurfaceStereoCreateInfoNV> { using Type = DisplaySurfaceStereoCreateInfoNV; }; #endif template <> struct CppType<StructureType, StructureType::eDisplaySurfaceStereoCreateInfoNV> { using Type = DisplaySurfaceStereoCreateInfoNV; }; // wrapper struct for struct VkDrawIndexedIndirectCommand, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDrawIndexedIndirectCommand.html struct DrawIndexedIndirectCommand { using NativeType = VkDrawIndexedIndirectCommand; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DrawIndexedIndirectCommand( uint32_t indexCount_ = {}, uint32_t instanceCount_ = {}, uint32_t firstIndex_ = {}, int32_t vertexOffset_ = {}, uint32_t firstInstance_ = {} ) VULKAN_HPP_NOEXCEPT : indexCount{ indexCount_ } , instanceCount{ instanceCount_ } , firstIndex{ firstIndex_ } , vertexOffset{ vertexOffset_ } , firstInstance{ firstInstance_ } { } VULKAN_HPP_CONSTEXPR DrawIndexedIndirectCommand( DrawIndexedIndirectCommand const & rhs ) VULKAN_HPP_NOEXCEPT = default; DrawIndexedIndirectCommand( VkDrawIndexedIndirectCommand const & rhs ) VULKAN_HPP_NOEXCEPT : DrawIndexedIndirectCommand( *reinterpret_cast<DrawIndexedIndirectCommand const *>( &rhs ) ) { } DrawIndexedIndirectCommand & operator=( DrawIndexedIndirectCommand const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DrawIndexedIndirectCommand & operator=( VkDrawIndexedIndirectCommand const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DrawIndexedIndirectCommand const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DrawIndexedIndirectCommand & setIndexCount( uint32_t indexCount_ ) VULKAN_HPP_NOEXCEPT { indexCount = indexCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DrawIndexedIndirectCommand & setInstanceCount( uint32_t instanceCount_ ) VULKAN_HPP_NOEXCEPT { instanceCount = instanceCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DrawIndexedIndirectCommand & setFirstIndex( uint32_t firstIndex_ ) VULKAN_HPP_NOEXCEPT { firstIndex = firstIndex_; return *this; } VULKAN_HPP_CONSTEXPR_14 DrawIndexedIndirectCommand & setVertexOffset( int32_t vertexOffset_ ) VULKAN_HPP_NOEXCEPT { vertexOffset = vertexOffset_; return *this; } VULKAN_HPP_CONSTEXPR_14 DrawIndexedIndirectCommand & setFirstInstance( uint32_t firstInstance_ ) VULKAN_HPP_NOEXCEPT { firstInstance = firstInstance_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDrawIndexedIndirectCommand const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDrawIndexedIndirectCommand *>( this ); } operator VkDrawIndexedIndirectCommand &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDrawIndexedIndirectCommand *>( this ); } operator VkDrawIndexedIndirectCommand const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDrawIndexedIndirectCommand *>( this ); } operator VkDrawIndexedIndirectCommand *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDrawIndexedIndirectCommand *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<uint32_t const &, uint32_t const &, uint32_t const &, int32_t const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( indexCount, instanceCount, firstIndex, vertexOffset, firstInstance ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DrawIndexedIndirectCommand const & ) const = default; #else bool operator==( DrawIndexedIndirectCommand const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( indexCount == rhs.indexCount ) && ( instanceCount == rhs.instanceCount ) && ( firstIndex == rhs.firstIndex ) && ( vertexOffset == rhs.vertexOffset ) && ( firstInstance == rhs.firstInstance ); # endif } bool operator!=( DrawIndexedIndirectCommand const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: uint32_t indexCount = {}; uint32_t instanceCount = {}; uint32_t firstIndex = {}; int32_t vertexOffset = {}; uint32_t firstInstance = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDrawIndexedIndirectCommand> { using Type = DrawIndexedIndirectCommand; }; #endif // wrapper struct for struct VkDrawIndirectCommand, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDrawIndirectCommand.html struct DrawIndirectCommand { using NativeType = VkDrawIndirectCommand; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DrawIndirectCommand( uint32_t vertexCount_ = {}, uint32_t instanceCount_ = {}, uint32_t firstVertex_ = {}, uint32_t firstInstance_ = {} ) VULKAN_HPP_NOEXCEPT : vertexCount{ vertexCount_ } , instanceCount{ instanceCount_ } , firstVertex{ firstVertex_ } , firstInstance{ firstInstance_ } { } VULKAN_HPP_CONSTEXPR DrawIndirectCommand( DrawIndirectCommand const & rhs ) VULKAN_HPP_NOEXCEPT = default; DrawIndirectCommand( VkDrawIndirectCommand const & rhs ) VULKAN_HPP_NOEXCEPT : DrawIndirectCommand( *reinterpret_cast<DrawIndirectCommand const *>( &rhs ) ) { } DrawIndirectCommand & operator=( DrawIndirectCommand const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DrawIndirectCommand & operator=( VkDrawIndirectCommand const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DrawIndirectCommand const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DrawIndirectCommand & setVertexCount( uint32_t vertexCount_ ) VULKAN_HPP_NOEXCEPT { vertexCount = vertexCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DrawIndirectCommand & setInstanceCount( uint32_t instanceCount_ ) VULKAN_HPP_NOEXCEPT { instanceCount = instanceCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DrawIndirectCommand & setFirstVertex( uint32_t firstVertex_ ) VULKAN_HPP_NOEXCEPT { firstVertex = firstVertex_; return *this; } VULKAN_HPP_CONSTEXPR_14 DrawIndirectCommand & setFirstInstance( uint32_t firstInstance_ ) VULKAN_HPP_NOEXCEPT { firstInstance = firstInstance_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDrawIndirectCommand const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDrawIndirectCommand *>( this ); } operator VkDrawIndirectCommand &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDrawIndirectCommand *>( this ); } operator VkDrawIndirectCommand const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDrawIndirectCommand *>( this ); } operator VkDrawIndirectCommand *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDrawIndirectCommand *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<uint32_t const &, uint32_t const &, uint32_t const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( vertexCount, instanceCount, firstVertex, firstInstance ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DrawIndirectCommand const & ) const = default; #else bool operator==( DrawIndirectCommand const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( vertexCount == rhs.vertexCount ) && ( instanceCount == rhs.instanceCount ) && ( firstVertex == rhs.firstVertex ) && ( firstInstance == rhs.firstInstance ); # endif } bool operator!=( DrawIndirectCommand const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: uint32_t vertexCount = {}; uint32_t instanceCount = {}; uint32_t firstVertex = {}; uint32_t firstInstance = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDrawIndirectCommand> { using Type = DrawIndirectCommand; }; #endif // wrapper struct for struct VkDrawIndirectCountIndirectCommandEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDrawIndirectCountIndirectCommandEXT.html struct DrawIndirectCountIndirectCommandEXT { using NativeType = VkDrawIndirectCountIndirectCommandEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DrawIndirectCountIndirectCommandEXT( DeviceAddress bufferAddress_ = {}, uint32_t stride_ = {}, uint32_t commandCount_ = {} ) VULKAN_HPP_NOEXCEPT : bufferAddress{ bufferAddress_ } , stride{ stride_ } , commandCount{ commandCount_ } { } VULKAN_HPP_CONSTEXPR DrawIndirectCountIndirectCommandEXT( DrawIndirectCountIndirectCommandEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; DrawIndirectCountIndirectCommandEXT( VkDrawIndirectCountIndirectCommandEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DrawIndirectCountIndirectCommandEXT( *reinterpret_cast<DrawIndirectCountIndirectCommandEXT const *>( &rhs ) ) { } DrawIndirectCountIndirectCommandEXT & operator=( DrawIndirectCountIndirectCommandEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DrawIndirectCountIndirectCommandEXT & operator=( VkDrawIndirectCountIndirectCommandEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DrawIndirectCountIndirectCommandEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DrawIndirectCountIndirectCommandEXT & setBufferAddress( DeviceAddress bufferAddress_ ) VULKAN_HPP_NOEXCEPT { bufferAddress = bufferAddress_; return *this; } VULKAN_HPP_CONSTEXPR_14 DrawIndirectCountIndirectCommandEXT & setStride( uint32_t stride_ ) VULKAN_HPP_NOEXCEPT { stride = stride_; return *this; } VULKAN_HPP_CONSTEXPR_14 DrawIndirectCountIndirectCommandEXT & setCommandCount( uint32_t commandCount_ ) VULKAN_HPP_NOEXCEPT { commandCount = commandCount_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDrawIndirectCountIndirectCommandEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDrawIndirectCountIndirectCommandEXT *>( this ); } operator VkDrawIndirectCountIndirectCommandEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDrawIndirectCountIndirectCommandEXT *>( this ); } operator VkDrawIndirectCountIndirectCommandEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDrawIndirectCountIndirectCommandEXT *>( this ); } operator VkDrawIndirectCountIndirectCommandEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDrawIndirectCountIndirectCommandEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<DeviceAddress const &, uint32_t const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( bufferAddress, stride, commandCount ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DrawIndirectCountIndirectCommandEXT const & ) const = default; #else bool operator==( DrawIndirectCountIndirectCommandEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( bufferAddress == rhs.bufferAddress ) && ( stride == rhs.stride ) && ( commandCount == rhs.commandCount ); # endif } bool operator!=( DrawIndirectCountIndirectCommandEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: DeviceAddress bufferAddress = {}; uint32_t stride = {}; uint32_t commandCount = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDrawIndirectCountIndirectCommandEXT> { using Type = DrawIndirectCountIndirectCommandEXT; }; #endif // wrapper struct for struct VkDrawMeshTasksIndirectCommandEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDrawMeshTasksIndirectCommandEXT.html struct DrawMeshTasksIndirectCommandEXT { using NativeType = VkDrawMeshTasksIndirectCommandEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DrawMeshTasksIndirectCommandEXT( uint32_t groupCountX_ = {}, uint32_t groupCountY_ = {}, uint32_t groupCountZ_ = {} ) VULKAN_HPP_NOEXCEPT : groupCountX{ groupCountX_ } , groupCountY{ groupCountY_ } , groupCountZ{ groupCountZ_ } { } VULKAN_HPP_CONSTEXPR DrawMeshTasksIndirectCommandEXT( DrawMeshTasksIndirectCommandEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; DrawMeshTasksIndirectCommandEXT( VkDrawMeshTasksIndirectCommandEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DrawMeshTasksIndirectCommandEXT( *reinterpret_cast<DrawMeshTasksIndirectCommandEXT const *>( &rhs ) ) { } DrawMeshTasksIndirectCommandEXT & operator=( DrawMeshTasksIndirectCommandEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DrawMeshTasksIndirectCommandEXT & operator=( VkDrawMeshTasksIndirectCommandEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DrawMeshTasksIndirectCommandEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DrawMeshTasksIndirectCommandEXT & setGroupCountX( uint32_t groupCountX_ ) VULKAN_HPP_NOEXCEPT { groupCountX = groupCountX_; return *this; } VULKAN_HPP_CONSTEXPR_14 DrawMeshTasksIndirectCommandEXT & setGroupCountY( uint32_t groupCountY_ ) VULKAN_HPP_NOEXCEPT { groupCountY = groupCountY_; return *this; } VULKAN_HPP_CONSTEXPR_14 DrawMeshTasksIndirectCommandEXT & setGroupCountZ( uint32_t groupCountZ_ ) VULKAN_HPP_NOEXCEPT { groupCountZ = groupCountZ_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDrawMeshTasksIndirectCommandEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDrawMeshTasksIndirectCommandEXT *>( this ); } operator VkDrawMeshTasksIndirectCommandEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDrawMeshTasksIndirectCommandEXT *>( this ); } operator VkDrawMeshTasksIndirectCommandEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDrawMeshTasksIndirectCommandEXT *>( this ); } operator VkDrawMeshTasksIndirectCommandEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDrawMeshTasksIndirectCommandEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<uint32_t const &, uint32_t const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( groupCountX, groupCountY, groupCountZ ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DrawMeshTasksIndirectCommandEXT const & ) const = default; #else bool operator==( DrawMeshTasksIndirectCommandEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( groupCountX == rhs.groupCountX ) && ( groupCountY == rhs.groupCountY ) && ( groupCountZ == rhs.groupCountZ ); # endif } bool operator!=( DrawMeshTasksIndirectCommandEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: uint32_t groupCountX = {}; uint32_t groupCountY = {}; uint32_t groupCountZ = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDrawMeshTasksIndirectCommandEXT> { using Type = DrawMeshTasksIndirectCommandEXT; }; #endif // wrapper struct for struct VkDrawMeshTasksIndirectCommandNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDrawMeshTasksIndirectCommandNV.html struct DrawMeshTasksIndirectCommandNV { using NativeType = VkDrawMeshTasksIndirectCommandNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DrawMeshTasksIndirectCommandNV( uint32_t taskCount_ = {}, uint32_t firstTask_ = {} ) VULKAN_HPP_NOEXCEPT : taskCount{ taskCount_ } , firstTask{ firstTask_ } { } VULKAN_HPP_CONSTEXPR DrawMeshTasksIndirectCommandNV( DrawMeshTasksIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; DrawMeshTasksIndirectCommandNV( VkDrawMeshTasksIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT : DrawMeshTasksIndirectCommandNV( *reinterpret_cast<DrawMeshTasksIndirectCommandNV const *>( &rhs ) ) { } DrawMeshTasksIndirectCommandNV & operator=( DrawMeshTasksIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DrawMeshTasksIndirectCommandNV & operator=( VkDrawMeshTasksIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DrawMeshTasksIndirectCommandNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 DrawMeshTasksIndirectCommandNV & setTaskCount( uint32_t taskCount_ ) VULKAN_HPP_NOEXCEPT { taskCount = taskCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 DrawMeshTasksIndirectCommandNV & setFirstTask( uint32_t firstTask_ ) VULKAN_HPP_NOEXCEPT { firstTask = firstTask_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkDrawMeshTasksIndirectCommandNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDrawMeshTasksIndirectCommandNV *>( this ); } operator VkDrawMeshTasksIndirectCommandNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDrawMeshTasksIndirectCommandNV *>( this ); } operator VkDrawMeshTasksIndirectCommandNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDrawMeshTasksIndirectCommandNV *>( this ); } operator VkDrawMeshTasksIndirectCommandNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDrawMeshTasksIndirectCommandNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<uint32_t const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( taskCount, firstTask ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DrawMeshTasksIndirectCommandNV const & ) const = default; #else bool operator==( DrawMeshTasksIndirectCommandNV const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( taskCount == rhs.taskCount ) && ( firstTask == rhs.firstTask ); # endif } bool operator!=( DrawMeshTasksIndirectCommandNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: uint32_t taskCount = {}; uint32_t firstTask = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDrawMeshTasksIndirectCommandNV> { using Type = DrawMeshTasksIndirectCommandNV; }; #endif // wrapper struct for struct VkDrmFormatModifierProperties2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDrmFormatModifierProperties2EXT.html struct DrmFormatModifierProperties2EXT { using NativeType = VkDrmFormatModifierProperties2EXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DrmFormatModifierProperties2EXT( uint64_t drmFormatModifier_ = {}, uint32_t drmFormatModifierPlaneCount_ = {}, FormatFeatureFlags2 drmFormatModifierTilingFeatures_ = {} ) VULKAN_HPP_NOEXCEPT : drmFormatModifier{ drmFormatModifier_ } , drmFormatModifierPlaneCount{ drmFormatModifierPlaneCount_ } , drmFormatModifierTilingFeatures{ drmFormatModifierTilingFeatures_ } { } VULKAN_HPP_CONSTEXPR DrmFormatModifierProperties2EXT( DrmFormatModifierProperties2EXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; DrmFormatModifierProperties2EXT( VkDrmFormatModifierProperties2EXT const & rhs ) VULKAN_HPP_NOEXCEPT : DrmFormatModifierProperties2EXT( *reinterpret_cast<DrmFormatModifierProperties2EXT const *>( &rhs ) ) { } DrmFormatModifierProperties2EXT & operator=( DrmFormatModifierProperties2EXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DrmFormatModifierProperties2EXT & operator=( VkDrmFormatModifierProperties2EXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DrmFormatModifierProperties2EXT const *>( &rhs ); return *this; } operator VkDrmFormatModifierProperties2EXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDrmFormatModifierProperties2EXT *>( this ); } operator VkDrmFormatModifierProperties2EXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDrmFormatModifierProperties2EXT *>( this ); } operator VkDrmFormatModifierProperties2EXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDrmFormatModifierProperties2EXT *>( this ); } operator VkDrmFormatModifierProperties2EXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDrmFormatModifierProperties2EXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<uint64_t const &, uint32_t const &, FormatFeatureFlags2 const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( drmFormatModifier, drmFormatModifierPlaneCount, drmFormatModifierTilingFeatures ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DrmFormatModifierProperties2EXT const & ) const = default; #else bool operator==( DrmFormatModifierProperties2EXT const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( drmFormatModifier == rhs.drmFormatModifier ) && ( drmFormatModifierPlaneCount == rhs.drmFormatModifierPlaneCount ) && ( drmFormatModifierTilingFeatures == rhs.drmFormatModifierTilingFeatures ); # endif } bool operator!=( DrmFormatModifierProperties2EXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: uint64_t drmFormatModifier = {}; uint32_t drmFormatModifierPlaneCount = {}; FormatFeatureFlags2 drmFormatModifierTilingFeatures = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDrmFormatModifierProperties2EXT> { using Type = DrmFormatModifierProperties2EXT; }; #endif // wrapper struct for struct VkDrmFormatModifierPropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDrmFormatModifierPropertiesEXT.html struct DrmFormatModifierPropertiesEXT { using NativeType = VkDrmFormatModifierPropertiesEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DrmFormatModifierPropertiesEXT( uint64_t drmFormatModifier_ = {}, uint32_t drmFormatModifierPlaneCount_ = {}, FormatFeatureFlags drmFormatModifierTilingFeatures_ = {} ) VULKAN_HPP_NOEXCEPT : drmFormatModifier{ drmFormatModifier_ } , drmFormatModifierPlaneCount{ drmFormatModifierPlaneCount_ } , drmFormatModifierTilingFeatures{ drmFormatModifierTilingFeatures_ } { } VULKAN_HPP_CONSTEXPR DrmFormatModifierPropertiesEXT( DrmFormatModifierPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; DrmFormatModifierPropertiesEXT( VkDrmFormatModifierPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DrmFormatModifierPropertiesEXT( *reinterpret_cast<DrmFormatModifierPropertiesEXT const *>( &rhs ) ) { } DrmFormatModifierPropertiesEXT & operator=( DrmFormatModifierPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DrmFormatModifierPropertiesEXT & operator=( VkDrmFormatModifierPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DrmFormatModifierPropertiesEXT const *>( &rhs ); return *this; } operator VkDrmFormatModifierPropertiesEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDrmFormatModifierPropertiesEXT *>( this ); } operator VkDrmFormatModifierPropertiesEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDrmFormatModifierPropertiesEXT *>( this ); } operator VkDrmFormatModifierPropertiesEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDrmFormatModifierPropertiesEXT *>( this ); } operator VkDrmFormatModifierPropertiesEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDrmFormatModifierPropertiesEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<uint64_t const &, uint32_t const &, FormatFeatureFlags const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( drmFormatModifier, drmFormatModifierPlaneCount, drmFormatModifierTilingFeatures ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DrmFormatModifierPropertiesEXT const & ) const = default; #else bool operator==( DrmFormatModifierPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( drmFormatModifier == rhs.drmFormatModifier ) && ( drmFormatModifierPlaneCount == rhs.drmFormatModifierPlaneCount ) && ( drmFormatModifierTilingFeatures == rhs.drmFormatModifierTilingFeatures ); # endif } bool operator!=( DrmFormatModifierPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: uint64_t drmFormatModifier = {}; uint32_t drmFormatModifierPlaneCount = {}; FormatFeatureFlags drmFormatModifierTilingFeatures = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDrmFormatModifierPropertiesEXT> { using Type = DrmFormatModifierPropertiesEXT; }; #endif // wrapper struct for struct VkDrmFormatModifierPropertiesList2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDrmFormatModifierPropertiesList2EXT.html struct DrmFormatModifierPropertiesList2EXT { using NativeType = VkDrmFormatModifierPropertiesList2EXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDrmFormatModifierPropertiesList2EXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DrmFormatModifierPropertiesList2EXT( uint32_t drmFormatModifierCount_ = {}, DrmFormatModifierProperties2EXT * pDrmFormatModifierProperties_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , drmFormatModifierCount{ drmFormatModifierCount_ } , pDrmFormatModifierProperties{ pDrmFormatModifierProperties_ } { } VULKAN_HPP_CONSTEXPR DrmFormatModifierPropertiesList2EXT( DrmFormatModifierPropertiesList2EXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; DrmFormatModifierPropertiesList2EXT( VkDrmFormatModifierPropertiesList2EXT const & rhs ) VULKAN_HPP_NOEXCEPT : DrmFormatModifierPropertiesList2EXT( *reinterpret_cast<DrmFormatModifierPropertiesList2EXT const *>( &rhs ) ) { } DrmFormatModifierPropertiesList2EXT & operator=( DrmFormatModifierPropertiesList2EXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DrmFormatModifierPropertiesList2EXT & operator=( VkDrmFormatModifierPropertiesList2EXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DrmFormatModifierPropertiesList2EXT const *>( &rhs ); return *this; } operator VkDrmFormatModifierPropertiesList2EXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDrmFormatModifierPropertiesList2EXT *>( this ); } operator VkDrmFormatModifierPropertiesList2EXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDrmFormatModifierPropertiesList2EXT *>( this ); } operator VkDrmFormatModifierPropertiesList2EXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDrmFormatModifierPropertiesList2EXT *>( this ); } operator VkDrmFormatModifierPropertiesList2EXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDrmFormatModifierPropertiesList2EXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, uint32_t const &, DrmFormatModifierProperties2EXT * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, drmFormatModifierCount, pDrmFormatModifierProperties ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DrmFormatModifierPropertiesList2EXT const & ) const = default; #else bool operator==( DrmFormatModifierPropertiesList2EXT 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 ) && ( drmFormatModifierCount == rhs.drmFormatModifierCount ) && ( pDrmFormatModifierProperties == rhs.pDrmFormatModifierProperties ); # endif } bool operator!=( DrmFormatModifierPropertiesList2EXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDrmFormatModifierPropertiesList2EXT; void * pNext = {}; uint32_t drmFormatModifierCount = {}; DrmFormatModifierProperties2EXT * pDrmFormatModifierProperties = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDrmFormatModifierPropertiesList2EXT> { using Type = DrmFormatModifierPropertiesList2EXT; }; #endif template <> struct CppType<StructureType, StructureType::eDrmFormatModifierPropertiesList2EXT> { using Type = DrmFormatModifierPropertiesList2EXT; }; // wrapper struct for struct VkDrmFormatModifierPropertiesListEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDrmFormatModifierPropertiesListEXT.html struct DrmFormatModifierPropertiesListEXT { using NativeType = VkDrmFormatModifierPropertiesListEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDrmFormatModifierPropertiesListEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DrmFormatModifierPropertiesListEXT( uint32_t drmFormatModifierCount_ = {}, DrmFormatModifierPropertiesEXT * pDrmFormatModifierProperties_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , drmFormatModifierCount{ drmFormatModifierCount_ } , pDrmFormatModifierProperties{ pDrmFormatModifierProperties_ } { } VULKAN_HPP_CONSTEXPR DrmFormatModifierPropertiesListEXT( DrmFormatModifierPropertiesListEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; DrmFormatModifierPropertiesListEXT( VkDrmFormatModifierPropertiesListEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DrmFormatModifierPropertiesListEXT( *reinterpret_cast<DrmFormatModifierPropertiesListEXT const *>( &rhs ) ) { } DrmFormatModifierPropertiesListEXT & operator=( DrmFormatModifierPropertiesListEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ DrmFormatModifierPropertiesListEXT & operator=( VkDrmFormatModifierPropertiesListEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<DrmFormatModifierPropertiesListEXT const *>( &rhs ); return *this; } operator VkDrmFormatModifierPropertiesListEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkDrmFormatModifierPropertiesListEXT *>( this ); } operator VkDrmFormatModifierPropertiesListEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkDrmFormatModifierPropertiesListEXT *>( this ); } operator VkDrmFormatModifierPropertiesListEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkDrmFormatModifierPropertiesListEXT *>( this ); } operator VkDrmFormatModifierPropertiesListEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkDrmFormatModifierPropertiesListEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, uint32_t const &, DrmFormatModifierPropertiesEXT * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, drmFormatModifierCount, pDrmFormatModifierProperties ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( DrmFormatModifierPropertiesListEXT const & ) const = default; #else bool operator==( DrmFormatModifierPropertiesListEXT 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 ) && ( drmFormatModifierCount == rhs.drmFormatModifierCount ) && ( pDrmFormatModifierProperties == rhs.pDrmFormatModifierProperties ); # endif } bool operator!=( DrmFormatModifierPropertiesListEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eDrmFormatModifierPropertiesListEXT; void * pNext = {}; uint32_t drmFormatModifierCount = {}; DrmFormatModifierPropertiesEXT * pDrmFormatModifierProperties = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkDrmFormatModifierPropertiesListEXT> { using Type = DrmFormatModifierPropertiesListEXT; }; #endif template <> struct CppType<StructureType, StructureType::eDrmFormatModifierPropertiesListEXT> { using Type = DrmFormatModifierPropertiesListEXT; }; // wrapper struct for struct VkEventCreateInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkEventCreateInfo.html struct EventCreateInfo { using NativeType = VkEventCreateInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eEventCreateInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR EventCreateInfo( EventCreateFlags flags_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } { } VULKAN_HPP_CONSTEXPR EventCreateInfo( EventCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; EventCreateInfo( VkEventCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : EventCreateInfo( *reinterpret_cast<EventCreateInfo const *>( &rhs ) ) {} EventCreateInfo & operator=( EventCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ EventCreateInfo & operator=( VkEventCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<EventCreateInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 EventCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 EventCreateInfo & setFlags( EventCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkEventCreateInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkEventCreateInfo *>( this ); } operator VkEventCreateInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkEventCreateInfo *>( this ); } operator VkEventCreateInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkEventCreateInfo *>( this ); } operator VkEventCreateInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkEventCreateInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, EventCreateFlags const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( EventCreateInfo const & ) const = default; #else bool operator==( EventCreateInfo 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 ) && ( flags == rhs.flags ); # endif } bool operator!=( EventCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eEventCreateInfo; const void * pNext = {}; EventCreateFlags flags = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkEventCreateInfo> { using Type = EventCreateInfo; }; #endif template <> struct CppType<StructureType, StructureType::eEventCreateInfo> { using Type = EventCreateInfo; }; // wrapper struct for struct VkPipelineLibraryCreateInfoKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineLibraryCreateInfoKHR.html struct PipelineLibraryCreateInfoKHR { using NativeType = VkPipelineLibraryCreateInfoKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineLibraryCreateInfoKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR PipelineLibraryCreateInfoKHR( uint32_t libraryCount_ = {}, const Pipeline * pLibraries_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , libraryCount{ libraryCount_ } , pLibraries{ pLibraries_ } { } VULKAN_HPP_CONSTEXPR PipelineLibraryCreateInfoKHR( PipelineLibraryCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; PipelineLibraryCreateInfoKHR( VkPipelineLibraryCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : PipelineLibraryCreateInfoKHR( *reinterpret_cast<PipelineLibraryCreateInfoKHR const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) PipelineLibraryCreateInfoKHR( ArrayProxyNoTemporaries<const Pipeline> const & libraries_, const void * pNext_ = nullptr ) : pNext( pNext_ ), libraryCount( static_cast<uint32_t>( libraries_.size() ) ), pLibraries( libraries_.data() ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ PipelineLibraryCreateInfoKHR & operator=( PipelineLibraryCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ PipelineLibraryCreateInfoKHR & operator=( VkPipelineLibraryCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<PipelineLibraryCreateInfoKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 PipelineLibraryCreateInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 PipelineLibraryCreateInfoKHR & setLibraryCount( uint32_t libraryCount_ ) VULKAN_HPP_NOEXCEPT { libraryCount = libraryCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 PipelineLibraryCreateInfoKHR & setPLibraries( const Pipeline * pLibraries_ ) VULKAN_HPP_NOEXCEPT { pLibraries = pLibraries_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) PipelineLibraryCreateInfoKHR & setLibraries( ArrayProxyNoTemporaries<const Pipeline> const & libraries_ ) VULKAN_HPP_NOEXCEPT { libraryCount = static_cast<uint32_t>( libraries_.size() ); pLibraries = libraries_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkPipelineLibraryCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkPipelineLibraryCreateInfoKHR *>( this ); } operator VkPipelineLibraryCreateInfoKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkPipelineLibraryCreateInfoKHR *>( this ); } operator VkPipelineLibraryCreateInfoKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkPipelineLibraryCreateInfoKHR *>( this ); } operator VkPipelineLibraryCreateInfoKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkPipelineLibraryCreateInfoKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, uint32_t const &, const Pipeline * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, libraryCount, pLibraries ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( PipelineLibraryCreateInfoKHR const & ) const = default; #else bool operator==( PipelineLibraryCreateInfoKHR 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 ) && ( libraryCount == rhs.libraryCount ) && ( pLibraries == rhs.pLibraries ); # endif } bool operator!=( PipelineLibraryCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::ePipelineLibraryCreateInfoKHR; const void * pNext = {}; uint32_t libraryCount = {}; const Pipeline * pLibraries = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkPipelineLibraryCreateInfoKHR> { using Type = PipelineLibraryCreateInfoKHR; }; #endif template <> struct CppType<StructureType, StructureType::ePipelineLibraryCreateInfoKHR> { using Type = PipelineLibraryCreateInfoKHR; }; #if defined( VK_ENABLE_BETA_EXTENSIONS ) // wrapper struct for struct VkExecutionGraphPipelineCreateInfoAMDX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkExecutionGraphPipelineCreateInfoAMDX.html struct ExecutionGraphPipelineCreateInfoAMDX { using NativeType = VkExecutionGraphPipelineCreateInfoAMDX; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExecutionGraphPipelineCreateInfoAMDX; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExecutionGraphPipelineCreateInfoAMDX( PipelineCreateFlags flags_ = {}, uint32_t stageCount_ = {}, const PipelineShaderStageCreateInfo * pStages_ = {}, const PipelineLibraryCreateInfoKHR * pLibraryInfo_ = {}, PipelineLayout layout_ = {}, Pipeline basePipelineHandle_ = {}, int32_t basePipelineIndex_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , stageCount{ stageCount_ } , pStages{ pStages_ } , pLibraryInfo{ pLibraryInfo_ } , layout{ layout_ } , basePipelineHandle{ basePipelineHandle_ } , basePipelineIndex{ basePipelineIndex_ } { } VULKAN_HPP_CONSTEXPR ExecutionGraphPipelineCreateInfoAMDX( ExecutionGraphPipelineCreateInfoAMDX const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExecutionGraphPipelineCreateInfoAMDX( VkExecutionGraphPipelineCreateInfoAMDX const & rhs ) VULKAN_HPP_NOEXCEPT : ExecutionGraphPipelineCreateInfoAMDX( *reinterpret_cast<ExecutionGraphPipelineCreateInfoAMDX const *>( &rhs ) ) { } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) ExecutionGraphPipelineCreateInfoAMDX( PipelineCreateFlags flags_, ArrayProxyNoTemporaries<const PipelineShaderStageCreateInfo> const & stages_, const PipelineLibraryCreateInfoKHR * pLibraryInfo_ = {}, PipelineLayout layout_ = {}, Pipeline basePipelineHandle_ = {}, int32_t basePipelineIndex_ = {}, const void * pNext_ = nullptr ) : pNext( pNext_ ) , flags( flags_ ) , stageCount( static_cast<uint32_t>( stages_.size() ) ) , pStages( stages_.data() ) , pLibraryInfo( pLibraryInfo_ ) , layout( layout_ ) , basePipelineHandle( basePipelineHandle_ ) , basePipelineIndex( basePipelineIndex_ ) { } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ ExecutionGraphPipelineCreateInfoAMDX & operator=( ExecutionGraphPipelineCreateInfoAMDX const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExecutionGraphPipelineCreateInfoAMDX & operator=( VkExecutionGraphPipelineCreateInfoAMDX const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExecutionGraphPipelineCreateInfoAMDX const *>( &rhs ); return *this; } # if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ExecutionGraphPipelineCreateInfoAMDX & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExecutionGraphPipelineCreateInfoAMDX & setFlags( PipelineCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExecutionGraphPipelineCreateInfoAMDX & setStageCount( uint32_t stageCount_ ) VULKAN_HPP_NOEXCEPT { stageCount = stageCount_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExecutionGraphPipelineCreateInfoAMDX & setPStages( const PipelineShaderStageCreateInfo * pStages_ ) VULKAN_HPP_NOEXCEPT { pStages = pStages_; return *this; } # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) ExecutionGraphPipelineCreateInfoAMDX & setStages( ArrayProxyNoTemporaries<const PipelineShaderStageCreateInfo> const & stages_ ) VULKAN_HPP_NOEXCEPT { stageCount = static_cast<uint32_t>( stages_.size() ); pStages = stages_.data(); return *this; } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ VULKAN_HPP_CONSTEXPR_14 ExecutionGraphPipelineCreateInfoAMDX & setPLibraryInfo( const PipelineLibraryCreateInfoKHR * pLibraryInfo_ ) VULKAN_HPP_NOEXCEPT { pLibraryInfo = pLibraryInfo_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExecutionGraphPipelineCreateInfoAMDX & setLayout( PipelineLayout layout_ ) VULKAN_HPP_NOEXCEPT { layout = layout_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExecutionGraphPipelineCreateInfoAMDX & setBasePipelineHandle( Pipeline basePipelineHandle_ ) VULKAN_HPP_NOEXCEPT { basePipelineHandle = basePipelineHandle_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExecutionGraphPipelineCreateInfoAMDX & setBasePipelineIndex( int32_t basePipelineIndex_ ) VULKAN_HPP_NOEXCEPT { basePipelineIndex = basePipelineIndex_; return *this; } # endif /*VULKAN_HPP_NO_SETTERS*/ operator VkExecutionGraphPipelineCreateInfoAMDX const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExecutionGraphPipelineCreateInfoAMDX *>( this ); } operator VkExecutionGraphPipelineCreateInfoAMDX &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExecutionGraphPipelineCreateInfoAMDX *>( this ); } operator VkExecutionGraphPipelineCreateInfoAMDX const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExecutionGraphPipelineCreateInfoAMDX *>( this ); } operator VkExecutionGraphPipelineCreateInfoAMDX *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExecutionGraphPipelineCreateInfoAMDX *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, PipelineCreateFlags const &, uint32_t const &, const PipelineShaderStageCreateInfo * const &, const PipelineLibraryCreateInfoKHR * const &, PipelineLayout const &, Pipeline const &, int32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags, stageCount, pStages, pLibraryInfo, layout, basePipelineHandle, basePipelineIndex ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExecutionGraphPipelineCreateInfoAMDX const & ) const = default; # else bool operator==( ExecutionGraphPipelineCreateInfoAMDX 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 ) && ( flags == rhs.flags ) && ( stageCount == rhs.stageCount ) && ( pStages == rhs.pStages ) && ( pLibraryInfo == rhs.pLibraryInfo ) && ( layout == rhs.layout ) && ( basePipelineHandle == rhs.basePipelineHandle ) && ( basePipelineIndex == rhs.basePipelineIndex ); # endif } bool operator!=( ExecutionGraphPipelineCreateInfoAMDX const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } # endif public: StructureType sType = StructureType::eExecutionGraphPipelineCreateInfoAMDX; const void * pNext = {}; PipelineCreateFlags flags = {}; uint32_t stageCount = {}; const PipelineShaderStageCreateInfo * pStages = {}; const PipelineLibraryCreateInfoKHR * pLibraryInfo = {}; PipelineLayout layout = {}; Pipeline basePipelineHandle = {}; int32_t basePipelineIndex = {}; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExecutionGraphPipelineCreateInfoAMDX> { using Type = ExecutionGraphPipelineCreateInfoAMDX; }; # endif template <> struct CppType<StructureType, StructureType::eExecutionGraphPipelineCreateInfoAMDX> { using Type = ExecutionGraphPipelineCreateInfoAMDX; }; #endif /*VK_ENABLE_BETA_EXTENSIONS*/ #if defined( VK_ENABLE_BETA_EXTENSIONS ) // wrapper struct for struct VkExecutionGraphPipelineScratchSizeAMDX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkExecutionGraphPipelineScratchSizeAMDX.html struct ExecutionGraphPipelineScratchSizeAMDX { using NativeType = VkExecutionGraphPipelineScratchSizeAMDX; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExecutionGraphPipelineScratchSizeAMDX; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExecutionGraphPipelineScratchSizeAMDX( DeviceSize minSize_ = {}, DeviceSize maxSize_ = {}, DeviceSize sizeGranularity_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , minSize{ minSize_ } , maxSize{ maxSize_ } , sizeGranularity{ sizeGranularity_ } { } VULKAN_HPP_CONSTEXPR ExecutionGraphPipelineScratchSizeAMDX( ExecutionGraphPipelineScratchSizeAMDX const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExecutionGraphPipelineScratchSizeAMDX( VkExecutionGraphPipelineScratchSizeAMDX const & rhs ) VULKAN_HPP_NOEXCEPT : ExecutionGraphPipelineScratchSizeAMDX( *reinterpret_cast<ExecutionGraphPipelineScratchSizeAMDX const *>( &rhs ) ) { } ExecutionGraphPipelineScratchSizeAMDX & operator=( ExecutionGraphPipelineScratchSizeAMDX const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExecutionGraphPipelineScratchSizeAMDX & operator=( VkExecutionGraphPipelineScratchSizeAMDX const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExecutionGraphPipelineScratchSizeAMDX const *>( &rhs ); return *this; } # if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ExecutionGraphPipelineScratchSizeAMDX & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExecutionGraphPipelineScratchSizeAMDX & setMinSize( DeviceSize minSize_ ) VULKAN_HPP_NOEXCEPT { minSize = minSize_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExecutionGraphPipelineScratchSizeAMDX & setMaxSize( DeviceSize maxSize_ ) VULKAN_HPP_NOEXCEPT { maxSize = maxSize_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExecutionGraphPipelineScratchSizeAMDX & setSizeGranularity( DeviceSize sizeGranularity_ ) VULKAN_HPP_NOEXCEPT { sizeGranularity = sizeGranularity_; return *this; } # endif /*VULKAN_HPP_NO_SETTERS*/ operator VkExecutionGraphPipelineScratchSizeAMDX const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExecutionGraphPipelineScratchSizeAMDX *>( this ); } operator VkExecutionGraphPipelineScratchSizeAMDX &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExecutionGraphPipelineScratchSizeAMDX *>( this ); } operator VkExecutionGraphPipelineScratchSizeAMDX const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExecutionGraphPipelineScratchSizeAMDX *>( this ); } operator VkExecutionGraphPipelineScratchSizeAMDX *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExecutionGraphPipelineScratchSizeAMDX *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, DeviceSize const &, DeviceSize const &, DeviceSize const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, minSize, maxSize, sizeGranularity ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExecutionGraphPipelineScratchSizeAMDX const & ) const = default; # else bool operator==( ExecutionGraphPipelineScratchSizeAMDX 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 ) && ( minSize == rhs.minSize ) && ( maxSize == rhs.maxSize ) && ( sizeGranularity == rhs.sizeGranularity ); # endif } bool operator!=( ExecutionGraphPipelineScratchSizeAMDX const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } # endif public: StructureType sType = StructureType::eExecutionGraphPipelineScratchSizeAMDX; void * pNext = {}; DeviceSize minSize = {}; DeviceSize maxSize = {}; DeviceSize sizeGranularity = {}; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExecutionGraphPipelineScratchSizeAMDX> { using Type = ExecutionGraphPipelineScratchSizeAMDX; }; # endif template <> struct CppType<StructureType, StructureType::eExecutionGraphPipelineScratchSizeAMDX> { using Type = ExecutionGraphPipelineScratchSizeAMDX; }; #endif /*VK_ENABLE_BETA_EXTENSIONS*/ // wrapper struct for struct VkExportFenceCreateInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkExportFenceCreateInfo.html struct ExportFenceCreateInfo { using NativeType = VkExportFenceCreateInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportFenceCreateInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExportFenceCreateInfo( ExternalFenceHandleTypeFlags handleTypes_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , handleTypes{ handleTypes_ } { } VULKAN_HPP_CONSTEXPR ExportFenceCreateInfo( ExportFenceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExportFenceCreateInfo( VkExportFenceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : ExportFenceCreateInfo( *reinterpret_cast<ExportFenceCreateInfo const *>( &rhs ) ) { } ExportFenceCreateInfo & operator=( ExportFenceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExportFenceCreateInfo & operator=( VkExportFenceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExportFenceCreateInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ExportFenceCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExportFenceCreateInfo & setHandleTypes( ExternalFenceHandleTypeFlags handleTypes_ ) VULKAN_HPP_NOEXCEPT { handleTypes = handleTypes_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkExportFenceCreateInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExportFenceCreateInfo *>( this ); } operator VkExportFenceCreateInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExportFenceCreateInfo *>( this ); } operator VkExportFenceCreateInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExportFenceCreateInfo *>( this ); } operator VkExportFenceCreateInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExportFenceCreateInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, ExternalFenceHandleTypeFlags const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, handleTypes ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExportFenceCreateInfo const & ) const = default; #else bool operator==( ExportFenceCreateInfo 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 ) && ( handleTypes == rhs.handleTypes ); # endif } bool operator!=( ExportFenceCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eExportFenceCreateInfo; const void * pNext = {}; ExternalFenceHandleTypeFlags handleTypes = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExportFenceCreateInfo> { using Type = ExportFenceCreateInfo; }; #endif template <> struct CppType<StructureType, StructureType::eExportFenceCreateInfo> { using Type = ExportFenceCreateInfo; }; using ExportFenceCreateInfoKHR = ExportFenceCreateInfo; #if defined( VK_USE_PLATFORM_WIN32_KHR ) // wrapper struct for struct VkExportFenceWin32HandleInfoKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkExportFenceWin32HandleInfoKHR.html struct ExportFenceWin32HandleInfoKHR { using NativeType = VkExportFenceWin32HandleInfoKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportFenceWin32HandleInfoKHR; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExportFenceWin32HandleInfoKHR( const SECURITY_ATTRIBUTES * pAttributes_ = {}, DWORD dwAccess_ = {}, LPCWSTR name_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , pAttributes{ pAttributes_ } , dwAccess{ dwAccess_ } , name{ name_ } { } VULKAN_HPP_CONSTEXPR ExportFenceWin32HandleInfoKHR( ExportFenceWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExportFenceWin32HandleInfoKHR( VkExportFenceWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : ExportFenceWin32HandleInfoKHR( *reinterpret_cast<ExportFenceWin32HandleInfoKHR const *>( &rhs ) ) { } ExportFenceWin32HandleInfoKHR & operator=( ExportFenceWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExportFenceWin32HandleInfoKHR & operator=( VkExportFenceWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExportFenceWin32HandleInfoKHR const *>( &rhs ); return *this; } # if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ExportFenceWin32HandleInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExportFenceWin32HandleInfoKHR & setPAttributes( const SECURITY_ATTRIBUTES * pAttributes_ ) VULKAN_HPP_NOEXCEPT { pAttributes = pAttributes_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExportFenceWin32HandleInfoKHR & setDwAccess( DWORD dwAccess_ ) VULKAN_HPP_NOEXCEPT { dwAccess = dwAccess_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExportFenceWin32HandleInfoKHR & setName( LPCWSTR name_ ) VULKAN_HPP_NOEXCEPT { name = name_; return *this; } # endif /*VULKAN_HPP_NO_SETTERS*/ operator VkExportFenceWin32HandleInfoKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExportFenceWin32HandleInfoKHR *>( this ); } operator VkExportFenceWin32HandleInfoKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExportFenceWin32HandleInfoKHR *>( this ); } operator VkExportFenceWin32HandleInfoKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExportFenceWin32HandleInfoKHR *>( this ); } operator VkExportFenceWin32HandleInfoKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExportFenceWin32HandleInfoKHR *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, const SECURITY_ATTRIBUTES * const &, DWORD const &, LPCWSTR const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, pAttributes, dwAccess, name ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExportFenceWin32HandleInfoKHR const & ) const = default; # else bool operator==( ExportFenceWin32HandleInfoKHR 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 ) && ( pAttributes == rhs.pAttributes ) && ( dwAccess == rhs.dwAccess ) && ( name == rhs.name ); # endif } bool operator!=( ExportFenceWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } # endif public: StructureType sType = StructureType::eExportFenceWin32HandleInfoKHR; const void * pNext = {}; const SECURITY_ATTRIBUTES * pAttributes = {}; DWORD dwAccess = {}; LPCWSTR name = {}; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExportFenceWin32HandleInfoKHR> { using Type = ExportFenceWin32HandleInfoKHR; }; # endif template <> struct CppType<StructureType, StructureType::eExportFenceWin32HandleInfoKHR> { using Type = ExportFenceWin32HandleInfoKHR; }; #endif /*VK_USE_PLATFORM_WIN32_KHR*/ // wrapper struct for struct VkExportMemoryAllocateInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkExportMemoryAllocateInfo.html struct ExportMemoryAllocateInfo { using NativeType = VkExportMemoryAllocateInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportMemoryAllocateInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExportMemoryAllocateInfo( ExternalMemoryHandleTypeFlags handleTypes_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , handleTypes{ handleTypes_ } { } VULKAN_HPP_CONSTEXPR ExportMemoryAllocateInfo( ExportMemoryAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExportMemoryAllocateInfo( VkExportMemoryAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : ExportMemoryAllocateInfo( *reinterpret_cast<ExportMemoryAllocateInfo const *>( &rhs ) ) { } ExportMemoryAllocateInfo & operator=( ExportMemoryAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExportMemoryAllocateInfo & operator=( VkExportMemoryAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExportMemoryAllocateInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ExportMemoryAllocateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExportMemoryAllocateInfo & setHandleTypes( ExternalMemoryHandleTypeFlags handleTypes_ ) VULKAN_HPP_NOEXCEPT { handleTypes = handleTypes_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkExportMemoryAllocateInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExportMemoryAllocateInfo *>( this ); } operator VkExportMemoryAllocateInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExportMemoryAllocateInfo *>( this ); } operator VkExportMemoryAllocateInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExportMemoryAllocateInfo *>( this ); } operator VkExportMemoryAllocateInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExportMemoryAllocateInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, ExternalMemoryHandleTypeFlags const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, handleTypes ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExportMemoryAllocateInfo const & ) const = default; #else bool operator==( ExportMemoryAllocateInfo 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 ) && ( handleTypes == rhs.handleTypes ); # endif } bool operator!=( ExportMemoryAllocateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eExportMemoryAllocateInfo; const void * pNext = {}; ExternalMemoryHandleTypeFlags handleTypes = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExportMemoryAllocateInfo> { using Type = ExportMemoryAllocateInfo; }; #endif template <> struct CppType<StructureType, StructureType::eExportMemoryAllocateInfo> { using Type = ExportMemoryAllocateInfo; }; using ExportMemoryAllocateInfoKHR = ExportMemoryAllocateInfo; // wrapper struct for struct VkExportMemoryAllocateInfoNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkExportMemoryAllocateInfoNV.html struct ExportMemoryAllocateInfoNV { using NativeType = VkExportMemoryAllocateInfoNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportMemoryAllocateInfoNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExportMemoryAllocateInfoNV( ExternalMemoryHandleTypeFlagsNV handleTypes_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , handleTypes{ handleTypes_ } { } VULKAN_HPP_CONSTEXPR ExportMemoryAllocateInfoNV( ExportMemoryAllocateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExportMemoryAllocateInfoNV( VkExportMemoryAllocateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT : ExportMemoryAllocateInfoNV( *reinterpret_cast<ExportMemoryAllocateInfoNV const *>( &rhs ) ) { } ExportMemoryAllocateInfoNV & operator=( ExportMemoryAllocateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExportMemoryAllocateInfoNV & operator=( VkExportMemoryAllocateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExportMemoryAllocateInfoNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ExportMemoryAllocateInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExportMemoryAllocateInfoNV & setHandleTypes( ExternalMemoryHandleTypeFlagsNV handleTypes_ ) VULKAN_HPP_NOEXCEPT { handleTypes = handleTypes_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkExportMemoryAllocateInfoNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExportMemoryAllocateInfoNV *>( this ); } operator VkExportMemoryAllocateInfoNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExportMemoryAllocateInfoNV *>( this ); } operator VkExportMemoryAllocateInfoNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExportMemoryAllocateInfoNV *>( this ); } operator VkExportMemoryAllocateInfoNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExportMemoryAllocateInfoNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, ExternalMemoryHandleTypeFlagsNV const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, handleTypes ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExportMemoryAllocateInfoNV const & ) const = default; #else bool operator==( ExportMemoryAllocateInfoNV 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 ) && ( handleTypes == rhs.handleTypes ); # endif } bool operator!=( ExportMemoryAllocateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eExportMemoryAllocateInfoNV; const void * pNext = {}; ExternalMemoryHandleTypeFlagsNV handleTypes = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExportMemoryAllocateInfoNV> { using Type = ExportMemoryAllocateInfoNV; }; #endif template <> struct CppType<StructureType, StructureType::eExportMemoryAllocateInfoNV> { using Type = ExportMemoryAllocateInfoNV; }; #if defined( VK_USE_PLATFORM_WIN32_KHR ) // wrapper struct for struct VkExportMemoryWin32HandleInfoKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkExportMemoryWin32HandleInfoKHR.html struct ExportMemoryWin32HandleInfoKHR { using NativeType = VkExportMemoryWin32HandleInfoKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportMemoryWin32HandleInfoKHR; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExportMemoryWin32HandleInfoKHR( const SECURITY_ATTRIBUTES * pAttributes_ = {}, DWORD dwAccess_ = {}, LPCWSTR name_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , pAttributes{ pAttributes_ } , dwAccess{ dwAccess_ } , name{ name_ } { } VULKAN_HPP_CONSTEXPR ExportMemoryWin32HandleInfoKHR( ExportMemoryWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExportMemoryWin32HandleInfoKHR( VkExportMemoryWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : ExportMemoryWin32HandleInfoKHR( *reinterpret_cast<ExportMemoryWin32HandleInfoKHR const *>( &rhs ) ) { } ExportMemoryWin32HandleInfoKHR & operator=( ExportMemoryWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExportMemoryWin32HandleInfoKHR & operator=( VkExportMemoryWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExportMemoryWin32HandleInfoKHR const *>( &rhs ); return *this; } # if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ExportMemoryWin32HandleInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExportMemoryWin32HandleInfoKHR & setPAttributes( const SECURITY_ATTRIBUTES * pAttributes_ ) VULKAN_HPP_NOEXCEPT { pAttributes = pAttributes_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExportMemoryWin32HandleInfoKHR & setDwAccess( DWORD dwAccess_ ) VULKAN_HPP_NOEXCEPT { dwAccess = dwAccess_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExportMemoryWin32HandleInfoKHR & setName( LPCWSTR name_ ) VULKAN_HPP_NOEXCEPT { name = name_; return *this; } # endif /*VULKAN_HPP_NO_SETTERS*/ operator VkExportMemoryWin32HandleInfoKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExportMemoryWin32HandleInfoKHR *>( this ); } operator VkExportMemoryWin32HandleInfoKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExportMemoryWin32HandleInfoKHR *>( this ); } operator VkExportMemoryWin32HandleInfoKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExportMemoryWin32HandleInfoKHR *>( this ); } operator VkExportMemoryWin32HandleInfoKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExportMemoryWin32HandleInfoKHR *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, const SECURITY_ATTRIBUTES * const &, DWORD const &, LPCWSTR const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, pAttributes, dwAccess, name ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExportMemoryWin32HandleInfoKHR const & ) const = default; # else bool operator==( ExportMemoryWin32HandleInfoKHR 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 ) && ( pAttributes == rhs.pAttributes ) && ( dwAccess == rhs.dwAccess ) && ( name == rhs.name ); # endif } bool operator!=( ExportMemoryWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } # endif public: StructureType sType = StructureType::eExportMemoryWin32HandleInfoKHR; const void * pNext = {}; const SECURITY_ATTRIBUTES * pAttributes = {}; DWORD dwAccess = {}; LPCWSTR name = {}; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExportMemoryWin32HandleInfoKHR> { using Type = ExportMemoryWin32HandleInfoKHR; }; # endif template <> struct CppType<StructureType, StructureType::eExportMemoryWin32HandleInfoKHR> { using Type = ExportMemoryWin32HandleInfoKHR; }; #endif /*VK_USE_PLATFORM_WIN32_KHR*/ #if defined( VK_USE_PLATFORM_WIN32_KHR ) // wrapper struct for struct VkExportMemoryWin32HandleInfoNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkExportMemoryWin32HandleInfoNV.html struct ExportMemoryWin32HandleInfoNV { using NativeType = VkExportMemoryWin32HandleInfoNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportMemoryWin32HandleInfoNV; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExportMemoryWin32HandleInfoNV( const SECURITY_ATTRIBUTES * pAttributes_ = {}, DWORD dwAccess_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , pAttributes{ pAttributes_ } , dwAccess{ dwAccess_ } { } VULKAN_HPP_CONSTEXPR ExportMemoryWin32HandleInfoNV( ExportMemoryWin32HandleInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExportMemoryWin32HandleInfoNV( VkExportMemoryWin32HandleInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT : ExportMemoryWin32HandleInfoNV( *reinterpret_cast<ExportMemoryWin32HandleInfoNV const *>( &rhs ) ) { } ExportMemoryWin32HandleInfoNV & operator=( ExportMemoryWin32HandleInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExportMemoryWin32HandleInfoNV & operator=( VkExportMemoryWin32HandleInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExportMemoryWin32HandleInfoNV const *>( &rhs ); return *this; } # if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ExportMemoryWin32HandleInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExportMemoryWin32HandleInfoNV & setPAttributes( const SECURITY_ATTRIBUTES * pAttributes_ ) VULKAN_HPP_NOEXCEPT { pAttributes = pAttributes_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExportMemoryWin32HandleInfoNV & setDwAccess( DWORD dwAccess_ ) VULKAN_HPP_NOEXCEPT { dwAccess = dwAccess_; return *this; } # endif /*VULKAN_HPP_NO_SETTERS*/ operator VkExportMemoryWin32HandleInfoNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExportMemoryWin32HandleInfoNV *>( this ); } operator VkExportMemoryWin32HandleInfoNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExportMemoryWin32HandleInfoNV *>( this ); } operator VkExportMemoryWin32HandleInfoNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExportMemoryWin32HandleInfoNV *>( this ); } operator VkExportMemoryWin32HandleInfoNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExportMemoryWin32HandleInfoNV *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, const SECURITY_ATTRIBUTES * const &, DWORD const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, pAttributes, dwAccess ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExportMemoryWin32HandleInfoNV const & ) const = default; # else bool operator==( ExportMemoryWin32HandleInfoNV 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 ) && ( pAttributes == rhs.pAttributes ) && ( dwAccess == rhs.dwAccess ); # endif } bool operator!=( ExportMemoryWin32HandleInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } # endif public: StructureType sType = StructureType::eExportMemoryWin32HandleInfoNV; const void * pNext = {}; const SECURITY_ATTRIBUTES * pAttributes = {}; DWORD dwAccess = {}; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExportMemoryWin32HandleInfoNV> { using Type = ExportMemoryWin32HandleInfoNV; }; # endif template <> struct CppType<StructureType, StructureType::eExportMemoryWin32HandleInfoNV> { using Type = ExportMemoryWin32HandleInfoNV; }; #endif /*VK_USE_PLATFORM_WIN32_KHR*/ #if defined( VK_USE_PLATFORM_METAL_EXT ) // wrapper struct for struct VkExportMetalBufferInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkExportMetalBufferInfoEXT.html struct ExportMetalBufferInfoEXT { using NativeType = VkExportMetalBufferInfoEXT; static const bool allowDuplicate = true; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportMetalBufferInfoEXT; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExportMetalBufferInfoEXT( DeviceMemory memory_ = {}, MTLBuffer_id mtlBuffer_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , memory{ memory_ } , mtlBuffer{ mtlBuffer_ } { } VULKAN_HPP_CONSTEXPR ExportMetalBufferInfoEXT( ExportMetalBufferInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExportMetalBufferInfoEXT( VkExportMetalBufferInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : ExportMetalBufferInfoEXT( *reinterpret_cast<ExportMetalBufferInfoEXT const *>( &rhs ) ) { } ExportMetalBufferInfoEXT & operator=( ExportMetalBufferInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExportMetalBufferInfoEXT & operator=( VkExportMetalBufferInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExportMetalBufferInfoEXT const *>( &rhs ); return *this; } # if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ExportMetalBufferInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExportMetalBufferInfoEXT & setMemory( DeviceMemory memory_ ) VULKAN_HPP_NOEXCEPT { memory = memory_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExportMetalBufferInfoEXT & setMtlBuffer( MTLBuffer_id mtlBuffer_ ) VULKAN_HPP_NOEXCEPT { mtlBuffer = mtlBuffer_; return *this; } # endif /*VULKAN_HPP_NO_SETTERS*/ operator VkExportMetalBufferInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExportMetalBufferInfoEXT *>( this ); } operator VkExportMetalBufferInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExportMetalBufferInfoEXT *>( this ); } operator VkExportMetalBufferInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExportMetalBufferInfoEXT *>( this ); } operator VkExportMetalBufferInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExportMetalBufferInfoEXT *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, DeviceMemory const &, MTLBuffer_id const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, memory, mtlBuffer ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExportMetalBufferInfoEXT const & ) const = default; # else bool operator==( ExportMetalBufferInfoEXT 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 ) && ( memory == rhs.memory ) && ( mtlBuffer == rhs.mtlBuffer ); # endif } bool operator!=( ExportMetalBufferInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } # endif public: StructureType sType = StructureType::eExportMetalBufferInfoEXT; const void * pNext = {}; DeviceMemory memory = {}; MTLBuffer_id mtlBuffer = {}; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExportMetalBufferInfoEXT> { using Type = ExportMetalBufferInfoEXT; }; # endif template <> struct CppType<StructureType, StructureType::eExportMetalBufferInfoEXT> { using Type = ExportMetalBufferInfoEXT; }; #endif /*VK_USE_PLATFORM_METAL_EXT*/ #if defined( VK_USE_PLATFORM_METAL_EXT ) // wrapper struct for struct VkExportMetalCommandQueueInfoEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkExportMetalCommandQueueInfoEXT.html struct ExportMetalCommandQueueInfoEXT { using NativeType = VkExportMetalCommandQueueInfoEXT; static const bool allowDuplicate = true; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportMetalCommandQueueInfoEXT; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExportMetalCommandQueueInfoEXT( Queue queue_ = {}, MTLCommandQueue_id mtlCommandQueue_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , queue{ queue_ } , mtlCommandQueue{ mtlCommandQueue_ } { } VULKAN_HPP_CONSTEXPR ExportMetalCommandQueueInfoEXT( ExportMetalCommandQueueInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExportMetalCommandQueueInfoEXT( VkExportMetalCommandQueueInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : ExportMetalCommandQueueInfoEXT( *reinterpret_cast<ExportMetalCommandQueueInfoEXT const *>( &rhs ) ) { } ExportMetalCommandQueueInfoEXT & operator=( ExportMetalCommandQueueInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExportMetalCommandQueueInfoEXT & operator=( VkExportMetalCommandQueueInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExportMetalCommandQueueInfoEXT const *>( &rhs ); return *this; } # if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ExportMetalCommandQueueInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExportMetalCommandQueueInfoEXT & setQueue( Queue queue_ ) VULKAN_HPP_NOEXCEPT { queue = queue_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExportMetalCommandQueueInfoEXT & setMtlCommandQueue( MTLCommandQueue_id mtlCommandQueue_ ) VULKAN_HPP_NOEXCEPT { mtlCommandQueue = mtlCommandQueue_; return *this; } # endif /*VULKAN_HPP_NO_SETTERS*/ operator VkExportMetalCommandQueueInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExportMetalCommandQueueInfoEXT *>( this ); } operator VkExportMetalCommandQueueInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExportMetalCommandQueueInfoEXT *>( this ); } operator VkExportMetalCommandQueueInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExportMetalCommandQueueInfoEXT *>( this ); } operator VkExportMetalCommandQueueInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExportMetalCommandQueueInfoEXT *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Queue const &, MTLCommandQueue_id const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, queue, mtlCommandQueue ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExportMetalCommandQueueInfoEXT const & ) const = default; # else bool operator==( ExportMetalCommandQueueInfoEXT 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 ) && ( queue == rhs.queue ) && ( mtlCommandQueue == rhs.mtlCommandQueue ); # endif } bool operator!=( ExportMetalCommandQueueInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } # endif public: StructureType sType = StructureType::eExportMetalCommandQueueInfoEXT; const void * pNext = {}; Queue queue = {}; MTLCommandQueue_id mtlCommandQueue = {}; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExportMetalCommandQueueInfoEXT> { using Type = ExportMetalCommandQueueInfoEXT; }; # endif template <> struct CppType<StructureType, StructureType::eExportMetalCommandQueueInfoEXT> { using Type = ExportMetalCommandQueueInfoEXT; }; #endif /*VK_USE_PLATFORM_METAL_EXT*/ #if defined( VK_USE_PLATFORM_METAL_EXT ) // wrapper struct for struct VkExportMetalDeviceInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkExportMetalDeviceInfoEXT.html struct ExportMetalDeviceInfoEXT { using NativeType = VkExportMetalDeviceInfoEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportMetalDeviceInfoEXT; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExportMetalDeviceInfoEXT( MTLDevice_id mtlDevice_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , mtlDevice{ mtlDevice_ } { } VULKAN_HPP_CONSTEXPR ExportMetalDeviceInfoEXT( ExportMetalDeviceInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExportMetalDeviceInfoEXT( VkExportMetalDeviceInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : ExportMetalDeviceInfoEXT( *reinterpret_cast<ExportMetalDeviceInfoEXT const *>( &rhs ) ) { } ExportMetalDeviceInfoEXT & operator=( ExportMetalDeviceInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExportMetalDeviceInfoEXT & operator=( VkExportMetalDeviceInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExportMetalDeviceInfoEXT const *>( &rhs ); return *this; } # if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ExportMetalDeviceInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExportMetalDeviceInfoEXT & setMtlDevice( MTLDevice_id mtlDevice_ ) VULKAN_HPP_NOEXCEPT { mtlDevice = mtlDevice_; return *this; } # endif /*VULKAN_HPP_NO_SETTERS*/ operator VkExportMetalDeviceInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExportMetalDeviceInfoEXT *>( this ); } operator VkExportMetalDeviceInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExportMetalDeviceInfoEXT *>( this ); } operator VkExportMetalDeviceInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExportMetalDeviceInfoEXT *>( this ); } operator VkExportMetalDeviceInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExportMetalDeviceInfoEXT *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, MTLDevice_id const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, mtlDevice ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExportMetalDeviceInfoEXT const & ) const = default; # else bool operator==( ExportMetalDeviceInfoEXT 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 ) && ( mtlDevice == rhs.mtlDevice ); # endif } bool operator!=( ExportMetalDeviceInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } # endif public: StructureType sType = StructureType::eExportMetalDeviceInfoEXT; const void * pNext = {}; MTLDevice_id mtlDevice = {}; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExportMetalDeviceInfoEXT> { using Type = ExportMetalDeviceInfoEXT; }; # endif template <> struct CppType<StructureType, StructureType::eExportMetalDeviceInfoEXT> { using Type = ExportMetalDeviceInfoEXT; }; #endif /*VK_USE_PLATFORM_METAL_EXT*/ #if defined( VK_USE_PLATFORM_METAL_EXT ) // wrapper struct for struct VkExportMetalIOSurfaceInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkExportMetalIOSurfaceInfoEXT.html struct ExportMetalIOSurfaceInfoEXT { using NativeType = VkExportMetalIOSurfaceInfoEXT; static const bool allowDuplicate = true; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportMetalIoSurfaceInfoEXT; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExportMetalIOSurfaceInfoEXT( Image image_ = {}, IOSurfaceRef ioSurface_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , image{ image_ } , ioSurface{ ioSurface_ } { } VULKAN_HPP_CONSTEXPR ExportMetalIOSurfaceInfoEXT( ExportMetalIOSurfaceInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExportMetalIOSurfaceInfoEXT( VkExportMetalIOSurfaceInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : ExportMetalIOSurfaceInfoEXT( *reinterpret_cast<ExportMetalIOSurfaceInfoEXT const *>( &rhs ) ) { } ExportMetalIOSurfaceInfoEXT & operator=( ExportMetalIOSurfaceInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExportMetalIOSurfaceInfoEXT & operator=( VkExportMetalIOSurfaceInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExportMetalIOSurfaceInfoEXT const *>( &rhs ); return *this; } # if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ExportMetalIOSurfaceInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExportMetalIOSurfaceInfoEXT & setImage( Image image_ ) VULKAN_HPP_NOEXCEPT { image = image_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExportMetalIOSurfaceInfoEXT & setIoSurface( IOSurfaceRef ioSurface_ ) VULKAN_HPP_NOEXCEPT { ioSurface = ioSurface_; return *this; } # endif /*VULKAN_HPP_NO_SETTERS*/ operator VkExportMetalIOSurfaceInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExportMetalIOSurfaceInfoEXT *>( this ); } operator VkExportMetalIOSurfaceInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExportMetalIOSurfaceInfoEXT *>( this ); } operator VkExportMetalIOSurfaceInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExportMetalIOSurfaceInfoEXT *>( this ); } operator VkExportMetalIOSurfaceInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExportMetalIOSurfaceInfoEXT *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Image const &, IOSurfaceRef const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, image, ioSurface ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExportMetalIOSurfaceInfoEXT const & ) const = default; # else bool operator==( ExportMetalIOSurfaceInfoEXT 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 ) && ( image == rhs.image ) && ( ioSurface == rhs.ioSurface ); # endif } bool operator!=( ExportMetalIOSurfaceInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } # endif public: StructureType sType = StructureType::eExportMetalIoSurfaceInfoEXT; const void * pNext = {}; Image image = {}; IOSurfaceRef ioSurface = {}; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExportMetalIOSurfaceInfoEXT> { using Type = ExportMetalIOSurfaceInfoEXT; }; # endif template <> struct CppType<StructureType, StructureType::eExportMetalIoSurfaceInfoEXT> { using Type = ExportMetalIOSurfaceInfoEXT; }; #endif /*VK_USE_PLATFORM_METAL_EXT*/ #if defined( VK_USE_PLATFORM_METAL_EXT ) // wrapper struct for struct VkExportMetalObjectCreateInfoEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkExportMetalObjectCreateInfoEXT.html struct ExportMetalObjectCreateInfoEXT { using NativeType = VkExportMetalObjectCreateInfoEXT; static const bool allowDuplicate = true; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportMetalObjectCreateInfoEXT; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExportMetalObjectCreateInfoEXT( ExportMetalObjectTypeFlagBitsEXT exportObjectType_ = ExportMetalObjectTypeFlagBitsEXT::eMetalDevice, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , exportObjectType{ exportObjectType_ } { } VULKAN_HPP_CONSTEXPR ExportMetalObjectCreateInfoEXT( ExportMetalObjectCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExportMetalObjectCreateInfoEXT( VkExportMetalObjectCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : ExportMetalObjectCreateInfoEXT( *reinterpret_cast<ExportMetalObjectCreateInfoEXT const *>( &rhs ) ) { } ExportMetalObjectCreateInfoEXT & operator=( ExportMetalObjectCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExportMetalObjectCreateInfoEXT & operator=( VkExportMetalObjectCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExportMetalObjectCreateInfoEXT const *>( &rhs ); return *this; } # if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ExportMetalObjectCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExportMetalObjectCreateInfoEXT & setExportObjectType( ExportMetalObjectTypeFlagBitsEXT exportObjectType_ ) VULKAN_HPP_NOEXCEPT { exportObjectType = exportObjectType_; return *this; } # endif /*VULKAN_HPP_NO_SETTERS*/ operator VkExportMetalObjectCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExportMetalObjectCreateInfoEXT *>( this ); } operator VkExportMetalObjectCreateInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExportMetalObjectCreateInfoEXT *>( this ); } operator VkExportMetalObjectCreateInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExportMetalObjectCreateInfoEXT *>( this ); } operator VkExportMetalObjectCreateInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExportMetalObjectCreateInfoEXT *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, ExportMetalObjectTypeFlagBitsEXT const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, exportObjectType ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExportMetalObjectCreateInfoEXT const & ) const = default; # else bool operator==( ExportMetalObjectCreateInfoEXT 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 ) && ( exportObjectType == rhs.exportObjectType ); # endif } bool operator!=( ExportMetalObjectCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } # endif public: StructureType sType = StructureType::eExportMetalObjectCreateInfoEXT; const void * pNext = {}; ExportMetalObjectTypeFlagBitsEXT exportObjectType = ExportMetalObjectTypeFlagBitsEXT::eMetalDevice; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExportMetalObjectCreateInfoEXT> { using Type = ExportMetalObjectCreateInfoEXT; }; # endif template <> struct CppType<StructureType, StructureType::eExportMetalObjectCreateInfoEXT> { using Type = ExportMetalObjectCreateInfoEXT; }; #endif /*VK_USE_PLATFORM_METAL_EXT*/ #if defined( VK_USE_PLATFORM_METAL_EXT ) // wrapper struct for struct VkExportMetalObjectsInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkExportMetalObjectsInfoEXT.html struct ExportMetalObjectsInfoEXT { using NativeType = VkExportMetalObjectsInfoEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportMetalObjectsInfoEXT; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExportMetalObjectsInfoEXT( const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } {} VULKAN_HPP_CONSTEXPR ExportMetalObjectsInfoEXT( ExportMetalObjectsInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExportMetalObjectsInfoEXT( VkExportMetalObjectsInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : ExportMetalObjectsInfoEXT( *reinterpret_cast<ExportMetalObjectsInfoEXT const *>( &rhs ) ) { } ExportMetalObjectsInfoEXT & operator=( ExportMetalObjectsInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExportMetalObjectsInfoEXT & operator=( VkExportMetalObjectsInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExportMetalObjectsInfoEXT const *>( &rhs ); return *this; } # if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ExportMetalObjectsInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } # endif /*VULKAN_HPP_NO_SETTERS*/ operator VkExportMetalObjectsInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExportMetalObjectsInfoEXT *>( this ); } operator VkExportMetalObjectsInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExportMetalObjectsInfoEXT *>( this ); } operator VkExportMetalObjectsInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExportMetalObjectsInfoEXT *>( this ); } operator VkExportMetalObjectsInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExportMetalObjectsInfoEXT *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExportMetalObjectsInfoEXT const & ) const = default; # else bool operator==( ExportMetalObjectsInfoEXT 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 ); # endif } bool operator!=( ExportMetalObjectsInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } # endif public: StructureType sType = StructureType::eExportMetalObjectsInfoEXT; const void * pNext = {}; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExportMetalObjectsInfoEXT> { using Type = ExportMetalObjectsInfoEXT; }; # endif template <> struct CppType<StructureType, StructureType::eExportMetalObjectsInfoEXT> { using Type = ExportMetalObjectsInfoEXT; }; #endif /*VK_USE_PLATFORM_METAL_EXT*/ #if defined( VK_USE_PLATFORM_METAL_EXT ) // wrapper struct for struct VkExportMetalSharedEventInfoEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkExportMetalSharedEventInfoEXT.html struct ExportMetalSharedEventInfoEXT { using NativeType = VkExportMetalSharedEventInfoEXT; static const bool allowDuplicate = true; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportMetalSharedEventInfoEXT; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExportMetalSharedEventInfoEXT( Semaphore semaphore_ = {}, Event event_ = {}, MTLSharedEvent_id mtlSharedEvent_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , semaphore{ semaphore_ } , event{ event_ } , mtlSharedEvent{ mtlSharedEvent_ } { } VULKAN_HPP_CONSTEXPR ExportMetalSharedEventInfoEXT( ExportMetalSharedEventInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExportMetalSharedEventInfoEXT( VkExportMetalSharedEventInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : ExportMetalSharedEventInfoEXT( *reinterpret_cast<ExportMetalSharedEventInfoEXT const *>( &rhs ) ) { } ExportMetalSharedEventInfoEXT & operator=( ExportMetalSharedEventInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExportMetalSharedEventInfoEXT & operator=( VkExportMetalSharedEventInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExportMetalSharedEventInfoEXT const *>( &rhs ); return *this; } # if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ExportMetalSharedEventInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExportMetalSharedEventInfoEXT & setSemaphore( Semaphore semaphore_ ) VULKAN_HPP_NOEXCEPT { semaphore = semaphore_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExportMetalSharedEventInfoEXT & setEvent( Event event_ ) VULKAN_HPP_NOEXCEPT { event = event_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExportMetalSharedEventInfoEXT & setMtlSharedEvent( MTLSharedEvent_id mtlSharedEvent_ ) VULKAN_HPP_NOEXCEPT { mtlSharedEvent = mtlSharedEvent_; return *this; } # endif /*VULKAN_HPP_NO_SETTERS*/ operator VkExportMetalSharedEventInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExportMetalSharedEventInfoEXT *>( this ); } operator VkExportMetalSharedEventInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExportMetalSharedEventInfoEXT *>( this ); } operator VkExportMetalSharedEventInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExportMetalSharedEventInfoEXT *>( this ); } operator VkExportMetalSharedEventInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExportMetalSharedEventInfoEXT *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Semaphore const &, Event const &, MTLSharedEvent_id const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, semaphore, event, mtlSharedEvent ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExportMetalSharedEventInfoEXT const & ) const = default; # else bool operator==( ExportMetalSharedEventInfoEXT 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 ) && ( semaphore == rhs.semaphore ) && ( event == rhs.event ) && ( mtlSharedEvent == rhs.mtlSharedEvent ); # endif } bool operator!=( ExportMetalSharedEventInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } # endif public: StructureType sType = StructureType::eExportMetalSharedEventInfoEXT; const void * pNext = {}; Semaphore semaphore = {}; Event event = {}; MTLSharedEvent_id mtlSharedEvent = {}; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExportMetalSharedEventInfoEXT> { using Type = ExportMetalSharedEventInfoEXT; }; # endif template <> struct CppType<StructureType, StructureType::eExportMetalSharedEventInfoEXT> { using Type = ExportMetalSharedEventInfoEXT; }; #endif /*VK_USE_PLATFORM_METAL_EXT*/ #if defined( VK_USE_PLATFORM_METAL_EXT ) // wrapper struct for struct VkExportMetalTextureInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkExportMetalTextureInfoEXT.html struct ExportMetalTextureInfoEXT { using NativeType = VkExportMetalTextureInfoEXT; static const bool allowDuplicate = true; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportMetalTextureInfoEXT; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExportMetalTextureInfoEXT( Image image_ = {}, ImageView imageView_ = {}, BufferView bufferView_ = {}, ImageAspectFlagBits plane_ = ImageAspectFlagBits::eColor, MTLTexture_id mtlTexture_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , image{ image_ } , imageView{ imageView_ } , bufferView{ bufferView_ } , plane{ plane_ } , mtlTexture{ mtlTexture_ } { } VULKAN_HPP_CONSTEXPR ExportMetalTextureInfoEXT( ExportMetalTextureInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExportMetalTextureInfoEXT( VkExportMetalTextureInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : ExportMetalTextureInfoEXT( *reinterpret_cast<ExportMetalTextureInfoEXT const *>( &rhs ) ) { } ExportMetalTextureInfoEXT & operator=( ExportMetalTextureInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExportMetalTextureInfoEXT & operator=( VkExportMetalTextureInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExportMetalTextureInfoEXT const *>( &rhs ); return *this; } # if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ExportMetalTextureInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExportMetalTextureInfoEXT & setImage( Image image_ ) VULKAN_HPP_NOEXCEPT { image = image_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExportMetalTextureInfoEXT & setImageView( ImageView imageView_ ) VULKAN_HPP_NOEXCEPT { imageView = imageView_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExportMetalTextureInfoEXT & setBufferView( BufferView bufferView_ ) VULKAN_HPP_NOEXCEPT { bufferView = bufferView_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExportMetalTextureInfoEXT & setPlane( ImageAspectFlagBits plane_ ) VULKAN_HPP_NOEXCEPT { plane = plane_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExportMetalTextureInfoEXT & setMtlTexture( MTLTexture_id mtlTexture_ ) VULKAN_HPP_NOEXCEPT { mtlTexture = mtlTexture_; return *this; } # endif /*VULKAN_HPP_NO_SETTERS*/ operator VkExportMetalTextureInfoEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExportMetalTextureInfoEXT *>( this ); } operator VkExportMetalTextureInfoEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExportMetalTextureInfoEXT *>( this ); } operator VkExportMetalTextureInfoEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExportMetalTextureInfoEXT *>( this ); } operator VkExportMetalTextureInfoEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExportMetalTextureInfoEXT *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Image const &, ImageView const &, BufferView const &, ImageAspectFlagBits const &, MTLTexture_id const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, image, imageView, bufferView, plane, mtlTexture ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExportMetalTextureInfoEXT const & ) const = default; # else bool operator==( ExportMetalTextureInfoEXT 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 ) && ( image == rhs.image ) && ( imageView == rhs.imageView ) && ( bufferView == rhs.bufferView ) && ( plane == rhs.plane ) && ( mtlTexture == rhs.mtlTexture ); # endif } bool operator!=( ExportMetalTextureInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } # endif public: StructureType sType = StructureType::eExportMetalTextureInfoEXT; const void * pNext = {}; Image image = {}; ImageView imageView = {}; BufferView bufferView = {}; ImageAspectFlagBits plane = ImageAspectFlagBits::eColor; MTLTexture_id mtlTexture = {}; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExportMetalTextureInfoEXT> { using Type = ExportMetalTextureInfoEXT; }; # endif template <> struct CppType<StructureType, StructureType::eExportMetalTextureInfoEXT> { using Type = ExportMetalTextureInfoEXT; }; #endif /*VK_USE_PLATFORM_METAL_EXT*/ // wrapper struct for struct VkExportSemaphoreCreateInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkExportSemaphoreCreateInfo.html struct ExportSemaphoreCreateInfo { using NativeType = VkExportSemaphoreCreateInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportSemaphoreCreateInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExportSemaphoreCreateInfo( ExternalSemaphoreHandleTypeFlags handleTypes_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , handleTypes{ handleTypes_ } { } VULKAN_HPP_CONSTEXPR ExportSemaphoreCreateInfo( ExportSemaphoreCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExportSemaphoreCreateInfo( VkExportSemaphoreCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : ExportSemaphoreCreateInfo( *reinterpret_cast<ExportSemaphoreCreateInfo const *>( &rhs ) ) { } ExportSemaphoreCreateInfo & operator=( ExportSemaphoreCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExportSemaphoreCreateInfo & operator=( VkExportSemaphoreCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExportSemaphoreCreateInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ExportSemaphoreCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExportSemaphoreCreateInfo & setHandleTypes( ExternalSemaphoreHandleTypeFlags handleTypes_ ) VULKAN_HPP_NOEXCEPT { handleTypes = handleTypes_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkExportSemaphoreCreateInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExportSemaphoreCreateInfo *>( this ); } operator VkExportSemaphoreCreateInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExportSemaphoreCreateInfo *>( this ); } operator VkExportSemaphoreCreateInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExportSemaphoreCreateInfo *>( this ); } operator VkExportSemaphoreCreateInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExportSemaphoreCreateInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, ExternalSemaphoreHandleTypeFlags const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, handleTypes ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExportSemaphoreCreateInfo const & ) const = default; #else bool operator==( ExportSemaphoreCreateInfo 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 ) && ( handleTypes == rhs.handleTypes ); # endif } bool operator!=( ExportSemaphoreCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eExportSemaphoreCreateInfo; const void * pNext = {}; ExternalSemaphoreHandleTypeFlags handleTypes = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExportSemaphoreCreateInfo> { using Type = ExportSemaphoreCreateInfo; }; #endif template <> struct CppType<StructureType, StructureType::eExportSemaphoreCreateInfo> { using Type = ExportSemaphoreCreateInfo; }; using ExportSemaphoreCreateInfoKHR = ExportSemaphoreCreateInfo; #if defined( VK_USE_PLATFORM_WIN32_KHR ) // wrapper struct for struct VkExportSemaphoreWin32HandleInfoKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkExportSemaphoreWin32HandleInfoKHR.html struct ExportSemaphoreWin32HandleInfoKHR { using NativeType = VkExportSemaphoreWin32HandleInfoKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportSemaphoreWin32HandleInfoKHR; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExportSemaphoreWin32HandleInfoKHR( const SECURITY_ATTRIBUTES * pAttributes_ = {}, DWORD dwAccess_ = {}, LPCWSTR name_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , pAttributes{ pAttributes_ } , dwAccess{ dwAccess_ } , name{ name_ } { } VULKAN_HPP_CONSTEXPR ExportSemaphoreWin32HandleInfoKHR( ExportSemaphoreWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExportSemaphoreWin32HandleInfoKHR( VkExportSemaphoreWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : ExportSemaphoreWin32HandleInfoKHR( *reinterpret_cast<ExportSemaphoreWin32HandleInfoKHR const *>( &rhs ) ) { } ExportSemaphoreWin32HandleInfoKHR & operator=( ExportSemaphoreWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExportSemaphoreWin32HandleInfoKHR & operator=( VkExportSemaphoreWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExportSemaphoreWin32HandleInfoKHR const *>( &rhs ); return *this; } # if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ExportSemaphoreWin32HandleInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExportSemaphoreWin32HandleInfoKHR & setPAttributes( const SECURITY_ATTRIBUTES * pAttributes_ ) VULKAN_HPP_NOEXCEPT { pAttributes = pAttributes_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExportSemaphoreWin32HandleInfoKHR & setDwAccess( DWORD dwAccess_ ) VULKAN_HPP_NOEXCEPT { dwAccess = dwAccess_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExportSemaphoreWin32HandleInfoKHR & setName( LPCWSTR name_ ) VULKAN_HPP_NOEXCEPT { name = name_; return *this; } # endif /*VULKAN_HPP_NO_SETTERS*/ operator VkExportSemaphoreWin32HandleInfoKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExportSemaphoreWin32HandleInfoKHR *>( this ); } operator VkExportSemaphoreWin32HandleInfoKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExportSemaphoreWin32HandleInfoKHR *>( this ); } operator VkExportSemaphoreWin32HandleInfoKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExportSemaphoreWin32HandleInfoKHR *>( this ); } operator VkExportSemaphoreWin32HandleInfoKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExportSemaphoreWin32HandleInfoKHR *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, const SECURITY_ATTRIBUTES * const &, DWORD const &, LPCWSTR const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, pAttributes, dwAccess, name ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExportSemaphoreWin32HandleInfoKHR const & ) const = default; # else bool operator==( ExportSemaphoreWin32HandleInfoKHR 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 ) && ( pAttributes == rhs.pAttributes ) && ( dwAccess == rhs.dwAccess ) && ( name == rhs.name ); # endif } bool operator!=( ExportSemaphoreWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } # endif public: StructureType sType = StructureType::eExportSemaphoreWin32HandleInfoKHR; const void * pNext = {}; const SECURITY_ATTRIBUTES * pAttributes = {}; DWORD dwAccess = {}; LPCWSTR name = {}; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExportSemaphoreWin32HandleInfoKHR> { using Type = ExportSemaphoreWin32HandleInfoKHR; }; # endif template <> struct CppType<StructureType, StructureType::eExportSemaphoreWin32HandleInfoKHR> { using Type = ExportSemaphoreWin32HandleInfoKHR; }; #endif /*VK_USE_PLATFORM_WIN32_KHR*/ // wrapper struct for struct VkExtensionProperties, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkExtensionProperties.html struct ExtensionProperties { using NativeType = VkExtensionProperties; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR_14 ExtensionProperties( std::array<char, VK_MAX_EXTENSION_NAME_SIZE> const & extensionName_ = {}, uint32_t specVersion_ = {} ) VULKAN_HPP_NOEXCEPT : extensionName{ extensionName_ } , specVersion{ specVersion_ } { } VULKAN_HPP_CONSTEXPR_14 ExtensionProperties( ExtensionProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExtensionProperties( VkExtensionProperties const & rhs ) VULKAN_HPP_NOEXCEPT : ExtensionProperties( *reinterpret_cast<ExtensionProperties const *>( &rhs ) ) { } ExtensionProperties & operator=( ExtensionProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExtensionProperties & operator=( VkExtensionProperties const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExtensionProperties const *>( &rhs ); return *this; } operator VkExtensionProperties const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExtensionProperties *>( this ); } operator VkExtensionProperties &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExtensionProperties *>( this ); } operator VkExtensionProperties const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExtensionProperties *>( this ); } operator VkExtensionProperties *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExtensionProperties *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<ArrayWrapper1D<char, VK_MAX_EXTENSION_NAME_SIZE> const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( extensionName, specVersion ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) std::strong_ordering operator<=>( ExtensionProperties const & rhs ) const VULKAN_HPP_NOEXCEPT { if ( auto cmp = strcmp( extensionName, rhs.extensionName ); cmp != 0 ) return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater; if ( auto cmp = specVersion <=> rhs.specVersion; cmp != 0 ) return cmp; return std::strong_ordering::equivalent; } #endif bool operator==( ExtensionProperties const & rhs ) const VULKAN_HPP_NOEXCEPT { return ( strcmp( extensionName, rhs.extensionName ) == 0 ) && ( specVersion == rhs.specVersion ); } bool operator!=( ExtensionProperties const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } public: ArrayWrapper1D<char, VK_MAX_EXTENSION_NAME_SIZE> extensionName = {}; uint32_t specVersion = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExtensionProperties> { using Type = ExtensionProperties; }; #endif // wrapper struct for struct VkExternalMemoryProperties, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalMemoryProperties.html struct ExternalMemoryProperties { using NativeType = VkExternalMemoryProperties; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExternalMemoryProperties( ExternalMemoryFeatureFlags externalMemoryFeatures_ = {}, ExternalMemoryHandleTypeFlags exportFromImportedHandleTypes_ = {}, ExternalMemoryHandleTypeFlags compatibleHandleTypes_ = {} ) VULKAN_HPP_NOEXCEPT : externalMemoryFeatures{ externalMemoryFeatures_ } , exportFromImportedHandleTypes{ exportFromImportedHandleTypes_ } , compatibleHandleTypes{ compatibleHandleTypes_ } { } VULKAN_HPP_CONSTEXPR ExternalMemoryProperties( ExternalMemoryProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExternalMemoryProperties( VkExternalMemoryProperties const & rhs ) VULKAN_HPP_NOEXCEPT : ExternalMemoryProperties( *reinterpret_cast<ExternalMemoryProperties const *>( &rhs ) ) { } ExternalMemoryProperties & operator=( ExternalMemoryProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExternalMemoryProperties & operator=( VkExternalMemoryProperties const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExternalMemoryProperties const *>( &rhs ); return *this; } operator VkExternalMemoryProperties const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExternalMemoryProperties *>( this ); } operator VkExternalMemoryProperties &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExternalMemoryProperties *>( this ); } operator VkExternalMemoryProperties const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExternalMemoryProperties *>( this ); } operator VkExternalMemoryProperties *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExternalMemoryProperties *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<ExternalMemoryFeatureFlags const &, ExternalMemoryHandleTypeFlags const &, ExternalMemoryHandleTypeFlags const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( externalMemoryFeatures, exportFromImportedHandleTypes, compatibleHandleTypes ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExternalMemoryProperties const & ) const = default; #else bool operator==( ExternalMemoryProperties const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( externalMemoryFeatures == rhs.externalMemoryFeatures ) && ( exportFromImportedHandleTypes == rhs.exportFromImportedHandleTypes ) && ( compatibleHandleTypes == rhs.compatibleHandleTypes ); # endif } bool operator!=( ExternalMemoryProperties const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: ExternalMemoryFeatureFlags externalMemoryFeatures = {}; ExternalMemoryHandleTypeFlags exportFromImportedHandleTypes = {}; ExternalMemoryHandleTypeFlags compatibleHandleTypes = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExternalMemoryProperties> { using Type = ExternalMemoryProperties; }; #endif using ExternalMemoryPropertiesKHR = ExternalMemoryProperties; // wrapper struct for struct VkExternalBufferProperties, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalBufferProperties.html struct ExternalBufferProperties { using NativeType = VkExternalBufferProperties; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalBufferProperties; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExternalBufferProperties( ExternalMemoryProperties externalMemoryProperties_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , externalMemoryProperties{ externalMemoryProperties_ } { } VULKAN_HPP_CONSTEXPR ExternalBufferProperties( ExternalBufferProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExternalBufferProperties( VkExternalBufferProperties const & rhs ) VULKAN_HPP_NOEXCEPT : ExternalBufferProperties( *reinterpret_cast<ExternalBufferProperties const *>( &rhs ) ) { } ExternalBufferProperties & operator=( ExternalBufferProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExternalBufferProperties & operator=( VkExternalBufferProperties const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExternalBufferProperties const *>( &rhs ); return *this; } operator VkExternalBufferProperties const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExternalBufferProperties *>( this ); } operator VkExternalBufferProperties &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExternalBufferProperties *>( this ); } operator VkExternalBufferProperties const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExternalBufferProperties *>( this ); } operator VkExternalBufferProperties *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExternalBufferProperties *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, ExternalMemoryProperties const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, externalMemoryProperties ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExternalBufferProperties const & ) const = default; #else bool operator==( ExternalBufferProperties 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 ) && ( externalMemoryProperties == rhs.externalMemoryProperties ); # endif } bool operator!=( ExternalBufferProperties const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eExternalBufferProperties; void * pNext = {}; ExternalMemoryProperties externalMemoryProperties = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExternalBufferProperties> { using Type = ExternalBufferProperties; }; #endif template <> struct CppType<StructureType, StructureType::eExternalBufferProperties> { using Type = ExternalBufferProperties; }; using ExternalBufferPropertiesKHR = ExternalBufferProperties; // wrapper struct for struct VkExternalComputeQueueCreateInfoNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalComputeQueueCreateInfoNV.html struct ExternalComputeQueueCreateInfoNV { using NativeType = VkExternalComputeQueueCreateInfoNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalComputeQueueCreateInfoNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExternalComputeQueueCreateInfoNV( Queue preferredQueue_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , preferredQueue{ preferredQueue_ } { } VULKAN_HPP_CONSTEXPR ExternalComputeQueueCreateInfoNV( ExternalComputeQueueCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExternalComputeQueueCreateInfoNV( VkExternalComputeQueueCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT : ExternalComputeQueueCreateInfoNV( *reinterpret_cast<ExternalComputeQueueCreateInfoNV const *>( &rhs ) ) { } ExternalComputeQueueCreateInfoNV & operator=( ExternalComputeQueueCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExternalComputeQueueCreateInfoNV & operator=( VkExternalComputeQueueCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExternalComputeQueueCreateInfoNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ExternalComputeQueueCreateInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExternalComputeQueueCreateInfoNV & setPreferredQueue( Queue preferredQueue_ ) VULKAN_HPP_NOEXCEPT { preferredQueue = preferredQueue_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkExternalComputeQueueCreateInfoNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExternalComputeQueueCreateInfoNV *>( this ); } operator VkExternalComputeQueueCreateInfoNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExternalComputeQueueCreateInfoNV *>( this ); } operator VkExternalComputeQueueCreateInfoNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExternalComputeQueueCreateInfoNV *>( this ); } operator VkExternalComputeQueueCreateInfoNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExternalComputeQueueCreateInfoNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Queue const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, preferredQueue ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExternalComputeQueueCreateInfoNV const & ) const = default; #else bool operator==( ExternalComputeQueueCreateInfoNV 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 ) && ( preferredQueue == rhs.preferredQueue ); # endif } bool operator!=( ExternalComputeQueueCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eExternalComputeQueueCreateInfoNV; const void * pNext = {}; Queue preferredQueue = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExternalComputeQueueCreateInfoNV> { using Type = ExternalComputeQueueCreateInfoNV; }; #endif template <> struct CppType<StructureType, StructureType::eExternalComputeQueueCreateInfoNV> { using Type = ExternalComputeQueueCreateInfoNV; }; // wrapper struct for struct VkExternalComputeQueueDataParamsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalComputeQueueDataParamsNV.html struct ExternalComputeQueueDataParamsNV { using NativeType = VkExternalComputeQueueDataParamsNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalComputeQueueDataParamsNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExternalComputeQueueDataParamsNV( uint32_t deviceIndex_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , deviceIndex{ deviceIndex_ } { } VULKAN_HPP_CONSTEXPR ExternalComputeQueueDataParamsNV( ExternalComputeQueueDataParamsNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExternalComputeQueueDataParamsNV( VkExternalComputeQueueDataParamsNV const & rhs ) VULKAN_HPP_NOEXCEPT : ExternalComputeQueueDataParamsNV( *reinterpret_cast<ExternalComputeQueueDataParamsNV const *>( &rhs ) ) { } ExternalComputeQueueDataParamsNV & operator=( ExternalComputeQueueDataParamsNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExternalComputeQueueDataParamsNV & operator=( VkExternalComputeQueueDataParamsNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExternalComputeQueueDataParamsNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ExternalComputeQueueDataParamsNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExternalComputeQueueDataParamsNV & setDeviceIndex( uint32_t deviceIndex_ ) VULKAN_HPP_NOEXCEPT { deviceIndex = deviceIndex_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkExternalComputeQueueDataParamsNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExternalComputeQueueDataParamsNV *>( this ); } operator VkExternalComputeQueueDataParamsNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExternalComputeQueueDataParamsNV *>( this ); } operator VkExternalComputeQueueDataParamsNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExternalComputeQueueDataParamsNV *>( this ); } operator VkExternalComputeQueueDataParamsNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExternalComputeQueueDataParamsNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, deviceIndex ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExternalComputeQueueDataParamsNV const & ) const = default; #else bool operator==( ExternalComputeQueueDataParamsNV 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 ) && ( deviceIndex == rhs.deviceIndex ); # endif } bool operator!=( ExternalComputeQueueDataParamsNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eExternalComputeQueueDataParamsNV; const void * pNext = {}; uint32_t deviceIndex = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExternalComputeQueueDataParamsNV> { using Type = ExternalComputeQueueDataParamsNV; }; #endif template <> struct CppType<StructureType, StructureType::eExternalComputeQueueDataParamsNV> { using Type = ExternalComputeQueueDataParamsNV; }; // wrapper struct for struct VkExternalComputeQueueDeviceCreateInfoNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalComputeQueueDeviceCreateInfoNV.html struct ExternalComputeQueueDeviceCreateInfoNV { using NativeType = VkExternalComputeQueueDeviceCreateInfoNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalComputeQueueDeviceCreateInfoNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExternalComputeQueueDeviceCreateInfoNV( uint32_t reservedExternalQueues_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , reservedExternalQueues{ reservedExternalQueues_ } { } VULKAN_HPP_CONSTEXPR ExternalComputeQueueDeviceCreateInfoNV( ExternalComputeQueueDeviceCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExternalComputeQueueDeviceCreateInfoNV( VkExternalComputeQueueDeviceCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT : ExternalComputeQueueDeviceCreateInfoNV( *reinterpret_cast<ExternalComputeQueueDeviceCreateInfoNV const *>( &rhs ) ) { } ExternalComputeQueueDeviceCreateInfoNV & operator=( ExternalComputeQueueDeviceCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExternalComputeQueueDeviceCreateInfoNV & operator=( VkExternalComputeQueueDeviceCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExternalComputeQueueDeviceCreateInfoNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ExternalComputeQueueDeviceCreateInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExternalComputeQueueDeviceCreateInfoNV & setReservedExternalQueues( uint32_t reservedExternalQueues_ ) VULKAN_HPP_NOEXCEPT { reservedExternalQueues = reservedExternalQueues_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkExternalComputeQueueDeviceCreateInfoNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExternalComputeQueueDeviceCreateInfoNV *>( this ); } operator VkExternalComputeQueueDeviceCreateInfoNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExternalComputeQueueDeviceCreateInfoNV *>( this ); } operator VkExternalComputeQueueDeviceCreateInfoNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExternalComputeQueueDeviceCreateInfoNV *>( this ); } operator VkExternalComputeQueueDeviceCreateInfoNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExternalComputeQueueDeviceCreateInfoNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, reservedExternalQueues ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExternalComputeQueueDeviceCreateInfoNV const & ) const = default; #else bool operator==( ExternalComputeQueueDeviceCreateInfoNV 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 ) && ( reservedExternalQueues == rhs.reservedExternalQueues ); # endif } bool operator!=( ExternalComputeQueueDeviceCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eExternalComputeQueueDeviceCreateInfoNV; const void * pNext = {}; uint32_t reservedExternalQueues = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExternalComputeQueueDeviceCreateInfoNV> { using Type = ExternalComputeQueueDeviceCreateInfoNV; }; #endif template <> struct CppType<StructureType, StructureType::eExternalComputeQueueDeviceCreateInfoNV> { using Type = ExternalComputeQueueDeviceCreateInfoNV; }; // wrapper struct for struct VkExternalFenceProperties, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalFenceProperties.html struct ExternalFenceProperties { using NativeType = VkExternalFenceProperties; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalFenceProperties; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExternalFenceProperties( ExternalFenceHandleTypeFlags exportFromImportedHandleTypes_ = {}, ExternalFenceHandleTypeFlags compatibleHandleTypes_ = {}, ExternalFenceFeatureFlags externalFenceFeatures_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , exportFromImportedHandleTypes{ exportFromImportedHandleTypes_ } , compatibleHandleTypes{ compatibleHandleTypes_ } , externalFenceFeatures{ externalFenceFeatures_ } { } VULKAN_HPP_CONSTEXPR ExternalFenceProperties( ExternalFenceProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExternalFenceProperties( VkExternalFenceProperties const & rhs ) VULKAN_HPP_NOEXCEPT : ExternalFenceProperties( *reinterpret_cast<ExternalFenceProperties const *>( &rhs ) ) { } ExternalFenceProperties & operator=( ExternalFenceProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExternalFenceProperties & operator=( VkExternalFenceProperties const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExternalFenceProperties const *>( &rhs ); return *this; } operator VkExternalFenceProperties const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExternalFenceProperties *>( this ); } operator VkExternalFenceProperties &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExternalFenceProperties *>( this ); } operator VkExternalFenceProperties const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExternalFenceProperties *>( this ); } operator VkExternalFenceProperties *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExternalFenceProperties *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, ExternalFenceHandleTypeFlags const &, ExternalFenceHandleTypeFlags const &, ExternalFenceFeatureFlags const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, exportFromImportedHandleTypes, compatibleHandleTypes, externalFenceFeatures ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExternalFenceProperties const & ) const = default; #else bool operator==( ExternalFenceProperties 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 ) && ( exportFromImportedHandleTypes == rhs.exportFromImportedHandleTypes ) && ( compatibleHandleTypes == rhs.compatibleHandleTypes ) && ( externalFenceFeatures == rhs.externalFenceFeatures ); # endif } bool operator!=( ExternalFenceProperties const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eExternalFenceProperties; void * pNext = {}; ExternalFenceHandleTypeFlags exportFromImportedHandleTypes = {}; ExternalFenceHandleTypeFlags compatibleHandleTypes = {}; ExternalFenceFeatureFlags externalFenceFeatures = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExternalFenceProperties> { using Type = ExternalFenceProperties; }; #endif template <> struct CppType<StructureType, StructureType::eExternalFenceProperties> { using Type = ExternalFenceProperties; }; using ExternalFencePropertiesKHR = ExternalFenceProperties; #if defined( VK_USE_PLATFORM_ANDROID_KHR ) // wrapper struct for struct VkExternalFormatANDROID, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalFormatANDROID.html struct ExternalFormatANDROID { using NativeType = VkExternalFormatANDROID; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalFormatANDROID; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExternalFormatANDROID( uint64_t externalFormat_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , externalFormat{ externalFormat_ } { } VULKAN_HPP_CONSTEXPR ExternalFormatANDROID( ExternalFormatANDROID const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExternalFormatANDROID( VkExternalFormatANDROID const & rhs ) VULKAN_HPP_NOEXCEPT : ExternalFormatANDROID( *reinterpret_cast<ExternalFormatANDROID const *>( &rhs ) ) { } ExternalFormatANDROID & operator=( ExternalFormatANDROID const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExternalFormatANDROID & operator=( VkExternalFormatANDROID const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExternalFormatANDROID const *>( &rhs ); return *this; } # if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ExternalFormatANDROID & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExternalFormatANDROID & setExternalFormat( uint64_t externalFormat_ ) VULKAN_HPP_NOEXCEPT { externalFormat = externalFormat_; return *this; } # endif /*VULKAN_HPP_NO_SETTERS*/ operator VkExternalFormatANDROID const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExternalFormatANDROID *>( this ); } operator VkExternalFormatANDROID &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExternalFormatANDROID *>( this ); } operator VkExternalFormatANDROID const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExternalFormatANDROID *>( this ); } operator VkExternalFormatANDROID *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExternalFormatANDROID *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, uint64_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, externalFormat ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExternalFormatANDROID const & ) const = default; # else bool operator==( ExternalFormatANDROID 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 ) && ( externalFormat == rhs.externalFormat ); # endif } bool operator!=( ExternalFormatANDROID const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } # endif public: StructureType sType = StructureType::eExternalFormatANDROID; void * pNext = {}; uint64_t externalFormat = {}; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExternalFormatANDROID> { using Type = ExternalFormatANDROID; }; # endif template <> struct CppType<StructureType, StructureType::eExternalFormatANDROID> { using Type = ExternalFormatANDROID; }; #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ #if defined( VK_USE_PLATFORM_SCREEN_QNX ) // wrapper struct for struct VkExternalFormatQNX, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalFormatQNX.html struct ExternalFormatQNX { using NativeType = VkExternalFormatQNX; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalFormatQNX; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExternalFormatQNX( uint64_t externalFormat_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , externalFormat{ externalFormat_ } { } VULKAN_HPP_CONSTEXPR ExternalFormatQNX( ExternalFormatQNX const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExternalFormatQNX( VkExternalFormatQNX const & rhs ) VULKAN_HPP_NOEXCEPT : ExternalFormatQNX( *reinterpret_cast<ExternalFormatQNX const *>( &rhs ) ) {} ExternalFormatQNX & operator=( ExternalFormatQNX const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExternalFormatQNX & operator=( VkExternalFormatQNX const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExternalFormatQNX const *>( &rhs ); return *this; } # if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ExternalFormatQNX & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExternalFormatQNX & setExternalFormat( uint64_t externalFormat_ ) VULKAN_HPP_NOEXCEPT { externalFormat = externalFormat_; return *this; } # endif /*VULKAN_HPP_NO_SETTERS*/ operator VkExternalFormatQNX const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExternalFormatQNX *>( this ); } operator VkExternalFormatQNX &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExternalFormatQNX *>( this ); } operator VkExternalFormatQNX const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExternalFormatQNX *>( this ); } operator VkExternalFormatQNX *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExternalFormatQNX *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, uint64_t const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, externalFormat ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExternalFormatQNX const & ) const = default; # else bool operator==( ExternalFormatQNX 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 ) && ( externalFormat == rhs.externalFormat ); # endif } bool operator!=( ExternalFormatQNX const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } # endif public: StructureType sType = StructureType::eExternalFormatQNX; void * pNext = {}; uint64_t externalFormat = {}; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExternalFormatQNX> { using Type = ExternalFormatQNX; }; # endif template <> struct CppType<StructureType, StructureType::eExternalFormatQNX> { using Type = ExternalFormatQNX; }; #endif /*VK_USE_PLATFORM_SCREEN_QNX*/ // wrapper struct for struct VkExternalImageFormatProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalImageFormatProperties.html struct ExternalImageFormatProperties { using NativeType = VkExternalImageFormatProperties; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalImageFormatProperties; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExternalImageFormatProperties( ExternalMemoryProperties externalMemoryProperties_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , externalMemoryProperties{ externalMemoryProperties_ } { } VULKAN_HPP_CONSTEXPR ExternalImageFormatProperties( ExternalImageFormatProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExternalImageFormatProperties( VkExternalImageFormatProperties const & rhs ) VULKAN_HPP_NOEXCEPT : ExternalImageFormatProperties( *reinterpret_cast<ExternalImageFormatProperties const *>( &rhs ) ) { } ExternalImageFormatProperties & operator=( ExternalImageFormatProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExternalImageFormatProperties & operator=( VkExternalImageFormatProperties const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExternalImageFormatProperties const *>( &rhs ); return *this; } operator VkExternalImageFormatProperties const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExternalImageFormatProperties *>( this ); } operator VkExternalImageFormatProperties &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExternalImageFormatProperties *>( this ); } operator VkExternalImageFormatProperties const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExternalImageFormatProperties *>( this ); } operator VkExternalImageFormatProperties *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExternalImageFormatProperties *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, ExternalMemoryProperties const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, externalMemoryProperties ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExternalImageFormatProperties const & ) const = default; #else bool operator==( ExternalImageFormatProperties 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 ) && ( externalMemoryProperties == rhs.externalMemoryProperties ); # endif } bool operator!=( ExternalImageFormatProperties const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eExternalImageFormatProperties; void * pNext = {}; ExternalMemoryProperties externalMemoryProperties = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExternalImageFormatProperties> { using Type = ExternalImageFormatProperties; }; #endif template <> struct CppType<StructureType, StructureType::eExternalImageFormatProperties> { using Type = ExternalImageFormatProperties; }; using ExternalImageFormatPropertiesKHR = ExternalImageFormatProperties; // wrapper struct for struct VkImageFormatProperties, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageFormatProperties.html struct ImageFormatProperties { using NativeType = VkImageFormatProperties; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ImageFormatProperties( Extent3D maxExtent_ = {}, uint32_t maxMipLevels_ = {}, uint32_t maxArrayLayers_ = {}, SampleCountFlags sampleCounts_ = {}, DeviceSize maxResourceSize_ = {} ) VULKAN_HPP_NOEXCEPT : maxExtent{ maxExtent_ } , maxMipLevels{ maxMipLevels_ } , maxArrayLayers{ maxArrayLayers_ } , sampleCounts{ sampleCounts_ } , maxResourceSize{ maxResourceSize_ } { } VULKAN_HPP_CONSTEXPR ImageFormatProperties( ImageFormatProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default; ImageFormatProperties( VkImageFormatProperties const & rhs ) VULKAN_HPP_NOEXCEPT : ImageFormatProperties( *reinterpret_cast<ImageFormatProperties const *>( &rhs ) ) { } ImageFormatProperties & operator=( ImageFormatProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ImageFormatProperties & operator=( VkImageFormatProperties const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ImageFormatProperties const *>( &rhs ); return *this; } operator VkImageFormatProperties const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkImageFormatProperties *>( this ); } operator VkImageFormatProperties &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkImageFormatProperties *>( this ); } operator VkImageFormatProperties const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkImageFormatProperties *>( this ); } operator VkImageFormatProperties *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkImageFormatProperties *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<Extent3D const &, uint32_t const &, uint32_t const &, SampleCountFlags const &, DeviceSize const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( maxExtent, maxMipLevels, maxArrayLayers, sampleCounts, maxResourceSize ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ImageFormatProperties const & ) const = default; #else bool operator==( ImageFormatProperties const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( maxExtent == rhs.maxExtent ) && ( maxMipLevels == rhs.maxMipLevels ) && ( maxArrayLayers == rhs.maxArrayLayers ) && ( sampleCounts == rhs.sampleCounts ) && ( maxResourceSize == rhs.maxResourceSize ); # endif } bool operator!=( ImageFormatProperties const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: Extent3D maxExtent = {}; uint32_t maxMipLevels = {}; uint32_t maxArrayLayers = {}; SampleCountFlags sampleCounts = {}; DeviceSize maxResourceSize = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkImageFormatProperties> { using Type = ImageFormatProperties; }; #endif // wrapper struct for struct VkExternalImageFormatPropertiesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalImageFormatPropertiesNV.html struct ExternalImageFormatPropertiesNV { using NativeType = VkExternalImageFormatPropertiesNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExternalImageFormatPropertiesNV( ImageFormatProperties imageFormatProperties_ = {}, ExternalMemoryFeatureFlagsNV externalMemoryFeatures_ = {}, ExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes_ = {}, ExternalMemoryHandleTypeFlagsNV compatibleHandleTypes_ = {} ) VULKAN_HPP_NOEXCEPT : imageFormatProperties{ imageFormatProperties_ } , externalMemoryFeatures{ externalMemoryFeatures_ } , exportFromImportedHandleTypes{ exportFromImportedHandleTypes_ } , compatibleHandleTypes{ compatibleHandleTypes_ } { } VULKAN_HPP_CONSTEXPR ExternalImageFormatPropertiesNV( ExternalImageFormatPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExternalImageFormatPropertiesNV( VkExternalImageFormatPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT : ExternalImageFormatPropertiesNV( *reinterpret_cast<ExternalImageFormatPropertiesNV const *>( &rhs ) ) { } ExternalImageFormatPropertiesNV & operator=( ExternalImageFormatPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExternalImageFormatPropertiesNV & operator=( VkExternalImageFormatPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExternalImageFormatPropertiesNV const *>( &rhs ); return *this; } operator VkExternalImageFormatPropertiesNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExternalImageFormatPropertiesNV *>( this ); } operator VkExternalImageFormatPropertiesNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExternalImageFormatPropertiesNV *>( this ); } operator VkExternalImageFormatPropertiesNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExternalImageFormatPropertiesNV *>( this ); } operator VkExternalImageFormatPropertiesNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExternalImageFormatPropertiesNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<ImageFormatProperties const &, ExternalMemoryFeatureFlagsNV const &, ExternalMemoryHandleTypeFlagsNV const &, ExternalMemoryHandleTypeFlagsNV const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( imageFormatProperties, externalMemoryFeatures, exportFromImportedHandleTypes, compatibleHandleTypes ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExternalImageFormatPropertiesNV const & ) const = default; #else bool operator==( ExternalImageFormatPropertiesNV const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( imageFormatProperties == rhs.imageFormatProperties ) && ( externalMemoryFeatures == rhs.externalMemoryFeatures ) && ( exportFromImportedHandleTypes == rhs.exportFromImportedHandleTypes ) && ( compatibleHandleTypes == rhs.compatibleHandleTypes ); # endif } bool operator!=( ExternalImageFormatPropertiesNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: ImageFormatProperties imageFormatProperties = {}; ExternalMemoryFeatureFlagsNV externalMemoryFeatures = {}; ExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes = {}; ExternalMemoryHandleTypeFlagsNV compatibleHandleTypes = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExternalImageFormatPropertiesNV> { using Type = ExternalImageFormatPropertiesNV; }; #endif // wrapper struct for struct VkExternalMemoryAcquireUnmodifiedEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalMemoryAcquireUnmodifiedEXT.html struct ExternalMemoryAcquireUnmodifiedEXT { using NativeType = VkExternalMemoryAcquireUnmodifiedEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalMemoryAcquireUnmodifiedEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExternalMemoryAcquireUnmodifiedEXT( Bool32 acquireUnmodifiedMemory_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , acquireUnmodifiedMemory{ acquireUnmodifiedMemory_ } { } VULKAN_HPP_CONSTEXPR ExternalMemoryAcquireUnmodifiedEXT( ExternalMemoryAcquireUnmodifiedEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExternalMemoryAcquireUnmodifiedEXT( VkExternalMemoryAcquireUnmodifiedEXT const & rhs ) VULKAN_HPP_NOEXCEPT : ExternalMemoryAcquireUnmodifiedEXT( *reinterpret_cast<ExternalMemoryAcquireUnmodifiedEXT const *>( &rhs ) ) { } ExternalMemoryAcquireUnmodifiedEXT & operator=( ExternalMemoryAcquireUnmodifiedEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExternalMemoryAcquireUnmodifiedEXT & operator=( VkExternalMemoryAcquireUnmodifiedEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExternalMemoryAcquireUnmodifiedEXT const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ExternalMemoryAcquireUnmodifiedEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExternalMemoryAcquireUnmodifiedEXT & setAcquireUnmodifiedMemory( Bool32 acquireUnmodifiedMemory_ ) VULKAN_HPP_NOEXCEPT { acquireUnmodifiedMemory = acquireUnmodifiedMemory_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkExternalMemoryAcquireUnmodifiedEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExternalMemoryAcquireUnmodifiedEXT *>( this ); } operator VkExternalMemoryAcquireUnmodifiedEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExternalMemoryAcquireUnmodifiedEXT *>( this ); } operator VkExternalMemoryAcquireUnmodifiedEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExternalMemoryAcquireUnmodifiedEXT *>( this ); } operator VkExternalMemoryAcquireUnmodifiedEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExternalMemoryAcquireUnmodifiedEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Bool32 const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, acquireUnmodifiedMemory ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExternalMemoryAcquireUnmodifiedEXT const & ) const = default; #else bool operator==( ExternalMemoryAcquireUnmodifiedEXT 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 ) && ( acquireUnmodifiedMemory == rhs.acquireUnmodifiedMemory ); # endif } bool operator!=( ExternalMemoryAcquireUnmodifiedEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eExternalMemoryAcquireUnmodifiedEXT; const void * pNext = {}; Bool32 acquireUnmodifiedMemory = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExternalMemoryAcquireUnmodifiedEXT> { using Type = ExternalMemoryAcquireUnmodifiedEXT; }; #endif template <> struct CppType<StructureType, StructureType::eExternalMemoryAcquireUnmodifiedEXT> { using Type = ExternalMemoryAcquireUnmodifiedEXT; }; // wrapper struct for struct VkExternalMemoryBufferCreateInfo, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalMemoryBufferCreateInfo.html struct ExternalMemoryBufferCreateInfo { using NativeType = VkExternalMemoryBufferCreateInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalMemoryBufferCreateInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExternalMemoryBufferCreateInfo( ExternalMemoryHandleTypeFlags handleTypes_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , handleTypes{ handleTypes_ } { } VULKAN_HPP_CONSTEXPR ExternalMemoryBufferCreateInfo( ExternalMemoryBufferCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExternalMemoryBufferCreateInfo( VkExternalMemoryBufferCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : ExternalMemoryBufferCreateInfo( *reinterpret_cast<ExternalMemoryBufferCreateInfo const *>( &rhs ) ) { } ExternalMemoryBufferCreateInfo & operator=( ExternalMemoryBufferCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExternalMemoryBufferCreateInfo & operator=( VkExternalMemoryBufferCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExternalMemoryBufferCreateInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ExternalMemoryBufferCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExternalMemoryBufferCreateInfo & setHandleTypes( ExternalMemoryHandleTypeFlags handleTypes_ ) VULKAN_HPP_NOEXCEPT { handleTypes = handleTypes_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkExternalMemoryBufferCreateInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExternalMemoryBufferCreateInfo *>( this ); } operator VkExternalMemoryBufferCreateInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExternalMemoryBufferCreateInfo *>( this ); } operator VkExternalMemoryBufferCreateInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExternalMemoryBufferCreateInfo *>( this ); } operator VkExternalMemoryBufferCreateInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExternalMemoryBufferCreateInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, ExternalMemoryHandleTypeFlags const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, handleTypes ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExternalMemoryBufferCreateInfo const & ) const = default; #else bool operator==( ExternalMemoryBufferCreateInfo 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 ) && ( handleTypes == rhs.handleTypes ); # endif } bool operator!=( ExternalMemoryBufferCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eExternalMemoryBufferCreateInfo; const void * pNext = {}; ExternalMemoryHandleTypeFlags handleTypes = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExternalMemoryBufferCreateInfo> { using Type = ExternalMemoryBufferCreateInfo; }; #endif template <> struct CppType<StructureType, StructureType::eExternalMemoryBufferCreateInfo> { using Type = ExternalMemoryBufferCreateInfo; }; using ExternalMemoryBufferCreateInfoKHR = ExternalMemoryBufferCreateInfo; // wrapper struct for struct VkExternalMemoryImageCreateInfo, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalMemoryImageCreateInfo.html struct ExternalMemoryImageCreateInfo { using NativeType = VkExternalMemoryImageCreateInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalMemoryImageCreateInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExternalMemoryImageCreateInfo( ExternalMemoryHandleTypeFlags handleTypes_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , handleTypes{ handleTypes_ } { } VULKAN_HPP_CONSTEXPR ExternalMemoryImageCreateInfo( ExternalMemoryImageCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExternalMemoryImageCreateInfo( VkExternalMemoryImageCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : ExternalMemoryImageCreateInfo( *reinterpret_cast<ExternalMemoryImageCreateInfo const *>( &rhs ) ) { } ExternalMemoryImageCreateInfo & operator=( ExternalMemoryImageCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExternalMemoryImageCreateInfo & operator=( VkExternalMemoryImageCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExternalMemoryImageCreateInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ExternalMemoryImageCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExternalMemoryImageCreateInfo & setHandleTypes( ExternalMemoryHandleTypeFlags handleTypes_ ) VULKAN_HPP_NOEXCEPT { handleTypes = handleTypes_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkExternalMemoryImageCreateInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExternalMemoryImageCreateInfo *>( this ); } operator VkExternalMemoryImageCreateInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExternalMemoryImageCreateInfo *>( this ); } operator VkExternalMemoryImageCreateInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExternalMemoryImageCreateInfo *>( this ); } operator VkExternalMemoryImageCreateInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExternalMemoryImageCreateInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, ExternalMemoryHandleTypeFlags const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, handleTypes ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExternalMemoryImageCreateInfo const & ) const = default; #else bool operator==( ExternalMemoryImageCreateInfo 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 ) && ( handleTypes == rhs.handleTypes ); # endif } bool operator!=( ExternalMemoryImageCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eExternalMemoryImageCreateInfo; const void * pNext = {}; ExternalMemoryHandleTypeFlags handleTypes = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExternalMemoryImageCreateInfo> { using Type = ExternalMemoryImageCreateInfo; }; #endif template <> struct CppType<StructureType, StructureType::eExternalMemoryImageCreateInfo> { using Type = ExternalMemoryImageCreateInfo; }; using ExternalMemoryImageCreateInfoKHR = ExternalMemoryImageCreateInfo; // wrapper struct for struct VkExternalMemoryImageCreateInfoNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalMemoryImageCreateInfoNV.html struct ExternalMemoryImageCreateInfoNV { using NativeType = VkExternalMemoryImageCreateInfoNV; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalMemoryImageCreateInfoNV; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExternalMemoryImageCreateInfoNV( ExternalMemoryHandleTypeFlagsNV handleTypes_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , handleTypes{ handleTypes_ } { } VULKAN_HPP_CONSTEXPR ExternalMemoryImageCreateInfoNV( ExternalMemoryImageCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExternalMemoryImageCreateInfoNV( VkExternalMemoryImageCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT : ExternalMemoryImageCreateInfoNV( *reinterpret_cast<ExternalMemoryImageCreateInfoNV const *>( &rhs ) ) { } ExternalMemoryImageCreateInfoNV & operator=( ExternalMemoryImageCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExternalMemoryImageCreateInfoNV & operator=( VkExternalMemoryImageCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExternalMemoryImageCreateInfoNV const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ExternalMemoryImageCreateInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExternalMemoryImageCreateInfoNV & setHandleTypes( ExternalMemoryHandleTypeFlagsNV handleTypes_ ) VULKAN_HPP_NOEXCEPT { handleTypes = handleTypes_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkExternalMemoryImageCreateInfoNV const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExternalMemoryImageCreateInfoNV *>( this ); } operator VkExternalMemoryImageCreateInfoNV &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExternalMemoryImageCreateInfoNV *>( this ); } operator VkExternalMemoryImageCreateInfoNV const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExternalMemoryImageCreateInfoNV *>( this ); } operator VkExternalMemoryImageCreateInfoNV *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExternalMemoryImageCreateInfoNV *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, ExternalMemoryHandleTypeFlagsNV const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, handleTypes ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExternalMemoryImageCreateInfoNV const & ) const = default; #else bool operator==( ExternalMemoryImageCreateInfoNV 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 ) && ( handleTypes == rhs.handleTypes ); # endif } bool operator!=( ExternalMemoryImageCreateInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eExternalMemoryImageCreateInfoNV; const void * pNext = {}; ExternalMemoryHandleTypeFlagsNV handleTypes = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExternalMemoryImageCreateInfoNV> { using Type = ExternalMemoryImageCreateInfoNV; }; #endif template <> struct CppType<StructureType, StructureType::eExternalMemoryImageCreateInfoNV> { using Type = ExternalMemoryImageCreateInfoNV; }; // wrapper struct for struct VkExternalMemoryTensorCreateInfoARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalMemoryTensorCreateInfoARM.html struct ExternalMemoryTensorCreateInfoARM { using NativeType = VkExternalMemoryTensorCreateInfoARM; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalMemoryTensorCreateInfoARM; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExternalMemoryTensorCreateInfoARM( ExternalMemoryHandleTypeFlags handleTypes_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , handleTypes{ handleTypes_ } { } VULKAN_HPP_CONSTEXPR ExternalMemoryTensorCreateInfoARM( ExternalMemoryTensorCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExternalMemoryTensorCreateInfoARM( VkExternalMemoryTensorCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT : ExternalMemoryTensorCreateInfoARM( *reinterpret_cast<ExternalMemoryTensorCreateInfoARM const *>( &rhs ) ) { } ExternalMemoryTensorCreateInfoARM & operator=( ExternalMemoryTensorCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExternalMemoryTensorCreateInfoARM & operator=( VkExternalMemoryTensorCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExternalMemoryTensorCreateInfoARM const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ExternalMemoryTensorCreateInfoARM & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExternalMemoryTensorCreateInfoARM & setHandleTypes( ExternalMemoryHandleTypeFlags handleTypes_ ) VULKAN_HPP_NOEXCEPT { handleTypes = handleTypes_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkExternalMemoryTensorCreateInfoARM const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExternalMemoryTensorCreateInfoARM *>( this ); } operator VkExternalMemoryTensorCreateInfoARM &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExternalMemoryTensorCreateInfoARM *>( this ); } operator VkExternalMemoryTensorCreateInfoARM const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExternalMemoryTensorCreateInfoARM *>( this ); } operator VkExternalMemoryTensorCreateInfoARM *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExternalMemoryTensorCreateInfoARM *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, ExternalMemoryHandleTypeFlags const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, handleTypes ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExternalMemoryTensorCreateInfoARM const & ) const = default; #else bool operator==( ExternalMemoryTensorCreateInfoARM 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 ) && ( handleTypes == rhs.handleTypes ); # endif } bool operator!=( ExternalMemoryTensorCreateInfoARM const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eExternalMemoryTensorCreateInfoARM; const void * pNext = {}; ExternalMemoryHandleTypeFlags handleTypes = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExternalMemoryTensorCreateInfoARM> { using Type = ExternalMemoryTensorCreateInfoARM; }; #endif template <> struct CppType<StructureType, StructureType::eExternalMemoryTensorCreateInfoARM> { using Type = ExternalMemoryTensorCreateInfoARM; }; // wrapper struct for struct VkExternalSemaphoreProperties, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalSemaphoreProperties.html struct ExternalSemaphoreProperties { using NativeType = VkExternalSemaphoreProperties; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalSemaphoreProperties; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExternalSemaphoreProperties( ExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes_ = {}, ExternalSemaphoreHandleTypeFlags compatibleHandleTypes_ = {}, ExternalSemaphoreFeatureFlags externalSemaphoreFeatures_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , exportFromImportedHandleTypes{ exportFromImportedHandleTypes_ } , compatibleHandleTypes{ compatibleHandleTypes_ } , externalSemaphoreFeatures{ externalSemaphoreFeatures_ } { } VULKAN_HPP_CONSTEXPR ExternalSemaphoreProperties( ExternalSemaphoreProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExternalSemaphoreProperties( VkExternalSemaphoreProperties const & rhs ) VULKAN_HPP_NOEXCEPT : ExternalSemaphoreProperties( *reinterpret_cast<ExternalSemaphoreProperties const *>( &rhs ) ) { } ExternalSemaphoreProperties & operator=( ExternalSemaphoreProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExternalSemaphoreProperties & operator=( VkExternalSemaphoreProperties const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExternalSemaphoreProperties const *>( &rhs ); return *this; } operator VkExternalSemaphoreProperties const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExternalSemaphoreProperties *>( this ); } operator VkExternalSemaphoreProperties &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExternalSemaphoreProperties *>( this ); } operator VkExternalSemaphoreProperties const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExternalSemaphoreProperties *>( this ); } operator VkExternalSemaphoreProperties *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExternalSemaphoreProperties *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, ExternalSemaphoreHandleTypeFlags const &, ExternalSemaphoreHandleTypeFlags const &, ExternalSemaphoreFeatureFlags const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, exportFromImportedHandleTypes, compatibleHandleTypes, externalSemaphoreFeatures ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExternalSemaphoreProperties const & ) const = default; #else bool operator==( ExternalSemaphoreProperties 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 ) && ( exportFromImportedHandleTypes == rhs.exportFromImportedHandleTypes ) && ( compatibleHandleTypes == rhs.compatibleHandleTypes ) && ( externalSemaphoreFeatures == rhs.externalSemaphoreFeatures ); # endif } bool operator!=( ExternalSemaphoreProperties const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eExternalSemaphoreProperties; void * pNext = {}; ExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes = {}; ExternalSemaphoreHandleTypeFlags compatibleHandleTypes = {}; ExternalSemaphoreFeatureFlags externalSemaphoreFeatures = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExternalSemaphoreProperties> { using Type = ExternalSemaphoreProperties; }; #endif template <> struct CppType<StructureType, StructureType::eExternalSemaphoreProperties> { using Type = ExternalSemaphoreProperties; }; using ExternalSemaphorePropertiesKHR = ExternalSemaphoreProperties; // wrapper struct for struct VkExternalTensorPropertiesARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalTensorPropertiesARM.html struct ExternalTensorPropertiesARM { using NativeType = VkExternalTensorPropertiesARM; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalTensorPropertiesARM; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR ExternalTensorPropertiesARM( ExternalMemoryProperties externalMemoryProperties_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , externalMemoryProperties{ externalMemoryProperties_ } { } VULKAN_HPP_CONSTEXPR ExternalTensorPropertiesARM( ExternalTensorPropertiesARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; ExternalTensorPropertiesARM( VkExternalTensorPropertiesARM const & rhs ) VULKAN_HPP_NOEXCEPT : ExternalTensorPropertiesARM( *reinterpret_cast<ExternalTensorPropertiesARM const *>( &rhs ) ) { } ExternalTensorPropertiesARM & operator=( ExternalTensorPropertiesARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ ExternalTensorPropertiesARM & operator=( VkExternalTensorPropertiesARM const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<ExternalTensorPropertiesARM const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 ExternalTensorPropertiesARM & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 ExternalTensorPropertiesARM & setExternalMemoryProperties( ExternalMemoryProperties const & externalMemoryProperties_ ) VULKAN_HPP_NOEXCEPT { externalMemoryProperties = externalMemoryProperties_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkExternalTensorPropertiesARM const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkExternalTensorPropertiesARM *>( this ); } operator VkExternalTensorPropertiesARM &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkExternalTensorPropertiesARM *>( this ); } operator VkExternalTensorPropertiesARM const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkExternalTensorPropertiesARM *>( this ); } operator VkExternalTensorPropertiesARM *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkExternalTensorPropertiesARM *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, ExternalMemoryProperties const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, externalMemoryProperties ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( ExternalTensorPropertiesARM const & ) const = default; #else bool operator==( ExternalTensorPropertiesARM 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 ) && ( externalMemoryProperties == rhs.externalMemoryProperties ); # endif } bool operator!=( ExternalTensorPropertiesARM const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eExternalTensorPropertiesARM; const void * pNext = {}; ExternalMemoryProperties externalMemoryProperties = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkExternalTensorPropertiesARM> { using Type = ExternalTensorPropertiesARM; }; #endif template <> struct CppType<StructureType, StructureType::eExternalTensorPropertiesARM> { using Type = ExternalTensorPropertiesARM; }; // wrapper struct for struct VkFenceCreateInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkFenceCreateInfo.html struct FenceCreateInfo { using NativeType = VkFenceCreateInfo; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFenceCreateInfo; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR FenceCreateInfo( FenceCreateFlags flags_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } { } VULKAN_HPP_CONSTEXPR FenceCreateInfo( FenceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; FenceCreateInfo( VkFenceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : FenceCreateInfo( *reinterpret_cast<FenceCreateInfo const *>( &rhs ) ) {} FenceCreateInfo & operator=( FenceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ FenceCreateInfo & operator=( VkFenceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<FenceCreateInfo const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 FenceCreateInfo & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 FenceCreateInfo & setFlags( FenceCreateFlags flags_ ) VULKAN_HPP_NOEXCEPT { flags = flags_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkFenceCreateInfo const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkFenceCreateInfo *>( this ); } operator VkFenceCreateInfo &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkFenceCreateInfo *>( this ); } operator VkFenceCreateInfo const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkFenceCreateInfo *>( this ); } operator VkFenceCreateInfo *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkFenceCreateInfo *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, FenceCreateFlags const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, flags ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( FenceCreateInfo const & ) const = default; #else bool operator==( FenceCreateInfo 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 ) && ( flags == rhs.flags ); # endif } bool operator!=( FenceCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eFenceCreateInfo; const void * pNext = {}; FenceCreateFlags flags = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkFenceCreateInfo> { using Type = FenceCreateInfo; }; #endif template <> struct CppType<StructureType, StructureType::eFenceCreateInfo> { using Type = FenceCreateInfo; }; // wrapper struct for struct VkFenceGetFdInfoKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkFenceGetFdInfoKHR.html struct FenceGetFdInfoKHR { using NativeType = VkFenceGetFdInfoKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFenceGetFdInfoKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR FenceGetFdInfoKHR( Fence fence_ = {}, ExternalFenceHandleTypeFlagBits handleType_ = ExternalFenceHandleTypeFlagBits::eOpaqueFd, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , fence{ fence_ } , handleType{ handleType_ } { } VULKAN_HPP_CONSTEXPR FenceGetFdInfoKHR( FenceGetFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; FenceGetFdInfoKHR( VkFenceGetFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : FenceGetFdInfoKHR( *reinterpret_cast<FenceGetFdInfoKHR const *>( &rhs ) ) {} FenceGetFdInfoKHR & operator=( FenceGetFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ FenceGetFdInfoKHR & operator=( VkFenceGetFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<FenceGetFdInfoKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 FenceGetFdInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 FenceGetFdInfoKHR & setFence( Fence fence_ ) VULKAN_HPP_NOEXCEPT { fence = fence_; return *this; } VULKAN_HPP_CONSTEXPR_14 FenceGetFdInfoKHR & setHandleType( ExternalFenceHandleTypeFlagBits handleType_ ) VULKAN_HPP_NOEXCEPT { handleType = handleType_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkFenceGetFdInfoKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkFenceGetFdInfoKHR *>( this ); } operator VkFenceGetFdInfoKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkFenceGetFdInfoKHR *>( this ); } operator VkFenceGetFdInfoKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkFenceGetFdInfoKHR *>( this ); } operator VkFenceGetFdInfoKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkFenceGetFdInfoKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Fence const &, ExternalFenceHandleTypeFlagBits const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, fence, handleType ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( FenceGetFdInfoKHR const & ) const = default; #else bool operator==( FenceGetFdInfoKHR 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 ) && ( fence == rhs.fence ) && ( handleType == rhs.handleType ); # endif } bool operator!=( FenceGetFdInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eFenceGetFdInfoKHR; const void * pNext = {}; Fence fence = {}; ExternalFenceHandleTypeFlagBits handleType = ExternalFenceHandleTypeFlagBits::eOpaqueFd; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkFenceGetFdInfoKHR> { using Type = FenceGetFdInfoKHR; }; #endif template <> struct CppType<StructureType, StructureType::eFenceGetFdInfoKHR> { using Type = FenceGetFdInfoKHR; }; #if defined( VK_USE_PLATFORM_WIN32_KHR ) // wrapper struct for struct VkFenceGetWin32HandleInfoKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkFenceGetWin32HandleInfoKHR.html struct FenceGetWin32HandleInfoKHR { using NativeType = VkFenceGetWin32HandleInfoKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFenceGetWin32HandleInfoKHR; # if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR FenceGetWin32HandleInfoKHR( Fence fence_ = {}, ExternalFenceHandleTypeFlagBits handleType_ = ExternalFenceHandleTypeFlagBits::eOpaqueFd, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , fence{ fence_ } , handleType{ handleType_ } { } VULKAN_HPP_CONSTEXPR FenceGetWin32HandleInfoKHR( FenceGetWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; FenceGetWin32HandleInfoKHR( VkFenceGetWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : FenceGetWin32HandleInfoKHR( *reinterpret_cast<FenceGetWin32HandleInfoKHR const *>( &rhs ) ) { } FenceGetWin32HandleInfoKHR & operator=( FenceGetWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; # endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ FenceGetWin32HandleInfoKHR & operator=( VkFenceGetWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<FenceGetWin32HandleInfoKHR const *>( &rhs ); return *this; } # if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 FenceGetWin32HandleInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 FenceGetWin32HandleInfoKHR & setFence( Fence fence_ ) VULKAN_HPP_NOEXCEPT { fence = fence_; return *this; } VULKAN_HPP_CONSTEXPR_14 FenceGetWin32HandleInfoKHR & setHandleType( ExternalFenceHandleTypeFlagBits handleType_ ) VULKAN_HPP_NOEXCEPT { handleType = handleType_; return *this; } # endif /*VULKAN_HPP_NO_SETTERS*/ operator VkFenceGetWin32HandleInfoKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkFenceGetWin32HandleInfoKHR *>( this ); } operator VkFenceGetWin32HandleInfoKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkFenceGetWin32HandleInfoKHR *>( this ); } operator VkFenceGetWin32HandleInfoKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkFenceGetWin32HandleInfoKHR *>( this ); } operator VkFenceGetWin32HandleInfoKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkFenceGetWin32HandleInfoKHR *>( this ); } # if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, Fence const &, ExternalFenceHandleTypeFlagBits const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, fence, handleType ); } # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( FenceGetWin32HandleInfoKHR const & ) const = default; # else bool operator==( FenceGetWin32HandleInfoKHR 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 ) && ( fence == rhs.fence ) && ( handleType == rhs.handleType ); # endif } bool operator!=( FenceGetWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } # endif public: StructureType sType = StructureType::eFenceGetWin32HandleInfoKHR; const void * pNext = {}; Fence fence = {}; ExternalFenceHandleTypeFlagBits handleType = ExternalFenceHandleTypeFlagBits::eOpaqueFd; }; # if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkFenceGetWin32HandleInfoKHR> { using Type = FenceGetWin32HandleInfoKHR; }; # endif template <> struct CppType<StructureType, StructureType::eFenceGetWin32HandleInfoKHR> { using Type = FenceGetWin32HandleInfoKHR; }; #endif /*VK_USE_PLATFORM_WIN32_KHR*/ // wrapper struct for struct VkFilterCubicImageViewImageFormatPropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkFilterCubicImageViewImageFormatPropertiesEXT.html struct FilterCubicImageViewImageFormatPropertiesEXT { using NativeType = VkFilterCubicImageViewImageFormatPropertiesEXT; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFilterCubicImageViewImageFormatPropertiesEXT; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR FilterCubicImageViewImageFormatPropertiesEXT( Bool32 filterCubic_ = {}, Bool32 filterCubicMinmax_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , filterCubic{ filterCubic_ } , filterCubicMinmax{ filterCubicMinmax_ } { } VULKAN_HPP_CONSTEXPR FilterCubicImageViewImageFormatPropertiesEXT( FilterCubicImageViewImageFormatPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; FilterCubicImageViewImageFormatPropertiesEXT( VkFilterCubicImageViewImageFormatPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT : FilterCubicImageViewImageFormatPropertiesEXT( *reinterpret_cast<FilterCubicImageViewImageFormatPropertiesEXT const *>( &rhs ) ) { } FilterCubicImageViewImageFormatPropertiesEXT & operator=( FilterCubicImageViewImageFormatPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ FilterCubicImageViewImageFormatPropertiesEXT & operator=( VkFilterCubicImageViewImageFormatPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<FilterCubicImageViewImageFormatPropertiesEXT const *>( &rhs ); return *this; } operator VkFilterCubicImageViewImageFormatPropertiesEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkFilterCubicImageViewImageFormatPropertiesEXT *>( this ); } operator VkFilterCubicImageViewImageFormatPropertiesEXT &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkFilterCubicImageViewImageFormatPropertiesEXT *>( this ); } operator VkFilterCubicImageViewImageFormatPropertiesEXT const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkFilterCubicImageViewImageFormatPropertiesEXT *>( this ); } operator VkFilterCubicImageViewImageFormatPropertiesEXT *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkFilterCubicImageViewImageFormatPropertiesEXT *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, Bool32 const &, Bool32 const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, filterCubic, filterCubicMinmax ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( FilterCubicImageViewImageFormatPropertiesEXT const & ) const = default; #else bool operator==( FilterCubicImageViewImageFormatPropertiesEXT 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 ) && ( filterCubic == rhs.filterCubic ) && ( filterCubicMinmax == rhs.filterCubicMinmax ); # endif } bool operator!=( FilterCubicImageViewImageFormatPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eFilterCubicImageViewImageFormatPropertiesEXT; void * pNext = {}; Bool32 filterCubic = {}; Bool32 filterCubicMinmax = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkFilterCubicImageViewImageFormatPropertiesEXT> { using Type = FilterCubicImageViewImageFormatPropertiesEXT; }; #endif template <> struct CppType<StructureType, StructureType::eFilterCubicImageViewImageFormatPropertiesEXT> { using Type = FilterCubicImageViewImageFormatPropertiesEXT; }; // wrapper struct for struct VkFormatProperties, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkFormatProperties.html struct FormatProperties { using NativeType = VkFormatProperties; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR FormatProperties( FormatFeatureFlags linearTilingFeatures_ = {}, FormatFeatureFlags optimalTilingFeatures_ = {}, FormatFeatureFlags bufferFeatures_ = {} ) VULKAN_HPP_NOEXCEPT : linearTilingFeatures{ linearTilingFeatures_ } , optimalTilingFeatures{ optimalTilingFeatures_ } , bufferFeatures{ bufferFeatures_ } { } VULKAN_HPP_CONSTEXPR FormatProperties( FormatProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default; FormatProperties( VkFormatProperties const & rhs ) VULKAN_HPP_NOEXCEPT : FormatProperties( *reinterpret_cast<FormatProperties const *>( &rhs ) ) {} FormatProperties & operator=( FormatProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ FormatProperties & operator=( VkFormatProperties const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<FormatProperties const *>( &rhs ); return *this; } operator VkFormatProperties const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkFormatProperties *>( this ); } operator VkFormatProperties &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkFormatProperties *>( this ); } operator VkFormatProperties const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkFormatProperties *>( this ); } operator VkFormatProperties *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkFormatProperties *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<FormatFeatureFlags const &, FormatFeatureFlags const &, FormatFeatureFlags const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( linearTilingFeatures, optimalTilingFeatures, bufferFeatures ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( FormatProperties const & ) const = default; #else bool operator==( FormatProperties const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else return ( linearTilingFeatures == rhs.linearTilingFeatures ) && ( optimalTilingFeatures == rhs.optimalTilingFeatures ) && ( bufferFeatures == rhs.bufferFeatures ); # endif } bool operator!=( FormatProperties const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: FormatFeatureFlags linearTilingFeatures = {}; FormatFeatureFlags optimalTilingFeatures = {}; FormatFeatureFlags bufferFeatures = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkFormatProperties> { using Type = FormatProperties; }; #endif // wrapper struct for struct VkFormatProperties2, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkFormatProperties2.html struct FormatProperties2 { using NativeType = VkFormatProperties2; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFormatProperties2; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR FormatProperties2( FormatProperties formatProperties_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , formatProperties{ formatProperties_ } { } VULKAN_HPP_CONSTEXPR FormatProperties2( FormatProperties2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; FormatProperties2( VkFormatProperties2 const & rhs ) VULKAN_HPP_NOEXCEPT : FormatProperties2( *reinterpret_cast<FormatProperties2 const *>( &rhs ) ) {} FormatProperties2 & operator=( FormatProperties2 const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ FormatProperties2 & operator=( VkFormatProperties2 const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<FormatProperties2 const *>( &rhs ); return *this; } operator VkFormatProperties2 const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkFormatProperties2 *>( this ); } operator VkFormatProperties2 &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkFormatProperties2 *>( this ); } operator VkFormatProperties2 const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkFormatProperties2 *>( this ); } operator VkFormatProperties2 *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkFormatProperties2 *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, FormatProperties const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, formatProperties ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( FormatProperties2 const & ) const = default; #else bool operator==( FormatProperties2 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 ) && ( formatProperties == rhs.formatProperties ); # endif } bool operator!=( FormatProperties2 const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eFormatProperties2; void * pNext = {}; FormatProperties formatProperties = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkFormatProperties2> { using Type = FormatProperties2; }; #endif template <> struct CppType<StructureType, StructureType::eFormatProperties2> { using Type = FormatProperties2; }; using FormatProperties2KHR = FormatProperties2; // wrapper struct for struct VkFormatProperties3, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkFormatProperties3.html struct FormatProperties3 { using NativeType = VkFormatProperties3; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFormatProperties3; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR FormatProperties3( FormatFeatureFlags2 linearTilingFeatures_ = {}, FormatFeatureFlags2 optimalTilingFeatures_ = {}, FormatFeatureFlags2 bufferFeatures_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , linearTilingFeatures{ linearTilingFeatures_ } , optimalTilingFeatures{ optimalTilingFeatures_ } , bufferFeatures{ bufferFeatures_ } { } VULKAN_HPP_CONSTEXPR FormatProperties3( FormatProperties3 const & rhs ) VULKAN_HPP_NOEXCEPT = default; FormatProperties3( VkFormatProperties3 const & rhs ) VULKAN_HPP_NOEXCEPT : FormatProperties3( *reinterpret_cast<FormatProperties3 const *>( &rhs ) ) {} FormatProperties3 & operator=( FormatProperties3 const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ FormatProperties3 & operator=( VkFormatProperties3 const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<FormatProperties3 const *>( &rhs ); return *this; } operator VkFormatProperties3 const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkFormatProperties3 *>( this ); } operator VkFormatProperties3 &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkFormatProperties3 *>( this ); } operator VkFormatProperties3 const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkFormatProperties3 *>( this ); } operator VkFormatProperties3 *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkFormatProperties3 *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, void * const &, FormatFeatureFlags2 const &, FormatFeatureFlags2 const &, FormatFeatureFlags2 const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, linearTilingFeatures, optimalTilingFeatures, bufferFeatures ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( FormatProperties3 const & ) const = default; #else bool operator==( FormatProperties3 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 ) && ( linearTilingFeatures == rhs.linearTilingFeatures ) && ( optimalTilingFeatures == rhs.optimalTilingFeatures ) && ( bufferFeatures == rhs.bufferFeatures ); # endif } bool operator!=( FormatProperties3 const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: StructureType sType = StructureType::eFormatProperties3; void * pNext = {}; FormatFeatureFlags2 linearTilingFeatures = {}; FormatFeatureFlags2 optimalTilingFeatures = {}; FormatFeatureFlags2 bufferFeatures = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> struct CppType<VkFormatProperties3> { using Type = FormatProperties3; }; #endif template <> struct CppType<StructureType, StructureType::eFormatProperties3> { using Type = FormatProperties3; }; using FormatProperties3KHR = FormatProperties3; // wrapper struct for struct VkFragmentShadingRateAttachmentInfoKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkFragmentShadingRateAttachmentInfoKHR.html struct FragmentShadingRateAttachmentInfoKHR { using NativeType = VkFragmentShadingRateAttachmentInfoKHR; static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFragmentShadingRateAttachmentInfoKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR FragmentShadingRateAttachmentInfoKHR( const AttachmentReference2 * pFragmentShadingRateAttachment_ = {}, Extent2D shadingRateAttachmentTexelSize_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , pFragmentShadingRateAttachment{ pFragmentShadingRateAttachment_ } , shadingRateAttachmentTexelSize{ shadingRateAttachmentTexelSize_ } { } VULKAN_HPP_CONSTEXPR FragmentShadingRateAttachmentInfoKHR( FragmentShadingRateAttachmentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; FragmentShadingRateAttachmentInfoKHR( VkFragmentShadingRateAttachmentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : FragmentShadingRateAttachmentInfoKHR( *reinterpret_cast<FragmentShadingRateAttachmentInfoKHR const *>( &rhs ) ) { } FragmentShadingRateAttachmentInfoKHR & operator=( FragmentShadingRateAttachmentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ FragmentShadingRateAttachmentInfoKHR & operator=( VkFragmentShadingRateAttachmentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT { *this = *reinterpret_cast<FragmentShadingRateAttachmentInfoKHR const *>( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) VULKAN_HPP_CONSTEXPR_14 FragmentShadingRateAttachmentInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } VULKAN_HPP_CONSTEXPR_14 FragmentShadingRateAttachmentInfoKHR & setPFragmentShadingRateAttachment( const AttachmentReference2 * pFragmentShadingRateAttachment_ ) VULKAN_HPP_NOEXCEPT { pFragmentShadingRateAttachment = pFragmentShadingRateAttachment_; return *this; } VULKAN_HPP_CONSTEXPR_14 FragmentShadingRateAttachmentInfoKHR & setShadingRateAttachmentTexelSize( Extent2D const & shadingRateAttachmentTexelSize_ ) VULKAN_HPP_NOEXCEPT { shadingRateAttachmentTexelSize = shadingRateAttachmentTexelSize_; return *this; } #endif /*VULKAN_HPP_NO_SETTERS*/ operator VkFragmentShadingRateAttachmentInfoKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkFragmentShadingRateAttachmentInfoKHR *>( this ); } operator VkFragmentShadingRateAttachmentInfoKHR &() VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<VkFragmentShadingRateAttachmentInfoKHR *>( this ); } operator VkFragmentShadingRateAttachmentInfoKHR const *() const VULKAN_HPP_NOEXCEPT { return reinterpret_cast<const VkFragmentShadingRateAttachmentInfoKHR *>( this ); } operator VkFragmentShadingRateAttachmentInfoKHR *() VULKAN_HPP_NOEXCEPT { return reinterpret_cast<VkFragmentShadingRateAttachmentInfoKHR *>( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) std::tuple<StructureType const &, const void * const &, const AttachmentReference2 * const &, Extent2D const &> reflect() const VULKAN_HPP_NOEXCEPT { return std::tie( sType, pNext, pFragmentShadingRateAttachment, shadingRateAttachmentTexelSize ); } #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( FragmentShadingRateAttachmentInfoKHR const & ) const = default; #else bool operator==( FragmentShadingRateAttachmentInfoKHR 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 ) && ( pFragmentShadingRateAttachment == rhs.pFragmentShadingRateAttachment ) && ( s