HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
vulkan_structs.hpp
Go to the documentation of this file.
1 // Copyright 2015-2022 The Khronos Group Inc.
2 //
3 // SPDX-License-Identifier: Apache-2.0 OR MIT
4 //
5 
6 // This header is generated from the Khronos Vulkan XML API Registry.
7 
8 #ifndef VULKAN_STRUCTS_HPP
9 #define VULKAN_STRUCTS_HPP
10 
11 #include <cstring> // strcmp
12 
13 namespace VULKAN_HPP_NAMESPACE
14 {
15  //===============
16  //=== STRUCTS ===
17  //===============
18 
20  {
22 
23 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
25  AabbPositionsKHR( float minX_ = {}, float minY_ = {}, float minZ_ = {}, float maxX_ = {}, float maxY_ = {}, float maxZ_ = {} ) VULKAN_HPP_NOEXCEPT
26  : minX( minX_ )
27  , minY( minY_ )
28  , minZ( minZ_ )
29  , maxX( maxX_ )
30  , maxY( maxY_ )
31  , maxZ( maxZ_ )
32  {
33  }
34 
36 
37  AabbPositionsKHR( VkAabbPositionsKHR const & rhs ) VULKAN_HPP_NOEXCEPT : AabbPositionsKHR( *reinterpret_cast<AabbPositionsKHR const *>( &rhs ) ) {}
38 
40 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
41 
43  {
44  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AabbPositionsKHR const *>( &rhs );
45  return *this;
46  }
47 
48 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
50  {
51  minX = minX_;
52  return *this;
53  }
54 
56  {
57  minY = minY_;
58  return *this;
59  }
60 
62  {
63  minZ = minZ_;
64  return *this;
65  }
66 
68  {
69  maxX = maxX_;
70  return *this;
71  }
72 
74  {
75  maxY = maxY_;
76  return *this;
77  }
78 
80  {
81  maxZ = maxZ_;
82  return *this;
83  }
84 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
85 
86  operator VkAabbPositionsKHR const &() const VULKAN_HPP_NOEXCEPT
87  {
88  return *reinterpret_cast<const VkAabbPositionsKHR *>( this );
89  }
90 
92  {
93  return *reinterpret_cast<VkAabbPositionsKHR *>( this );
94  }
95 
96 #if defined( VULKAN_HPP_USE_REFLECT )
97 # if 14 <= VULKAN_HPP_CPP_VERSION
98  auto
99 # else
100  std::tuple<float const &, float const &, float const &, float const &, float const &, float const &>
101 # endif
102  reflect() const VULKAN_HPP_NOEXCEPT
103  {
104  return std::tie( minX, minY, minZ, maxX, maxY, maxZ );
105  }
106 #endif
107 
108 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
109  auto operator<=>( AabbPositionsKHR const & ) const = default;
110 #else
112  {
113 # if defined( VULKAN_HPP_USE_REFLECT )
114  return this->reflect() == rhs.reflect();
115 # else
116  return ( minX == rhs.minX ) && ( minY == rhs.minY ) && ( minZ == rhs.minZ ) && ( maxX == rhs.maxX ) && ( maxY == rhs.maxY ) && ( maxZ == rhs.maxZ );
117 # endif
118  }
119 
121  {
122  return !operator==( rhs );
123  }
124 #endif
125 
126  public:
127  float minX = {};
128  float minY = {};
129  float minZ = {};
130  float maxX = {};
131  float maxY = {};
132  float maxZ = {};
133  };
134  using AabbPositionsNV = AabbPositionsKHR;
135 
137  {
139 #if !defined( VULKAN_HPP_NO_UNION_CONSTRUCTORS )
140 
142 
143  VULKAN_HPP_CONSTEXPR_14 DeviceOrHostAddressConstKHR( const void * hostAddress_ ) : hostAddress( hostAddress_ ) {}
144 #endif /*VULKAN_HPP_NO_UNION_CONSTRUCTORS*/
145 
146 #if !defined( VULKAN_HPP_NO_UNION_SETTERS )
148  {
149  deviceAddress = deviceAddress_;
150  return *this;
151  }
152 
154  {
155  hostAddress = hostAddress_;
156  return *this;
157  }
158 #endif /*VULKAN_HPP_NO_UNION_SETTERS*/
159 
160  operator VkDeviceOrHostAddressConstKHR const &() const
161  {
162  return *reinterpret_cast<const VkDeviceOrHostAddressConstKHR *>( this );
163  }
164 
166  {
167  return *reinterpret_cast<VkDeviceOrHostAddressConstKHR *>( this );
168  }
169 
170 #ifdef VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
172  const void * hostAddress;
173 #else
175  const void * hostAddress;
176 #endif /*VULKAN_HPP_HAS_UNRESTRICTED_UNIONS*/
177  };
178 
180  {
182 
183  static const bool allowDuplicate = false;
185 
186 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
190  VULKAN_HPP_NAMESPACE::DeviceSize vertexStride_ = {},
191  uint32_t maxVertex_ = {},
195  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
196  : pNext( pNext_ )
197  , vertexFormat( vertexFormat_ )
198  , vertexData( vertexData_ )
199  , vertexStride( vertexStride_ )
200  , maxVertex( maxVertex_ )
201  , indexType( indexType_ )
202  , indexData( indexData_ )
203  , transformData( transformData_ )
204  {
205  }
206 
209 
211  : AccelerationStructureGeometryTrianglesDataKHR( *reinterpret_cast<AccelerationStructureGeometryTrianglesDataKHR const *>( &rhs ) )
212  {
213  }
214 
216 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
217 
219  {
220  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryTrianglesDataKHR const *>( &rhs );
221  return *this;
222  }
223 
224 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
226  {
227  pNext = pNext_;
228  return *this;
229  }
230 
232  {
233  vertexFormat = vertexFormat_;
234  return *this;
235  }
236 
239  {
240  vertexData = vertexData_;
241  return *this;
242  }
243 
246  {
247  vertexStride = vertexStride_;
248  return *this;
249  }
250 
252  {
253  maxVertex = maxVertex_;
254  return *this;
255  }
256 
258  {
259  indexType = indexType_;
260  return *this;
261  }
262 
265  {
266  indexData = indexData_;
267  return *this;
268  }
269 
272  {
273  transformData = transformData_;
274  return *this;
275  }
276 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
277 
279  {
280  return *reinterpret_cast<const VkAccelerationStructureGeometryTrianglesDataKHR *>( this );
281  }
282 
284  {
285  return *reinterpret_cast<VkAccelerationStructureGeometryTrianglesDataKHR *>( this );
286  }
287 
288 #if defined( VULKAN_HPP_USE_REFLECT )
289 # if 14 <= VULKAN_HPP_CPP_VERSION
290  auto
291 # else
292  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
293  const void * const &,
297  uint32_t const &,
301 # endif
302  reflect() const VULKAN_HPP_NOEXCEPT
303  {
305  }
306 #endif
307 
308  public:
310  const void * pNext = {};
314  uint32_t maxVertex = {};
318  };
319 
320  template <>
322  {
324  };
325 
327  {
329 
330  static const bool allowDuplicate = false;
332 
333 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
336  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
337  : pNext( pNext_ )
338  , data( data_ )
339  , stride( stride_ )
340  {
341  }
342 
344 
346  : AccelerationStructureGeometryAabbsDataKHR( *reinterpret_cast<AccelerationStructureGeometryAabbsDataKHR const *>( &rhs ) )
347  {
348  }
349 
351 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
352 
354  {
355  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryAabbsDataKHR const *>( &rhs );
356  return *this;
357  }
358 
359 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
361  {
362  pNext = pNext_;
363  return *this;
364  }
365 
368  {
369  data = data_;
370  return *this;
371  }
372 
374  {
375  stride = stride_;
376  return *this;
377  }
378 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
379 
381  {
382  return *reinterpret_cast<const VkAccelerationStructureGeometryAabbsDataKHR *>( this );
383  }
384 
386  {
387  return *reinterpret_cast<VkAccelerationStructureGeometryAabbsDataKHR *>( this );
388  }
389 
390 #if defined( VULKAN_HPP_USE_REFLECT )
391 # if 14 <= VULKAN_HPP_CPP_VERSION
392  auto
393 # else
394  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
395  const void * const &,
398 # endif
399  reflect() const VULKAN_HPP_NOEXCEPT
400  {
401  return std::tie( sType, pNext, data, stride );
402  }
403 #endif
404 
405  public:
407  const void * pNext = {};
410  };
411 
412  template <>
414  {
416  };
417 
419  {
421 
422  static const bool allowDuplicate = false;
424 
425 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
428  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
429  : pNext( pNext_ )
430  , arrayOfPointers( arrayOfPointers_ )
431  , data( data_ )
432  {
433  }
434 
437 
439  : AccelerationStructureGeometryInstancesDataKHR( *reinterpret_cast<AccelerationStructureGeometryInstancesDataKHR const *>( &rhs ) )
440  {
441  }
442 
444 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
445 
447  {
448  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryInstancesDataKHR const *>( &rhs );
449  return *this;
450  }
451 
452 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
454  {
455  pNext = pNext_;
456  return *this;
457  }
458 
461  {
462  arrayOfPointers = arrayOfPointers_;
463  return *this;
464  }
465 
468  {
469  data = data_;
470  return *this;
471  }
472 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
473 
475  {
476  return *reinterpret_cast<const VkAccelerationStructureGeometryInstancesDataKHR *>( this );
477  }
478 
480  {
481  return *reinterpret_cast<VkAccelerationStructureGeometryInstancesDataKHR *>( this );
482  }
483 
484 #if defined( VULKAN_HPP_USE_REFLECT )
485 # if 14 <= VULKAN_HPP_CPP_VERSION
486  auto
487 # else
488  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
489  const void * const &,
492 # endif
493  reflect() const VULKAN_HPP_NOEXCEPT
494  {
495  return std::tie( sType, pNext, arrayOfPointers, data );
496  }
497 #endif
498 
499  public:
501  const void * pNext = {};
504  };
505 
506  template <>
508  {
510  };
511 
513  {
515 #if !defined( VULKAN_HPP_NO_UNION_CONSTRUCTORS )
516 
518  : triangles( triangles_ )
519  {
520  }
521 
523 
525  : instances( instances_ )
526  {
527  }
528 #endif /*VULKAN_HPP_NO_UNION_CONSTRUCTORS*/
529 
530 #if !defined( VULKAN_HPP_NO_UNION_SETTERS )
533  {
534  triangles = triangles_;
535  return *this;
536  }
537 
540  {
541  aabbs = aabbs_;
542  return *this;
543  }
544 
547  {
548  instances = instances_;
549  return *this;
550  }
551 #endif /*VULKAN_HPP_NO_UNION_SETTERS*/
552 
553  operator VkAccelerationStructureGeometryDataKHR const &() const
554  {
555  return *reinterpret_cast<const VkAccelerationStructureGeometryDataKHR *>( this );
556  }
557 
559  {
560  return *reinterpret_cast<VkAccelerationStructureGeometryDataKHR *>( this );
561  }
562 
563 #ifdef VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
567 #else
571 #endif /*VULKAN_HPP_HAS_UNRESTRICTED_UNIONS*/
572  };
573 
575  {
577 
578  static const bool allowDuplicate = false;
580 
581 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
586  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
587  : pNext( pNext_ )
588  , geometryType( geometryType_ )
589  , geometry( geometry_ )
590  , flags( flags_ )
591  {
592  }
593 
595 
597  : AccelerationStructureGeometryKHR( *reinterpret_cast<AccelerationStructureGeometryKHR const *>( &rhs ) )
598  {
599  }
600 
602 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
603 
605  {
606  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryKHR const *>( &rhs );
607  return *this;
608  }
609 
610 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
612  {
613  pNext = pNext_;
614  return *this;
615  }
616 
618  {
619  geometryType = geometryType_;
620  return *this;
621  }
622 
625  {
626  geometry = geometry_;
627  return *this;
628  }
629 
631  {
632  flags = flags_;
633  return *this;
634  }
635 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
636 
638  {
639  return *reinterpret_cast<const VkAccelerationStructureGeometryKHR *>( this );
640  }
641 
643  {
644  return *reinterpret_cast<VkAccelerationStructureGeometryKHR *>( this );
645  }
646 
647 #if defined( VULKAN_HPP_USE_REFLECT )
648 # if 14 <= VULKAN_HPP_CPP_VERSION
649  auto
650 # else
651  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
652  const void * const &,
656 # endif
657  reflect() const VULKAN_HPP_NOEXCEPT
658  {
659  return std::tie( sType, pNext, geometryType, geometry, flags );
660  }
661 #endif
662 
663  public:
665  const void * pNext = {};
669  };
670 
671  template <>
673  {
675  };
676 
678  {
680 #if !defined( VULKAN_HPP_NO_UNION_CONSTRUCTORS )
681 
683 
684  VULKAN_HPP_CONSTEXPR_14 DeviceOrHostAddressKHR( void * hostAddress_ ) : hostAddress( hostAddress_ ) {}
685 #endif /*VULKAN_HPP_NO_UNION_CONSTRUCTORS*/
686 
687 #if !defined( VULKAN_HPP_NO_UNION_SETTERS )
689  {
690  deviceAddress = deviceAddress_;
691  return *this;
692  }
693 
695  {
696  hostAddress = hostAddress_;
697  return *this;
698  }
699 #endif /*VULKAN_HPP_NO_UNION_SETTERS*/
700 
701  operator VkDeviceOrHostAddressKHR const &() const
702  {
703  return *reinterpret_cast<const VkDeviceOrHostAddressKHR *>( this );
704  }
705 
707  {
708  return *reinterpret_cast<VkDeviceOrHostAddressKHR *>( this );
709  }
710 
711 #ifdef VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
713  void * hostAddress;
714 #else
716  void * hostAddress;
717 #endif /*VULKAN_HPP_HAS_UNRESTRICTED_UNIONS*/
718  };
719 
721  {
723 
724  static const bool allowDuplicate = false;
726 
727 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
732  VULKAN_HPP_NAMESPACE::AccelerationStructureKHR srcAccelerationStructure_ = {},
733  VULKAN_HPP_NAMESPACE::AccelerationStructureKHR dstAccelerationStructure_ = {},
734  uint32_t geometryCount_ = {},
736  const VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryKHR * const * ppGeometries_ = {},
738  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
739  : pNext( pNext_ )
740  , type( type_ )
741  , flags( flags_ )
742  , mode( mode_ )
743  , srcAccelerationStructure( srcAccelerationStructure_ )
744  , dstAccelerationStructure( dstAccelerationStructure_ )
745  , geometryCount( geometryCount_ )
746  , pGeometries( pGeometries_ )
747  , ppGeometries( ppGeometries_ )
748  , scratchData( scratchData_ )
749  {
750  }
751 
753 
755  : AccelerationStructureBuildGeometryInfoKHR( *reinterpret_cast<AccelerationStructureBuildGeometryInfoKHR const *>( &rhs ) )
756  {
757  }
758 
759 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
764  VULKAN_HPP_NAMESPACE::AccelerationStructureKHR srcAccelerationStructure_,
765  VULKAN_HPP_NAMESPACE::AccelerationStructureKHR dstAccelerationStructure_,
769  const void * pNext_ = nullptr )
770  : pNext( pNext_ )
771  , type( type_ )
772  , flags( flags_ )
773  , mode( mode_ )
774  , srcAccelerationStructure( srcAccelerationStructure_ )
775  , dstAccelerationStructure( dstAccelerationStructure_ )
776  , geometryCount( static_cast<uint32_t>( !geometries_.empty() ? geometries_.size() : pGeometries_.size() ) )
777  , pGeometries( geometries_.data() )
778  , ppGeometries( pGeometries_.data() )
779  , scratchData( scratchData_ )
780  {
781 # ifdef VULKAN_HPP_NO_EXCEPTIONS
782  VULKAN_HPP_ASSERT( ( !geometries_.empty() + !pGeometries_.empty() ) <= 1 );
783 # else
784  if ( 1 < ( !geometries_.empty() + !pGeometries_.empty() ) )
785  {
786  throw LogicError(
788  "::AccelerationStructureBuildGeometryInfoKHR::AccelerationStructureBuildGeometryInfoKHR: 1 < ( !geometries_.empty() + !pGeometries_.empty() )" );
789  }
790 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/
791  }
792 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
793 
795 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
796 
798  {
799  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR const *>( &rhs );
800  return *this;
801  }
802 
803 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
805  {
806  pNext = pNext_;
807  return *this;
808  }
809 
811  {
812  type = type_;
813  return *this;
814  }
815 
818  {
819  flags = flags_;
820  return *this;
821  }
822 
825  {
826  mode = mode_;
827  return *this;
828  }
829 
832  {
833  srcAccelerationStructure = srcAccelerationStructure_;
834  return *this;
835  }
836 
839  {
840  dstAccelerationStructure = dstAccelerationStructure_;
841  return *this;
842  }
843 
845  {
846  geometryCount = geometryCount_;
847  return *this;
848  }
849 
852  {
853  pGeometries = pGeometries_;
854  return *this;
855  }
856 
857 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
860  {
861  geometryCount = static_cast<uint32_t>( geometries_.size() );
862  pGeometries = geometries_.data();
863  return *this;
864  }
865 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
866 
869  {
870  ppGeometries = ppGeometries_;
871  return *this;
872  }
873 
874 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
878  {
879  geometryCount = static_cast<uint32_t>( pGeometries_.size() );
880  ppGeometries = pGeometries_.data();
881  return *this;
882  }
883 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
884 
887  {
888  scratchData = scratchData_;
889  return *this;
890  }
891 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
892 
894  {
895  return *reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>( this );
896  }
897 
899  {
900  return *reinterpret_cast<VkAccelerationStructureBuildGeometryInfoKHR *>( this );
901  }
902 
903 #if defined( VULKAN_HPP_USE_REFLECT )
904 # if 14 <= VULKAN_HPP_CPP_VERSION
905  auto
906 # else
907  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
908  const void * const &,
914  uint32_t const &,
918 # endif
919  reflect() const VULKAN_HPP_NOEXCEPT
920  {
921  return std::tie(
923  }
924 #endif
925 
926  public:
928  const void * pNext = {};
934  uint32_t geometryCount = {};
938  };
939 
940  template <>
942  {
944  };
945 
947  {
949 
950 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
952  uint32_t primitiveOffset_ = {},
953  uint32_t firstVertex_ = {},
954  uint32_t transformOffset_ = {} ) VULKAN_HPP_NOEXCEPT
955  : primitiveCount( primitiveCount_ )
956  , primitiveOffset( primitiveOffset_ )
957  , firstVertex( firstVertex_ )
958  , transformOffset( transformOffset_ )
959  {
960  }
961 
963 
965  : AccelerationStructureBuildRangeInfoKHR( *reinterpret_cast<AccelerationStructureBuildRangeInfoKHR const *>( &rhs ) )
966  {
967  }
968 
970 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
971 
973  {
974  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR const *>( &rhs );
975  return *this;
976  }
977 
978 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
980  {
981  primitiveCount = primitiveCount_;
982  return *this;
983  }
984 
986  {
987  primitiveOffset = primitiveOffset_;
988  return *this;
989  }
990 
992  {
993  firstVertex = firstVertex_;
994  return *this;
995  }
996 
998  {
999  transformOffset = transformOffset_;
1000  return *this;
1001  }
1002 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
1003 
1005  {
1006  return *reinterpret_cast<const VkAccelerationStructureBuildRangeInfoKHR *>( this );
1007  }
1008 
1010  {
1011  return *reinterpret_cast<VkAccelerationStructureBuildRangeInfoKHR *>( this );
1012  }
1013 
1014 #if defined( VULKAN_HPP_USE_REFLECT )
1015 # if 14 <= VULKAN_HPP_CPP_VERSION
1016  auto
1017 # else
1018  std::tuple<uint32_t const &, uint32_t const &, uint32_t const &, uint32_t const &>
1019 # endif
1020  reflect() const VULKAN_HPP_NOEXCEPT
1021  {
1023  }
1024 #endif
1025 
1026 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
1027  auto operator<=>( AccelerationStructureBuildRangeInfoKHR const & ) const = default;
1028 #else
1030  {
1031 # if defined( VULKAN_HPP_USE_REFLECT )
1032  return this->reflect() == rhs.reflect();
1033 # else
1034  return ( primitiveCount == rhs.primitiveCount ) && ( primitiveOffset == rhs.primitiveOffset ) && ( firstVertex == rhs.firstVertex ) &&
1035  ( transformOffset == rhs.transformOffset );
1036 # endif
1037  }
1038 
1040  {
1041  return !operator==( rhs );
1042  }
1043 #endif
1044 
1045  public:
1046  uint32_t primitiveCount = {};
1047  uint32_t primitiveOffset = {};
1048  uint32_t firstVertex = {};
1049  uint32_t transformOffset = {};
1050  };
1051 
1053  {
1055 
1056  static const bool allowDuplicate = false;
1058 
1059 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
1061  VULKAN_HPP_NAMESPACE::DeviceSize updateScratchSize_ = {},
1062  VULKAN_HPP_NAMESPACE::DeviceSize buildScratchSize_ = {},
1063  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
1064  : pNext( pNext_ )
1065  , accelerationStructureSize( accelerationStructureSize_ )
1066  , updateScratchSize( updateScratchSize_ )
1067  , buildScratchSize( buildScratchSize_ )
1068  {
1069  }
1070 
1072 
1074  : AccelerationStructureBuildSizesInfoKHR( *reinterpret_cast<AccelerationStructureBuildSizesInfoKHR const *>( &rhs ) )
1075  {
1076  }
1077 
1079 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
1080 
1082  {
1083  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR const *>( &rhs );
1084  return *this;
1085  }
1086 
1087 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
1089  {
1090  pNext = pNext_;
1091  return *this;
1092  }
1093 
1096  {
1097  accelerationStructureSize = accelerationStructureSize_;
1098  return *this;
1099  }
1100 
1103  {
1104  updateScratchSize = updateScratchSize_;
1105  return *this;
1106  }
1107 
1110  {
1111  buildScratchSize = buildScratchSize_;
1112  return *this;
1113  }
1114 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
1115 
1117  {
1118  return *reinterpret_cast<const VkAccelerationStructureBuildSizesInfoKHR *>( this );
1119  }
1120 
1122  {
1123  return *reinterpret_cast<VkAccelerationStructureBuildSizesInfoKHR *>( this );
1124  }
1125 
1126 #if defined( VULKAN_HPP_USE_REFLECT )
1127 # if 14 <= VULKAN_HPP_CPP_VERSION
1128  auto
1129 # else
1130  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
1131  const void * const &,
1135 # endif
1136  reflect() const VULKAN_HPP_NOEXCEPT
1137  {
1139  }
1140 #endif
1141 
1142 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
1143  auto operator<=>( AccelerationStructureBuildSizesInfoKHR const & ) const = default;
1144 #else
1146  {
1147 # if defined( VULKAN_HPP_USE_REFLECT )
1148  return this->reflect() == rhs.reflect();
1149 # else
1150  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( accelerationStructureSize == rhs.accelerationStructureSize ) &&
1151  ( updateScratchSize == rhs.updateScratchSize ) && ( buildScratchSize == rhs.buildScratchSize );
1152 # endif
1153  }
1154 
1156  {
1157  return !operator==( rhs );
1158  }
1159 #endif
1160 
1161  public:
1163  const void * pNext = {};
1167  };
1168 
1169  template <>
1171  {
1173  };
1174 
1176  {
1178 
1179  static const bool allowDuplicate = false;
1181 
1182 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
1184  VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructureNV_ = {},
1185  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
1186  : pNext( pNext_ )
1187  , accelerationStructure( accelerationStructure_ )
1188  , accelerationStructureNV( accelerationStructureNV_ )
1189  {
1190  }
1191 
1194 
1196  : AccelerationStructureCaptureDescriptorDataInfoEXT( *reinterpret_cast<AccelerationStructureCaptureDescriptorDataInfoEXT const *>( &rhs ) )
1197  {
1198  }
1199 
1202 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
1203 
1205  {
1206  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureCaptureDescriptorDataInfoEXT const *>( &rhs );
1207  return *this;
1208  }
1209 
1210 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
1212  {
1213  pNext = pNext_;
1214  return *this;
1215  }
1216 
1219  {
1220  accelerationStructure = accelerationStructure_;
1221  return *this;
1222  }
1223 
1226  {
1227  accelerationStructureNV = accelerationStructureNV_;
1228  return *this;
1229  }
1230 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
1231 
1233  {
1234  return *reinterpret_cast<const VkAccelerationStructureCaptureDescriptorDataInfoEXT *>( this );
1235  }
1236 
1238  {
1239  return *reinterpret_cast<VkAccelerationStructureCaptureDescriptorDataInfoEXT *>( this );
1240  }
1241 
1242 #if defined( VULKAN_HPP_USE_REFLECT )
1243 # if 14 <= VULKAN_HPP_CPP_VERSION
1244  auto
1245 # else
1246  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
1247  const void * const &,
1250 # endif
1251  reflect() const VULKAN_HPP_NOEXCEPT
1252  {
1254  }
1255 #endif
1256 
1257 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
1258  auto operator<=>( AccelerationStructureCaptureDescriptorDataInfoEXT const & ) const = default;
1259 #else
1261  {
1262 # if defined( VULKAN_HPP_USE_REFLECT )
1263  return this->reflect() == rhs.reflect();
1264 # else
1265  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( accelerationStructure == rhs.accelerationStructure ) &&
1266  ( accelerationStructureNV == rhs.accelerationStructureNV );
1267 # endif
1268  }
1269 
1271  {
1272  return !operator==( rhs );
1273  }
1274 #endif
1275 
1276  public:
1278  const void * pNext = {};
1281  };
1282 
1283  template <>
1285  {
1287  };
1288 
1290  {
1292 
1293  static const bool allowDuplicate = false;
1295 
1296 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
1299  VULKAN_HPP_NAMESPACE::Buffer buffer_ = {},
1300  VULKAN_HPP_NAMESPACE::DeviceSize offset_ = {},
1303  VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_ = {},
1304  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
1305  : pNext( pNext_ )
1306  , createFlags( createFlags_ )
1307  , buffer( buffer_ )
1308  , offset( offset_ )
1309  , size( size_ )
1310  , type( type_ )
1311  , deviceAddress( deviceAddress_ )
1312  {
1313  }
1314 
1316 
1318  : AccelerationStructureCreateInfoKHR( *reinterpret_cast<AccelerationStructureCreateInfoKHR const *>( &rhs ) )
1319  {
1320  }
1321 
1323 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
1324 
1326  {
1327  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoKHR const *>( &rhs );
1328  return *this;
1329  }
1330 
1331 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
1333  {
1334  pNext = pNext_;
1335  return *this;
1336  }
1337 
1340  {
1341  createFlags = createFlags_;
1342  return *this;
1343  }
1344 
1346  {
1347  buffer = buffer_;
1348  return *this;
1349  }
1350 
1352  {
1353  offset = offset_;
1354  return *this;
1355  }
1356 
1358  {
1359  size = size_;
1360  return *this;
1361  }
1362 
1364  {
1365  type = type_;
1366  return *this;
1367  }
1368 
1370  {
1371  deviceAddress = deviceAddress_;
1372  return *this;
1373  }
1374 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
1375 
1377  {
1378  return *reinterpret_cast<const VkAccelerationStructureCreateInfoKHR *>( this );
1379  }
1380 
1382  {
1383  return *reinterpret_cast<VkAccelerationStructureCreateInfoKHR *>( this );
1384  }
1385 
1386 #if defined( VULKAN_HPP_USE_REFLECT )
1387 # if 14 <= VULKAN_HPP_CPP_VERSION
1388  auto
1389 # else
1390  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
1391  const void * const &,
1398 # endif
1399  reflect() const VULKAN_HPP_NOEXCEPT
1400  {
1401  return std::tie( sType, pNext, createFlags, buffer, offset, size, type, deviceAddress );
1402  }
1403 #endif
1404 
1405 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
1406  auto operator<=>( AccelerationStructureCreateInfoKHR const & ) const = default;
1407 #else
1409  {
1410 # if defined( VULKAN_HPP_USE_REFLECT )
1411  return this->reflect() == rhs.reflect();
1412 # else
1413  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( createFlags == rhs.createFlags ) && ( buffer == rhs.buffer ) && ( offset == rhs.offset ) &&
1414  ( size == rhs.size ) && ( type == rhs.type ) && ( deviceAddress == rhs.deviceAddress );
1415 # endif
1416  }
1417 
1419  {
1420  return !operator==( rhs );
1421  }
1422 #endif
1423 
1424  public:
1426  const void * pNext = {};
1433  };
1434 
1435  template <>
1437  {
1439  };
1440 
1442  {
1444 
1445  static const bool allowDuplicate = false;
1447 
1448 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
1450  VULKAN_HPP_NAMESPACE::DeviceSize vertexOffset_ = {},
1451  uint32_t vertexCount_ = {},
1452  VULKAN_HPP_NAMESPACE::DeviceSize vertexStride_ = {},
1454  VULKAN_HPP_NAMESPACE::Buffer indexData_ = {},
1455  VULKAN_HPP_NAMESPACE::DeviceSize indexOffset_ = {},
1456  uint32_t indexCount_ = {},
1458  VULKAN_HPP_NAMESPACE::Buffer transformData_ = {},
1459  VULKAN_HPP_NAMESPACE::DeviceSize transformOffset_ = {},
1460  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
1461  : pNext( pNext_ )
1462  , vertexData( vertexData_ )
1463  , vertexOffset( vertexOffset_ )
1464  , vertexCount( vertexCount_ )
1465  , vertexStride( vertexStride_ )
1466  , vertexFormat( vertexFormat_ )
1467  , indexData( indexData_ )
1468  , indexOffset( indexOffset_ )
1469  , indexCount( indexCount_ )
1470  , indexType( indexType_ )
1471  , transformData( transformData_ )
1472  , transformOffset( transformOffset_ )
1473  {
1474  }
1475 
1477 
1478  GeometryTrianglesNV( VkGeometryTrianglesNV const & rhs ) VULKAN_HPP_NOEXCEPT : GeometryTrianglesNV( *reinterpret_cast<GeometryTrianglesNV const *>( &rhs ) )
1479  {
1480  }
1481 
1483 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
1484 
1486  {
1487  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::GeometryTrianglesNV const *>( &rhs );
1488  return *this;
1489  }
1490 
1491 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
1493  {
1494  pNext = pNext_;
1495  return *this;
1496  }
1497 
1499  {
1500  vertexData = vertexData_;
1501  return *this;
1502  }
1503 
1505  {
1506  vertexOffset = vertexOffset_;
1507  return *this;
1508  }
1509 
1511  {
1512  vertexCount = vertexCount_;
1513  return *this;
1514  }
1515 
1517  {
1518  vertexStride = vertexStride_;
1519  return *this;
1520  }
1521 
1523  {
1524  vertexFormat = vertexFormat_;
1525  return *this;
1526  }
1527 
1529  {
1530  indexData = indexData_;
1531  return *this;
1532  }
1533 
1535  {
1536  indexOffset = indexOffset_;
1537  return *this;
1538  }
1539 
1541  {
1542  indexCount = indexCount_;
1543  return *this;
1544  }
1545 
1547  {
1548  indexType = indexType_;
1549  return *this;
1550  }
1551 
1553  {
1554  transformData = transformData_;
1555  return *this;
1556  }
1557 
1559  {
1560  transformOffset = transformOffset_;
1561  return *this;
1562  }
1563 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
1564 
1566  {
1567  return *reinterpret_cast<const VkGeometryTrianglesNV *>( this );
1568  }
1569 
1571  {
1572  return *reinterpret_cast<VkGeometryTrianglesNV *>( this );
1573  }
1574 
1575 #if defined( VULKAN_HPP_USE_REFLECT )
1576 # if 14 <= VULKAN_HPP_CPP_VERSION
1577  auto
1578 # else
1579  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
1580  const void * const &,
1583  uint32_t const &,
1588  uint32_t const &,
1592 # endif
1593  reflect() const VULKAN_HPP_NOEXCEPT
1594  {
1595  return std::tie( sType,
1596  pNext,
1597  vertexData,
1598  vertexOffset,
1599  vertexCount,
1600  vertexStride,
1601  vertexFormat,
1602  indexData,
1603  indexOffset,
1604  indexCount,
1605  indexType,
1606  transformData,
1607  transformOffset );
1608  }
1609 #endif
1610 
1611 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
1612  auto operator<=>( GeometryTrianglesNV const & ) const = default;
1613 #else
1615  {
1616 # if defined( VULKAN_HPP_USE_REFLECT )
1617  return this->reflect() == rhs.reflect();
1618 # else
1619  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( vertexData == rhs.vertexData ) && ( vertexOffset == rhs.vertexOffset ) &&
1620  ( vertexCount == rhs.vertexCount ) && ( vertexStride == rhs.vertexStride ) && ( vertexFormat == rhs.vertexFormat ) &&
1621  ( indexData == rhs.indexData ) && ( indexOffset == rhs.indexOffset ) && ( indexCount == rhs.indexCount ) && ( indexType == rhs.indexType ) &&
1622  ( transformData == rhs.transformData ) && ( transformOffset == rhs.transformOffset );
1623 # endif
1624  }
1625 
1627  {
1628  return !operator==( rhs );
1629  }
1630 #endif
1631 
1632  public:
1634  const void * pNext = {};
1637  uint32_t vertexCount = {};
1642  uint32_t indexCount = {};
1646  };
1647 
1648  template <>
1650  {
1652  };
1653 
1655  {
1657 
1658  static const bool allowDuplicate = false;
1660 
1661 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
1663  uint32_t numAABBs_ = {},
1664  uint32_t stride_ = {},
1665  VULKAN_HPP_NAMESPACE::DeviceSize offset_ = {},
1666  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
1667  : pNext( pNext_ )
1668  , aabbData( aabbData_ )
1669  , numAABBs( numAABBs_ )
1670  , stride( stride_ )
1671  , offset( offset_ )
1672  {
1673  }
1674 
1676 
1677  GeometryAABBNV( VkGeometryAABBNV const & rhs ) VULKAN_HPP_NOEXCEPT : GeometryAABBNV( *reinterpret_cast<GeometryAABBNV const *>( &rhs ) ) {}
1678 
1679  GeometryAABBNV & operator=( GeometryAABBNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
1680 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
1681 
1683  {
1684  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::GeometryAABBNV const *>( &rhs );
1685  return *this;
1686  }
1687 
1688 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
1690  {
1691  pNext = pNext_;
1692  return *this;
1693  }
1694 
1696  {
1697  aabbData = aabbData_;
1698  return *this;
1699  }
1700 
1702  {
1703  numAABBs = numAABBs_;
1704  return *this;
1705  }
1706 
1708  {
1709  stride = stride_;
1710  return *this;
1711  }
1712 
1714  {
1715  offset = offset_;
1716  return *this;
1717  }
1718 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
1719 
1720  operator VkGeometryAABBNV const &() const VULKAN_HPP_NOEXCEPT
1721  {
1722  return *reinterpret_cast<const VkGeometryAABBNV *>( this );
1723  }
1724 
1726  {
1727  return *reinterpret_cast<VkGeometryAABBNV *>( this );
1728  }
1729 
1730 #if defined( VULKAN_HPP_USE_REFLECT )
1731 # if 14 <= VULKAN_HPP_CPP_VERSION
1732  auto
1733 # else
1734  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
1735  const void * const &,
1737  uint32_t const &,
1738  uint32_t const &,
1740 # endif
1741  reflect() const VULKAN_HPP_NOEXCEPT
1742  {
1743  return std::tie( sType, pNext, aabbData, numAABBs, stride, offset );
1744  }
1745 #endif
1746 
1747 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
1748  auto operator<=>( GeometryAABBNV const & ) const = default;
1749 #else
1751  {
1752 # if defined( VULKAN_HPP_USE_REFLECT )
1753  return this->reflect() == rhs.reflect();
1754 # else
1755  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( aabbData == rhs.aabbData ) && ( numAABBs == rhs.numAABBs ) && ( stride == rhs.stride ) &&
1756  ( offset == rhs.offset );
1757 # endif
1758  }
1759 
1761  {
1762  return !operator==( rhs );
1763  }
1764 #endif
1765 
1766  public:
1768  const void * pNext = {};
1770  uint32_t numAABBs = {};
1771  uint32_t stride = {};
1773  };
1774 
1775  template <>
1777  {
1779  };
1780 
1782  {
1784 
1785 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
1788  : triangles( triangles_ )
1789  , aabbs( aabbs_ )
1790  {
1791  }
1792 
1794 
1795  GeometryDataNV( VkGeometryDataNV const & rhs ) VULKAN_HPP_NOEXCEPT : GeometryDataNV( *reinterpret_cast<GeometryDataNV const *>( &rhs ) ) {}
1796 
1797  GeometryDataNV & operator=( GeometryDataNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
1798 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
1799 
1801  {
1802  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::GeometryDataNV const *>( &rhs );
1803  return *this;
1804  }
1805 
1806 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
1808  {
1809  triangles = triangles_;
1810  return *this;
1811  }
1812 
1814  {
1815  aabbs = aabbs_;
1816  return *this;
1817  }
1818 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
1819 
1820  operator VkGeometryDataNV const &() const VULKAN_HPP_NOEXCEPT
1821  {
1822  return *reinterpret_cast<const VkGeometryDataNV *>( this );
1823  }
1824 
1826  {
1827  return *reinterpret_cast<VkGeometryDataNV *>( this );
1828  }
1829 
1830 #if defined( VULKAN_HPP_USE_REFLECT )
1831 # if 14 <= VULKAN_HPP_CPP_VERSION
1832  auto
1833 # else
1834  std::tuple<VULKAN_HPP_NAMESPACE::GeometryTrianglesNV const &, VULKAN_HPP_NAMESPACE::GeometryAABBNV const &>
1835 # endif
1836  reflect() const VULKAN_HPP_NOEXCEPT
1837  {
1838  return std::tie( triangles, aabbs );
1839  }
1840 #endif
1841 
1842 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
1843  auto operator<=>( GeometryDataNV const & ) const = default;
1844 #else
1846  {
1847 # if defined( VULKAN_HPP_USE_REFLECT )
1848  return this->reflect() == rhs.reflect();
1849 # else
1850  return ( triangles == rhs.triangles ) && ( aabbs == rhs.aabbs );
1851 # endif
1852  }
1853 
1855  {
1856  return !operator==( rhs );
1857  }
1858 #endif
1859 
1860  public:
1863  };
1864 
1865  struct GeometryNV
1866  {
1868 
1869  static const bool allowDuplicate = false;
1871 
1872 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
1874  VULKAN_HPP_NAMESPACE::GeometryDataNV geometry_ = {},
1876  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
1877  : pNext( pNext_ )
1878  , geometryType( geometryType_ )
1879  , geometry( geometry_ )
1880  , flags( flags_ )
1881  {
1882  }
1883 
1885 
1886  GeometryNV( VkGeometryNV const & rhs ) VULKAN_HPP_NOEXCEPT : GeometryNV( *reinterpret_cast<GeometryNV const *>( &rhs ) ) {}
1887 
1888  GeometryNV & operator=( GeometryNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
1889 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
1890 
1892  {
1893  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::GeometryNV const *>( &rhs );
1894  return *this;
1895  }
1896 
1897 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
1899  {
1900  pNext = pNext_;
1901  return *this;
1902  }
1903 
1905  {
1906  geometryType = geometryType_;
1907  return *this;
1908  }
1909 
1911  {
1912  geometry = geometry_;
1913  return *this;
1914  }
1915 
1917  {
1918  flags = flags_;
1919  return *this;
1920  }
1921 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
1922 
1923  operator VkGeometryNV const &() const VULKAN_HPP_NOEXCEPT
1924  {
1925  return *reinterpret_cast<const VkGeometryNV *>( this );
1926  }
1927 
1929  {
1930  return *reinterpret_cast<VkGeometryNV *>( this );
1931  }
1932 
1933 #if defined( VULKAN_HPP_USE_REFLECT )
1934 # if 14 <= VULKAN_HPP_CPP_VERSION
1935  auto
1936 # else
1937  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
1938  const void * const &,
1942 # endif
1943  reflect() const VULKAN_HPP_NOEXCEPT
1944  {
1945  return std::tie( sType, pNext, geometryType, geometry, flags );
1946  }
1947 #endif
1948 
1949 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
1950  auto operator<=>( GeometryNV const & ) const = default;
1951 #else
1952  bool operator==( GeometryNV const & rhs ) const VULKAN_HPP_NOEXCEPT
1953  {
1954 # if defined( VULKAN_HPP_USE_REFLECT )
1955  return this->reflect() == rhs.reflect();
1956 # else
1957  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( geometryType == rhs.geometryType ) && ( geometry == rhs.geometry ) && ( flags == rhs.flags );
1958 # endif
1959  }
1960 
1961  bool operator!=( GeometryNV const & rhs ) const VULKAN_HPP_NOEXCEPT
1962  {
1963  return !operator==( rhs );
1964  }
1965 #endif
1966 
1967  public:
1969  const void * pNext = {};
1973  };
1974 
1975  template <>
1977  {
1978  using Type = GeometryNV;
1979  };
1980 
1982  {
1984 
1985  static const bool allowDuplicate = false;
1987 
1988 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
1991  uint32_t instanceCount_ = {},
1992  uint32_t geometryCount_ = {},
1993  const VULKAN_HPP_NAMESPACE::GeometryNV * pGeometries_ = {},
1994  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
1995  : pNext( pNext_ )
1996  , type( type_ )
1997  , flags( flags_ )
1998  , instanceCount( instanceCount_ )
1999  , geometryCount( geometryCount_ )
2000  , pGeometries( pGeometries_ )
2001  {
2002  }
2003 
2005 
2007  : AccelerationStructureInfoNV( *reinterpret_cast<AccelerationStructureInfoNV const *>( &rhs ) )
2008  {
2009  }
2010 
2011 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
2014  uint32_t instanceCount_,
2016  const void * pNext_ = nullptr )
2017  : pNext( pNext_ )
2018  , type( type_ )
2019  , flags( flags_ )
2020  , instanceCount( instanceCount_ )
2021  , geometryCount( static_cast<uint32_t>( geometries_.size() ) )
2022  , pGeometries( geometries_.data() )
2023  {
2024  }
2025 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
2026 
2028 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
2029 
2031  {
2032  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV const *>( &rhs );
2033  return *this;
2034  }
2035 
2036 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
2038  {
2039  pNext = pNext_;
2040  return *this;
2041  }
2042 
2044  {
2045  type = type_;
2046  return *this;
2047  }
2048 
2050  {
2051  flags = flags_;
2052  return *this;
2053  }
2054 
2056  {
2057  instanceCount = instanceCount_;
2058  return *this;
2059  }
2060 
2062  {
2063  geometryCount = geometryCount_;
2064  return *this;
2065  }
2066 
2068  {
2069  pGeometries = pGeometries_;
2070  return *this;
2071  }
2072 
2073 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
2076  {
2077  geometryCount = static_cast<uint32_t>( geometries_.size() );
2078  pGeometries = geometries_.data();
2079  return *this;
2080  }
2081 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
2082 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
2083 
2085  {
2086  return *reinterpret_cast<const VkAccelerationStructureInfoNV *>( this );
2087  }
2088 
2090  {
2091  return *reinterpret_cast<VkAccelerationStructureInfoNV *>( this );
2092  }
2093 
2094 #if defined( VULKAN_HPP_USE_REFLECT )
2095 # if 14 <= VULKAN_HPP_CPP_VERSION
2096  auto
2097 # else
2098  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
2099  const void * const &,
2102  uint32_t const &,
2103  uint32_t const &,
2104  const VULKAN_HPP_NAMESPACE::GeometryNV * const &>
2105 # endif
2106  reflect() const VULKAN_HPP_NOEXCEPT
2107  {
2108  return std::tie( sType, pNext, type, flags, instanceCount, geometryCount, pGeometries );
2109  }
2110 #endif
2111 
2112 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
2113  auto operator<=>( AccelerationStructureInfoNV const & ) const = default;
2114 #else
2116  {
2117 # if defined( VULKAN_HPP_USE_REFLECT )
2118  return this->reflect() == rhs.reflect();
2119 # else
2120  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( type == rhs.type ) && ( flags == rhs.flags ) && ( instanceCount == rhs.instanceCount ) &&
2121  ( geometryCount == rhs.geometryCount ) && ( pGeometries == rhs.pGeometries );
2122 # endif
2123  }
2124 
2126  {
2127  return !operator==( rhs );
2128  }
2129 #endif
2130 
2131  public:
2133  const void * pNext = {};
2136  uint32_t instanceCount = {};
2137  uint32_t geometryCount = {};
2139  };
2140 
2141  template <>
2143  {
2145  };
2146 
2148  {
2150 
2151  static const bool allowDuplicate = false;
2153 
2154 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
2157  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
2158  : pNext( pNext_ )
2159  , compactedSize( compactedSize_ )
2160  , info( info_ )
2161  {
2162  }
2163 
2165 
2167  : AccelerationStructureCreateInfoNV( *reinterpret_cast<AccelerationStructureCreateInfoNV const *>( &rhs ) )
2168  {
2169  }
2170 
2172 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
2173 
2175  {
2176  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoNV const *>( &rhs );
2177  return *this;
2178  }
2179 
2180 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
2182  {
2183  pNext = pNext_;
2184  return *this;
2185  }
2186 
2188  {
2189  compactedSize = compactedSize_;
2190  return *this;
2191  }
2192 
2194  {
2195  info = info_;
2196  return *this;
2197  }
2198 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
2199 
2201  {
2202  return *reinterpret_cast<const VkAccelerationStructureCreateInfoNV *>( this );
2203  }
2204 
2206  {
2207  return *reinterpret_cast<VkAccelerationStructureCreateInfoNV *>( this );
2208  }
2209 
2210 #if defined( VULKAN_HPP_USE_REFLECT )
2211 # if 14 <= VULKAN_HPP_CPP_VERSION
2212  auto
2213 # else
2214  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
2215  const void * const &,
2218 # endif
2219  reflect() const VULKAN_HPP_NOEXCEPT
2220  {
2221  return std::tie( sType, pNext, compactedSize, info );
2222  }
2223 #endif
2224 
2225 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
2226  auto operator<=>( AccelerationStructureCreateInfoNV const & ) const = default;
2227 #else
2229  {
2230 # if defined( VULKAN_HPP_USE_REFLECT )
2231  return this->reflect() == rhs.reflect();
2232 # else
2233  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( compactedSize == rhs.compactedSize ) && ( info == rhs.info );
2234 # endif
2235  }
2236 
2238  {
2239  return !operator==( rhs );
2240  }
2241 #endif
2242 
2243  public:
2245  const void * pNext = {};
2248  };
2249 
2250  template <>
2252  {
2254  };
2255 
2257  {
2259 
2260  static const bool allowDuplicate = false;
2262 
2263 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
2265  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
2266  : pNext( pNext_ )
2267  , accelerationStructure( accelerationStructure_ )
2268  {
2269  }
2270 
2272 
2274  : AccelerationStructureDeviceAddressInfoKHR( *reinterpret_cast<AccelerationStructureDeviceAddressInfoKHR const *>( &rhs ) )
2275  {
2276  }
2277 
2279 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
2280 
2282  {
2283  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureDeviceAddressInfoKHR const *>( &rhs );
2284  return *this;
2285  }
2286 
2287 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
2289  {
2290  pNext = pNext_;
2291  return *this;
2292  }
2293 
2296  {
2297  accelerationStructure = accelerationStructure_;
2298  return *this;
2299  }
2300 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
2301 
2303  {
2304  return *reinterpret_cast<const VkAccelerationStructureDeviceAddressInfoKHR *>( this );
2305  }
2306 
2308  {
2309  return *reinterpret_cast<VkAccelerationStructureDeviceAddressInfoKHR *>( this );
2310  }
2311 
2312 #if defined( VULKAN_HPP_USE_REFLECT )
2313 # if 14 <= VULKAN_HPP_CPP_VERSION
2314  auto
2315 # else
2316  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::AccelerationStructureKHR const &>
2317 # endif
2318  reflect() const VULKAN_HPP_NOEXCEPT
2319  {
2320  return std::tie( sType, pNext, accelerationStructure );
2321  }
2322 #endif
2323 
2324 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
2325  auto operator<=>( AccelerationStructureDeviceAddressInfoKHR const & ) const = default;
2326 #else
2328  {
2329 # if defined( VULKAN_HPP_USE_REFLECT )
2330  return this->reflect() == rhs.reflect();
2331 # else
2332  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( accelerationStructure == rhs.accelerationStructure );
2333 # endif
2334  }
2335 
2337  {
2338  return !operator==( rhs );
2339  }
2340 #endif
2341 
2342  public:
2344  const void * pNext = {};
2346  };
2347 
2348  template <>
2350  {
2352  };
2353 
2355  {
2357 
2358  static const bool allowDuplicate = false;
2360 
2361 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
2363  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
2364  : pNext( pNext_ )
2365  , vertexData( vertexData_ )
2366  {
2367  }
2368 
2371 
2373  : AccelerationStructureGeometryMotionTrianglesDataNV( *reinterpret_cast<AccelerationStructureGeometryMotionTrianglesDataNV const *>( &rhs ) )
2374  {
2375  }
2376 
2379 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
2380 
2382  {
2383  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryMotionTrianglesDataNV const *>( &rhs );
2384  return *this;
2385  }
2386 
2387 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
2389  {
2390  pNext = pNext_;
2391  return *this;
2392  }
2393 
2396  {
2397  vertexData = vertexData_;
2398  return *this;
2399  }
2400 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
2401 
2403  {
2404  return *reinterpret_cast<const VkAccelerationStructureGeometryMotionTrianglesDataNV *>( this );
2405  }
2406 
2408  {
2409  return *reinterpret_cast<VkAccelerationStructureGeometryMotionTrianglesDataNV *>( this );
2410  }
2411 
2412 #if defined( VULKAN_HPP_USE_REFLECT )
2413 # if 14 <= VULKAN_HPP_CPP_VERSION
2414  auto
2415 # else
2416  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR const &>
2417 # endif
2418  reflect() const VULKAN_HPP_NOEXCEPT
2419  {
2420  return std::tie( sType, pNext, vertexData );
2421  }
2422 #endif
2423 
2424  public:
2426  const void * pNext = {};
2428  };
2429 
2430  template <>
2432  {
2434  };
2435 
2437  {
2439 
2440 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
2441  VULKAN_HPP_CONSTEXPR_14 TransformMatrixKHR( std::array<std::array<float, 4>, 3> const & matrix_ = {} ) VULKAN_HPP_NOEXCEPT : matrix( matrix_ ) {}
2442 
2444 
2445  TransformMatrixKHR( VkTransformMatrixKHR const & rhs ) VULKAN_HPP_NOEXCEPT : TransformMatrixKHR( *reinterpret_cast<TransformMatrixKHR const *>( &rhs ) ) {}
2446 
2448 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
2449 
2451  {
2452  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::TransformMatrixKHR const *>( &rhs );
2453  return *this;
2454  }
2455 
2456 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
2457  VULKAN_HPP_CONSTEXPR_14 TransformMatrixKHR & setMatrix( std::array<std::array<float, 4>, 3> matrix_ ) VULKAN_HPP_NOEXCEPT
2458  {
2459  matrix = matrix_;
2460  return *this;
2461  }
2462 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
2463 
2465  {
2466  return *reinterpret_cast<const VkTransformMatrixKHR *>( this );
2467  }
2468 
2470  {
2471  return *reinterpret_cast<VkTransformMatrixKHR *>( this );
2472  }
2473 
2474 #if defined( VULKAN_HPP_USE_REFLECT )
2475 # if 14 <= VULKAN_HPP_CPP_VERSION
2476  auto
2477 # else
2478  std::tuple<VULKAN_HPP_NAMESPACE::ArrayWrapper2D<float, 3, 4> const &>
2479 # endif
2480  reflect() const VULKAN_HPP_NOEXCEPT
2481  {
2482  return std::tie( matrix );
2483  }
2484 #endif
2485 
2486 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
2487  auto operator<=>( TransformMatrixKHR const & ) const = default;
2488 #else
2490  {
2491 # if defined( VULKAN_HPP_USE_REFLECT )
2492  return this->reflect() == rhs.reflect();
2493 # else
2494  return ( matrix == rhs.matrix );
2495 # endif
2496  }
2497 
2499  {
2500  return !operator==( rhs );
2501  }
2502 #endif
2503 
2504  public:
2506  };
2507  using TransformMatrixNV = TransformMatrixKHR;
2508 
2510  {
2512 
2513 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
2515  uint32_t instanceCustomIndex_ = {},
2516  uint32_t mask_ = {},
2517  uint32_t instanceShaderBindingTableRecordOffset_ = {},
2519  uint64_t accelerationStructureReference_ = {} ) VULKAN_HPP_NOEXCEPT
2520  : transform( transform_ )
2521  , instanceCustomIndex( instanceCustomIndex_ )
2522  , mask( mask_ )
2523  , instanceShaderBindingTableRecordOffset( instanceShaderBindingTableRecordOffset_ )
2524  , flags( flags_ )
2525  , accelerationStructureReference( accelerationStructureReference_ )
2526  {
2527  }
2528 
2530 
2532  : AccelerationStructureInstanceKHR( *reinterpret_cast<AccelerationStructureInstanceKHR const *>( &rhs ) )
2533  {
2534  }
2535 
2537 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
2538 
2540  {
2541  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureInstanceKHR const *>( &rhs );
2542  return *this;
2543  }
2544 
2545 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
2547  {
2548  transform = transform_;
2549  return *this;
2550  }
2551 
2553  {
2554  instanceCustomIndex = instanceCustomIndex_;
2555  return *this;
2556  }
2557 
2559  {
2560  mask = mask_;
2561  return *this;
2562  }
2563 
2565  setInstanceShaderBindingTableRecordOffset( uint32_t instanceShaderBindingTableRecordOffset_ ) VULKAN_HPP_NOEXCEPT
2566  {
2567  instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset_;
2568  return *this;
2569  }
2570 
2572  {
2573  flags = *reinterpret_cast<VkGeometryInstanceFlagsKHR *>( &flags_ );
2574  return *this;
2575  }
2576 
2578  {
2579  accelerationStructureReference = accelerationStructureReference_;
2580  return *this;
2581  }
2582 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
2583 
2585  {
2586  return *reinterpret_cast<const VkAccelerationStructureInstanceKHR *>( this );
2587  }
2588 
2590  {
2591  return *reinterpret_cast<VkAccelerationStructureInstanceKHR *>( this );
2592  }
2593 
2594 #if defined( VULKAN_HPP_USE_REFLECT )
2595 # if 14 <= VULKAN_HPP_CPP_VERSION
2596  auto
2597 # else
2598  std::tuple<VULKAN_HPP_NAMESPACE::TransformMatrixKHR const &,
2599  uint32_t const &,
2600  uint32_t const &,
2601  uint32_t const &,
2603  uint64_t const &>
2604 # endif
2605  reflect() const VULKAN_HPP_NOEXCEPT
2606  {
2608  }
2609 #endif
2610 
2611 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
2612  auto operator<=>( AccelerationStructureInstanceKHR const & ) const = default;
2613 #else
2615  {
2616 # if defined( VULKAN_HPP_USE_REFLECT )
2617  return this->reflect() == rhs.reflect();
2618 # else
2619  return ( transform == rhs.transform ) && ( instanceCustomIndex == rhs.instanceCustomIndex ) && ( mask == rhs.mask ) &&
2620  ( instanceShaderBindingTableRecordOffset == rhs.instanceShaderBindingTableRecordOffset ) && ( flags == rhs.flags ) &&
2621  ( accelerationStructureReference == rhs.accelerationStructureReference );
2622 # endif
2623  }
2624 
2626  {
2627  return !operator==( rhs );
2628  }
2629 #endif
2630 
2631  public:
2633  uint32_t instanceCustomIndex : 24;
2634  uint32_t mask : 8;
2638  };
2639  using AccelerationStructureInstanceNV = AccelerationStructureInstanceKHR;
2640 
2642  {
2644 
2645 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
2647  VULKAN_HPP_NAMESPACE::TransformMatrixKHR transformT1_ = {},
2648  uint32_t instanceCustomIndex_ = {},
2649  uint32_t mask_ = {},
2650  uint32_t instanceShaderBindingTableRecordOffset_ = {},
2652  uint64_t accelerationStructureReference_ = {} ) VULKAN_HPP_NOEXCEPT
2653  : transformT0( transformT0_ )
2654  , transformT1( transformT1_ )
2655  , instanceCustomIndex( instanceCustomIndex_ )
2656  , mask( mask_ )
2657  , instanceShaderBindingTableRecordOffset( instanceShaderBindingTableRecordOffset_ )
2658  , flags( flags_ )
2659  , accelerationStructureReference( accelerationStructureReference_ )
2660  {
2661  }
2662 
2665 
2667  : AccelerationStructureMatrixMotionInstanceNV( *reinterpret_cast<AccelerationStructureMatrixMotionInstanceNV const *>( &rhs ) )
2668  {
2669  }
2670 
2672 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
2673 
2675  {
2676  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureMatrixMotionInstanceNV const *>( &rhs );
2677  return *this;
2678  }
2679 
2680 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
2683  {
2684  transformT0 = transformT0_;
2685  return *this;
2686  }
2687 
2690  {
2691  transformT1 = transformT1_;
2692  return *this;
2693  }
2694 
2696  {
2697  instanceCustomIndex = instanceCustomIndex_;
2698  return *this;
2699  }
2700 
2702  {
2703  mask = mask_;
2704  return *this;
2705  }
2706 
2708  setInstanceShaderBindingTableRecordOffset( uint32_t instanceShaderBindingTableRecordOffset_ ) VULKAN_HPP_NOEXCEPT
2709  {
2710  instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset_;
2711  return *this;
2712  }
2713 
2715  {
2716  flags = *reinterpret_cast<VkGeometryInstanceFlagsKHR *>( &flags_ );
2717  return *this;
2718  }
2719 
2721  setAccelerationStructureReference( uint64_t accelerationStructureReference_ ) VULKAN_HPP_NOEXCEPT
2722  {
2723  accelerationStructureReference = accelerationStructureReference_;
2724  return *this;
2725  }
2726 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
2727 
2729  {
2730  return *reinterpret_cast<const VkAccelerationStructureMatrixMotionInstanceNV *>( this );
2731  }
2732 
2734  {
2735  return *reinterpret_cast<VkAccelerationStructureMatrixMotionInstanceNV *>( this );
2736  }
2737 
2738 #if defined( VULKAN_HPP_USE_REFLECT )
2739 # if 14 <= VULKAN_HPP_CPP_VERSION
2740  auto
2741 # else
2742  std::tuple<VULKAN_HPP_NAMESPACE::TransformMatrixKHR const &,
2744  uint32_t const &,
2745  uint32_t const &,
2746  uint32_t const &,
2748  uint64_t const &>
2749 # endif
2750  reflect() const VULKAN_HPP_NOEXCEPT
2751  {
2753  }
2754 #endif
2755 
2756 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
2757  auto operator<=>( AccelerationStructureMatrixMotionInstanceNV const & ) const = default;
2758 #else
2760  {
2761 # if defined( VULKAN_HPP_USE_REFLECT )
2762  return this->reflect() == rhs.reflect();
2763 # else
2764  return ( transformT0 == rhs.transformT0 ) && ( transformT1 == rhs.transformT1 ) && ( instanceCustomIndex == rhs.instanceCustomIndex ) &&
2765  ( mask == rhs.mask ) && ( instanceShaderBindingTableRecordOffset == rhs.instanceShaderBindingTableRecordOffset ) && ( flags == rhs.flags ) &&
2766  ( accelerationStructureReference == rhs.accelerationStructureReference );
2767 # endif
2768  }
2769 
2771  {
2772  return !operator==( rhs );
2773  }
2774 #endif
2775 
2776  public:
2779  uint32_t instanceCustomIndex : 24;
2780  uint32_t mask : 8;
2784  };
2785 
2787  {
2789 
2790  static const bool allowDuplicate = false;
2792 
2793 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
2796  VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure_ = {},
2797  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
2798  : pNext( pNext_ )
2799  , type( type_ )
2800  , accelerationStructure( accelerationStructure_ )
2801  {
2802  }
2803 
2806 
2808  : AccelerationStructureMemoryRequirementsInfoNV( *reinterpret_cast<AccelerationStructureMemoryRequirementsInfoNV const *>( &rhs ) )
2809  {
2810  }
2811 
2813 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
2814 
2816  {
2817  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsInfoNV const *>( &rhs );
2818  return *this;
2819  }
2820 
2821 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
2823  {
2824  pNext = pNext_;
2825  return *this;
2826  }
2827 
2830  {
2831  type = type_;
2832  return *this;
2833  }
2834 
2837  {
2838  accelerationStructure = accelerationStructure_;
2839  return *this;
2840  }
2841 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
2842 
2844  {
2845  return *reinterpret_cast<const VkAccelerationStructureMemoryRequirementsInfoNV *>( this );
2846  }
2847 
2849  {
2850  return *reinterpret_cast<VkAccelerationStructureMemoryRequirementsInfoNV *>( this );
2851  }
2852 
2853 #if defined( VULKAN_HPP_USE_REFLECT )
2854 # if 14 <= VULKAN_HPP_CPP_VERSION
2855  auto
2856 # else
2857  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
2858  const void * const &,
2861 # endif
2862  reflect() const VULKAN_HPP_NOEXCEPT
2863  {
2864  return std::tie( sType, pNext, type, accelerationStructure );
2865  }
2866 #endif
2867 
2868 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
2869  auto operator<=>( AccelerationStructureMemoryRequirementsInfoNV const & ) const = default;
2870 #else
2872  {
2873 # if defined( VULKAN_HPP_USE_REFLECT )
2874  return this->reflect() == rhs.reflect();
2875 # else
2876  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( type == rhs.type ) && ( accelerationStructure == rhs.accelerationStructure );
2877 # endif
2878  }
2879 
2881  {
2882  return !operator==( rhs );
2883  }
2884 #endif
2885 
2886  public:
2888  const void * pNext = {};
2891  };
2892 
2893  template <>
2895  {
2897  };
2898 
2900  {
2902 
2903  static const bool allowDuplicate = false;
2905 
2906 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
2909  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
2910  : pNext( pNext_ )
2911  , maxInstances( maxInstances_ )
2912  , flags( flags_ )
2913  {
2914  }
2915 
2917 
2919  : AccelerationStructureMotionInfoNV( *reinterpret_cast<AccelerationStructureMotionInfoNV const *>( &rhs ) )
2920  {
2921  }
2922 
2924 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
2925 
2927  {
2928  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureMotionInfoNV const *>( &rhs );
2929  return *this;
2930  }
2931 
2932 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
2934  {
2935  pNext = pNext_;
2936  return *this;
2937  }
2938 
2940  {
2941  maxInstances = maxInstances_;
2942  return *this;
2943  }
2944 
2947  {
2948  flags = flags_;
2949  return *this;
2950  }
2951 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
2952 
2954  {
2955  return *reinterpret_cast<const VkAccelerationStructureMotionInfoNV *>( this );
2956  }
2957 
2959  {
2960  return *reinterpret_cast<VkAccelerationStructureMotionInfoNV *>( this );
2961  }
2962 
2963 #if defined( VULKAN_HPP_USE_REFLECT )
2964 # if 14 <= VULKAN_HPP_CPP_VERSION
2965  auto
2966 # else
2967  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
2968  const void * const &,
2969  uint32_t const &,
2971 # endif
2972  reflect() const VULKAN_HPP_NOEXCEPT
2973  {
2974  return std::tie( sType, pNext, maxInstances, flags );
2975  }
2976 #endif
2977 
2978 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
2979  auto operator<=>( AccelerationStructureMotionInfoNV const & ) const = default;
2980 #else
2982  {
2983 # if defined( VULKAN_HPP_USE_REFLECT )
2984  return this->reflect() == rhs.reflect();
2985 # else
2986  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxInstances == rhs.maxInstances ) && ( flags == rhs.flags );
2987 # endif
2988  }
2989 
2991  {
2992  return !operator==( rhs );
2993  }
2994 #endif
2995 
2996  public:
2998  const void * pNext = {};
2999  uint32_t maxInstances = {};
3001  };
3002 
3003  template <>
3005  {
3007  };
3008 
3009  struct SRTDataNV
3010  {
3012 
3013 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
3015  float a_ = {},
3016  float b_ = {},
3017  float pvx_ = {},
3018  float sy_ = {},
3019  float c_ = {},
3020  float pvy_ = {},
3021  float sz_ = {},
3022  float pvz_ = {},
3023  float qx_ = {},
3024  float qy_ = {},
3025  float qz_ = {},
3026  float qw_ = {},
3027  float tx_ = {},
3028  float ty_ = {},
3029  float tz_ = {} ) VULKAN_HPP_NOEXCEPT
3030  : sx( sx_ )
3031  , a( a_ )
3032  , b( b_ )
3033  , pvx( pvx_ )
3034  , sy( sy_ )
3035  , c( c_ )
3036  , pvy( pvy_ )
3037  , sz( sz_ )
3038  , pvz( pvz_ )
3039  , qx( qx_ )
3040  , qy( qy_ )
3041  , qz( qz_ )
3042  , qw( qw_ )
3043  , tx( tx_ )
3044  , ty( ty_ )
3045  , tz( tz_ )
3046  {
3047  }
3048 
3050 
3051  SRTDataNV( VkSRTDataNV const & rhs ) VULKAN_HPP_NOEXCEPT : SRTDataNV( *reinterpret_cast<SRTDataNV const *>( &rhs ) ) {}
3052 
3053  SRTDataNV & operator=( SRTDataNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
3054 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
3055 
3057  {
3058  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SRTDataNV const *>( &rhs );
3059  return *this;
3060  }
3061 
3062 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
3064  {
3065  sx = sx_;
3066  return *this;
3067  }
3068 
3070  {
3071  a = a_;
3072  return *this;
3073  }
3074 
3076  {
3077  b = b_;
3078  return *this;
3079  }
3080 
3082  {
3083  pvx = pvx_;
3084  return *this;
3085  }
3086 
3088  {
3089  sy = sy_;
3090  return *this;
3091  }
3092 
3094  {
3095  c = c_;
3096  return *this;
3097  }
3098 
3100  {
3101  pvy = pvy_;
3102  return *this;
3103  }
3104 
3106  {
3107  sz = sz_;
3108  return *this;
3109  }
3110 
3112  {
3113  pvz = pvz_;
3114  return *this;
3115  }
3116 
3118  {
3119  qx = qx_;
3120  return *this;
3121  }
3122 
3124  {
3125  qy = qy_;
3126  return *this;
3127  }
3128 
3130  {
3131  qz = qz_;
3132  return *this;
3133  }
3134 
3136  {
3137  qw = qw_;
3138  return *this;
3139  }
3140 
3142  {
3143  tx = tx_;
3144  return *this;
3145  }
3146 
3148  {
3149  ty = ty_;
3150  return *this;
3151  }
3152 
3154  {
3155  tz = tz_;
3156  return *this;
3157  }
3158 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
3159 
3160  operator VkSRTDataNV const &() const VULKAN_HPP_NOEXCEPT
3161  {
3162  return *reinterpret_cast<const VkSRTDataNV *>( this );
3163  }
3164 
3166  {
3167  return *reinterpret_cast<VkSRTDataNV *>( this );
3168  }
3169 
3170 #if defined( VULKAN_HPP_USE_REFLECT )
3171 # if 14 <= VULKAN_HPP_CPP_VERSION
3172  auto
3173 # else
3174  std::tuple<float const &,
3175  float const &,
3176  float const &,
3177  float const &,
3178  float const &,
3179  float const &,
3180  float const &,
3181  float const &,
3182  float const &,
3183  float const &,
3184  float const &,
3185  float const &,
3186  float const &,
3187  float const &,
3188  float const &,
3189  float const &>
3190 # endif
3191  reflect() const VULKAN_HPP_NOEXCEPT
3192  {
3193  return std::tie( sx, a, b, pvx, sy, c, pvy, sz, pvz, qx, qy, qz, qw, tx, ty, tz );
3194  }
3195 #endif
3196 
3197 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
3198  auto operator<=>( SRTDataNV const & ) const = default;
3199 #else
3200  bool operator==( SRTDataNV const & rhs ) const VULKAN_HPP_NOEXCEPT
3201  {
3202 # if defined( VULKAN_HPP_USE_REFLECT )
3203  return this->reflect() == rhs.reflect();
3204 # else
3205  return ( sx == rhs.sx ) && ( a == rhs.a ) && ( b == rhs.b ) && ( pvx == rhs.pvx ) && ( sy == rhs.sy ) && ( c == rhs.c ) && ( pvy == rhs.pvy ) &&
3206  ( sz == rhs.sz ) && ( pvz == rhs.pvz ) && ( qx == rhs.qx ) && ( qy == rhs.qy ) && ( qz == rhs.qz ) && ( qw == rhs.qw ) && ( tx == rhs.tx ) &&
3207  ( ty == rhs.ty ) && ( tz == rhs.tz );
3208 # endif
3209  }
3210 
3211  bool operator!=( SRTDataNV const & rhs ) const VULKAN_HPP_NOEXCEPT
3212  {
3213  return !operator==( rhs );
3214  }
3215 #endif
3216 
3217  public:
3218  float sx = {};
3219  float a = {};
3220  float b = {};
3221  float pvx = {};
3222  float sy = {};
3223  float c = {};
3224  float pvy = {};
3225  float sz = {};
3226  float pvz = {};
3227  float qx = {};
3228  float qy = {};
3229  float qz = {};
3230  float qw = {};
3231  float tx = {};
3232  float ty = {};
3233  float tz = {};
3234  };
3235 
3237  {
3239 
3240 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
3242  VULKAN_HPP_NAMESPACE::SRTDataNV transformT1_ = {},
3243  uint32_t instanceCustomIndex_ = {},
3244  uint32_t mask_ = {},
3245  uint32_t instanceShaderBindingTableRecordOffset_ = {},
3247  uint64_t accelerationStructureReference_ = {} ) VULKAN_HPP_NOEXCEPT
3248  : transformT0( transformT0_ )
3249  , transformT1( transformT1_ )
3250  , instanceCustomIndex( instanceCustomIndex_ )
3251  , mask( mask_ )
3252  , instanceShaderBindingTableRecordOffset( instanceShaderBindingTableRecordOffset_ )
3253  , flags( flags_ )
3254  , accelerationStructureReference( accelerationStructureReference_ )
3255  {
3256  }
3257 
3259 
3261  : AccelerationStructureSRTMotionInstanceNV( *reinterpret_cast<AccelerationStructureSRTMotionInstanceNV const *>( &rhs ) )
3262  {
3263  }
3264 
3266 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
3267 
3269  {
3270  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureSRTMotionInstanceNV const *>( &rhs );
3271  return *this;
3272  }
3273 
3274 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
3277  {
3278  transformT0 = transformT0_;
3279  return *this;
3280  }
3281 
3284  {
3285  transformT1 = transformT1_;
3286  return *this;
3287  }
3288 
3290  {
3291  instanceCustomIndex = instanceCustomIndex_;
3292  return *this;
3293  }
3294 
3296  {
3297  mask = mask_;
3298  return *this;
3299  }
3300 
3302  setInstanceShaderBindingTableRecordOffset( uint32_t instanceShaderBindingTableRecordOffset_ ) VULKAN_HPP_NOEXCEPT
3303  {
3304  instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset_;
3305  return *this;
3306  }
3307 
3309  {
3310  flags = *reinterpret_cast<VkGeometryInstanceFlagsKHR *>( &flags_ );
3311  return *this;
3312  }
3313 
3315  setAccelerationStructureReference( uint64_t accelerationStructureReference_ ) VULKAN_HPP_NOEXCEPT
3316  {
3317  accelerationStructureReference = accelerationStructureReference_;
3318  return *this;
3319  }
3320 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
3321 
3323  {
3324  return *reinterpret_cast<const VkAccelerationStructureSRTMotionInstanceNV *>( this );
3325  }
3326 
3328  {
3329  return *reinterpret_cast<VkAccelerationStructureSRTMotionInstanceNV *>( this );
3330  }
3331 
3332 #if defined( VULKAN_HPP_USE_REFLECT )
3333 # if 14 <= VULKAN_HPP_CPP_VERSION
3334  auto
3335 # else
3336  std::tuple<VULKAN_HPP_NAMESPACE::SRTDataNV const &,
3338  uint32_t const &,
3339  uint32_t const &,
3340  uint32_t const &,
3342  uint64_t const &>
3343 # endif
3344  reflect() const VULKAN_HPP_NOEXCEPT
3345  {
3347  }
3348 #endif
3349 
3350 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
3351  auto operator<=>( AccelerationStructureSRTMotionInstanceNV const & ) const = default;
3352 #else
3354  {
3355 # if defined( VULKAN_HPP_USE_REFLECT )
3356  return this->reflect() == rhs.reflect();
3357 # else
3358  return ( transformT0 == rhs.transformT0 ) && ( transformT1 == rhs.transformT1 ) && ( instanceCustomIndex == rhs.instanceCustomIndex ) &&
3359  ( mask == rhs.mask ) && ( instanceShaderBindingTableRecordOffset == rhs.instanceShaderBindingTableRecordOffset ) && ( flags == rhs.flags ) &&
3360  ( accelerationStructureReference == rhs.accelerationStructureReference );
3361 # endif
3362  }
3363 
3365  {
3366  return !operator==( rhs );
3367  }
3368 #endif
3369 
3370  public:
3373  uint32_t instanceCustomIndex : 24;
3374  uint32_t mask : 8;
3378  };
3379 
3381  {
3383 #if !defined( VULKAN_HPP_NO_UNION_CONSTRUCTORS )
3384 
3386  : staticInstance( staticInstance_ )
3387  {
3388  }
3389 
3391  : matrixMotionInstance( matrixMotionInstance_ )
3392  {
3393  }
3394 
3396  : srtMotionInstance( srtMotionInstance_ )
3397  {
3398  }
3399 #endif /*VULKAN_HPP_NO_UNION_CONSTRUCTORS*/
3400 
3401 #if !defined( VULKAN_HPP_NO_UNION_SETTERS )
3404  {
3405  staticInstance = staticInstance_;
3406  return *this;
3407  }
3408 
3411  {
3412  matrixMotionInstance = matrixMotionInstance_;
3413  return *this;
3414  }
3415 
3418  {
3419  srtMotionInstance = srtMotionInstance_;
3420  return *this;
3421  }
3422 #endif /*VULKAN_HPP_NO_UNION_SETTERS*/
3423 
3425  {
3426  return *reinterpret_cast<const VkAccelerationStructureMotionInstanceDataNV *>( this );
3427  }
3428 
3430  {
3431  return *reinterpret_cast<VkAccelerationStructureMotionInstanceDataNV *>( this );
3432  }
3433 
3434 #ifdef VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
3438 #else
3442 #endif /*VULKAN_HPP_HAS_UNRESTRICTED_UNIONS*/
3443  };
3444 
3446  {
3448 
3449 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
3454  : type( type_ )
3455  , flags( flags_ )
3456  , data( data_ )
3457  {
3458  }
3459 
3461 
3463  : AccelerationStructureMotionInstanceNV( *reinterpret_cast<AccelerationStructureMotionInstanceNV const *>( &rhs ) )
3464  {
3465  }
3466 
3468 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
3469 
3471  {
3472  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureMotionInstanceNV const *>( &rhs );
3473  return *this;
3474  }
3475 
3476 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
3479  {
3480  type = type_;
3481  return *this;
3482  }
3483 
3486  {
3487  flags = flags_;
3488  return *this;
3489  }
3490 
3493  {
3494  data = data_;
3495  return *this;
3496  }
3497 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
3498 
3500  {
3501  return *reinterpret_cast<const VkAccelerationStructureMotionInstanceNV *>( this );
3502  }
3503 
3505  {
3506  return *reinterpret_cast<VkAccelerationStructureMotionInstanceNV *>( this );
3507  }
3508 
3509 #if defined( VULKAN_HPP_USE_REFLECT )
3510 # if 14 <= VULKAN_HPP_CPP_VERSION
3511  auto
3512 # else
3516 # endif
3517  reflect() const VULKAN_HPP_NOEXCEPT
3518  {
3519  return std::tie( type, flags, data );
3520  }
3521 #endif
3522 
3523  public:
3527  };
3528 
3530  {
3532 
3533 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
3534  VULKAN_HPP_CONSTEXPR MicromapUsageEXT( uint32_t count_ = {}, uint32_t subdivisionLevel_ = {}, uint32_t format_ = {} ) VULKAN_HPP_NOEXCEPT
3535  : count( count_ )
3536  , subdivisionLevel( subdivisionLevel_ )
3537  , format( format_ )
3538  {
3539  }
3540 
3542 
3543  MicromapUsageEXT( VkMicromapUsageEXT const & rhs ) VULKAN_HPP_NOEXCEPT : MicromapUsageEXT( *reinterpret_cast<MicromapUsageEXT const *>( &rhs ) ) {}
3544 
3546 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
3547 
3549  {
3550  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MicromapUsageEXT const *>( &rhs );
3551  return *this;
3552  }
3553 
3554 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
3556  {
3557  count = count_;
3558  return *this;
3559  }
3560 
3562  {
3563  subdivisionLevel = subdivisionLevel_;
3564  return *this;
3565  }
3566 
3568  {
3569  format = format_;
3570  return *this;
3571  }
3572 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
3573 
3574  operator VkMicromapUsageEXT const &() const VULKAN_HPP_NOEXCEPT
3575  {
3576  return *reinterpret_cast<const VkMicromapUsageEXT *>( this );
3577  }
3578 
3580  {
3581  return *reinterpret_cast<VkMicromapUsageEXT *>( this );
3582  }
3583 
3584 #if defined( VULKAN_HPP_USE_REFLECT )
3585 # if 14 <= VULKAN_HPP_CPP_VERSION
3586  auto
3587 # else
3588  std::tuple<uint32_t const &, uint32_t const &, uint32_t const &>
3589 # endif
3590  reflect() const VULKAN_HPP_NOEXCEPT
3591  {
3592  return std::tie( count, subdivisionLevel, format );
3593  }
3594 #endif
3595 
3596 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
3597  auto operator<=>( MicromapUsageEXT const & ) const = default;
3598 #else
3600  {
3601 # if defined( VULKAN_HPP_USE_REFLECT )
3602  return this->reflect() == rhs.reflect();
3603 # else
3604  return ( count == rhs.count ) && ( subdivisionLevel == rhs.subdivisionLevel ) && ( format == rhs.format );
3605 # endif
3606  }
3607 
3609  {
3610  return !operator==( rhs );
3611  }
3612 #endif
3613 
3614  public:
3615  uint32_t count = {};
3616  uint32_t subdivisionLevel = {};
3617  uint32_t format = {};
3618  };
3619 
3621  {
3623 
3624  static const bool allowDuplicate = false;
3626 
3627 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
3631  VULKAN_HPP_NAMESPACE::DeviceSize indexStride_ = {},
3632  uint32_t baseTriangle_ = {},
3633  uint32_t usageCountsCount_ = {},
3634  const VULKAN_HPP_NAMESPACE::MicromapUsageEXT * pUsageCounts_ = {},
3635  const VULKAN_HPP_NAMESPACE::MicromapUsageEXT * const * ppUsageCounts_ = {},
3636  VULKAN_HPP_NAMESPACE::MicromapEXT micromap_ = {},
3637  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
3638  : pNext( pNext_ )
3639  , indexType( indexType_ )
3640  , indexBuffer( indexBuffer_ )
3641  , indexStride( indexStride_ )
3642  , baseTriangle( baseTriangle_ )
3643  , usageCountsCount( usageCountsCount_ )
3644  , pUsageCounts( pUsageCounts_ )
3645  , ppUsageCounts( ppUsageCounts_ )
3646  , micromap( micromap_ )
3647  {
3648  }
3649 
3652 
3654  : AccelerationStructureTrianglesOpacityMicromapEXT( *reinterpret_cast<AccelerationStructureTrianglesOpacityMicromapEXT const *>( &rhs ) )
3655  {
3656  }
3657 
3658 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
3662  VULKAN_HPP_NAMESPACE::DeviceSize indexStride_,
3663  uint32_t baseTriangle_,
3666  VULKAN_HPP_NAMESPACE::MicromapEXT micromap_ = {},
3667  void * pNext_ = nullptr )
3668  : pNext( pNext_ )
3669  , indexType( indexType_ )
3670  , indexBuffer( indexBuffer_ )
3671  , indexStride( indexStride_ )
3672  , baseTriangle( baseTriangle_ )
3673  , usageCountsCount( static_cast<uint32_t>( !usageCounts_.empty() ? usageCounts_.size() : pUsageCounts_.size() ) )
3674  , pUsageCounts( usageCounts_.data() )
3675  , ppUsageCounts( pUsageCounts_.data() )
3676  , micromap( micromap_ )
3677  {
3678 # ifdef VULKAN_HPP_NO_EXCEPTIONS
3679  VULKAN_HPP_ASSERT( ( !usageCounts_.empty() + !pUsageCounts_.empty() ) <= 1 );
3680 # else
3681  if ( 1 < ( !usageCounts_.empty() + !pUsageCounts_.empty() ) )
3682  {
3683  throw LogicError(
3685  "::AccelerationStructureTrianglesOpacityMicromapEXT::AccelerationStructureTrianglesOpacityMicromapEXT: 1 < ( !usageCounts_.empty() + !pUsageCounts_.empty() )" );
3686  }
3687 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/
3688  }
3689 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
3690 
3692 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
3693 
3695  {
3696  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureTrianglesOpacityMicromapEXT const *>( &rhs );
3697  return *this;
3698  }
3699 
3700 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
3702  {
3703  pNext = pNext_;
3704  return *this;
3705  }
3706 
3708  {
3709  indexType = indexType_;
3710  return *this;
3711  }
3712 
3715  {
3716  indexBuffer = indexBuffer_;
3717  return *this;
3718  }
3719 
3722  {
3723  indexStride = indexStride_;
3724  return *this;
3725  }
3726 
3728  {
3729  baseTriangle = baseTriangle_;
3730  return *this;
3731  }
3732 
3734  {
3735  usageCountsCount = usageCountsCount_;
3736  return *this;
3737  }
3738 
3741  {
3742  pUsageCounts = pUsageCounts_;
3743  return *this;
3744  }
3745 
3746 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
3749  {
3750  usageCountsCount = static_cast<uint32_t>( usageCounts_.size() );
3751  pUsageCounts = usageCounts_.data();
3752  return *this;
3753  }
3754 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
3755 
3758  {
3759  ppUsageCounts = ppUsageCounts_;
3760  return *this;
3761  }
3762 
3763 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
3766  {
3767  usageCountsCount = static_cast<uint32_t>( pUsageCounts_.size() );
3768  ppUsageCounts = pUsageCounts_.data();
3769  return *this;
3770  }
3771 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
3772 
3774  {
3775  micromap = micromap_;
3776  return *this;
3777  }
3778 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
3779 
3781  {
3782  return *reinterpret_cast<const VkAccelerationStructureTrianglesOpacityMicromapEXT *>( this );
3783  }
3784 
3786  {
3787  return *reinterpret_cast<VkAccelerationStructureTrianglesOpacityMicromapEXT *>( this );
3788  }
3789 
3790 #if defined( VULKAN_HPP_USE_REFLECT )
3791 # if 14 <= VULKAN_HPP_CPP_VERSION
3792  auto
3793 # else
3794  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
3795  void * const &,
3799  uint32_t const &,
3800  uint32_t const &,
3802  const VULKAN_HPP_NAMESPACE::MicromapUsageEXT * const * const &,
3804 # endif
3805  reflect() const VULKAN_HPP_NOEXCEPT
3806  {
3808  }
3809 #endif
3810 
3811  public:
3813  void * pNext = {};
3817  uint32_t baseTriangle = {};
3818  uint32_t usageCountsCount = {};
3822  };
3823 
3824  template <>
3826  {
3828  };
3829 
3831  {
3833 
3834  static const bool allowDuplicate = false;
3836 
3837 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
3838  VULKAN_HPP_CONSTEXPR AccelerationStructureVersionInfoKHR( const uint8_t * pVersionData_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
3839  : pNext( pNext_ )
3840  , pVersionData( pVersionData_ )
3841  {
3842  }
3843 
3845 
3847  : AccelerationStructureVersionInfoKHR( *reinterpret_cast<AccelerationStructureVersionInfoKHR const *>( &rhs ) )
3848  {
3849  }
3850 
3852 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
3853 
3855  {
3856  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureVersionInfoKHR const *>( &rhs );
3857  return *this;
3858  }
3859 
3860 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
3862  {
3863  pNext = pNext_;
3864  return *this;
3865  }
3866 
3868  {
3869  pVersionData = pVersionData_;
3870  return *this;
3871  }
3872 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
3873 
3875  {
3876  return *reinterpret_cast<const VkAccelerationStructureVersionInfoKHR *>( this );
3877  }
3878 
3880  {
3881  return *reinterpret_cast<VkAccelerationStructureVersionInfoKHR *>( this );
3882  }
3883 
3884 #if defined( VULKAN_HPP_USE_REFLECT )
3885 # if 14 <= VULKAN_HPP_CPP_VERSION
3886  auto
3887 # else
3888  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, const uint8_t * const &>
3889 # endif
3890  reflect() const VULKAN_HPP_NOEXCEPT
3891  {
3892  return std::tie( sType, pNext, pVersionData );
3893  }
3894 #endif
3895 
3896 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
3897  auto operator<=>( AccelerationStructureVersionInfoKHR const & ) const = default;
3898 #else
3900  {
3901 # if defined( VULKAN_HPP_USE_REFLECT )
3902  return this->reflect() == rhs.reflect();
3903 # else
3904  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pVersionData == rhs.pVersionData );
3905 # endif
3906  }
3907 
3909  {
3910  return !operator==( rhs );
3911  }
3912 #endif
3913 
3914  public:
3916  const void * pNext = {};
3917  const uint8_t * pVersionData = {};
3918  };
3919 
3920  template <>
3922  {
3924  };
3925 
3927  {
3929 
3930  static const bool allowDuplicate = false;
3932 
3933 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
3935  uint64_t timeout_ = {},
3936  VULKAN_HPP_NAMESPACE::Semaphore semaphore_ = {},
3937  VULKAN_HPP_NAMESPACE::Fence fence_ = {},
3938  uint32_t deviceMask_ = {},
3939  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
3940  : pNext( pNext_ )
3941  , swapchain( swapchain_ )
3942  , timeout( timeout_ )
3943  , semaphore( semaphore_ )
3944  , fence( fence_ )
3945  , deviceMask( deviceMask_ )
3946  {
3947  }
3948 
3950 
3952  : AcquireNextImageInfoKHR( *reinterpret_cast<AcquireNextImageInfoKHR const *>( &rhs ) )
3953  {
3954  }
3955 
3957 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
3958 
3960  {
3961  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AcquireNextImageInfoKHR const *>( &rhs );
3962  return *this;
3963  }
3964 
3965 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
3967  {
3968  pNext = pNext_;
3969  return *this;
3970  }
3971 
3973  {
3974  swapchain = swapchain_;
3975  return *this;
3976  }
3977 
3979  {
3980  timeout = timeout_;
3981  return *this;
3982  }
3983 
3985  {
3986  semaphore = semaphore_;
3987  return *this;
3988  }
3989 
3991  {
3992  fence = fence_;
3993  return *this;
3994  }
3995 
3997  {
3998  deviceMask = deviceMask_;
3999  return *this;
4000  }
4001 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
4002 
4004  {
4005  return *reinterpret_cast<const VkAcquireNextImageInfoKHR *>( this );
4006  }
4007 
4009  {
4010  return *reinterpret_cast<VkAcquireNextImageInfoKHR *>( this );
4011  }
4012 
4013 #if defined( VULKAN_HPP_USE_REFLECT )
4014 # if 14 <= VULKAN_HPP_CPP_VERSION
4015  auto
4016 # else
4017  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
4018  const void * const &,
4020  uint64_t const &,
4023  uint32_t const &>
4024 # endif
4025  reflect() const VULKAN_HPP_NOEXCEPT
4026  {
4027  return std::tie( sType, pNext, swapchain, timeout, semaphore, fence, deviceMask );
4028  }
4029 #endif
4030 
4031 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
4032  auto operator<=>( AcquireNextImageInfoKHR const & ) const = default;
4033 #else
4035  {
4036 # if defined( VULKAN_HPP_USE_REFLECT )
4037  return this->reflect() == rhs.reflect();
4038 # else
4039  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( swapchain == rhs.swapchain ) && ( timeout == rhs.timeout ) &&
4040  ( semaphore == rhs.semaphore ) && ( fence == rhs.fence ) && ( deviceMask == rhs.deviceMask );
4041 # endif
4042  }
4043 
4045  {
4046  return !operator==( rhs );
4047  }
4048 #endif
4049 
4050  public:
4052  const void * pNext = {};
4054  uint64_t timeout = {};
4057  uint32_t deviceMask = {};
4058  };
4059 
4060  template <>
4062  {
4064  };
4065 
4067  {
4069 
4070  static const bool allowDuplicate = false;
4072 
4073 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
4075  uint64_t timeout_ = {},
4076  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
4077  : pNext( pNext_ )
4078  , flags( flags_ )
4079  , timeout( timeout_ )
4080  {
4081  }
4082 
4084 
4086  : AcquireProfilingLockInfoKHR( *reinterpret_cast<AcquireProfilingLockInfoKHR const *>( &rhs ) )
4087  {
4088  }
4089 
4091 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
4092 
4094  {
4095  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AcquireProfilingLockInfoKHR const *>( &rhs );
4096  return *this;
4097  }
4098 
4099 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
4101  {
4102  pNext = pNext_;
4103  return *this;
4104  }
4105 
4107  {
4108  flags = flags_;
4109  return *this;
4110  }
4111 
4113  {
4114  timeout = timeout_;
4115  return *this;
4116  }
4117 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
4118 
4120  {
4121  return *reinterpret_cast<const VkAcquireProfilingLockInfoKHR *>( this );
4122  }
4123 
4125  {
4126  return *reinterpret_cast<VkAcquireProfilingLockInfoKHR *>( this );
4127  }
4128 
4129 #if defined( VULKAN_HPP_USE_REFLECT )
4130 # if 14 <= VULKAN_HPP_CPP_VERSION
4131  auto
4132 # else
4133  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::AcquireProfilingLockFlagsKHR const &, uint64_t const &>
4134 # endif
4135  reflect() const VULKAN_HPP_NOEXCEPT
4136  {
4137  return std::tie( sType, pNext, flags, timeout );
4138  }
4139 #endif
4140 
4141 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
4142  auto operator<=>( AcquireProfilingLockInfoKHR const & ) const = default;
4143 #else
4145  {
4146 # if defined( VULKAN_HPP_USE_REFLECT )
4147  return this->reflect() == rhs.reflect();
4148 # else
4149  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( timeout == rhs.timeout );
4150 # endif
4151  }
4152 
4154  {
4155  return !operator==( rhs );
4156  }
4157 #endif
4158 
4159  public:
4161  const void * pNext = {};
4163  uint64_t timeout = {};
4164  };
4165 
4166  template <>
4168  {
4170  };
4171 
4173  {
4175 
4176 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
4178  PFN_vkAllocationFunction pfnAllocation_ = {},
4179  PFN_vkReallocationFunction pfnReallocation_ = {},
4180  PFN_vkFreeFunction pfnFree_ = {},
4181  PFN_vkInternalAllocationNotification pfnInternalAllocation_ = {},
4182  PFN_vkInternalFreeNotification pfnInternalFree_ = {} ) VULKAN_HPP_NOEXCEPT
4183  : pUserData( pUserData_ )
4184  , pfnAllocation( pfnAllocation_ )
4185  , pfnReallocation( pfnReallocation_ )
4186  , pfnFree( pfnFree_ )
4187  , pfnInternalAllocation( pfnInternalAllocation_ )
4188  , pfnInternalFree( pfnInternalFree_ )
4189  {
4190  }
4191 
4193 
4194  AllocationCallbacks( VkAllocationCallbacks const & rhs ) VULKAN_HPP_NOEXCEPT : AllocationCallbacks( *reinterpret_cast<AllocationCallbacks const *>( &rhs ) )
4195  {
4196  }
4197 
4199 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
4200 
4202  {
4203  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AllocationCallbacks const *>( &rhs );
4204  return *this;
4205  }
4206 
4207 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
4209  {
4210  pUserData = pUserData_;
4211  return *this;
4212  }
4213 
4215  {
4216  pfnAllocation = pfnAllocation_;
4217  return *this;
4218  }
4219 
4221  {
4222  pfnReallocation = pfnReallocation_;
4223  return *this;
4224  }
4225 
4227  {
4228  pfnFree = pfnFree_;
4229  return *this;
4230  }
4231 
4233  {
4234  pfnInternalAllocation = pfnInternalAllocation_;
4235  return *this;
4236  }
4237 
4239  {
4240  pfnInternalFree = pfnInternalFree_;
4241  return *this;
4242  }
4243 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
4244 
4246  {
4247  return *reinterpret_cast<const VkAllocationCallbacks *>( this );
4248  }
4249 
4251  {
4252  return *reinterpret_cast<VkAllocationCallbacks *>( this );
4253  }
4254 
4255 #if defined( VULKAN_HPP_USE_REFLECT )
4256 # if 14 <= VULKAN_HPP_CPP_VERSION
4257  auto
4258 # else
4259  std::tuple<void * const &,
4260  PFN_vkAllocationFunction const &,
4262  PFN_vkFreeFunction const &,
4265 # endif
4266  reflect() const VULKAN_HPP_NOEXCEPT
4267  {
4269  }
4270 #endif
4271 
4273  {
4274 #if defined( VULKAN_HPP_USE_REFLECT )
4275  return this->reflect() == rhs.reflect();
4276 #else
4277  return ( pUserData == rhs.pUserData ) && ( pfnAllocation == rhs.pfnAllocation ) && ( pfnReallocation == rhs.pfnReallocation ) &&
4278  ( pfnFree == rhs.pfnFree ) && ( pfnInternalAllocation == rhs.pfnInternalAllocation ) && ( pfnInternalFree == rhs.pfnInternalFree );
4279 #endif
4280  }
4281 
4283  {
4284  return !operator==( rhs );
4285  }
4286 
4287  public:
4288  void * pUserData = {};
4294  };
4295 
4297  {
4299 
4300  static const bool allowDuplicate = false;
4302 
4303 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
4305  AmigoProfilingSubmitInfoSEC( uint64_t firstDrawTimestamp_ = {}, uint64_t swapBufferTimestamp_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
4306  : pNext( pNext_ )
4307  , firstDrawTimestamp( firstDrawTimestamp_ )
4308  , swapBufferTimestamp( swapBufferTimestamp_ )
4309  {
4310  }
4311 
4313 
4315  : AmigoProfilingSubmitInfoSEC( *reinterpret_cast<AmigoProfilingSubmitInfoSEC const *>( &rhs ) )
4316  {
4317  }
4318 
4320 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
4321 
4323  {
4324  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AmigoProfilingSubmitInfoSEC const *>( &rhs );
4325  return *this;
4326  }
4327 
4328 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
4330  {
4331  pNext = pNext_;
4332  return *this;
4333  }
4334 
4336  {
4337  firstDrawTimestamp = firstDrawTimestamp_;
4338  return *this;
4339  }
4340 
4342  {
4343  swapBufferTimestamp = swapBufferTimestamp_;
4344  return *this;
4345  }
4346 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
4347 
4349  {
4350  return *reinterpret_cast<const VkAmigoProfilingSubmitInfoSEC *>( this );
4351  }
4352 
4354  {
4355  return *reinterpret_cast<VkAmigoProfilingSubmitInfoSEC *>( this );
4356  }
4357 
4358 #if defined( VULKAN_HPP_USE_REFLECT )
4359 # if 14 <= VULKAN_HPP_CPP_VERSION
4360  auto
4361 # else
4362  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint64_t const &, uint64_t const &>
4363 # endif
4364  reflect() const VULKAN_HPP_NOEXCEPT
4365  {
4366  return std::tie( sType, pNext, firstDrawTimestamp, swapBufferTimestamp );
4367  }
4368 #endif
4369 
4370 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
4371  auto operator<=>( AmigoProfilingSubmitInfoSEC const & ) const = default;
4372 #else
4374  {
4375 # if defined( VULKAN_HPP_USE_REFLECT )
4376  return this->reflect() == rhs.reflect();
4377 # else
4378  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( firstDrawTimestamp == rhs.firstDrawTimestamp ) &&
4379  ( swapBufferTimestamp == rhs.swapBufferTimestamp );
4380 # endif
4381  }
4382 
4384  {
4385  return !operator==( rhs );
4386  }
4387 #endif
4388 
4389  public:
4391  const void * pNext = {};
4392  uint64_t firstDrawTimestamp = {};
4393  uint64_t swapBufferTimestamp = {};
4394  };
4395 
4396  template <>
4398  {
4400  };
4401 
4403  {
4405 
4406 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
4411  : r( r_ )
4412  , g( g_ )
4413  , b( b_ )
4414  , a( a_ )
4415  {
4416  }
4417 
4419 
4420  ComponentMapping( VkComponentMapping const & rhs ) VULKAN_HPP_NOEXCEPT : ComponentMapping( *reinterpret_cast<ComponentMapping const *>( &rhs ) ) {}
4421 
4423 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
4424 
4426  {
4427  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ComponentMapping const *>( &rhs );
4428  return *this;
4429  }
4430 
4431 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
4433  {
4434  r = r_;
4435  return *this;
4436  }
4437 
4439  {
4440  g = g_;
4441  return *this;
4442  }
4443 
4445  {
4446  b = b_;
4447  return *this;
4448  }
4449 
4451  {
4452  a = a_;
4453  return *this;
4454  }
4455 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
4456 
4457  operator VkComponentMapping const &() const VULKAN_HPP_NOEXCEPT
4458  {
4459  return *reinterpret_cast<const VkComponentMapping *>( this );
4460  }
4461 
4463  {
4464  return *reinterpret_cast<VkComponentMapping *>( this );
4465  }
4466 
4467 #if defined( VULKAN_HPP_USE_REFLECT )
4468 # if 14 <= VULKAN_HPP_CPP_VERSION
4469  auto
4470 # else
4471  std::tuple<VULKAN_HPP_NAMESPACE::ComponentSwizzle const &,
4475 # endif
4476  reflect() const VULKAN_HPP_NOEXCEPT
4477  {
4478  return std::tie( r, g, b, a );
4479  }
4480 #endif
4481 
4482 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
4483  auto operator<=>( ComponentMapping const & ) const = default;
4484 #else
4486  {
4487 # if defined( VULKAN_HPP_USE_REFLECT )
4488  return this->reflect() == rhs.reflect();
4489 # else
4490  return ( r == rhs.r ) && ( g == rhs.g ) && ( b == rhs.b ) && ( a == rhs.a );
4491 # endif
4492  }
4493 
4495  {
4496  return !operator==( rhs );
4497  }
4498 #endif
4499 
4500  public:
4505  };
4506 
4507 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
4508  struct AndroidHardwareBufferFormatProperties2ANDROID
4509  {
4511 
4512  static const bool allowDuplicate = false;
4513  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAndroidHardwareBufferFormatProperties2ANDROID;
4514 
4515 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
4516  VULKAN_HPP_CONSTEXPR AndroidHardwareBufferFormatProperties2ANDROID(
4518  uint64_t externalFormat_ = {},
4519  VULKAN_HPP_NAMESPACE::FormatFeatureFlags2 formatFeatures_ = {},
4520  VULKAN_HPP_NAMESPACE::ComponentMapping samplerYcbcrConversionComponents_ = {},
4525  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
4526  : pNext( pNext_ )
4527  , format( format_ )
4528  , externalFormat( externalFormat_ )
4529  , formatFeatures( formatFeatures_ )
4530  , samplerYcbcrConversionComponents( samplerYcbcrConversionComponents_ )
4531  , suggestedYcbcrModel( suggestedYcbcrModel_ )
4532  , suggestedYcbcrRange( suggestedYcbcrRange_ )
4533  , suggestedXChromaOffset( suggestedXChromaOffset_ )
4534  , suggestedYChromaOffset( suggestedYChromaOffset_ )
4535  {
4536  }
4537 
4539  AndroidHardwareBufferFormatProperties2ANDROID( AndroidHardwareBufferFormatProperties2ANDROID const & rhs ) VULKAN_HPP_NOEXCEPT = default;
4540 
4541  AndroidHardwareBufferFormatProperties2ANDROID( VkAndroidHardwareBufferFormatProperties2ANDROID const & rhs ) VULKAN_HPP_NOEXCEPT
4542  : AndroidHardwareBufferFormatProperties2ANDROID( *reinterpret_cast<AndroidHardwareBufferFormatProperties2ANDROID const *>( &rhs ) )
4543  {
4544  }
4545 
4546  AndroidHardwareBufferFormatProperties2ANDROID & operator=( AndroidHardwareBufferFormatProperties2ANDROID const & rhs ) VULKAN_HPP_NOEXCEPT = default;
4547 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
4548 
4549  AndroidHardwareBufferFormatProperties2ANDROID & operator=( VkAndroidHardwareBufferFormatProperties2ANDROID const & rhs ) VULKAN_HPP_NOEXCEPT
4550  {
4551  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AndroidHardwareBufferFormatProperties2ANDROID const *>( &rhs );
4552  return *this;
4553  }
4554 
4556  {
4557  return *reinterpret_cast<const VkAndroidHardwareBufferFormatProperties2ANDROID *>( this );
4558  }
4559 
4561  {
4562  return *reinterpret_cast<VkAndroidHardwareBufferFormatProperties2ANDROID *>( this );
4563  }
4564 
4565 # if defined( VULKAN_HPP_USE_REFLECT )
4566 # if 14 <= VULKAN_HPP_CPP_VERSION
4567  auto
4568 # else
4569  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
4570  void * const &,
4572  uint64_t const &,
4579 # endif
4580  reflect() const VULKAN_HPP_NOEXCEPT
4581  {
4582  return std::tie( sType,
4583  pNext,
4584  format,
4585  externalFormat,
4586  formatFeatures,
4587  samplerYcbcrConversionComponents,
4588  suggestedYcbcrModel,
4589  suggestedYcbcrRange,
4590  suggestedXChromaOffset,
4591  suggestedYChromaOffset );
4592  }
4593 # endif
4594 
4595 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
4596  auto operator<=>( AndroidHardwareBufferFormatProperties2ANDROID const & ) const = default;
4597 # else
4598  bool operator==( AndroidHardwareBufferFormatProperties2ANDROID const & rhs ) const VULKAN_HPP_NOEXCEPT
4599  {
4600 # if defined( VULKAN_HPP_USE_REFLECT )
4601  return this->reflect() == rhs.reflect();
4602 # else
4603  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( format == rhs.format ) && ( externalFormat == rhs.externalFormat ) &&
4604  ( formatFeatures == rhs.formatFeatures ) && ( samplerYcbcrConversionComponents == rhs.samplerYcbcrConversionComponents ) &&
4605  ( suggestedYcbcrModel == rhs.suggestedYcbcrModel ) && ( suggestedYcbcrRange == rhs.suggestedYcbcrRange ) &&
4606  ( suggestedXChromaOffset == rhs.suggestedXChromaOffset ) && ( suggestedYChromaOffset == rhs.suggestedYChromaOffset );
4607 # endif
4608  }
4609 
4610  bool operator!=( AndroidHardwareBufferFormatProperties2ANDROID const & rhs ) const VULKAN_HPP_NOEXCEPT
4611  {
4612  return !operator==( rhs );
4613  }
4614 # endif
4615 
4616  public:
4617  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eAndroidHardwareBufferFormatProperties2ANDROID;
4618  void * pNext = {};
4620  uint64_t externalFormat = {};
4621  VULKAN_HPP_NAMESPACE::FormatFeatureFlags2 formatFeatures = {};
4622  VULKAN_HPP_NAMESPACE::ComponentMapping samplerYcbcrConversionComponents = {};
4627  };
4628 
4629  template <>
4630  struct CppType<StructureType, StructureType::eAndroidHardwareBufferFormatProperties2ANDROID>
4631  {
4632  using Type = AndroidHardwareBufferFormatProperties2ANDROID;
4633  };
4634 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
4635 
4636 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
4637  struct AndroidHardwareBufferFormatPropertiesANDROID
4638  {
4640 
4641  static const bool allowDuplicate = false;
4642  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAndroidHardwareBufferFormatPropertiesANDROID;
4643 
4644 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
4645  VULKAN_HPP_CONSTEXPR AndroidHardwareBufferFormatPropertiesANDROID(
4647  uint64_t externalFormat_ = {},
4648  VULKAN_HPP_NAMESPACE::FormatFeatureFlags formatFeatures_ = {},
4649  VULKAN_HPP_NAMESPACE::ComponentMapping samplerYcbcrConversionComponents_ = {},
4654  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
4655  : pNext( pNext_ )
4656  , format( format_ )
4657  , externalFormat( externalFormat_ )
4658  , formatFeatures( formatFeatures_ )
4659  , samplerYcbcrConversionComponents( samplerYcbcrConversionComponents_ )
4660  , suggestedYcbcrModel( suggestedYcbcrModel_ )
4661  , suggestedYcbcrRange( suggestedYcbcrRange_ )
4662  , suggestedXChromaOffset( suggestedXChromaOffset_ )
4663  , suggestedYChromaOffset( suggestedYChromaOffset_ )
4664  {
4665  }
4666 
4667  VULKAN_HPP_CONSTEXPR AndroidHardwareBufferFormatPropertiesANDROID( AndroidHardwareBufferFormatPropertiesANDROID const & rhs ) VULKAN_HPP_NOEXCEPT = default;
4668 
4669  AndroidHardwareBufferFormatPropertiesANDROID( VkAndroidHardwareBufferFormatPropertiesANDROID const & rhs ) VULKAN_HPP_NOEXCEPT
4670  : AndroidHardwareBufferFormatPropertiesANDROID( *reinterpret_cast<AndroidHardwareBufferFormatPropertiesANDROID const *>( &rhs ) )
4671  {
4672  }
4673 
4674  AndroidHardwareBufferFormatPropertiesANDROID & operator=( AndroidHardwareBufferFormatPropertiesANDROID const & rhs ) VULKAN_HPP_NOEXCEPT = default;
4675 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
4676 
4677  AndroidHardwareBufferFormatPropertiesANDROID & operator=( VkAndroidHardwareBufferFormatPropertiesANDROID const & rhs ) VULKAN_HPP_NOEXCEPT
4678  {
4679  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AndroidHardwareBufferFormatPropertiesANDROID const *>( &rhs );
4680  return *this;
4681  }
4682 
4684  {
4685  return *reinterpret_cast<const VkAndroidHardwareBufferFormatPropertiesANDROID *>( this );
4686  }
4687 
4689  {
4690  return *reinterpret_cast<VkAndroidHardwareBufferFormatPropertiesANDROID *>( this );
4691  }
4692 
4693 # if defined( VULKAN_HPP_USE_REFLECT )
4694 # if 14 <= VULKAN_HPP_CPP_VERSION
4695  auto
4696 # else
4697  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
4698  void * const &,
4700  uint64_t const &,
4707 # endif
4708  reflect() const VULKAN_HPP_NOEXCEPT
4709  {
4710  return std::tie( sType,
4711  pNext,
4712  format,
4713  externalFormat,
4714  formatFeatures,
4715  samplerYcbcrConversionComponents,
4716  suggestedYcbcrModel,
4717  suggestedYcbcrRange,
4718  suggestedXChromaOffset,
4719  suggestedYChromaOffset );
4720  }
4721 # endif
4722 
4723 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
4724  auto operator<=>( AndroidHardwareBufferFormatPropertiesANDROID const & ) const = default;
4725 # else
4726  bool operator==( AndroidHardwareBufferFormatPropertiesANDROID const & rhs ) const VULKAN_HPP_NOEXCEPT
4727  {
4728 # if defined( VULKAN_HPP_USE_REFLECT )
4729  return this->reflect() == rhs.reflect();
4730 # else
4731  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( format == rhs.format ) && ( externalFormat == rhs.externalFormat ) &&
4732  ( formatFeatures == rhs.formatFeatures ) && ( samplerYcbcrConversionComponents == rhs.samplerYcbcrConversionComponents ) &&
4733  ( suggestedYcbcrModel == rhs.suggestedYcbcrModel ) && ( suggestedYcbcrRange == rhs.suggestedYcbcrRange ) &&
4734  ( suggestedXChromaOffset == rhs.suggestedXChromaOffset ) && ( suggestedYChromaOffset == rhs.suggestedYChromaOffset );
4735 # endif
4736  }
4737 
4738  bool operator!=( AndroidHardwareBufferFormatPropertiesANDROID const & rhs ) const VULKAN_HPP_NOEXCEPT
4739  {
4740  return !operator==( rhs );
4741  }
4742 # endif
4743 
4744  public:
4745  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eAndroidHardwareBufferFormatPropertiesANDROID;
4746  void * pNext = {};
4748  uint64_t externalFormat = {};
4749  VULKAN_HPP_NAMESPACE::FormatFeatureFlags formatFeatures = {};
4750  VULKAN_HPP_NAMESPACE::ComponentMapping samplerYcbcrConversionComponents = {};
4755  };
4756 
4757  template <>
4758  struct CppType<StructureType, StructureType::eAndroidHardwareBufferFormatPropertiesANDROID>
4759  {
4760  using Type = AndroidHardwareBufferFormatPropertiesANDROID;
4761  };
4762 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
4763 
4764 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
4765  struct AndroidHardwareBufferPropertiesANDROID
4766  {
4767  using NativeType = VkAndroidHardwareBufferPropertiesANDROID;
4768 
4769  static const bool allowDuplicate = false;
4770  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAndroidHardwareBufferPropertiesANDROID;
4771 
4772 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
4773  VULKAN_HPP_CONSTEXPR AndroidHardwareBufferPropertiesANDROID( VULKAN_HPP_NAMESPACE::DeviceSize allocationSize_ = {},
4774  uint32_t memoryTypeBits_ = {},
4775  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
4776  : pNext( pNext_ )
4777  , allocationSize( allocationSize_ )
4778  , memoryTypeBits( memoryTypeBits_ )
4779  {
4780  }
4781 
4782  VULKAN_HPP_CONSTEXPR AndroidHardwareBufferPropertiesANDROID( AndroidHardwareBufferPropertiesANDROID const & rhs ) VULKAN_HPP_NOEXCEPT = default;
4783 
4784  AndroidHardwareBufferPropertiesANDROID( VkAndroidHardwareBufferPropertiesANDROID const & rhs ) VULKAN_HPP_NOEXCEPT
4785  : AndroidHardwareBufferPropertiesANDROID( *reinterpret_cast<AndroidHardwareBufferPropertiesANDROID const *>( &rhs ) )
4786  {
4787  }
4788 
4789  AndroidHardwareBufferPropertiesANDROID & operator=( AndroidHardwareBufferPropertiesANDROID const & rhs ) VULKAN_HPP_NOEXCEPT = default;
4790 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
4791 
4792  AndroidHardwareBufferPropertiesANDROID & operator=( VkAndroidHardwareBufferPropertiesANDROID const & rhs ) VULKAN_HPP_NOEXCEPT
4793  {
4794  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID const *>( &rhs );
4795  return *this;
4796  }
4797 
4799  {
4800  return *reinterpret_cast<const VkAndroidHardwareBufferPropertiesANDROID *>( this );
4801  }
4802 
4804  {
4805  return *reinterpret_cast<VkAndroidHardwareBufferPropertiesANDROID *>( this );
4806  }
4807 
4808 # if defined( VULKAN_HPP_USE_REFLECT )
4809 # if 14 <= VULKAN_HPP_CPP_VERSION
4810  auto
4811 # else
4812  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::DeviceSize const &, uint32_t const &>
4813 # endif
4814  reflect() const VULKAN_HPP_NOEXCEPT
4815  {
4816  return std::tie( sType, pNext, allocationSize, memoryTypeBits );
4817  }
4818 # endif
4819 
4820 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
4821  auto operator<=>( AndroidHardwareBufferPropertiesANDROID const & ) const = default;
4822 # else
4823  bool operator==( AndroidHardwareBufferPropertiesANDROID const & rhs ) const VULKAN_HPP_NOEXCEPT
4824  {
4825 # if defined( VULKAN_HPP_USE_REFLECT )
4826  return this->reflect() == rhs.reflect();
4827 # else
4828  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( allocationSize == rhs.allocationSize ) && ( memoryTypeBits == rhs.memoryTypeBits );
4829 # endif
4830  }
4831 
4832  bool operator!=( AndroidHardwareBufferPropertiesANDROID const & rhs ) const VULKAN_HPP_NOEXCEPT
4833  {
4834  return !operator==( rhs );
4835  }
4836 # endif
4837 
4838  public:
4839  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eAndroidHardwareBufferPropertiesANDROID;
4840  void * pNext = {};
4841  VULKAN_HPP_NAMESPACE::DeviceSize allocationSize = {};
4842  uint32_t memoryTypeBits = {};
4843  };
4844 
4845  template <>
4846  struct CppType<StructureType, StructureType::eAndroidHardwareBufferPropertiesANDROID>
4847  {
4848  using Type = AndroidHardwareBufferPropertiesANDROID;
4849  };
4850 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
4851 
4852 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
4853  struct AndroidHardwareBufferUsageANDROID
4854  {
4855  using NativeType = VkAndroidHardwareBufferUsageANDROID;
4856 
4857  static const bool allowDuplicate = false;
4858  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAndroidHardwareBufferUsageANDROID;
4859 
4860 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
4861  VULKAN_HPP_CONSTEXPR AndroidHardwareBufferUsageANDROID( uint64_t androidHardwareBufferUsage_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
4862  : pNext( pNext_ )
4863  , androidHardwareBufferUsage( androidHardwareBufferUsage_ )
4864  {
4865  }
4866 
4867  VULKAN_HPP_CONSTEXPR AndroidHardwareBufferUsageANDROID( AndroidHardwareBufferUsageANDROID const & rhs ) VULKAN_HPP_NOEXCEPT = default;
4868 
4869  AndroidHardwareBufferUsageANDROID( VkAndroidHardwareBufferUsageANDROID const & rhs ) VULKAN_HPP_NOEXCEPT
4870  : AndroidHardwareBufferUsageANDROID( *reinterpret_cast<AndroidHardwareBufferUsageANDROID const *>( &rhs ) )
4871  {
4872  }
4873 
4874  AndroidHardwareBufferUsageANDROID & operator=( AndroidHardwareBufferUsageANDROID const & rhs ) VULKAN_HPP_NOEXCEPT = default;
4875 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
4876 
4877  AndroidHardwareBufferUsageANDROID & operator=( VkAndroidHardwareBufferUsageANDROID const & rhs ) VULKAN_HPP_NOEXCEPT
4878  {
4879  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AndroidHardwareBufferUsageANDROID const *>( &rhs );
4880  return *this;
4881  }
4882 
4884  {
4885  return *reinterpret_cast<const VkAndroidHardwareBufferUsageANDROID *>( this );
4886  }
4887 
4889  {
4890  return *reinterpret_cast<VkAndroidHardwareBufferUsageANDROID *>( this );
4891  }
4892 
4893 # if defined( VULKAN_HPP_USE_REFLECT )
4894 # if 14 <= VULKAN_HPP_CPP_VERSION
4895  auto
4896 # else
4897  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, uint64_t const &>
4898 # endif
4899  reflect() const VULKAN_HPP_NOEXCEPT
4900  {
4901  return std::tie( sType, pNext, androidHardwareBufferUsage );
4902  }
4903 # endif
4904 
4905 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
4906  auto operator<=>( AndroidHardwareBufferUsageANDROID const & ) const = default;
4907 # else
4908  bool operator==( AndroidHardwareBufferUsageANDROID const & rhs ) const VULKAN_HPP_NOEXCEPT
4909  {
4910 # if defined( VULKAN_HPP_USE_REFLECT )
4911  return this->reflect() == rhs.reflect();
4912 # else
4913  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( androidHardwareBufferUsage == rhs.androidHardwareBufferUsage );
4914 # endif
4915  }
4916 
4917  bool operator!=( AndroidHardwareBufferUsageANDROID const & rhs ) const VULKAN_HPP_NOEXCEPT
4918  {
4919  return !operator==( rhs );
4920  }
4921 # endif
4922 
4923  public:
4924  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eAndroidHardwareBufferUsageANDROID;
4925  void * pNext = {};
4926  uint64_t androidHardwareBufferUsage = {};
4927  };
4928 
4929  template <>
4930  struct CppType<StructureType, StructureType::eAndroidHardwareBufferUsageANDROID>
4931  {
4932  using Type = AndroidHardwareBufferUsageANDROID;
4933  };
4934 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
4935 
4936 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
4937  struct AndroidSurfaceCreateInfoKHR
4938  {
4939  using NativeType = VkAndroidSurfaceCreateInfoKHR;
4940 
4941  static const bool allowDuplicate = false;
4942  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAndroidSurfaceCreateInfoKHR;
4943 
4944 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
4945  VULKAN_HPP_CONSTEXPR AndroidSurfaceCreateInfoKHR( VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateFlagsKHR flags_ = {},
4946  struct ANativeWindow * window_ = {},
4947  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
4948  : pNext( pNext_ )
4949  , flags( flags_ )
4950  , window( window_ )
4951  {
4952  }
4953 
4954  VULKAN_HPP_CONSTEXPR AndroidSurfaceCreateInfoKHR( AndroidSurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
4955 
4956  AndroidSurfaceCreateInfoKHR( VkAndroidSurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
4957  : AndroidSurfaceCreateInfoKHR( *reinterpret_cast<AndroidSurfaceCreateInfoKHR const *>( &rhs ) )
4958  {
4959  }
4960 
4961  AndroidSurfaceCreateInfoKHR & operator=( AndroidSurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
4962 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
4963 
4964  AndroidSurfaceCreateInfoKHR & operator=( VkAndroidSurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
4965  {
4966  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateInfoKHR const *>( &rhs );
4967  return *this;
4968  }
4969 
4970 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
4971  VULKAN_HPP_CONSTEXPR_14 AndroidSurfaceCreateInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
4972  {
4973  pNext = pNext_;
4974  return *this;
4975  }
4976 
4977  VULKAN_HPP_CONSTEXPR_14 AndroidSurfaceCreateInfoKHR & setFlags( VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT
4978  {
4979  flags = flags_;
4980  return *this;
4981  }
4982 
4983  VULKAN_HPP_CONSTEXPR_14 AndroidSurfaceCreateInfoKHR & setWindow( struct ANativeWindow * window_ ) VULKAN_HPP_NOEXCEPT
4984  {
4985  window = window_;
4986  return *this;
4987  }
4988 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
4989 
4990  operator VkAndroidSurfaceCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT
4991  {
4992  return *reinterpret_cast<const VkAndroidSurfaceCreateInfoKHR *>( this );
4993  }
4994 
4996  {
4997  return *reinterpret_cast<VkAndroidSurfaceCreateInfoKHR *>( this );
4998  }
4999 
5000 # if defined( VULKAN_HPP_USE_REFLECT )
5001 # if 14 <= VULKAN_HPP_CPP_VERSION
5002  auto
5003 # else
5004  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
5005  const void * const &,
5006  VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateFlagsKHR const &,
5007  struct ANativeWindow * const &>
5008 # endif
5009  reflect() const VULKAN_HPP_NOEXCEPT
5010  {
5011  return std::tie( sType, pNext, flags, window );
5012  }
5013 # endif
5014 
5015 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
5016  auto operator<=>( AndroidSurfaceCreateInfoKHR const & ) const = default;
5017 # else
5018  bool operator==( AndroidSurfaceCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
5019  {
5020 # if defined( VULKAN_HPP_USE_REFLECT )
5021  return this->reflect() == rhs.reflect();
5022 # else
5023  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( window == rhs.window );
5024 # endif
5025  }
5026 
5027  bool operator!=( AndroidSurfaceCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
5028  {
5029  return !operator==( rhs );
5030  }
5031 # endif
5032 
5033  public:
5034  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eAndroidSurfaceCreateInfoKHR;
5035  const void * pNext = {};
5036  VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateFlagsKHR flags = {};
5037  struct ANativeWindow * window = {};
5038  };
5039 
5040  template <>
5041  struct CppType<StructureType, StructureType::eAndroidSurfaceCreateInfoKHR>
5042  {
5043  using Type = AndroidSurfaceCreateInfoKHR;
5044  };
5045 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
5046 
5048  {
5050 
5051  static const bool allowDuplicate = false;
5053 
5054 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
5055  VULKAN_HPP_CONSTEXPR ApplicationInfo( const char * pApplicationName_ = {},
5056  uint32_t applicationVersion_ = {},
5057  const char * pEngineName_ = {},
5058  uint32_t engineVersion_ = {},
5059  uint32_t apiVersion_ = {},
5060  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
5061  : pNext( pNext_ )
5062  , pApplicationName( pApplicationName_ )
5063  , applicationVersion( applicationVersion_ )
5064  , pEngineName( pEngineName_ )
5065  , engineVersion( engineVersion_ )
5066  , apiVersion( apiVersion_ )
5067  {
5068  }
5069 
5071 
5072  ApplicationInfo( VkApplicationInfo const & rhs ) VULKAN_HPP_NOEXCEPT : ApplicationInfo( *reinterpret_cast<ApplicationInfo const *>( &rhs ) ) {}
5073 
5074  ApplicationInfo & operator=( ApplicationInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
5075 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
5076 
5078  {
5079  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ApplicationInfo const *>( &rhs );
5080  return *this;
5081  }
5082 
5083 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
5085  {
5086  pNext = pNext_;
5087  return *this;
5088  }
5089 
5091  {
5092  pApplicationName = pApplicationName_;
5093  return *this;
5094  }
5095 
5097  {
5098  applicationVersion = applicationVersion_;
5099  return *this;
5100  }
5101 
5103  {
5104  pEngineName = pEngineName_;
5105  return *this;
5106  }
5107 
5109  {
5110  engineVersion = engineVersion_;
5111  return *this;
5112  }
5113 
5115  {
5116  apiVersion = apiVersion_;
5117  return *this;
5118  }
5119 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
5120 
5121  operator VkApplicationInfo const &() const VULKAN_HPP_NOEXCEPT
5122  {
5123  return *reinterpret_cast<const VkApplicationInfo *>( this );
5124  }
5125 
5127  {
5128  return *reinterpret_cast<VkApplicationInfo *>( this );
5129  }
5130 
5131 #if defined( VULKAN_HPP_USE_REFLECT )
5132 # if 14 <= VULKAN_HPP_CPP_VERSION
5133  auto
5134 # else
5135  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
5136  const void * const &,
5137  const char * const &,
5138  uint32_t const &,
5139  const char * const &,
5140  uint32_t const &,
5141  uint32_t const &>
5142 # endif
5143  reflect() const VULKAN_HPP_NOEXCEPT
5144  {
5146  }
5147 #endif
5148 
5149 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
5150  std::strong_ordering operator<=>( ApplicationInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
5151  {
5152  if ( auto cmp = sType <=> rhs.sType; cmp != 0 )
5153  return cmp;
5154  if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 )
5155  return cmp;
5156  if ( pApplicationName != rhs.pApplicationName )
5157  if ( auto cmp = strcmp( pApplicationName, rhs.pApplicationName ); cmp != 0 )
5158  return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater;
5159  if ( auto cmp = applicationVersion <=> rhs.applicationVersion; cmp != 0 )
5160  return cmp;
5161  if ( pEngineName != rhs.pEngineName )
5162  if ( auto cmp = strcmp( pEngineName, rhs.pEngineName ); cmp != 0 )
5163  return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater;
5164  if ( auto cmp = engineVersion <=> rhs.engineVersion; cmp != 0 )
5165  return cmp;
5166  if ( auto cmp = apiVersion <=> rhs.apiVersion; cmp != 0 )
5167  return cmp;
5168 
5169  return std::strong_ordering::equivalent;
5170  }
5171 #endif
5172 
5174  {
5175  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
5176  ( ( pApplicationName == rhs.pApplicationName ) || ( strcmp( pApplicationName, rhs.pApplicationName ) == 0 ) ) &&
5177  ( applicationVersion == rhs.applicationVersion ) && ( ( pEngineName == rhs.pEngineName ) || ( strcmp( pEngineName, rhs.pEngineName ) == 0 ) ) &&
5178  ( engineVersion == rhs.engineVersion ) && ( apiVersion == rhs.apiVersion );
5179  }
5180 
5182  {
5183  return !operator==( rhs );
5184  }
5185 
5186  public:
5188  const void * pNext = {};
5189  const char * pApplicationName = {};
5190  uint32_t applicationVersion = {};
5191  const char * pEngineName = {};
5192  uint32_t engineVersion = {};
5193  uint32_t apiVersion = {};
5194  };
5195 
5196  template <>
5198  {
5200  };
5201 
5203  {
5205 
5206 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
5217  : flags( flags_ )
5218  , format( format_ )
5219  , samples( samples_ )
5220  , loadOp( loadOp_ )
5221  , storeOp( storeOp_ )
5222  , stencilLoadOp( stencilLoadOp_ )
5223  , stencilStoreOp( stencilStoreOp_ )
5224  , initialLayout( initialLayout_ )
5225  , finalLayout( finalLayout_ )
5226  {
5227  }
5228 
5230 
5232  : AttachmentDescription( *reinterpret_cast<AttachmentDescription const *>( &rhs ) )
5233  {
5234  }
5235 
5237 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
5238 
5240  {
5241  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AttachmentDescription const *>( &rhs );
5242  return *this;
5243  }
5244 
5245 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
5247  {
5248  flags = flags_;
5249  return *this;
5250  }
5251 
5253  {
5254  format = format_;
5255  return *this;
5256  }
5257 
5259  {
5260  samples = samples_;
5261  return *this;
5262  }
5263 
5265  {
5266  loadOp = loadOp_;
5267  return *this;
5268  }
5269 
5271  {
5272  storeOp = storeOp_;
5273  return *this;
5274  }
5275 
5277  {
5278  stencilLoadOp = stencilLoadOp_;
5279  return *this;
5280  }
5281 
5283  {
5284  stencilStoreOp = stencilStoreOp_;
5285  return *this;
5286  }
5287 
5289  {
5290  initialLayout = initialLayout_;
5291  return *this;
5292  }
5293 
5295  {
5296  finalLayout = finalLayout_;
5297  return *this;
5298  }
5299 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
5300 
5302  {
5303  return *reinterpret_cast<const VkAttachmentDescription *>( this );
5304  }
5305 
5307  {
5308  return *reinterpret_cast<VkAttachmentDescription *>( this );
5309  }
5310 
5311 #if defined( VULKAN_HPP_USE_REFLECT )
5312 # if 14 <= VULKAN_HPP_CPP_VERSION
5313  auto
5314 # else
5324 # endif
5325  reflect() const VULKAN_HPP_NOEXCEPT
5326  {
5328  }
5329 #endif
5330 
5331 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
5332  auto operator<=>( AttachmentDescription const & ) const = default;
5333 #else
5335  {
5336 # if defined( VULKAN_HPP_USE_REFLECT )
5337  return this->reflect() == rhs.reflect();
5338 # else
5339  return ( flags == rhs.flags ) && ( format == rhs.format ) && ( samples == rhs.samples ) && ( loadOp == rhs.loadOp ) && ( storeOp == rhs.storeOp ) &&
5340  ( stencilLoadOp == rhs.stencilLoadOp ) && ( stencilStoreOp == rhs.stencilStoreOp ) && ( initialLayout == rhs.initialLayout ) &&
5341  ( finalLayout == rhs.finalLayout );
5342 # endif
5343  }
5344 
5346  {
5347  return !operator==( rhs );
5348  }
5349 #endif
5350 
5351  public:
5361  };
5362 
5364  {
5366 
5367  static const bool allowDuplicate = false;
5369 
5370 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
5380  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
5381  : pNext( pNext_ )
5382  , flags( flags_ )
5383  , format( format_ )
5384  , samples( samples_ )
5385  , loadOp( loadOp_ )
5386  , storeOp( storeOp_ )
5387  , stencilLoadOp( stencilLoadOp_ )
5388  , stencilStoreOp( stencilStoreOp_ )
5389  , initialLayout( initialLayout_ )
5390  , finalLayout( finalLayout_ )
5391  {
5392  }
5393 
5395 
5397  : AttachmentDescription2( *reinterpret_cast<AttachmentDescription2 const *>( &rhs ) )
5398  {
5399  }
5400 
5402 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
5403 
5405  {
5406  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AttachmentDescription2 const *>( &rhs );
5407  return *this;
5408  }
5409 
5410 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
5412  {
5413  pNext = pNext_;
5414  return *this;
5415  }
5416 
5418  {
5419  flags = flags_;
5420  return *this;
5421  }
5422 
5424  {
5425  format = format_;
5426  return *this;
5427  }
5428 
5430  {
5431  samples = samples_;
5432  return *this;
5433  }
5434 
5436  {
5437  loadOp = loadOp_;
5438  return *this;
5439  }
5440 
5442  {
5443  storeOp = storeOp_;
5444  return *this;
5445  }
5446 
5448  {
5449  stencilLoadOp = stencilLoadOp_;
5450  return *this;
5451  }
5452 
5454  {
5455  stencilStoreOp = stencilStoreOp_;
5456  return *this;
5457  }
5458 
5460  {
5461  initialLayout = initialLayout_;
5462  return *this;
5463  }
5464 
5466  {
5467  finalLayout = finalLayout_;
5468  return *this;
5469  }
5470 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
5471 
5473  {
5474  return *reinterpret_cast<const VkAttachmentDescription2 *>( this );
5475  }
5476 
5478  {
5479  return *reinterpret_cast<VkAttachmentDescription2 *>( this );
5480  }
5481 
5482 #if defined( VULKAN_HPP_USE_REFLECT )
5483 # if 14 <= VULKAN_HPP_CPP_VERSION
5484  auto
5485 # else
5486  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
5487  const void * const &,
5497 # endif
5498  reflect() const VULKAN_HPP_NOEXCEPT
5499  {
5501  }
5502 #endif
5503 
5504 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
5505  auto operator<=>( AttachmentDescription2 const & ) const = default;
5506 #else
5508  {
5509 # if defined( VULKAN_HPP_USE_REFLECT )
5510  return this->reflect() == rhs.reflect();
5511 # else
5512  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( format == rhs.format ) && ( samples == rhs.samples ) &&
5513  ( loadOp == rhs.loadOp ) && ( storeOp == rhs.storeOp ) && ( stencilLoadOp == rhs.stencilLoadOp ) && ( stencilStoreOp == rhs.stencilStoreOp ) &&
5514  ( initialLayout == rhs.initialLayout ) && ( finalLayout == rhs.finalLayout );
5515 # endif
5516  }
5517 
5519  {
5520  return !operator==( rhs );
5521  }
5522 #endif
5523 
5524  public:
5526  const void * pNext = {};
5536  };
5537 
5538  template <>
5540  {
5542  };
5544 
5546  {
5548 
5549  static const bool allowDuplicate = false;
5551 
5552 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
5556  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
5557  : pNext( pNext_ )
5558  , stencilInitialLayout( stencilInitialLayout_ )
5559  , stencilFinalLayout( stencilFinalLayout_ )
5560  {
5561  }
5562 
5564 
5566  : AttachmentDescriptionStencilLayout( *reinterpret_cast<AttachmentDescriptionStencilLayout const *>( &rhs ) )
5567  {
5568  }
5569 
5571 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
5572 
5574  {
5575  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AttachmentDescriptionStencilLayout const *>( &rhs );
5576  return *this;
5577  }
5578 
5579 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
5581  {
5582  pNext = pNext_;
5583  return *this;
5584  }
5585 
5588  {
5589  stencilInitialLayout = stencilInitialLayout_;
5590  return *this;
5591  }
5592 
5595  {
5596  stencilFinalLayout = stencilFinalLayout_;
5597  return *this;
5598  }
5599 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
5600 
5602  {
5603  return *reinterpret_cast<const VkAttachmentDescriptionStencilLayout *>( this );
5604  }
5605 
5607  {
5608  return *reinterpret_cast<VkAttachmentDescriptionStencilLayout *>( this );
5609  }
5610 
5611 #if defined( VULKAN_HPP_USE_REFLECT )
5612 # if 14 <= VULKAN_HPP_CPP_VERSION
5613  auto
5614 # else
5615  std::
5616  tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::ImageLayout const &, VULKAN_HPP_NAMESPACE::ImageLayout const &>
5617 # endif
5618  reflect() const VULKAN_HPP_NOEXCEPT
5619  {
5620  return std::tie( sType, pNext, stencilInitialLayout, stencilFinalLayout );
5621  }
5622 #endif
5623 
5624 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
5625  auto operator<=>( AttachmentDescriptionStencilLayout const & ) const = default;
5626 #else
5628  {
5629 # if defined( VULKAN_HPP_USE_REFLECT )
5630  return this->reflect() == rhs.reflect();
5631 # else
5632  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( stencilInitialLayout == rhs.stencilInitialLayout ) &&
5633  ( stencilFinalLayout == rhs.stencilFinalLayout );
5634 # endif
5635  }
5636 
5638  {
5639  return !operator==( rhs );
5640  }
5641 #endif
5642 
5643  public:
5645  void * pNext = {};
5648  };
5649 
5650  template <>
5652  {
5654  };
5656 
5658  {
5660 
5661 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
5662  VULKAN_HPP_CONSTEXPR AttachmentReference( uint32_t attachment_ = {},
5664  : attachment( attachment_ )
5665  , layout( layout_ )
5666  {
5667  }
5668 
5670 
5671  AttachmentReference( VkAttachmentReference const & rhs ) VULKAN_HPP_NOEXCEPT : AttachmentReference( *reinterpret_cast<AttachmentReference const *>( &rhs ) )
5672  {
5673  }
5674 
5676 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
5677 
5679  {
5680  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AttachmentReference const *>( &rhs );
5681  return *this;
5682  }
5683 
5684 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
5686  {
5687  attachment = attachment_;
5688  return *this;
5689  }
5690 
5692  {
5693  layout = layout_;
5694  return *this;
5695  }
5696 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
5697 
5699  {
5700  return *reinterpret_cast<const VkAttachmentReference *>( this );
5701  }
5702 
5704  {
5705  return *reinterpret_cast<VkAttachmentReference *>( this );
5706  }
5707 
5708 #if defined( VULKAN_HPP_USE_REFLECT )
5709 # if 14 <= VULKAN_HPP_CPP_VERSION
5710  auto
5711 # else
5712  std::tuple<uint32_t const &, VULKAN_HPP_NAMESPACE::ImageLayout const &>
5713 # endif
5714  reflect() const VULKAN_HPP_NOEXCEPT
5715  {
5716  return std::tie( attachment, layout );
5717  }
5718 #endif
5719 
5720 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
5721  auto operator<=>( AttachmentReference const & ) const = default;
5722 #else
5724  {
5725 # if defined( VULKAN_HPP_USE_REFLECT )
5726  return this->reflect() == rhs.reflect();
5727 # else
5728  return ( attachment == rhs.attachment ) && ( layout == rhs.layout );
5729 # endif
5730  }
5731 
5733  {
5734  return !operator==( rhs );
5735  }
5736 #endif
5737 
5738  public:
5739  uint32_t attachment = {};
5741  };
5742 
5744  {
5746 
5747  static const bool allowDuplicate = false;
5749 
5750 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
5751  VULKAN_HPP_CONSTEXPR AttachmentReference2( uint32_t attachment_ = {},
5753  VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_ = {},
5754  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
5755  : pNext( pNext_ )
5756  , attachment( attachment_ )
5757  , layout( layout_ )
5758  , aspectMask( aspectMask_ )
5759  {
5760  }
5761 
5763 
5765  : AttachmentReference2( *reinterpret_cast<AttachmentReference2 const *>( &rhs ) )
5766  {
5767  }
5768 
5770 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
5771 
5773  {
5774  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AttachmentReference2 const *>( &rhs );
5775  return *this;
5776  }
5777 
5778 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
5780  {
5781  pNext = pNext_;
5782  return *this;
5783  }
5784 
5786  {
5787  attachment = attachment_;
5788  return *this;
5789  }
5790 
5792  {
5793  layout = layout_;
5794  return *this;
5795  }
5796 
5798  {
5799  aspectMask = aspectMask_;
5800  return *this;
5801  }
5802 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
5803 
5805  {
5806  return *reinterpret_cast<const VkAttachmentReference2 *>( this );
5807  }
5808 
5810  {
5811  return *reinterpret_cast<VkAttachmentReference2 *>( this );
5812  }
5813 
5814 #if defined( VULKAN_HPP_USE_REFLECT )
5815 # if 14 <= VULKAN_HPP_CPP_VERSION
5816  auto
5817 # else
5818  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
5819  const void * const &,
5820  uint32_t const &,
5823 # endif
5824  reflect() const VULKAN_HPP_NOEXCEPT
5825  {
5826  return std::tie( sType, pNext, attachment, layout, aspectMask );
5827  }
5828 #endif
5829 
5830 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
5831  auto operator<=>( AttachmentReference2 const & ) const = default;
5832 #else
5834  {
5835 # if defined( VULKAN_HPP_USE_REFLECT )
5836  return this->reflect() == rhs.reflect();
5837 # else
5838  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( attachment == rhs.attachment ) && ( layout == rhs.layout ) &&
5839  ( aspectMask == rhs.aspectMask );
5840 # endif
5841  }
5842 
5844  {
5845  return !operator==( rhs );
5846  }
5847 #endif
5848 
5849  public:
5851  const void * pNext = {};
5852  uint32_t attachment = {};
5855  };
5856 
5857  template <>
5859  {
5861  };
5863 
5865  {
5867 
5868  static const bool allowDuplicate = false;
5870 
5871 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
5873  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
5874  : pNext( pNext_ )
5875  , stencilLayout( stencilLayout_ )
5876  {
5877  }
5878 
5880 
5882  : AttachmentReferenceStencilLayout( *reinterpret_cast<AttachmentReferenceStencilLayout const *>( &rhs ) )
5883  {
5884  }
5885 
5887 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
5888 
5890  {
5891  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AttachmentReferenceStencilLayout const *>( &rhs );
5892  return *this;
5893  }
5894 
5895 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
5897  {
5898  pNext = pNext_;
5899  return *this;
5900  }
5901 
5903  {
5904  stencilLayout = stencilLayout_;
5905  return *this;
5906  }
5907 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
5908 
5910  {
5911  return *reinterpret_cast<const VkAttachmentReferenceStencilLayout *>( this );
5912  }
5913 
5915  {
5916  return *reinterpret_cast<VkAttachmentReferenceStencilLayout *>( this );
5917  }
5918 
5919 #if defined( VULKAN_HPP_USE_REFLECT )
5920 # if 14 <= VULKAN_HPP_CPP_VERSION
5921  auto
5922 # else
5923  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::ImageLayout const &>
5924 # endif
5925  reflect() const VULKAN_HPP_NOEXCEPT
5926  {
5927  return std::tie( sType, pNext, stencilLayout );
5928  }
5929 #endif
5930 
5931 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
5932  auto operator<=>( AttachmentReferenceStencilLayout const & ) const = default;
5933 #else
5935  {
5936 # if defined( VULKAN_HPP_USE_REFLECT )
5937  return this->reflect() == rhs.reflect();
5938 # else
5939  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( stencilLayout == rhs.stencilLayout );
5940 # endif
5941  }
5942 
5944  {
5945  return !operator==( rhs );
5946  }
5947 #endif
5948 
5949  public:
5951  void * pNext = {};
5953  };
5954 
5955  template <>
5957  {
5959  };
5961 
5963  {
5965 
5966  static const bool allowDuplicate = false;
5968 
5969 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
5971  AttachmentSampleCountInfoAMD( uint32_t colorAttachmentCount_ = {},
5972  const VULKAN_HPP_NAMESPACE::SampleCountFlagBits * pColorAttachmentSamples_ = {},
5974  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
5975  : pNext( pNext_ )
5976  , colorAttachmentCount( colorAttachmentCount_ )
5977  , pColorAttachmentSamples( pColorAttachmentSamples_ )
5978  , depthStencilAttachmentSamples( depthStencilAttachmentSamples_ )
5979  {
5980  }
5981 
5983 
5985  : AttachmentSampleCountInfoAMD( *reinterpret_cast<AttachmentSampleCountInfoAMD const *>( &rhs ) )
5986  {
5987  }
5988 
5989 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
5993  const void * pNext_ = nullptr )
5994  : pNext( pNext_ )
5995  , colorAttachmentCount( static_cast<uint32_t>( colorAttachmentSamples_.size() ) )
5996  , pColorAttachmentSamples( colorAttachmentSamples_.data() )
5997  , depthStencilAttachmentSamples( depthStencilAttachmentSamples_ )
5998  {
5999  }
6000 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
6001 
6003 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
6004 
6006  {
6007  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AttachmentSampleCountInfoAMD const *>( &rhs );
6008  return *this;
6009  }
6010 
6011 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
6013  {
6014  pNext = pNext_;
6015  return *this;
6016  }
6017 
6019  {
6020  colorAttachmentCount = colorAttachmentCount_;
6021  return *this;
6022  }
6023 
6026  {
6027  pColorAttachmentSamples = pColorAttachmentSamples_;
6028  return *this;
6029  }
6030 
6031 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
6034  {
6035  colorAttachmentCount = static_cast<uint32_t>( colorAttachmentSamples_.size() );
6036  pColorAttachmentSamples = colorAttachmentSamples_.data();
6037  return *this;
6038  }
6039 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
6040 
6043  {
6044  depthStencilAttachmentSamples = depthStencilAttachmentSamples_;
6045  return *this;
6046  }
6047 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
6048 
6050  {
6051  return *reinterpret_cast<const VkAttachmentSampleCountInfoAMD *>( this );
6052  }
6053 
6055  {
6056  return *reinterpret_cast<VkAttachmentSampleCountInfoAMD *>( this );
6057  }
6058 
6059 #if defined( VULKAN_HPP_USE_REFLECT )
6060 # if 14 <= VULKAN_HPP_CPP_VERSION
6061  auto
6062 # else
6063  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
6064  const void * const &,
6065  uint32_t const &,
6068 # endif
6069  reflect() const VULKAN_HPP_NOEXCEPT
6070  {
6072  }
6073 #endif
6074 
6075 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
6076  auto operator<=>( AttachmentSampleCountInfoAMD const & ) const = default;
6077 #else
6079  {
6080 # if defined( VULKAN_HPP_USE_REFLECT )
6081  return this->reflect() == rhs.reflect();
6082 # else
6083  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( colorAttachmentCount == rhs.colorAttachmentCount ) &&
6084  ( pColorAttachmentSamples == rhs.pColorAttachmentSamples ) && ( depthStencilAttachmentSamples == rhs.depthStencilAttachmentSamples );
6085 # endif
6086  }
6087 
6089  {
6090  return !operator==( rhs );
6091  }
6092 #endif
6093 
6094  public:
6096  const void * pNext = {};
6097  uint32_t colorAttachmentCount = {};
6100  };
6101 
6102  template <>
6104  {
6106  };
6108 
6109  struct Extent2D
6110  {
6112 
6113 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
6114  VULKAN_HPP_CONSTEXPR Extent2D( uint32_t width_ = {}, uint32_t height_ = {} ) VULKAN_HPP_NOEXCEPT
6115  : width( width_ )
6116  , height( height_ )
6117  {
6118  }
6119 
6120  VULKAN_HPP_CONSTEXPR Extent2D( Extent2D const & rhs ) VULKAN_HPP_NOEXCEPT = default;
6121 
6122  Extent2D( VkExtent2D const & rhs ) VULKAN_HPP_NOEXCEPT : Extent2D( *reinterpret_cast<Extent2D const *>( &rhs ) ) {}
6123 
6124  Extent2D & operator=( Extent2D const & rhs ) VULKAN_HPP_NOEXCEPT = default;
6125 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
6126 
6128  {
6129  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::Extent2D const *>( &rhs );
6130  return *this;
6131  }
6132 
6133 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
6135  {
6136  width = width_;
6137  return *this;
6138  }
6139 
6141  {
6142  height = height_;
6143  return *this;
6144  }
6145 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
6146 
6147  operator VkExtent2D const &() const VULKAN_HPP_NOEXCEPT
6148  {
6149  return *reinterpret_cast<const VkExtent2D *>( this );
6150  }
6151 
6153  {
6154  return *reinterpret_cast<VkExtent2D *>( this );
6155  }
6156 
6157 #if defined( VULKAN_HPP_USE_REFLECT )
6158 # if 14 <= VULKAN_HPP_CPP_VERSION
6159  auto
6160 # else
6161  std::tuple<uint32_t const &, uint32_t const &>
6162 # endif
6163  reflect() const VULKAN_HPP_NOEXCEPT
6164  {
6165  return std::tie( width, height );
6166  }
6167 #endif
6168 
6169 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
6170  auto operator<=>( Extent2D const & ) const = default;
6171 #else
6172  bool operator==( Extent2D const & rhs ) const VULKAN_HPP_NOEXCEPT
6173  {
6174 # if defined( VULKAN_HPP_USE_REFLECT )
6175  return this->reflect() == rhs.reflect();
6176 # else
6177  return ( width == rhs.width ) && ( height == rhs.height );
6178 # endif
6179  }
6180 
6181  bool operator!=( Extent2D const & rhs ) const VULKAN_HPP_NOEXCEPT
6182  {
6183  return !operator==( rhs );
6184  }
6185 #endif
6186 
6187  public:
6188  uint32_t width = {};
6189  uint32_t height = {};
6190  };
6191 
6193  {
6195 
6196 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
6198  : x( x_ )
6199  , y( y_ )
6200  {
6201  }
6202 
6204 
6205  SampleLocationEXT( VkSampleLocationEXT const & rhs ) VULKAN_HPP_NOEXCEPT : SampleLocationEXT( *reinterpret_cast<SampleLocationEXT const *>( &rhs ) ) {}
6206 
6208 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
6209 
6211  {
6212  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SampleLocationEXT const *>( &rhs );
6213  return *this;
6214  }
6215 
6216 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
6218  {
6219  x = x_;
6220  return *this;
6221  }
6222 
6224  {
6225  y = y_;
6226  return *this;
6227  }
6228 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
6229 
6230  operator VkSampleLocationEXT const &() const VULKAN_HPP_NOEXCEPT
6231  {
6232  return *reinterpret_cast<const VkSampleLocationEXT *>( this );
6233  }
6234 
6236  {
6237  return *reinterpret_cast<VkSampleLocationEXT *>( this );
6238  }
6239 
6240 #if defined( VULKAN_HPP_USE_REFLECT )
6241 # if 14 <= VULKAN_HPP_CPP_VERSION
6242  auto
6243 # else
6244  std::tuple<float const &, float const &>
6245 # endif
6246  reflect() const VULKAN_HPP_NOEXCEPT
6247  {
6248  return std::tie( x, y );
6249  }
6250 #endif
6251 
6252 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
6253  auto operator<=>( SampleLocationEXT const & ) const = default;
6254 #else
6256  {
6257 # if defined( VULKAN_HPP_USE_REFLECT )
6258  return this->reflect() == rhs.reflect();
6259 # else
6260  return ( x == rhs.x ) && ( y == rhs.y );
6261 # endif
6262  }
6263 
6265  {
6266  return !operator==( rhs );
6267  }
6268 #endif
6269 
6270  public:
6271  float x = {};
6272  float y = {};
6273  };
6274 
6276  {
6278 
6279  static const bool allowDuplicate = false;
6281 
6282 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
6285  VULKAN_HPP_NAMESPACE::Extent2D sampleLocationGridSize_ = {},
6286  uint32_t sampleLocationsCount_ = {},
6287  const VULKAN_HPP_NAMESPACE::SampleLocationEXT * pSampleLocations_ = {},
6288  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
6289  : pNext( pNext_ )
6290  , sampleLocationsPerPixel( sampleLocationsPerPixel_ )
6291  , sampleLocationGridSize( sampleLocationGridSize_ )
6292  , sampleLocationsCount( sampleLocationsCount_ )
6293  , pSampleLocations( pSampleLocations_ )
6294  {
6295  }
6296 
6298 
6300  : SampleLocationsInfoEXT( *reinterpret_cast<SampleLocationsInfoEXT const *>( &rhs ) )
6301  {
6302  }
6303 
6304 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
6306  VULKAN_HPP_NAMESPACE::Extent2D sampleLocationGridSize_,
6308  const void * pNext_ = nullptr )
6309  : pNext( pNext_ )
6310  , sampleLocationsPerPixel( sampleLocationsPerPixel_ )
6311  , sampleLocationGridSize( sampleLocationGridSize_ )
6312  , sampleLocationsCount( static_cast<uint32_t>( sampleLocations_.size() ) )
6313  , pSampleLocations( sampleLocations_.data() )
6314  {
6315  }
6316 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
6317 
6319 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
6320 
6322  {
6323  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT const *>( &rhs );
6324  return *this;
6325  }
6326 
6327 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
6329  {
6330  pNext = pNext_;
6331  return *this;
6332  }
6333 
6336  {
6337  sampleLocationsPerPixel = sampleLocationsPerPixel_;
6338  return *this;
6339  }
6340 
6343  {
6344  sampleLocationGridSize = sampleLocationGridSize_;
6345  return *this;
6346  }
6347 
6349  {
6350  sampleLocationsCount = sampleLocationsCount_;
6351  return *this;
6352  }
6353 
6356  {
6357  pSampleLocations = pSampleLocations_;
6358  return *this;
6359  }
6360 
6361 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
6364  {
6365  sampleLocationsCount = static_cast<uint32_t>( sampleLocations_.size() );
6366  pSampleLocations = sampleLocations_.data();
6367  return *this;
6368  }
6369 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
6370 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
6371 
6373  {
6374  return *reinterpret_cast<const VkSampleLocationsInfoEXT *>( this );
6375  }
6376 
6378  {
6379  return *reinterpret_cast<VkSampleLocationsInfoEXT *>( this );
6380  }
6381 
6382 #if defined( VULKAN_HPP_USE_REFLECT )
6383 # if 14 <= VULKAN_HPP_CPP_VERSION
6384  auto
6385 # else
6386  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
6387  const void * const &,
6390  uint32_t const &,
6392 # endif
6393  reflect() const VULKAN_HPP_NOEXCEPT
6394  {
6396  }
6397 #endif
6398 
6399 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
6400  auto operator<=>( SampleLocationsInfoEXT const & ) const = default;
6401 #else
6403  {
6404 # if defined( VULKAN_HPP_USE_REFLECT )
6405  return this->reflect() == rhs.reflect();
6406 # else
6407  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( sampleLocationsPerPixel == rhs.sampleLocationsPerPixel ) &&
6408  ( sampleLocationGridSize == rhs.sampleLocationGridSize ) && ( sampleLocationsCount == rhs.sampleLocationsCount ) &&
6409  ( pSampleLocations == rhs.pSampleLocations );
6410 # endif
6411  }
6412 
6414  {
6415  return !operator==( rhs );
6416  }
6417 #endif
6418 
6419  public:
6421  const void * pNext = {};
6424  uint32_t sampleLocationsCount = {};
6426  };
6427 
6428  template <>
6430  {
6432  };
6433 
6435  {
6437 
6438 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
6439  VULKAN_HPP_CONSTEXPR AttachmentSampleLocationsEXT( uint32_t attachmentIndex_ = {},
6441  : attachmentIndex( attachmentIndex_ )
6442  , sampleLocationsInfo( sampleLocationsInfo_ )
6443  {
6444  }
6445 
6447 
6449  : AttachmentSampleLocationsEXT( *reinterpret_cast<AttachmentSampleLocationsEXT const *>( &rhs ) )
6450  {
6451  }
6452 
6454 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
6455 
6457  {
6458  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AttachmentSampleLocationsEXT const *>( &rhs );
6459  return *this;
6460  }
6461 
6462 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
6464  {
6465  attachmentIndex = attachmentIndex_;
6466  return *this;
6467  }
6468 
6471  {
6472  sampleLocationsInfo = sampleLocationsInfo_;
6473  return *this;
6474  }
6475 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
6476 
6478  {
6479  return *reinterpret_cast<const VkAttachmentSampleLocationsEXT *>( this );
6480  }
6481 
6483  {
6484  return *reinterpret_cast<VkAttachmentSampleLocationsEXT *>( this );
6485  }
6486 
6487 #if defined( VULKAN_HPP_USE_REFLECT )
6488 # if 14 <= VULKAN_HPP_CPP_VERSION
6489  auto
6490 # else
6491  std::tuple<uint32_t const &, VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT const &>
6492 # endif
6493  reflect() const VULKAN_HPP_NOEXCEPT
6494  {
6495  return std::tie( attachmentIndex, sampleLocationsInfo );
6496  }
6497 #endif
6498 
6499 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
6500  auto operator<=>( AttachmentSampleLocationsEXT const & ) const = default;
6501 #else
6503  {
6504 # if defined( VULKAN_HPP_USE_REFLECT )
6505  return this->reflect() == rhs.reflect();
6506 # else
6507  return ( attachmentIndex == rhs.attachmentIndex ) && ( sampleLocationsInfo == rhs.sampleLocationsInfo );
6508 # endif
6509  }
6510 
6512  {
6513  return !operator==( rhs );
6514  }
6515 #endif
6516 
6517  public:
6518  uint32_t attachmentIndex = {};
6520  };
6521 
6523  {
6525 
6526 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
6528  const struct VULKAN_HPP_NAMESPACE::BaseInStructure * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
6529  : sType( sType_ )
6530  , pNext( pNext_ )
6531  {
6532  }
6533 
6534  BaseInStructure( BaseInStructure const & rhs ) VULKAN_HPP_NOEXCEPT = default;
6535 
6536  BaseInStructure( VkBaseInStructure const & rhs ) VULKAN_HPP_NOEXCEPT : BaseInStructure( *reinterpret_cast<BaseInStructure const *>( &rhs ) ) {}
6537 
6538  BaseInStructure & operator=( BaseInStructure const & rhs ) VULKAN_HPP_NOEXCEPT = default;
6539 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
6540 
6542  {
6543  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BaseInStructure const *>( &rhs );
6544  return *this;
6545  }
6546 
6547 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
6549  {
6550  pNext = pNext_;
6551  return *this;
6552  }
6553 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
6554 
6555  operator VkBaseInStructure const &() const VULKAN_HPP_NOEXCEPT
6556  {
6557  return *reinterpret_cast<const VkBaseInStructure *>( this );
6558  }
6559 
6561  {
6562  return *reinterpret_cast<VkBaseInStructure *>( this );
6563  }
6564 
6565 #if defined( VULKAN_HPP_USE_REFLECT )
6566 # if 14 <= VULKAN_HPP_CPP_VERSION
6567  auto
6568 # else
6569  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const struct VULKAN_HPP_NAMESPACE::BaseInStructure * const &>
6570 # endif
6571  reflect() const VULKAN_HPP_NOEXCEPT
6572  {
6573  return std::tie( sType, pNext );
6574  }
6575 #endif
6576 
6577 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
6578  auto operator<=>( BaseInStructure const & ) const = default;
6579 #else
6581  {
6582 # if defined( VULKAN_HPP_USE_REFLECT )
6583  return this->reflect() == rhs.reflect();
6584 # else
6585  return ( sType == rhs.sType ) && ( pNext == rhs.pNext );
6586 # endif
6587  }
6588 
6590  {
6591  return !operator==( rhs );
6592  }
6593 #endif
6594 
6595  public:
6598  };
6599 
6601  {
6603 
6604 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
6607  : sType( sType_ )
6608  , pNext( pNext_ )
6609  {
6610  }
6611 
6612  BaseOutStructure( BaseOutStructure const & rhs ) VULKAN_HPP_NOEXCEPT = default;
6613 
6614  BaseOutStructure( VkBaseOutStructure const & rhs ) VULKAN_HPP_NOEXCEPT : BaseOutStructure( *reinterpret_cast<BaseOutStructure const *>( &rhs ) ) {}
6615 
6617 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
6618 
6620  {
6621  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BaseOutStructure const *>( &rhs );
6622  return *this;
6623  }
6624 
6625 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
6627  {
6628  pNext = pNext_;
6629  return *this;
6630  }
6631 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
6632 
6633  operator VkBaseOutStructure const &() const VULKAN_HPP_NOEXCEPT
6634  {
6635  return *reinterpret_cast<const VkBaseOutStructure *>( this );
6636  }
6637 
6639  {
6640  return *reinterpret_cast<VkBaseOutStructure *>( this );
6641  }
6642 
6643 #if defined( VULKAN_HPP_USE_REFLECT )
6644 # if 14 <= VULKAN_HPP_CPP_VERSION
6645  auto
6646 # else
6647  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, struct VULKAN_HPP_NAMESPACE::BaseOutStructure * const &>
6648 # endif
6649  reflect() const VULKAN_HPP_NOEXCEPT
6650  {
6651  return std::tie( sType, pNext );
6652  }
6653 #endif
6654 
6655 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
6656  auto operator<=>( BaseOutStructure const & ) const = default;
6657 #else
6659  {
6660 # if defined( VULKAN_HPP_USE_REFLECT )
6661  return this->reflect() == rhs.reflect();
6662 # else
6663  return ( sType == rhs.sType ) && ( pNext == rhs.pNext );
6664 # endif
6665  }
6666 
6668  {
6669  return !operator==( rhs );
6670  }
6671 #endif
6672 
6673  public:
6676  };
6677 
6679  {
6681 
6682  static const bool allowDuplicate = false;
6684 
6685 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
6688  VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_ = {},
6689  uint32_t deviceIndexCount_ = {},
6690  const uint32_t * pDeviceIndices_ = {},
6691  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
6692  : pNext( pNext_ )
6693  , accelerationStructure( accelerationStructure_ )
6694  , memory( memory_ )
6695  , memoryOffset( memoryOffset_ )
6696  , deviceIndexCount( deviceIndexCount_ )
6697  , pDeviceIndices( pDeviceIndices_ )
6698  {
6699  }
6700 
6702 
6704  : BindAccelerationStructureMemoryInfoNV( *reinterpret_cast<BindAccelerationStructureMemoryInfoNV const *>( &rhs ) )
6705  {
6706  }
6707 
6708 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
6711  VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_,
6713  const void * pNext_ = nullptr )
6714  : pNext( pNext_ )
6715  , accelerationStructure( accelerationStructure_ )
6716  , memory( memory_ )
6717  , memoryOffset( memoryOffset_ )
6718  , deviceIndexCount( static_cast<uint32_t>( deviceIndices_.size() ) )
6719  , pDeviceIndices( deviceIndices_.data() )
6720  {
6721  }
6722 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
6723 
6725 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
6726 
6728  {
6729  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoNV const *>( &rhs );
6730  return *this;
6731  }
6732 
6733 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
6735  {
6736  pNext = pNext_;
6737  return *this;
6738  }
6739 
6742  {
6743  accelerationStructure = accelerationStructure_;
6744  return *this;
6745  }
6746 
6748  {
6749  memory = memory_;
6750  return *this;
6751  }
6752 
6754  {
6755  memoryOffset = memoryOffset_;
6756  return *this;
6757  }
6758 
6760  {
6761  deviceIndexCount = deviceIndexCount_;
6762  return *this;
6763  }
6764 
6766  {
6767  pDeviceIndices = pDeviceIndices_;
6768  return *this;
6769  }
6770 
6771 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
6774  {
6775  deviceIndexCount = static_cast<uint32_t>( deviceIndices_.size() );
6776  pDeviceIndices = deviceIndices_.data();
6777  return *this;
6778  }
6779 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
6780 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
6781 
6783  {
6784  return *reinterpret_cast<const VkBindAccelerationStructureMemoryInfoNV *>( this );
6785  }
6786 
6788  {
6789  return *reinterpret_cast<VkBindAccelerationStructureMemoryInfoNV *>( this );
6790  }
6791 
6792 #if defined( VULKAN_HPP_USE_REFLECT )
6793 # if 14 <= VULKAN_HPP_CPP_VERSION
6794  auto
6795 # else
6796  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
6797  const void * const &,
6801  uint32_t const &,
6802  const uint32_t * const &>
6803 # endif
6804  reflect() const VULKAN_HPP_NOEXCEPT
6805  {
6807  }
6808 #endif
6809 
6810 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
6811  auto operator<=>( BindAccelerationStructureMemoryInfoNV const & ) const = default;
6812 #else
6814  {
6815 # if defined( VULKAN_HPP_USE_REFLECT )
6816  return this->reflect() == rhs.reflect();
6817 # else
6818  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( accelerationStructure == rhs.accelerationStructure ) && ( memory == rhs.memory ) &&
6819  ( memoryOffset == rhs.memoryOffset ) && ( deviceIndexCount == rhs.deviceIndexCount ) && ( pDeviceIndices == rhs.pDeviceIndices );
6820 # endif
6821  }
6822 
6824  {
6825  return !operator==( rhs );
6826  }
6827 #endif
6828 
6829  public:
6831  const void * pNext = {};
6835  uint32_t deviceIndexCount = {};
6836  const uint32_t * pDeviceIndices = {};
6837  };
6838 
6839  template <>
6841  {
6843  };
6844 
6846  {
6848 
6849  static const bool allowDuplicate = false;
6851 
6852 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
6853  VULKAN_HPP_CONSTEXPR BindBufferMemoryDeviceGroupInfo( uint32_t deviceIndexCount_ = {},
6854  const uint32_t * pDeviceIndices_ = {},
6855  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
6856  : pNext( pNext_ )
6857  , deviceIndexCount( deviceIndexCount_ )
6858  , pDeviceIndices( pDeviceIndices_ )
6859  {
6860  }
6861 
6863 
6865  : BindBufferMemoryDeviceGroupInfo( *reinterpret_cast<BindBufferMemoryDeviceGroupInfo const *>( &rhs ) )
6866  {
6867  }
6868 
6869 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
6871  : pNext( pNext_ ), deviceIndexCount( static_cast<uint32_t>( deviceIndices_.size() ) ), pDeviceIndices( deviceIndices_.data() )
6872  {
6873  }
6874 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
6875 
6877 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
6878 
6880  {
6881  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BindBufferMemoryDeviceGroupInfo const *>( &rhs );
6882  return *this;
6883  }
6884 
6885 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
6887  {
6888  pNext = pNext_;
6889  return *this;
6890  }
6891 
6893  {
6894  deviceIndexCount = deviceIndexCount_;
6895  return *this;
6896  }
6897 
6899  {
6900  pDeviceIndices = pDeviceIndices_;
6901  return *this;
6902  }
6903 
6904 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
6907  {
6908  deviceIndexCount = static_cast<uint32_t>( deviceIndices_.size() );
6909  pDeviceIndices = deviceIndices_.data();
6910  return *this;
6911  }
6912 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
6913 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
6914 
6916  {
6917  return *reinterpret_cast<const VkBindBufferMemoryDeviceGroupInfo *>( this );
6918  }
6919 
6921  {
6922  return *reinterpret_cast<VkBindBufferMemoryDeviceGroupInfo *>( this );
6923  }
6924 
6925 #if defined( VULKAN_HPP_USE_REFLECT )
6926 # if 14 <= VULKAN_HPP_CPP_VERSION
6927  auto
6928 # else
6929  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &, const uint32_t * const &>
6930 # endif
6931  reflect() const VULKAN_HPP_NOEXCEPT
6932  {
6933  return std::tie( sType, pNext, deviceIndexCount, pDeviceIndices );
6934  }
6935 #endif
6936 
6937 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
6938  auto operator<=>( BindBufferMemoryDeviceGroupInfo const & ) const = default;
6939 #else
6941  {
6942 # if defined( VULKAN_HPP_USE_REFLECT )
6943  return this->reflect() == rhs.reflect();
6944 # else
6945  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( deviceIndexCount == rhs.deviceIndexCount ) && ( pDeviceIndices == rhs.pDeviceIndices );
6946 # endif
6947  }
6948 
6950  {
6951  return !operator==( rhs );
6952  }
6953 #endif
6954 
6955  public:
6957  const void * pNext = {};
6958  uint32_t deviceIndexCount = {};
6959  const uint32_t * pDeviceIndices = {};
6960  };
6961 
6962  template <>
6964  {
6966  };
6968 
6970  {
6972 
6973  static const bool allowDuplicate = false;
6975 
6976 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
6979  VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_ = {},
6980  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
6981  : pNext( pNext_ )
6982  , buffer( buffer_ )
6983  , memory( memory_ )
6984  , memoryOffset( memoryOffset_ )
6985  {
6986  }
6987 
6989 
6991  : BindBufferMemoryInfo( *reinterpret_cast<BindBufferMemoryInfo const *>( &rhs ) )
6992  {
6993  }
6994 
6996 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
6997 
6999  {
7000  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo const *>( &rhs );
7001  return *this;
7002  }
7003 
7004 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
7006  {
7007  pNext = pNext_;
7008  return *this;
7009  }
7010 
7012  {
7013  buffer = buffer_;
7014  return *this;
7015  }
7016 
7018  {
7019  memory = memory_;
7020  return *this;
7021  }
7022 
7024  {
7025  memoryOffset = memoryOffset_;
7026  return *this;
7027  }
7028 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
7029 
7031  {
7032  return *reinterpret_cast<const VkBindBufferMemoryInfo *>( this );
7033  }
7034 
7036  {
7037  return *reinterpret_cast<VkBindBufferMemoryInfo *>( this );
7038  }
7039 
7040 #if defined( VULKAN_HPP_USE_REFLECT )
7041 # if 14 <= VULKAN_HPP_CPP_VERSION
7042  auto
7043 # else
7044  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
7045  const void * const &,
7049 # endif
7050  reflect() const VULKAN_HPP_NOEXCEPT
7051  {
7052  return std::tie( sType, pNext, buffer, memory, memoryOffset );
7053  }
7054 #endif
7055 
7056 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
7057  auto operator<=>( BindBufferMemoryInfo const & ) const = default;
7058 #else
7060  {
7061 # if defined( VULKAN_HPP_USE_REFLECT )
7062  return this->reflect() == rhs.reflect();
7063 # else
7064  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( buffer == rhs.buffer ) && ( memory == rhs.memory ) && ( memoryOffset == rhs.memoryOffset );
7065 # endif
7066  }
7067 
7069  {
7070  return !operator==( rhs );
7071  }
7072 #endif
7073 
7074  public:
7076  const void * pNext = {};
7080  };
7081 
7082  template <>
7084  {
7086  };
7088 
7089  struct Offset2D
7090  {
7092 
7093 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
7094  VULKAN_HPP_CONSTEXPR Offset2D( int32_t x_ = {}, int32_t y_ = {} ) VULKAN_HPP_NOEXCEPT
7095  : x( x_ )
7096  , y( y_ )
7097  {
7098  }
7099 
7100  VULKAN_HPP_CONSTEXPR Offset2D( Offset2D const & rhs ) VULKAN_HPP_NOEXCEPT = default;
7101 
7102  Offset2D( VkOffset2D const & rhs ) VULKAN_HPP_NOEXCEPT : Offset2D( *reinterpret_cast<Offset2D const *>( &rhs ) ) {}
7103 
7104  Offset2D & operator=( Offset2D const & rhs ) VULKAN_HPP_NOEXCEPT = default;
7105 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
7106 
7108  {
7109  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::Offset2D const *>( &rhs );
7110  return *this;
7111  }
7112 
7113 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
7115  {
7116  x = x_;
7117  return *this;
7118  }
7119 
7121  {
7122  y = y_;
7123  return *this;
7124  }
7125 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
7126 
7127  operator VkOffset2D const &() const VULKAN_HPP_NOEXCEPT
7128  {
7129  return *reinterpret_cast<const VkOffset2D *>( this );
7130  }
7131 
7133  {
7134  return *reinterpret_cast<VkOffset2D *>( this );
7135  }
7136 
7137 #if defined( VULKAN_HPP_USE_REFLECT )
7138 # if 14 <= VULKAN_HPP_CPP_VERSION
7139  auto
7140 # else
7141  std::tuple<int32_t const &, int32_t const &>
7142 # endif
7143  reflect() const VULKAN_HPP_NOEXCEPT
7144  {
7145  return std::tie( x, y );
7146  }
7147 #endif
7148 
7149 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
7150  auto operator<=>( Offset2D const & ) const = default;
7151 #else
7152  bool operator==( Offset2D const & rhs ) const VULKAN_HPP_NOEXCEPT
7153  {
7154 # if defined( VULKAN_HPP_USE_REFLECT )
7155  return this->reflect() == rhs.reflect();
7156 # else
7157  return ( x == rhs.x ) && ( y == rhs.y );
7158 # endif
7159  }
7160 
7161  bool operator!=( Offset2D const & rhs ) const VULKAN_HPP_NOEXCEPT
7162  {
7163  return !operator==( rhs );
7164  }
7165 #endif
7166 
7167  public:
7168  int32_t x = {};
7169  int32_t y = {};
7170  };
7171 
7172  struct Rect2D
7173  {
7175 
7176 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
7178  : offset( offset_ )
7179  , extent( extent_ )
7180  {
7181  }
7182 
7183  VULKAN_HPP_CONSTEXPR Rect2D( Rect2D const & rhs ) VULKAN_HPP_NOEXCEPT = default;
7184 
7185  Rect2D( VkRect2D const & rhs ) VULKAN_HPP_NOEXCEPT : Rect2D( *reinterpret_cast<Rect2D const *>( &rhs ) ) {}
7186 
7187  Rect2D & operator=( Rect2D const & rhs ) VULKAN_HPP_NOEXCEPT = default;
7188 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
7189 
7191  {
7192  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::Rect2D const *>( &rhs );
7193  return *this;
7194  }
7195 
7196 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
7198  {
7199  offset = offset_;
7200  return *this;
7201  }
7202 
7204  {
7205  extent = extent_;
7206  return *this;
7207  }
7208 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
7209 
7210  operator VkRect2D const &() const VULKAN_HPP_NOEXCEPT
7211  {
7212  return *reinterpret_cast<const VkRect2D *>( this );
7213  }
7214 
7216  {
7217  return *reinterpret_cast<VkRect2D *>( this );
7218  }
7219 
7220 #if defined( VULKAN_HPP_USE_REFLECT )
7221 # if 14 <= VULKAN_HPP_CPP_VERSION
7222  auto
7223 # else
7224  std::tuple<VULKAN_HPP_NAMESPACE::Offset2D const &, VULKAN_HPP_NAMESPACE::Extent2D const &>
7225 # endif
7226  reflect() const VULKAN_HPP_NOEXCEPT
7227  {
7228  return std::tie( offset, extent );
7229  }
7230 #endif
7231 
7232 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
7233  auto operator<=>( Rect2D const & ) const = default;
7234 #else
7235  bool operator==( Rect2D const & rhs ) const VULKAN_HPP_NOEXCEPT
7236  {
7237 # if defined( VULKAN_HPP_USE_REFLECT )
7238  return this->reflect() == rhs.reflect();
7239 # else
7240  return ( offset == rhs.offset ) && ( extent == rhs.extent );
7241 # endif
7242  }
7243 
7244  bool operator!=( Rect2D const & rhs ) const VULKAN_HPP_NOEXCEPT
7245  {
7246  return !operator==( rhs );
7247  }
7248 #endif
7249 
7250  public:
7253  };
7254 
7256  {
7258 
7259  static const bool allowDuplicate = false;
7261 
7262 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
7263  VULKAN_HPP_CONSTEXPR BindImageMemoryDeviceGroupInfo( uint32_t deviceIndexCount_ = {},
7264  const uint32_t * pDeviceIndices_ = {},
7265  uint32_t splitInstanceBindRegionCount_ = {},
7266  const VULKAN_HPP_NAMESPACE::Rect2D * pSplitInstanceBindRegions_ = {},
7267  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
7268  : pNext( pNext_ )
7269  , deviceIndexCount( deviceIndexCount_ )
7270  , pDeviceIndices( pDeviceIndices_ )
7271  , splitInstanceBindRegionCount( splitInstanceBindRegionCount_ )
7272  , pSplitInstanceBindRegions( pSplitInstanceBindRegions_ )
7273  {
7274  }
7275 
7277 
7279  : BindImageMemoryDeviceGroupInfo( *reinterpret_cast<BindImageMemoryDeviceGroupInfo const *>( &rhs ) )
7280  {
7281  }
7282 
7283 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
7286  const void * pNext_ = nullptr )
7287  : pNext( pNext_ )
7288  , deviceIndexCount( static_cast<uint32_t>( deviceIndices_.size() ) )
7289  , pDeviceIndices( deviceIndices_.data() )
7290  , splitInstanceBindRegionCount( static_cast<uint32_t>( splitInstanceBindRegions_.size() ) )
7291  , pSplitInstanceBindRegions( splitInstanceBindRegions_.data() )
7292  {
7293  }
7294 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
7295 
7297 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
7298 
7300  {
7301  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BindImageMemoryDeviceGroupInfo const *>( &rhs );
7302  return *this;
7303  }
7304 
7305 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
7307  {
7308  pNext = pNext_;
7309  return *this;
7310  }
7311 
7313  {
7314  deviceIndexCount = deviceIndexCount_;
7315  return *this;
7316  }
7317 
7319  {
7320  pDeviceIndices = pDeviceIndices_;
7321  return *this;
7322  }
7323 
7324 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
7327  {
7328  deviceIndexCount = static_cast<uint32_t>( deviceIndices_.size() );
7329  pDeviceIndices = deviceIndices_.data();
7330  return *this;
7331  }
7332 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
7333 
7335  {
7336  splitInstanceBindRegionCount = splitInstanceBindRegionCount_;
7337  return *this;
7338  }
7339 
7342  {
7343  pSplitInstanceBindRegions = pSplitInstanceBindRegions_;
7344  return *this;
7345  }
7346 
7347 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
7350  {
7351  splitInstanceBindRegionCount = static_cast<uint32_t>( splitInstanceBindRegions_.size() );
7352  pSplitInstanceBindRegions = splitInstanceBindRegions_.data();
7353  return *this;
7354  }
7355 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
7356 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
7357 
7359  {
7360  return *reinterpret_cast<const VkBindImageMemoryDeviceGroupInfo *>( this );
7361  }
7362 
7364  {
7365  return *reinterpret_cast<VkBindImageMemoryDeviceGroupInfo *>( this );
7366  }
7367 
7368 #if defined( VULKAN_HPP_USE_REFLECT )
7369 # if 14 <= VULKAN_HPP_CPP_VERSION
7370  auto
7371 # else
7372  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
7373  const void * const &,
7374  uint32_t const &,
7375  const uint32_t * const &,
7376  uint32_t const &,
7377  const VULKAN_HPP_NAMESPACE::Rect2D * const &>
7378 # endif
7379  reflect() const VULKAN_HPP_NOEXCEPT
7380  {
7382  }
7383 #endif
7384 
7385 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
7386  auto operator<=>( BindImageMemoryDeviceGroupInfo const & ) const = default;
7387 #else
7389  {
7390 # if defined( VULKAN_HPP_USE_REFLECT )
7391  return this->reflect() == rhs.reflect();
7392 # else
7393  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( deviceIndexCount == rhs.deviceIndexCount ) && ( pDeviceIndices == rhs.pDeviceIndices ) &&
7394  ( splitInstanceBindRegionCount == rhs.splitInstanceBindRegionCount ) && ( pSplitInstanceBindRegions == rhs.pSplitInstanceBindRegions );
7395 # endif
7396  }
7397 
7399  {
7400  return !operator==( rhs );
7401  }
7402 #endif
7403 
7404  public:
7406  const void * pNext = {};
7407  uint32_t deviceIndexCount = {};
7408  const uint32_t * pDeviceIndices = {};
7411  };
7412 
7413  template <>
7415  {
7417  };
7419 
7421  {
7423 
7424  static const bool allowDuplicate = false;
7426 
7427 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
7430  VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_ = {},
7431  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
7432  : pNext( pNext_ )
7433  , image( image_ )
7434  , memory( memory_ )
7435  , memoryOffset( memoryOffset_ )
7436  {
7437  }
7438 
7440 
7441  BindImageMemoryInfo( VkBindImageMemoryInfo const & rhs ) VULKAN_HPP_NOEXCEPT : BindImageMemoryInfo( *reinterpret_cast<BindImageMemoryInfo const *>( &rhs ) )
7442  {
7443  }
7444 
7446 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
7447 
7449  {
7450  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BindImageMemoryInfo const *>( &rhs );
7451  return *this;
7452  }
7453 
7454 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
7456  {
7457  pNext = pNext_;
7458  return *this;
7459  }
7460 
7462  {
7463  image = image_;
7464  return *this;
7465  }
7466 
7468  {
7469  memory = memory_;
7470  return *this;
7471  }
7472 
7474  {
7475  memoryOffset = memoryOffset_;
7476  return *this;
7477  }
7478 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
7479 
7481  {
7482  return *reinterpret_cast<const VkBindImageMemoryInfo *>( this );
7483  }
7484 
7486  {
7487  return *reinterpret_cast<VkBindImageMemoryInfo *>( this );
7488  }
7489 
7490 #if defined( VULKAN_HPP_USE_REFLECT )
7491 # if 14 <= VULKAN_HPP_CPP_VERSION
7492  auto
7493 # else
7494  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
7495  const void * const &,
7499 # endif
7500  reflect() const VULKAN_HPP_NOEXCEPT
7501  {
7502  return std::tie( sType, pNext, image, memory, memoryOffset );
7503  }
7504 #endif
7505 
7506 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
7507  auto operator<=>( BindImageMemoryInfo const & ) const = default;
7508 #else
7510  {
7511 # if defined( VULKAN_HPP_USE_REFLECT )
7512  return this->reflect() == rhs.reflect();
7513 # else
7514  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( image == rhs.image ) && ( memory == rhs.memory ) && ( memoryOffset == rhs.memoryOffset );
7515 # endif
7516  }
7517 
7519  {
7520  return !operator==( rhs );
7521  }
7522 #endif
7523 
7524  public:
7526  const void * pNext = {};
7530  };
7531 
7532  template <>
7534  {
7536  };
7538 
7540  {
7542 
7543  static const bool allowDuplicate = false;
7545 
7546 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
7548  uint32_t imageIndex_ = {},
7549  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
7550  : pNext( pNext_ )
7551  , swapchain( swapchain_ )
7552  , imageIndex( imageIndex_ )
7553  {
7554  }
7555 
7557 
7559  : BindImageMemorySwapchainInfoKHR( *reinterpret_cast<BindImageMemorySwapchainInfoKHR const *>( &rhs ) )
7560  {
7561  }
7562 
7564 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
7565 
7567  {
7568  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BindImageMemorySwapchainInfoKHR const *>( &rhs );
7569  return *this;
7570  }
7571 
7572 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
7574  {
7575  pNext = pNext_;
7576  return *this;
7577  }
7578 
7580  {
7581  swapchain = swapchain_;
7582  return *this;
7583  }
7584 
7586  {
7587  imageIndex = imageIndex_;
7588  return *this;
7589  }
7590 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
7591 
7593  {
7594  return *reinterpret_cast<const VkBindImageMemorySwapchainInfoKHR *>( this );
7595  }
7596 
7598  {
7599  return *reinterpret_cast<VkBindImageMemorySwapchainInfoKHR *>( this );
7600  }
7601 
7602 #if defined( VULKAN_HPP_USE_REFLECT )
7603 # if 14 <= VULKAN_HPP_CPP_VERSION
7604  auto
7605 # else
7606  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::SwapchainKHR const &, uint32_t const &>
7607 # endif
7608  reflect() const VULKAN_HPP_NOEXCEPT
7609  {
7610  return std::tie( sType, pNext, swapchain, imageIndex );
7611  }
7612 #endif
7613 
7614 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
7615  auto operator<=>( BindImageMemorySwapchainInfoKHR const & ) const = default;
7616 #else
7618  {
7619 # if defined( VULKAN_HPP_USE_REFLECT )
7620  return this->reflect() == rhs.reflect();
7621 # else
7622  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( swapchain == rhs.swapchain ) && ( imageIndex == rhs.imageIndex );
7623 # endif
7624  }
7625 
7627  {
7628  return !operator==( rhs );
7629  }
7630 #endif
7631 
7632  public:
7634  const void * pNext = {};
7636  uint32_t imageIndex = {};
7637  };
7638 
7639  template <>
7641  {
7643  };
7644 
7646  {
7648 
7649  static const bool allowDuplicate = false;
7651 
7652 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
7654  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
7655  : pNext( pNext_ )
7656  , planeAspect( planeAspect_ )
7657  {
7658  }
7659 
7661 
7663  : BindImagePlaneMemoryInfo( *reinterpret_cast<BindImagePlaneMemoryInfo const *>( &rhs ) )
7664  {
7665  }
7666 
7668 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
7669 
7671  {
7672  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BindImagePlaneMemoryInfo const *>( &rhs );
7673  return *this;
7674  }
7675 
7676 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
7678  {
7679  pNext = pNext_;
7680  return *this;
7681  }
7682 
7684  {
7685  planeAspect = planeAspect_;
7686  return *this;
7687  }
7688 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
7689 
7691  {
7692  return *reinterpret_cast<const VkBindImagePlaneMemoryInfo *>( this );
7693  }
7694 
7696  {
7697  return *reinterpret_cast<VkBindImagePlaneMemoryInfo *>( this );
7698  }
7699 
7700 #if defined( VULKAN_HPP_USE_REFLECT )
7701 # if 14 <= VULKAN_HPP_CPP_VERSION
7702  auto
7703 # else
7704  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::ImageAspectFlagBits const &>
7705 # endif
7706  reflect() const VULKAN_HPP_NOEXCEPT
7707  {
7708  return std::tie( sType, pNext, planeAspect );
7709  }
7710 #endif
7711 
7712 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
7713  auto operator<=>( BindImagePlaneMemoryInfo const & ) const = default;
7714 #else
7716  {
7717 # if defined( VULKAN_HPP_USE_REFLECT )
7718  return this->reflect() == rhs.reflect();
7719 # else
7720  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( planeAspect == rhs.planeAspect );
7721 # endif
7722  }
7723 
7725  {
7726  return !operator==( rhs );
7727  }
7728 #endif
7729 
7730  public:
7732  const void * pNext = {};
7734  };
7735 
7736  template <>
7738  {
7740  };
7742 
7744  {
7746 
7747 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
7750  uint32_t size_ = {},
7752  : bufferAddress( bufferAddress_ )
7753  , size( size_ )
7754  , indexType( indexType_ )
7755  {
7756  }
7757 
7759 
7761  : BindIndexBufferIndirectCommandNV( *reinterpret_cast<BindIndexBufferIndirectCommandNV const *>( &rhs ) )
7762  {
7763  }
7764 
7766 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
7767 
7769  {
7770  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BindIndexBufferIndirectCommandNV const *>( &rhs );
7771  return *this;
7772  }
7773 
7774 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
7776  {
7777  bufferAddress = bufferAddress_;
7778  return *this;
7779  }
7780 
7782  {
7783  size = size_;
7784  return *this;
7785  }
7786 
7788  {
7789  indexType = indexType_;
7790  return *this;
7791  }
7792 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
7793 
7795  {
7796  return *reinterpret_cast<const VkBindIndexBufferIndirectCommandNV *>( this );
7797  }
7798 
7800  {
7801  return *reinterpret_cast<VkBindIndexBufferIndirectCommandNV *>( this );
7802  }
7803 
7804 #if defined( VULKAN_HPP_USE_REFLECT )
7805 # if 14 <= VULKAN_HPP_CPP_VERSION
7806  auto
7807 # else
7808  std::tuple<VULKAN_HPP_NAMESPACE::DeviceAddress const &, uint32_t const &, VULKAN_HPP_NAMESPACE::IndexType const &>
7809 # endif
7810  reflect() const VULKAN_HPP_NOEXCEPT
7811  {
7812  return std::tie( bufferAddress, size, indexType );
7813  }
7814 #endif
7815 
7816 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
7817  auto operator<=>( BindIndexBufferIndirectCommandNV const & ) const = default;
7818 #else
7820  {
7821 # if defined( VULKAN_HPP_USE_REFLECT )
7822  return this->reflect() == rhs.reflect();
7823 # else
7824  return ( bufferAddress == rhs.bufferAddress ) && ( size == rhs.size ) && ( indexType == rhs.indexType );
7825 # endif
7826  }
7827 
7829  {
7830  return !operator==( rhs );
7831  }
7832 #endif
7833 
7834  public:
7836  uint32_t size = {};
7838  };
7839 
7841  {
7843 
7844 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
7846 
7848 
7850  : BindShaderGroupIndirectCommandNV( *reinterpret_cast<BindShaderGroupIndirectCommandNV const *>( &rhs ) )
7851  {
7852  }
7853 
7855 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
7856 
7858  {
7859  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BindShaderGroupIndirectCommandNV const *>( &rhs );
7860  return *this;
7861  }
7862 
7863 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
7865  {
7866  groupIndex = groupIndex_;
7867  return *this;
7868  }
7869 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
7870 
7872  {
7873  return *reinterpret_cast<const VkBindShaderGroupIndirectCommandNV *>( this );
7874  }
7875 
7877  {
7878  return *reinterpret_cast<VkBindShaderGroupIndirectCommandNV *>( this );
7879  }
7880 
7881 #if defined( VULKAN_HPP_USE_REFLECT )
7882 # if 14 <= VULKAN_HPP_CPP_VERSION
7883  auto
7884 # else
7885  std::tuple<uint32_t const &>
7886 # endif
7887  reflect() const VULKAN_HPP_NOEXCEPT
7888  {
7889  return std::tie( groupIndex );
7890  }
7891 #endif
7892 
7893 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
7894  auto operator<=>( BindShaderGroupIndirectCommandNV const & ) const = default;
7895 #else
7897  {
7898 # if defined( VULKAN_HPP_USE_REFLECT )
7899  return this->reflect() == rhs.reflect();
7900 # else
7901  return ( groupIndex == rhs.groupIndex );
7902 # endif
7903  }
7904 
7906  {
7907  return !operator==( rhs );
7908  }
7909 #endif
7910 
7911  public:
7912  uint32_t groupIndex = {};
7913  };
7914 
7916  {
7918 
7919 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
7923  VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_ = {},
7925  : resourceOffset( resourceOffset_ )
7926  , size( size_ )
7927  , memory( memory_ )
7928  , memoryOffset( memoryOffset_ )
7929  , flags( flags_ )
7930  {
7931  }
7932 
7934 
7935  SparseMemoryBind( VkSparseMemoryBind const & rhs ) VULKAN_HPP_NOEXCEPT : SparseMemoryBind( *reinterpret_cast<SparseMemoryBind const *>( &rhs ) ) {}
7936 
7938 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
7939 
7941  {
7942  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SparseMemoryBind const *>( &rhs );
7943  return *this;
7944  }
7945 
7946 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
7948  {
7949  resourceOffset = resourceOffset_;
7950  return *this;
7951  }
7952 
7954  {
7955  size = size_;
7956  return *this;
7957  }
7958 
7960  {
7961  memory = memory_;
7962  return *this;
7963  }
7964 
7966  {
7967  memoryOffset = memoryOffset_;
7968  return *this;
7969  }
7970 
7972  {
7973  flags = flags_;
7974  return *this;
7975  }
7976 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
7977 
7978  operator VkSparseMemoryBind const &() const VULKAN_HPP_NOEXCEPT
7979  {
7980  return *reinterpret_cast<const VkSparseMemoryBind *>( this );
7981  }
7982 
7984  {
7985  return *reinterpret_cast<VkSparseMemoryBind *>( this );
7986  }
7987 
7988 #if defined( VULKAN_HPP_USE_REFLECT )
7989 # if 14 <= VULKAN_HPP_CPP_VERSION
7990  auto
7991 # else
7992  std::tuple<VULKAN_HPP_NAMESPACE::DeviceSize const &,
7997 # endif
7998  reflect() const VULKAN_HPP_NOEXCEPT
7999  {
8000  return std::tie( resourceOffset, size, memory, memoryOffset, flags );
8001  }
8002 #endif
8003 
8004 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
8005  auto operator<=>( SparseMemoryBind const & ) const = default;
8006 #else
8008  {
8009 # if defined( VULKAN_HPP_USE_REFLECT )
8010  return this->reflect() == rhs.reflect();
8011 # else
8012  return ( resourceOffset == rhs.resourceOffset ) && ( size == rhs.size ) && ( memory == rhs.memory ) && ( memoryOffset == rhs.memoryOffset ) &&
8013  ( flags == rhs.flags );
8014 # endif
8015  }
8016 
8018  {
8019  return !operator==( rhs );
8020  }
8021 #endif
8022 
8023  public:
8029  };
8030 
8032  {
8034 
8035 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
8037  uint32_t bindCount_ = {},
8039  : buffer( buffer_ )
8040  , bindCount( bindCount_ )
8041  , pBinds( pBinds_ )
8042  {
8043  }
8044 
8046 
8048  : SparseBufferMemoryBindInfo( *reinterpret_cast<SparseBufferMemoryBindInfo const *>( &rhs ) )
8049  {
8050  }
8051 
8052 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
8055  : buffer( buffer_ ), bindCount( static_cast<uint32_t>( binds_.size() ) ), pBinds( binds_.data() )
8056  {
8057  }
8058 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
8059 
8061 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
8062 
8064  {
8065  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SparseBufferMemoryBindInfo const *>( &rhs );
8066  return *this;
8067  }
8068 
8069 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
8071  {
8072  buffer = buffer_;
8073  return *this;
8074  }
8075 
8077  {
8078  bindCount = bindCount_;
8079  return *this;
8080  }
8081 
8083  {
8084  pBinds = pBinds_;
8085  return *this;
8086  }
8087 
8088 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
8091  {
8092  bindCount = static_cast<uint32_t>( binds_.size() );
8093  pBinds = binds_.data();
8094  return *this;
8095  }
8096 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
8097 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
8098 
8100  {
8101  return *reinterpret_cast<const VkSparseBufferMemoryBindInfo *>( this );
8102  }
8103 
8105  {
8106  return *reinterpret_cast<VkSparseBufferMemoryBindInfo *>( this );
8107  }
8108 
8109 #if defined( VULKAN_HPP_USE_REFLECT )
8110 # if 14 <= VULKAN_HPP_CPP_VERSION
8111  auto
8112 # else
8113  std::tuple<VULKAN_HPP_NAMESPACE::Buffer const &, uint32_t const &, const VULKAN_HPP_NAMESPACE::SparseMemoryBind * const &>
8114 # endif
8115  reflect() const VULKAN_HPP_NOEXCEPT
8116  {
8117  return std::tie( buffer, bindCount, pBinds );
8118  }
8119 #endif
8120 
8121 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
8122  auto operator<=>( SparseBufferMemoryBindInfo const & ) const = default;
8123 #else
8125  {
8126 # if defined( VULKAN_HPP_USE_REFLECT )
8127  return this->reflect() == rhs.reflect();
8128 # else
8129  return ( buffer == rhs.buffer ) && ( bindCount == rhs.bindCount ) && ( pBinds == rhs.pBinds );
8130 # endif
8131  }
8132 
8134  {
8135  return !operator==( rhs );
8136  }
8137 #endif
8138 
8139  public:
8141  uint32_t bindCount = {};
8143  };
8144 
8146  {
8148 
8149 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
8151  uint32_t bindCount_ = {},
8153  : image( image_ )
8154  , bindCount( bindCount_ )
8155  , pBinds( pBinds_ )
8156  {
8157  }
8158 
8160 
8162  : SparseImageOpaqueMemoryBindInfo( *reinterpret_cast<SparseImageOpaqueMemoryBindInfo const *>( &rhs ) )
8163  {
8164  }
8165 
8166 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
8169  : image( image_ ), bindCount( static_cast<uint32_t>( binds_.size() ) ), pBinds( binds_.data() )
8170  {
8171  }
8172 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
8173 
8175 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
8176 
8178  {
8179  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SparseImageOpaqueMemoryBindInfo const *>( &rhs );
8180  return *this;
8181  }
8182 
8183 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
8185  {
8186  image = image_;
8187  return *this;
8188  }
8189 
8191  {
8192  bindCount = bindCount_;
8193  return *this;
8194  }
8195 
8197  {
8198  pBinds = pBinds_;
8199  return *this;
8200  }
8201 
8202 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
8205  {
8206  bindCount = static_cast<uint32_t>( binds_.size() );
8207  pBinds = binds_.data();
8208  return *this;
8209  }
8210 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
8211 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
8212 
8214  {
8215  return *reinterpret_cast<const VkSparseImageOpaqueMemoryBindInfo *>( this );
8216  }
8217 
8219  {
8220  return *reinterpret_cast<VkSparseImageOpaqueMemoryBindInfo *>( this );
8221  }
8222 
8223 #if defined( VULKAN_HPP_USE_REFLECT )
8224 # if 14 <= VULKAN_HPP_CPP_VERSION
8225  auto
8226 # else
8227  std::tuple<VULKAN_HPP_NAMESPACE::Image const &, uint32_t const &, const VULKAN_HPP_NAMESPACE::SparseMemoryBind * const &>
8228 # endif
8229  reflect() const VULKAN_HPP_NOEXCEPT
8230  {
8231  return std::tie( image, bindCount, pBinds );
8232  }
8233 #endif
8234 
8235 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
8236  auto operator<=>( SparseImageOpaqueMemoryBindInfo const & ) const = default;
8237 #else
8239  {
8240 # if defined( VULKAN_HPP_USE_REFLECT )
8241  return this->reflect() == rhs.reflect();
8242 # else
8243  return ( image == rhs.image ) && ( bindCount == rhs.bindCount ) && ( pBinds == rhs.pBinds );
8244 # endif
8245  }
8246 
8248  {
8249  return !operator==( rhs );
8250  }
8251 #endif
8252 
8253  public:
8255  uint32_t bindCount = {};
8257  };
8258 
8260  {
8262 
8263 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
8265  ImageSubresource( VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_ = {}, uint32_t mipLevel_ = {}, uint32_t arrayLayer_ = {} ) VULKAN_HPP_NOEXCEPT
8266  : aspectMask( aspectMask_ )
8267  , mipLevel( mipLevel_ )
8268  , arrayLayer( arrayLayer_ )
8269  {
8270  }
8271 
8273 
8274  ImageSubresource( VkImageSubresource const & rhs ) VULKAN_HPP_NOEXCEPT : ImageSubresource( *reinterpret_cast<ImageSubresource const *>( &rhs ) ) {}
8275 
8277 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
8278 
8280  {
8281  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageSubresource const *>( &rhs );
8282  return *this;
8283  }
8284 
8285 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
8287  {
8288  aspectMask = aspectMask_;
8289  return *this;
8290  }
8291 
8293  {
8294  mipLevel = mipLevel_;
8295  return *this;
8296  }
8297 
8299  {
8300  arrayLayer = arrayLayer_;
8301  return *this;
8302  }
8303 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
8304 
8305  operator VkImageSubresource const &() const VULKAN_HPP_NOEXCEPT
8306  {
8307  return *reinterpret_cast<const VkImageSubresource *>( this );
8308  }
8309 
8311  {
8312  return *reinterpret_cast<VkImageSubresource *>( this );
8313  }
8314 
8315 #if defined( VULKAN_HPP_USE_REFLECT )
8316 # if 14 <= VULKAN_HPP_CPP_VERSION
8317  auto
8318 # else
8319  std::tuple<VULKAN_HPP_NAMESPACE::ImageAspectFlags const &, uint32_t const &, uint32_t const &>
8320 # endif
8321  reflect() const VULKAN_HPP_NOEXCEPT
8322  {
8323  return std::tie( aspectMask, mipLevel, arrayLayer );
8324  }
8325 #endif
8326 
8327 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
8328  auto operator<=>( ImageSubresource const & ) const = default;
8329 #else
8331  {
8332 # if defined( VULKAN_HPP_USE_REFLECT )
8333  return this->reflect() == rhs.reflect();
8334 # else
8335  return ( aspectMask == rhs.aspectMask ) && ( mipLevel == rhs.mipLevel ) && ( arrayLayer == rhs.arrayLayer );
8336 # endif
8337  }
8338 
8340  {
8341  return !operator==( rhs );
8342  }
8343 #endif
8344 
8345  public:
8347  uint32_t mipLevel = {};
8348  uint32_t arrayLayer = {};
8349  };
8350 
8351  struct Offset3D
8352  {
8354 
8355 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
8356  VULKAN_HPP_CONSTEXPR Offset3D( int32_t x_ = {}, int32_t y_ = {}, int32_t z_ = {} ) VULKAN_HPP_NOEXCEPT
8357  : x( x_ )
8358  , y( y_ )
8359  , z( z_ )
8360  {
8361  }
8362 
8363  VULKAN_HPP_CONSTEXPR Offset3D( Offset3D const & rhs ) VULKAN_HPP_NOEXCEPT = default;
8364 
8365  Offset3D( VkOffset3D const & rhs ) VULKAN_HPP_NOEXCEPT : Offset3D( *reinterpret_cast<Offset3D const *>( &rhs ) ) {}
8366 
8367  explicit Offset3D( Offset2D const & offset2D, int32_t z_ = {} ) : x( offset2D.x ), y( offset2D.y ), z( z_ ) {}
8368 
8369  Offset3D & operator=( Offset3D const & rhs ) VULKAN_HPP_NOEXCEPT = default;
8370 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
8371 
8373  {
8374  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::Offset3D const *>( &rhs );
8375  return *this;
8376  }
8377 
8378 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
8380  {
8381  x = x_;
8382  return *this;
8383  }
8384 
8386  {
8387  y = y_;
8388  return *this;
8389  }
8390 
8392  {
8393  z = z_;
8394  return *this;
8395  }
8396 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
8397 
8398  operator VkOffset3D const &() const VULKAN_HPP_NOEXCEPT
8399  {
8400  return *reinterpret_cast<const VkOffset3D *>( this );
8401  }
8402 
8404  {
8405  return *reinterpret_cast<VkOffset3D *>( this );
8406  }
8407 
8408 #if defined( VULKAN_HPP_USE_REFLECT )
8409 # if 14 <= VULKAN_HPP_CPP_VERSION
8410  auto
8411 # else
8412  std::tuple<int32_t const &, int32_t const &, int32_t const &>
8413 # endif
8414  reflect() const VULKAN_HPP_NOEXCEPT
8415  {
8416  return std::tie( x, y, z );
8417  }
8418 #endif
8419 
8420 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
8421  auto operator<=>( Offset3D const & ) const = default;
8422 #else
8423  bool operator==( Offset3D const & rhs ) const VULKAN_HPP_NOEXCEPT
8424  {
8425 # if defined( VULKAN_HPP_USE_REFLECT )
8426  return this->reflect() == rhs.reflect();
8427 # else
8428  return ( x == rhs.x ) && ( y == rhs.y ) && ( z == rhs.z );
8429 # endif
8430  }
8431 
8432  bool operator!=( Offset3D const & rhs ) const VULKAN_HPP_NOEXCEPT
8433  {
8434  return !operator==( rhs );
8435  }
8436 #endif
8437 
8438  public:
8439  int32_t x = {};
8440  int32_t y = {};
8441  int32_t z = {};
8442  };
8443 
8444  struct Extent3D
8445  {
8447 
8448 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
8449  VULKAN_HPP_CONSTEXPR Extent3D( uint32_t width_ = {}, uint32_t height_ = {}, uint32_t depth_ = {} ) VULKAN_HPP_NOEXCEPT
8450  : width( width_ )
8451  , height( height_ )
8452  , depth( depth_ )
8453  {
8454  }
8455 
8456  VULKAN_HPP_CONSTEXPR Extent3D( Extent3D const & rhs ) VULKAN_HPP_NOEXCEPT = default;
8457 
8458  Extent3D( VkExtent3D const & rhs ) VULKAN_HPP_NOEXCEPT : Extent3D( *reinterpret_cast<Extent3D const *>( &rhs ) ) {}
8459 
8460  explicit Extent3D( Extent2D const & extent2D, uint32_t depth_ = {} ) : width( extent2D.width ), height( extent2D.height ), depth( depth_ ) {}
8461 
8462  Extent3D & operator=( Extent3D const & rhs ) VULKAN_HPP_NOEXCEPT = default;
8463 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
8464 
8466  {
8467  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::Extent3D const *>( &rhs );
8468  return *this;
8469  }
8470 
8471 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
8473  {
8474  width = width_;
8475  return *this;
8476  }
8477 
8479  {
8480  height = height_;
8481  return *this;
8482  }
8483 
8485  {
8486  depth = depth_;
8487  return *this;
8488  }
8489 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
8490 
8491  operator VkExtent3D const &() const VULKAN_HPP_NOEXCEPT
8492  {
8493  return *reinterpret_cast<const VkExtent3D *>( this );
8494  }
8495 
8497  {
8498  return *reinterpret_cast<VkExtent3D *>( this );
8499  }
8500 
8501 #if defined( VULKAN_HPP_USE_REFLECT )
8502 # if 14 <= VULKAN_HPP_CPP_VERSION
8503  auto
8504 # else
8505  std::tuple<uint32_t const &, uint32_t const &, uint32_t const &>
8506 # endif
8507  reflect() const VULKAN_HPP_NOEXCEPT
8508  {
8509  return std::tie( width, height, depth );
8510  }
8511 #endif
8512 
8513 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
8514  auto operator<=>( Extent3D const & ) const = default;
8515 #else
8516  bool operator==( Extent3D const & rhs ) const VULKAN_HPP_NOEXCEPT
8517  {
8518 # if defined( VULKAN_HPP_USE_REFLECT )
8519  return this->reflect() == rhs.reflect();
8520 # else
8521  return ( width == rhs.width ) && ( height == rhs.height ) && ( depth == rhs.depth );
8522 # endif
8523  }
8524 
8525  bool operator!=( Extent3D const & rhs ) const VULKAN_HPP_NOEXCEPT
8526  {
8527  return !operator==( rhs );
8528  }
8529 #endif
8530 
8531  public:
8532  uint32_t width = {};
8533  uint32_t height = {};
8534  uint32_t depth = {};
8535  };
8536 
8538  {
8540 
8541 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
8543  VULKAN_HPP_NAMESPACE::Offset3D offset_ = {},
8544  VULKAN_HPP_NAMESPACE::Extent3D extent_ = {},
8546  VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_ = {},
8548  : subresource( subresource_ )
8549  , offset( offset_ )
8550  , extent( extent_ )
8551  , memory( memory_ )
8552  , memoryOffset( memoryOffset_ )
8553  , flags( flags_ )
8554  {
8555  }
8556 
8558 
8560  : SparseImageMemoryBind( *reinterpret_cast<SparseImageMemoryBind const *>( &rhs ) )
8561  {
8562  }
8563 
8565 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
8566 
8568  {
8569  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SparseImageMemoryBind const *>( &rhs );
8570  return *this;
8571  }
8572 
8573 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
8575  {
8576  subresource = subresource_;
8577  return *this;
8578  }
8579 
8581  {
8582  offset = offset_;
8583  return *this;
8584  }
8585 
8587  {
8588  extent = extent_;
8589  return *this;
8590  }
8591 
8593  {
8594  memory = memory_;
8595  return *this;
8596  }
8597 
8599  {
8600  memoryOffset = memoryOffset_;
8601  return *this;
8602  }
8603 
8605  {
8606  flags = flags_;
8607  return *this;
8608  }
8609 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
8610 
8612  {
8613  return *reinterpret_cast<const VkSparseImageMemoryBind *>( this );
8614  }
8615 
8617  {
8618  return *reinterpret_cast<VkSparseImageMemoryBind *>( this );
8619  }
8620 
8621 #if defined( VULKAN_HPP_USE_REFLECT )
8622 # if 14 <= VULKAN_HPP_CPP_VERSION
8623  auto
8624 # else
8625  std::tuple<VULKAN_HPP_NAMESPACE::ImageSubresource const &,
8631 # endif
8632  reflect() const VULKAN_HPP_NOEXCEPT
8633  {
8634  return std::tie( subresource, offset, extent, memory, memoryOffset, flags );
8635  }
8636 #endif
8637 
8638 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
8639  auto operator<=>( SparseImageMemoryBind const & ) const = default;
8640 #else
8642  {
8643 # if defined( VULKAN_HPP_USE_REFLECT )
8644  return this->reflect() == rhs.reflect();
8645 # else
8646  return ( subresource == rhs.subresource ) && ( offset == rhs.offset ) && ( extent == rhs.extent ) && ( memory == rhs.memory ) &&
8647  ( memoryOffset == rhs.memoryOffset ) && ( flags == rhs.flags );
8648 # endif
8649  }
8650 
8652  {
8653  return !operator==( rhs );
8654  }
8655 #endif
8656 
8657  public:
8664  };
8665 
8667  {
8669 
8670 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
8672  uint32_t bindCount_ = {},
8674  : image( image_ )
8675  , bindCount( bindCount_ )
8676  , pBinds( pBinds_ )
8677  {
8678  }
8679 
8681 
8683  : SparseImageMemoryBindInfo( *reinterpret_cast<SparseImageMemoryBindInfo const *>( &rhs ) )
8684  {
8685  }
8686 
8687 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
8690  : image( image_ ), bindCount( static_cast<uint32_t>( binds_.size() ) ), pBinds( binds_.data() )
8691  {
8692  }
8693 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
8694 
8696 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
8697 
8699  {
8700  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SparseImageMemoryBindInfo const *>( &rhs );
8701  return *this;
8702  }
8703 
8704 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
8706  {
8707  image = image_;
8708  return *this;
8709  }
8710 
8712  {
8713  bindCount = bindCount_;
8714  return *this;
8715  }
8716 
8718  {
8719  pBinds = pBinds_;
8720  return *this;
8721  }
8722 
8723 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
8726  {
8727  bindCount = static_cast<uint32_t>( binds_.size() );
8728  pBinds = binds_.data();
8729  return *this;
8730  }
8731 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
8732 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
8733 
8735  {
8736  return *reinterpret_cast<const VkSparseImageMemoryBindInfo *>( this );
8737  }
8738 
8740  {
8741  return *reinterpret_cast<VkSparseImageMemoryBindInfo *>( this );
8742  }
8743 
8744 #if defined( VULKAN_HPP_USE_REFLECT )
8745 # if 14 <= VULKAN_HPP_CPP_VERSION
8746  auto
8747 # else
8748  std::tuple<VULKAN_HPP_NAMESPACE::Image const &, uint32_t const &, const VULKAN_HPP_NAMESPACE::SparseImageMemoryBind * const &>
8749 # endif
8750  reflect() const VULKAN_HPP_NOEXCEPT
8751  {
8752  return std::tie( image, bindCount, pBinds );
8753  }
8754 #endif
8755 
8756 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
8757  auto operator<=>( SparseImageMemoryBindInfo const & ) const = default;
8758 #else
8760  {
8761 # if defined( VULKAN_HPP_USE_REFLECT )
8762  return this->reflect() == rhs.reflect();
8763 # else
8764  return ( image == rhs.image ) && ( bindCount == rhs.bindCount ) && ( pBinds == rhs.pBinds );
8765 # endif
8766  }
8767 
8769  {
8770  return !operator==( rhs );
8771  }
8772 #endif
8773 
8774  public:
8776  uint32_t bindCount = {};
8778  };
8779 
8781  {
8783 
8784  static const bool allowDuplicate = false;
8786 
8787 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
8788  VULKAN_HPP_CONSTEXPR BindSparseInfo( uint32_t waitSemaphoreCount_ = {},
8789  const VULKAN_HPP_NAMESPACE::Semaphore * pWaitSemaphores_ = {},
8790  uint32_t bufferBindCount_ = {},
8791  const VULKAN_HPP_NAMESPACE::SparseBufferMemoryBindInfo * pBufferBinds_ = {},
8792  uint32_t imageOpaqueBindCount_ = {},
8793  const VULKAN_HPP_NAMESPACE::SparseImageOpaqueMemoryBindInfo * pImageOpaqueBinds_ = {},
8794  uint32_t imageBindCount_ = {},
8795  const VULKAN_HPP_NAMESPACE::SparseImageMemoryBindInfo * pImageBinds_ = {},
8796  uint32_t signalSemaphoreCount_ = {},
8797  const VULKAN_HPP_NAMESPACE::Semaphore * pSignalSemaphores_ = {},
8798  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
8799  : pNext( pNext_ )
8800  , waitSemaphoreCount( waitSemaphoreCount_ )
8801  , pWaitSemaphores( pWaitSemaphores_ )
8802  , bufferBindCount( bufferBindCount_ )
8803  , pBufferBinds( pBufferBinds_ )
8804  , imageOpaqueBindCount( imageOpaqueBindCount_ )
8805  , pImageOpaqueBinds( pImageOpaqueBinds_ )
8806  , imageBindCount( imageBindCount_ )
8807  , pImageBinds( pImageBinds_ )
8808  , signalSemaphoreCount( signalSemaphoreCount_ )
8809  , pSignalSemaphores( pSignalSemaphores_ )
8810  {
8811  }
8812 
8814 
8815  BindSparseInfo( VkBindSparseInfo const & rhs ) VULKAN_HPP_NOEXCEPT : BindSparseInfo( *reinterpret_cast<BindSparseInfo const *>( &rhs ) ) {}
8816 
8817 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
8823  const void * pNext_ = nullptr )
8824  : pNext( pNext_ )
8825  , waitSemaphoreCount( static_cast<uint32_t>( waitSemaphores_.size() ) )
8826  , pWaitSemaphores( waitSemaphores_.data() )
8827  , bufferBindCount( static_cast<uint32_t>( bufferBinds_.size() ) )
8828  , pBufferBinds( bufferBinds_.data() )
8829  , imageOpaqueBindCount( static_cast<uint32_t>( imageOpaqueBinds_.size() ) )
8830  , pImageOpaqueBinds( imageOpaqueBinds_.data() )
8831  , imageBindCount( static_cast<uint32_t>( imageBinds_.size() ) )
8832  , pImageBinds( imageBinds_.data() )
8833  , signalSemaphoreCount( static_cast<uint32_t>( signalSemaphores_.size() ) )
8834  , pSignalSemaphores( signalSemaphores_.data() )
8835  {
8836  }
8837 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
8838 
8839  BindSparseInfo & operator=( BindSparseInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
8840 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
8841 
8843  {
8844  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BindSparseInfo const *>( &rhs );
8845  return *this;
8846  }
8847 
8848 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
8850  {
8851  pNext = pNext_;
8852  return *this;
8853  }
8854 
8856  {
8857  waitSemaphoreCount = waitSemaphoreCount_;
8858  return *this;
8859  }
8860 
8862  {
8863  pWaitSemaphores = pWaitSemaphores_;
8864  return *this;
8865  }
8866 
8867 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
8868  BindSparseInfo &
8870  {
8871  waitSemaphoreCount = static_cast<uint32_t>( waitSemaphores_.size() );
8872  pWaitSemaphores = waitSemaphores_.data();
8873  return *this;
8874  }
8875 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
8876 
8878  {
8879  bufferBindCount = bufferBindCount_;
8880  return *this;
8881  }
8882 
8884  {
8885  pBufferBinds = pBufferBinds_;
8886  return *this;
8887  }
8888 
8889 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
8892  {
8893  bufferBindCount = static_cast<uint32_t>( bufferBinds_.size() );
8894  pBufferBinds = bufferBinds_.data();
8895  return *this;
8896  }
8897 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
8898 
8900  {
8901  imageOpaqueBindCount = imageOpaqueBindCount_;
8902  return *this;
8903  }
8904 
8907  {
8908  pImageOpaqueBinds = pImageOpaqueBinds_;
8909  return *this;
8910  }
8911 
8912 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
8915  {
8916  imageOpaqueBindCount = static_cast<uint32_t>( imageOpaqueBinds_.size() );
8917  pImageOpaqueBinds = imageOpaqueBinds_.data();
8918  return *this;
8919  }
8920 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
8921 
8923  {
8924  imageBindCount = imageBindCount_;
8925  return *this;
8926  }
8927 
8929  {
8930  pImageBinds = pImageBinds_;
8931  return *this;
8932  }
8933 
8934 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
8937  {
8938  imageBindCount = static_cast<uint32_t>( imageBinds_.size() );
8939  pImageBinds = imageBinds_.data();
8940  return *this;
8941  }
8942 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
8943 
8945  {
8946  signalSemaphoreCount = signalSemaphoreCount_;
8947  return *this;
8948  }
8949 
8951  {
8952  pSignalSemaphores = pSignalSemaphores_;
8953  return *this;
8954  }
8955 
8956 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
8957  BindSparseInfo &
8959  {
8960  signalSemaphoreCount = static_cast<uint32_t>( signalSemaphores_.size() );
8961  pSignalSemaphores = signalSemaphores_.data();
8962  return *this;
8963  }
8964 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
8965 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
8966 
8967  operator VkBindSparseInfo const &() const VULKAN_HPP_NOEXCEPT
8968  {
8969  return *reinterpret_cast<const VkBindSparseInfo *>( this );
8970  }
8971 
8973  {
8974  return *reinterpret_cast<VkBindSparseInfo *>( this );
8975  }
8976 
8977 #if defined( VULKAN_HPP_USE_REFLECT )
8978 # if 14 <= VULKAN_HPP_CPP_VERSION
8979  auto
8980 # else
8981  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
8982  const void * const &,
8983  uint32_t const &,
8984  const VULKAN_HPP_NAMESPACE::Semaphore * const &,
8985  uint32_t const &,
8987  uint32_t const &,
8989  uint32_t const &,
8991  uint32_t const &,
8992  const VULKAN_HPP_NAMESPACE::Semaphore * const &>
8993 # endif
8994  reflect() const VULKAN_HPP_NOEXCEPT
8995  {
8996  return std::tie( sType,
8997  pNext,
9001  pBufferBinds,
9005  pImageBinds,
9008  }
9009 #endif
9010 
9011 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
9012  auto operator<=>( BindSparseInfo const & ) const = default;
9013 #else
9015  {
9016 # if defined( VULKAN_HPP_USE_REFLECT )
9017  return this->reflect() == rhs.reflect();
9018 # else
9019  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( waitSemaphoreCount == rhs.waitSemaphoreCount ) &&
9020  ( pWaitSemaphores == rhs.pWaitSemaphores ) && ( bufferBindCount == rhs.bufferBindCount ) && ( pBufferBinds == rhs.pBufferBinds ) &&
9021  ( imageOpaqueBindCount == rhs.imageOpaqueBindCount ) && ( pImageOpaqueBinds == rhs.pImageOpaqueBinds ) &&
9022  ( imageBindCount == rhs.imageBindCount ) && ( pImageBinds == rhs.pImageBinds ) && ( signalSemaphoreCount == rhs.signalSemaphoreCount ) &&
9023  ( pSignalSemaphores == rhs.pSignalSemaphores );
9024 # endif
9025  }
9026 
9028  {
9029  return !operator==( rhs );
9030  }
9031 #endif
9032 
9033  public:
9035  const void * pNext = {};
9036  uint32_t waitSemaphoreCount = {};
9038  uint32_t bufferBindCount = {};
9040  uint32_t imageOpaqueBindCount = {};
9042  uint32_t imageBindCount = {};
9044  uint32_t signalSemaphoreCount = {};
9046  };
9047 
9048  template <>
9050  {
9052  };
9053 
9055  {
9057 
9058 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
9060  uint32_t size_ = {},
9061  uint32_t stride_ = {} ) VULKAN_HPP_NOEXCEPT
9062  : bufferAddress( bufferAddress_ )
9063  , size( size_ )
9064  , stride( stride_ )
9065  {
9066  }
9067 
9069 
9071  : BindVertexBufferIndirectCommandNV( *reinterpret_cast<BindVertexBufferIndirectCommandNV const *>( &rhs ) )
9072  {
9073  }
9074 
9076 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
9077 
9079  {
9080  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BindVertexBufferIndirectCommandNV const *>( &rhs );
9081  return *this;
9082  }
9083 
9084 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
9086  {
9087  bufferAddress = bufferAddress_;
9088  return *this;
9089  }
9090 
9092  {
9093  size = size_;
9094  return *this;
9095  }
9096 
9098  {
9099  stride = stride_;
9100  return *this;
9101  }
9102 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
9103 
9105  {
9106  return *reinterpret_cast<const VkBindVertexBufferIndirectCommandNV *>( this );
9107  }
9108 
9110  {
9111  return *reinterpret_cast<VkBindVertexBufferIndirectCommandNV *>( this );
9112  }
9113 
9114 #if defined( VULKAN_HPP_USE_REFLECT )
9115 # if 14 <= VULKAN_HPP_CPP_VERSION
9116  auto
9117 # else
9118  std::tuple<VULKAN_HPP_NAMESPACE::DeviceAddress const &, uint32_t const &, uint32_t const &>
9119 # endif
9120  reflect() const VULKAN_HPP_NOEXCEPT
9121  {
9122  return std::tie( bufferAddress, size, stride );
9123  }
9124 #endif
9125 
9126 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
9127  auto operator<=>( BindVertexBufferIndirectCommandNV const & ) const = default;
9128 #else
9130  {
9131 # if defined( VULKAN_HPP_USE_REFLECT )
9132  return this->reflect() == rhs.reflect();
9133 # else
9134  return ( bufferAddress == rhs.bufferAddress ) && ( size == rhs.size ) && ( stride == rhs.stride );
9135 # endif
9136  }
9137 
9139  {
9140  return !operator==( rhs );
9141  }
9142 #endif
9143 
9144  public:
9146  uint32_t size = {};
9147  uint32_t stride = {};
9148  };
9149 
9150 #if defined( VK_ENABLE_BETA_EXTENSIONS )
9151  struct BindVideoSessionMemoryInfoKHR
9152  {
9153  using NativeType = VkBindVideoSessionMemoryInfoKHR;
9154 
9155  static const bool allowDuplicate = false;
9156  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBindVideoSessionMemoryInfoKHR;
9157 
9158 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
9159  VULKAN_HPP_CONSTEXPR BindVideoSessionMemoryInfoKHR( uint32_t memoryBindIndex_ = {},
9161  VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_ = {},
9162  VULKAN_HPP_NAMESPACE::DeviceSize memorySize_ = {},
9163  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
9164  : pNext( pNext_ )
9165  , memoryBindIndex( memoryBindIndex_ )
9166  , memory( memory_ )
9167  , memoryOffset( memoryOffset_ )
9168  , memorySize( memorySize_ )
9169  {
9170  }
9171 
9172  VULKAN_HPP_CONSTEXPR BindVideoSessionMemoryInfoKHR( BindVideoSessionMemoryInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
9173 
9174  BindVideoSessionMemoryInfoKHR( VkBindVideoSessionMemoryInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
9175  : BindVideoSessionMemoryInfoKHR( *reinterpret_cast<BindVideoSessionMemoryInfoKHR const *>( &rhs ) )
9176  {
9177  }
9178 
9179  BindVideoSessionMemoryInfoKHR & operator=( BindVideoSessionMemoryInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
9180 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
9181 
9182  BindVideoSessionMemoryInfoKHR & operator=( VkBindVideoSessionMemoryInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
9183  {
9184  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BindVideoSessionMemoryInfoKHR const *>( &rhs );
9185  return *this;
9186  }
9187 
9188 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
9189  VULKAN_HPP_CONSTEXPR_14 BindVideoSessionMemoryInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
9190  {
9191  pNext = pNext_;
9192  return *this;
9193  }
9194 
9195  VULKAN_HPP_CONSTEXPR_14 BindVideoSessionMemoryInfoKHR & setMemoryBindIndex( uint32_t memoryBindIndex_ ) VULKAN_HPP_NOEXCEPT
9196  {
9197  memoryBindIndex = memoryBindIndex_;
9198  return *this;
9199  }
9200 
9201  VULKAN_HPP_CONSTEXPR_14 BindVideoSessionMemoryInfoKHR & setMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory_ ) VULKAN_HPP_NOEXCEPT
9202  {
9203  memory = memory_;
9204  return *this;
9205  }
9206 
9207  VULKAN_HPP_CONSTEXPR_14 BindVideoSessionMemoryInfoKHR & setMemoryOffset( VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_ ) VULKAN_HPP_NOEXCEPT
9208  {
9209  memoryOffset = memoryOffset_;
9210  return *this;
9211  }
9212 
9213  VULKAN_HPP_CONSTEXPR_14 BindVideoSessionMemoryInfoKHR & setMemorySize( VULKAN_HPP_NAMESPACE::DeviceSize memorySize_ ) VULKAN_HPP_NOEXCEPT
9214  {
9215  memorySize = memorySize_;
9216  return *this;
9217  }
9218 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
9219 
9220  operator VkBindVideoSessionMemoryInfoKHR const &() const VULKAN_HPP_NOEXCEPT
9221  {
9222  return *reinterpret_cast<const VkBindVideoSessionMemoryInfoKHR *>( this );
9223  }
9224 
9226  {
9227  return *reinterpret_cast<VkBindVideoSessionMemoryInfoKHR *>( this );
9228  }
9229 
9230 # if defined( VULKAN_HPP_USE_REFLECT )
9231 # if 14 <= VULKAN_HPP_CPP_VERSION
9232  auto
9233 # else
9234  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
9235  const void * const &,
9236  uint32_t const &,
9240 # endif
9241  reflect() const VULKAN_HPP_NOEXCEPT
9242  {
9243  return std::tie( sType, pNext, memoryBindIndex, memory, memoryOffset, memorySize );
9244  }
9245 # endif
9246 
9247 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
9248  auto operator<=>( BindVideoSessionMemoryInfoKHR const & ) const = default;
9249 # else
9250  bool operator==( BindVideoSessionMemoryInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
9251  {
9252 # if defined( VULKAN_HPP_USE_REFLECT )
9253  return this->reflect() == rhs.reflect();
9254 # else
9255  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memoryBindIndex == rhs.memoryBindIndex ) && ( memory == rhs.memory ) &&
9256  ( memoryOffset == rhs.memoryOffset ) && ( memorySize == rhs.memorySize );
9257 # endif
9258  }
9259 
9260  bool operator!=( BindVideoSessionMemoryInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
9261  {
9262  return !operator==( rhs );
9263  }
9264 # endif
9265 
9266  public:
9267  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eBindVideoSessionMemoryInfoKHR;
9268  const void * pNext = {};
9269  uint32_t memoryBindIndex = {};
9271  VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset = {};
9272  VULKAN_HPP_NAMESPACE::DeviceSize memorySize = {};
9273  };
9274 
9275  template <>
9276  struct CppType<StructureType, StructureType::eBindVideoSessionMemoryInfoKHR>
9277  {
9278  using Type = BindVideoSessionMemoryInfoKHR;
9279  };
9280 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
9281 
9283  {
9285 
9286 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
9288  uint32_t mipLevel_ = {},
9289  uint32_t baseArrayLayer_ = {},
9290  uint32_t layerCount_ = {} ) VULKAN_HPP_NOEXCEPT
9291  : aspectMask( aspectMask_ )
9292  , mipLevel( mipLevel_ )
9293  , baseArrayLayer( baseArrayLayer_ )
9294  , layerCount( layerCount_ )
9295  {
9296  }
9297 
9299 
9301  : ImageSubresourceLayers( *reinterpret_cast<ImageSubresourceLayers const *>( &rhs ) )
9302  {
9303  }
9304 
9306 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
9307 
9309  {
9310  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const *>( &rhs );
9311  return *this;
9312  }
9313 
9314 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
9316  {
9317  aspectMask = aspectMask_;
9318  return *this;
9319  }
9320 
9322  {
9323  mipLevel = mipLevel_;
9324  return *this;
9325  }
9326 
9328  {
9329  baseArrayLayer = baseArrayLayer_;
9330  return *this;
9331  }
9332 
9334  {
9335  layerCount = layerCount_;
9336  return *this;
9337  }
9338 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
9339 
9341  {
9342  return *reinterpret_cast<const VkImageSubresourceLayers *>( this );
9343  }
9344 
9346  {
9347  return *reinterpret_cast<VkImageSubresourceLayers *>( this );
9348  }
9349 
9350 #if defined( VULKAN_HPP_USE_REFLECT )
9351 # if 14 <= VULKAN_HPP_CPP_VERSION
9352  auto
9353 # else
9354  std::tuple<VULKAN_HPP_NAMESPACE::ImageAspectFlags const &, uint32_t const &, uint32_t const &, uint32_t const &>
9355 # endif
9356  reflect() const VULKAN_HPP_NOEXCEPT
9357  {
9358  return std::tie( aspectMask, mipLevel, baseArrayLayer, layerCount );
9359  }
9360 #endif
9361 
9362 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
9363  auto operator<=>( ImageSubresourceLayers const & ) const = default;
9364 #else
9366  {
9367 # if defined( VULKAN_HPP_USE_REFLECT )
9368  return this->reflect() == rhs.reflect();
9369 # else
9370  return ( aspectMask == rhs.aspectMask ) && ( mipLevel == rhs.mipLevel ) && ( baseArrayLayer == rhs.baseArrayLayer ) && ( layerCount == rhs.layerCount );
9371 # endif
9372  }
9373 
9375  {
9376  return !operator==( rhs );
9377  }
9378 #endif
9379 
9380  public:
9382  uint32_t mipLevel = {};
9383  uint32_t baseArrayLayer = {};
9384  uint32_t layerCount = {};
9385  };
9386 
9387  struct ImageBlit2
9388  {
9390 
9391  static const bool allowDuplicate = false;
9393 
9394 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
9396  std::array<VULKAN_HPP_NAMESPACE::Offset3D, 2> const & srcOffsets_ = {},
9397  VULKAN_HPP_NAMESPACE::ImageSubresourceLayers dstSubresource_ = {},
9398  std::array<VULKAN_HPP_NAMESPACE::Offset3D, 2> const & dstOffsets_ = {},
9399  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
9400  : pNext( pNext_ )
9401  , srcSubresource( srcSubresource_ )
9402  , srcOffsets( srcOffsets_ )
9403  , dstSubresource( dstSubresource_ )
9404  , dstOffsets( dstOffsets_ )
9405  {
9406  }
9407 
9409 
9410  ImageBlit2( VkImageBlit2 const & rhs ) VULKAN_HPP_NOEXCEPT : ImageBlit2( *reinterpret_cast<ImageBlit2 const *>( &rhs ) ) {}
9411 
9412  ImageBlit2 & operator=( ImageBlit2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
9413 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
9414 
9416  {
9417  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageBlit2 const *>( &rhs );
9418  return *this;
9419  }
9420 
9421 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
9423  {
9424  pNext = pNext_;
9425  return *this;
9426  }
9427 
9429  {
9430  srcSubresource = srcSubresource_;
9431  return *this;
9432  }
9433 
9434  VULKAN_HPP_CONSTEXPR_14 ImageBlit2 & setSrcOffsets( std::array<VULKAN_HPP_NAMESPACE::Offset3D, 2> const & srcOffsets_ ) VULKAN_HPP_NOEXCEPT
9435  {
9436  srcOffsets = srcOffsets_;
9437  return *this;
9438  }
9439 
9441  {
9442  dstSubresource = dstSubresource_;
9443  return *this;
9444  }
9445 
9446  VULKAN_HPP_CONSTEXPR_14 ImageBlit2 & setDstOffsets( std::array<VULKAN_HPP_NAMESPACE::Offset3D, 2> const & dstOffsets_ ) VULKAN_HPP_NOEXCEPT
9447  {
9448  dstOffsets = dstOffsets_;
9449  return *this;
9450  }
9451 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
9452 
9453  operator VkImageBlit2 const &() const VULKAN_HPP_NOEXCEPT
9454  {
9455  return *reinterpret_cast<const VkImageBlit2 *>( this );
9456  }
9457 
9459  {
9460  return *reinterpret_cast<VkImageBlit2 *>( this );
9461  }
9462 
9463 #if defined( VULKAN_HPP_USE_REFLECT )
9464 # if 14 <= VULKAN_HPP_CPP_VERSION
9465  auto
9466 # else
9467  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
9468  const void * const &,
9473 # endif
9474  reflect() const VULKAN_HPP_NOEXCEPT
9475  {
9477  }
9478 #endif
9479 
9480 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
9481  auto operator<=>( ImageBlit2 const & ) const = default;
9482 #else
9483  bool operator==( ImageBlit2 const & rhs ) const VULKAN_HPP_NOEXCEPT
9484  {
9485 # if defined( VULKAN_HPP_USE_REFLECT )
9486  return this->reflect() == rhs.reflect();
9487 # else
9488  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( srcSubresource == rhs.srcSubresource ) && ( srcOffsets == rhs.srcOffsets ) &&
9489  ( dstSubresource == rhs.dstSubresource ) && ( dstOffsets == rhs.dstOffsets );
9490 # endif
9491  }
9492 
9493  bool operator!=( ImageBlit2 const & rhs ) const VULKAN_HPP_NOEXCEPT
9494  {
9495  return !operator==( rhs );
9496  }
9497 #endif
9498 
9499  public:
9501  const void * pNext = {};
9506  };
9507 
9508  template <>
9510  {
9511  using Type = ImageBlit2;
9512  };
9513  using ImageBlit2KHR = ImageBlit2;
9514 
9516  {
9518 
9519  static const bool allowDuplicate = false;
9521 
9522 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
9525  VULKAN_HPP_NAMESPACE::Image dstImage_ = {},
9527  uint32_t regionCount_ = {},
9528  const VULKAN_HPP_NAMESPACE::ImageBlit2 * pRegions_ = {},
9530  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
9531  : pNext( pNext_ )
9532  , srcImage( srcImage_ )
9533  , srcImageLayout( srcImageLayout_ )
9534  , dstImage( dstImage_ )
9535  , dstImageLayout( dstImageLayout_ )
9536  , regionCount( regionCount_ )
9537  , pRegions( pRegions_ )
9538  , filter( filter_ )
9539  {
9540  }
9541 
9543 
9544  BlitImageInfo2( VkBlitImageInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT : BlitImageInfo2( *reinterpret_cast<BlitImageInfo2 const *>( &rhs ) ) {}
9545 
9546 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
9548  VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout_,
9549  VULKAN_HPP_NAMESPACE::Image dstImage_,
9550  VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout_,
9553  const void * pNext_ = nullptr )
9554  : pNext( pNext_ )
9555  , srcImage( srcImage_ )
9556  , srcImageLayout( srcImageLayout_ )
9557  , dstImage( dstImage_ )
9558  , dstImageLayout( dstImageLayout_ )
9559  , regionCount( static_cast<uint32_t>( regions_.size() ) )
9560  , pRegions( regions_.data() )
9561  , filter( filter_ )
9562  {
9563  }
9564 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
9565 
9566  BlitImageInfo2 & operator=( BlitImageInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
9567 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
9568 
9570  {
9571  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BlitImageInfo2 const *>( &rhs );
9572  return *this;
9573  }
9574 
9575 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
9577  {
9578  pNext = pNext_;
9579  return *this;
9580  }
9581 
9583  {
9584  srcImage = srcImage_;
9585  return *this;
9586  }
9587 
9589  {
9590  srcImageLayout = srcImageLayout_;
9591  return *this;
9592  }
9593 
9595  {
9596  dstImage = dstImage_;
9597  return *this;
9598  }
9599 
9601  {
9602  dstImageLayout = dstImageLayout_;
9603  return *this;
9604  }
9605 
9607  {
9608  regionCount = regionCount_;
9609  return *this;
9610  }
9611 
9613  {
9614  pRegions = pRegions_;
9615  return *this;
9616  }
9617 
9618 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
9620  {
9621  regionCount = static_cast<uint32_t>( regions_.size() );
9622  pRegions = regions_.data();
9623  return *this;
9624  }
9625 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
9626 
9628  {
9629  filter = filter_;
9630  return *this;
9631  }
9632 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
9633 
9634  operator VkBlitImageInfo2 const &() const VULKAN_HPP_NOEXCEPT
9635  {
9636  return *reinterpret_cast<const VkBlitImageInfo2 *>( this );
9637  }
9638 
9640  {
9641  return *reinterpret_cast<VkBlitImageInfo2 *>( this );
9642  }
9643 
9644 #if defined( VULKAN_HPP_USE_REFLECT )
9645 # if 14 <= VULKAN_HPP_CPP_VERSION
9646  auto
9647 # else
9648  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
9649  const void * const &,
9654  uint32_t const &,
9655  const VULKAN_HPP_NAMESPACE::ImageBlit2 * const &,
9657 # endif
9658  reflect() const VULKAN_HPP_NOEXCEPT
9659  {
9661  }
9662 #endif
9663 
9664 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
9665  auto operator<=>( BlitImageInfo2 const & ) const = default;
9666 #else
9668  {
9669 # if defined( VULKAN_HPP_USE_REFLECT )
9670  return this->reflect() == rhs.reflect();
9671 # else
9672  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( srcImage == rhs.srcImage ) && ( srcImageLayout == rhs.srcImageLayout ) &&
9673  ( dstImage == rhs.dstImage ) && ( dstImageLayout == rhs.dstImageLayout ) && ( regionCount == rhs.regionCount ) && ( pRegions == rhs.pRegions ) &&
9674  ( filter == rhs.filter );
9675 # endif
9676  }
9677 
9679  {
9680  return !operator==( rhs );
9681  }
9682 #endif
9683 
9684  public:
9686  const void * pNext = {};
9691  uint32_t regionCount = {};
9694  };
9695 
9696  template <>
9698  {
9700  };
9702 
9704  {
9706 
9707  static const bool allowDuplicate = false;
9709 
9710 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
9712  : pNext( pNext_ )
9713  , buffer( buffer_ )
9714  {
9715  }
9716 
9718 
9720  : BufferCaptureDescriptorDataInfoEXT( *reinterpret_cast<BufferCaptureDescriptorDataInfoEXT const *>( &rhs ) )
9721  {
9722  }
9723 
9725 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
9726 
9728  {
9729  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferCaptureDescriptorDataInfoEXT const *>( &rhs );
9730  return *this;
9731  }
9732 
9733 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
9735  {
9736  pNext = pNext_;
9737  return *this;
9738  }
9739 
9741  {
9742  buffer = buffer_;
9743  return *this;
9744  }
9745 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
9746 
9748  {
9749  return *reinterpret_cast<const VkBufferCaptureDescriptorDataInfoEXT *>( this );
9750  }
9751 
9753  {
9754  return *reinterpret_cast<VkBufferCaptureDescriptorDataInfoEXT *>( this );
9755  }
9756 
9757 #if defined( VULKAN_HPP_USE_REFLECT )
9758 # if 14 <= VULKAN_HPP_CPP_VERSION
9759  auto
9760 # else
9761  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::Buffer const &>
9762 # endif
9763  reflect() const VULKAN_HPP_NOEXCEPT
9764  {
9765  return std::tie( sType, pNext, buffer );
9766  }
9767 #endif
9768 
9769 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
9770  auto operator<=>( BufferCaptureDescriptorDataInfoEXT const & ) const = default;
9771 #else
9773  {
9774 # if defined( VULKAN_HPP_USE_REFLECT )
9775  return this->reflect() == rhs.reflect();
9776 # else
9777  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( buffer == rhs.buffer );
9778 # endif
9779  }
9780 
9782  {
9783  return !operator==( rhs );
9784  }
9785 #endif
9786 
9787  public:
9789  const void * pNext = {};
9791  };
9792 
9793  template <>
9795  {
9797  };
9798 
9799 #if defined( VK_USE_PLATFORM_FUCHSIA )
9800  struct BufferCollectionBufferCreateInfoFUCHSIA
9801  {
9802  using NativeType = VkBufferCollectionBufferCreateInfoFUCHSIA;
9803 
9804  static const bool allowDuplicate = false;
9805  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferCollectionBufferCreateInfoFUCHSIA;
9806 
9807 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
9808  VULKAN_HPP_CONSTEXPR BufferCollectionBufferCreateInfoFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection_ = {},
9809  uint32_t index_ = {},
9810  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
9811  : pNext( pNext_ )
9812  , collection( collection_ )
9813  , index( index_ )
9814  {
9815  }
9816 
9817  VULKAN_HPP_CONSTEXPR BufferCollectionBufferCreateInfoFUCHSIA( BufferCollectionBufferCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
9818 
9819  BufferCollectionBufferCreateInfoFUCHSIA( VkBufferCollectionBufferCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
9820  : BufferCollectionBufferCreateInfoFUCHSIA( *reinterpret_cast<BufferCollectionBufferCreateInfoFUCHSIA const *>( &rhs ) )
9821  {
9822  }
9823 
9824  BufferCollectionBufferCreateInfoFUCHSIA & operator=( BufferCollectionBufferCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
9825 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
9826 
9827  BufferCollectionBufferCreateInfoFUCHSIA & operator=( VkBufferCollectionBufferCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
9828  {
9829  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferCollectionBufferCreateInfoFUCHSIA const *>( &rhs );
9830  return *this;
9831  }
9832 
9833 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
9834  VULKAN_HPP_CONSTEXPR_14 BufferCollectionBufferCreateInfoFUCHSIA & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
9835  {
9836  pNext = pNext_;
9837  return *this;
9838  }
9839 
9840  VULKAN_HPP_CONSTEXPR_14 BufferCollectionBufferCreateInfoFUCHSIA &
9841  setCollection( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection_ ) VULKAN_HPP_NOEXCEPT
9842  {
9843  collection = collection_;
9844  return *this;
9845  }
9846 
9847  VULKAN_HPP_CONSTEXPR_14 BufferCollectionBufferCreateInfoFUCHSIA & setIndex( uint32_t index_ ) VULKAN_HPP_NOEXCEPT
9848  {
9849  index = index_;
9850  return *this;
9851  }
9852 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
9853 
9855  {
9856  return *reinterpret_cast<const VkBufferCollectionBufferCreateInfoFUCHSIA *>( this );
9857  }
9858 
9860  {
9861  return *reinterpret_cast<VkBufferCollectionBufferCreateInfoFUCHSIA *>( this );
9862  }
9863 
9864 # if defined( VULKAN_HPP_USE_REFLECT )
9865 # if 14 <= VULKAN_HPP_CPP_VERSION
9866  auto
9867 # else
9868  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA const &, uint32_t const &>
9869 # endif
9870  reflect() const VULKAN_HPP_NOEXCEPT
9871  {
9872  return std::tie( sType, pNext, collection, index );
9873  }
9874 # endif
9875 
9876 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
9877  auto operator<=>( BufferCollectionBufferCreateInfoFUCHSIA const & ) const = default;
9878 # else
9879  bool operator==( BufferCollectionBufferCreateInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
9880  {
9881 # if defined( VULKAN_HPP_USE_REFLECT )
9882  return this->reflect() == rhs.reflect();
9883 # else
9884  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( collection == rhs.collection ) && ( index == rhs.index );
9885 # endif
9886  }
9887 
9888  bool operator!=( BufferCollectionBufferCreateInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
9889  {
9890  return !operator==( rhs );
9891  }
9892 # endif
9893 
9894  public:
9895  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eBufferCollectionBufferCreateInfoFUCHSIA;
9896  const void * pNext = {};
9897  VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection = {};
9898  uint32_t index = {};
9899  };
9900 
9901  template <>
9902  struct CppType<StructureType, StructureType::eBufferCollectionBufferCreateInfoFUCHSIA>
9903  {
9904  using Type = BufferCollectionBufferCreateInfoFUCHSIA;
9905  };
9906 #endif /*VK_USE_PLATFORM_FUCHSIA*/
9907 
9908 #if defined( VK_USE_PLATFORM_FUCHSIA )
9909  struct BufferCollectionConstraintsInfoFUCHSIA
9910  {
9911  using NativeType = VkBufferCollectionConstraintsInfoFUCHSIA;
9912 
9913  static const bool allowDuplicate = false;
9914  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferCollectionConstraintsInfoFUCHSIA;
9915 
9916 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
9917  VULKAN_HPP_CONSTEXPR BufferCollectionConstraintsInfoFUCHSIA( uint32_t minBufferCount_ = {},
9918  uint32_t maxBufferCount_ = {},
9919  uint32_t minBufferCountForCamping_ = {},
9920  uint32_t minBufferCountForDedicatedSlack_ = {},
9921  uint32_t minBufferCountForSharedSlack_ = {},
9922  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
9923  : pNext( pNext_ )
9924  , minBufferCount( minBufferCount_ )
9925  , maxBufferCount( maxBufferCount_ )
9926  , minBufferCountForCamping( minBufferCountForCamping_ )
9927  , minBufferCountForDedicatedSlack( minBufferCountForDedicatedSlack_ )
9928  , minBufferCountForSharedSlack( minBufferCountForSharedSlack_ )
9929  {
9930  }
9931 
9932  VULKAN_HPP_CONSTEXPR BufferCollectionConstraintsInfoFUCHSIA( BufferCollectionConstraintsInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
9933 
9934  BufferCollectionConstraintsInfoFUCHSIA( VkBufferCollectionConstraintsInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
9935  : BufferCollectionConstraintsInfoFUCHSIA( *reinterpret_cast<BufferCollectionConstraintsInfoFUCHSIA const *>( &rhs ) )
9936  {
9937  }
9938 
9939  BufferCollectionConstraintsInfoFUCHSIA & operator=( BufferCollectionConstraintsInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
9940 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
9941 
9942  BufferCollectionConstraintsInfoFUCHSIA & operator=( VkBufferCollectionConstraintsInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
9943  {
9944  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferCollectionConstraintsInfoFUCHSIA const *>( &rhs );
9945  return *this;
9946  }
9947 
9948 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
9949  VULKAN_HPP_CONSTEXPR_14 BufferCollectionConstraintsInfoFUCHSIA & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
9950  {
9951  pNext = pNext_;
9952  return *this;
9953  }
9954 
9955  VULKAN_HPP_CONSTEXPR_14 BufferCollectionConstraintsInfoFUCHSIA & setMinBufferCount( uint32_t minBufferCount_ ) VULKAN_HPP_NOEXCEPT
9956  {
9957  minBufferCount = minBufferCount_;
9958  return *this;
9959  }
9960 
9961  VULKAN_HPP_CONSTEXPR_14 BufferCollectionConstraintsInfoFUCHSIA & setMaxBufferCount( uint32_t maxBufferCount_ ) VULKAN_HPP_NOEXCEPT
9962  {
9963  maxBufferCount = maxBufferCount_;
9964  return *this;
9965  }
9966 
9967  VULKAN_HPP_CONSTEXPR_14 BufferCollectionConstraintsInfoFUCHSIA & setMinBufferCountForCamping( uint32_t minBufferCountForCamping_ ) VULKAN_HPP_NOEXCEPT
9968  {
9969  minBufferCountForCamping = minBufferCountForCamping_;
9970  return *this;
9971  }
9972 
9973  VULKAN_HPP_CONSTEXPR_14 BufferCollectionConstraintsInfoFUCHSIA &
9974  setMinBufferCountForDedicatedSlack( uint32_t minBufferCountForDedicatedSlack_ ) VULKAN_HPP_NOEXCEPT
9975  {
9976  minBufferCountForDedicatedSlack = minBufferCountForDedicatedSlack_;
9977  return *this;
9978  }
9979 
9980  VULKAN_HPP_CONSTEXPR_14 BufferCollectionConstraintsInfoFUCHSIA &
9981  setMinBufferCountForSharedSlack( uint32_t minBufferCountForSharedSlack_ ) VULKAN_HPP_NOEXCEPT
9982  {
9983  minBufferCountForSharedSlack = minBufferCountForSharedSlack_;
9984  return *this;
9985  }
9986 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
9987 
9989  {
9990  return *reinterpret_cast<const VkBufferCollectionConstraintsInfoFUCHSIA *>( this );
9991  }
9992 
9994  {
9995  return *reinterpret_cast<VkBufferCollectionConstraintsInfoFUCHSIA *>( this );
9996  }
9997 
9998 # if defined( VULKAN_HPP_USE_REFLECT )
9999 # if 14 <= VULKAN_HPP_CPP_VERSION
10000  auto
10001 # else
10002  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
10003  const void * const &,
10004  uint32_t const &,
10005  uint32_t const &,
10006  uint32_t const &,
10007  uint32_t const &,
10008  uint32_t const &>
10009 # endif
10010  reflect() const VULKAN_HPP_NOEXCEPT
10011  {
10012  return std::tie( sType, pNext, minBufferCount, maxBufferCount, minBufferCountForCamping, minBufferCountForDedicatedSlack, minBufferCountForSharedSlack );
10013  }
10014 # endif
10015 
10016 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
10017  auto operator<=>( BufferCollectionConstraintsInfoFUCHSIA const & ) const = default;
10018 # else
10019  bool operator==( BufferCollectionConstraintsInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
10020  {
10021 # if defined( VULKAN_HPP_USE_REFLECT )
10022  return this->reflect() == rhs.reflect();
10023 # else
10024  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( minBufferCount == rhs.minBufferCount ) && ( maxBufferCount == rhs.maxBufferCount ) &&
10025  ( minBufferCountForCamping == rhs.minBufferCountForCamping ) && ( minBufferCountForDedicatedSlack == rhs.minBufferCountForDedicatedSlack ) &&
10026  ( minBufferCountForSharedSlack == rhs.minBufferCountForSharedSlack );
10027 # endif
10028  }
10029 
10030  bool operator!=( BufferCollectionConstraintsInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
10031  {
10032  return !operator==( rhs );
10033  }
10034 # endif
10035 
10036  public:
10037  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eBufferCollectionConstraintsInfoFUCHSIA;
10038  const void * pNext = {};
10039  uint32_t minBufferCount = {};
10040  uint32_t maxBufferCount = {};
10041  uint32_t minBufferCountForCamping = {};
10042  uint32_t minBufferCountForDedicatedSlack = {};
10043  uint32_t minBufferCountForSharedSlack = {};
10044  };
10045 
10046  template <>
10047  struct CppType<StructureType, StructureType::eBufferCollectionConstraintsInfoFUCHSIA>
10048  {
10049  using Type = BufferCollectionConstraintsInfoFUCHSIA;
10050  };
10051 #endif /*VK_USE_PLATFORM_FUCHSIA*/
10052 
10053 #if defined( VK_USE_PLATFORM_FUCHSIA )
10054  struct BufferCollectionCreateInfoFUCHSIA
10055  {
10056  using NativeType = VkBufferCollectionCreateInfoFUCHSIA;
10057 
10058  static const bool allowDuplicate = false;
10059  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferCollectionCreateInfoFUCHSIA;
10060 
10061 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
10062  VULKAN_HPP_CONSTEXPR BufferCollectionCreateInfoFUCHSIA( zx_handle_t collectionToken_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
10063  : pNext( pNext_ )
10064  , collectionToken( collectionToken_ )
10065  {
10066  }
10067 
10068  VULKAN_HPP_CONSTEXPR BufferCollectionCreateInfoFUCHSIA( BufferCollectionCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
10069 
10070  BufferCollectionCreateInfoFUCHSIA( VkBufferCollectionCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
10071  : BufferCollectionCreateInfoFUCHSIA( *reinterpret_cast<BufferCollectionCreateInfoFUCHSIA const *>( &rhs ) )
10072  {
10073  }
10074 
10075  BufferCollectionCreateInfoFUCHSIA & operator=( BufferCollectionCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
10076 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
10077 
10078  BufferCollectionCreateInfoFUCHSIA & operator=( VkBufferCollectionCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
10079  {
10080  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIA const *>( &rhs );
10081  return *this;
10082  }
10083 
10084 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
10085  VULKAN_HPP_CONSTEXPR_14 BufferCollectionCreateInfoFUCHSIA & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
10086  {
10087  pNext = pNext_;
10088  return *this;
10089  }
10090 
10091  VULKAN_HPP_CONSTEXPR_14 BufferCollectionCreateInfoFUCHSIA & setCollectionToken( zx_handle_t collectionToken_ ) VULKAN_HPP_NOEXCEPT
10092  {
10093  collectionToken = collectionToken_;
10094  return *this;
10095  }
10096 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
10097 
10099  {
10100  return *reinterpret_cast<const VkBufferCollectionCreateInfoFUCHSIA *>( this );
10101  }
10102 
10104  {
10105  return *reinterpret_cast<VkBufferCollectionCreateInfoFUCHSIA *>( this );
10106  }
10107 
10108 # if defined( VULKAN_HPP_USE_REFLECT )
10109 # if 14 <= VULKAN_HPP_CPP_VERSION
10110  auto
10111 # else
10112  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, zx_handle_t const &>
10113 # endif
10114  reflect() const VULKAN_HPP_NOEXCEPT
10115  {
10116  return std::tie( sType, pNext, collectionToken );
10117  }
10118 # endif
10119 
10120 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
10121  std::strong_ordering operator<=>( BufferCollectionCreateInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
10122  {
10123  if ( auto cmp = sType <=> rhs.sType; cmp != 0 )
10124  return cmp;
10125  if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 )
10126  return cmp;
10127  if ( auto cmp = memcmp( &collectionToken, &rhs.collectionToken, sizeof( zx_handle_t ) ); cmp != 0 )
10128  return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater;
10129 
10130  return std::strong_ordering::equivalent;
10131  }
10132 # endif
10133 
10134  bool operator==( BufferCollectionCreateInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
10135  {
10136  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memcmp( &collectionToken, &rhs.collectionToken, sizeof( zx_handle_t ) ) == 0 );
10137  }
10138 
10139  bool operator!=( BufferCollectionCreateInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
10140  {
10141  return !operator==( rhs );
10142  }
10143 
10144  public:
10145  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eBufferCollectionCreateInfoFUCHSIA;
10146  const void * pNext = {};
10147  zx_handle_t collectionToken = {};
10148  };
10149 
10150  template <>
10151  struct CppType<StructureType, StructureType::eBufferCollectionCreateInfoFUCHSIA>
10152  {
10153  using Type = BufferCollectionCreateInfoFUCHSIA;
10154  };
10155 #endif /*VK_USE_PLATFORM_FUCHSIA*/
10156 
10157 #if defined( VK_USE_PLATFORM_FUCHSIA )
10158  struct BufferCollectionImageCreateInfoFUCHSIA
10159  {
10160  using NativeType = VkBufferCollectionImageCreateInfoFUCHSIA;
10161 
10162  static const bool allowDuplicate = false;
10163  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferCollectionImageCreateInfoFUCHSIA;
10164 
10165 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
10166  VULKAN_HPP_CONSTEXPR BufferCollectionImageCreateInfoFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection_ = {},
10167  uint32_t index_ = {},
10168  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
10169  : pNext( pNext_ )
10170  , collection( collection_ )
10171  , index( index_ )
10172  {
10173  }
10174 
10175  VULKAN_HPP_CONSTEXPR BufferCollectionImageCreateInfoFUCHSIA( BufferCollectionImageCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
10176 
10177  BufferCollectionImageCreateInfoFUCHSIA( VkBufferCollectionImageCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
10178  : BufferCollectionImageCreateInfoFUCHSIA( *reinterpret_cast<BufferCollectionImageCreateInfoFUCHSIA const *>( &rhs ) )
10179  {
10180  }
10181 
10182  BufferCollectionImageCreateInfoFUCHSIA & operator=( BufferCollectionImageCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
10183 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
10184 
10185  BufferCollectionImageCreateInfoFUCHSIA & operator=( VkBufferCollectionImageCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
10186  {
10187  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferCollectionImageCreateInfoFUCHSIA const *>( &rhs );
10188  return *this;
10189  }
10190 
10191 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
10192  VULKAN_HPP_CONSTEXPR_14 BufferCollectionImageCreateInfoFUCHSIA & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
10193  {
10194  pNext = pNext_;
10195  return *this;
10196  }
10197 
10198  VULKAN_HPP_CONSTEXPR_14 BufferCollectionImageCreateInfoFUCHSIA &
10199  setCollection( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection_ ) VULKAN_HPP_NOEXCEPT
10200  {
10201  collection = collection_;
10202  return *this;
10203  }
10204 
10205  VULKAN_HPP_CONSTEXPR_14 BufferCollectionImageCreateInfoFUCHSIA & setIndex( uint32_t index_ ) VULKAN_HPP_NOEXCEPT
10206  {
10207  index = index_;
10208  return *this;
10209  }
10210 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
10211 
10213  {
10214  return *reinterpret_cast<const VkBufferCollectionImageCreateInfoFUCHSIA *>( this );
10215  }
10216 
10218  {
10219  return *reinterpret_cast<VkBufferCollectionImageCreateInfoFUCHSIA *>( this );
10220  }
10221 
10222 # if defined( VULKAN_HPP_USE_REFLECT )
10223 # if 14 <= VULKAN_HPP_CPP_VERSION
10224  auto
10225 # else
10226  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA const &, uint32_t const &>
10227 # endif
10228  reflect() const VULKAN_HPP_NOEXCEPT
10229  {
10230  return std::tie( sType, pNext, collection, index );
10231  }
10232 # endif
10233 
10234 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
10235  auto operator<=>( BufferCollectionImageCreateInfoFUCHSIA const & ) const = default;
10236 # else
10237  bool operator==( BufferCollectionImageCreateInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
10238  {
10239 # if defined( VULKAN_HPP_USE_REFLECT )
10240  return this->reflect() == rhs.reflect();
10241 # else
10242  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( collection == rhs.collection ) && ( index == rhs.index );
10243 # endif
10244  }
10245 
10246  bool operator!=( BufferCollectionImageCreateInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
10247  {
10248  return !operator==( rhs );
10249  }
10250 # endif
10251 
10252  public:
10253  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eBufferCollectionImageCreateInfoFUCHSIA;
10254  const void * pNext = {};
10255  VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection = {};
10256  uint32_t index = {};
10257  };
10258 
10259  template <>
10260  struct CppType<StructureType, StructureType::eBufferCollectionImageCreateInfoFUCHSIA>
10261  {
10262  using Type = BufferCollectionImageCreateInfoFUCHSIA;
10263  };
10264 #endif /*VK_USE_PLATFORM_FUCHSIA*/
10265 
10266 #if defined( VK_USE_PLATFORM_FUCHSIA )
10267  struct SysmemColorSpaceFUCHSIA
10268  {
10269  using NativeType = VkSysmemColorSpaceFUCHSIA;
10270 
10271  static const bool allowDuplicate = false;
10272  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSysmemColorSpaceFUCHSIA;
10273 
10274 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
10275  VULKAN_HPP_CONSTEXPR SysmemColorSpaceFUCHSIA( uint32_t colorSpace_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
10276  : pNext( pNext_ )
10277  , colorSpace( colorSpace_ )
10278  {
10279  }
10280 
10281  VULKAN_HPP_CONSTEXPR SysmemColorSpaceFUCHSIA( SysmemColorSpaceFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
10282 
10283  SysmemColorSpaceFUCHSIA( VkSysmemColorSpaceFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
10284  : SysmemColorSpaceFUCHSIA( *reinterpret_cast<SysmemColorSpaceFUCHSIA const *>( &rhs ) )
10285  {
10286  }
10287 
10288  SysmemColorSpaceFUCHSIA & operator=( SysmemColorSpaceFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
10289 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
10290 
10291  SysmemColorSpaceFUCHSIA & operator=( VkSysmemColorSpaceFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
10292  {
10293  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIA const *>( &rhs );
10294  return *this;
10295  }
10296 
10297 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
10298  VULKAN_HPP_CONSTEXPR_14 SysmemColorSpaceFUCHSIA & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
10299  {
10300  pNext = pNext_;
10301  return *this;
10302  }
10303 
10304  VULKAN_HPP_CONSTEXPR_14 SysmemColorSpaceFUCHSIA & setColorSpace( uint32_t colorSpace_ ) VULKAN_HPP_NOEXCEPT
10305  {
10306  colorSpace = colorSpace_;
10307  return *this;
10308  }
10309 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
10310 
10311  operator VkSysmemColorSpaceFUCHSIA const &() const VULKAN_HPP_NOEXCEPT
10312  {
10313  return *reinterpret_cast<const VkSysmemColorSpaceFUCHSIA *>( this );
10314  }
10315 
10317  {
10318  return *reinterpret_cast<VkSysmemColorSpaceFUCHSIA *>( this );
10319  }
10320 
10321 # if defined( VULKAN_HPP_USE_REFLECT )
10322 # if 14 <= VULKAN_HPP_CPP_VERSION
10323  auto
10324 # else
10325  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &>
10326 # endif
10327  reflect() const VULKAN_HPP_NOEXCEPT
10328  {
10329  return std::tie( sType, pNext, colorSpace );
10330  }
10331 # endif
10332 
10333 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
10334  auto operator<=>( SysmemColorSpaceFUCHSIA const & ) const = default;
10335 # else
10336  bool operator==( SysmemColorSpaceFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
10337  {
10338 # if defined( VULKAN_HPP_USE_REFLECT )
10339  return this->reflect() == rhs.reflect();
10340 # else
10341  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( colorSpace == rhs.colorSpace );
10342 # endif
10343  }
10344 
10345  bool operator!=( SysmemColorSpaceFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
10346  {
10347  return !operator==( rhs );
10348  }
10349 # endif
10350 
10351  public:
10352  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSysmemColorSpaceFUCHSIA;
10353  const void * pNext = {};
10354  uint32_t colorSpace = {};
10355  };
10356 
10357  template <>
10358  struct CppType<StructureType, StructureType::eSysmemColorSpaceFUCHSIA>
10359  {
10360  using Type = SysmemColorSpaceFUCHSIA;
10361  };
10362 #endif /*VK_USE_PLATFORM_FUCHSIA*/
10363 
10364 #if defined( VK_USE_PLATFORM_FUCHSIA )
10365  struct BufferCollectionPropertiesFUCHSIA
10366  {
10367  using NativeType = VkBufferCollectionPropertiesFUCHSIA;
10368 
10369  static const bool allowDuplicate = false;
10370  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferCollectionPropertiesFUCHSIA;
10371 
10372 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
10373  VULKAN_HPP_CONSTEXPR BufferCollectionPropertiesFUCHSIA(
10374  uint32_t memoryTypeBits_ = {},
10375  uint32_t bufferCount_ = {},
10376  uint32_t createInfoIndex_ = {},
10377  uint64_t sysmemPixelFormat_ = {},
10378  VULKAN_HPP_NAMESPACE::FormatFeatureFlags formatFeatures_ = {},
10379  VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIA sysmemColorSpaceIndex_ = {},
10380  VULKAN_HPP_NAMESPACE::ComponentMapping samplerYcbcrConversionComponents_ = {},
10385  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
10386  : pNext( pNext_ )
10387  , memoryTypeBits( memoryTypeBits_ )
10388  , bufferCount( bufferCount_ )
10389  , createInfoIndex( createInfoIndex_ )
10390  , sysmemPixelFormat( sysmemPixelFormat_ )
10391  , formatFeatures( formatFeatures_ )
10392  , sysmemColorSpaceIndex( sysmemColorSpaceIndex_ )
10393  , samplerYcbcrConversionComponents( samplerYcbcrConversionComponents_ )
10394  , suggestedYcbcrModel( suggestedYcbcrModel_ )
10395  , suggestedYcbcrRange( suggestedYcbcrRange_ )
10396  , suggestedXChromaOffset( suggestedXChromaOffset_ )
10397  , suggestedYChromaOffset( suggestedYChromaOffset_ )
10398  {
10399  }
10400 
10401  VULKAN_HPP_CONSTEXPR BufferCollectionPropertiesFUCHSIA( BufferCollectionPropertiesFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
10402 
10403  BufferCollectionPropertiesFUCHSIA( VkBufferCollectionPropertiesFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
10404  : BufferCollectionPropertiesFUCHSIA( *reinterpret_cast<BufferCollectionPropertiesFUCHSIA const *>( &rhs ) )
10405  {
10406  }
10407 
10408  BufferCollectionPropertiesFUCHSIA & operator=( BufferCollectionPropertiesFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
10409 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
10410 
10411  BufferCollectionPropertiesFUCHSIA & operator=( VkBufferCollectionPropertiesFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
10412  {
10413  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIA const *>( &rhs );
10414  return *this;
10415  }
10416 
10417 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
10418  VULKAN_HPP_CONSTEXPR_14 BufferCollectionPropertiesFUCHSIA & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
10419  {
10420  pNext = pNext_;
10421  return *this;
10422  }
10423 
10424  VULKAN_HPP_CONSTEXPR_14 BufferCollectionPropertiesFUCHSIA & setMemoryTypeBits( uint32_t memoryTypeBits_ ) VULKAN_HPP_NOEXCEPT
10425  {
10426  memoryTypeBits = memoryTypeBits_;
10427  return *this;
10428  }
10429 
10430  VULKAN_HPP_CONSTEXPR_14 BufferCollectionPropertiesFUCHSIA & setBufferCount( uint32_t bufferCount_ ) VULKAN_HPP_NOEXCEPT
10431  {
10432  bufferCount = bufferCount_;
10433  return *this;
10434  }
10435 
10436  VULKAN_HPP_CONSTEXPR_14 BufferCollectionPropertiesFUCHSIA & setCreateInfoIndex( uint32_t createInfoIndex_ ) VULKAN_HPP_NOEXCEPT
10437  {
10438  createInfoIndex = createInfoIndex_;
10439  return *this;
10440  }
10441 
10442  VULKAN_HPP_CONSTEXPR_14 BufferCollectionPropertiesFUCHSIA & setSysmemPixelFormat( uint64_t sysmemPixelFormat_ ) VULKAN_HPP_NOEXCEPT
10443  {
10444  sysmemPixelFormat = sysmemPixelFormat_;
10445  return *this;
10446  }
10447 
10448  VULKAN_HPP_CONSTEXPR_14 BufferCollectionPropertiesFUCHSIA &
10449  setFormatFeatures( VULKAN_HPP_NAMESPACE::FormatFeatureFlags formatFeatures_ ) VULKAN_HPP_NOEXCEPT
10450  {
10451  formatFeatures = formatFeatures_;
10452  return *this;
10453  }
10454 
10455  VULKAN_HPP_CONSTEXPR_14 BufferCollectionPropertiesFUCHSIA &
10456  setSysmemColorSpaceIndex( VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIA const & sysmemColorSpaceIndex_ ) VULKAN_HPP_NOEXCEPT
10457  {
10458  sysmemColorSpaceIndex = sysmemColorSpaceIndex_;
10459  return *this;
10460  }
10461 
10462  VULKAN_HPP_CONSTEXPR_14 BufferCollectionPropertiesFUCHSIA &
10463  setSamplerYcbcrConversionComponents( VULKAN_HPP_NAMESPACE::ComponentMapping const & samplerYcbcrConversionComponents_ ) VULKAN_HPP_NOEXCEPT
10464  {
10465  samplerYcbcrConversionComponents = samplerYcbcrConversionComponents_;
10466  return *this;
10467  }
10468 
10469  VULKAN_HPP_CONSTEXPR_14 BufferCollectionPropertiesFUCHSIA &
10470  setSuggestedYcbcrModel( VULKAN_HPP_NAMESPACE::SamplerYcbcrModelConversion suggestedYcbcrModel_ ) VULKAN_HPP_NOEXCEPT
10471  {
10472  suggestedYcbcrModel = suggestedYcbcrModel_;
10473  return *this;
10474  }
10475 
10476  VULKAN_HPP_CONSTEXPR_14 BufferCollectionPropertiesFUCHSIA &
10477  setSuggestedYcbcrRange( VULKAN_HPP_NAMESPACE::SamplerYcbcrRange suggestedYcbcrRange_ ) VULKAN_HPP_NOEXCEPT
10478  {
10479  suggestedYcbcrRange = suggestedYcbcrRange_;
10480  return *this;
10481  }
10482 
10483  VULKAN_HPP_CONSTEXPR_14 BufferCollectionPropertiesFUCHSIA &
10484  setSuggestedXChromaOffset( VULKAN_HPP_NAMESPACE::ChromaLocation suggestedXChromaOffset_ ) VULKAN_HPP_NOEXCEPT
10485  {
10486  suggestedXChromaOffset = suggestedXChromaOffset_;
10487  return *this;
10488  }
10489 
10490  VULKAN_HPP_CONSTEXPR_14 BufferCollectionPropertiesFUCHSIA &
10491  setSuggestedYChromaOffset( VULKAN_HPP_NAMESPACE::ChromaLocation suggestedYChromaOffset_ ) VULKAN_HPP_NOEXCEPT
10492  {
10493  suggestedYChromaOffset = suggestedYChromaOffset_;
10494  return *this;
10495  }
10496 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
10497 
10499  {
10500  return *reinterpret_cast<const VkBufferCollectionPropertiesFUCHSIA *>( this );
10501  }
10502 
10504  {
10505  return *reinterpret_cast<VkBufferCollectionPropertiesFUCHSIA *>( this );
10506  }
10507 
10508 # if defined( VULKAN_HPP_USE_REFLECT )
10509 # if 14 <= VULKAN_HPP_CPP_VERSION
10510  auto
10511 # else
10512  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
10513  void * const &,
10514  uint32_t const &,
10515  uint32_t const &,
10516  uint32_t const &,
10517  uint64_t const &,
10519  VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIA const &,
10525 # endif
10526  reflect() const VULKAN_HPP_NOEXCEPT
10527  {
10528  return std::tie( sType,
10529  pNext,
10530  memoryTypeBits,
10531  bufferCount,
10532  createInfoIndex,
10533  sysmemPixelFormat,
10534  formatFeatures,
10535  sysmemColorSpaceIndex,
10536  samplerYcbcrConversionComponents,
10537  suggestedYcbcrModel,
10538  suggestedYcbcrRange,
10539  suggestedXChromaOffset,
10540  suggestedYChromaOffset );
10541  }
10542 # endif
10543 
10544 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
10545  auto operator<=>( BufferCollectionPropertiesFUCHSIA const & ) const = default;
10546 # else
10547  bool operator==( BufferCollectionPropertiesFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
10548  {
10549 # if defined( VULKAN_HPP_USE_REFLECT )
10550  return this->reflect() == rhs.reflect();
10551 # else
10552  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memoryTypeBits == rhs.memoryTypeBits ) && ( bufferCount == rhs.bufferCount ) &&
10553  ( createInfoIndex == rhs.createInfoIndex ) && ( sysmemPixelFormat == rhs.sysmemPixelFormat ) && ( formatFeatures == rhs.formatFeatures ) &&
10554  ( sysmemColorSpaceIndex == rhs.sysmemColorSpaceIndex ) && ( samplerYcbcrConversionComponents == rhs.samplerYcbcrConversionComponents ) &&
10555  ( suggestedYcbcrModel == rhs.suggestedYcbcrModel ) && ( suggestedYcbcrRange == rhs.suggestedYcbcrRange ) &&
10556  ( suggestedXChromaOffset == rhs.suggestedXChromaOffset ) && ( suggestedYChromaOffset == rhs.suggestedYChromaOffset );
10557 # endif
10558  }
10559 
10560  bool operator!=( BufferCollectionPropertiesFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
10561  {
10562  return !operator==( rhs );
10563  }
10564 # endif
10565 
10566  public:
10567  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eBufferCollectionPropertiesFUCHSIA;
10568  void * pNext = {};
10569  uint32_t memoryTypeBits = {};
10570  uint32_t bufferCount = {};
10571  uint32_t createInfoIndex = {};
10572  uint64_t sysmemPixelFormat = {};
10573  VULKAN_HPP_NAMESPACE::FormatFeatureFlags formatFeatures = {};
10574  VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIA sysmemColorSpaceIndex = {};
10575  VULKAN_HPP_NAMESPACE::ComponentMapping samplerYcbcrConversionComponents = {};
10580  };
10581 
10582  template <>
10583  struct CppType<StructureType, StructureType::eBufferCollectionPropertiesFUCHSIA>
10584  {
10585  using Type = BufferCollectionPropertiesFUCHSIA;
10586  };
10587 #endif /*VK_USE_PLATFORM_FUCHSIA*/
10588 
10590  {
10592 
10593  static const bool allowDuplicate = false;
10595 
10596 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
10601  uint32_t queueFamilyIndexCount_ = {},
10602  const uint32_t * pQueueFamilyIndices_ = {},
10603  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
10604  : pNext( pNext_ )
10605  , flags( flags_ )
10606  , size( size_ )
10607  , usage( usage_ )
10608  , sharingMode( sharingMode_ )
10609  , queueFamilyIndexCount( queueFamilyIndexCount_ )
10610  , pQueueFamilyIndices( pQueueFamilyIndices_ )
10611  {
10612  }
10613 
10615 
10616  BufferCreateInfo( VkBufferCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : BufferCreateInfo( *reinterpret_cast<BufferCreateInfo const *>( &rhs ) ) {}
10617 
10618 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
10622  VULKAN_HPP_NAMESPACE::SharingMode sharingMode_,
10624  const void * pNext_ = nullptr )
10625  : pNext( pNext_ )
10626  , flags( flags_ )
10627  , size( size_ )
10628  , usage( usage_ )
10629  , sharingMode( sharingMode_ )
10630  , queueFamilyIndexCount( static_cast<uint32_t>( queueFamilyIndices_.size() ) )
10631  , pQueueFamilyIndices( queueFamilyIndices_.data() )
10632  {
10633  }
10634 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
10635 
10637 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
10638 
10640  {
10641  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferCreateInfo const *>( &rhs );
10642  return *this;
10643  }
10644 
10645 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
10647  {
10648  pNext = pNext_;
10649  return *this;
10650  }
10651 
10653  {
10654  flags = flags_;
10655  return *this;
10656  }
10657 
10659  {
10660  size = size_;
10661  return *this;
10662  }
10663 
10665  {
10666  usage = usage_;
10667  return *this;
10668  }
10669 
10671  {
10672  sharingMode = sharingMode_;
10673  return *this;
10674  }
10675 
10677  {
10678  queueFamilyIndexCount = queueFamilyIndexCount_;
10679  return *this;
10680  }
10681 
10683  {
10684  pQueueFamilyIndices = pQueueFamilyIndices_;
10685  return *this;
10686  }
10687 
10688 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
10690  {
10691  queueFamilyIndexCount = static_cast<uint32_t>( queueFamilyIndices_.size() );
10692  pQueueFamilyIndices = queueFamilyIndices_.data();
10693  return *this;
10694  }
10695 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
10696 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
10697 
10698  operator VkBufferCreateInfo const &() const VULKAN_HPP_NOEXCEPT
10699  {
10700  return *reinterpret_cast<const VkBufferCreateInfo *>( this );
10701  }
10702 
10704  {
10705  return *reinterpret_cast<VkBufferCreateInfo *>( this );
10706  }
10707 
10708 #if defined( VULKAN_HPP_USE_REFLECT )
10709 # if 14 <= VULKAN_HPP_CPP_VERSION
10710  auto
10711 # else
10712  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
10713  const void * const &,
10718  uint32_t const &,
10719  const uint32_t * const &>
10720 # endif
10721  reflect() const VULKAN_HPP_NOEXCEPT
10722  {
10724  }
10725 #endif
10726 
10727 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
10728  auto operator<=>( BufferCreateInfo const & ) const = default;
10729 #else
10731  {
10732 # if defined( VULKAN_HPP_USE_REFLECT )
10733  return this->reflect() == rhs.reflect();
10734 # else
10735  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( size == rhs.size ) && ( usage == rhs.usage ) &&
10736  ( sharingMode == rhs.sharingMode ) && ( queueFamilyIndexCount == rhs.queueFamilyIndexCount ) && ( pQueueFamilyIndices == rhs.pQueueFamilyIndices );
10737 # endif
10738  }
10739 
10741  {
10742  return !operator==( rhs );
10743  }
10744 #endif
10745 
10746  public:
10748  const void * pNext = {};
10753  uint32_t queueFamilyIndexCount = {};
10754  const uint32_t * pQueueFamilyIndices = {};
10755  };
10756 
10757  template <>
10759  {
10761  };
10762 
10763 #if defined( VK_USE_PLATFORM_FUCHSIA )
10764  struct BufferConstraintsInfoFUCHSIA
10765  {
10766  using NativeType = VkBufferConstraintsInfoFUCHSIA;
10767 
10768  static const bool allowDuplicate = false;
10769  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferConstraintsInfoFUCHSIA;
10770 
10771 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
10772  VULKAN_HPP_CONSTEXPR BufferConstraintsInfoFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCreateInfo createInfo_ = {},
10773  VULKAN_HPP_NAMESPACE::FormatFeatureFlags requiredFormatFeatures_ = {},
10774  VULKAN_HPP_NAMESPACE::BufferCollectionConstraintsInfoFUCHSIA bufferCollectionConstraints_ = {},
10775  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
10776  : pNext( pNext_ )
10777  , createInfo( createInfo_ )
10778  , requiredFormatFeatures( requiredFormatFeatures_ )
10779  , bufferCollectionConstraints( bufferCollectionConstraints_ )
10780  {
10781  }
10782 
10783  VULKAN_HPP_CONSTEXPR BufferConstraintsInfoFUCHSIA( BufferConstraintsInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
10784 
10785  BufferConstraintsInfoFUCHSIA( VkBufferConstraintsInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
10786  : BufferConstraintsInfoFUCHSIA( *reinterpret_cast<BufferConstraintsInfoFUCHSIA const *>( &rhs ) )
10787  {
10788  }
10789 
10790  BufferConstraintsInfoFUCHSIA & operator=( BufferConstraintsInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
10791 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
10792 
10793  BufferConstraintsInfoFUCHSIA & operator=( VkBufferConstraintsInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
10794  {
10795  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferConstraintsInfoFUCHSIA const *>( &rhs );
10796  return *this;
10797  }
10798 
10799 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
10800  VULKAN_HPP_CONSTEXPR_14 BufferConstraintsInfoFUCHSIA & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
10801  {
10802  pNext = pNext_;
10803  return *this;
10804  }
10805 
10806  VULKAN_HPP_CONSTEXPR_14 BufferConstraintsInfoFUCHSIA & setCreateInfo( VULKAN_HPP_NAMESPACE::BufferCreateInfo const & createInfo_ ) VULKAN_HPP_NOEXCEPT
10807  {
10808  createInfo = createInfo_;
10809  return *this;
10810  }
10811 
10812  VULKAN_HPP_CONSTEXPR_14 BufferConstraintsInfoFUCHSIA &
10813  setRequiredFormatFeatures( VULKAN_HPP_NAMESPACE::FormatFeatureFlags requiredFormatFeatures_ ) VULKAN_HPP_NOEXCEPT
10814  {
10815  requiredFormatFeatures = requiredFormatFeatures_;
10816  return *this;
10817  }
10818 
10819  VULKAN_HPP_CONSTEXPR_14 BufferConstraintsInfoFUCHSIA &
10820  setBufferCollectionConstraints( VULKAN_HPP_NAMESPACE::BufferCollectionConstraintsInfoFUCHSIA const & bufferCollectionConstraints_ ) VULKAN_HPP_NOEXCEPT
10821  {
10822  bufferCollectionConstraints = bufferCollectionConstraints_;
10823  return *this;
10824  }
10825 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
10826 
10827  operator VkBufferConstraintsInfoFUCHSIA const &() const VULKAN_HPP_NOEXCEPT
10828  {
10829  return *reinterpret_cast<const VkBufferConstraintsInfoFUCHSIA *>( this );
10830  }
10831 
10833  {
10834  return *reinterpret_cast<VkBufferConstraintsInfoFUCHSIA *>( this );
10835  }
10836 
10837 # if defined( VULKAN_HPP_USE_REFLECT )
10838 # if 14 <= VULKAN_HPP_CPP_VERSION
10839  auto
10840 # else
10841  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
10842  const void * const &,
10845  VULKAN_HPP_NAMESPACE::BufferCollectionConstraintsInfoFUCHSIA const &>
10846 # endif
10847  reflect() const VULKAN_HPP_NOEXCEPT
10848  {
10849  return std::tie( sType, pNext, createInfo, requiredFormatFeatures, bufferCollectionConstraints );
10850  }
10851 # endif
10852 
10853 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
10854  auto operator<=>( BufferConstraintsInfoFUCHSIA const & ) const = default;
10855 # else
10856  bool operator==( BufferConstraintsInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
10857  {
10858 # if defined( VULKAN_HPP_USE_REFLECT )
10859  return this->reflect() == rhs.reflect();
10860 # else
10861  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( createInfo == rhs.createInfo ) && ( requiredFormatFeatures == rhs.requiredFormatFeatures ) &&
10862  ( bufferCollectionConstraints == rhs.bufferCollectionConstraints );
10863 # endif
10864  }
10865 
10866  bool operator!=( BufferConstraintsInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
10867  {
10868  return !operator==( rhs );
10869  }
10870 # endif
10871 
10872  public:
10873  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eBufferConstraintsInfoFUCHSIA;
10874  const void * pNext = {};
10876  VULKAN_HPP_NAMESPACE::FormatFeatureFlags requiredFormatFeatures = {};
10877  VULKAN_HPP_NAMESPACE::BufferCollectionConstraintsInfoFUCHSIA bufferCollectionConstraints = {};
10878  };
10879 
10880  template <>
10881  struct CppType<StructureType, StructureType::eBufferConstraintsInfoFUCHSIA>
10882  {
10883  using Type = BufferConstraintsInfoFUCHSIA;
10884  };
10885 #endif /*VK_USE_PLATFORM_FUCHSIA*/
10886 
10887  struct BufferCopy
10888  {
10890 
10891 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
10893  VULKAN_HPP_NAMESPACE::DeviceSize dstOffset_ = {},
10895  : srcOffset( srcOffset_ )
10896  , dstOffset( dstOffset_ )
10897  , size( size_ )
10898  {
10899  }
10900 
10902 
10903  BufferCopy( VkBufferCopy const & rhs ) VULKAN_HPP_NOEXCEPT : BufferCopy( *reinterpret_cast<BufferCopy const *>( &rhs ) ) {}
10904 
10905  BufferCopy & operator=( BufferCopy const & rhs ) VULKAN_HPP_NOEXCEPT = default;
10906 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
10907 
10909  {
10910  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferCopy const *>( &rhs );
10911  return *this;
10912  }
10913 
10914 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
10916  {
10917  srcOffset = srcOffset_;
10918  return *this;
10919  }
10920 
10922  {
10923  dstOffset = dstOffset_;
10924  return *this;
10925  }
10926 
10928  {
10929  size = size_;
10930  return *this;
10931  }
10932 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
10933 
10934  operator VkBufferCopy const &() const VULKAN_HPP_NOEXCEPT
10935  {
10936  return *reinterpret_cast<const VkBufferCopy *>( this );
10937  }
10938 
10940  {
10941  return *reinterpret_cast<VkBufferCopy *>( this );
10942  }
10943 
10944 #if defined( VULKAN_HPP_USE_REFLECT )
10945 # if 14 <= VULKAN_HPP_CPP_VERSION
10946  auto
10947 # else
10948  std::tuple<VULKAN_HPP_NAMESPACE::DeviceSize const &, VULKAN_HPP_NAMESPACE::DeviceSize const &, VULKAN_HPP_NAMESPACE::DeviceSize const &>
10949 # endif
10950  reflect() const VULKAN_HPP_NOEXCEPT
10951  {
10952  return std::tie( srcOffset, dstOffset, size );
10953  }
10954 #endif
10955 
10956 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
10957  auto operator<=>( BufferCopy const & ) const = default;
10958 #else
10959  bool operator==( BufferCopy const & rhs ) const VULKAN_HPP_NOEXCEPT
10960  {
10961 # if defined( VULKAN_HPP_USE_REFLECT )
10962  return this->reflect() == rhs.reflect();
10963 # else
10964  return ( srcOffset == rhs.srcOffset ) && ( dstOffset == rhs.dstOffset ) && ( size == rhs.size );
10965 # endif
10966  }
10967 
10968  bool operator!=( BufferCopy const & rhs ) const VULKAN_HPP_NOEXCEPT
10969  {
10970  return !operator==( rhs );
10971  }
10972 #endif
10973 
10974  public:
10978  };
10979 
10981  {
10983 
10984  static const bool allowDuplicate = false;
10986 
10987 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
10989  VULKAN_HPP_NAMESPACE::DeviceSize dstOffset_ = {},
10991  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
10992  : pNext( pNext_ )
10993  , srcOffset( srcOffset_ )
10994  , dstOffset( dstOffset_ )
10995  , size( size_ )
10996  {
10997  }
10998 
11000 
11001  BufferCopy2( VkBufferCopy2 const & rhs ) VULKAN_HPP_NOEXCEPT : BufferCopy2( *reinterpret_cast<BufferCopy2 const *>( &rhs ) ) {}
11002 
11003  BufferCopy2 & operator=( BufferCopy2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
11004 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
11005 
11007  {
11008  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferCopy2 const *>( &rhs );
11009  return *this;
11010  }
11011 
11012 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
11014  {
11015  pNext = pNext_;
11016  return *this;
11017  }
11018 
11020  {
11021  srcOffset = srcOffset_;
11022  return *this;
11023  }
11024 
11026  {
11027  dstOffset = dstOffset_;
11028  return *this;
11029  }
11030 
11032  {
11033  size = size_;
11034  return *this;
11035  }
11036 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
11037 
11038  operator VkBufferCopy2 const &() const VULKAN_HPP_NOEXCEPT
11039  {
11040  return *reinterpret_cast<const VkBufferCopy2 *>( this );
11041  }
11042 
11044  {
11045  return *reinterpret_cast<VkBufferCopy2 *>( this );
11046  }
11047 
11048 #if defined( VULKAN_HPP_USE_REFLECT )
11049 # if 14 <= VULKAN_HPP_CPP_VERSION
11050  auto
11051 # else
11052  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
11053  const void * const &,
11057 # endif
11058  reflect() const VULKAN_HPP_NOEXCEPT
11059  {
11060  return std::tie( sType, pNext, srcOffset, dstOffset, size );
11061  }
11062 #endif
11063 
11064 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
11065  auto operator<=>( BufferCopy2 const & ) const = default;
11066 #else
11067  bool operator==( BufferCopy2 const & rhs ) const VULKAN_HPP_NOEXCEPT
11068  {
11069 # if defined( VULKAN_HPP_USE_REFLECT )
11070  return this->reflect() == rhs.reflect();
11071 # else
11072  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( srcOffset == rhs.srcOffset ) && ( dstOffset == rhs.dstOffset ) && ( size == rhs.size );
11073 # endif
11074  }
11075 
11076  bool operator!=( BufferCopy2 const & rhs ) const VULKAN_HPP_NOEXCEPT
11077  {
11078  return !operator==( rhs );
11079  }
11080 #endif
11081 
11082  public:
11084  const void * pNext = {};
11088  };
11089 
11090  template <>
11092  {
11094  };
11095  using BufferCopy2KHR = BufferCopy2;
11096 
11098  {
11100 
11101  static const bool allowDuplicate = false;
11103 
11104 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
11106  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
11107  : pNext( pNext_ )
11108  , deviceAddress( deviceAddress_ )
11109  {
11110  }
11111 
11113 
11115  : BufferDeviceAddressCreateInfoEXT( *reinterpret_cast<BufferDeviceAddressCreateInfoEXT const *>( &rhs ) )
11116  {
11117  }
11118 
11120 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
11121 
11123  {
11124  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferDeviceAddressCreateInfoEXT const *>( &rhs );
11125  return *this;
11126  }
11127 
11128 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
11130  {
11131  pNext = pNext_;
11132  return *this;
11133  }
11134 
11136  {
11137  deviceAddress = deviceAddress_;
11138  return *this;
11139  }
11140 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
11141 
11143  {
11144  return *reinterpret_cast<const VkBufferDeviceAddressCreateInfoEXT *>( this );
11145  }
11146 
11148  {
11149  return *reinterpret_cast<VkBufferDeviceAddressCreateInfoEXT *>( this );
11150  }
11151 
11152 #if defined( VULKAN_HPP_USE_REFLECT )
11153 # if 14 <= VULKAN_HPP_CPP_VERSION
11154  auto
11155 # else
11156  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::DeviceAddress const &>
11157 # endif
11158  reflect() const VULKAN_HPP_NOEXCEPT
11159  {
11160  return std::tie( sType, pNext, deviceAddress );
11161  }
11162 #endif
11163 
11164 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
11165  auto operator<=>( BufferDeviceAddressCreateInfoEXT const & ) const = default;
11166 #else
11168  {
11169 # if defined( VULKAN_HPP_USE_REFLECT )
11170  return this->reflect() == rhs.reflect();
11171 # else
11172  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( deviceAddress == rhs.deviceAddress );
11173 # endif
11174  }
11175 
11177  {
11178  return !operator==( rhs );
11179  }
11180 #endif
11181 
11182  public:
11184  const void * pNext = {};
11186  };
11187 
11188  template <>
11190  {
11192  };
11193 
11195  {
11197 
11198  static const bool allowDuplicate = false;
11200 
11201 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
11203  : pNext( pNext_ )
11204  , buffer( buffer_ )
11205  {
11206  }
11207 
11209 
11211  : BufferDeviceAddressInfo( *reinterpret_cast<BufferDeviceAddressInfo const *>( &rhs ) )
11212  {
11213  }
11214 
11216 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
11217 
11219  {
11220  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo const *>( &rhs );
11221  return *this;
11222  }
11223 
11224 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
11226  {
11227  pNext = pNext_;
11228  return *this;
11229  }
11230 
11232  {
11233  buffer = buffer_;
11234  return *this;
11235  }
11236 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
11237 
11239  {
11240  return *reinterpret_cast<const VkBufferDeviceAddressInfo *>( this );
11241  }
11242 
11244  {
11245  return *reinterpret_cast<VkBufferDeviceAddressInfo *>( this );
11246  }
11247 
11248 #if defined( VULKAN_HPP_USE_REFLECT )
11249 # if 14 <= VULKAN_HPP_CPP_VERSION
11250  auto
11251 # else
11252  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::Buffer const &>
11253 # endif
11254  reflect() const VULKAN_HPP_NOEXCEPT
11255  {
11256  return std::tie( sType, pNext, buffer );
11257  }
11258 #endif
11259 
11260 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
11261  auto operator<=>( BufferDeviceAddressInfo const & ) const = default;
11262 #else
11264  {
11265 # if defined( VULKAN_HPP_USE_REFLECT )
11266  return this->reflect() == rhs.reflect();
11267 # else
11268  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( buffer == rhs.buffer );
11269 # endif
11270  }
11271 
11273  {
11274  return !operator==( rhs );
11275  }
11276 #endif
11277 
11278  public:
11280  const void * pNext = {};
11282  };
11283 
11284  template <>
11286  {
11288  };
11291 
11293  {
11295 
11296 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
11298  uint32_t bufferRowLength_ = {},
11299  uint32_t bufferImageHeight_ = {},
11300  VULKAN_HPP_NAMESPACE::ImageSubresourceLayers imageSubresource_ = {},
11301  VULKAN_HPP_NAMESPACE::Offset3D imageOffset_ = {},
11303  : bufferOffset( bufferOffset_ )
11304  , bufferRowLength( bufferRowLength_ )
11305  , bufferImageHeight( bufferImageHeight_ )
11306  , imageSubresource( imageSubresource_ )
11307  , imageOffset( imageOffset_ )
11308  , imageExtent( imageExtent_ )
11309  {
11310  }
11311 
11313 
11314  BufferImageCopy( VkBufferImageCopy const & rhs ) VULKAN_HPP_NOEXCEPT : BufferImageCopy( *reinterpret_cast<BufferImageCopy const *>( &rhs ) ) {}
11315 
11316  BufferImageCopy & operator=( BufferImageCopy const & rhs ) VULKAN_HPP_NOEXCEPT = default;
11317 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
11318 
11320  {
11321  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferImageCopy const *>( &rhs );
11322  return *this;
11323  }
11324 
11325 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
11327  {
11328  bufferOffset = bufferOffset_;
11329  return *this;
11330  }
11331 
11333  {
11334  bufferRowLength = bufferRowLength_;
11335  return *this;
11336  }
11337 
11339  {
11340  bufferImageHeight = bufferImageHeight_;
11341  return *this;
11342  }
11343 
11345  {
11346  imageSubresource = imageSubresource_;
11347  return *this;
11348  }
11349 
11351  {
11352  imageOffset = imageOffset_;
11353  return *this;
11354  }
11355 
11357  {
11358  imageExtent = imageExtent_;
11359  return *this;
11360  }
11361 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
11362 
11363  operator VkBufferImageCopy const &() const VULKAN_HPP_NOEXCEPT
11364  {
11365  return *reinterpret_cast<const VkBufferImageCopy *>( this );
11366  }
11367 
11369  {
11370  return *reinterpret_cast<VkBufferImageCopy *>( this );
11371  }
11372 
11373 #if defined( VULKAN_HPP_USE_REFLECT )
11374 # if 14 <= VULKAN_HPP_CPP_VERSION
11375  auto
11376 # else
11377  std::tuple<VULKAN_HPP_NAMESPACE::DeviceSize const &,
11378  uint32_t const &,
11379  uint32_t const &,
11383 # endif
11384  reflect() const VULKAN_HPP_NOEXCEPT
11385  {
11387  }
11388 #endif
11389 
11390 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
11391  auto operator<=>( BufferImageCopy const & ) const = default;
11392 #else
11394  {
11395 # if defined( VULKAN_HPP_USE_REFLECT )
11396  return this->reflect() == rhs.reflect();
11397 # else
11398  return ( bufferOffset == rhs.bufferOffset ) && ( bufferRowLength == rhs.bufferRowLength ) && ( bufferImageHeight == rhs.bufferImageHeight ) &&
11399  ( imageSubresource == rhs.imageSubresource ) && ( imageOffset == rhs.imageOffset ) && ( imageExtent == rhs.imageExtent );
11400 # endif
11401  }
11402 
11404  {
11405  return !operator==( rhs );
11406  }
11407 #endif
11408 
11409  public:
11411  uint32_t bufferRowLength = {};
11412  uint32_t bufferImageHeight = {};
11416  };
11417 
11419  {
11421 
11422  static const bool allowDuplicate = false;
11424 
11425 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
11427  uint32_t bufferRowLength_ = {},
11428  uint32_t bufferImageHeight_ = {},
11429  VULKAN_HPP_NAMESPACE::ImageSubresourceLayers imageSubresource_ = {},
11430  VULKAN_HPP_NAMESPACE::Offset3D imageOffset_ = {},
11431  VULKAN_HPP_NAMESPACE::Extent3D imageExtent_ = {},
11432  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
11433  : pNext( pNext_ )
11434  , bufferOffset( bufferOffset_ )
11435  , bufferRowLength( bufferRowLength_ )
11436  , bufferImageHeight( bufferImageHeight_ )
11437  , imageSubresource( imageSubresource_ )
11438  , imageOffset( imageOffset_ )
11439  , imageExtent( imageExtent_ )
11440  {
11441  }
11442 
11444 
11445  BufferImageCopy2( VkBufferImageCopy2 const & rhs ) VULKAN_HPP_NOEXCEPT : BufferImageCopy2( *reinterpret_cast<BufferImageCopy2 const *>( &rhs ) ) {}
11446 
11448 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
11449 
11451  {
11452  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferImageCopy2 const *>( &rhs );
11453  return *this;
11454  }
11455 
11456 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
11458  {
11459  pNext = pNext_;
11460  return *this;
11461  }
11462 
11464  {
11465  bufferOffset = bufferOffset_;
11466  return *this;
11467  }
11468 
11470  {
11471  bufferRowLength = bufferRowLength_;
11472  return *this;
11473  }
11474 
11476  {
11477  bufferImageHeight = bufferImageHeight_;
11478  return *this;
11479  }
11480 
11482  {
11483  imageSubresource = imageSubresource_;
11484  return *this;
11485  }
11486 
11488  {
11489  imageOffset = imageOffset_;
11490  return *this;
11491  }
11492 
11494  {
11495  imageExtent = imageExtent_;
11496  return *this;
11497  }
11498 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
11499 
11500  operator VkBufferImageCopy2 const &() const VULKAN_HPP_NOEXCEPT
11501  {
11502  return *reinterpret_cast<const VkBufferImageCopy2 *>( this );
11503  }
11504 
11506  {
11507  return *reinterpret_cast<VkBufferImageCopy2 *>( this );
11508  }
11509 
11510 #if defined( VULKAN_HPP_USE_REFLECT )
11511 # if 14 <= VULKAN_HPP_CPP_VERSION
11512  auto
11513 # else
11514  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
11515  const void * const &,
11517  uint32_t const &,
11518  uint32_t const &,
11522 # endif
11523  reflect() const VULKAN_HPP_NOEXCEPT
11524  {
11526  }
11527 #endif
11528 
11529 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
11530  auto operator<=>( BufferImageCopy2 const & ) const = default;
11531 #else
11533  {
11534 # if defined( VULKAN_HPP_USE_REFLECT )
11535  return this->reflect() == rhs.reflect();
11536 # else
11537  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( bufferOffset == rhs.bufferOffset ) && ( bufferRowLength == rhs.bufferRowLength ) &&
11538  ( bufferImageHeight == rhs.bufferImageHeight ) && ( imageSubresource == rhs.imageSubresource ) && ( imageOffset == rhs.imageOffset ) &&
11539  ( imageExtent == rhs.imageExtent );
11540 # endif
11541  }
11542 
11544  {
11545  return !operator==( rhs );
11546  }
11547 #endif
11548 
11549  public:
11551  const void * pNext = {};
11553  uint32_t bufferRowLength = {};
11554  uint32_t bufferImageHeight = {};
11558  };
11559 
11560  template <>
11562  {
11564  };
11566 
11568  {
11570 
11571  static const bool allowDuplicate = false;
11573 
11574 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
11576  VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_ = {},
11577  uint32_t srcQueueFamilyIndex_ = {},
11578  uint32_t dstQueueFamilyIndex_ = {},
11579  VULKAN_HPP_NAMESPACE::Buffer buffer_ = {},
11580  VULKAN_HPP_NAMESPACE::DeviceSize offset_ = {},
11582  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
11583  : pNext( pNext_ )
11584  , srcAccessMask( srcAccessMask_ )
11585  , dstAccessMask( dstAccessMask_ )
11586  , srcQueueFamilyIndex( srcQueueFamilyIndex_ )
11587  , dstQueueFamilyIndex( dstQueueFamilyIndex_ )
11588  , buffer( buffer_ )
11589  , offset( offset_ )
11590  , size( size_ )
11591  {
11592  }
11593 
11595 
11596  BufferMemoryBarrier( VkBufferMemoryBarrier const & rhs ) VULKAN_HPP_NOEXCEPT : BufferMemoryBarrier( *reinterpret_cast<BufferMemoryBarrier const *>( &rhs ) )
11597  {
11598  }
11599 
11601 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
11602 
11604  {
11605  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferMemoryBarrier const *>( &rhs );
11606  return *this;
11607  }
11608 
11609 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
11611  {
11612  pNext = pNext_;
11613  return *this;
11614  }
11615 
11617  {
11618  srcAccessMask = srcAccessMask_;
11619  return *this;
11620  }
11621 
11623  {
11624  dstAccessMask = dstAccessMask_;
11625  return *this;
11626  }
11627 
11629  {
11630  srcQueueFamilyIndex = srcQueueFamilyIndex_;
11631  return *this;
11632  }
11633 
11635  {
11636  dstQueueFamilyIndex = dstQueueFamilyIndex_;
11637  return *this;
11638  }
11639 
11641  {
11642  buffer = buffer_;
11643  return *this;
11644  }
11645 
11647  {
11648  offset = offset_;
11649  return *this;
11650  }
11651 
11653  {
11654  size = size_;
11655  return *this;
11656  }
11657 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
11658 
11660  {
11661  return *reinterpret_cast<const VkBufferMemoryBarrier *>( this );
11662  }
11663 
11665  {
11666  return *reinterpret_cast<VkBufferMemoryBarrier *>( this );
11667  }
11668 
11669 #if defined( VULKAN_HPP_USE_REFLECT )
11670 # if 14 <= VULKAN_HPP_CPP_VERSION
11671  auto
11672 # else
11673  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
11674  const void * const &,
11677  uint32_t const &,
11678  uint32_t const &,
11682 # endif
11683  reflect() const VULKAN_HPP_NOEXCEPT
11684  {
11686  }
11687 #endif
11688 
11689 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
11690  auto operator<=>( BufferMemoryBarrier const & ) const = default;
11691 #else
11693  {
11694 # if defined( VULKAN_HPP_USE_REFLECT )
11695  return this->reflect() == rhs.reflect();
11696 # else
11697  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( srcAccessMask == rhs.srcAccessMask ) && ( dstAccessMask == rhs.dstAccessMask ) &&
11698  ( srcQueueFamilyIndex == rhs.srcQueueFamilyIndex ) && ( dstQueueFamilyIndex == rhs.dstQueueFamilyIndex ) && ( buffer == rhs.buffer ) &&
11699  ( offset == rhs.offset ) && ( size == rhs.size );
11700 # endif
11701  }
11702 
11704  {
11705  return !operator==( rhs );
11706  }
11707 #endif
11708 
11709  public:
11711  const void * pNext = {};
11714  uint32_t srcQueueFamilyIndex = {};
11715  uint32_t dstQueueFamilyIndex = {};
11719  };
11720 
11721  template <>
11723  {
11725  };
11726 
11728  {
11730 
11731  static const bool allowDuplicate = false;
11733 
11734 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
11736  VULKAN_HPP_NAMESPACE::AccessFlags2 srcAccessMask_ = {},
11737  VULKAN_HPP_NAMESPACE::PipelineStageFlags2 dstStageMask_ = {},
11738  VULKAN_HPP_NAMESPACE::AccessFlags2 dstAccessMask_ = {},
11739  uint32_t srcQueueFamilyIndex_ = {},
11740  uint32_t dstQueueFamilyIndex_ = {},
11741  VULKAN_HPP_NAMESPACE::Buffer buffer_ = {},
11742  VULKAN_HPP_NAMESPACE::DeviceSize offset_ = {},
11744  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
11745  : pNext( pNext_ )
11746  , srcStageMask( srcStageMask_ )
11747  , srcAccessMask( srcAccessMask_ )
11748  , dstStageMask( dstStageMask_ )
11749  , dstAccessMask( dstAccessMask_ )
11750  , srcQueueFamilyIndex( srcQueueFamilyIndex_ )
11751  , dstQueueFamilyIndex( dstQueueFamilyIndex_ )
11752  , buffer( buffer_ )
11753  , offset( offset_ )
11754  , size( size_ )
11755  {
11756  }
11757 
11759 
11761  : BufferMemoryBarrier2( *reinterpret_cast<BufferMemoryBarrier2 const *>( &rhs ) )
11762  {
11763  }
11764 
11766 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
11767 
11769  {
11770  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferMemoryBarrier2 const *>( &rhs );
11771  return *this;
11772  }
11773 
11774 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
11776  {
11777  pNext = pNext_;
11778  return *this;
11779  }
11780 
11782  {
11783  srcStageMask = srcStageMask_;
11784  return *this;
11785  }
11786 
11788  {
11789  srcAccessMask = srcAccessMask_;
11790  return *this;
11791  }
11792 
11794  {
11795  dstStageMask = dstStageMask_;
11796  return *this;
11797  }
11798 
11800  {
11801  dstAccessMask = dstAccessMask_;
11802  return *this;
11803  }
11804 
11806  {
11807  srcQueueFamilyIndex = srcQueueFamilyIndex_;
11808  return *this;
11809  }
11810 
11812  {
11813  dstQueueFamilyIndex = dstQueueFamilyIndex_;
11814  return *this;
11815  }
11816 
11818  {
11819  buffer = buffer_;
11820  return *this;
11821  }
11822 
11824  {
11825  offset = offset_;
11826  return *this;
11827  }
11828 
11830  {
11831  size = size_;
11832  return *this;
11833  }
11834 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
11835 
11837  {
11838  return *reinterpret_cast<const VkBufferMemoryBarrier2 *>( this );
11839  }
11840 
11842  {
11843  return *reinterpret_cast<VkBufferMemoryBarrier2 *>( this );
11844  }
11845 
11846 #if defined( VULKAN_HPP_USE_REFLECT )
11847 # if 14 <= VULKAN_HPP_CPP_VERSION
11848  auto
11849 # else
11850  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
11851  const void * const &,
11856  uint32_t const &,
11857  uint32_t const &,
11861 # endif
11862  reflect() const VULKAN_HPP_NOEXCEPT
11863  {
11865  }
11866 #endif
11867 
11868 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
11869  auto operator<=>( BufferMemoryBarrier2 const & ) const = default;
11870 #else
11872  {
11873 # if defined( VULKAN_HPP_USE_REFLECT )
11874  return this->reflect() == rhs.reflect();
11875 # else
11876  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( srcStageMask == rhs.srcStageMask ) && ( srcAccessMask == rhs.srcAccessMask ) &&
11877  ( dstStageMask == rhs.dstStageMask ) && ( dstAccessMask == rhs.dstAccessMask ) && ( srcQueueFamilyIndex == rhs.srcQueueFamilyIndex ) &&
11878  ( dstQueueFamilyIndex == rhs.dstQueueFamilyIndex ) && ( buffer == rhs.buffer ) && ( offset == rhs.offset ) && ( size == rhs.size );
11879 # endif
11880  }
11881 
11883  {
11884  return !operator==( rhs );
11885  }
11886 #endif
11887 
11888  public:
11890  const void * pNext = {};
11895  uint32_t srcQueueFamilyIndex = {};
11896  uint32_t dstQueueFamilyIndex = {};
11900  };
11901 
11902  template <>
11904  {
11906  };
11908 
11910  {
11912 
11913  static const bool allowDuplicate = false;
11915 
11916 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
11918  : pNext( pNext_ )
11919  , buffer( buffer_ )
11920  {
11921  }
11922 
11924 
11926  : BufferMemoryRequirementsInfo2( *reinterpret_cast<BufferMemoryRequirementsInfo2 const *>( &rhs ) )
11927  {
11928  }
11929 
11931 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
11932 
11934  {
11935  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 const *>( &rhs );
11936  return *this;
11937  }
11938 
11939 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
11941  {
11942  pNext = pNext_;
11943  return *this;
11944  }
11945 
11947  {
11948  buffer = buffer_;
11949  return *this;
11950  }
11951 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
11952 
11954  {
11955  return *reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>( this );
11956  }
11957 
11959  {
11960  return *reinterpret_cast<VkBufferMemoryRequirementsInfo2 *>( this );
11961  }
11962 
11963 #if defined( VULKAN_HPP_USE_REFLECT )
11964 # if 14 <= VULKAN_HPP_CPP_VERSION
11965  auto
11966 # else
11967  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::Buffer const &>
11968 # endif
11969  reflect() const VULKAN_HPP_NOEXCEPT
11970  {
11971  return std::tie( sType, pNext, buffer );
11972  }
11973 #endif
11974 
11975 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
11976  auto operator<=>( BufferMemoryRequirementsInfo2 const & ) const = default;
11977 #else
11979  {
11980 # if defined( VULKAN_HPP_USE_REFLECT )
11981  return this->reflect() == rhs.reflect();
11982 # else
11983  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( buffer == rhs.buffer );
11984 # endif
11985  }
11986 
11988  {
11989  return !operator==( rhs );
11990  }
11991 #endif
11992 
11993  public:
11995  const void * pNext = {};
11997  };
11998 
11999  template <>
12001  {
12003  };
12005 
12007  {
12009 
12010  static const bool allowDuplicate = false;
12012 
12013 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
12014  VULKAN_HPP_CONSTEXPR BufferOpaqueCaptureAddressCreateInfo( uint64_t opaqueCaptureAddress_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
12015  : pNext( pNext_ )
12016  , opaqueCaptureAddress( opaqueCaptureAddress_ )
12017  {
12018  }
12019 
12021 
12023  : BufferOpaqueCaptureAddressCreateInfo( *reinterpret_cast<BufferOpaqueCaptureAddressCreateInfo const *>( &rhs ) )
12024  {
12025  }
12026 
12028 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
12029 
12031  {
12032  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferOpaqueCaptureAddressCreateInfo const *>( &rhs );
12033  return *this;
12034  }
12035 
12036 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
12038  {
12039  pNext = pNext_;
12040  return *this;
12041  }
12042 
12044  {
12045  opaqueCaptureAddress = opaqueCaptureAddress_;
12046  return *this;
12047  }
12048 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
12049 
12051  {
12052  return *reinterpret_cast<const VkBufferOpaqueCaptureAddressCreateInfo *>( this );
12053  }
12054 
12056  {
12057  return *reinterpret_cast<VkBufferOpaqueCaptureAddressCreateInfo *>( this );
12058  }
12059 
12060 #if defined( VULKAN_HPP_USE_REFLECT )
12061 # if 14 <= VULKAN_HPP_CPP_VERSION
12062  auto
12063 # else
12064  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint64_t const &>
12065 # endif
12066  reflect() const VULKAN_HPP_NOEXCEPT
12067  {
12068  return std::tie( sType, pNext, opaqueCaptureAddress );
12069  }
12070 #endif
12071 
12072 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
12073  auto operator<=>( BufferOpaqueCaptureAddressCreateInfo const & ) const = default;
12074 #else
12076  {
12077 # if defined( VULKAN_HPP_USE_REFLECT )
12078  return this->reflect() == rhs.reflect();
12079 # else
12080  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( opaqueCaptureAddress == rhs.opaqueCaptureAddress );
12081 # endif
12082  }
12083 
12085  {
12086  return !operator==( rhs );
12087  }
12088 #endif
12089 
12090  public:
12092  const void * pNext = {};
12093  uint64_t opaqueCaptureAddress = {};
12094  };
12095 
12096  template <>
12098  {
12100  };
12102 
12104  {
12106 
12107  static const bool allowDuplicate = false;
12109 
12110 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
12112  VULKAN_HPP_NAMESPACE::Buffer buffer_ = {},
12114  VULKAN_HPP_NAMESPACE::DeviceSize offset_ = {},
12116  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
12117  : pNext( pNext_ )
12118  , flags( flags_ )
12119  , buffer( buffer_ )
12120  , format( format_ )
12121  , offset( offset_ )
12122  , range( range_ )
12123  {
12124  }
12125 
12127 
12129  : BufferViewCreateInfo( *reinterpret_cast<BufferViewCreateInfo const *>( &rhs ) )
12130  {
12131  }
12132 
12134 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
12135 
12137  {
12138  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferViewCreateInfo const *>( &rhs );
12139  return *this;
12140  }
12141 
12142 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
12144  {
12145  pNext = pNext_;
12146  return *this;
12147  }
12148 
12150  {
12151  flags = flags_;
12152  return *this;
12153  }
12154 
12156  {
12157  buffer = buffer_;
12158  return *this;
12159  }
12160 
12162  {
12163  format = format_;
12164  return *this;
12165  }
12166 
12168  {
12169  offset = offset_;
12170  return *this;
12171  }
12172 
12174  {
12175  range = range_;
12176  return *this;
12177  }
12178 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
12179 
12181  {
12182  return *reinterpret_cast<const VkBufferViewCreateInfo *>( this );
12183  }
12184 
12186  {
12187  return *reinterpret_cast<VkBufferViewCreateInfo *>( this );
12188  }
12189 
12190 #if defined( VULKAN_HPP_USE_REFLECT )
12191 # if 14 <= VULKAN_HPP_CPP_VERSION
12192  auto
12193 # else
12194  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
12195  const void * const &,
12201 # endif
12202  reflect() const VULKAN_HPP_NOEXCEPT
12203  {
12204  return std::tie( sType, pNext, flags, buffer, format, offset, range );
12205  }
12206 #endif
12207 
12208 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
12209  auto operator<=>( BufferViewCreateInfo const & ) const = default;
12210 #else
12212  {
12213 # if defined( VULKAN_HPP_USE_REFLECT )
12214  return this->reflect() == rhs.reflect();
12215 # else
12216  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( buffer == rhs.buffer ) && ( format == rhs.format ) &&
12217  ( offset == rhs.offset ) && ( range == rhs.range );
12218 # endif
12219  }
12220 
12222  {
12223  return !operator==( rhs );
12224  }
12225 #endif
12226 
12227  public:
12229  const void * pNext = {};
12235  };
12236 
12237  template <>
12239  {
12241  };
12242 
12244  {
12246 
12247  static const bool allowDuplicate = false;
12249 
12250 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
12252  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
12253  : pNext( pNext_ )
12254  , timeDomain( timeDomain_ )
12255  {
12256  }
12257 
12259 
12261  : CalibratedTimestampInfoEXT( *reinterpret_cast<CalibratedTimestampInfoEXT const *>( &rhs ) )
12262  {
12263  }
12264 
12266 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
12267 
12269  {
12270  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT const *>( &rhs );
12271  return *this;
12272  }
12273 
12274 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
12276  {
12277  pNext = pNext_;
12278  return *this;
12279  }
12280 
12282  {
12283  timeDomain = timeDomain_;
12284  return *this;
12285  }
12286 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
12287 
12289  {
12290  return *reinterpret_cast<const VkCalibratedTimestampInfoEXT *>( this );
12291  }
12292 
12294  {
12295  return *reinterpret_cast<VkCalibratedTimestampInfoEXT *>( this );
12296  }
12297 
12298 #if defined( VULKAN_HPP_USE_REFLECT )
12299 # if 14 <= VULKAN_HPP_CPP_VERSION
12300  auto
12301 # else
12302  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::TimeDomainEXT const &>
12303 # endif
12304  reflect() const VULKAN_HPP_NOEXCEPT
12305  {
12306  return std::tie( sType, pNext, timeDomain );
12307  }
12308 #endif
12309 
12310 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
12311  auto operator<=>( CalibratedTimestampInfoEXT const & ) const = default;
12312 #else
12314  {
12315 # if defined( VULKAN_HPP_USE_REFLECT )
12316  return this->reflect() == rhs.reflect();
12317 # else
12318  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( timeDomain == rhs.timeDomain );
12319 # endif
12320  }
12321 
12323  {
12324  return !operator==( rhs );
12325  }
12326 #endif
12327 
12328  public:
12330  const void * pNext = {};
12332  };
12333 
12334  template <>
12336  {
12338  };
12339 
12341  {
12343 
12344  static const bool allowDuplicate = false;
12346 
12347 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
12349  CheckpointData2NV( VULKAN_HPP_NAMESPACE::PipelineStageFlags2 stage_ = {}, void * pCheckpointMarker_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
12350  : pNext( pNext_ )
12351  , stage( stage_ )
12352  , pCheckpointMarker( pCheckpointMarker_ )
12353  {
12354  }
12355 
12357 
12358  CheckpointData2NV( VkCheckpointData2NV const & rhs ) VULKAN_HPP_NOEXCEPT : CheckpointData2NV( *reinterpret_cast<CheckpointData2NV const *>( &rhs ) ) {}
12359 
12361 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
12362 
12364  {
12365  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CheckpointData2NV const *>( &rhs );
12366  return *this;
12367  }
12368 
12369  operator VkCheckpointData2NV const &() const VULKAN_HPP_NOEXCEPT
12370  {
12371  return *reinterpret_cast<const VkCheckpointData2NV *>( this );
12372  }
12373 
12375  {
12376  return *reinterpret_cast<VkCheckpointData2NV *>( this );
12377  }
12378 
12379 #if defined( VULKAN_HPP_USE_REFLECT )
12380 # if 14 <= VULKAN_HPP_CPP_VERSION
12381  auto
12382 # else
12383  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::PipelineStageFlags2 const &, void * const &>
12384 # endif
12385  reflect() const VULKAN_HPP_NOEXCEPT
12386  {
12387  return std::tie( sType, pNext, stage, pCheckpointMarker );
12388  }
12389 #endif
12390 
12391 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
12392  auto operator<=>( CheckpointData2NV const & ) const = default;
12393 #else
12395  {
12396 # if defined( VULKAN_HPP_USE_REFLECT )
12397  return this->reflect() == rhs.reflect();
12398 # else
12399  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( stage == rhs.stage ) && ( pCheckpointMarker == rhs.pCheckpointMarker );
12400 # endif
12401  }
12402 
12404  {
12405  return !operator==( rhs );
12406  }
12407 #endif
12408 
12409  public:
12411  void * pNext = {};
12413  void * pCheckpointMarker = {};
12414  };
12415 
12416  template <>
12418  {
12420  };
12421 
12423  {
12425 
12426  static const bool allowDuplicate = false;
12428 
12429 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
12431  void * pCheckpointMarker_ = {},
12432  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
12433  : pNext( pNext_ )
12434  , stage( stage_ )
12435  , pCheckpointMarker( pCheckpointMarker_ )
12436  {
12437  }
12438 
12440 
12441  CheckpointDataNV( VkCheckpointDataNV const & rhs ) VULKAN_HPP_NOEXCEPT : CheckpointDataNV( *reinterpret_cast<CheckpointDataNV const *>( &rhs ) ) {}
12442 
12444 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
12445 
12447  {
12448  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CheckpointDataNV const *>( &rhs );
12449  return *this;
12450  }
12451 
12452  operator VkCheckpointDataNV const &() const VULKAN_HPP_NOEXCEPT
12453  {
12454  return *reinterpret_cast<const VkCheckpointDataNV *>( this );
12455  }
12456 
12458  {
12459  return *reinterpret_cast<VkCheckpointDataNV *>( this );
12460  }
12461 
12462 #if defined( VULKAN_HPP_USE_REFLECT )
12463 # if 14 <= VULKAN_HPP_CPP_VERSION
12464  auto
12465 # else
12466  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::PipelineStageFlagBits const &, void * const &>
12467 # endif
12468  reflect() const VULKAN_HPP_NOEXCEPT
12469  {
12470  return std::tie( sType, pNext, stage, pCheckpointMarker );
12471  }
12472 #endif
12473 
12474 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
12475  auto operator<=>( CheckpointDataNV const & ) const = default;
12476 #else
12478  {
12479 # if defined( VULKAN_HPP_USE_REFLECT )
12480  return this->reflect() == rhs.reflect();
12481 # else
12482  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( stage == rhs.stage ) && ( pCheckpointMarker == rhs.pCheckpointMarker );
12483 # endif
12484  }
12485 
12487  {
12488  return !operator==( rhs );
12489  }
12490 #endif
12491 
12492  public:
12494  void * pNext = {};
12496  void * pCheckpointMarker = {};
12497  };
12498 
12499  template <>
12501  {
12503  };
12504 
12506  {
12508 #if !defined( VULKAN_HPP_NO_UNION_CONSTRUCTORS )
12509 
12510  VULKAN_HPP_CONSTEXPR_14 ClearColorValue( const std::array<float, 4> & float32_ = {} ) : float32( float32_ ) {}
12511 
12512  VULKAN_HPP_CONSTEXPR ClearColorValue( float float32_0, float float32_1, float float32_2, float float32_3 )
12513  : float32( { float32_0, float32_1, float32_2, float32_3 } )
12514  {
12515  }
12516 
12517  VULKAN_HPP_CONSTEXPR_14 ClearColorValue( const std::array<int32_t, 4> & int32_ ) : int32( int32_ ) {}
12518 
12519  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 } )
12520  {
12521  }
12522 
12523  VULKAN_HPP_CONSTEXPR_14 ClearColorValue( const std::array<uint32_t, 4> & uint32_ ) : uint32( uint32_ ) {}
12524 
12525  VULKAN_HPP_CONSTEXPR ClearColorValue( uint32_t uint32_0, uint32_t uint32_1, uint32_t uint32_2, uint32_t uint32_3 )
12526  : uint32( { uint32_0, uint32_1, uint32_2, uint32_3 } )
12527  {
12528  }
12529 #endif /*VULKAN_HPP_NO_UNION_CONSTRUCTORS*/
12530 
12531 #if !defined( VULKAN_HPP_NO_UNION_SETTERS )
12532  VULKAN_HPP_CONSTEXPR_14 ClearColorValue & setFloat32( std::array<float, 4> float32_ ) VULKAN_HPP_NOEXCEPT
12533  {
12534  float32 = float32_;
12535  return *this;
12536  }
12537 
12538  VULKAN_HPP_CONSTEXPR_14 ClearColorValue & setInt32( std::array<int32_t, 4> int32_ ) VULKAN_HPP_NOEXCEPT
12539  {
12540  int32 = int32_;
12541  return *this;
12542  }
12543 
12544  VULKAN_HPP_CONSTEXPR_14 ClearColorValue & setUint32( std::array<uint32_t, 4> uint32_ ) VULKAN_HPP_NOEXCEPT
12545  {
12546  uint32 = uint32_;
12547  return *this;
12548  }
12549 #endif /*VULKAN_HPP_NO_UNION_SETTERS*/
12550 
12551  operator VkClearColorValue const &() const
12552  {
12553  return *reinterpret_cast<const VkClearColorValue *>( this );
12554  }
12555 
12556  operator VkClearColorValue &()
12557  {
12558  return *reinterpret_cast<VkClearColorValue *>( this );
12559  }
12560 
12564  };
12565 
12567  {
12569 
12570 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
12571  VULKAN_HPP_CONSTEXPR ClearDepthStencilValue( float depth_ = {}, uint32_t stencil_ = {} ) VULKAN_HPP_NOEXCEPT
12572  : depth( depth_ )
12573  , stencil( stencil_ )
12574  {
12575  }
12576 
12578 
12580  : ClearDepthStencilValue( *reinterpret_cast<ClearDepthStencilValue const *>( &rhs ) )
12581  {
12582  }
12583 
12585 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
12586 
12588  {
12589  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ClearDepthStencilValue const *>( &rhs );
12590  return *this;
12591  }
12592 
12593 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
12595  {
12596  depth = depth_;
12597  return *this;
12598  }
12599 
12601  {
12602  stencil = stencil_;
12603  return *this;
12604  }
12605 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
12606 
12608  {
12609  return *reinterpret_cast<const VkClearDepthStencilValue *>( this );
12610  }
12611 
12613  {
12614  return *reinterpret_cast<VkClearDepthStencilValue *>( this );
12615  }
12616 
12617 #if defined( VULKAN_HPP_USE_REFLECT )
12618 # if 14 <= VULKAN_HPP_CPP_VERSION
12619  auto
12620 # else
12621  std::tuple<float const &, uint32_t const &>
12622 # endif
12623  reflect() const VULKAN_HPP_NOEXCEPT
12624  {
12625  return std::tie( depth, stencil );
12626  }
12627 #endif
12628 
12629 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
12630  auto operator<=>( ClearDepthStencilValue const & ) const = default;
12631 #else
12633  {
12634 # if defined( VULKAN_HPP_USE_REFLECT )
12635  return this->reflect() == rhs.reflect();
12636 # else
12637  return ( depth == rhs.depth ) && ( stencil == rhs.stencil );
12638 # endif
12639  }
12640 
12642  {
12643  return !operator==( rhs );
12644  }
12645 #endif
12646 
12647  public:
12648  float depth = {};
12649  uint32_t stencil = {};
12650  };
12651 
12653  {
12655 #if !defined( VULKAN_HPP_NO_UNION_CONSTRUCTORS )
12656 
12658 
12660 #endif /*VULKAN_HPP_NO_UNION_CONSTRUCTORS*/
12661 
12662 #if !defined( VULKAN_HPP_NO_UNION_SETTERS )
12664  {
12665  color = color_;
12666  return *this;
12667  }
12668 
12670  {
12671  depthStencil = depthStencil_;
12672  return *this;
12673  }
12674 #endif /*VULKAN_HPP_NO_UNION_SETTERS*/
12675 
12676  operator VkClearValue const &() const
12677  {
12678  return *reinterpret_cast<const VkClearValue *>( this );
12679  }
12680 
12681  operator VkClearValue &()
12682  {
12683  return *reinterpret_cast<VkClearValue *>( this );
12684  }
12685 
12686 #ifdef VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
12689 #else
12692 #endif /*VULKAN_HPP_HAS_UNRESTRICTED_UNIONS*/
12693  };
12694 
12696  {
12698 
12699 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
12701  uint32_t colorAttachment_ = {},
12703  : aspectMask( aspectMask_ )
12704  , colorAttachment( colorAttachment_ )
12705  , clearValue( clearValue_ )
12706  {
12707  }
12708 
12710 
12711  ClearAttachment( VkClearAttachment const & rhs ) VULKAN_HPP_NOEXCEPT : ClearAttachment( *reinterpret_cast<ClearAttachment const *>( &rhs ) ) {}
12712 
12713  ClearAttachment & operator=( ClearAttachment const & rhs ) VULKAN_HPP_NOEXCEPT = default;
12714 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
12715 
12717  {
12718  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ClearAttachment const *>( &rhs );
12719  return *this;
12720  }
12721 
12722 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
12724  {
12725  aspectMask = aspectMask_;
12726  return *this;
12727  }
12728 
12730  {
12731  colorAttachment = colorAttachment_;
12732  return *this;
12733  }
12734 
12736  {
12737  clearValue = clearValue_;
12738  return *this;
12739  }
12740 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
12741 
12742  operator VkClearAttachment const &() const VULKAN_HPP_NOEXCEPT
12743  {
12744  return *reinterpret_cast<const VkClearAttachment *>( this );
12745  }
12746 
12748  {
12749  return *reinterpret_cast<VkClearAttachment *>( this );
12750  }
12751 
12752 #if defined( VULKAN_HPP_USE_REFLECT )
12753 # if 14 <= VULKAN_HPP_CPP_VERSION
12754  auto
12755 # else
12756  std::tuple<VULKAN_HPP_NAMESPACE::ImageAspectFlags const &, uint32_t const &, VULKAN_HPP_NAMESPACE::ClearValue const &>
12757 # endif
12758  reflect() const VULKAN_HPP_NOEXCEPT
12759  {
12760  return std::tie( aspectMask, colorAttachment, clearValue );
12761  }
12762 #endif
12763 
12764  public:
12766  uint32_t colorAttachment = {};
12768  };
12769 
12770  struct ClearRect
12771  {
12773 
12774 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
12775  VULKAN_HPP_CONSTEXPR ClearRect( VULKAN_HPP_NAMESPACE::Rect2D rect_ = {}, uint32_t baseArrayLayer_ = {}, uint32_t layerCount_ = {} ) VULKAN_HPP_NOEXCEPT
12776  : rect( rect_ )
12777  , baseArrayLayer( baseArrayLayer_ )
12778  , layerCount( layerCount_ )
12779  {
12780  }
12781 
12783 
12784  ClearRect( VkClearRect const & rhs ) VULKAN_HPP_NOEXCEPT : ClearRect( *reinterpret_cast<ClearRect const *>( &rhs ) ) {}
12785 
12786  ClearRect & operator=( ClearRect const & rhs ) VULKAN_HPP_NOEXCEPT = default;
12787 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
12788 
12790  {
12791  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ClearRect const *>( &rhs );
12792  return *this;
12793  }
12794 
12795 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
12797  {
12798  rect = rect_;
12799  return *this;
12800  }
12801 
12803  {
12804  baseArrayLayer = baseArrayLayer_;
12805  return *this;
12806  }
12807 
12809  {
12810  layerCount = layerCount_;
12811  return *this;
12812  }
12813 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
12814 
12815  operator VkClearRect const &() const VULKAN_HPP_NOEXCEPT
12816  {
12817  return *reinterpret_cast<const VkClearRect *>( this );
12818  }
12819 
12821  {
12822  return *reinterpret_cast<VkClearRect *>( this );
12823  }
12824 
12825 #if defined( VULKAN_HPP_USE_REFLECT )
12826 # if 14 <= VULKAN_HPP_CPP_VERSION
12827  auto
12828 # else
12829  std::tuple<VULKAN_HPP_NAMESPACE::Rect2D const &, uint32_t const &, uint32_t const &>
12830 # endif
12831  reflect() const VULKAN_HPP_NOEXCEPT
12832  {
12833  return std::tie( rect, baseArrayLayer, layerCount );
12834  }
12835 #endif
12836 
12837 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
12838  auto operator<=>( ClearRect const & ) const = default;
12839 #else
12840  bool operator==( ClearRect const & rhs ) const VULKAN_HPP_NOEXCEPT
12841  {
12842 # if defined( VULKAN_HPP_USE_REFLECT )
12843  return this->reflect() == rhs.reflect();
12844 # else
12845  return ( rect == rhs.rect ) && ( baseArrayLayer == rhs.baseArrayLayer ) && ( layerCount == rhs.layerCount );
12846 # endif
12847  }
12848 
12849  bool operator!=( ClearRect const & rhs ) const VULKAN_HPP_NOEXCEPT
12850  {
12851  return !operator==( rhs );
12852  }
12853 #endif
12854 
12855  public:
12857  uint32_t baseArrayLayer = {};
12858  uint32_t layerCount = {};
12859  };
12860 
12862  {
12864 
12865 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
12866  VULKAN_HPP_CONSTEXPR CoarseSampleLocationNV( uint32_t pixelX_ = {}, uint32_t pixelY_ = {}, uint32_t sample_ = {} ) VULKAN_HPP_NOEXCEPT
12867  : pixelX( pixelX_ )
12868  , pixelY( pixelY_ )
12869  , sample( sample_ )
12870  {
12871  }
12872 
12874 
12876  : CoarseSampleLocationNV( *reinterpret_cast<CoarseSampleLocationNV const *>( &rhs ) )
12877  {
12878  }
12879 
12881 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
12882 
12884  {
12885  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CoarseSampleLocationNV const *>( &rhs );
12886  return *this;
12887  }
12888 
12889 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
12891  {
12892  pixelX = pixelX_;
12893  return *this;
12894  }
12895 
12897  {
12898  pixelY = pixelY_;
12899  return *this;
12900  }
12901 
12903  {
12904  sample = sample_;
12905  return *this;
12906  }
12907 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
12908 
12910  {
12911  return *reinterpret_cast<const VkCoarseSampleLocationNV *>( this );
12912  }
12913 
12915  {
12916  return *reinterpret_cast<VkCoarseSampleLocationNV *>( this );
12917  }
12918 
12919 #if defined( VULKAN_HPP_USE_REFLECT )
12920 # if 14 <= VULKAN_HPP_CPP_VERSION
12921  auto
12922 # else
12923  std::tuple<uint32_t const &, uint32_t const &, uint32_t const &>
12924 # endif
12925  reflect() const VULKAN_HPP_NOEXCEPT
12926  {
12927  return std::tie( pixelX, pixelY, sample );
12928  }
12929 #endif
12930 
12931 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
12932  auto operator<=>( CoarseSampleLocationNV const & ) const = default;
12933 #else
12935  {
12936 # if defined( VULKAN_HPP_USE_REFLECT )
12937  return this->reflect() == rhs.reflect();
12938 # else
12939  return ( pixelX == rhs.pixelX ) && ( pixelY == rhs.pixelY ) && ( sample == rhs.sample );
12940 # endif
12941  }
12942 
12944  {
12945  return !operator==( rhs );
12946  }
12947 #endif
12948 
12949  public:
12950  uint32_t pixelX = {};
12951  uint32_t pixelY = {};
12952  uint32_t sample = {};
12953  };
12954 
12956  {
12958 
12959 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
12962  uint32_t sampleCount_ = {},
12963  uint32_t sampleLocationCount_ = {},
12964  const VULKAN_HPP_NAMESPACE::CoarseSampleLocationNV * pSampleLocations_ = {} ) VULKAN_HPP_NOEXCEPT
12965  : shadingRate( shadingRate_ )
12966  , sampleCount( sampleCount_ )
12967  , sampleLocationCount( sampleLocationCount_ )
12968  , pSampleLocations( pSampleLocations_ )
12969  {
12970  }
12971 
12973 
12975  : CoarseSampleOrderCustomNV( *reinterpret_cast<CoarseSampleOrderCustomNV const *>( &rhs ) )
12976  {
12977  }
12978 
12979 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
12981  uint32_t sampleCount_,
12983  : shadingRate( shadingRate_ )
12984  , sampleCount( sampleCount_ )
12985  , sampleLocationCount( static_cast<uint32_t>( sampleLocations_.size() ) )
12986  , pSampleLocations( sampleLocations_.data() )
12987  {
12988  }
12989 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
12990 
12992 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
12993 
12995  {
12996  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV const *>( &rhs );
12997  return *this;
12998  }
12999 
13000 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
13002  {
13003  shadingRate = shadingRate_;
13004  return *this;
13005  }
13006 
13008  {
13009  sampleCount = sampleCount_;
13010  return *this;
13011  }
13012 
13014  {
13015  sampleLocationCount = sampleLocationCount_;
13016  return *this;
13017  }
13018 
13021  {
13022  pSampleLocations = pSampleLocations_;
13023  return *this;
13024  }
13025 
13026 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
13029  {
13030  sampleLocationCount = static_cast<uint32_t>( sampleLocations_.size() );
13031  pSampleLocations = sampleLocations_.data();
13032  return *this;
13033  }
13034 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
13035 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
13036 
13038  {
13039  return *reinterpret_cast<const VkCoarseSampleOrderCustomNV *>( this );
13040  }
13041 
13043  {
13044  return *reinterpret_cast<VkCoarseSampleOrderCustomNV *>( this );
13045  }
13046 
13047 #if defined( VULKAN_HPP_USE_REFLECT )
13048 # if 14 <= VULKAN_HPP_CPP_VERSION
13049  auto
13050 # else
13052  uint32_t const &,
13053  uint32_t const &,
13055 # endif
13056  reflect() const VULKAN_HPP_NOEXCEPT
13057  {
13059  }
13060 #endif
13061 
13062 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
13063  auto operator<=>( CoarseSampleOrderCustomNV const & ) const = default;
13064 #else
13066  {
13067 # if defined( VULKAN_HPP_USE_REFLECT )
13068  return this->reflect() == rhs.reflect();
13069 # else
13070  return ( shadingRate == rhs.shadingRate ) && ( sampleCount == rhs.sampleCount ) && ( sampleLocationCount == rhs.sampleLocationCount ) &&
13071  ( pSampleLocations == rhs.pSampleLocations );
13072 # endif
13073  }
13074 
13076  {
13077  return !operator==( rhs );
13078  }
13079 #endif
13080 
13081  public:
13083  uint32_t sampleCount = {};
13084  uint32_t sampleLocationCount = {};
13086  };
13087 
13089  {
13091 
13092 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
13094  VULKAN_HPP_NAMESPACE::Bool32 srcPremultiplied_ = {},
13095  VULKAN_HPP_NAMESPACE::Bool32 dstPremultiplied_ = {},
13098  : advancedBlendOp( advancedBlendOp_ )
13099  , srcPremultiplied( srcPremultiplied_ )
13100  , dstPremultiplied( dstPremultiplied_ )
13101  , blendOverlap( blendOverlap_ )
13102  , clampResults( clampResults_ )
13103  {
13104  }
13105 
13107 
13109  : ColorBlendAdvancedEXT( *reinterpret_cast<ColorBlendAdvancedEXT const *>( &rhs ) )
13110  {
13111  }
13112 
13114 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
13115 
13117  {
13118  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ColorBlendAdvancedEXT const *>( &rhs );
13119  return *this;
13120  }
13121 
13122 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
13124  {
13125  advancedBlendOp = advancedBlendOp_;
13126  return *this;
13127  }
13128 
13130  {
13131  srcPremultiplied = srcPremultiplied_;
13132  return *this;
13133  }
13134 
13136  {
13137  dstPremultiplied = dstPremultiplied_;
13138  return *this;
13139  }
13140 
13142  {
13143  blendOverlap = blendOverlap_;
13144  return *this;
13145  }
13146 
13148  {
13149  clampResults = clampResults_;
13150  return *this;
13151  }
13152 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
13153 
13155  {
13156  return *reinterpret_cast<const VkColorBlendAdvancedEXT *>( this );
13157  }
13158 
13160  {
13161  return *reinterpret_cast<VkColorBlendAdvancedEXT *>( this );
13162  }
13163 
13164 #if defined( VULKAN_HPP_USE_REFLECT )
13165 # if 14 <= VULKAN_HPP_CPP_VERSION
13166  auto
13167 # else
13168  std::tuple<VULKAN_HPP_NAMESPACE::BlendOp const &,
13173 # endif
13174  reflect() const VULKAN_HPP_NOEXCEPT
13175  {
13177  }
13178 #endif
13179 
13180 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
13181  auto operator<=>( ColorBlendAdvancedEXT const & ) const = default;
13182 #else
13184  {
13185 # if defined( VULKAN_HPP_USE_REFLECT )
13186  return this->reflect() == rhs.reflect();
13187 # else
13188  return ( advancedBlendOp == rhs.advancedBlendOp ) && ( srcPremultiplied == rhs.srcPremultiplied ) && ( dstPremultiplied == rhs.dstPremultiplied ) &&
13189  ( blendOverlap == rhs.blendOverlap ) && ( clampResults == rhs.clampResults );
13190 # endif
13191  }
13192 
13194  {
13195  return !operator==( rhs );
13196  }
13197 #endif
13198 
13199  public:
13205  };
13206 
13208  {
13210 
13211 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
13218  : srcColorBlendFactor( srcColorBlendFactor_ )
13219  , dstColorBlendFactor( dstColorBlendFactor_ )
13220  , colorBlendOp( colorBlendOp_ )
13221  , srcAlphaBlendFactor( srcAlphaBlendFactor_ )
13222  , dstAlphaBlendFactor( dstAlphaBlendFactor_ )
13223  , alphaBlendOp( alphaBlendOp_ )
13224  {
13225  }
13226 
13228 
13230  : ColorBlendEquationEXT( *reinterpret_cast<ColorBlendEquationEXT const *>( &rhs ) )
13231  {
13232  }
13233 
13235 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
13236 
13238  {
13239  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ColorBlendEquationEXT const *>( &rhs );
13240  return *this;
13241  }
13242 
13243 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
13245  {
13246  srcColorBlendFactor = srcColorBlendFactor_;
13247  return *this;
13248  }
13249 
13251  {
13252  dstColorBlendFactor = dstColorBlendFactor_;
13253  return *this;
13254  }
13255 
13257  {
13258  colorBlendOp = colorBlendOp_;
13259  return *this;
13260  }
13261 
13263  {
13264  srcAlphaBlendFactor = srcAlphaBlendFactor_;
13265  return *this;
13266  }
13267 
13269  {
13270  dstAlphaBlendFactor = dstAlphaBlendFactor_;
13271  return *this;
13272  }
13273 
13275  {
13276  alphaBlendOp = alphaBlendOp_;
13277  return *this;
13278  }
13279 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
13280 
13282  {
13283  return *reinterpret_cast<const VkColorBlendEquationEXT *>( this );
13284  }
13285 
13287  {
13288  return *reinterpret_cast<VkColorBlendEquationEXT *>( this );
13289  }
13290 
13291 #if defined( VULKAN_HPP_USE_REFLECT )
13292 # if 14 <= VULKAN_HPP_CPP_VERSION
13293  auto
13294 # else
13295  std::tuple<VULKAN_HPP_NAMESPACE::BlendFactor const &,
13301 # endif
13302  reflect() const VULKAN_HPP_NOEXCEPT
13303  {
13305  }
13306 #endif
13307 
13308 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
13309  auto operator<=>( ColorBlendEquationEXT const & ) const = default;
13310 #else
13312  {
13313 # if defined( VULKAN_HPP_USE_REFLECT )
13314  return this->reflect() == rhs.reflect();
13315 # else
13316  return ( srcColorBlendFactor == rhs.srcColorBlendFactor ) && ( dstColorBlendFactor == rhs.dstColorBlendFactor ) && ( colorBlendOp == rhs.colorBlendOp ) &&
13317  ( srcAlphaBlendFactor == rhs.srcAlphaBlendFactor ) && ( dstAlphaBlendFactor == rhs.dstAlphaBlendFactor ) && ( alphaBlendOp == rhs.alphaBlendOp );
13318 # endif
13319  }
13320 
13322  {
13323  return !operator==( rhs );
13324  }
13325 #endif
13326 
13327  public:
13334  };
13335 
13337  {
13339 
13340  static const bool allowDuplicate = false;
13342 
13343 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
13346  uint32_t commandBufferCount_ = {},
13347  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
13348  : pNext( pNext_ )
13349  , commandPool( commandPool_ )
13350  , level( level_ )
13351  , commandBufferCount( commandBufferCount_ )
13352  {
13353  }
13354 
13356 
13358  : CommandBufferAllocateInfo( *reinterpret_cast<CommandBufferAllocateInfo const *>( &rhs ) )
13359  {
13360  }
13361 
13363 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
13364 
13366  {
13367  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo const *>( &rhs );
13368  return *this;
13369  }
13370 
13371 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
13373  {
13374  pNext = pNext_;
13375  return *this;
13376  }
13377 
13379  {
13380  commandPool = commandPool_;
13381  return *this;
13382  }
13383 
13385  {
13386  level = level_;
13387  return *this;
13388  }
13389 
13391  {
13392  commandBufferCount = commandBufferCount_;
13393  return *this;
13394  }
13395 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
13396 
13398  {
13399  return *reinterpret_cast<const VkCommandBufferAllocateInfo *>( this );
13400  }
13401 
13403  {
13404  return *reinterpret_cast<VkCommandBufferAllocateInfo *>( this );
13405  }
13406 
13407 #if defined( VULKAN_HPP_USE_REFLECT )
13408 # if 14 <= VULKAN_HPP_CPP_VERSION
13409  auto
13410 # else
13411  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
13412  const void * const &,
13415  uint32_t const &>
13416 # endif
13417  reflect() const VULKAN_HPP_NOEXCEPT
13418  {
13419  return std::tie( sType, pNext, commandPool, level, commandBufferCount );
13420  }
13421 #endif
13422 
13423 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
13424  auto operator<=>( CommandBufferAllocateInfo const & ) const = default;
13425 #else
13427  {
13428 # if defined( VULKAN_HPP_USE_REFLECT )
13429  return this->reflect() == rhs.reflect();
13430 # else
13431  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( commandPool == rhs.commandPool ) && ( level == rhs.level ) &&
13432  ( commandBufferCount == rhs.commandBufferCount );
13433 # endif
13434  }
13435 
13437  {
13438  return !operator==( rhs );
13439  }
13440 #endif
13441 
13442  public:
13444  const void * pNext = {};
13447  uint32_t commandBufferCount = {};
13448  };
13449 
13450  template <>
13452  {
13454  };
13455 
13457  {
13459 
13460  static const bool allowDuplicate = false;
13462 
13463 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
13465  uint32_t subpass_ = {},
13466  VULKAN_HPP_NAMESPACE::Framebuffer framebuffer_ = {},
13467  VULKAN_HPP_NAMESPACE::Bool32 occlusionQueryEnable_ = {},
13468  VULKAN_HPP_NAMESPACE::QueryControlFlags queryFlags_ = {},
13469  VULKAN_HPP_NAMESPACE::QueryPipelineStatisticFlags pipelineStatistics_ = {},
13470  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
13471  : pNext( pNext_ )
13472  , renderPass( renderPass_ )
13473  , subpass( subpass_ )
13474  , framebuffer( framebuffer_ )
13475  , occlusionQueryEnable( occlusionQueryEnable_ )
13476  , queryFlags( queryFlags_ )
13477  , pipelineStatistics( pipelineStatistics_ )
13478  {
13479  }
13480 
13482 
13484  : CommandBufferInheritanceInfo( *reinterpret_cast<CommandBufferInheritanceInfo const *>( &rhs ) )
13485  {
13486  }
13487 
13489 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
13490 
13492  {
13493  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CommandBufferInheritanceInfo const *>( &rhs );
13494  return *this;
13495  }
13496 
13497 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
13499  {
13500  pNext = pNext_;
13501  return *this;
13502  }
13503 
13505  {
13506  renderPass = renderPass_;
13507  return *this;
13508  }
13509 
13511  {
13512  subpass = subpass_;
13513  return *this;
13514  }
13515 
13517  {
13518  framebuffer = framebuffer_;
13519  return *this;
13520  }
13521 
13523  {
13524  occlusionQueryEnable = occlusionQueryEnable_;
13525  return *this;
13526  }
13527 
13529  {
13530  queryFlags = queryFlags_;
13531  return *this;
13532  }
13533 
13536  {
13537  pipelineStatistics = pipelineStatistics_;
13538  return *this;
13539  }
13540 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
13541 
13543  {
13544  return *reinterpret_cast<const VkCommandBufferInheritanceInfo *>( this );
13545  }
13546 
13548  {
13549  return *reinterpret_cast<VkCommandBufferInheritanceInfo *>( this );
13550  }
13551 
13552 #if defined( VULKAN_HPP_USE_REFLECT )
13553 # if 14 <= VULKAN_HPP_CPP_VERSION
13554  auto
13555 # else
13556  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
13557  const void * const &,
13559  uint32_t const &,
13564 # endif
13565  reflect() const VULKAN_HPP_NOEXCEPT
13566  {
13568  }
13569 #endif
13570 
13571 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
13572  auto operator<=>( CommandBufferInheritanceInfo const & ) const = default;
13573 #else
13575  {
13576 # if defined( VULKAN_HPP_USE_REFLECT )
13577  return this->reflect() == rhs.reflect();
13578 # else
13579  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( renderPass == rhs.renderPass ) && ( subpass == rhs.subpass ) &&
13580  ( framebuffer == rhs.framebuffer ) && ( occlusionQueryEnable == rhs.occlusionQueryEnable ) && ( queryFlags == rhs.queryFlags ) &&
13581  ( pipelineStatistics == rhs.pipelineStatistics );
13582 # endif
13583  }
13584 
13586  {
13587  return !operator==( rhs );
13588  }
13589 #endif
13590 
13591  public:
13593  const void * pNext = {};
13595  uint32_t subpass = {};
13600  };
13601 
13602  template <>
13604  {
13606  };
13607 
13609  {
13611 
13612  static const bool allowDuplicate = false;
13614 
13615 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
13617  const VULKAN_HPP_NAMESPACE::CommandBufferInheritanceInfo * pInheritanceInfo_ = {},
13618  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
13619  : pNext( pNext_ )
13620  , flags( flags_ )
13621  , pInheritanceInfo( pInheritanceInfo_ )
13622  {
13623  }
13624 
13626 
13628  : CommandBufferBeginInfo( *reinterpret_cast<CommandBufferBeginInfo const *>( &rhs ) )
13629  {
13630  }
13631 
13633 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
13634 
13636  {
13637  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CommandBufferBeginInfo const *>( &rhs );
13638  return *this;
13639  }
13640 
13641 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
13643  {
13644  pNext = pNext_;
13645  return *this;
13646  }
13647 
13649  {
13650  flags = flags_;
13651  return *this;
13652  }
13653 
13656  {
13657  pInheritanceInfo = pInheritanceInfo_;
13658  return *this;
13659  }
13660 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
13661 
13663  {
13664  return *reinterpret_cast<const VkCommandBufferBeginInfo *>( this );
13665  }
13666 
13668  {
13669  return *reinterpret_cast<VkCommandBufferBeginInfo *>( this );
13670  }
13671 
13672 #if defined( VULKAN_HPP_USE_REFLECT )
13673 # if 14 <= VULKAN_HPP_CPP_VERSION
13674  auto
13675 # else
13676  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
13677  const void * const &,
13680 # endif
13681  reflect() const VULKAN_HPP_NOEXCEPT
13682  {
13683  return std::tie( sType, pNext, flags, pInheritanceInfo );
13684  }
13685 #endif
13686 
13687 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
13688  auto operator<=>( CommandBufferBeginInfo const & ) const = default;
13689 #else
13691  {
13692 # if defined( VULKAN_HPP_USE_REFLECT )
13693  return this->reflect() == rhs.reflect();
13694 # else
13695  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( pInheritanceInfo == rhs.pInheritanceInfo );
13696 # endif
13697  }
13698 
13700  {
13701  return !operator==( rhs );
13702  }
13703 #endif
13704 
13705  public:
13707  const void * pNext = {};
13710  };
13711 
13712  template <>
13714  {
13716  };
13717 
13719  {
13721 
13722  static const bool allowDuplicate = false;
13724 
13725 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
13727  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
13728  : pNext( pNext_ )
13729  , conditionalRenderingEnable( conditionalRenderingEnable_ )
13730  {
13731  }
13732 
13735 
13737  : CommandBufferInheritanceConditionalRenderingInfoEXT( *reinterpret_cast<CommandBufferInheritanceConditionalRenderingInfoEXT const *>( &rhs ) )
13738  {
13739  }
13740 
13743 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
13744 
13746  {
13747  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CommandBufferInheritanceConditionalRenderingInfoEXT const *>( &rhs );
13748  return *this;
13749  }
13750 
13751 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
13753  {
13754  pNext = pNext_;
13755  return *this;
13756  }
13757 
13760  {
13761  conditionalRenderingEnable = conditionalRenderingEnable_;
13762  return *this;
13763  }
13764 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
13765 
13767  {
13768  return *reinterpret_cast<const VkCommandBufferInheritanceConditionalRenderingInfoEXT *>( this );
13769  }
13770 
13772  {
13773  return *reinterpret_cast<VkCommandBufferInheritanceConditionalRenderingInfoEXT *>( this );
13774  }
13775 
13776 #if defined( VULKAN_HPP_USE_REFLECT )
13777 # if 14 <= VULKAN_HPP_CPP_VERSION
13778  auto
13779 # else
13780  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
13781 # endif
13782  reflect() const VULKAN_HPP_NOEXCEPT
13783  {
13784  return std::tie( sType, pNext, conditionalRenderingEnable );
13785  }
13786 #endif
13787 
13788 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
13789  auto operator<=>( CommandBufferInheritanceConditionalRenderingInfoEXT const & ) const = default;
13790 #else
13792  {
13793 # if defined( VULKAN_HPP_USE_REFLECT )
13794  return this->reflect() == rhs.reflect();
13795 # else
13796  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( conditionalRenderingEnable == rhs.conditionalRenderingEnable );
13797 # endif
13798  }
13799 
13801  {
13802  return !operator==( rhs );
13803  }
13804 #endif
13805 
13806  public:
13808  const void * pNext = {};
13810  };
13811 
13812  template <>
13814  {
13816  };
13817 
13819  {
13821 
13822  static const bool allowDuplicate = false;
13824 
13825 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
13828  VULKAN_HPP_NAMESPACE::Rect2D renderArea_ = {},
13829  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
13830  : pNext( pNext_ )
13831  , transform( transform_ )
13832  , renderArea( renderArea_ )
13833  {
13834  }
13835 
13838 
13840  : CommandBufferInheritanceRenderPassTransformInfoQCOM( *reinterpret_cast<CommandBufferInheritanceRenderPassTransformInfoQCOM const *>( &rhs ) )
13841  {
13842  }
13843 
13846 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
13847 
13849  {
13850  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CommandBufferInheritanceRenderPassTransformInfoQCOM const *>( &rhs );
13851  return *this;
13852  }
13853 
13854 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
13856  {
13857  pNext = pNext_;
13858  return *this;
13859  }
13860 
13863  {
13864  transform = transform_;
13865  return *this;
13866  }
13867 
13870  {
13871  renderArea = renderArea_;
13872  return *this;
13873  }
13874 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
13875 
13877  {
13878  return *reinterpret_cast<const VkCommandBufferInheritanceRenderPassTransformInfoQCOM *>( this );
13879  }
13880 
13882  {
13883  return *reinterpret_cast<VkCommandBufferInheritanceRenderPassTransformInfoQCOM *>( this );
13884  }
13885 
13886 #if defined( VULKAN_HPP_USE_REFLECT )
13887 # if 14 <= VULKAN_HPP_CPP_VERSION
13888  auto
13889 # else
13890  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
13891  void * const &,
13894 # endif
13895  reflect() const VULKAN_HPP_NOEXCEPT
13896  {
13897  return std::tie( sType, pNext, transform, renderArea );
13898  }
13899 #endif
13900 
13901 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
13902  auto operator<=>( CommandBufferInheritanceRenderPassTransformInfoQCOM const & ) const = default;
13903 #else
13905  {
13906 # if defined( VULKAN_HPP_USE_REFLECT )
13907  return this->reflect() == rhs.reflect();
13908 # else
13909  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( transform == rhs.transform ) && ( renderArea == rhs.renderArea );
13910 # endif
13911  }
13912 
13914  {
13915  return !operator==( rhs );
13916  }
13917 #endif
13918 
13919  public:
13921  void * pNext = {};
13924  };
13925 
13926  template <>
13928  {
13930  };
13931 
13933  {
13935 
13936  static const bool allowDuplicate = false;
13938 
13939 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
13942  uint32_t viewMask_ = {},
13943  uint32_t colorAttachmentCount_ = {},
13944  const VULKAN_HPP_NAMESPACE::Format * pColorAttachmentFormats_ = {},
13948  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
13949  : pNext( pNext_ )
13950  , flags( flags_ )
13951  , viewMask( viewMask_ )
13952  , colorAttachmentCount( colorAttachmentCount_ )
13953  , pColorAttachmentFormats( pColorAttachmentFormats_ )
13954  , depthAttachmentFormat( depthAttachmentFormat_ )
13955  , stencilAttachmentFormat( stencilAttachmentFormat_ )
13956  , rasterizationSamples( rasterizationSamples_ )
13957  {
13958  }
13959 
13961 
13963  : CommandBufferInheritanceRenderingInfo( *reinterpret_cast<CommandBufferInheritanceRenderingInfo const *>( &rhs ) )
13964  {
13965  }
13966 
13967 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
13969  uint32_t viewMask_,
13974  const void * pNext_ = nullptr )
13975  : pNext( pNext_ )
13976  , flags( flags_ )
13977  , viewMask( viewMask_ )
13978  , colorAttachmentCount( static_cast<uint32_t>( colorAttachmentFormats_.size() ) )
13979  , pColorAttachmentFormats( colorAttachmentFormats_.data() )
13980  , depthAttachmentFormat( depthAttachmentFormat_ )
13981  , stencilAttachmentFormat( stencilAttachmentFormat_ )
13982  , rasterizationSamples( rasterizationSamples_ )
13983  {
13984  }
13985 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
13986 
13988 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
13989 
13991  {
13992  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CommandBufferInheritanceRenderingInfo const *>( &rhs );
13993  return *this;
13994  }
13995 
13996 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
13998  {
13999  pNext = pNext_;
14000  return *this;
14001  }
14002 
14004  {
14005  flags = flags_;
14006  return *this;
14007  }
14008 
14010  {
14011  viewMask = viewMask_;
14012  return *this;
14013  }
14014 
14016  {
14017  colorAttachmentCount = colorAttachmentCount_;
14018  return *this;
14019  }
14020 
14023  {
14024  pColorAttachmentFormats = pColorAttachmentFormats_;
14025  return *this;
14026  }
14027 
14028 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
14031  {
14032  colorAttachmentCount = static_cast<uint32_t>( colorAttachmentFormats_.size() );
14033  pColorAttachmentFormats = colorAttachmentFormats_.data();
14034  return *this;
14035  }
14036 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
14037 
14040  {
14041  depthAttachmentFormat = depthAttachmentFormat_;
14042  return *this;
14043  }
14044 
14047  {
14048  stencilAttachmentFormat = stencilAttachmentFormat_;
14049  return *this;
14050  }
14051 
14054  {
14055  rasterizationSamples = rasterizationSamples_;
14056  return *this;
14057  }
14058 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
14059 
14061  {
14062  return *reinterpret_cast<const VkCommandBufferInheritanceRenderingInfo *>( this );
14063  }
14064 
14066  {
14067  return *reinterpret_cast<VkCommandBufferInheritanceRenderingInfo *>( this );
14068  }
14069 
14070 #if defined( VULKAN_HPP_USE_REFLECT )
14071 # if 14 <= VULKAN_HPP_CPP_VERSION
14072  auto
14073 # else
14074  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
14075  const void * const &,
14077  uint32_t const &,
14078  uint32_t const &,
14079  const VULKAN_HPP_NAMESPACE::Format * const &,
14083 # endif
14084  reflect() const VULKAN_HPP_NOEXCEPT
14085  {
14086  return std::tie(
14088  }
14089 #endif
14090 
14091 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
14092  auto operator<=>( CommandBufferInheritanceRenderingInfo const & ) const = default;
14093 #else
14095  {
14096 # if defined( VULKAN_HPP_USE_REFLECT )
14097  return this->reflect() == rhs.reflect();
14098 # else
14099  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( viewMask == rhs.viewMask ) &&
14100  ( colorAttachmentCount == rhs.colorAttachmentCount ) && ( pColorAttachmentFormats == rhs.pColorAttachmentFormats ) &&
14101  ( depthAttachmentFormat == rhs.depthAttachmentFormat ) && ( stencilAttachmentFormat == rhs.stencilAttachmentFormat ) &&
14102  ( rasterizationSamples == rhs.rasterizationSamples );
14103 # endif
14104  }
14105 
14107  {
14108  return !operator==( rhs );
14109  }
14110 #endif
14111 
14112  public:
14114  const void * pNext = {};
14116  uint32_t viewMask = {};
14117  uint32_t colorAttachmentCount = {};
14122  };
14123 
14124  template <>
14126  {
14128  };
14130 
14131  struct Viewport
14132  {
14134 
14135 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
14137  Viewport( float x_ = {}, float y_ = {}, float width_ = {}, float height_ = {}, float minDepth_ = {}, float maxDepth_ = {} ) VULKAN_HPP_NOEXCEPT
14138  : x( x_ )
14139  , y( y_ )
14140  , width( width_ )
14141  , height( height_ )
14142  , minDepth( minDepth_ )
14143  , maxDepth( maxDepth_ )
14144  {
14145  }
14146 
14147  VULKAN_HPP_CONSTEXPR Viewport( Viewport const & rhs ) VULKAN_HPP_NOEXCEPT = default;
14148 
14149  Viewport( VkViewport const & rhs ) VULKAN_HPP_NOEXCEPT : Viewport( *reinterpret_cast<Viewport const *>( &rhs ) ) {}
14150 
14151  Viewport & operator=( Viewport const & rhs ) VULKAN_HPP_NOEXCEPT = default;
14152 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
14153 
14155  {
14156  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::Viewport const *>( &rhs );
14157  return *this;
14158  }
14159 
14160 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
14162  {
14163  x = x_;
14164  return *this;
14165  }
14166 
14168  {
14169  y = y_;
14170  return *this;
14171  }
14172 
14174  {
14175  width = width_;
14176  return *this;
14177  }
14178 
14180  {
14181  height = height_;
14182  return *this;
14183  }
14184 
14186  {
14187  minDepth = minDepth_;
14188  return *this;
14189  }
14190 
14192  {
14193  maxDepth = maxDepth_;
14194  return *this;
14195  }
14196 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
14197 
14198  operator VkViewport const &() const VULKAN_HPP_NOEXCEPT
14199  {
14200  return *reinterpret_cast<const VkViewport *>( this );
14201  }
14202 
14204  {
14205  return *reinterpret_cast<VkViewport *>( this );
14206  }
14207 
14208 #if defined( VULKAN_HPP_USE_REFLECT )
14209 # if 14 <= VULKAN_HPP_CPP_VERSION
14210  auto
14211 # else
14212  std::tuple<float const &, float const &, float const &, float const &, float const &, float const &>
14213 # endif
14214  reflect() const VULKAN_HPP_NOEXCEPT
14215  {
14216  return std::tie( x, y, width, height, minDepth, maxDepth );
14217  }
14218 #endif
14219 
14220 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
14221  auto operator<=>( Viewport const & ) const = default;
14222 #else
14223  bool operator==( Viewport const & rhs ) const VULKAN_HPP_NOEXCEPT
14224  {
14225 # if defined( VULKAN_HPP_USE_REFLECT )
14226  return this->reflect() == rhs.reflect();
14227 # else
14228  return ( x == rhs.x ) && ( y == rhs.y ) && ( width == rhs.width ) && ( height == rhs.height ) && ( minDepth == rhs.minDepth ) &&
14229  ( maxDepth == rhs.maxDepth );
14230 # endif
14231  }
14232 
14233  bool operator!=( Viewport const & rhs ) const VULKAN_HPP_NOEXCEPT
14234  {
14235  return !operator==( rhs );
14236  }
14237 #endif
14238 
14239  public:
14240  float x = {};
14241  float y = {};
14242  float width = {};
14243  float height = {};
14244  float minDepth = {};
14245  float maxDepth = {};
14246  };
14247 
14249  {
14251 
14252  static const bool allowDuplicate = false;
14254 
14255 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
14257  uint32_t viewportDepthCount_ = {},
14258  const VULKAN_HPP_NAMESPACE::Viewport * pViewportDepths_ = {},
14259  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
14260  : pNext( pNext_ )
14261  , viewportScissor2D( viewportScissor2D_ )
14262  , viewportDepthCount( viewportDepthCount_ )
14263  , pViewportDepths( pViewportDepths_ )
14264  {
14265  }
14266 
14269 
14271  : CommandBufferInheritanceViewportScissorInfoNV( *reinterpret_cast<CommandBufferInheritanceViewportScissorInfoNV const *>( &rhs ) )
14272  {
14273  }
14274 
14276 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
14277 
14279  {
14280  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CommandBufferInheritanceViewportScissorInfoNV const *>( &rhs );
14281  return *this;
14282  }
14283 
14284 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
14286  {
14287  pNext = pNext_;
14288  return *this;
14289  }
14290 
14293  {
14294  viewportScissor2D = viewportScissor2D_;
14295  return *this;
14296  }
14297 
14299  {
14300  viewportDepthCount = viewportDepthCount_;
14301  return *this;
14302  }
14303 
14306  {
14307  pViewportDepths = pViewportDepths_;
14308  return *this;
14309  }
14310 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
14311 
14313  {
14314  return *reinterpret_cast<const VkCommandBufferInheritanceViewportScissorInfoNV *>( this );
14315  }
14316 
14318  {
14319  return *reinterpret_cast<VkCommandBufferInheritanceViewportScissorInfoNV *>( this );
14320  }
14321 
14322 #if defined( VULKAN_HPP_USE_REFLECT )
14323 # if 14 <= VULKAN_HPP_CPP_VERSION
14324  auto
14325 # else
14326  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
14327  const void * const &,
14329  uint32_t const &,
14330  const VULKAN_HPP_NAMESPACE::Viewport * const &>
14331 # endif
14332  reflect() const VULKAN_HPP_NOEXCEPT
14333  {
14335  }
14336 #endif
14337 
14338 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
14339  auto operator<=>( CommandBufferInheritanceViewportScissorInfoNV const & ) const = default;
14340 #else
14342  {
14343 # if defined( VULKAN_HPP_USE_REFLECT )
14344  return this->reflect() == rhs.reflect();
14345 # else
14346  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( viewportScissor2D == rhs.viewportScissor2D ) &&
14347  ( viewportDepthCount == rhs.viewportDepthCount ) && ( pViewportDepths == rhs.pViewportDepths );
14348 # endif
14349  }
14350 
14352  {
14353  return !operator==( rhs );
14354  }
14355 #endif
14356 
14357  public:
14359  const void * pNext = {};
14361  uint32_t viewportDepthCount = {};
14363  };
14364 
14365  template <>
14367  {
14369  };
14370 
14372  {
14374 
14375  static const bool allowDuplicate = false;
14377 
14378 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
14380  uint32_t deviceMask_ = {},
14381  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
14382  : pNext( pNext_ )
14383  , commandBuffer( commandBuffer_ )
14384  , deviceMask( deviceMask_ )
14385  {
14386  }
14387 
14389 
14391  : CommandBufferSubmitInfo( *reinterpret_cast<CommandBufferSubmitInfo const *>( &rhs ) )
14392  {
14393  }
14394 
14396 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
14397 
14399  {
14400  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CommandBufferSubmitInfo const *>( &rhs );
14401  return *this;
14402  }
14403 
14404 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
14406  {
14407  pNext = pNext_;
14408  return *this;
14409  }
14410 
14412  {
14413  commandBuffer = commandBuffer_;
14414  return *this;
14415  }
14416 
14418  {
14419  deviceMask = deviceMask_;
14420  return *this;
14421  }
14422 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
14423 
14425  {
14426  return *reinterpret_cast<const VkCommandBufferSubmitInfo *>( this );
14427  }
14428 
14430  {
14431  return *reinterpret_cast<VkCommandBufferSubmitInfo *>( this );
14432  }
14433 
14434 #if defined( VULKAN_HPP_USE_REFLECT )
14435 # if 14 <= VULKAN_HPP_CPP_VERSION
14436  auto
14437 # else
14438  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::CommandBuffer const &, uint32_t const &>
14439 # endif
14440  reflect() const VULKAN_HPP_NOEXCEPT
14441  {
14442  return std::tie( sType, pNext, commandBuffer, deviceMask );
14443  }
14444 #endif
14445 
14446 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
14447  auto operator<=>( CommandBufferSubmitInfo const & ) const = default;
14448 #else
14450  {
14451 # if defined( VULKAN_HPP_USE_REFLECT )
14452  return this->reflect() == rhs.reflect();
14453 # else
14454  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( commandBuffer == rhs.commandBuffer ) && ( deviceMask == rhs.deviceMask );
14455 # endif
14456  }
14457 
14459  {
14460  return !operator==( rhs );
14461  }
14462 #endif
14463 
14464  public:
14466  const void * pNext = {};
14468  uint32_t deviceMask = {};
14469  };
14470 
14471  template <>
14473  {
14475  };
14477 
14479  {
14481 
14482  static const bool allowDuplicate = false;
14484 
14485 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
14487  uint32_t queueFamilyIndex_ = {},
14488  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
14489  : pNext( pNext_ )
14490  , flags( flags_ )
14491  , queueFamilyIndex( queueFamilyIndex_ )
14492  {
14493  }
14494 
14496 
14498  : CommandPoolCreateInfo( *reinterpret_cast<CommandPoolCreateInfo const *>( &rhs ) )
14499  {
14500  }
14501 
14503 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
14504 
14506  {
14507  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CommandPoolCreateInfo const *>( &rhs );
14508  return *this;
14509  }
14510 
14511 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
14513  {
14514  pNext = pNext_;
14515  return *this;
14516  }
14517 
14519  {
14520  flags = flags_;
14521  return *this;
14522  }
14523 
14525  {
14526  queueFamilyIndex = queueFamilyIndex_;
14527  return *this;
14528  }
14529 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
14530 
14532  {
14533  return *reinterpret_cast<const VkCommandPoolCreateInfo *>( this );
14534  }
14535 
14537  {
14538  return *reinterpret_cast<VkCommandPoolCreateInfo *>( this );
14539  }
14540 
14541 #if defined( VULKAN_HPP_USE_REFLECT )
14542 # if 14 <= VULKAN_HPP_CPP_VERSION
14543  auto
14544 # else
14545  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::CommandPoolCreateFlags const &, uint32_t const &>
14546 # endif
14547  reflect() const VULKAN_HPP_NOEXCEPT
14548  {
14549  return std::tie( sType, pNext, flags, queueFamilyIndex );
14550  }
14551 #endif
14552 
14553 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
14554  auto operator<=>( CommandPoolCreateInfo const & ) const = default;
14555 #else
14557  {
14558 # if defined( VULKAN_HPP_USE_REFLECT )
14559  return this->reflect() == rhs.reflect();
14560 # else
14561  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( queueFamilyIndex == rhs.queueFamilyIndex );
14562 # endif
14563  }
14564 
14566  {
14567  return !operator==( rhs );
14568  }
14569 #endif
14570 
14571  public:
14573  const void * pNext = {};
14575  uint32_t queueFamilyIndex = {};
14576  };
14577 
14578  template <>
14580  {
14582  };
14583 
14585  {
14587 
14588 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
14589  VULKAN_HPP_CONSTEXPR SpecializationMapEntry( uint32_t constantID_ = {}, uint32_t offset_ = {}, size_t size_ = {} ) VULKAN_HPP_NOEXCEPT
14590  : constantID( constantID_ )
14591  , offset( offset_ )
14592  , size( size_ )
14593  {
14594  }
14595 
14597 
14599  : SpecializationMapEntry( *reinterpret_cast<SpecializationMapEntry const *>( &rhs ) )
14600  {
14601  }
14602 
14604 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
14605 
14607  {
14608  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SpecializationMapEntry const *>( &rhs );
14609  return *this;
14610  }
14611 
14612 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
14614  {
14615  constantID = constantID_;
14616  return *this;
14617  }
14618 
14620  {
14621  offset = offset_;
14622  return *this;
14623  }
14624 
14626  {
14627  size = size_;
14628  return *this;
14629  }
14630 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
14631 
14633  {
14634  return *reinterpret_cast<const VkSpecializationMapEntry *>( this );
14635  }
14636 
14638  {
14639  return *reinterpret_cast<VkSpecializationMapEntry *>( this );
14640  }
14641 
14642 #if defined( VULKAN_HPP_USE_REFLECT )
14643 # if 14 <= VULKAN_HPP_CPP_VERSION
14644  auto
14645 # else
14646  std::tuple<uint32_t const &, uint32_t const &, size_t const &>
14647 # endif
14648  reflect() const VULKAN_HPP_NOEXCEPT
14649  {
14650  return std::tie( constantID, offset, size );
14651  }
14652 #endif
14653 
14654 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
14655  auto operator<=>( SpecializationMapEntry const & ) const = default;
14656 #else
14658  {
14659 # if defined( VULKAN_HPP_USE_REFLECT )
14660  return this->reflect() == rhs.reflect();
14661 # else
14662  return ( constantID == rhs.constantID ) && ( offset == rhs.offset ) && ( size == rhs.size );
14663 # endif
14664  }
14665 
14667  {
14668  return !operator==( rhs );
14669  }
14670 #endif
14671 
14672  public:
14673  uint32_t constantID = {};
14674  uint32_t offset = {};
14675  size_t size = {};
14676  };
14677 
14679  {
14681 
14682 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
14683  VULKAN_HPP_CONSTEXPR SpecializationInfo( uint32_t mapEntryCount_ = {},
14684  const VULKAN_HPP_NAMESPACE::SpecializationMapEntry * pMapEntries_ = {},
14685  size_t dataSize_ = {},
14686  const void * pData_ = {} ) VULKAN_HPP_NOEXCEPT
14687  : mapEntryCount( mapEntryCount_ )
14688  , pMapEntries( pMapEntries_ )
14689  , dataSize( dataSize_ )
14690  , pData( pData_ )
14691  {
14692  }
14693 
14695 
14696  SpecializationInfo( VkSpecializationInfo const & rhs ) VULKAN_HPP_NOEXCEPT : SpecializationInfo( *reinterpret_cast<SpecializationInfo const *>( &rhs ) ) {}
14697 
14698 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
14699  template <typename T>
14702  : mapEntryCount( static_cast<uint32_t>( mapEntries_.size() ) )
14703  , pMapEntries( mapEntries_.data() )
14704  , dataSize( data_.size() * sizeof( T ) )
14705  , pData( data_.data() )
14706  {
14707  }
14708 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
14709 
14711 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
14712 
14714  {
14715  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SpecializationInfo const *>( &rhs );
14716  return *this;
14717  }
14718 
14719 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
14721  {
14722  mapEntryCount = mapEntryCount_;
14723  return *this;
14724  }
14725 
14727  {
14728  pMapEntries = pMapEntries_;
14729  return *this;
14730  }
14731 
14732 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
14735  {
14736  mapEntryCount = static_cast<uint32_t>( mapEntries_.size() );
14737  pMapEntries = mapEntries_.data();
14738  return *this;
14739  }
14740 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
14741 
14743  {
14744  dataSize = dataSize_;
14745  return *this;
14746  }
14747 
14749  {
14750  pData = pData_;
14751  return *this;
14752  }
14753 
14754 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
14755  template <typename T>
14757  {
14758  dataSize = data_.size() * sizeof( T );
14759  pData = data_.data();
14760  return *this;
14761  }
14762 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
14763 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
14764 
14766  {
14767  return *reinterpret_cast<const VkSpecializationInfo *>( this );
14768  }
14769 
14771  {
14772  return *reinterpret_cast<VkSpecializationInfo *>( this );
14773  }
14774 
14775 #if defined( VULKAN_HPP_USE_REFLECT )
14776 # if 14 <= VULKAN_HPP_CPP_VERSION
14777  auto
14778 # else
14779  std::tuple<uint32_t const &, const VULKAN_HPP_NAMESPACE::SpecializationMapEntry * const &, size_t const &, const void * const &>
14780 # endif
14781  reflect() const VULKAN_HPP_NOEXCEPT
14782  {
14783  return std::tie( mapEntryCount, pMapEntries, dataSize, pData );
14784  }
14785 #endif
14786 
14787 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
14788  auto operator<=>( SpecializationInfo const & ) const = default;
14789 #else
14791  {
14792 # if defined( VULKAN_HPP_USE_REFLECT )
14793  return this->reflect() == rhs.reflect();
14794 # else
14795  return ( mapEntryCount == rhs.mapEntryCount ) && ( pMapEntries == rhs.pMapEntries ) && ( dataSize == rhs.dataSize ) && ( pData == rhs.pData );
14796 # endif
14797  }
14798 
14800  {
14801  return !operator==( rhs );
14802  }
14803 #endif
14804 
14805  public:
14806  uint32_t mapEntryCount = {};
14808  size_t dataSize = {};
14809  const void * pData = {};
14810  };
14811 
14813  {
14815 
14816  static const bool allowDuplicate = false;
14818 
14819 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
14823  const char * pName_ = {},
14824  const VULKAN_HPP_NAMESPACE::SpecializationInfo * pSpecializationInfo_ = {},
14825  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
14826  : pNext( pNext_ )
14827  , flags( flags_ )
14828  , stage( stage_ )
14829  , module( module_ )
14830  , pName( pName_ )
14831  , pSpecializationInfo( pSpecializationInfo_ )
14832  {
14833  }
14834 
14836 
14838  : PipelineShaderStageCreateInfo( *reinterpret_cast<PipelineShaderStageCreateInfo const *>( &rhs ) )
14839  {
14840  }
14841 
14843 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
14844 
14846  {
14847  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo const *>( &rhs );
14848  return *this;
14849  }
14850 
14851 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
14853  {
14854  pNext = pNext_;
14855  return *this;
14856  }
14857 
14859  {
14860  flags = flags_;
14861  return *this;
14862  }
14863 
14865  {
14866  stage = stage_;
14867  return *this;
14868  }
14869 
14871  {
14872  module = module_;
14873  return *this;
14874  }
14875 
14877  {
14878  pName = pName_;
14879  return *this;
14880  }
14881 
14884  {
14885  pSpecializationInfo = pSpecializationInfo_;
14886  return *this;
14887  }
14888 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
14889 
14891  {
14892  return *reinterpret_cast<const VkPipelineShaderStageCreateInfo *>( this );
14893  }
14894 
14896  {
14897  return *reinterpret_cast<VkPipelineShaderStageCreateInfo *>( this );
14898  }
14899 
14900 #if defined( VULKAN_HPP_USE_REFLECT )
14901 # if 14 <= VULKAN_HPP_CPP_VERSION
14902  auto
14903 # else
14904  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
14905  const void * const &,
14909  const char * const &,
14911 # endif
14912  reflect() const VULKAN_HPP_NOEXCEPT
14913  {
14914  return std::tie( sType, pNext, flags, stage, module, pName, pSpecializationInfo );
14915  }
14916 #endif
14917 
14918 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
14919  std::strong_ordering operator<=>( PipelineShaderStageCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
14920  {
14921  if ( auto cmp = sType <=> rhs.sType; cmp != 0 )
14922  return cmp;
14923  if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 )
14924  return cmp;
14925  if ( auto cmp = flags <=> rhs.flags; cmp != 0 )
14926  return cmp;
14927  if ( auto cmp = stage <=> rhs.stage; cmp != 0 )
14928  return cmp;
14929  if ( auto cmp = module <=> rhs.module; cmp != 0 )
14930  return cmp;
14931  if ( pName != rhs.pName )
14932  if ( auto cmp = strcmp( pName, rhs.pName ); cmp != 0 )
14933  return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater;
14934  if ( auto cmp = pSpecializationInfo <=> rhs.pSpecializationInfo; cmp != 0 )
14935  return cmp;
14936 
14937  return std::strong_ordering::equivalent;
14938  }
14939 #endif
14940 
14942  {
14943  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( stage == rhs.stage ) && ( module == rhs.module ) &&
14944  ( ( pName == rhs.pName ) || ( strcmp( pName, rhs.pName ) == 0 ) ) && ( pSpecializationInfo == rhs.pSpecializationInfo );
14945  }
14946 
14948  {
14949  return !operator==( rhs );
14950  }
14951 
14952  public:
14954  const void * pNext = {};
14958  const char * pName = {};
14960  };
14961 
14962  template <>
14964  {
14966  };
14967 
14969  {
14971 
14972  static const bool allowDuplicate = false;
14974 
14975 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
14979  VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle_ = {},
14980  int32_t basePipelineIndex_ = {},
14981  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
14982  : pNext( pNext_ )
14983  , flags( flags_ )
14984  , stage( stage_ )
14985  , layout( layout_ )
14986  , basePipelineHandle( basePipelineHandle_ )
14987  , basePipelineIndex( basePipelineIndex_ )
14988  {
14989  }
14990 
14992 
14994  : ComputePipelineCreateInfo( *reinterpret_cast<ComputePipelineCreateInfo const *>( &rhs ) )
14995  {
14996  }
14997 
14999 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
15000 
15002  {
15003  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo const *>( &rhs );
15004  return *this;
15005  }
15006 
15007 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
15009  {
15010  pNext = pNext_;
15011  return *this;
15012  }
15013 
15015  {
15016  flags = flags_;
15017  return *this;
15018  }
15019 
15021  {
15022  stage = stage_;
15023  return *this;
15024  }
15025 
15027  {
15028  layout = layout_;
15029  return *this;
15030  }
15031 
15033  {
15034  basePipelineHandle = basePipelineHandle_;
15035  return *this;
15036  }
15037 
15039  {
15040  basePipelineIndex = basePipelineIndex_;
15041  return *this;
15042  }
15043 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
15044 
15046  {
15047  return *reinterpret_cast<const VkComputePipelineCreateInfo *>( this );
15048  }
15049 
15051  {
15052  return *reinterpret_cast<VkComputePipelineCreateInfo *>( this );
15053  }
15054 
15055 #if defined( VULKAN_HPP_USE_REFLECT )
15056 # if 14 <= VULKAN_HPP_CPP_VERSION
15057  auto
15058 # else
15059  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
15060  const void * const &,
15065  int32_t const &>
15066 # endif
15067  reflect() const VULKAN_HPP_NOEXCEPT
15068  {
15070  }
15071 #endif
15072 
15073 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
15074  auto operator<=>( ComputePipelineCreateInfo const & ) const = default;
15075 #else
15077  {
15078 # if defined( VULKAN_HPP_USE_REFLECT )
15079  return this->reflect() == rhs.reflect();
15080 # else
15081  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( stage == rhs.stage ) && ( layout == rhs.layout ) &&
15082  ( basePipelineHandle == rhs.basePipelineHandle ) && ( basePipelineIndex == rhs.basePipelineIndex );
15083 # endif
15084  }
15085 
15087  {
15088  return !operator==( rhs );
15089  }
15090 #endif
15091 
15092  public:
15094  const void * pNext = {};
15099  int32_t basePipelineIndex = {};
15100  };
15101 
15102  template <>
15104  {
15106  };
15107 
15109  {
15111 
15112  static const bool allowDuplicate = false;
15114 
15115 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
15117  VULKAN_HPP_NAMESPACE::DeviceSize offset_ = {},
15119  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
15120  : pNext( pNext_ )
15121  , buffer( buffer_ )
15122  , offset( offset_ )
15123  , flags( flags_ )
15124  {
15125  }
15126 
15128 
15130  : ConditionalRenderingBeginInfoEXT( *reinterpret_cast<ConditionalRenderingBeginInfoEXT const *>( &rhs ) )
15131  {
15132  }
15133 
15135 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
15136 
15138  {
15139  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ConditionalRenderingBeginInfoEXT const *>( &rhs );
15140  return *this;
15141  }
15142 
15143 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
15145  {
15146  pNext = pNext_;
15147  return *this;
15148  }
15149 
15151  {
15152  buffer = buffer_;
15153  return *this;
15154  }
15155 
15157  {
15158  offset = offset_;
15159  return *this;
15160  }
15161 
15163  {
15164  flags = flags_;
15165  return *this;
15166  }
15167 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
15168 
15170  {
15171  return *reinterpret_cast<const VkConditionalRenderingBeginInfoEXT *>( this );
15172  }
15173 
15175  {
15176  return *reinterpret_cast<VkConditionalRenderingBeginInfoEXT *>( this );
15177  }
15178 
15179 #if defined( VULKAN_HPP_USE_REFLECT )
15180 # if 14 <= VULKAN_HPP_CPP_VERSION
15181  auto
15182 # else
15183  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
15184  const void * const &,
15188 # endif
15189  reflect() const VULKAN_HPP_NOEXCEPT
15190  {
15191  return std::tie( sType, pNext, buffer, offset, flags );
15192  }
15193 #endif
15194 
15195 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
15196  auto operator<=>( ConditionalRenderingBeginInfoEXT const & ) const = default;
15197 #else
15199  {
15200 # if defined( VULKAN_HPP_USE_REFLECT )
15201  return this->reflect() == rhs.reflect();
15202 # else
15203  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( buffer == rhs.buffer ) && ( offset == rhs.offset ) && ( flags == rhs.flags );
15204 # endif
15205  }
15206 
15208  {
15209  return !operator==( rhs );
15210  }
15211 #endif
15212 
15213  public:
15215  const void * pNext = {};
15219  };
15220 
15221  template <>
15223  {
15225  };
15226 
15228  {
15230 
15231 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
15232  VULKAN_HPP_CONSTEXPR ConformanceVersion( uint8_t major_ = {}, uint8_t minor_ = {}, uint8_t subminor_ = {}, uint8_t patch_ = {} ) VULKAN_HPP_NOEXCEPT
15233  : major( major_ )
15234  , minor( minor_ )
15235  , subminor( subminor_ )
15236  , patch( patch_ )
15237  {
15238  }
15239 
15241 
15242  ConformanceVersion( VkConformanceVersion const & rhs ) VULKAN_HPP_NOEXCEPT : ConformanceVersion( *reinterpret_cast<ConformanceVersion const *>( &rhs ) ) {}
15243 
15245 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
15246 
15248  {
15249  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ConformanceVersion const *>( &rhs );
15250  return *this;
15251  }
15252 
15253 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
15255  {
15256  major = major_;
15257  return *this;
15258  }
15259 
15261  {
15262  minor = minor_;
15263  return *this;
15264  }
15265 
15267  {
15268  subminor = subminor_;
15269  return *this;
15270  }
15271 
15273  {
15274  patch = patch_;
15275  return *this;
15276  }
15277 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
15278 
15280  {
15281  return *reinterpret_cast<const VkConformanceVersion *>( this );
15282  }
15283 
15285  {
15286  return *reinterpret_cast<VkConformanceVersion *>( this );
15287  }
15288 
15289 #if defined( VULKAN_HPP_USE_REFLECT )
15290 # if 14 <= VULKAN_HPP_CPP_VERSION
15291  auto
15292 # else
15293  std::tuple<uint8_t const &, uint8_t const &, uint8_t const &, uint8_t const &>
15294 # endif
15295  reflect() const VULKAN_HPP_NOEXCEPT
15296  {
15297  return std::tie( major, minor, subminor, patch );
15298  }
15299 #endif
15300 
15301 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
15302  auto operator<=>( ConformanceVersion const & ) const = default;
15303 #else
15305  {
15306 # if defined( VULKAN_HPP_USE_REFLECT )
15307  return this->reflect() == rhs.reflect();
15308 # else
15309  return ( major == rhs.major ) && ( minor == rhs.minor ) && ( subminor == rhs.subminor ) && ( patch == rhs.patch );
15310 # endif
15311  }
15312 
15314  {
15315  return !operator==( rhs );
15316  }
15317 #endif
15318 
15319  public:
15320  uint8_t major = {};
15321  uint8_t minor = {};
15322  uint8_t subminor = {};
15323  uint8_t patch = {};
15324  };
15325  using ConformanceVersionKHR = ConformanceVersion;
15326 
15328  {
15330 
15331  static const bool allowDuplicate = false;
15333 
15334 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
15336  uint32_t NSize_ = {},
15337  uint32_t KSize_ = {},
15343  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
15344  : pNext( pNext_ )
15345  , MSize( MSize_ )
15346  , NSize( NSize_ )
15347  , KSize( KSize_ )
15348  , AType( AType_ )
15349  , BType( BType_ )
15350  , CType( CType_ )
15351  , DType( DType_ )
15352  , scope( scope_ )
15353  {
15354  }
15355 
15357 
15359  : CooperativeMatrixPropertiesNV( *reinterpret_cast<CooperativeMatrixPropertiesNV const *>( &rhs ) )
15360  {
15361  }
15362 
15364 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
15365 
15367  {
15368  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesNV const *>( &rhs );
15369  return *this;
15370  }
15371 
15372 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
15374  {
15375  pNext = pNext_;
15376  return *this;
15377  }
15378 
15380  {
15381  MSize = MSize_;
15382  return *this;
15383  }
15384 
15386  {
15387  NSize = NSize_;
15388  return *this;
15389  }
15390 
15392  {
15393  KSize = KSize_;
15394  return *this;
15395  }
15396 
15398  {
15399  AType = AType_;
15400  return *this;
15401  }
15402 
15404  {
15405  BType = BType_;
15406  return *this;
15407  }
15408 
15410  {
15411  CType = CType_;
15412  return *this;
15413  }
15414 
15416  {
15417  DType = DType_;
15418  return *this;
15419  }
15420 
15422  {
15423  scope = scope_;
15424  return *this;
15425  }
15426 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
15427 
15429  {
15430  return *reinterpret_cast<const VkCooperativeMatrixPropertiesNV *>( this );
15431  }
15432 
15434  {
15435  return *reinterpret_cast<VkCooperativeMatrixPropertiesNV *>( this );
15436  }
15437 
15438 #if defined( VULKAN_HPP_USE_REFLECT )
15439 # if 14 <= VULKAN_HPP_CPP_VERSION
15440  auto
15441 # else
15442  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
15443  void * const &,
15444  uint32_t const &,
15445  uint32_t const &,
15446  uint32_t const &,
15452 # endif
15453  reflect() const VULKAN_HPP_NOEXCEPT
15454  {
15455  return std::tie( sType, pNext, MSize, NSize, KSize, AType, BType, CType, DType, scope );
15456  }
15457 #endif
15458 
15459 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
15460  auto operator<=>( CooperativeMatrixPropertiesNV const & ) const = default;
15461 #else
15463  {
15464 # if defined( VULKAN_HPP_USE_REFLECT )
15465  return this->reflect() == rhs.reflect();
15466 # else
15467  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( MSize == rhs.MSize ) && ( NSize == rhs.NSize ) && ( KSize == rhs.KSize ) &&
15468  ( AType == rhs.AType ) && ( BType == rhs.BType ) && ( CType == rhs.CType ) && ( DType == rhs.DType ) && ( scope == rhs.scope );
15469 # endif
15470  }
15471 
15473  {
15474  return !operator==( rhs );
15475  }
15476 #endif
15477 
15478  public:
15480  void * pNext = {};
15481  uint32_t MSize = {};
15482  uint32_t NSize = {};
15483  uint32_t KSize = {};
15489  };
15490 
15491  template <>
15493  {
15495  };
15496 
15498  {
15500 
15501  static const bool allowDuplicate = false;
15503 
15504 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
15509  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
15510  : pNext( pNext_ )
15511  , src( src_ )
15512  , dst( dst_ )
15513  , mode( mode_ )
15514  {
15515  }
15516 
15518 
15520  : CopyAccelerationStructureInfoKHR( *reinterpret_cast<CopyAccelerationStructureInfoKHR const *>( &rhs ) )
15521  {
15522  }
15523 
15525 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
15526 
15528  {
15529  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CopyAccelerationStructureInfoKHR const *>( &rhs );
15530  return *this;
15531  }
15532 
15533 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
15535  {
15536  pNext = pNext_;
15537  return *this;
15538  }
15539 
15541  {
15542  src = src_;
15543  return *this;
15544  }
15545 
15547  {
15548  dst = dst_;
15549  return *this;
15550  }
15551 
15553  {
15554  mode = mode_;
15555  return *this;
15556  }
15557 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
15558 
15560  {
15561  return *reinterpret_cast<const VkCopyAccelerationStructureInfoKHR *>( this );
15562  }
15563 
15565  {
15566  return *reinterpret_cast<VkCopyAccelerationStructureInfoKHR *>( this );
15567  }
15568 
15569 #if defined( VULKAN_HPP_USE_REFLECT )
15570 # if 14 <= VULKAN_HPP_CPP_VERSION
15571  auto
15572 # else
15573  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
15574  const void * const &,
15578 # endif
15579  reflect() const VULKAN_HPP_NOEXCEPT
15580  {
15581  return std::tie( sType, pNext, src, dst, mode );
15582  }
15583 #endif
15584 
15585 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
15586  auto operator<=>( CopyAccelerationStructureInfoKHR const & ) const = default;
15587 #else
15589  {
15590 # if defined( VULKAN_HPP_USE_REFLECT )
15591  return this->reflect() == rhs.reflect();
15592 # else
15593  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( src == rhs.src ) && ( dst == rhs.dst ) && ( mode == rhs.mode );
15594 # endif
15595  }
15596 
15598  {
15599  return !operator==( rhs );
15600  }
15601 #endif
15602 
15603  public:
15605  const void * pNext = {};
15609  };
15610 
15611  template <>
15613  {
15615  };
15616 
15618  {
15620 
15621  static const bool allowDuplicate = false;
15623 
15624 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
15629  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
15630  : pNext( pNext_ )
15631  , src( src_ )
15632  , dst( dst_ )
15633  , mode( mode_ )
15634  {
15635  }
15636 
15638 
15640  : CopyAccelerationStructureToMemoryInfoKHR( *reinterpret_cast<CopyAccelerationStructureToMemoryInfoKHR const *>( &rhs ) )
15641  {
15642  }
15643 
15645 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
15646 
15648  {
15649  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CopyAccelerationStructureToMemoryInfoKHR const *>( &rhs );
15650  return *this;
15651  }
15652 
15653 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
15655  {
15656  pNext = pNext_;
15657  return *this;
15658  }
15659 
15661  {
15662  src = src_;
15663  return *this;
15664  }
15665 
15667  {
15668  dst = dst_;
15669  return *this;
15670  }
15671 
15674  {
15675  mode = mode_;
15676  return *this;
15677  }
15678 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
15679 
15681  {
15682  return *reinterpret_cast<const VkCopyAccelerationStructureToMemoryInfoKHR *>( this );
15683  }
15684 
15686  {
15687  return *reinterpret_cast<VkCopyAccelerationStructureToMemoryInfoKHR *>( this );
15688  }
15689 
15690 #if defined( VULKAN_HPP_USE_REFLECT )
15691 # if 14 <= VULKAN_HPP_CPP_VERSION
15692  auto
15693 # else
15694  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
15695  const void * const &,
15699 # endif
15700  reflect() const VULKAN_HPP_NOEXCEPT
15701  {
15702  return std::tie( sType, pNext, src, dst, mode );
15703  }
15704 #endif
15705 
15706  public:
15708  const void * pNext = {};
15712  };
15713 
15714  template <>
15716  {
15718  };
15719 
15721  {
15723 
15724  static const bool allowDuplicate = false;
15726 
15727 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
15729  VULKAN_HPP_NAMESPACE::Buffer dstBuffer_ = {},
15730  uint32_t regionCount_ = {},
15731  const VULKAN_HPP_NAMESPACE::BufferCopy2 * pRegions_ = {},
15732  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
15733  : pNext( pNext_ )
15734  , srcBuffer( srcBuffer_ )
15735  , dstBuffer( dstBuffer_ )
15736  , regionCount( regionCount_ )
15737  , pRegions( pRegions_ )
15738  {
15739  }
15740 
15742 
15743  CopyBufferInfo2( VkCopyBufferInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT : CopyBufferInfo2( *reinterpret_cast<CopyBufferInfo2 const *>( &rhs ) ) {}
15744 
15745 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
15747  VULKAN_HPP_NAMESPACE::Buffer dstBuffer_,
15749  const void * pNext_ = nullptr )
15750  : pNext( pNext_ ), srcBuffer( srcBuffer_ ), dstBuffer( dstBuffer_ ), regionCount( static_cast<uint32_t>( regions_.size() ) ), pRegions( regions_.data() )
15751  {
15752  }
15753 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
15754 
15755  CopyBufferInfo2 & operator=( CopyBufferInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
15756 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
15757 
15759  {
15760  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CopyBufferInfo2 const *>( &rhs );
15761  return *this;
15762  }
15763 
15764 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
15766  {
15767  pNext = pNext_;
15768  return *this;
15769  }
15770 
15772  {
15773  srcBuffer = srcBuffer_;
15774  return *this;
15775  }
15776 
15778  {
15779  dstBuffer = dstBuffer_;
15780  return *this;
15781  }
15782 
15784  {
15785  regionCount = regionCount_;
15786  return *this;
15787  }
15788 
15790  {
15791  pRegions = pRegions_;
15792  return *this;
15793  }
15794 
15795 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
15797  {
15798  regionCount = static_cast<uint32_t>( regions_.size() );
15799  pRegions = regions_.data();
15800  return *this;
15801  }
15802 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
15803 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
15804 
15805  operator VkCopyBufferInfo2 const &() const VULKAN_HPP_NOEXCEPT
15806  {
15807  return *reinterpret_cast<const VkCopyBufferInfo2 *>( this );
15808  }
15809 
15811  {
15812  return *reinterpret_cast<VkCopyBufferInfo2 *>( this );
15813  }
15814 
15815 #if defined( VULKAN_HPP_USE_REFLECT )
15816 # if 14 <= VULKAN_HPP_CPP_VERSION
15817  auto
15818 # else
15819  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
15820  const void * const &,
15823  uint32_t const &,
15824  const VULKAN_HPP_NAMESPACE::BufferCopy2 * const &>
15825 # endif
15826  reflect() const VULKAN_HPP_NOEXCEPT
15827  {
15828  return std::tie( sType, pNext, srcBuffer, dstBuffer, regionCount, pRegions );
15829  }
15830 #endif
15831 
15832 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
15833  auto operator<=>( CopyBufferInfo2 const & ) const = default;
15834 #else
15836  {
15837 # if defined( VULKAN_HPP_USE_REFLECT )
15838  return this->reflect() == rhs.reflect();
15839 # else
15840  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( srcBuffer == rhs.srcBuffer ) && ( dstBuffer == rhs.dstBuffer ) &&
15841  ( regionCount == rhs.regionCount ) && ( pRegions == rhs.pRegions );
15842 # endif
15843  }
15844 
15846  {
15847  return !operator==( rhs );
15848  }
15849 #endif
15850 
15851  public:
15853  const void * pNext = {};
15856  uint32_t regionCount = {};
15858  };
15859 
15860  template <>
15862  {
15864  };
15866 
15868  {
15870 
15871  static const bool allowDuplicate = false;
15873 
15874 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
15876  VULKAN_HPP_NAMESPACE::Image dstImage_ = {},
15878  uint32_t regionCount_ = {},
15879  const VULKAN_HPP_NAMESPACE::BufferImageCopy2 * pRegions_ = {},
15880  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
15881  : pNext( pNext_ )
15882  , srcBuffer( srcBuffer_ )
15883  , dstImage( dstImage_ )
15884  , dstImageLayout( dstImageLayout_ )
15885  , regionCount( regionCount_ )
15886  , pRegions( pRegions_ )
15887  {
15888  }
15889 
15891 
15893  : CopyBufferToImageInfo2( *reinterpret_cast<CopyBufferToImageInfo2 const *>( &rhs ) )
15894  {
15895  }
15896 
15897 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
15899  VULKAN_HPP_NAMESPACE::Image dstImage_,
15900  VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout_,
15902  const void * pNext_ = nullptr )
15903  : pNext( pNext_ )
15904  , srcBuffer( srcBuffer_ )
15905  , dstImage( dstImage_ )
15906  , dstImageLayout( dstImageLayout_ )
15907  , regionCount( static_cast<uint32_t>( regions_.size() ) )
15908  , pRegions( regions_.data() )
15909  {
15910  }
15911 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
15912 
15914 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
15915 
15917  {
15918  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CopyBufferToImageInfo2 const *>( &rhs );
15919  return *this;
15920  }
15921 
15922 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
15924  {
15925  pNext = pNext_;
15926  return *this;
15927  }
15928 
15930  {
15931  srcBuffer = srcBuffer_;
15932  return *this;
15933  }
15934 
15936  {
15937  dstImage = dstImage_;
15938  return *this;
15939  }
15940 
15942  {
15943  dstImageLayout = dstImageLayout_;
15944  return *this;
15945  }
15946 
15948  {
15949  regionCount = regionCount_;
15950  return *this;
15951  }
15952 
15954  {
15955  pRegions = pRegions_;
15956  return *this;
15957  }
15958 
15959 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
15962  {
15963  regionCount = static_cast<uint32_t>( regions_.size() );
15964  pRegions = regions_.data();
15965  return *this;
15966  }
15967 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
15968 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
15969 
15971  {
15972  return *reinterpret_cast<const VkCopyBufferToImageInfo2 *>( this );
15973  }
15974 
15976  {
15977  return *reinterpret_cast<VkCopyBufferToImageInfo2 *>( this );
15978  }
15979 
15980 #if defined( VULKAN_HPP_USE_REFLECT )
15981 # if 14 <= VULKAN_HPP_CPP_VERSION
15982  auto
15983 # else
15984  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
15985  const void * const &,
15989  uint32_t const &,
15991 # endif
15992  reflect() const VULKAN_HPP_NOEXCEPT
15993  {
15994  return std::tie( sType, pNext, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions );
15995  }
15996 #endif
15997 
15998 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
15999  auto operator<=>( CopyBufferToImageInfo2 const & ) const = default;
16000 #else
16002  {
16003 # if defined( VULKAN_HPP_USE_REFLECT )
16004  return this->reflect() == rhs.reflect();
16005 # else
16006  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( srcBuffer == rhs.srcBuffer ) && ( dstImage == rhs.dstImage ) &&
16007  ( dstImageLayout == rhs.dstImageLayout ) && ( regionCount == rhs.regionCount ) && ( pRegions == rhs.pRegions );
16008 # endif
16009  }
16010 
16012  {
16013  return !operator==( rhs );
16014  }
16015 #endif
16016 
16017  public:
16019  const void * pNext = {};
16023  uint32_t regionCount = {};
16025  };
16026 
16027  template <>
16029  {
16031  };
16033 
16035  {
16037 
16038  static const bool allowDuplicate = false;
16040 
16041 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
16044  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
16045  : pNext( pNext_ )
16046  , transform( transform_ )
16047  {
16048  }
16049 
16051 
16053  : CopyCommandTransformInfoQCOM( *reinterpret_cast<CopyCommandTransformInfoQCOM const *>( &rhs ) )
16054  {
16055  }
16056 
16058 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
16059 
16061  {
16062  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CopyCommandTransformInfoQCOM const *>( &rhs );
16063  return *this;
16064  }
16065 
16066 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
16068  {
16069  pNext = pNext_;
16070  return *this;
16071  }
16072 
16074  {
16075  transform = transform_;
16076  return *this;
16077  }
16078 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
16079 
16081  {
16082  return *reinterpret_cast<const VkCopyCommandTransformInfoQCOM *>( this );
16083  }
16084 
16086  {
16087  return *reinterpret_cast<VkCopyCommandTransformInfoQCOM *>( this );
16088  }
16089 
16090 #if defined( VULKAN_HPP_USE_REFLECT )
16091 # if 14 <= VULKAN_HPP_CPP_VERSION
16092  auto
16093 # else
16094  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR const &>
16095 # endif
16096  reflect() const VULKAN_HPP_NOEXCEPT
16097  {
16098  return std::tie( sType, pNext, transform );
16099  }
16100 #endif
16101 
16102 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
16103  auto operator<=>( CopyCommandTransformInfoQCOM const & ) const = default;
16104 #else
16106  {
16107 # if defined( VULKAN_HPP_USE_REFLECT )
16108  return this->reflect() == rhs.reflect();
16109 # else
16110  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( transform == rhs.transform );
16111 # endif
16112  }
16113 
16115  {
16116  return !operator==( rhs );
16117  }
16118 #endif
16119 
16120  public:
16122  const void * pNext = {};
16124  };
16125 
16126  template <>
16128  {
16130  };
16131 
16133  {
16135 
16136  static const bool allowDuplicate = false;
16138 
16139 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
16141  uint32_t srcBinding_ = {},
16142  uint32_t srcArrayElement_ = {},
16144  uint32_t dstBinding_ = {},
16145  uint32_t dstArrayElement_ = {},
16146  uint32_t descriptorCount_ = {},
16147  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
16148  : pNext( pNext_ )
16149  , srcSet( srcSet_ )
16150  , srcBinding( srcBinding_ )
16151  , srcArrayElement( srcArrayElement_ )
16152  , dstSet( dstSet_ )
16153  , dstBinding( dstBinding_ )
16154  , dstArrayElement( dstArrayElement_ )
16155  , descriptorCount( descriptorCount_ )
16156  {
16157  }
16158 
16160 
16161  CopyDescriptorSet( VkCopyDescriptorSet const & rhs ) VULKAN_HPP_NOEXCEPT : CopyDescriptorSet( *reinterpret_cast<CopyDescriptorSet const *>( &rhs ) ) {}
16162 
16164 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
16165 
16167  {
16168  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CopyDescriptorSet const *>( &rhs );
16169  return *this;
16170  }
16171 
16172 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
16174  {
16175  pNext = pNext_;
16176  return *this;
16177  }
16178 
16180  {
16181  srcSet = srcSet_;
16182  return *this;
16183  }
16184 
16186  {
16187  srcBinding = srcBinding_;
16188  return *this;
16189  }
16190 
16192  {
16193  srcArrayElement = srcArrayElement_;
16194  return *this;
16195  }
16196 
16198  {
16199  dstSet = dstSet_;
16200  return *this;
16201  }
16202 
16204  {
16205  dstBinding = dstBinding_;
16206  return *this;
16207  }
16208 
16210  {
16211  dstArrayElement = dstArrayElement_;
16212  return *this;
16213  }
16214 
16216  {
16217  descriptorCount = descriptorCount_;
16218  return *this;
16219  }
16220 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
16221 
16222  operator VkCopyDescriptorSet const &() const VULKAN_HPP_NOEXCEPT
16223  {
16224  return *reinterpret_cast<const VkCopyDescriptorSet *>( this );
16225  }
16226 
16228  {
16229  return *reinterpret_cast<VkCopyDescriptorSet *>( this );
16230  }
16231 
16232 #if defined( VULKAN_HPP_USE_REFLECT )
16233 # if 14 <= VULKAN_HPP_CPP_VERSION
16234  auto
16235 # else
16236  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
16237  const void * const &,
16239  uint32_t const &,
16240  uint32_t const &,
16242  uint32_t const &,
16243  uint32_t const &,
16244  uint32_t const &>
16245 # endif
16246  reflect() const VULKAN_HPP_NOEXCEPT
16247  {
16249  }
16250 #endif
16251 
16252 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
16253  auto operator<=>( CopyDescriptorSet const & ) const = default;
16254 #else
16256  {
16257 # if defined( VULKAN_HPP_USE_REFLECT )
16258  return this->reflect() == rhs.reflect();
16259 # else
16260  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( srcSet == rhs.srcSet ) && ( srcBinding == rhs.srcBinding ) &&
16261  ( srcArrayElement == rhs.srcArrayElement ) && ( dstSet == rhs.dstSet ) && ( dstBinding == rhs.dstBinding ) &&
16262  ( dstArrayElement == rhs.dstArrayElement ) && ( descriptorCount == rhs.descriptorCount );
16263 # endif
16264  }
16265 
16267  {
16268  return !operator==( rhs );
16269  }
16270 #endif
16271 
16272  public:
16274  const void * pNext = {};
16276  uint32_t srcBinding = {};
16277  uint32_t srcArrayElement = {};
16279  uint32_t dstBinding = {};
16280  uint32_t dstArrayElement = {};
16281  uint32_t descriptorCount = {};
16282  };
16283 
16284  template <>
16286  {
16288  };
16289 
16290  struct ImageCopy2
16291  {
16293 
16294  static const bool allowDuplicate = false;
16296 
16297 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
16299  VULKAN_HPP_NAMESPACE::Offset3D srcOffset_ = {},
16300  VULKAN_HPP_NAMESPACE::ImageSubresourceLayers dstSubresource_ = {},
16301  VULKAN_HPP_NAMESPACE::Offset3D dstOffset_ = {},
16302  VULKAN_HPP_NAMESPACE::Extent3D extent_ = {},
16303  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
16304  : pNext( pNext_ )
16305  , srcSubresource( srcSubresource_ )
16306  , srcOffset( srcOffset_ )
16307  , dstSubresource( dstSubresource_ )
16308  , dstOffset( dstOffset_ )
16309  , extent( extent_ )
16310  {
16311  }
16312 
16314 
16315  ImageCopy2( VkImageCopy2 const & rhs ) VULKAN_HPP_NOEXCEPT : ImageCopy2( *reinterpret_cast<ImageCopy2 const *>( &rhs ) ) {}
16316 
16317  ImageCopy2 & operator=( ImageCopy2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
16318 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
16319 
16321  {
16322  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageCopy2 const *>( &rhs );
16323  return *this;
16324  }
16325 
16326 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
16328  {
16329  pNext = pNext_;
16330  return *this;
16331  }
16332 
16334  {
16335  srcSubresource = srcSubresource_;
16336  return *this;
16337  }
16338 
16340  {
16341  srcOffset = srcOffset_;
16342  return *this;
16343  }
16344 
16346  {
16347  dstSubresource = dstSubresource_;
16348  return *this;
16349  }
16350 
16352  {
16353  dstOffset = dstOffset_;
16354  return *this;
16355  }
16356 
16358  {
16359  extent = extent_;
16360  return *this;
16361  }
16362 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
16363 
16364  operator VkImageCopy2 const &() const VULKAN_HPP_NOEXCEPT
16365  {
16366  return *reinterpret_cast<const VkImageCopy2 *>( this );
16367  }
16368 
16370  {
16371  return *reinterpret_cast<VkImageCopy2 *>( this );
16372  }
16373 
16374 #if defined( VULKAN_HPP_USE_REFLECT )
16375 # if 14 <= VULKAN_HPP_CPP_VERSION
16376  auto
16377 # else
16378  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
16379  const void * const &,
16385 # endif
16386  reflect() const VULKAN_HPP_NOEXCEPT
16387  {
16389  }
16390 #endif
16391 
16392 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
16393  auto operator<=>( ImageCopy2 const & ) const = default;
16394 #else
16395  bool operator==( ImageCopy2 const & rhs ) const VULKAN_HPP_NOEXCEPT
16396  {
16397 # if defined( VULKAN_HPP_USE_REFLECT )
16398  return this->reflect() == rhs.reflect();
16399 # else
16400  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( srcSubresource == rhs.srcSubresource ) && ( srcOffset == rhs.srcOffset ) &&
16401  ( dstSubresource == rhs.dstSubresource ) && ( dstOffset == rhs.dstOffset ) && ( extent == rhs.extent );
16402 # endif
16403  }
16404 
16405  bool operator!=( ImageCopy2 const & rhs ) const VULKAN_HPP_NOEXCEPT
16406  {
16407  return !operator==( rhs );
16408  }
16409 #endif
16410 
16411  public:
16413  const void * pNext = {};
16419  };
16420 
16421  template <>
16423  {
16424  using Type = ImageCopy2;
16425  };
16426  using ImageCopy2KHR = ImageCopy2;
16427 
16429  {
16431 
16432  static const bool allowDuplicate = false;
16434 
16435 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
16438  VULKAN_HPP_NAMESPACE::Image dstImage_ = {},
16440  uint32_t regionCount_ = {},
16441  const VULKAN_HPP_NAMESPACE::ImageCopy2 * pRegions_ = {},
16442  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
16443  : pNext( pNext_ )
16444  , srcImage( srcImage_ )
16445  , srcImageLayout( srcImageLayout_ )
16446  , dstImage( dstImage_ )
16447  , dstImageLayout( dstImageLayout_ )
16448  , regionCount( regionCount_ )
16449  , pRegions( pRegions_ )
16450  {
16451  }
16452 
16454 
16455  CopyImageInfo2( VkCopyImageInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT : CopyImageInfo2( *reinterpret_cast<CopyImageInfo2 const *>( &rhs ) ) {}
16456 
16457 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
16459  VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout_,
16460  VULKAN_HPP_NAMESPACE::Image dstImage_,
16461  VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout_,
16463  const void * pNext_ = nullptr )
16464  : pNext( pNext_ )
16465  , srcImage( srcImage_ )
16466  , srcImageLayout( srcImageLayout_ )
16467  , dstImage( dstImage_ )
16468  , dstImageLayout( dstImageLayout_ )
16469  , regionCount( static_cast<uint32_t>( regions_.size() ) )
16470  , pRegions( regions_.data() )
16471  {
16472  }
16473 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
16474 
16475  CopyImageInfo2 & operator=( CopyImageInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
16476 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
16477 
16479  {
16480  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CopyImageInfo2 const *>( &rhs );
16481  return *this;
16482  }
16483 
16484 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
16486  {
16487  pNext = pNext_;
16488  return *this;
16489  }
16490 
16492  {
16493  srcImage = srcImage_;
16494  return *this;
16495  }
16496 
16498  {
16499  srcImageLayout = srcImageLayout_;
16500  return *this;
16501  }
16502 
16504  {
16505  dstImage = dstImage_;
16506  return *this;
16507  }
16508 
16510  {
16511  dstImageLayout = dstImageLayout_;
16512  return *this;
16513  }
16514 
16516  {
16517  regionCount = regionCount_;
16518  return *this;
16519  }
16520 
16522  {
16523  pRegions = pRegions_;
16524  return *this;
16525  }
16526 
16527 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
16529  {
16530  regionCount = static_cast<uint32_t>( regions_.size() );
16531  pRegions = regions_.data();
16532  return *this;
16533  }
16534 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
16535 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
16536 
16537  operator VkCopyImageInfo2 const &() const VULKAN_HPP_NOEXCEPT
16538  {
16539  return *reinterpret_cast<const VkCopyImageInfo2 *>( this );
16540  }
16541 
16543  {
16544  return *reinterpret_cast<VkCopyImageInfo2 *>( this );
16545  }
16546 
16547 #if defined( VULKAN_HPP_USE_REFLECT )
16548 # if 14 <= VULKAN_HPP_CPP_VERSION
16549  auto
16550 # else
16551  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
16552  const void * const &,
16557  uint32_t const &,
16558  const VULKAN_HPP_NAMESPACE::ImageCopy2 * const &>
16559 # endif
16560  reflect() const VULKAN_HPP_NOEXCEPT
16561  {
16563  }
16564 #endif
16565 
16566 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
16567  auto operator<=>( CopyImageInfo2 const & ) const = default;
16568 #else
16570  {
16571 # if defined( VULKAN_HPP_USE_REFLECT )
16572  return this->reflect() == rhs.reflect();
16573 # else
16574  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( srcImage == rhs.srcImage ) && ( srcImageLayout == rhs.srcImageLayout ) &&
16575  ( dstImage == rhs.dstImage ) && ( dstImageLayout == rhs.dstImageLayout ) && ( regionCount == rhs.regionCount ) && ( pRegions == rhs.pRegions );
16576 # endif
16577  }
16578 
16580  {
16581  return !operator==( rhs );
16582  }
16583 #endif
16584 
16585  public:
16587  const void * pNext = {};
16592  uint32_t regionCount = {};
16594  };
16595 
16596  template <>
16598  {
16600  };
16602 
16604  {
16606 
16607  static const bool allowDuplicate = false;
16609 
16610 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
16613  VULKAN_HPP_NAMESPACE::Buffer dstBuffer_ = {},
16614  uint32_t regionCount_ = {},
16615  const VULKAN_HPP_NAMESPACE::BufferImageCopy2 * pRegions_ = {},
16616  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
16617  : pNext( pNext_ )
16618  , srcImage( srcImage_ )
16619  , srcImageLayout( srcImageLayout_ )
16620  , dstBuffer( dstBuffer_ )
16621  , regionCount( regionCount_ )
16622  , pRegions( pRegions_ )
16623  {
16624  }
16625 
16627 
16629  : CopyImageToBufferInfo2( *reinterpret_cast<CopyImageToBufferInfo2 const *>( &rhs ) )
16630  {
16631  }
16632 
16633 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
16635  VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout_,
16636  VULKAN_HPP_NAMESPACE::Buffer dstBuffer_,
16638  const void * pNext_ = nullptr )
16639  : pNext( pNext_ )
16640  , srcImage( srcImage_ )
16641  , srcImageLayout( srcImageLayout_ )
16642  , dstBuffer( dstBuffer_ )
16643  , regionCount( static_cast<uint32_t>( regions_.size() ) )
16644  , pRegions( regions_.data() )
16645  {
16646  }
16647 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
16648 
16650 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
16651 
16653  {
16654  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CopyImageToBufferInfo2 const *>( &rhs );
16655  return *this;
16656  }
16657 
16658 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
16660  {
16661  pNext = pNext_;
16662  return *this;
16663  }
16664 
16666  {
16667  srcImage = srcImage_;
16668  return *this;
16669  }
16670 
16672  {
16673  srcImageLayout = srcImageLayout_;
16674  return *this;
16675  }
16676 
16678  {
16679  dstBuffer = dstBuffer_;
16680  return *this;
16681  }
16682 
16684  {
16685  regionCount = regionCount_;
16686  return *this;
16687  }
16688 
16690  {
16691  pRegions = pRegions_;
16692  return *this;
16693  }
16694 
16695 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
16698  {
16699  regionCount = static_cast<uint32_t>( regions_.size() );
16700  pRegions = regions_.data();
16701  return *this;
16702  }
16703 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
16704 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
16705 
16707  {
16708  return *reinterpret_cast<const VkCopyImageToBufferInfo2 *>( this );
16709  }
16710 
16712  {
16713  return *reinterpret_cast<VkCopyImageToBufferInfo2 *>( this );
16714  }
16715 
16716 #if defined( VULKAN_HPP_USE_REFLECT )
16717 # if 14 <= VULKAN_HPP_CPP_VERSION
16718  auto
16719 # else
16720  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
16721  const void * const &,
16725  uint32_t const &,
16727 # endif
16728  reflect() const VULKAN_HPP_NOEXCEPT
16729  {
16730  return std::tie( sType, pNext, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions );
16731  }
16732 #endif
16733 
16734 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
16735  auto operator<=>( CopyImageToBufferInfo2 const & ) const = default;
16736 #else
16738  {
16739 # if defined( VULKAN_HPP_USE_REFLECT )
16740  return this->reflect() == rhs.reflect();
16741 # else
16742  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( srcImage == rhs.srcImage ) && ( srcImageLayout == rhs.srcImageLayout ) &&
16743  ( dstBuffer == rhs.dstBuffer ) && ( regionCount == rhs.regionCount ) && ( pRegions == rhs.pRegions );
16744 # endif
16745  }
16746 
16748  {
16749  return !operator==( rhs );
16750  }
16751 #endif
16752 
16753  public:
16755  const void * pNext = {};
16759  uint32_t regionCount = {};
16761  };
16762 
16763  template <>
16765  {
16767  };
16769 
16771  {
16773 
16774 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
16776  VULKAN_HPP_NAMESPACE::DeviceAddress dstAddress_ = {},
16778  : srcAddress( srcAddress_ )
16779  , dstAddress( dstAddress_ )
16780  , size( size_ )
16781  {
16782  }
16783 
16785 
16787  : CopyMemoryIndirectCommandNV( *reinterpret_cast<CopyMemoryIndirectCommandNV const *>( &rhs ) )
16788  {
16789  }
16790 
16792 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
16793 
16795  {
16796  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CopyMemoryIndirectCommandNV const *>( &rhs );
16797  return *this;
16798  }
16799 
16800 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
16802  {
16803  srcAddress = srcAddress_;
16804  return *this;
16805  }
16806 
16808  {
16809  dstAddress = dstAddress_;
16810  return *this;
16811  }
16812 
16814  {
16815  size = size_;
16816  return *this;
16817  }
16818 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
16819 
16821  {
16822  return *reinterpret_cast<const VkCopyMemoryIndirectCommandNV *>( this );
16823  }
16824 
16826  {
16827  return *reinterpret_cast<VkCopyMemoryIndirectCommandNV *>( this );
16828  }
16829 
16830 #if defined( VULKAN_HPP_USE_REFLECT )
16831 # if 14 <= VULKAN_HPP_CPP_VERSION
16832  auto
16833 # else
16834  std::tuple<VULKAN_HPP_NAMESPACE::DeviceAddress const &, VULKAN_HPP_NAMESPACE::DeviceAddress const &, VULKAN_HPP_NAMESPACE::DeviceSize const &>
16835 # endif
16836  reflect() const VULKAN_HPP_NOEXCEPT
16837  {
16838  return std::tie( srcAddress, dstAddress, size );
16839  }
16840 #endif
16841 
16842 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
16843  auto operator<=>( CopyMemoryIndirectCommandNV const & ) const = default;
16844 #else
16846  {
16847 # if defined( VULKAN_HPP_USE_REFLECT )
16848  return this->reflect() == rhs.reflect();
16849 # else
16850  return ( srcAddress == rhs.srcAddress ) && ( dstAddress == rhs.dstAddress ) && ( size == rhs.size );
16851 # endif
16852  }
16853 
16855  {
16856  return !operator==( rhs );
16857  }
16858 #endif
16859 
16860  public:
16864  };
16865 
16867  {
16869 
16870  static const bool allowDuplicate = false;
16872 
16873 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
16878  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
16879  : pNext( pNext_ )
16880  , src( src_ )
16881  , dst( dst_ )
16882  , mode( mode_ )
16883  {
16884  }
16885 
16887 
16889  : CopyMemoryToAccelerationStructureInfoKHR( *reinterpret_cast<CopyMemoryToAccelerationStructureInfoKHR const *>( &rhs ) )
16890  {
16891  }
16892 
16894 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
16895 
16897  {
16898  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CopyMemoryToAccelerationStructureInfoKHR const *>( &rhs );
16899  return *this;
16900  }
16901 
16902 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
16904  {
16905  pNext = pNext_;
16906  return *this;
16907  }
16908 
16911  {
16912  src = src_;
16913  return *this;
16914  }
16915 
16917  {
16918  dst = dst_;
16919  return *this;
16920  }
16921 
16924  {
16925  mode = mode_;
16926  return *this;
16927  }
16928 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
16929 
16931  {
16932  return *reinterpret_cast<const VkCopyMemoryToAccelerationStructureInfoKHR *>( this );
16933  }
16934 
16936  {
16937  return *reinterpret_cast<VkCopyMemoryToAccelerationStructureInfoKHR *>( this );
16938  }
16939 
16940 #if defined( VULKAN_HPP_USE_REFLECT )
16941 # if 14 <= VULKAN_HPP_CPP_VERSION
16942  auto
16943 # else
16944  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
16945  const void * const &,
16949 # endif
16950  reflect() const VULKAN_HPP_NOEXCEPT
16951  {
16952  return std::tie( sType, pNext, src, dst, mode );
16953  }
16954 #endif
16955 
16956  public:
16958  const void * pNext = {};
16962  };
16963 
16964  template <>
16966  {
16968  };
16969 
16971  {
16973 
16974 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
16976  uint32_t bufferRowLength_ = {},
16977  uint32_t bufferImageHeight_ = {},
16978  VULKAN_HPP_NAMESPACE::ImageSubresourceLayers imageSubresource_ = {},
16979  VULKAN_HPP_NAMESPACE::Offset3D imageOffset_ = {},
16981  : srcAddress( srcAddress_ )
16982  , bufferRowLength( bufferRowLength_ )
16983  , bufferImageHeight( bufferImageHeight_ )
16984  , imageSubresource( imageSubresource_ )
16985  , imageOffset( imageOffset_ )
16986  , imageExtent( imageExtent_ )
16987  {
16988  }
16989 
16991 
16993  : CopyMemoryToImageIndirectCommandNV( *reinterpret_cast<CopyMemoryToImageIndirectCommandNV const *>( &rhs ) )
16994  {
16995  }
16996 
16998 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
16999 
17001  {
17002  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CopyMemoryToImageIndirectCommandNV const *>( &rhs );
17003  return *this;
17004  }
17005 
17006 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
17008  {
17009  srcAddress = srcAddress_;
17010  return *this;
17011  }
17012 
17014  {
17015  bufferRowLength = bufferRowLength_;
17016  return *this;
17017  }
17018 
17020  {
17021  bufferImageHeight = bufferImageHeight_;
17022  return *this;
17023  }
17024 
17027  {
17028  imageSubresource = imageSubresource_;
17029  return *this;
17030  }
17031 
17033  {
17034  imageOffset = imageOffset_;
17035  return *this;
17036  }
17037 
17039  {
17040  imageExtent = imageExtent_;
17041  return *this;
17042  }
17043 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
17044 
17046  {
17047  return *reinterpret_cast<const VkCopyMemoryToImageIndirectCommandNV *>( this );
17048  }
17049 
17051  {
17052  return *reinterpret_cast<VkCopyMemoryToImageIndirectCommandNV *>( this );
17053  }
17054 
17055 #if defined( VULKAN_HPP_USE_REFLECT )
17056 # if 14 <= VULKAN_HPP_CPP_VERSION
17057  auto
17058 # else
17059  std::tuple<VULKAN_HPP_NAMESPACE::DeviceAddress const &,
17060  uint32_t const &,
17061  uint32_t const &,
17065 # endif
17066  reflect() const VULKAN_HPP_NOEXCEPT
17067  {
17069  }
17070 #endif
17071 
17072 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
17073  auto operator<=>( CopyMemoryToImageIndirectCommandNV const & ) const = default;
17074 #else
17076  {
17077 # if defined( VULKAN_HPP_USE_REFLECT )
17078  return this->reflect() == rhs.reflect();
17079 # else
17080  return ( srcAddress == rhs.srcAddress ) && ( bufferRowLength == rhs.bufferRowLength ) && ( bufferImageHeight == rhs.bufferImageHeight ) &&
17081  ( imageSubresource == rhs.imageSubresource ) && ( imageOffset == rhs.imageOffset ) && ( imageExtent == rhs.imageExtent );
17082 # endif
17083  }
17084 
17086  {
17087  return !operator==( rhs );
17088  }
17089 #endif
17090 
17091  public:
17093  uint32_t bufferRowLength = {};
17094  uint32_t bufferImageHeight = {};
17098  };
17099 
17101  {
17103 
17104  static const bool allowDuplicate = false;
17106 
17107 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
17111  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
17112  : pNext( pNext_ )
17113  , src( src_ )
17114  , dst( dst_ )
17115  , mode( mode_ )
17116  {
17117  }
17118 
17120 
17122  : CopyMemoryToMicromapInfoEXT( *reinterpret_cast<CopyMemoryToMicromapInfoEXT const *>( &rhs ) )
17123  {
17124  }
17125 
17127 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
17128 
17130  {
17131  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CopyMemoryToMicromapInfoEXT const *>( &rhs );
17132  return *this;
17133  }
17134 
17135 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
17137  {
17138  pNext = pNext_;
17139  return *this;
17140  }
17141 
17143  {
17144  src = src_;
17145  return *this;
17146  }
17147 
17149  {
17150  dst = dst_;
17151  return *this;
17152  }
17153 
17155  {
17156  mode = mode_;
17157  return *this;
17158  }
17159 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
17160 
17162  {
17163  return *reinterpret_cast<const VkCopyMemoryToMicromapInfoEXT *>( this );
17164  }
17165 
17167  {
17168  return *reinterpret_cast<VkCopyMemoryToMicromapInfoEXT *>( this );
17169  }
17170 
17171 #if defined( VULKAN_HPP_USE_REFLECT )
17172 # if 14 <= VULKAN_HPP_CPP_VERSION
17173  auto
17174 # else
17175  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
17176  const void * const &,
17180 # endif
17181  reflect() const VULKAN_HPP_NOEXCEPT
17182  {
17183  return std::tie( sType, pNext, src, dst, mode );
17184  }
17185 #endif
17186 
17187  public:
17189  const void * pNext = {};
17193  };
17194 
17195  template <>
17197  {
17199  };
17200 
17202  {
17204 
17205  static const bool allowDuplicate = false;
17207 
17208 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
17212  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
17213  : pNext( pNext_ )
17214  , src( src_ )
17215  , dst( dst_ )
17216  , mode( mode_ )
17217  {
17218  }
17219 
17221 
17222  CopyMicromapInfoEXT( VkCopyMicromapInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : CopyMicromapInfoEXT( *reinterpret_cast<CopyMicromapInfoEXT const *>( &rhs ) )
17223  {
17224  }
17225 
17227 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
17228 
17230  {
17231  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CopyMicromapInfoEXT const *>( &rhs );
17232  return *this;
17233  }
17234 
17235 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
17237  {
17238  pNext = pNext_;
17239  return *this;
17240  }
17241 
17243  {
17244  src = src_;
17245  return *this;
17246  }
17247 
17249  {
17250  dst = dst_;
17251  return *this;
17252  }
17253 
17255  {
17256  mode = mode_;
17257  return *this;
17258  }
17259 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
17260 
17262  {
17263  return *reinterpret_cast<const VkCopyMicromapInfoEXT *>( this );
17264  }
17265 
17267  {
17268  return *reinterpret_cast<VkCopyMicromapInfoEXT *>( this );
17269  }
17270 
17271 #if defined( VULKAN_HPP_USE_REFLECT )
17272 # if 14 <= VULKAN_HPP_CPP_VERSION
17273  auto
17274 # else
17275  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
17276  const void * const &,
17280 # endif
17281  reflect() const VULKAN_HPP_NOEXCEPT
17282  {
17283  return std::tie( sType, pNext, src, dst, mode );
17284  }
17285 #endif
17286 
17287 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
17288  auto operator<=>( CopyMicromapInfoEXT const & ) const = default;
17289 #else
17291  {
17292 # if defined( VULKAN_HPP_USE_REFLECT )
17293  return this->reflect() == rhs.reflect();
17294 # else
17295  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( src == rhs.src ) && ( dst == rhs.dst ) && ( mode == rhs.mode );
17296 # endif
17297  }
17298 
17300  {
17301  return !operator==( rhs );
17302  }
17303 #endif
17304 
17305  public:
17307  const void * pNext = {};
17311  };
17312 
17313  template <>
17315  {
17317  };
17318 
17320  {
17322 
17323  static const bool allowDuplicate = false;
17325 
17326 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
17330  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
17331  : pNext( pNext_ )
17332  , src( src_ )
17333  , dst( dst_ )
17334  , mode( mode_ )
17335  {
17336  }
17337 
17339 
17341  : CopyMicromapToMemoryInfoEXT( *reinterpret_cast<CopyMicromapToMemoryInfoEXT const *>( &rhs ) )
17342  {
17343  }
17344 
17346 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
17347 
17349  {
17350  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CopyMicromapToMemoryInfoEXT const *>( &rhs );
17351  return *this;
17352  }
17353 
17354 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
17356  {
17357  pNext = pNext_;
17358  return *this;
17359  }
17360 
17362  {
17363  src = src_;
17364  return *this;
17365  }
17366 
17368  {
17369  dst = dst_;
17370  return *this;
17371  }
17372 
17374  {
17375  mode = mode_;
17376  return *this;
17377  }
17378 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
17379 
17381  {
17382  return *reinterpret_cast<const VkCopyMicromapToMemoryInfoEXT *>( this );
17383  }
17384 
17386  {
17387  return *reinterpret_cast<VkCopyMicromapToMemoryInfoEXT *>( this );
17388  }
17389 
17390 #if defined( VULKAN_HPP_USE_REFLECT )
17391 # if 14 <= VULKAN_HPP_CPP_VERSION
17392  auto
17393 # else
17394  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
17395  const void * const &,
17399 # endif
17400  reflect() const VULKAN_HPP_NOEXCEPT
17401  {
17402  return std::tie( sType, pNext, src, dst, mode );
17403  }
17404 #endif
17405 
17406  public:
17408  const void * pNext = {};
17412  };
17413 
17414  template <>
17416  {
17418  };
17419 
17421  {
17423 
17424  static const bool allowDuplicate = false;
17426 
17427 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
17429  CuFunctionCreateInfoNVX( VULKAN_HPP_NAMESPACE::CuModuleNVX module_ = {}, const char * pName_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
17430  : pNext( pNext_ )
17431  , module( module_ )
17432  , pName( pName_ )
17433  {
17434  }
17435 
17437 
17439  : CuFunctionCreateInfoNVX( *reinterpret_cast<CuFunctionCreateInfoNVX const *>( &rhs ) )
17440  {
17441  }
17442 
17444 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
17445 
17447  {
17448  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CuFunctionCreateInfoNVX const *>( &rhs );
17449  return *this;
17450  }
17451 
17452 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
17454  {
17455  pNext = pNext_;
17456  return *this;
17457  }
17458 
17460  {
17461  module = module_;
17462  return *this;
17463  }
17464 
17466  {
17467  pName = pName_;
17468  return *this;
17469  }
17470 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
17471 
17473  {
17474  return *reinterpret_cast<const VkCuFunctionCreateInfoNVX *>( this );
17475  }
17476 
17478  {
17479  return *reinterpret_cast<VkCuFunctionCreateInfoNVX *>( this );
17480  }
17481 
17482 #if defined( VULKAN_HPP_USE_REFLECT )
17483 # if 14 <= VULKAN_HPP_CPP_VERSION
17484  auto
17485 # else
17486  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::CuModuleNVX const &, const char * const &>
17487 # endif
17488  reflect() const VULKAN_HPP_NOEXCEPT
17489  {
17490  return std::tie( sType, pNext, module, pName );
17491  }
17492 #endif
17493 
17494 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
17495  std::strong_ordering operator<=>( CuFunctionCreateInfoNVX const & rhs ) const VULKAN_HPP_NOEXCEPT
17496  {
17497  if ( auto cmp = sType <=> rhs.sType; cmp != 0 )
17498  return cmp;
17499  if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 )
17500  return cmp;
17501  if ( auto cmp = module <=> rhs.module; cmp != 0 )
17502  return cmp;
17503  if ( pName != rhs.pName )
17504  if ( auto cmp = strcmp( pName, rhs.pName ); cmp != 0 )
17505  return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater;
17506 
17507  return std::strong_ordering::equivalent;
17508  }
17509 #endif
17510 
17512  {
17513  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( module == rhs.module ) && ( ( pName == rhs.pName ) || ( strcmp( pName, rhs.pName ) == 0 ) );
17514  }
17515 
17517  {
17518  return !operator==( rhs );
17519  }
17520 
17521  public:
17523  const void * pNext = {};
17525  const char * pName = {};
17526  };
17527 
17528  template <>
17530  {
17532  };
17533 
17535  {
17537 
17538  static const bool allowDuplicate = false;
17540 
17541 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
17543  uint32_t gridDimX_ = {},
17544  uint32_t gridDimY_ = {},
17545  uint32_t gridDimZ_ = {},
17546  uint32_t blockDimX_ = {},
17547  uint32_t blockDimY_ = {},
17548  uint32_t blockDimZ_ = {},
17549  uint32_t sharedMemBytes_ = {},
17550  size_t paramCount_ = {},
17551  const void * const * pParams_ = {},
17552  size_t extraCount_ = {},
17553  const void * const * pExtras_ = {},
17554  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
17555  : pNext( pNext_ )
17556  , function( function_ )
17557  , gridDimX( gridDimX_ )
17558  , gridDimY( gridDimY_ )
17559  , gridDimZ( gridDimZ_ )
17560  , blockDimX( blockDimX_ )
17561  , blockDimY( blockDimY_ )
17562  , blockDimZ( blockDimZ_ )
17563  , sharedMemBytes( sharedMemBytes_ )
17564  , paramCount( paramCount_ )
17565  , pParams( pParams_ )
17566  , extraCount( extraCount_ )
17567  , pExtras( pExtras_ )
17568  {
17569  }
17570 
17572 
17573  CuLaunchInfoNVX( VkCuLaunchInfoNVX const & rhs ) VULKAN_HPP_NOEXCEPT : CuLaunchInfoNVX( *reinterpret_cast<CuLaunchInfoNVX const *>( &rhs ) ) {}
17574 
17575 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
17577  uint32_t gridDimX_,
17578  uint32_t gridDimY_,
17579  uint32_t gridDimZ_,
17580  uint32_t blockDimX_,
17581  uint32_t blockDimY_,
17582  uint32_t blockDimZ_,
17583  uint32_t sharedMemBytes_,
17586  const void * pNext_ = nullptr )
17587  : pNext( pNext_ )
17588  , function( function_ )
17589  , gridDimX( gridDimX_ )
17590  , gridDimY( gridDimY_ )
17591  , gridDimZ( gridDimZ_ )
17592  , blockDimX( blockDimX_ )
17593  , blockDimY( blockDimY_ )
17594  , blockDimZ( blockDimZ_ )
17595  , sharedMemBytes( sharedMemBytes_ )
17596  , paramCount( params_.size() )
17597  , pParams( params_.data() )
17598  , extraCount( extras_.size() )
17599  , pExtras( extras_.data() )
17600  {
17601  }
17602 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
17603 
17604  CuLaunchInfoNVX & operator=( CuLaunchInfoNVX const & rhs ) VULKAN_HPP_NOEXCEPT = default;
17605 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
17606 
17608  {
17609  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CuLaunchInfoNVX const *>( &rhs );
17610  return *this;
17611  }
17612 
17613 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
17615  {
17616  pNext = pNext_;
17617  return *this;
17618  }
17619 
17621  {
17622  function = function_;
17623  return *this;
17624  }
17625 
17627  {
17628  gridDimX = gridDimX_;
17629  return *this;
17630  }
17631 
17633  {
17634  gridDimY = gridDimY_;
17635  return *this;
17636  }
17637 
17639  {
17640  gridDimZ = gridDimZ_;
17641  return *this;
17642  }
17643 
17645  {
17646  blockDimX = blockDimX_;
17647  return *this;
17648  }
17649 
17651  {
17652  blockDimY = blockDimY_;
17653  return *this;
17654  }
17655 
17657  {
17658  blockDimZ = blockDimZ_;
17659  return *this;
17660  }
17661 
17663  {
17664  sharedMemBytes = sharedMemBytes_;
17665  return *this;
17666  }
17667 
17669  {
17670  paramCount = paramCount_;
17671  return *this;
17672  }
17673 
17675  {
17676  pParams = pParams_;
17677  return *this;
17678  }
17679 
17680 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
17682  {
17683  paramCount = params_.size();
17684  pParams = params_.data();
17685  return *this;
17686  }
17687 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
17688 
17690  {
17691  extraCount = extraCount_;
17692  return *this;
17693  }
17694 
17696  {
17697  pExtras = pExtras_;
17698  return *this;
17699  }
17700 
17701 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
17703  {
17704  extraCount = extras_.size();
17705  pExtras = extras_.data();
17706  return *this;
17707  }
17708 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
17709 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
17710 
17711  operator VkCuLaunchInfoNVX const &() const VULKAN_HPP_NOEXCEPT
17712  {
17713  return *reinterpret_cast<const VkCuLaunchInfoNVX *>( this );
17714  }
17715 
17717  {
17718  return *reinterpret_cast<VkCuLaunchInfoNVX *>( this );
17719  }
17720 
17721 #if defined( VULKAN_HPP_USE_REFLECT )
17722 # if 14 <= VULKAN_HPP_CPP_VERSION
17723  auto
17724 # else
17725  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
17726  const void * const &,
17728  uint32_t const &,
17729  uint32_t const &,
17730  uint32_t const &,
17731  uint32_t const &,
17732  uint32_t const &,
17733  uint32_t const &,
17734  uint32_t const &,
17735  size_t const &,
17736  const void * const * const &,
17737  size_t const &,
17738  const void * const * const &>
17739 # endif
17740  reflect() const VULKAN_HPP_NOEXCEPT
17741  {
17742  return std::tie(
17744  }
17745 #endif
17746 
17747 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
17748  auto operator<=>( CuLaunchInfoNVX const & ) const = default;
17749 #else
17751  {
17752 # if defined( VULKAN_HPP_USE_REFLECT )
17753  return this->reflect() == rhs.reflect();
17754 # else
17755  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( function == rhs.function ) && ( gridDimX == rhs.gridDimX ) && ( gridDimY == rhs.gridDimY ) &&
17756  ( gridDimZ == rhs.gridDimZ ) && ( blockDimX == rhs.blockDimX ) && ( blockDimY == rhs.blockDimY ) && ( blockDimZ == rhs.blockDimZ ) &&
17757  ( sharedMemBytes == rhs.sharedMemBytes ) && ( paramCount == rhs.paramCount ) && ( pParams == rhs.pParams ) && ( extraCount == rhs.extraCount ) &&
17758  ( pExtras == rhs.pExtras );
17759 # endif
17760  }
17761 
17763  {
17764  return !operator==( rhs );
17765  }
17766 #endif
17767 
17768  public:
17770  const void * pNext = {};
17772  uint32_t gridDimX = {};
17773  uint32_t gridDimY = {};
17774  uint32_t gridDimZ = {};
17775  uint32_t blockDimX = {};
17776  uint32_t blockDimY = {};
17777  uint32_t blockDimZ = {};
17778  uint32_t sharedMemBytes = {};
17779  size_t paramCount = {};
17780  const void * const * pParams = {};
17781  size_t extraCount = {};
17782  const void * const * pExtras = {};
17783  };
17784 
17785  template <>
17787  {
17789  };
17790 
17792  {
17794 
17795  static const bool allowDuplicate = false;
17797 
17798 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
17799  VULKAN_HPP_CONSTEXPR CuModuleCreateInfoNVX( size_t dataSize_ = {}, const void * pData_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
17800  : pNext( pNext_ )
17801  , dataSize( dataSize_ )
17802  , pData( pData_ )
17803  {
17804  }
17805 
17807 
17809  : CuModuleCreateInfoNVX( *reinterpret_cast<CuModuleCreateInfoNVX const *>( &rhs ) )
17810  {
17811  }
17812 
17813 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
17814  template <typename T>
17816  : pNext( pNext_ ), dataSize( data_.size() * sizeof( T ) ), pData( data_.data() )
17817  {
17818  }
17819 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
17820 
17822 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
17823 
17825  {
17826  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::CuModuleCreateInfoNVX const *>( &rhs );
17827  return *this;
17828  }
17829 
17830 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
17832  {
17833  pNext = pNext_;
17834  return *this;
17835  }
17836 
17838  {
17839  dataSize = dataSize_;
17840  return *this;
17841  }
17842 
17844  {
17845  pData = pData_;
17846  return *this;
17847  }
17848 
17849 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
17850  template <typename T>
17852  {
17853  dataSize = data_.size() * sizeof( T );
17854  pData = data_.data();
17855  return *this;
17856  }
17857 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
17858 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
17859 
17861  {
17862  return *reinterpret_cast<const VkCuModuleCreateInfoNVX *>( this );
17863  }
17864 
17866  {
17867  return *reinterpret_cast<VkCuModuleCreateInfoNVX *>( this );
17868  }
17869 
17870 #if defined( VULKAN_HPP_USE_REFLECT )
17871 # if 14 <= VULKAN_HPP_CPP_VERSION
17872  auto
17873 # else
17874  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, size_t const &, const void * const &>
17875 # endif
17876  reflect() const VULKAN_HPP_NOEXCEPT
17877  {
17878  return std::tie( sType, pNext, dataSize, pData );
17879  }
17880 #endif
17881 
17882 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
17883  auto operator<=>( CuModuleCreateInfoNVX const & ) const = default;
17884 #else
17886  {
17887 # if defined( VULKAN_HPP_USE_REFLECT )
17888  return this->reflect() == rhs.reflect();
17889 # else
17890  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( dataSize == rhs.dataSize ) && ( pData == rhs.pData );
17891 # endif
17892  }
17893 
17895  {
17896  return !operator==( rhs );
17897  }
17898 #endif
17899 
17900  public:
17902  const void * pNext = {};
17903  size_t dataSize = {};
17904  const void * pData = {};
17905  };
17906 
17907  template <>
17909  {
17911  };
17912 
17913 #if defined( VK_USE_PLATFORM_WIN32_KHR )
17914  struct D3D12FenceSubmitInfoKHR
17915  {
17916  using NativeType = VkD3D12FenceSubmitInfoKHR;
17917 
17918  static const bool allowDuplicate = false;
17919  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eD3D12FenceSubmitInfoKHR;
17920 
17921 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
17922  VULKAN_HPP_CONSTEXPR D3D12FenceSubmitInfoKHR( uint32_t waitSemaphoreValuesCount_ = {},
17923  const uint64_t * pWaitSemaphoreValues_ = {},
17924  uint32_t signalSemaphoreValuesCount_ = {},
17925  const uint64_t * pSignalSemaphoreValues_ = {},
17926  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
17927  : pNext( pNext_ )
17928  , waitSemaphoreValuesCount( waitSemaphoreValuesCount_ )
17929  , pWaitSemaphoreValues( pWaitSemaphoreValues_ )
17930  , signalSemaphoreValuesCount( signalSemaphoreValuesCount_ )
17931  , pSignalSemaphoreValues( pSignalSemaphoreValues_ )
17932  {
17933  }
17934 
17935  VULKAN_HPP_CONSTEXPR D3D12FenceSubmitInfoKHR( D3D12FenceSubmitInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
17936 
17937  D3D12FenceSubmitInfoKHR( VkD3D12FenceSubmitInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
17938  : D3D12FenceSubmitInfoKHR( *reinterpret_cast<D3D12FenceSubmitInfoKHR const *>( &rhs ) )
17939  {
17940  }
17941 
17942 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
17943  D3D12FenceSubmitInfoKHR( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const & waitSemaphoreValues_,
17944  VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const & signalSemaphoreValues_ = {},
17945  const void * pNext_ = nullptr )
17946  : pNext( pNext_ )
17947  , waitSemaphoreValuesCount( static_cast<uint32_t>( waitSemaphoreValues_.size() ) )
17948  , pWaitSemaphoreValues( waitSemaphoreValues_.data() )
17949  , signalSemaphoreValuesCount( static_cast<uint32_t>( signalSemaphoreValues_.size() ) )
17950  , pSignalSemaphoreValues( signalSemaphoreValues_.data() )
17951  {
17952  }
17953 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
17954 
17955  D3D12FenceSubmitInfoKHR & operator=( D3D12FenceSubmitInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
17956 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
17957 
17958  D3D12FenceSubmitInfoKHR & operator=( VkD3D12FenceSubmitInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
17959  {
17960  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::D3D12FenceSubmitInfoKHR const *>( &rhs );
17961  return *this;
17962  }
17963 
17964 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
17965  VULKAN_HPP_CONSTEXPR_14 D3D12FenceSubmitInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
17966  {
17967  pNext = pNext_;
17968  return *this;
17969  }
17970 
17971  VULKAN_HPP_CONSTEXPR_14 D3D12FenceSubmitInfoKHR & setWaitSemaphoreValuesCount( uint32_t waitSemaphoreValuesCount_ ) VULKAN_HPP_NOEXCEPT
17972  {
17973  waitSemaphoreValuesCount = waitSemaphoreValuesCount_;
17974  return *this;
17975  }
17976 
17977  VULKAN_HPP_CONSTEXPR_14 D3D12FenceSubmitInfoKHR & setPWaitSemaphoreValues( const uint64_t * pWaitSemaphoreValues_ ) VULKAN_HPP_NOEXCEPT
17978  {
17979  pWaitSemaphoreValues = pWaitSemaphoreValues_;
17980  return *this;
17981  }
17982 
17983 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
17984  D3D12FenceSubmitInfoKHR &
17985  setWaitSemaphoreValues( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const & waitSemaphoreValues_ ) VULKAN_HPP_NOEXCEPT
17986  {
17987  waitSemaphoreValuesCount = static_cast<uint32_t>( waitSemaphoreValues_.size() );
17988  pWaitSemaphoreValues = waitSemaphoreValues_.data();
17989  return *this;
17990  }
17991 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
17992 
17993  VULKAN_HPP_CONSTEXPR_14 D3D12FenceSubmitInfoKHR & setSignalSemaphoreValuesCount( uint32_t signalSemaphoreValuesCount_ ) VULKAN_HPP_NOEXCEPT
17994  {
17995  signalSemaphoreValuesCount = signalSemaphoreValuesCount_;
17996  return *this;
17997  }
17998 
17999  VULKAN_HPP_CONSTEXPR_14 D3D12FenceSubmitInfoKHR & setPSignalSemaphoreValues( const uint64_t * pSignalSemaphoreValues_ ) VULKAN_HPP_NOEXCEPT
18000  {
18001  pSignalSemaphoreValues = pSignalSemaphoreValues_;
18002  return *this;
18003  }
18004 
18005 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
18006  D3D12FenceSubmitInfoKHR &
18007  setSignalSemaphoreValues( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const & signalSemaphoreValues_ ) VULKAN_HPP_NOEXCEPT
18008  {
18009  signalSemaphoreValuesCount = static_cast<uint32_t>( signalSemaphoreValues_.size() );
18010  pSignalSemaphoreValues = signalSemaphoreValues_.data();
18011  return *this;
18012  }
18013 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
18014 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
18015 
18016  operator VkD3D12FenceSubmitInfoKHR const &() const VULKAN_HPP_NOEXCEPT
18017  {
18018  return *reinterpret_cast<const VkD3D12FenceSubmitInfoKHR *>( this );
18019  }
18020 
18022  {
18023  return *reinterpret_cast<VkD3D12FenceSubmitInfoKHR *>( this );
18024  }
18025 
18026 # if defined( VULKAN_HPP_USE_REFLECT )
18027 # if 14 <= VULKAN_HPP_CPP_VERSION
18028  auto
18029 # else
18030  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
18031  const void * const &,
18032  uint32_t const &,
18033  const uint64_t * const &,
18034  uint32_t const &,
18035  const uint64_t * const &>
18036 # endif
18037  reflect() const VULKAN_HPP_NOEXCEPT
18038  {
18039  return std::tie( sType, pNext, waitSemaphoreValuesCount, pWaitSemaphoreValues, signalSemaphoreValuesCount, pSignalSemaphoreValues );
18040  }
18041 # endif
18042 
18043 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
18044  auto operator<=>( D3D12FenceSubmitInfoKHR const & ) const = default;
18045 # else
18046  bool operator==( D3D12FenceSubmitInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
18047  {
18048 # if defined( VULKAN_HPP_USE_REFLECT )
18049  return this->reflect() == rhs.reflect();
18050 # else
18051  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( waitSemaphoreValuesCount == rhs.waitSemaphoreValuesCount ) &&
18052  ( pWaitSemaphoreValues == rhs.pWaitSemaphoreValues ) && ( signalSemaphoreValuesCount == rhs.signalSemaphoreValuesCount ) &&
18053  ( pSignalSemaphoreValues == rhs.pSignalSemaphoreValues );
18054 # endif
18055  }
18056 
18057  bool operator!=( D3D12FenceSubmitInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
18058  {
18059  return !operator==( rhs );
18060  }
18061 # endif
18062 
18063  public:
18064  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eD3D12FenceSubmitInfoKHR;
18065  const void * pNext = {};
18066  uint32_t waitSemaphoreValuesCount = {};
18067  const uint64_t * pWaitSemaphoreValues = {};
18068  uint32_t signalSemaphoreValuesCount = {};
18069  const uint64_t * pSignalSemaphoreValues = {};
18070  };
18071 
18072  template <>
18073  struct CppType<StructureType, StructureType::eD3D12FenceSubmitInfoKHR>
18074  {
18075  using Type = D3D12FenceSubmitInfoKHR;
18076  };
18077 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18078 
18080  {
18082 
18083  static const bool allowDuplicate = false;
18085 
18086 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
18088  DebugMarkerMarkerInfoEXT( const char * pMarkerName_ = {}, std::array<float, 4> const & color_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
18089  : pNext( pNext_ )
18090  , pMarkerName( pMarkerName_ )
18091  , color( color_ )
18092  {
18093  }
18094 
18096 
18098  : DebugMarkerMarkerInfoEXT( *reinterpret_cast<DebugMarkerMarkerInfoEXT const *>( &rhs ) )
18099  {
18100  }
18101 
18103 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
18104 
18106  {
18107  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DebugMarkerMarkerInfoEXT const *>( &rhs );
18108  return *this;
18109  }
18110 
18111 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
18113  {
18114  pNext = pNext_;
18115  return *this;
18116  }
18117 
18119  {
18120  pMarkerName = pMarkerName_;
18121  return *this;
18122  }
18123 
18125  {
18126  color = color_;
18127  return *this;
18128  }
18129 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
18130 
18132  {
18133  return *reinterpret_cast<const VkDebugMarkerMarkerInfoEXT *>( this );
18134  }
18135 
18137  {
18138  return *reinterpret_cast<VkDebugMarkerMarkerInfoEXT *>( this );
18139  }
18140 
18141 #if defined( VULKAN_HPP_USE_REFLECT )
18142 # if 14 <= VULKAN_HPP_CPP_VERSION
18143  auto
18144 # else
18145  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, const char * const &, VULKAN_HPP_NAMESPACE::ArrayWrapper1D<float, 4> const &>
18146 # endif
18147  reflect() const VULKAN_HPP_NOEXCEPT
18148  {
18149  return std::tie( sType, pNext, pMarkerName, color );
18150  }
18151 #endif
18152 
18153 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
18154  std::partial_ordering operator<=>( DebugMarkerMarkerInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
18155  {
18156  if ( auto cmp = sType <=> rhs.sType; cmp != 0 )
18157  return cmp;
18158  if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 )
18159  return cmp;
18160  if ( pMarkerName != rhs.pMarkerName )
18161  if ( auto cmp = strcmp( pMarkerName, rhs.pMarkerName ); cmp != 0 )
18162  return ( cmp < 0 ) ? std::partial_ordering::less : std::partial_ordering::greater;
18163  if ( auto cmp = color <=> rhs.color; cmp != 0 )
18164  return cmp;
18165 
18166  return std::partial_ordering::equivalent;
18167  }
18168 #endif
18169 
18171  {
18172  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( ( pMarkerName == rhs.pMarkerName ) || ( strcmp( pMarkerName, rhs.pMarkerName ) == 0 ) ) &&
18173  ( color == rhs.color );
18174  }
18175 
18177  {
18178  return !operator==( rhs );
18179  }
18180 
18181  public:
18183  const void * pNext = {};
18184  const char * pMarkerName = {};
18186  };
18187 
18188  template <>
18190  {
18192  };
18193 
18195  {
18197 
18198  static const bool allowDuplicate = false;
18200 
18201 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
18204  uint64_t object_ = {},
18205  const char * pObjectName_ = {},
18206  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
18207  : pNext( pNext_ )
18208  , objectType( objectType_ )
18209  , object( object_ )
18210  , pObjectName( pObjectName_ )
18211  {
18212  }
18213 
18215 
18217  : DebugMarkerObjectNameInfoEXT( *reinterpret_cast<DebugMarkerObjectNameInfoEXT const *>( &rhs ) )
18218  {
18219  }
18220 
18222 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
18223 
18225  {
18226  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DebugMarkerObjectNameInfoEXT const *>( &rhs );
18227  return *this;
18228  }
18229 
18230 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
18232  {
18233  pNext = pNext_;
18234  return *this;
18235  }
18236 
18238  {
18239  objectType = objectType_;
18240  return *this;
18241  }
18242 
18244  {
18245  object = object_;
18246  return *this;
18247  }
18248 
18250  {
18251  pObjectName = pObjectName_;
18252  return *this;
18253  }
18254 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
18255 
18257  {
18258  return *reinterpret_cast<const VkDebugMarkerObjectNameInfoEXT *>( this );
18259  }
18260 
18262  {
18263  return *reinterpret_cast<VkDebugMarkerObjectNameInfoEXT *>( this );
18264  }
18265 
18266 #if defined( VULKAN_HPP_USE_REFLECT )
18267 # if 14 <= VULKAN_HPP_CPP_VERSION
18268  auto
18269 # else
18270  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
18271  const void * const &,
18273  uint64_t const &,
18274  const char * const &>
18275 # endif
18276  reflect() const VULKAN_HPP_NOEXCEPT
18277  {
18278  return std::tie( sType, pNext, objectType, object, pObjectName );
18279  }
18280 #endif
18281 
18282 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
18283  std::strong_ordering operator<=>( DebugMarkerObjectNameInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
18284  {
18285  if ( auto cmp = sType <=> rhs.sType; cmp != 0 )
18286  return cmp;
18287  if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 )
18288  return cmp;
18289  if ( auto cmp = objectType <=> rhs.objectType; cmp != 0 )
18290  return cmp;
18291  if ( auto cmp = object <=> rhs.object; cmp != 0 )
18292  return cmp;
18293  if ( pObjectName != rhs.pObjectName )
18294  if ( auto cmp = strcmp( pObjectName, rhs.pObjectName ); cmp != 0 )
18295  return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater;
18296 
18297  return std::strong_ordering::equivalent;
18298  }
18299 #endif
18300 
18302  {
18303  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( objectType == rhs.objectType ) && ( object == rhs.object ) &&
18304  ( ( pObjectName == rhs.pObjectName ) || ( strcmp( pObjectName, rhs.pObjectName ) == 0 ) );
18305  }
18306 
18308  {
18309  return !operator==( rhs );
18310  }
18311 
18312  public:
18314  const void * pNext = {};
18316  uint64_t object = {};
18317  const char * pObjectName = {};
18318  };
18319 
18320  template <>
18322  {
18324  };
18325 
18327  {
18329 
18330  static const bool allowDuplicate = false;
18332 
18333 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
18336  uint64_t object_ = {},
18337  uint64_t tagName_ = {},
18338  size_t tagSize_ = {},
18339  const void * pTag_ = {},
18340  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
18341  : pNext( pNext_ )
18342  , objectType( objectType_ )
18343  , object( object_ )
18344  , tagName( tagName_ )
18345  , tagSize( tagSize_ )
18346  , pTag( pTag_ )
18347  {
18348  }
18349 
18351 
18353  : DebugMarkerObjectTagInfoEXT( *reinterpret_cast<DebugMarkerObjectTagInfoEXT const *>( &rhs ) )
18354  {
18355  }
18356 
18357 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
18358  template <typename T>
18360  uint64_t object_,
18361  uint64_t tagName_,
18363  const void * pNext_ = nullptr )
18364  : pNext( pNext_ ), objectType( objectType_ ), object( object_ ), tagName( tagName_ ), tagSize( tag_.size() * sizeof( T ) ), pTag( tag_.data() )
18365  {
18366  }
18367 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
18368 
18370 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
18371 
18373  {
18374  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DebugMarkerObjectTagInfoEXT const *>( &rhs );
18375  return *this;
18376  }
18377 
18378 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
18380  {
18381  pNext = pNext_;
18382  return *this;
18383  }
18384 
18386  {
18387  objectType = objectType_;
18388  return *this;
18389  }
18390 
18392  {
18393  object = object_;
18394  return *this;
18395  }
18396 
18398  {
18399  tagName = tagName_;
18400  return *this;
18401  }
18402 
18404  {
18405  tagSize = tagSize_;
18406  return *this;
18407  }
18408 
18410  {
18411  pTag = pTag_;
18412  return *this;
18413  }
18414 
18415 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
18416  template <typename T>
18418  {
18419  tagSize = tag_.size() * sizeof( T );
18420  pTag = tag_.data();
18421  return *this;
18422  }
18423 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
18424 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
18425 
18427  {
18428  return *reinterpret_cast<const VkDebugMarkerObjectTagInfoEXT *>( this );
18429  }
18430 
18432  {
18433  return *reinterpret_cast<VkDebugMarkerObjectTagInfoEXT *>( this );
18434  }
18435 
18436 #if defined( VULKAN_HPP_USE_REFLECT )
18437 # if 14 <= VULKAN_HPP_CPP_VERSION
18438  auto
18439 # else
18440  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
18441  const void * const &,
18443  uint64_t const &,
18444  uint64_t const &,
18445  size_t const &,
18446  const void * const &>
18447 # endif
18448  reflect() const VULKAN_HPP_NOEXCEPT
18449  {
18450  return std::tie( sType, pNext, objectType, object, tagName, tagSize, pTag );
18451  }
18452 #endif
18453 
18454 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
18455  auto operator<=>( DebugMarkerObjectTagInfoEXT const & ) const = default;
18456 #else
18458  {
18459 # if defined( VULKAN_HPP_USE_REFLECT )
18460  return this->reflect() == rhs.reflect();
18461 # else
18462  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( objectType == rhs.objectType ) && ( object == rhs.object ) && ( tagName == rhs.tagName ) &&
18463  ( tagSize == rhs.tagSize ) && ( pTag == rhs.pTag );
18464 # endif
18465  }
18466 
18468  {
18469  return !operator==( rhs );
18470  }
18471 #endif
18472 
18473  public:
18475  const void * pNext = {};
18477  uint64_t object = {};
18478  uint64_t tagName = {};
18479  size_t tagSize = {};
18480  const void * pTag = {};
18481  };
18482 
18483  template <>
18485  {
18487  };
18488 
18490  {
18492 
18493  static const bool allowDuplicate = false;
18495 
18496 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
18498  PFN_vkDebugReportCallbackEXT pfnCallback_ = {},
18499  void * pUserData_ = {},
18500  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
18501  : pNext( pNext_ )
18502  , flags( flags_ )
18503  , pfnCallback( pfnCallback_ )
18504  , pUserData( pUserData_ )
18505  {
18506  }
18507 
18509 
18511  : DebugReportCallbackCreateInfoEXT( *reinterpret_cast<DebugReportCallbackCreateInfoEXT const *>( &rhs ) )
18512  {
18513  }
18514 
18516 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
18517 
18519  {
18520  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DebugReportCallbackCreateInfoEXT const *>( &rhs );
18521  return *this;
18522  }
18523 
18524 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
18526  {
18527  pNext = pNext_;
18528  return *this;
18529  }
18530 
18532  {
18533  flags = flags_;
18534  return *this;
18535  }
18536 
18538  {
18539  pfnCallback = pfnCallback_;
18540  return *this;
18541  }
18542 
18544  {
18545  pUserData = pUserData_;
18546  return *this;
18547  }
18548 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
18549 
18551  {
18552  return *reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT *>( this );
18553  }
18554 
18556  {
18557  return *reinterpret_cast<VkDebugReportCallbackCreateInfoEXT *>( this );
18558  }
18559 
18560 #if defined( VULKAN_HPP_USE_REFLECT )
18561 # if 14 <= VULKAN_HPP_CPP_VERSION
18562  auto
18563 # else
18564  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
18565  const void * const &,
18568  void * const &>
18569 # endif
18570  reflect() const VULKAN_HPP_NOEXCEPT
18571  {
18572  return std::tie( sType, pNext, flags, pfnCallback, pUserData );
18573  }
18574 #endif
18575 
18577  {
18578 #if defined( VULKAN_HPP_USE_REFLECT )
18579  return this->reflect() == rhs.reflect();
18580 #else
18581  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( pfnCallback == rhs.pfnCallback ) && ( pUserData == rhs.pUserData );
18582 #endif
18583  }
18584 
18586  {
18587  return !operator==( rhs );
18588  }
18589 
18590  public:
18592  const void * pNext = {};
18595  void * pUserData = {};
18596  };
18597 
18598  template <>
18600  {
18602  };
18603 
18605  {
18607 
18608  static const bool allowDuplicate = false;
18610 
18611 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
18613  DebugUtilsLabelEXT( const char * pLabelName_ = {}, std::array<float, 4> const & color_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
18614  : pNext( pNext_ )
18615  , pLabelName( pLabelName_ )
18616  , color( color_ )
18617  {
18618  }
18619 
18621 
18622  DebugUtilsLabelEXT( VkDebugUtilsLabelEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DebugUtilsLabelEXT( *reinterpret_cast<DebugUtilsLabelEXT const *>( &rhs ) ) {}
18623 
18625 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
18626 
18628  {
18629  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT const *>( &rhs );
18630  return *this;
18631  }
18632 
18633 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
18635  {
18636  pNext = pNext_;
18637  return *this;
18638  }
18639 
18641  {
18642  pLabelName = pLabelName_;
18643  return *this;
18644  }
18645 
18647  {
18648  color = color_;
18649  return *this;
18650  }
18651 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
18652 
18654  {
18655  return *reinterpret_cast<const VkDebugUtilsLabelEXT *>( this );
18656  }
18657 
18659  {
18660  return *reinterpret_cast<VkDebugUtilsLabelEXT *>( this );
18661  }
18662 
18663 #if defined( VULKAN_HPP_USE_REFLECT )
18664 # if 14 <= VULKAN_HPP_CPP_VERSION
18665  auto
18666 # else
18667  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, const char * const &, VULKAN_HPP_NAMESPACE::ArrayWrapper1D<float, 4> const &>
18668 # endif
18669  reflect() const VULKAN_HPP_NOEXCEPT
18670  {
18671  return std::tie( sType, pNext, pLabelName, color );
18672  }
18673 #endif
18674 
18675 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
18676  std::partial_ordering operator<=>( DebugUtilsLabelEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
18677  {
18678  if ( auto cmp = sType <=> rhs.sType; cmp != 0 )
18679  return cmp;
18680  if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 )
18681  return cmp;
18682  if ( pLabelName != rhs.pLabelName )
18683  if ( auto cmp = strcmp( pLabelName, rhs.pLabelName ); cmp != 0 )
18684  return ( cmp < 0 ) ? std::partial_ordering::less : std::partial_ordering::greater;
18685  if ( auto cmp = color <=> rhs.color; cmp != 0 )
18686  return cmp;
18687 
18688  return std::partial_ordering::equivalent;
18689  }
18690 #endif
18691 
18693  {
18694  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( ( pLabelName == rhs.pLabelName ) || ( strcmp( pLabelName, rhs.pLabelName ) == 0 ) ) &&
18695  ( color == rhs.color );
18696  }
18697 
18699  {
18700  return !operator==( rhs );
18701  }
18702 
18703  public:
18705  const void * pNext = {};
18706  const char * pLabelName = {};
18708  };
18709 
18710  template <>
18712  {
18714  };
18715 
18717  {
18719 
18720  static const bool allowDuplicate = false;
18722 
18723 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
18725  uint64_t objectHandle_ = {},
18726  const char * pObjectName_ = {},
18727  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
18728  : pNext( pNext_ )
18729  , objectType( objectType_ )
18730  , objectHandle( objectHandle_ )
18731  , pObjectName( pObjectName_ )
18732  {
18733  }
18734 
18736 
18738  : DebugUtilsObjectNameInfoEXT( *reinterpret_cast<DebugUtilsObjectNameInfoEXT const *>( &rhs ) )
18739  {
18740  }
18741 
18743 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
18744 
18746  {
18747  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT const *>( &rhs );
18748  return *this;
18749  }
18750 
18751 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
18753  {
18754  pNext = pNext_;
18755  return *this;
18756  }
18757 
18759  {
18760  objectType = objectType_;
18761  return *this;
18762  }
18763 
18765  {
18766  objectHandle = objectHandle_;
18767  return *this;
18768  }
18769 
18771  {
18772  pObjectName = pObjectName_;
18773  return *this;
18774  }
18775 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
18776 
18778  {
18779  return *reinterpret_cast<const VkDebugUtilsObjectNameInfoEXT *>( this );
18780  }
18781 
18783  {
18784  return *reinterpret_cast<VkDebugUtilsObjectNameInfoEXT *>( this );
18785  }
18786 
18787 #if defined( VULKAN_HPP_USE_REFLECT )
18788 # if 14 <= VULKAN_HPP_CPP_VERSION
18789  auto
18790 # else
18791  std::
18792  tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::ObjectType const &, uint64_t const &, const char * const &>
18793 # endif
18794  reflect() const VULKAN_HPP_NOEXCEPT
18795  {
18796  return std::tie( sType, pNext, objectType, objectHandle, pObjectName );
18797  }
18798 #endif
18799 
18800 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
18801  std::strong_ordering operator<=>( DebugUtilsObjectNameInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
18802  {
18803  if ( auto cmp = sType <=> rhs.sType; cmp != 0 )
18804  return cmp;
18805  if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 )
18806  return cmp;
18807  if ( auto cmp = objectType <=> rhs.objectType; cmp != 0 )
18808  return cmp;
18809  if ( auto cmp = objectHandle <=> rhs.objectHandle; cmp != 0 )
18810  return cmp;
18811  if ( pObjectName != rhs.pObjectName )
18812  if ( auto cmp = strcmp( pObjectName, rhs.pObjectName ); cmp != 0 )
18813  return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater;
18814 
18815  return std::strong_ordering::equivalent;
18816  }
18817 #endif
18818 
18820  {
18821  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( objectType == rhs.objectType ) && ( objectHandle == rhs.objectHandle ) &&
18822  ( ( pObjectName == rhs.pObjectName ) || ( strcmp( pObjectName, rhs.pObjectName ) == 0 ) );
18823  }
18824 
18826  {
18827  return !operator==( rhs );
18828  }
18829 
18830  public:
18832  const void * pNext = {};
18834  uint64_t objectHandle = {};
18835  const char * pObjectName = {};
18836  };
18837 
18838  template <>
18840  {
18842  };
18843 
18845  {
18847 
18848  static const bool allowDuplicate = false;
18850 
18851 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
18853  const char * pMessageIdName_ = {},
18854  int32_t messageIdNumber_ = {},
18855  const char * pMessage_ = {},
18856  uint32_t queueLabelCount_ = {},
18857  const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT * pQueueLabels_ = {},
18858  uint32_t cmdBufLabelCount_ = {},
18859  const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT * pCmdBufLabels_ = {},
18860  uint32_t objectCount_ = {},
18862  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
18863  : pNext( pNext_ )
18864  , flags( flags_ )
18865  , pMessageIdName( pMessageIdName_ )
18866  , messageIdNumber( messageIdNumber_ )
18867  , pMessage( pMessage_ )
18868  , queueLabelCount( queueLabelCount_ )
18869  , pQueueLabels( pQueueLabels_ )
18870  , cmdBufLabelCount( cmdBufLabelCount_ )
18871  , pCmdBufLabels( pCmdBufLabels_ )
18872  , objectCount( objectCount_ )
18873  , pObjects( pObjects_ )
18874  {
18875  }
18876 
18878 
18880  : DebugUtilsMessengerCallbackDataEXT( *reinterpret_cast<DebugUtilsMessengerCallbackDataEXT const *>( &rhs ) )
18881  {
18882  }
18883 
18884 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
18887  const char * pMessageIdName_,
18888  int32_t messageIdNumber_,
18889  const char * pMessage_,
18893  const void * pNext_ = nullptr )
18894  : pNext( pNext_ )
18895  , flags( flags_ )
18896  , pMessageIdName( pMessageIdName_ )
18897  , messageIdNumber( messageIdNumber_ )
18898  , pMessage( pMessage_ )
18899  , queueLabelCount( static_cast<uint32_t>( queueLabels_.size() ) )
18900  , pQueueLabels( queueLabels_.data() )
18901  , cmdBufLabelCount( static_cast<uint32_t>( cmdBufLabels_.size() ) )
18902  , pCmdBufLabels( cmdBufLabels_.data() )
18903  , objectCount( static_cast<uint32_t>( objects_.size() ) )
18904  , pObjects( objects_.data() )
18905  {
18906  }
18907 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
18908 
18910 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
18911 
18913  {
18914  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCallbackDataEXT const *>( &rhs );
18915  return *this;
18916  }
18917 
18918 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
18920  {
18921  pNext = pNext_;
18922  return *this;
18923  }
18924 
18927  {
18928  flags = flags_;
18929  return *this;
18930  }
18931 
18933  {
18934  pMessageIdName = pMessageIdName_;
18935  return *this;
18936  }
18937 
18939  {
18940  messageIdNumber = messageIdNumber_;
18941  return *this;
18942  }
18943 
18945  {
18946  pMessage = pMessage_;
18947  return *this;
18948  }
18949 
18951  {
18952  queueLabelCount = queueLabelCount_;
18953  return *this;
18954  }
18955 
18958  {
18959  pQueueLabels = pQueueLabels_;
18960  return *this;
18961  }
18962 
18963 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
18966  {
18967  queueLabelCount = static_cast<uint32_t>( queueLabels_.size() );
18968  pQueueLabels = queueLabels_.data();
18969  return *this;
18970  }
18971 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
18972 
18974  {
18975  cmdBufLabelCount = cmdBufLabelCount_;
18976  return *this;
18977  }
18978 
18981  {
18982  pCmdBufLabels = pCmdBufLabels_;
18983  return *this;
18984  }
18985 
18986 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
18989  {
18990  cmdBufLabelCount = static_cast<uint32_t>( cmdBufLabels_.size() );
18991  pCmdBufLabels = cmdBufLabels_.data();
18992  return *this;
18993  }
18994 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
18995 
18997  {
18998  objectCount = objectCount_;
18999  return *this;
19000  }
19001 
19004  {
19005  pObjects = pObjects_;
19006  return *this;
19007  }
19008 
19009 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
19012  {
19013  objectCount = static_cast<uint32_t>( objects_.size() );
19014  pObjects = objects_.data();
19015  return *this;
19016  }
19017 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
19018 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
19019 
19021  {
19022  return *reinterpret_cast<const VkDebugUtilsMessengerCallbackDataEXT *>( this );
19023  }
19024 
19026  {
19027  return *reinterpret_cast<VkDebugUtilsMessengerCallbackDataEXT *>( this );
19028  }
19029 
19030 #if defined( VULKAN_HPP_USE_REFLECT )
19031 # if 14 <= VULKAN_HPP_CPP_VERSION
19032  auto
19033 # else
19034  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
19035  const void * const &,
19037  const char * const &,
19038  int32_t const &,
19039  const char * const &,
19040  uint32_t const &,
19042  uint32_t const &,
19044  uint32_t const &,
19046 # endif
19047  reflect() const VULKAN_HPP_NOEXCEPT
19048  {
19049  return std::tie(
19051  }
19052 #endif
19053 
19054 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
19055  std::strong_ordering operator<=>( DebugUtilsMessengerCallbackDataEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
19056  {
19057  if ( auto cmp = sType <=> rhs.sType; cmp != 0 )
19058  return cmp;
19059  if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 )
19060  return cmp;
19061  if ( auto cmp = flags <=> rhs.flags; cmp != 0 )
19062  return cmp;
19063  if ( pMessageIdName != rhs.pMessageIdName )
19064  if ( auto cmp = strcmp( pMessageIdName, rhs.pMessageIdName ); cmp != 0 )
19065  return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater;
19066  if ( auto cmp = messageIdNumber <=> rhs.messageIdNumber; cmp != 0 )
19067  return cmp;
19068  if ( pMessage != rhs.pMessage )
19069  if ( auto cmp = strcmp( pMessage, rhs.pMessage ); cmp != 0 )
19070  return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater;
19071  if ( auto cmp = queueLabelCount <=> rhs.queueLabelCount; cmp != 0 )
19072  return cmp;
19073  if ( auto cmp = pQueueLabels <=> rhs.pQueueLabels; cmp != 0 )
19074  return cmp;
19075  if ( auto cmp = cmdBufLabelCount <=> rhs.cmdBufLabelCount; cmp != 0 )
19076  return cmp;
19077  if ( auto cmp = pCmdBufLabels <=> rhs.pCmdBufLabels; cmp != 0 )
19078  return cmp;
19079  if ( auto cmp = objectCount <=> rhs.objectCount; cmp != 0 )
19080  return cmp;
19081  if ( auto cmp = pObjects <=> rhs.pObjects; cmp != 0 )
19082  return cmp;
19083 
19084  return std::strong_ordering::equivalent;
19085  }
19086 #endif
19087 
19089  {
19090  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
19091  ( ( pMessageIdName == rhs.pMessageIdName ) || ( strcmp( pMessageIdName, rhs.pMessageIdName ) == 0 ) ) &&
19092  ( messageIdNumber == rhs.messageIdNumber ) && ( ( pMessage == rhs.pMessage ) || ( strcmp( pMessage, rhs.pMessage ) == 0 ) ) &&
19093  ( queueLabelCount == rhs.queueLabelCount ) && ( pQueueLabels == rhs.pQueueLabels ) && ( cmdBufLabelCount == rhs.cmdBufLabelCount ) &&
19094  ( pCmdBufLabels == rhs.pCmdBufLabels ) && ( objectCount == rhs.objectCount ) && ( pObjects == rhs.pObjects );
19095  }
19096 
19098  {
19099  return !operator==( rhs );
19100  }
19101 
19102  public:
19104  const void * pNext = {};
19106  const char * pMessageIdName = {};
19107  int32_t messageIdNumber = {};
19108  const char * pMessage = {};
19109  uint32_t queueLabelCount = {};
19111  uint32_t cmdBufLabelCount = {};
19113  uint32_t objectCount = {};
19115  };
19116 
19117  template <>
19119  {
19121  };
19122 
19124  {
19126 
19127  static const bool allowDuplicate = true;
19129 
19130 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
19134  PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback_ = {},
19135  void * pUserData_ = {},
19136  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
19137  : pNext( pNext_ )
19138  , flags( flags_ )
19139  , messageSeverity( messageSeverity_ )
19140  , messageType( messageType_ )
19141  , pfnUserCallback( pfnUserCallback_ )
19142  , pUserData( pUserData_ )
19143  {
19144  }
19145 
19147 
19149  : DebugUtilsMessengerCreateInfoEXT( *reinterpret_cast<DebugUtilsMessengerCreateInfoEXT const *>( &rhs ) )
19150  {
19151  }
19152 
19154 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
19155 
19157  {
19158  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateInfoEXT const *>( &rhs );
19159  return *this;
19160  }
19161 
19162 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
19164  {
19165  pNext = pNext_;
19166  return *this;
19167  }
19168 
19170  {
19171  flags = flags_;
19172  return *this;
19173  }
19174 
19177  {
19178  messageSeverity = messageSeverity_;
19179  return *this;
19180  }
19181 
19184  {
19185  messageType = messageType_;
19186  return *this;
19187  }
19188 
19190  {
19191  pfnUserCallback = pfnUserCallback_;
19192  return *this;
19193  }
19194 
19196  {
19197  pUserData = pUserData_;
19198  return *this;
19199  }
19200 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
19201 
19203  {
19204  return *reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT *>( this );
19205  }
19206 
19208  {
19209  return *reinterpret_cast<VkDebugUtilsMessengerCreateInfoEXT *>( this );
19210  }
19211 
19212 #if defined( VULKAN_HPP_USE_REFLECT )
19213 # if 14 <= VULKAN_HPP_CPP_VERSION
19214  auto
19215 # else
19216  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
19217  const void * const &,
19222  void * const &>
19223 # endif
19224  reflect() const VULKAN_HPP_NOEXCEPT
19225  {
19227  }
19228 #endif
19229 
19231  {
19232 #if defined( VULKAN_HPP_USE_REFLECT )
19233  return this->reflect() == rhs.reflect();
19234 #else
19235  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( messageSeverity == rhs.messageSeverity ) &&
19236  ( messageType == rhs.messageType ) && ( pfnUserCallback == rhs.pfnUserCallback ) && ( pUserData == rhs.pUserData );
19237 #endif
19238  }
19239 
19241  {
19242  return !operator==( rhs );
19243  }
19244 
19245  public:
19247  const void * pNext = {};
19252  void * pUserData = {};
19253  };
19254 
19255  template <>
19257  {
19259  };
19260 
19262  {
19264 
19265  static const bool allowDuplicate = false;
19267 
19268 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
19270  uint64_t objectHandle_ = {},
19271  uint64_t tagName_ = {},
19272  size_t tagSize_ = {},
19273  const void * pTag_ = {},
19274  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
19275  : pNext( pNext_ )
19276  , objectType( objectType_ )
19277  , objectHandle( objectHandle_ )
19278  , tagName( tagName_ )
19279  , tagSize( tagSize_ )
19280  , pTag( pTag_ )
19281  {
19282  }
19283 
19285 
19287  : DebugUtilsObjectTagInfoEXT( *reinterpret_cast<DebugUtilsObjectTagInfoEXT const *>( &rhs ) )
19288  {
19289  }
19290 
19291 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
19292  template <typename T>
19294  uint64_t objectHandle_,
19295  uint64_t tagName_,
19297  const void * pNext_ = nullptr )
19298  : pNext( pNext_ )
19299  , objectType( objectType_ )
19300  , objectHandle( objectHandle_ )
19301  , tagName( tagName_ )
19302  , tagSize( tag_.size() * sizeof( T ) )
19303  , pTag( tag_.data() )
19304  {
19305  }
19306 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
19307 
19309 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
19310 
19312  {
19313  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DebugUtilsObjectTagInfoEXT const *>( &rhs );
19314  return *this;
19315  }
19316 
19317 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
19319  {
19320  pNext = pNext_;
19321  return *this;
19322  }
19323 
19325  {
19326  objectType = objectType_;
19327  return *this;
19328  }
19329 
19331  {
19332  objectHandle = objectHandle_;
19333  return *this;
19334  }
19335 
19337  {
19338  tagName = tagName_;
19339  return *this;
19340  }
19341 
19343  {
19344  tagSize = tagSize_;
19345  return *this;
19346  }
19347 
19349  {
19350  pTag = pTag_;
19351  return *this;
19352  }
19353 
19354 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
19355  template <typename T>
19357  {
19358  tagSize = tag_.size() * sizeof( T );
19359  pTag = tag_.data();
19360  return *this;
19361  }
19362 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
19363 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
19364 
19366  {
19367  return *reinterpret_cast<const VkDebugUtilsObjectTagInfoEXT *>( this );
19368  }
19369 
19371  {
19372  return *reinterpret_cast<VkDebugUtilsObjectTagInfoEXT *>( this );
19373  }
19374 
19375 #if defined( VULKAN_HPP_USE_REFLECT )
19376 # if 14 <= VULKAN_HPP_CPP_VERSION
19377  auto
19378 # else
19379  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
19380  const void * const &,
19382  uint64_t const &,
19383  uint64_t const &,
19384  size_t const &,
19385  const void * const &>
19386 # endif
19387  reflect() const VULKAN_HPP_NOEXCEPT
19388  {
19389  return std::tie( sType, pNext, objectType, objectHandle, tagName, tagSize, pTag );
19390  }
19391 #endif
19392 
19393 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
19394  auto operator<=>( DebugUtilsObjectTagInfoEXT const & ) const = default;
19395 #else
19397  {
19398 # if defined( VULKAN_HPP_USE_REFLECT )
19399  return this->reflect() == rhs.reflect();
19400 # else
19401  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( objectType == rhs.objectType ) && ( objectHandle == rhs.objectHandle ) &&
19402  ( tagName == rhs.tagName ) && ( tagSize == rhs.tagSize ) && ( pTag == rhs.pTag );
19403 # endif
19404  }
19405 
19407  {
19408  return !operator==( rhs );
19409  }
19410 #endif
19411 
19412  public:
19414  const void * pNext = {};
19416  uint64_t objectHandle = {};
19417  uint64_t tagName = {};
19418  size_t tagSize = {};
19419  const void * pTag = {};
19420  };
19421 
19422  template <>
19424  {
19426  };
19427 
19429  {
19431 
19432 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
19434  VULKAN_HPP_NAMESPACE::DeviceAddress dstAddress_ = {},
19435  VULKAN_HPP_NAMESPACE::DeviceSize compressedSize_ = {},
19436  VULKAN_HPP_NAMESPACE::DeviceSize decompressedSize_ = {},
19438  : srcAddress( srcAddress_ )
19439  , dstAddress( dstAddress_ )
19440  , compressedSize( compressedSize_ )
19441  , decompressedSize( decompressedSize_ )
19442  , decompressionMethod( decompressionMethod_ )
19443  {
19444  }
19445 
19447 
19449  : DecompressMemoryRegionNV( *reinterpret_cast<DecompressMemoryRegionNV const *>( &rhs ) )
19450  {
19451  }
19452 
19454 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
19455 
19457  {
19458  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DecompressMemoryRegionNV const *>( &rhs );
19459  return *this;
19460  }
19461 
19462 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
19464  {
19465  srcAddress = srcAddress_;
19466  return *this;
19467  }
19468 
19470  {
19471  dstAddress = dstAddress_;
19472  return *this;
19473  }
19474 
19476  {
19477  compressedSize = compressedSize_;
19478  return *this;
19479  }
19480 
19482  {
19483  decompressedSize = decompressedSize_;
19484  return *this;
19485  }
19486 
19489  {
19490  decompressionMethod = decompressionMethod_;
19491  return *this;
19492  }
19493 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
19494 
19496  {
19497  return *reinterpret_cast<const VkDecompressMemoryRegionNV *>( this );
19498  }
19499 
19501  {
19502  return *reinterpret_cast<VkDecompressMemoryRegionNV *>( this );
19503  }
19504 
19505 #if defined( VULKAN_HPP_USE_REFLECT )
19506 # if 14 <= VULKAN_HPP_CPP_VERSION
19507  auto
19508 # else
19509  std::tuple<VULKAN_HPP_NAMESPACE::DeviceAddress const &,
19514 # endif
19515  reflect() const VULKAN_HPP_NOEXCEPT
19516  {
19518  }
19519 #endif
19520 
19521 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
19522  auto operator<=>( DecompressMemoryRegionNV const & ) const = default;
19523 #else
19525  {
19526 # if defined( VULKAN_HPP_USE_REFLECT )
19527  return this->reflect() == rhs.reflect();
19528 # else
19529  return ( srcAddress == rhs.srcAddress ) && ( dstAddress == rhs.dstAddress ) && ( compressedSize == rhs.compressedSize ) &&
19530  ( decompressedSize == rhs.decompressedSize ) && ( decompressionMethod == rhs.decompressionMethod );
19531 # endif
19532  }
19533 
19535  {
19536  return !operator==( rhs );
19537  }
19538 #endif
19539 
19540  public:
19546  };
19547 
19549  {
19551 
19552  static const bool allowDuplicate = false;
19554 
19555 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
19557  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
19558  : pNext( pNext_ )
19559  , dedicatedAllocation( dedicatedAllocation_ )
19560  {
19561  }
19562 
19564 
19566  : DedicatedAllocationBufferCreateInfoNV( *reinterpret_cast<DedicatedAllocationBufferCreateInfoNV const *>( &rhs ) )
19567  {
19568  }
19569 
19571 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
19572 
19574  {
19575  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DedicatedAllocationBufferCreateInfoNV const *>( &rhs );
19576  return *this;
19577  }
19578 
19579 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
19581  {
19582  pNext = pNext_;
19583  return *this;
19584  }
19585 
19588  {
19589  dedicatedAllocation = dedicatedAllocation_;
19590  return *this;
19591  }
19592 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
19593 
19595  {
19596  return *reinterpret_cast<const VkDedicatedAllocationBufferCreateInfoNV *>( this );
19597  }
19598 
19600  {
19601  return *reinterpret_cast<VkDedicatedAllocationBufferCreateInfoNV *>( this );
19602  }
19603 
19604 #if defined( VULKAN_HPP_USE_REFLECT )
19605 # if 14 <= VULKAN_HPP_CPP_VERSION
19606  auto
19607 # else
19608  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
19609 # endif
19610  reflect() const VULKAN_HPP_NOEXCEPT
19611  {
19612  return std::tie( sType, pNext, dedicatedAllocation );
19613  }
19614 #endif
19615 
19616 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
19617  auto operator<=>( DedicatedAllocationBufferCreateInfoNV const & ) const = default;
19618 #else
19620  {
19621 # if defined( VULKAN_HPP_USE_REFLECT )
19622  return this->reflect() == rhs.reflect();
19623 # else
19624  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( dedicatedAllocation == rhs.dedicatedAllocation );
19625 # endif
19626  }
19627 
19629  {
19630  return !operator==( rhs );
19631  }
19632 #endif
19633 
19634  public:
19636  const void * pNext = {};
19638  };
19639 
19640  template <>
19642  {
19644  };
19645 
19647  {
19649 
19650  static const bool allowDuplicate = false;
19652 
19653 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
19655  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
19656  : pNext( pNext_ )
19657  , dedicatedAllocation( dedicatedAllocation_ )
19658  {
19659  }
19660 
19662 
19664  : DedicatedAllocationImageCreateInfoNV( *reinterpret_cast<DedicatedAllocationImageCreateInfoNV const *>( &rhs ) )
19665  {
19666  }
19667 
19669 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
19670 
19672  {
19673  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DedicatedAllocationImageCreateInfoNV const *>( &rhs );
19674  return *this;
19675  }
19676 
19677 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
19679  {
19680  pNext = pNext_;
19681  return *this;
19682  }
19683 
19686  {
19687  dedicatedAllocation = dedicatedAllocation_;
19688  return *this;
19689  }
19690 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
19691 
19693  {
19694  return *reinterpret_cast<const VkDedicatedAllocationImageCreateInfoNV *>( this );
19695  }
19696 
19698  {
19699  return *reinterpret_cast<VkDedicatedAllocationImageCreateInfoNV *>( this );
19700  }
19701 
19702 #if defined( VULKAN_HPP_USE_REFLECT )
19703 # if 14 <= VULKAN_HPP_CPP_VERSION
19704  auto
19705 # else
19706  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
19707 # endif
19708  reflect() const VULKAN_HPP_NOEXCEPT
19709  {
19710  return std::tie( sType, pNext, dedicatedAllocation );
19711  }
19712 #endif
19713 
19714 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
19715  auto operator<=>( DedicatedAllocationImageCreateInfoNV const & ) const = default;
19716 #else
19718  {
19719 # if defined( VULKAN_HPP_USE_REFLECT )
19720  return this->reflect() == rhs.reflect();
19721 # else
19722  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( dedicatedAllocation == rhs.dedicatedAllocation );
19723 # endif
19724  }
19725 
19727  {
19728  return !operator==( rhs );
19729  }
19730 #endif
19731 
19732  public:
19734  const void * pNext = {};
19736  };
19737 
19738  template <>
19740  {
19742  };
19743 
19745  {
19747 
19748  static const bool allowDuplicate = false;
19750 
19751 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
19753  VULKAN_HPP_NAMESPACE::Buffer buffer_ = {},
19754  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
19755  : pNext( pNext_ )
19756  , image( image_ )
19757  , buffer( buffer_ )
19758  {
19759  }
19760 
19762 
19764  : DedicatedAllocationMemoryAllocateInfoNV( *reinterpret_cast<DedicatedAllocationMemoryAllocateInfoNV const *>( &rhs ) )
19765  {
19766  }
19767 
19769 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
19770 
19772  {
19773  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DedicatedAllocationMemoryAllocateInfoNV const *>( &rhs );
19774  return *this;
19775  }
19776 
19777 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
19779  {
19780  pNext = pNext_;
19781  return *this;
19782  }
19783 
19785  {
19786  image = image_;
19787  return *this;
19788  }
19789 
19791  {
19792  buffer = buffer_;
19793  return *this;
19794  }
19795 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
19796 
19798  {
19799  return *reinterpret_cast<const VkDedicatedAllocationMemoryAllocateInfoNV *>( this );
19800  }
19801 
19803  {
19804  return *reinterpret_cast<VkDedicatedAllocationMemoryAllocateInfoNV *>( this );
19805  }
19806 
19807 #if defined( VULKAN_HPP_USE_REFLECT )
19808 # if 14 <= VULKAN_HPP_CPP_VERSION
19809  auto
19810 # else
19811  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::Image const &, VULKAN_HPP_NAMESPACE::Buffer const &>
19812 # endif
19813  reflect() const VULKAN_HPP_NOEXCEPT
19814  {
19815  return std::tie( sType, pNext, image, buffer );
19816  }
19817 #endif
19818 
19819 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
19820  auto operator<=>( DedicatedAllocationMemoryAllocateInfoNV const & ) const = default;
19821 #else
19823  {
19824 # if defined( VULKAN_HPP_USE_REFLECT )
19825  return this->reflect() == rhs.reflect();
19826 # else
19827  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( image == rhs.image ) && ( buffer == rhs.buffer );
19828 # endif
19829  }
19830 
19832  {
19833  return !operator==( rhs );
19834  }
19835 #endif
19836 
19837  public:
19839  const void * pNext = {};
19842  };
19843 
19844  template <>
19846  {
19848  };
19849 
19851  {
19853 
19854  static const bool allowDuplicate = false;
19856 
19857 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
19859  VULKAN_HPP_NAMESPACE::AccessFlags2 srcAccessMask_ = {},
19860  VULKAN_HPP_NAMESPACE::PipelineStageFlags2 dstStageMask_ = {},
19861  VULKAN_HPP_NAMESPACE::AccessFlags2 dstAccessMask_ = {},
19862  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
19863  : pNext( pNext_ )
19864  , srcStageMask( srcStageMask_ )
19865  , srcAccessMask( srcAccessMask_ )
19866  , dstStageMask( dstStageMask_ )
19867  , dstAccessMask( dstAccessMask_ )
19868  {
19869  }
19870 
19872 
19873  MemoryBarrier2( VkMemoryBarrier2 const & rhs ) VULKAN_HPP_NOEXCEPT : MemoryBarrier2( *reinterpret_cast<MemoryBarrier2 const *>( &rhs ) ) {}
19874 
19875  MemoryBarrier2 & operator=( MemoryBarrier2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
19876 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
19877 
19879  {
19880  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryBarrier2 const *>( &rhs );
19881  return *this;
19882  }
19883 
19884 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
19886  {
19887  pNext = pNext_;
19888  return *this;
19889  }
19890 
19892  {
19893  srcStageMask = srcStageMask_;
19894  return *this;
19895  }
19896 
19898  {
19899  srcAccessMask = srcAccessMask_;
19900  return *this;
19901  }
19902 
19904  {
19905  dstStageMask = dstStageMask_;
19906  return *this;
19907  }
19908 
19910  {
19911  dstAccessMask = dstAccessMask_;
19912  return *this;
19913  }
19914 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
19915 
19916  operator VkMemoryBarrier2 const &() const VULKAN_HPP_NOEXCEPT
19917  {
19918  return *reinterpret_cast<const VkMemoryBarrier2 *>( this );
19919  }
19920 
19922  {
19923  return *reinterpret_cast<VkMemoryBarrier2 *>( this );
19924  }
19925 
19926 #if defined( VULKAN_HPP_USE_REFLECT )
19927 # if 14 <= VULKAN_HPP_CPP_VERSION
19928  auto
19929 # else
19930  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
19931  const void * const &,
19936 # endif
19937  reflect() const VULKAN_HPP_NOEXCEPT
19938  {
19940  }
19941 #endif
19942 
19943 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
19944  auto operator<=>( MemoryBarrier2 const & ) const = default;
19945 #else
19947  {
19948 # if defined( VULKAN_HPP_USE_REFLECT )
19949  return this->reflect() == rhs.reflect();
19950 # else
19951  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( srcStageMask == rhs.srcStageMask ) && ( srcAccessMask == rhs.srcAccessMask ) &&
19952  ( dstStageMask == rhs.dstStageMask ) && ( dstAccessMask == rhs.dstAccessMask );
19953 # endif
19954  }
19955 
19957  {
19958  return !operator==( rhs );
19959  }
19960 #endif
19961 
19962  public:
19964  const void * pNext = {};
19969  };
19970 
19971  template <>
19973  {
19975  };
19977 
19979  {
19981 
19982 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
19984  uint32_t baseMipLevel_ = {},
19985  uint32_t levelCount_ = {},
19986  uint32_t baseArrayLayer_ = {},
19987  uint32_t layerCount_ = {} ) VULKAN_HPP_NOEXCEPT
19988  : aspectMask( aspectMask_ )
19989  , baseMipLevel( baseMipLevel_ )
19990  , levelCount( levelCount_ )
19991  , baseArrayLayer( baseArrayLayer_ )
19992  , layerCount( layerCount_ )
19993  {
19994  }
19995 
19997 
19999  : ImageSubresourceRange( *reinterpret_cast<ImageSubresourceRange const *>( &rhs ) )
20000  {
20001  }
20002 
20004 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
20005 
20007  {
20008  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageSubresourceRange const *>( &rhs );
20009  return *this;
20010  }
20011 
20012 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
20014  {
20015  aspectMask = aspectMask_;
20016  return *this;
20017  }
20018 
20020  {
20021  baseMipLevel = baseMipLevel_;
20022  return *this;
20023  }
20024 
20026  {
20027  levelCount = levelCount_;
20028  return *this;
20029  }
20030 
20032  {
20033  baseArrayLayer = baseArrayLayer_;
20034  return *this;
20035  }
20036 
20038  {
20039  layerCount = layerCount_;
20040  return *this;
20041  }
20042 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
20043 
20045  {
20046  return *reinterpret_cast<const VkImageSubresourceRange *>( this );
20047  }
20048 
20050  {
20051  return *reinterpret_cast<VkImageSubresourceRange *>( this );
20052  }
20053 
20054 #if defined( VULKAN_HPP_USE_REFLECT )
20055 # if 14 <= VULKAN_HPP_CPP_VERSION
20056  auto
20057 # else
20058  std::tuple<VULKAN_HPP_NAMESPACE::ImageAspectFlags const &, uint32_t const &, uint32_t const &, uint32_t const &, uint32_t const &>
20059 # endif
20060  reflect() const VULKAN_HPP_NOEXCEPT
20061  {
20063  }
20064 #endif
20065 
20066 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
20067  auto operator<=>( ImageSubresourceRange const & ) const = default;
20068 #else
20070  {
20071 # if defined( VULKAN_HPP_USE_REFLECT )
20072  return this->reflect() == rhs.reflect();
20073 # else
20074  return ( aspectMask == rhs.aspectMask ) && ( baseMipLevel == rhs.baseMipLevel ) && ( levelCount == rhs.levelCount ) &&
20075  ( baseArrayLayer == rhs.baseArrayLayer ) && ( layerCount == rhs.layerCount );
20076 # endif
20077  }
20078 
20080  {
20081  return !operator==( rhs );
20082  }
20083 #endif
20084 
20085  public:
20087  uint32_t baseMipLevel = {};
20088  uint32_t levelCount = {};
20089  uint32_t baseArrayLayer = {};
20090  uint32_t layerCount = {};
20091  };
20092 
20094  {
20096 
20097  static const bool allowDuplicate = false;
20099 
20100 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
20102  VULKAN_HPP_NAMESPACE::AccessFlags2 srcAccessMask_ = {},
20103  VULKAN_HPP_NAMESPACE::PipelineStageFlags2 dstStageMask_ = {},
20104  VULKAN_HPP_NAMESPACE::AccessFlags2 dstAccessMask_ = {},
20107  uint32_t srcQueueFamilyIndex_ = {},
20108  uint32_t dstQueueFamilyIndex_ = {},
20109  VULKAN_HPP_NAMESPACE::Image image_ = {},
20110  VULKAN_HPP_NAMESPACE::ImageSubresourceRange subresourceRange_ = {},
20111  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
20112  : pNext( pNext_ )
20113  , srcStageMask( srcStageMask_ )
20114  , srcAccessMask( srcAccessMask_ )
20115  , dstStageMask( dstStageMask_ )
20116  , dstAccessMask( dstAccessMask_ )
20117  , oldLayout( oldLayout_ )
20118  , newLayout( newLayout_ )
20119  , srcQueueFamilyIndex( srcQueueFamilyIndex_ )
20120  , dstQueueFamilyIndex( dstQueueFamilyIndex_ )
20121  , image( image_ )
20122  , subresourceRange( subresourceRange_ )
20123  {
20124  }
20125 
20127 
20128  ImageMemoryBarrier2( VkImageMemoryBarrier2 const & rhs ) VULKAN_HPP_NOEXCEPT : ImageMemoryBarrier2( *reinterpret_cast<ImageMemoryBarrier2 const *>( &rhs ) )
20129  {
20130  }
20131 
20133 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
20134 
20136  {
20137  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageMemoryBarrier2 const *>( &rhs );
20138  return *this;
20139  }
20140 
20141 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
20143  {
20144  pNext = pNext_;
20145  return *this;
20146  }
20147 
20149  {
20150  srcStageMask = srcStageMask_;
20151  return *this;
20152  }
20153 
20155  {
20156  srcAccessMask = srcAccessMask_;
20157  return *this;
20158  }
20159 
20161  {
20162  dstStageMask = dstStageMask_;
20163  return *this;
20164  }
20165 
20167  {
20168  dstAccessMask = dstAccessMask_;
20169  return *this;
20170  }
20171 
20173  {
20174  oldLayout = oldLayout_;
20175  return *this;
20176  }
20177 
20179  {
20180  newLayout = newLayout_;
20181  return *this;
20182  }
20183 
20185  {
20186  srcQueueFamilyIndex = srcQueueFamilyIndex_;
20187  return *this;
20188  }
20189 
20191  {
20192  dstQueueFamilyIndex = dstQueueFamilyIndex_;
20193  return *this;
20194  }
20195 
20197  {
20198  image = image_;
20199  return *this;
20200  }
20201 
20204  {
20205  subresourceRange = subresourceRange_;
20206  return *this;
20207  }
20208 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
20209 
20211  {
20212  return *reinterpret_cast<const VkImageMemoryBarrier2 *>( this );
20213  }
20214 
20216  {
20217  return *reinterpret_cast<VkImageMemoryBarrier2 *>( this );
20218  }
20219 
20220 #if defined( VULKAN_HPP_USE_REFLECT )
20221 # if 14 <= VULKAN_HPP_CPP_VERSION
20222  auto
20223 # else
20224  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
20225  const void * const &,
20232  uint32_t const &,
20233  uint32_t const &,
20236 # endif
20237  reflect() const VULKAN_HPP_NOEXCEPT
20238  {
20239  return std::tie( sType,
20240  pNext,
20241  srcStageMask,
20242  srcAccessMask,
20243  dstStageMask,
20244  dstAccessMask,
20245  oldLayout,
20246  newLayout,
20249  image,
20250  subresourceRange );
20251  }
20252 #endif
20253 
20254 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
20255  auto operator<=>( ImageMemoryBarrier2 const & ) const = default;
20256 #else
20258  {
20259 # if defined( VULKAN_HPP_USE_REFLECT )
20260  return this->reflect() == rhs.reflect();
20261 # else
20262  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( srcStageMask == rhs.srcStageMask ) && ( srcAccessMask == rhs.srcAccessMask ) &&
20263  ( dstStageMask == rhs.dstStageMask ) && ( dstAccessMask == rhs.dstAccessMask ) && ( oldLayout == rhs.oldLayout ) &&
20264  ( newLayout == rhs.newLayout ) && ( srcQueueFamilyIndex == rhs.srcQueueFamilyIndex ) && ( dstQueueFamilyIndex == rhs.dstQueueFamilyIndex ) &&
20265  ( image == rhs.image ) && ( subresourceRange == rhs.subresourceRange );
20266 # endif
20267  }
20268 
20270  {
20271  return !operator==( rhs );
20272  }
20273 #endif
20274 
20275  public:
20277  const void * pNext = {};
20284  uint32_t srcQueueFamilyIndex = {};
20285  uint32_t dstQueueFamilyIndex = {};
20288  };
20289 
20290  template <>
20292  {
20294  };
20296 
20298  {
20300 
20301  static const bool allowDuplicate = false;
20303 
20304 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
20306  uint32_t memoryBarrierCount_ = {},
20307  const VULKAN_HPP_NAMESPACE::MemoryBarrier2 * pMemoryBarriers_ = {},
20308  uint32_t bufferMemoryBarrierCount_ = {},
20309  const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier2 * pBufferMemoryBarriers_ = {},
20310  uint32_t imageMemoryBarrierCount_ = {},
20311  const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier2 * pImageMemoryBarriers_ = {},
20312  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
20313  : pNext( pNext_ )
20314  , dependencyFlags( dependencyFlags_ )
20315  , memoryBarrierCount( memoryBarrierCount_ )
20316  , pMemoryBarriers( pMemoryBarriers_ )
20317  , bufferMemoryBarrierCount( bufferMemoryBarrierCount_ )
20318  , pBufferMemoryBarriers( pBufferMemoryBarriers_ )
20319  , imageMemoryBarrierCount( imageMemoryBarrierCount_ )
20320  , pImageMemoryBarriers( pImageMemoryBarriers_ )
20321  {
20322  }
20323 
20325 
20326  DependencyInfo( VkDependencyInfo const & rhs ) VULKAN_HPP_NOEXCEPT : DependencyInfo( *reinterpret_cast<DependencyInfo const *>( &rhs ) ) {}
20327 
20328 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
20333  const void * pNext_ = nullptr )
20334  : pNext( pNext_ )
20335  , dependencyFlags( dependencyFlags_ )
20336  , memoryBarrierCount( static_cast<uint32_t>( memoryBarriers_.size() ) )
20337  , pMemoryBarriers( memoryBarriers_.data() )
20338  , bufferMemoryBarrierCount( static_cast<uint32_t>( bufferMemoryBarriers_.size() ) )
20339  , pBufferMemoryBarriers( bufferMemoryBarriers_.data() )
20340  , imageMemoryBarrierCount( static_cast<uint32_t>( imageMemoryBarriers_.size() ) )
20341  , pImageMemoryBarriers( imageMemoryBarriers_.data() )
20342  {
20343  }
20344 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
20345 
20346  DependencyInfo & operator=( DependencyInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
20347 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
20348 
20350  {
20351  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DependencyInfo const *>( &rhs );
20352  return *this;
20353  }
20354 
20355 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
20357  {
20358  pNext = pNext_;
20359  return *this;
20360  }
20361 
20363  {
20364  dependencyFlags = dependencyFlags_;
20365  return *this;
20366  }
20367 
20369  {
20370  memoryBarrierCount = memoryBarrierCount_;
20371  return *this;
20372  }
20373 
20375  {
20376  pMemoryBarriers = pMemoryBarriers_;
20377  return *this;
20378  }
20379 
20380 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
20381  DependencyInfo &
20383  {
20384  memoryBarrierCount = static_cast<uint32_t>( memoryBarriers_.size() );
20385  pMemoryBarriers = memoryBarriers_.data();
20386  return *this;
20387  }
20388 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
20389 
20391  {
20392  bufferMemoryBarrierCount = bufferMemoryBarrierCount_;
20393  return *this;
20394  }
20395 
20398  {
20399  pBufferMemoryBarriers = pBufferMemoryBarriers_;
20400  return *this;
20401  }
20402 
20403 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
20406  {
20407  bufferMemoryBarrierCount = static_cast<uint32_t>( bufferMemoryBarriers_.size() );
20408  pBufferMemoryBarriers = bufferMemoryBarriers_.data();
20409  return *this;
20410  }
20411 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
20412 
20414  {
20415  imageMemoryBarrierCount = imageMemoryBarrierCount_;
20416  return *this;
20417  }
20418 
20421  {
20422  pImageMemoryBarriers = pImageMemoryBarriers_;
20423  return *this;
20424  }
20425 
20426 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
20429  {
20430  imageMemoryBarrierCount = static_cast<uint32_t>( imageMemoryBarriers_.size() );
20431  pImageMemoryBarriers = imageMemoryBarriers_.data();
20432  return *this;
20433  }
20434 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
20435 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
20436 
20437  operator VkDependencyInfo const &() const VULKAN_HPP_NOEXCEPT
20438  {
20439  return *reinterpret_cast<const VkDependencyInfo *>( this );
20440  }
20441 
20443  {
20444  return *reinterpret_cast<VkDependencyInfo *>( this );
20445  }
20446 
20447 #if defined( VULKAN_HPP_USE_REFLECT )
20448 # if 14 <= VULKAN_HPP_CPP_VERSION
20449  auto
20450 # else
20451  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
20452  const void * const &,
20454  uint32_t const &,
20455  const VULKAN_HPP_NAMESPACE::MemoryBarrier2 * const &,
20456  uint32_t const &,
20458  uint32_t const &,
20460 # endif
20461  reflect() const VULKAN_HPP_NOEXCEPT
20462  {
20463  return std::tie( sType,
20464  pNext,
20472  }
20473 #endif
20474 
20475 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
20476  auto operator<=>( DependencyInfo const & ) const = default;
20477 #else
20479  {
20480 # if defined( VULKAN_HPP_USE_REFLECT )
20481  return this->reflect() == rhs.reflect();
20482 # else
20483  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( dependencyFlags == rhs.dependencyFlags ) &&
20484  ( memoryBarrierCount == rhs.memoryBarrierCount ) && ( pMemoryBarriers == rhs.pMemoryBarriers ) &&
20485  ( bufferMemoryBarrierCount == rhs.bufferMemoryBarrierCount ) && ( pBufferMemoryBarriers == rhs.pBufferMemoryBarriers ) &&
20486  ( imageMemoryBarrierCount == rhs.imageMemoryBarrierCount ) && ( pImageMemoryBarriers == rhs.pImageMemoryBarriers );
20487 # endif
20488  }
20489 
20491  {
20492  return !operator==( rhs );
20493  }
20494 #endif
20495 
20496  public:
20498  const void * pNext = {};
20500  uint32_t memoryBarrierCount = {};
20506  };
20507 
20508  template <>
20510  {
20512  };
20514 
20516  {
20518 
20519  static const bool allowDuplicate = false;
20521 
20522 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
20526  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
20527  : pNext( pNext_ )
20528  , address( address_ )
20529  , range( range_ )
20530  , format( format_ )
20531  {
20532  }
20533 
20535 
20537  : DescriptorAddressInfoEXT( *reinterpret_cast<DescriptorAddressInfoEXT const *>( &rhs ) )
20538  {
20539  }
20540 
20542 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
20543 
20545  {
20546  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorAddressInfoEXT const *>( &rhs );
20547  return *this;
20548  }
20549 
20550 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
20552  {
20553  pNext = pNext_;
20554  return *this;
20555  }
20556 
20558  {
20559  address = address_;
20560  return *this;
20561  }
20562 
20564  {
20565  range = range_;
20566  return *this;
20567  }
20568 
20570  {
20571  format = format_;
20572  return *this;
20573  }
20574 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
20575 
20577  {
20578  return *reinterpret_cast<const VkDescriptorAddressInfoEXT *>( this );
20579  }
20580 
20582  {
20583  return *reinterpret_cast<VkDescriptorAddressInfoEXT *>( this );
20584  }
20585 
20586 #if defined( VULKAN_HPP_USE_REFLECT )
20587 # if 14 <= VULKAN_HPP_CPP_VERSION
20588  auto
20589 # else
20590  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
20591  void * const &,
20595 # endif
20596  reflect() const VULKAN_HPP_NOEXCEPT
20597  {
20598  return std::tie( sType, pNext, address, range, format );
20599  }
20600 #endif
20601 
20602 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
20603  auto operator<=>( DescriptorAddressInfoEXT const & ) const = default;
20604 #else
20606  {
20607 # if defined( VULKAN_HPP_USE_REFLECT )
20608  return this->reflect() == rhs.reflect();
20609 # else
20610  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( address == rhs.address ) && ( range == rhs.range ) && ( format == rhs.format );
20611 # endif
20612  }
20613 
20615  {
20616  return !operator==( rhs );
20617  }
20618 #endif
20619 
20620  public:
20622  void * pNext = {};
20626  };
20627 
20628  template <>
20630  {
20632  };
20633 
20635  {
20637 
20638  static const bool allowDuplicate = false;
20640 
20641 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
20644  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
20645  : pNext( pNext_ )
20646  , address( address_ )
20647  , usage( usage_ )
20648  {
20649  }
20650 
20652 
20654  : DescriptorBufferBindingInfoEXT( *reinterpret_cast<DescriptorBufferBindingInfoEXT const *>( &rhs ) )
20655  {
20656  }
20657 
20659 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
20660 
20662  {
20663  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorBufferBindingInfoEXT const *>( &rhs );
20664  return *this;
20665  }
20666 
20667 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
20669  {
20670  pNext = pNext_;
20671  return *this;
20672  }
20673 
20675  {
20676  address = address_;
20677  return *this;
20678  }
20679 
20681  {
20682  usage = usage_;
20683  return *this;
20684  }
20685 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
20686 
20688  {
20689  return *reinterpret_cast<const VkDescriptorBufferBindingInfoEXT *>( this );
20690  }
20691 
20693  {
20694  return *reinterpret_cast<VkDescriptorBufferBindingInfoEXT *>( this );
20695  }
20696 
20697 #if defined( VULKAN_HPP_USE_REFLECT )
20698 # if 14 <= VULKAN_HPP_CPP_VERSION
20699  auto
20700 # else
20701  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
20702  void * const &,
20705 # endif
20706  reflect() const VULKAN_HPP_NOEXCEPT
20707  {
20708  return std::tie( sType, pNext, address, usage );
20709  }
20710 #endif
20711 
20712 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
20713  auto operator<=>( DescriptorBufferBindingInfoEXT const & ) const = default;
20714 #else
20716  {
20717 # if defined( VULKAN_HPP_USE_REFLECT )
20718  return this->reflect() == rhs.reflect();
20719 # else
20720  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( address == rhs.address ) && ( usage == rhs.usage );
20721 # endif
20722  }
20723 
20725  {
20726  return !operator==( rhs );
20727  }
20728 #endif
20729 
20730  public:
20732  void * pNext = {};
20735  };
20736 
20737  template <>
20739  {
20741  };
20742 
20744  {
20746 
20747  static const bool allowDuplicate = false;
20749 
20750 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
20752  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
20753  : pNext( pNext_ )
20754  , buffer( buffer_ )
20755  {
20756  }
20757 
20760 
20762  : DescriptorBufferBindingPushDescriptorBufferHandleEXT( *reinterpret_cast<DescriptorBufferBindingPushDescriptorBufferHandleEXT const *>( &rhs ) )
20763  {
20764  }
20765 
20768 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
20769 
20771  {
20772  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorBufferBindingPushDescriptorBufferHandleEXT const *>( &rhs );
20773  return *this;
20774  }
20775 
20776 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
20778  {
20779  pNext = pNext_;
20780  return *this;
20781  }
20782 
20784  {
20785  buffer = buffer_;
20786  return *this;
20787  }
20788 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
20789 
20791  {
20792  return *reinterpret_cast<const VkDescriptorBufferBindingPushDescriptorBufferHandleEXT *>( this );
20793  }
20794 
20796  {
20797  return *reinterpret_cast<VkDescriptorBufferBindingPushDescriptorBufferHandleEXT *>( this );
20798  }
20799 
20800 #if defined( VULKAN_HPP_USE_REFLECT )
20801 # if 14 <= VULKAN_HPP_CPP_VERSION
20802  auto
20803 # else
20804  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Buffer const &>
20805 # endif
20806  reflect() const VULKAN_HPP_NOEXCEPT
20807  {
20808  return std::tie( sType, pNext, buffer );
20809  }
20810 #endif
20811 
20812 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
20813  auto operator<=>( DescriptorBufferBindingPushDescriptorBufferHandleEXT const & ) const = default;
20814 #else
20816  {
20817 # if defined( VULKAN_HPP_USE_REFLECT )
20818  return this->reflect() == rhs.reflect();
20819 # else
20820  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( buffer == rhs.buffer );
20821 # endif
20822  }
20823 
20825  {
20826  return !operator==( rhs );
20827  }
20828 #endif
20829 
20830  public:
20832  void * pNext = {};
20834  };
20835 
20836  template <>
20838  {
20840  };
20841 
20843  {
20845 
20846 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
20848  VULKAN_HPP_NAMESPACE::DeviceSize offset_ = {},
20850  : buffer( buffer_ )
20851  , offset( offset_ )
20852  , range( range_ )
20853  {
20854  }
20855 
20857 
20859  : DescriptorBufferInfo( *reinterpret_cast<DescriptorBufferInfo const *>( &rhs ) )
20860  {
20861  }
20862 
20864 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
20865 
20867  {
20868  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorBufferInfo const *>( &rhs );
20869  return *this;
20870  }
20871 
20872 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
20874  {
20875  buffer = buffer_;
20876  return *this;
20877  }
20878 
20880  {
20881  offset = offset_;
20882  return *this;
20883  }
20884 
20886  {
20887  range = range_;
20888  return *this;
20889  }
20890 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
20891 
20893  {
20894  return *reinterpret_cast<const VkDescriptorBufferInfo *>( this );
20895  }
20896 
20898  {
20899  return *reinterpret_cast<VkDescriptorBufferInfo *>( this );
20900  }
20901 
20902 #if defined( VULKAN_HPP_USE_REFLECT )
20903 # if 14 <= VULKAN_HPP_CPP_VERSION
20904  auto
20905 # else
20906  std::tuple<VULKAN_HPP_NAMESPACE::Buffer const &, VULKAN_HPP_NAMESPACE::DeviceSize const &, VULKAN_HPP_NAMESPACE::DeviceSize const &>
20907 # endif
20908  reflect() const VULKAN_HPP_NOEXCEPT
20909  {
20910  return std::tie( buffer, offset, range );
20911  }
20912 #endif
20913 
20914 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
20915  auto operator<=>( DescriptorBufferInfo const & ) const = default;
20916 #else
20918  {
20919 # if defined( VULKAN_HPP_USE_REFLECT )
20920  return this->reflect() == rhs.reflect();
20921 # else
20922  return ( buffer == rhs.buffer ) && ( offset == rhs.offset ) && ( range == rhs.range );
20923 # endif
20924  }
20925 
20927  {
20928  return !operator==( rhs );
20929  }
20930 #endif
20931 
20932  public:
20936  };
20937 
20939  {
20941 
20942 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
20945  VULKAN_HPP_NAMESPACE::ImageView imageView_ = {},
20947  : sampler( sampler_ )
20948  , imageView( imageView_ )
20949  , imageLayout( imageLayout_ )
20950  {
20951  }
20952 
20954 
20955  DescriptorImageInfo( VkDescriptorImageInfo const & rhs ) VULKAN_HPP_NOEXCEPT : DescriptorImageInfo( *reinterpret_cast<DescriptorImageInfo const *>( &rhs ) )
20956  {
20957  }
20958 
20960 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
20961 
20963  {
20964  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorImageInfo const *>( &rhs );
20965  return *this;
20966  }
20967 
20968 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
20970  {
20971  sampler = sampler_;
20972  return *this;
20973  }
20974 
20976  {
20977  imageView = imageView_;
20978  return *this;
20979  }
20980 
20982  {
20983  imageLayout = imageLayout_;
20984  return *this;
20985  }
20986 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
20987 
20989  {
20990  return *reinterpret_cast<const VkDescriptorImageInfo *>( this );
20991  }
20992 
20994  {
20995  return *reinterpret_cast<VkDescriptorImageInfo *>( this );
20996  }
20997 
20998 #if defined( VULKAN_HPP_USE_REFLECT )
20999 # if 14 <= VULKAN_HPP_CPP_VERSION
21000  auto
21001 # else
21002  std::tuple<VULKAN_HPP_NAMESPACE::Sampler const &, VULKAN_HPP_NAMESPACE::ImageView const &, VULKAN_HPP_NAMESPACE::ImageLayout const &>
21003 # endif
21004  reflect() const VULKAN_HPP_NOEXCEPT
21005  {
21006  return std::tie( sampler, imageView, imageLayout );
21007  }
21008 #endif
21009 
21010 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
21011  auto operator<=>( DescriptorImageInfo const & ) const = default;
21012 #else
21014  {
21015 # if defined( VULKAN_HPP_USE_REFLECT )
21016  return this->reflect() == rhs.reflect();
21017 # else
21018  return ( sampler == rhs.sampler ) && ( imageView == rhs.imageView ) && ( imageLayout == rhs.imageLayout );
21019 # endif
21020  }
21021 
21023  {
21024  return !operator==( rhs );
21025  }
21026 #endif
21027 
21028  public:
21032  };
21033 
21035  {
21037 #if !defined( VULKAN_HPP_NO_UNION_CONSTRUCTORS )
21038 
21040 
21042  : pCombinedImageSampler( pDescriptorImageInfo_ )
21043  {
21044  }
21045 
21047  : pUniformTexelBuffer( pDescriptorAddressInfoEXT_ )
21048  {
21049  }
21050 
21052 #endif /*VULKAN_HPP_NO_UNION_CONSTRUCTORS*/
21053 
21054 #if !defined( VULKAN_HPP_NO_UNION_SETTERS )
21056  {
21057  pSampler = pSampler_;
21058  return *this;
21059  }
21060 
21063  {
21064  pCombinedImageSampler = pCombinedImageSampler_;
21065  return *this;
21066  }
21067 
21070  {
21071  pInputAttachmentImage = pInputAttachmentImage_;
21072  return *this;
21073  }
21074 
21076  {
21077  pSampledImage = pSampledImage_;
21078  return *this;
21079  }
21080 
21082  {
21083  pStorageImage = pStorageImage_;
21084  return *this;
21085  }
21086 
21089  {
21090  pUniformTexelBuffer = pUniformTexelBuffer_;
21091  return *this;
21092  }
21093 
21096  {
21097  pStorageTexelBuffer = pStorageTexelBuffer_;
21098  return *this;
21099  }
21100 
21102  {
21103  pUniformBuffer = pUniformBuffer_;
21104  return *this;
21105  }
21106 
21108  {
21109  pStorageBuffer = pStorageBuffer_;
21110  return *this;
21111  }
21112 
21114  {
21115  accelerationStructure = accelerationStructure_;
21116  return *this;
21117  }
21118 #endif /*VULKAN_HPP_NO_UNION_SETTERS*/
21119 
21120  operator VkDescriptorDataEXT const &() const
21121  {
21122  return *reinterpret_cast<const VkDescriptorDataEXT *>( this );
21123  }
21124 
21125  operator VkDescriptorDataEXT &()
21126  {
21127  return *reinterpret_cast<VkDescriptorDataEXT *>( this );
21128  }
21129 
21130 #ifdef VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
21141 #else
21142  const VkSampler * pSampler;
21152 #endif /*VULKAN_HPP_HAS_UNRESTRICTED_UNIONS*/
21153  };
21154 
21156  {
21158 
21159  static const bool allowDuplicate = false;
21161 
21162 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
21165  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
21166  : pNext( pNext_ )
21167  , type( type_ )
21168  , data( data_ )
21169  {
21170  }
21171 
21173 
21175  : DescriptorGetInfoEXT( *reinterpret_cast<DescriptorGetInfoEXT const *>( &rhs ) )
21176  {
21177  }
21178 
21180 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
21181 
21183  {
21184  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorGetInfoEXT const *>( &rhs );
21185  return *this;
21186  }
21187 
21188 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
21190  {
21191  pNext = pNext_;
21192  return *this;
21193  }
21194 
21196  {
21197  type = type_;
21198  return *this;
21199  }
21200 
21202  {
21203  data = data_;
21204  return *this;
21205  }
21206 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
21207 
21209  {
21210  return *reinterpret_cast<const VkDescriptorGetInfoEXT *>( this );
21211  }
21212 
21214  {
21215  return *reinterpret_cast<VkDescriptorGetInfoEXT *>( this );
21216  }
21217 
21218 #if defined( VULKAN_HPP_USE_REFLECT )
21219 # if 14 <= VULKAN_HPP_CPP_VERSION
21220  auto
21221 # else
21222  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
21223  const void * const &,
21226 # endif
21227  reflect() const VULKAN_HPP_NOEXCEPT
21228  {
21229  return std::tie( sType, pNext, type, data );
21230  }
21231 #endif
21232 
21233  public:
21235  const void * pNext = {};
21238  };
21239 
21240  template <>
21242  {
21244  };
21245 
21247  {
21249 
21250 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
21252  uint32_t descriptorCount_ = {} ) VULKAN_HPP_NOEXCEPT
21253  : type( type_ )
21254  , descriptorCount( descriptorCount_ )
21255  {
21256  }
21257 
21259 
21260  DescriptorPoolSize( VkDescriptorPoolSize const & rhs ) VULKAN_HPP_NOEXCEPT : DescriptorPoolSize( *reinterpret_cast<DescriptorPoolSize const *>( &rhs ) ) {}
21261 
21263 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
21264 
21266  {
21267  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorPoolSize const *>( &rhs );
21268  return *this;
21269  }
21270 
21271 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
21273  {
21274  type = type_;
21275  return *this;
21276  }
21277 
21279  {
21280  descriptorCount = descriptorCount_;
21281  return *this;
21282  }
21283 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
21284 
21286  {
21287  return *reinterpret_cast<const VkDescriptorPoolSize *>( this );
21288  }
21289 
21291  {
21292  return *reinterpret_cast<VkDescriptorPoolSize *>( this );
21293  }
21294 
21295 #if defined( VULKAN_HPP_USE_REFLECT )
21296 # if 14 <= VULKAN_HPP_CPP_VERSION
21297  auto
21298 # else
21299  std::tuple<VULKAN_HPP_NAMESPACE::DescriptorType const &, uint32_t const &>
21300 # endif
21301  reflect() const VULKAN_HPP_NOEXCEPT
21302  {
21303  return std::tie( type, descriptorCount );
21304  }
21305 #endif
21306 
21307 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
21308  auto operator<=>( DescriptorPoolSize const & ) const = default;
21309 #else
21311  {
21312 # if defined( VULKAN_HPP_USE_REFLECT )
21313  return this->reflect() == rhs.reflect();
21314 # else
21315  return ( type == rhs.type ) && ( descriptorCount == rhs.descriptorCount );
21316 # endif
21317  }
21318 
21320  {
21321  return !operator==( rhs );
21322  }
21323 #endif
21324 
21325  public:
21327  uint32_t descriptorCount = {};
21328  };
21329 
21331  {
21333 
21334  static const bool allowDuplicate = false;
21336 
21337 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
21339  uint32_t maxSets_ = {},
21340  uint32_t poolSizeCount_ = {},
21341  const VULKAN_HPP_NAMESPACE::DescriptorPoolSize * pPoolSizes_ = {},
21342  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
21343  : pNext( pNext_ )
21344  , flags( flags_ )
21345  , maxSets( maxSets_ )
21346  , poolSizeCount( poolSizeCount_ )
21347  , pPoolSizes( pPoolSizes_ )
21348  {
21349  }
21350 
21352 
21354  : DescriptorPoolCreateInfo( *reinterpret_cast<DescriptorPoolCreateInfo const *>( &rhs ) )
21355  {
21356  }
21357 
21358 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
21360  uint32_t maxSets_,
21362  const void * pNext_ = nullptr )
21363  : pNext( pNext_ ), flags( flags_ ), maxSets( maxSets_ ), poolSizeCount( static_cast<uint32_t>( poolSizes_.size() ) ), pPoolSizes( poolSizes_.data() )
21364  {
21365  }
21366 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
21367 
21369 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
21370 
21372  {
21373  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorPoolCreateInfo const *>( &rhs );
21374  return *this;
21375  }
21376 
21377 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
21379  {
21380  pNext = pNext_;
21381  return *this;
21382  }
21383 
21385  {
21386  flags = flags_;
21387  return *this;
21388  }
21389 
21391  {
21392  maxSets = maxSets_;
21393  return *this;
21394  }
21395 
21397  {
21398  poolSizeCount = poolSizeCount_;
21399  return *this;
21400  }
21401 
21403  {
21404  pPoolSizes = pPoolSizes_;
21405  return *this;
21406  }
21407 
21408 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
21411  {
21412  poolSizeCount = static_cast<uint32_t>( poolSizes_.size() );
21413  pPoolSizes = poolSizes_.data();
21414  return *this;
21415  }
21416 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
21417 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
21418 
21420  {
21421  return *reinterpret_cast<const VkDescriptorPoolCreateInfo *>( this );
21422  }
21423 
21425  {
21426  return *reinterpret_cast<VkDescriptorPoolCreateInfo *>( this );
21427  }
21428 
21429 #if defined( VULKAN_HPP_USE_REFLECT )
21430 # if 14 <= VULKAN_HPP_CPP_VERSION
21431  auto
21432 # else
21433  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
21434  const void * const &,
21436  uint32_t const &,
21437  uint32_t const &,
21439 # endif
21440  reflect() const VULKAN_HPP_NOEXCEPT
21441  {
21442  return std::tie( sType, pNext, flags, maxSets, poolSizeCount, pPoolSizes );
21443  }
21444 #endif
21445 
21446 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
21447  auto operator<=>( DescriptorPoolCreateInfo const & ) const = default;
21448 #else
21450  {
21451 # if defined( VULKAN_HPP_USE_REFLECT )
21452  return this->reflect() == rhs.reflect();
21453 # else
21454  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( maxSets == rhs.maxSets ) &&
21455  ( poolSizeCount == rhs.poolSizeCount ) && ( pPoolSizes == rhs.pPoolSizes );
21456 # endif
21457  }
21458 
21460  {
21461  return !operator==( rhs );
21462  }
21463 #endif
21464 
21465  public:
21467  const void * pNext = {};
21469  uint32_t maxSets = {};
21470  uint32_t poolSizeCount = {};
21472  };
21473 
21474  template <>
21476  {
21478  };
21479 
21481  {
21483 
21484  static const bool allowDuplicate = false;
21486 
21487 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
21488  VULKAN_HPP_CONSTEXPR DescriptorPoolInlineUniformBlockCreateInfo( uint32_t maxInlineUniformBlockBindings_ = {},
21489  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
21490  : pNext( pNext_ )
21491  , maxInlineUniformBlockBindings( maxInlineUniformBlockBindings_ )
21492  {
21493  }
21494 
21496 
21498  : DescriptorPoolInlineUniformBlockCreateInfo( *reinterpret_cast<DescriptorPoolInlineUniformBlockCreateInfo const *>( &rhs ) )
21499  {
21500  }
21501 
21503 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
21504 
21506  {
21507  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorPoolInlineUniformBlockCreateInfo const *>( &rhs );
21508  return *this;
21509  }
21510 
21511 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
21513  {
21514  pNext = pNext_;
21515  return *this;
21516  }
21517 
21519  setMaxInlineUniformBlockBindings( uint32_t maxInlineUniformBlockBindings_ ) VULKAN_HPP_NOEXCEPT
21520  {
21521  maxInlineUniformBlockBindings = maxInlineUniformBlockBindings_;
21522  return *this;
21523  }
21524 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
21525 
21527  {
21528  return *reinterpret_cast<const VkDescriptorPoolInlineUniformBlockCreateInfo *>( this );
21529  }
21530 
21532  {
21533  return *reinterpret_cast<VkDescriptorPoolInlineUniformBlockCreateInfo *>( this );
21534  }
21535 
21536 #if defined( VULKAN_HPP_USE_REFLECT )
21537 # if 14 <= VULKAN_HPP_CPP_VERSION
21538  auto
21539 # else
21540  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &>
21541 # endif
21542  reflect() const VULKAN_HPP_NOEXCEPT
21543  {
21544  return std::tie( sType, pNext, maxInlineUniformBlockBindings );
21545  }
21546 #endif
21547 
21548 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
21549  auto operator<=>( DescriptorPoolInlineUniformBlockCreateInfo const & ) const = default;
21550 #else
21552  {
21553 # if defined( VULKAN_HPP_USE_REFLECT )
21554  return this->reflect() == rhs.reflect();
21555 # else
21556  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxInlineUniformBlockBindings == rhs.maxInlineUniformBlockBindings );
21557 # endif
21558  }
21559 
21561  {
21562  return !operator==( rhs );
21563  }
21564 #endif
21565 
21566  public:
21568  const void * pNext = {};
21570  };
21571 
21572  template <>
21574  {
21576  };
21578 
21580  {
21582 
21583  static const bool allowDuplicate = false;
21585 
21586 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
21588  uint32_t descriptorSetCount_ = {},
21589  const VULKAN_HPP_NAMESPACE::DescriptorSetLayout * pSetLayouts_ = {},
21590  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
21591  : pNext( pNext_ )
21592  , descriptorPool( descriptorPool_ )
21593  , descriptorSetCount( descriptorSetCount_ )
21594  , pSetLayouts( pSetLayouts_ )
21595  {
21596  }
21597 
21599 
21601  : DescriptorSetAllocateInfo( *reinterpret_cast<DescriptorSetAllocateInfo const *>( &rhs ) )
21602  {
21603  }
21604 
21605 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
21608  const void * pNext_ = nullptr )
21609  : pNext( pNext_ ), descriptorPool( descriptorPool_ ), descriptorSetCount( static_cast<uint32_t>( setLayouts_.size() ) ), pSetLayouts( setLayouts_.data() )
21610  {
21611  }
21612 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
21613 
21615 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
21616 
21618  {
21619  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo const *>( &rhs );
21620  return *this;
21621  }
21622 
21623 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
21625  {
21626  pNext = pNext_;
21627  return *this;
21628  }
21629 
21631  {
21632  descriptorPool = descriptorPool_;
21633  return *this;
21634  }
21635 
21637  {
21638  descriptorSetCount = descriptorSetCount_;
21639  return *this;
21640  }
21641 
21643  {
21644  pSetLayouts = pSetLayouts_;
21645  return *this;
21646  }
21647 
21648 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
21651  {
21652  descriptorSetCount = static_cast<uint32_t>( setLayouts_.size() );
21653  pSetLayouts = setLayouts_.data();
21654  return *this;
21655  }
21656 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
21657 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
21658 
21660  {
21661  return *reinterpret_cast<const VkDescriptorSetAllocateInfo *>( this );
21662  }
21663 
21665  {
21666  return *reinterpret_cast<VkDescriptorSetAllocateInfo *>( this );
21667  }
21668 
21669 #if defined( VULKAN_HPP_USE_REFLECT )
21670 # if 14 <= VULKAN_HPP_CPP_VERSION
21671  auto
21672 # else
21673  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
21674  const void * const &,
21676  uint32_t const &,
21678 # endif
21679  reflect() const VULKAN_HPP_NOEXCEPT
21680  {
21681  return std::tie( sType, pNext, descriptorPool, descriptorSetCount, pSetLayouts );
21682  }
21683 #endif
21684 
21685 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
21686  auto operator<=>( DescriptorSetAllocateInfo const & ) const = default;
21687 #else
21689  {
21690 # if defined( VULKAN_HPP_USE_REFLECT )
21691  return this->reflect() == rhs.reflect();
21692 # else
21693  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( descriptorPool == rhs.descriptorPool ) && ( descriptorSetCount == rhs.descriptorSetCount ) &&
21694  ( pSetLayouts == rhs.pSetLayouts );
21695 # endif
21696  }
21697 
21699  {
21700  return !operator==( rhs );
21701  }
21702 #endif
21703 
21704  public:
21706  const void * pNext = {};
21708  uint32_t descriptorSetCount = {};
21710  };
21711 
21712  template <>
21714  {
21716  };
21717 
21719  {
21721 
21722  static const bool allowDuplicate = false;
21724 
21725 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
21727  uint32_t binding_ = {},
21728  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
21729  : pNext( pNext_ )
21730  , descriptorSetLayout( descriptorSetLayout_ )
21731  , binding( binding_ )
21732  {
21733  }
21734 
21736 
21738  : DescriptorSetBindingReferenceVALVE( *reinterpret_cast<DescriptorSetBindingReferenceVALVE const *>( &rhs ) )
21739  {
21740  }
21741 
21743 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
21744 
21746  {
21747  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorSetBindingReferenceVALVE const *>( &rhs );
21748  return *this;
21749  }
21750 
21751 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
21753  {
21754  pNext = pNext_;
21755  return *this;
21756  }
21757 
21760  {
21761  descriptorSetLayout = descriptorSetLayout_;
21762  return *this;
21763  }
21764 
21766  {
21767  binding = binding_;
21768  return *this;
21769  }
21770 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
21771 
21773  {
21774  return *reinterpret_cast<const VkDescriptorSetBindingReferenceVALVE *>( this );
21775  }
21776 
21778  {
21779  return *reinterpret_cast<VkDescriptorSetBindingReferenceVALVE *>( this );
21780  }
21781 
21782 #if defined( VULKAN_HPP_USE_REFLECT )
21783 # if 14 <= VULKAN_HPP_CPP_VERSION
21784  auto
21785 # else
21786  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::DescriptorSetLayout const &, uint32_t const &>
21787 # endif
21788  reflect() const VULKAN_HPP_NOEXCEPT
21789  {
21790  return std::tie( sType, pNext, descriptorSetLayout, binding );
21791  }
21792 #endif
21793 
21794 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
21795  auto operator<=>( DescriptorSetBindingReferenceVALVE const & ) const = default;
21796 #else
21798  {
21799 # if defined( VULKAN_HPP_USE_REFLECT )
21800  return this->reflect() == rhs.reflect();
21801 # else
21802  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( descriptorSetLayout == rhs.descriptorSetLayout ) && ( binding == rhs.binding );
21803 # endif
21804  }
21805 
21807  {
21808  return !operator==( rhs );
21809  }
21810 #endif
21811 
21812  public:
21814  const void * pNext = {};
21816  uint32_t binding = {};
21817  };
21818 
21819  template <>
21821  {
21823  };
21824 
21826  {
21828 
21829 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
21832  uint32_t descriptorCount_ = {},
21833  VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags_ = {},
21834  const VULKAN_HPP_NAMESPACE::Sampler * pImmutableSamplers_ = {} ) VULKAN_HPP_NOEXCEPT
21835  : binding( binding_ )
21836  , descriptorType( descriptorType_ )
21837  , descriptorCount( descriptorCount_ )
21838  , stageFlags( stageFlags_ )
21839  , pImmutableSamplers( pImmutableSamplers_ )
21840  {
21841  }
21842 
21844 
21846  : DescriptorSetLayoutBinding( *reinterpret_cast<DescriptorSetLayoutBinding const *>( &rhs ) )
21847  {
21848  }
21849 
21850 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
21851  DescriptorSetLayoutBinding( uint32_t binding_,
21852  VULKAN_HPP_NAMESPACE::DescriptorType descriptorType_,
21855  : binding( binding_ )
21856  , descriptorType( descriptorType_ )
21857  , descriptorCount( static_cast<uint32_t>( immutableSamplers_.size() ) )
21858  , stageFlags( stageFlags_ )
21859  , pImmutableSamplers( immutableSamplers_.data() )
21860  {
21861  }
21862 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
21863 
21865 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
21866 
21868  {
21869  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorSetLayoutBinding const *>( &rhs );
21870  return *this;
21871  }
21872 
21873 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
21875  {
21876  binding = binding_;
21877  return *this;
21878  }
21879 
21881  {
21882  descriptorType = descriptorType_;
21883  return *this;
21884  }
21885 
21887  {
21888  descriptorCount = descriptorCount_;
21889  return *this;
21890  }
21891 
21893  {
21894  stageFlags = stageFlags_;
21895  return *this;
21896  }
21897 
21899  {
21900  pImmutableSamplers = pImmutableSamplers_;
21901  return *this;
21902  }
21903 
21904 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
21907  {
21908  descriptorCount = static_cast<uint32_t>( immutableSamplers_.size() );
21909  pImmutableSamplers = immutableSamplers_.data();
21910  return *this;
21911  }
21912 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
21913 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
21914 
21916  {
21917  return *reinterpret_cast<const VkDescriptorSetLayoutBinding *>( this );
21918  }
21919 
21921  {
21922  return *reinterpret_cast<VkDescriptorSetLayoutBinding *>( this );
21923  }
21924 
21925 #if defined( VULKAN_HPP_USE_REFLECT )
21926 # if 14 <= VULKAN_HPP_CPP_VERSION
21927  auto
21928 # else
21929  std::tuple<uint32_t const &,
21931  uint32_t const &,
21933  const VULKAN_HPP_NAMESPACE::Sampler * const &>
21934 # endif
21935  reflect() const VULKAN_HPP_NOEXCEPT
21936  {
21938  }
21939 #endif
21940 
21941 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
21942  auto operator<=>( DescriptorSetLayoutBinding const & ) const = default;
21943 #else
21945  {
21946 # if defined( VULKAN_HPP_USE_REFLECT )
21947  return this->reflect() == rhs.reflect();
21948 # else
21949  return ( binding == rhs.binding ) && ( descriptorType == rhs.descriptorType ) && ( descriptorCount == rhs.descriptorCount ) &&
21950  ( stageFlags == rhs.stageFlags ) && ( pImmutableSamplers == rhs.pImmutableSamplers );
21951 # endif
21952  }
21953 
21955  {
21956  return !operator==( rhs );
21957  }
21958 #endif
21959 
21960  public:
21961  uint32_t binding = {};
21963  uint32_t descriptorCount = {};
21966  };
21967 
21969  {
21971 
21972  static const bool allowDuplicate = false;
21974 
21975 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
21977  const VULKAN_HPP_NAMESPACE::DescriptorBindingFlags * pBindingFlags_ = {},
21978  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
21979  : pNext( pNext_ )
21980  , bindingCount( bindingCount_ )
21981  , pBindingFlags( pBindingFlags_ )
21982  {
21983  }
21984 
21986 
21988  : DescriptorSetLayoutBindingFlagsCreateInfo( *reinterpret_cast<DescriptorSetLayoutBindingFlagsCreateInfo const *>( &rhs ) )
21989  {
21990  }
21991 
21992 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
21995  : pNext( pNext_ ), bindingCount( static_cast<uint32_t>( bindingFlags_.size() ) ), pBindingFlags( bindingFlags_.data() )
21996  {
21997  }
21998 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
21999 
22001 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
22002 
22004  {
22005  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorSetLayoutBindingFlagsCreateInfo const *>( &rhs );
22006  return *this;
22007  }
22008 
22009 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
22011  {
22012  pNext = pNext_;
22013  return *this;
22014  }
22015 
22017  {
22018  bindingCount = bindingCount_;
22019  return *this;
22020  }
22021 
22024  {
22025  pBindingFlags = pBindingFlags_;
22026  return *this;
22027  }
22028 
22029 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
22032  {
22033  bindingCount = static_cast<uint32_t>( bindingFlags_.size() );
22034  pBindingFlags = bindingFlags_.data();
22035  return *this;
22036  }
22037 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
22038 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
22039 
22041  {
22042  return *reinterpret_cast<const VkDescriptorSetLayoutBindingFlagsCreateInfo *>( this );
22043  }
22044 
22046  {
22047  return *reinterpret_cast<VkDescriptorSetLayoutBindingFlagsCreateInfo *>( this );
22048  }
22049 
22050 #if defined( VULKAN_HPP_USE_REFLECT )
22051 # if 14 <= VULKAN_HPP_CPP_VERSION
22052  auto
22053 # else
22054  std::
22055  tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &, const VULKAN_HPP_NAMESPACE::DescriptorBindingFlags * const &>
22056 # endif
22057  reflect() const VULKAN_HPP_NOEXCEPT
22058  {
22059  return std::tie( sType, pNext, bindingCount, pBindingFlags );
22060  }
22061 #endif
22062 
22063 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
22064  auto operator<=>( DescriptorSetLayoutBindingFlagsCreateInfo const & ) const = default;
22065 #else
22067  {
22068 # if defined( VULKAN_HPP_USE_REFLECT )
22069  return this->reflect() == rhs.reflect();
22070 # else
22071  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( bindingCount == rhs.bindingCount ) && ( pBindingFlags == rhs.pBindingFlags );
22072 # endif
22073  }
22074 
22076  {
22077  return !operator==( rhs );
22078  }
22079 #endif
22080 
22081  public:
22083  const void * pNext = {};
22084  uint32_t bindingCount = {};
22086  };
22087 
22088  template <>
22090  {
22092  };
22094 
22096  {
22098 
22099  static const bool allowDuplicate = false;
22101 
22102 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
22104  uint32_t bindingCount_ = {},
22105  const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutBinding * pBindings_ = {},
22106  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
22107  : pNext( pNext_ )
22108  , flags( flags_ )
22109  , bindingCount( bindingCount_ )
22110  , pBindings( pBindings_ )
22111  {
22112  }
22113 
22115 
22117  : DescriptorSetLayoutCreateInfo( *reinterpret_cast<DescriptorSetLayoutCreateInfo const *>( &rhs ) )
22118  {
22119  }
22120 
22121 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
22124  const void * pNext_ = nullptr )
22125  : pNext( pNext_ ), flags( flags_ ), bindingCount( static_cast<uint32_t>( bindings_.size() ) ), pBindings( bindings_.data() )
22126  {
22127  }
22128 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
22129 
22131 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
22132 
22134  {
22135  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo const *>( &rhs );
22136  return *this;
22137  }
22138 
22139 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
22141  {
22142  pNext = pNext_;
22143  return *this;
22144  }
22145 
22147  {
22148  flags = flags_;
22149  return *this;
22150  }
22151 
22153  {
22154  bindingCount = bindingCount_;
22155  return *this;
22156  }
22157 
22160  {
22161  pBindings = pBindings_;
22162  return *this;
22163  }
22164 
22165 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
22168  {
22169  bindingCount = static_cast<uint32_t>( bindings_.size() );
22170  pBindings = bindings_.data();
22171  return *this;
22172  }
22173 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
22174 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
22175 
22177  {
22178  return *reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>( this );
22179  }
22180 
22182  {
22183  return *reinterpret_cast<VkDescriptorSetLayoutCreateInfo *>( this );
22184  }
22185 
22186 #if defined( VULKAN_HPP_USE_REFLECT )
22187 # if 14 <= VULKAN_HPP_CPP_VERSION
22188  auto
22189 # else
22190  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
22191  const void * const &,
22193  uint32_t const &,
22195 # endif
22196  reflect() const VULKAN_HPP_NOEXCEPT
22197  {
22198  return std::tie( sType, pNext, flags, bindingCount, pBindings );
22199  }
22200 #endif
22201 
22202 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
22203  auto operator<=>( DescriptorSetLayoutCreateInfo const & ) const = default;
22204 #else
22206  {
22207 # if defined( VULKAN_HPP_USE_REFLECT )
22208  return this->reflect() == rhs.reflect();
22209 # else
22210  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( bindingCount == rhs.bindingCount ) &&
22211  ( pBindings == rhs.pBindings );
22212 # endif
22213  }
22214 
22216  {
22217  return !operator==( rhs );
22218  }
22219 #endif
22220 
22221  public:
22223  const void * pNext = {};
22225  uint32_t bindingCount = {};
22227  };
22228 
22229  template <>
22231  {
22233  };
22234 
22236  {
22238 
22239  static const bool allowDuplicate = false;
22241 
22242 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
22244  DescriptorSetLayoutHostMappingInfoVALVE( size_t descriptorOffset_ = {}, uint32_t descriptorSize_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
22245  : pNext( pNext_ )
22246  , descriptorOffset( descriptorOffset_ )
22247  , descriptorSize( descriptorSize_ )
22248  {
22249  }
22250 
22252 
22254  : DescriptorSetLayoutHostMappingInfoVALVE( *reinterpret_cast<DescriptorSetLayoutHostMappingInfoVALVE const *>( &rhs ) )
22255  {
22256  }
22257 
22259 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
22260 
22262  {
22263  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorSetLayoutHostMappingInfoVALVE const *>( &rhs );
22264  return *this;
22265  }
22266 
22267 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
22269  {
22270  pNext = pNext_;
22271  return *this;
22272  }
22273 
22275  {
22276  descriptorOffset = descriptorOffset_;
22277  return *this;
22278  }
22279 
22281  {
22282  descriptorSize = descriptorSize_;
22283  return *this;
22284  }
22285 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
22286 
22288  {
22289  return *reinterpret_cast<const VkDescriptorSetLayoutHostMappingInfoVALVE *>( this );
22290  }
22291 
22293  {
22294  return *reinterpret_cast<VkDescriptorSetLayoutHostMappingInfoVALVE *>( this );
22295  }
22296 
22297 #if defined( VULKAN_HPP_USE_REFLECT )
22298 # if 14 <= VULKAN_HPP_CPP_VERSION
22299  auto
22300 # else
22301  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, size_t const &, uint32_t const &>
22302 # endif
22303  reflect() const VULKAN_HPP_NOEXCEPT
22304  {
22305  return std::tie( sType, pNext, descriptorOffset, descriptorSize );
22306  }
22307 #endif
22308 
22309 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
22310  auto operator<=>( DescriptorSetLayoutHostMappingInfoVALVE const & ) const = default;
22311 #else
22313  {
22314 # if defined( VULKAN_HPP_USE_REFLECT )
22315  return this->reflect() == rhs.reflect();
22316 # else
22317  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( descriptorOffset == rhs.descriptorOffset ) && ( descriptorSize == rhs.descriptorSize );
22318 # endif
22319  }
22320 
22322  {
22323  return !operator==( rhs );
22324  }
22325 #endif
22326 
22327  public:
22329  void * pNext = {};
22330  size_t descriptorOffset = {};
22331  uint32_t descriptorSize = {};
22332  };
22333 
22334  template <>
22336  {
22338  };
22339 
22341  {
22343 
22344  static const bool allowDuplicate = false;
22346 
22347 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
22349  : pNext( pNext_ )
22350  , supported( supported_ )
22351  {
22352  }
22353 
22355 
22357  : DescriptorSetLayoutSupport( *reinterpret_cast<DescriptorSetLayoutSupport const *>( &rhs ) )
22358  {
22359  }
22360 
22362 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
22363 
22365  {
22366  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport const *>( &rhs );
22367  return *this;
22368  }
22369 
22371  {
22372  return *reinterpret_cast<const VkDescriptorSetLayoutSupport *>( this );
22373  }
22374 
22376  {
22377  return *reinterpret_cast<VkDescriptorSetLayoutSupport *>( this );
22378  }
22379 
22380 #if defined( VULKAN_HPP_USE_REFLECT )
22381 # if 14 <= VULKAN_HPP_CPP_VERSION
22382  auto
22383 # else
22384  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
22385 # endif
22386  reflect() const VULKAN_HPP_NOEXCEPT
22387  {
22388  return std::tie( sType, pNext, supported );
22389  }
22390 #endif
22391 
22392 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
22393  auto operator<=>( DescriptorSetLayoutSupport const & ) const = default;
22394 #else
22396  {
22397 # if defined( VULKAN_HPP_USE_REFLECT )
22398  return this->reflect() == rhs.reflect();
22399 # else
22400  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( supported == rhs.supported );
22401 # endif
22402  }
22403 
22405  {
22406  return !operator==( rhs );
22407  }
22408 #endif
22409 
22410  public:
22412  void * pNext = {};
22414  };
22415 
22416  template <>
22418  {
22420  };
22422 
22424  {
22426 
22427  static const bool allowDuplicate = false;
22429 
22430 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
22432  const uint32_t * pDescriptorCounts_ = {},
22433  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
22434  : pNext( pNext_ )
22435  , descriptorSetCount( descriptorSetCount_ )
22436  , pDescriptorCounts( pDescriptorCounts_ )
22437  {
22438  }
22439 
22442 
22444  : DescriptorSetVariableDescriptorCountAllocateInfo( *reinterpret_cast<DescriptorSetVariableDescriptorCountAllocateInfo const *>( &rhs ) )
22445  {
22446  }
22447 
22448 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
22450  const void * pNext_ = nullptr )
22451  : pNext( pNext_ ), descriptorSetCount( static_cast<uint32_t>( descriptorCounts_.size() ) ), pDescriptorCounts( descriptorCounts_.data() )
22452  {
22453  }
22454 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
22455 
22457 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
22458 
22460  {
22461  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorSetVariableDescriptorCountAllocateInfo const *>( &rhs );
22462  return *this;
22463  }
22464 
22465 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
22467  {
22468  pNext = pNext_;
22469  return *this;
22470  }
22471 
22473  {
22474  descriptorSetCount = descriptorSetCount_;
22475  return *this;
22476  }
22477 
22479  {
22480  pDescriptorCounts = pDescriptorCounts_;
22481  return *this;
22482  }
22483 
22484 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
22487  {
22488  descriptorSetCount = static_cast<uint32_t>( descriptorCounts_.size() );
22489  pDescriptorCounts = descriptorCounts_.data();
22490  return *this;
22491  }
22492 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
22493 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
22494 
22496  {
22497  return *reinterpret_cast<const VkDescriptorSetVariableDescriptorCountAllocateInfo *>( this );
22498  }
22499 
22501  {
22502  return *reinterpret_cast<VkDescriptorSetVariableDescriptorCountAllocateInfo *>( this );
22503  }
22504 
22505 #if defined( VULKAN_HPP_USE_REFLECT )
22506 # if 14 <= VULKAN_HPP_CPP_VERSION
22507  auto
22508 # else
22509  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &, const uint32_t * const &>
22510 # endif
22511  reflect() const VULKAN_HPP_NOEXCEPT
22512  {
22513  return std::tie( sType, pNext, descriptorSetCount, pDescriptorCounts );
22514  }
22515 #endif
22516 
22517 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
22518  auto operator<=>( DescriptorSetVariableDescriptorCountAllocateInfo const & ) const = default;
22519 #else
22521  {
22522 # if defined( VULKAN_HPP_USE_REFLECT )
22523  return this->reflect() == rhs.reflect();
22524 # else
22525  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( descriptorSetCount == rhs.descriptorSetCount ) &&
22526  ( pDescriptorCounts == rhs.pDescriptorCounts );
22527 # endif
22528  }
22529 
22531  {
22532  return !operator==( rhs );
22533  }
22534 #endif
22535 
22536  public:
22538  const void * pNext = {};
22539  uint32_t descriptorSetCount = {};
22540  const uint32_t * pDescriptorCounts = {};
22541  };
22542 
22543  template <>
22545  {
22547  };
22549 
22551  {
22553 
22554  static const bool allowDuplicate = false;
22556 
22557 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
22559  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
22560  : pNext( pNext_ )
22561  , maxVariableDescriptorCount( maxVariableDescriptorCount_ )
22562  {
22563  }
22564 
22567 
22569  : DescriptorSetVariableDescriptorCountLayoutSupport( *reinterpret_cast<DescriptorSetVariableDescriptorCountLayoutSupport const *>( &rhs ) )
22570  {
22571  }
22572 
22575 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
22576 
22578  {
22579  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorSetVariableDescriptorCountLayoutSupport const *>( &rhs );
22580  return *this;
22581  }
22582 
22584  {
22585  return *reinterpret_cast<const VkDescriptorSetVariableDescriptorCountLayoutSupport *>( this );
22586  }
22587 
22589  {
22590  return *reinterpret_cast<VkDescriptorSetVariableDescriptorCountLayoutSupport *>( this );
22591  }
22592 
22593 #if defined( VULKAN_HPP_USE_REFLECT )
22594 # if 14 <= VULKAN_HPP_CPP_VERSION
22595  auto
22596 # else
22597  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, uint32_t const &>
22598 # endif
22599  reflect() const VULKAN_HPP_NOEXCEPT
22600  {
22601  return std::tie( sType, pNext, maxVariableDescriptorCount );
22602  }
22603 #endif
22604 
22605 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
22606  auto operator<=>( DescriptorSetVariableDescriptorCountLayoutSupport const & ) const = default;
22607 #else
22609  {
22610 # if defined( VULKAN_HPP_USE_REFLECT )
22611  return this->reflect() == rhs.reflect();
22612 # else
22613  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxVariableDescriptorCount == rhs.maxVariableDescriptorCount );
22614 # endif
22615  }
22616 
22618  {
22619  return !operator==( rhs );
22620  }
22621 #endif
22622 
22623  public:
22625  void * pNext = {};
22627  };
22628 
22629  template <>
22631  {
22633  };
22635 
22637  {
22639 
22640 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
22642  uint32_t dstArrayElement_ = {},
22643  uint32_t descriptorCount_ = {},
22645  size_t offset_ = {},
22646  size_t stride_ = {} ) VULKAN_HPP_NOEXCEPT
22647  : dstBinding( dstBinding_ )
22648  , dstArrayElement( dstArrayElement_ )
22649  , descriptorCount( descriptorCount_ )
22650  , descriptorType( descriptorType_ )
22651  , offset( offset_ )
22652  , stride( stride_ )
22653  {
22654  }
22655 
22657 
22659  : DescriptorUpdateTemplateEntry( *reinterpret_cast<DescriptorUpdateTemplateEntry const *>( &rhs ) )
22660  {
22661  }
22662 
22664 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
22665 
22667  {
22668  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateEntry const *>( &rhs );
22669  return *this;
22670  }
22671 
22672 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
22674  {
22675  dstBinding = dstBinding_;
22676  return *this;
22677  }
22678 
22680  {
22681  dstArrayElement = dstArrayElement_;
22682  return *this;
22683  }
22684 
22686  {
22687  descriptorCount = descriptorCount_;
22688  return *this;
22689  }
22690 
22692  {
22693  descriptorType = descriptorType_;
22694  return *this;
22695  }
22696 
22698  {
22699  offset = offset_;
22700  return *this;
22701  }
22702 
22704  {
22705  stride = stride_;
22706  return *this;
22707  }
22708 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
22709 
22711  {
22712  return *reinterpret_cast<const VkDescriptorUpdateTemplateEntry *>( this );
22713  }
22714 
22716  {
22717  return *reinterpret_cast<VkDescriptorUpdateTemplateEntry *>( this );
22718  }
22719 
22720 #if defined( VULKAN_HPP_USE_REFLECT )
22721 # if 14 <= VULKAN_HPP_CPP_VERSION
22722  auto
22723 # else
22724  std::tuple<uint32_t const &, uint32_t const &, uint32_t const &, VULKAN_HPP_NAMESPACE::DescriptorType const &, size_t const &, size_t const &>
22725 # endif
22726  reflect() const VULKAN_HPP_NOEXCEPT
22727  {
22729  }
22730 #endif
22731 
22732 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
22733  auto operator<=>( DescriptorUpdateTemplateEntry const & ) const = default;
22734 #else
22736  {
22737 # if defined( VULKAN_HPP_USE_REFLECT )
22738  return this->reflect() == rhs.reflect();
22739 # else
22740  return ( dstBinding == rhs.dstBinding ) && ( dstArrayElement == rhs.dstArrayElement ) && ( descriptorCount == rhs.descriptorCount ) &&
22741  ( descriptorType == rhs.descriptorType ) && ( offset == rhs.offset ) && ( stride == rhs.stride );
22742 # endif
22743  }
22744 
22746  {
22747  return !operator==( rhs );
22748  }
22749 #endif
22750 
22751  public:
22752  uint32_t dstBinding = {};
22753  uint32_t dstArrayElement = {};
22754  uint32_t descriptorCount = {};
22756  size_t offset = {};
22757  size_t stride = {};
22758  };
22759  using DescriptorUpdateTemplateEntryKHR = DescriptorUpdateTemplateEntry;
22760 
22762  {
22764 
22765  static const bool allowDuplicate = false;
22767 
22768 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
22771  uint32_t descriptorUpdateEntryCount_ = {},
22772  const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateEntry * pDescriptorUpdateEntries_ = {},
22774  VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout_ = {},
22776  VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout_ = {},
22777  uint32_t set_ = {},
22778  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
22779  : pNext( pNext_ )
22780  , flags( flags_ )
22781  , descriptorUpdateEntryCount( descriptorUpdateEntryCount_ )
22782  , pDescriptorUpdateEntries( pDescriptorUpdateEntries_ )
22783  , templateType( templateType_ )
22784  , descriptorSetLayout( descriptorSetLayout_ )
22785  , pipelineBindPoint( pipelineBindPoint_ )
22786  , pipelineLayout( pipelineLayout_ )
22787  , set( set_ )
22788  {
22789  }
22790 
22792 
22794  : DescriptorUpdateTemplateCreateInfo( *reinterpret_cast<DescriptorUpdateTemplateCreateInfo const *>( &rhs ) )
22795  {
22796  }
22797 
22798 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
22803  VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout_ = {},
22805  VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout_ = {},
22806  uint32_t set_ = {},
22807  const void * pNext_ = nullptr )
22808  : pNext( pNext_ )
22809  , flags( flags_ )
22810  , descriptorUpdateEntryCount( static_cast<uint32_t>( descriptorUpdateEntries_.size() ) )
22811  , pDescriptorUpdateEntries( descriptorUpdateEntries_.data() )
22812  , templateType( templateType_ )
22813  , descriptorSetLayout( descriptorSetLayout_ )
22814  , pipelineBindPoint( pipelineBindPoint_ )
22815  , pipelineLayout( pipelineLayout_ )
22816  , set( set_ )
22817  {
22818  }
22819 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
22820 
22822 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
22823 
22825  {
22826  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo const *>( &rhs );
22827  return *this;
22828  }
22829 
22830 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
22832  {
22833  pNext = pNext_;
22834  return *this;
22835  }
22836 
22839  {
22840  flags = flags_;
22841  return *this;
22842  }
22843 
22845  {
22846  descriptorUpdateEntryCount = descriptorUpdateEntryCount_;
22847  return *this;
22848  }
22849 
22852  {
22853  pDescriptorUpdateEntries = pDescriptorUpdateEntries_;
22854  return *this;
22855  }
22856 
22857 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
22861  {
22862  descriptorUpdateEntryCount = static_cast<uint32_t>( descriptorUpdateEntries_.size() );
22863  pDescriptorUpdateEntries = descriptorUpdateEntries_.data();
22864  return *this;
22865  }
22866 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
22867 
22870  {
22871  templateType = templateType_;
22872  return *this;
22873  }
22874 
22877  {
22878  descriptorSetLayout = descriptorSetLayout_;
22879  return *this;
22880  }
22881 
22884  {
22885  pipelineBindPoint = pipelineBindPoint_;
22886  return *this;
22887  }
22888 
22890  {
22891  pipelineLayout = pipelineLayout_;
22892  return *this;
22893  }
22894 
22896  {
22897  set = set_;
22898  return *this;
22899  }
22900 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
22901 
22903  {
22904  return *reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo *>( this );
22905  }
22906 
22908  {
22909  return *reinterpret_cast<VkDescriptorUpdateTemplateCreateInfo *>( this );
22910  }
22911 
22912 #if defined( VULKAN_HPP_USE_REFLECT )
22913 # if 14 <= VULKAN_HPP_CPP_VERSION
22914  auto
22915 # else
22916  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
22917  const void * const &,
22919  uint32_t const &,
22925  uint32_t const &>
22926 # endif
22927  reflect() const VULKAN_HPP_NOEXCEPT
22928  {
22929  return std::tie(
22931  }
22932 #endif
22933 
22934 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
22935  auto operator<=>( DescriptorUpdateTemplateCreateInfo const & ) const = default;
22936 #else
22938  {
22939 # if defined( VULKAN_HPP_USE_REFLECT )
22940  return this->reflect() == rhs.reflect();
22941 # else
22942  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( descriptorUpdateEntryCount == rhs.descriptorUpdateEntryCount ) &&
22943  ( pDescriptorUpdateEntries == rhs.pDescriptorUpdateEntries ) && ( templateType == rhs.templateType ) &&
22944  ( descriptorSetLayout == rhs.descriptorSetLayout ) && ( pipelineBindPoint == rhs.pipelineBindPoint ) && ( pipelineLayout == rhs.pipelineLayout ) &&
22945  ( set == rhs.set );
22946 # endif
22947  }
22948 
22950  {
22951  return !operator==( rhs );
22952  }
22953 #endif
22954 
22955  public:
22957  const void * pNext = {};
22965  uint32_t set = {};
22966  };
22967 
22968  template <>
22970  {
22972  };
22974 
22976  {
22978 
22979  static const bool allowDuplicate = false;
22981 
22982 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
22985  VULKAN_HPP_NAMESPACE::DeviceAddress baseAddress_ = {},
22988  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
22989  : pNext( pNext_ )
22990  , flags( flags_ )
22991  , baseAddress( baseAddress_ )
22992  , size( size_ )
22993  , bindingType( bindingType_ )
22994  {
22995  }
22996 
22998 
23000  : DeviceAddressBindingCallbackDataEXT( *reinterpret_cast<DeviceAddressBindingCallbackDataEXT const *>( &rhs ) )
23001  {
23002  }
23003 
23005 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
23006 
23008  {
23009  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceAddressBindingCallbackDataEXT const *>( &rhs );
23010  return *this;
23011  }
23012 
23013 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
23015  {
23016  pNext = pNext_;
23017  return *this;
23018  }
23019 
23021  {
23022  flags = flags_;
23023  return *this;
23024  }
23025 
23027  {
23028  baseAddress = baseAddress_;
23029  return *this;
23030  }
23031 
23033  {
23034  size = size_;
23035  return *this;
23036  }
23037 
23040  {
23041  bindingType = bindingType_;
23042  return *this;
23043  }
23044 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
23045 
23047  {
23048  return *reinterpret_cast<const VkDeviceAddressBindingCallbackDataEXT *>( this );
23049  }
23050 
23052  {
23053  return *reinterpret_cast<VkDeviceAddressBindingCallbackDataEXT *>( this );
23054  }
23055 
23056 #if defined( VULKAN_HPP_USE_REFLECT )
23057 # if 14 <= VULKAN_HPP_CPP_VERSION
23058  auto
23059 # else
23060  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
23061  void * const &,
23066 # endif
23067  reflect() const VULKAN_HPP_NOEXCEPT
23068  {
23069  return std::tie( sType, pNext, flags, baseAddress, size, bindingType );
23070  }
23071 #endif
23072 
23073 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
23074  auto operator<=>( DeviceAddressBindingCallbackDataEXT const & ) const = default;
23075 #else
23077  {
23078 # if defined( VULKAN_HPP_USE_REFLECT )
23079  return this->reflect() == rhs.reflect();
23080 # else
23081  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( baseAddress == rhs.baseAddress ) && ( size == rhs.size ) &&
23082  ( bindingType == rhs.bindingType );
23083 # endif
23084  }
23085 
23087  {
23088  return !operator==( rhs );
23089  }
23090 #endif
23091 
23092  public:
23094  void * pNext = {};
23099  };
23100 
23101  template <>
23103  {
23105  };
23106 
23108  {
23110 
23111  static const bool allowDuplicate = false;
23113 
23114 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
23116  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
23117  : pNext( pNext_ )
23118  , pCreateInfo( pCreateInfo_ )
23119  {
23120  }
23121 
23123 
23125  : DeviceBufferMemoryRequirements( *reinterpret_cast<DeviceBufferMemoryRequirements const *>( &rhs ) )
23126  {
23127  }
23128 
23130 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
23131 
23133  {
23134  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirements const *>( &rhs );
23135  return *this;
23136  }
23137 
23138 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
23140  {
23141  pNext = pNext_;
23142  return *this;
23143  }
23144 
23146  {
23147  pCreateInfo = pCreateInfo_;
23148  return *this;
23149  }
23150 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
23151 
23153  {
23154  return *reinterpret_cast<const VkDeviceBufferMemoryRequirements *>( this );
23155  }
23156 
23158  {
23159  return *reinterpret_cast<VkDeviceBufferMemoryRequirements *>( this );
23160  }
23161 
23162 #if defined( VULKAN_HPP_USE_REFLECT )
23163 # if 14 <= VULKAN_HPP_CPP_VERSION
23164  auto
23165 # else
23166  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, const VULKAN_HPP_NAMESPACE::BufferCreateInfo * const &>
23167 # endif
23168  reflect() const VULKAN_HPP_NOEXCEPT
23169  {
23170  return std::tie( sType, pNext, pCreateInfo );
23171  }
23172 #endif
23173 
23174 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
23175  auto operator<=>( DeviceBufferMemoryRequirements const & ) const = default;
23176 #else
23178  {
23179 # if defined( VULKAN_HPP_USE_REFLECT )
23180  return this->reflect() == rhs.reflect();
23181 # else
23182  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pCreateInfo == rhs.pCreateInfo );
23183 # endif
23184  }
23185 
23187  {
23188  return !operator==( rhs );
23189  }
23190 #endif
23191 
23192  public:
23194  const void * pNext = {};
23196  };
23197 
23198  template <>
23200  {
23202  };
23204 
23206  {
23208 
23209  static const bool allowDuplicate = false;
23211 
23212 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
23214  uint32_t queueFamilyIndex_ = {},
23215  uint32_t queueCount_ = {},
23216  const float * pQueuePriorities_ = {},
23217  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
23218  : pNext( pNext_ )
23219  , flags( flags_ )
23220  , queueFamilyIndex( queueFamilyIndex_ )
23221  , queueCount( queueCount_ )
23222  , pQueuePriorities( pQueuePriorities_ )
23223  {
23224  }
23225 
23227 
23229  : DeviceQueueCreateInfo( *reinterpret_cast<DeviceQueueCreateInfo const *>( &rhs ) )
23230  {
23231  }
23232 
23233 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
23235  uint32_t queueFamilyIndex_,
23237  const void * pNext_ = nullptr )
23238  : pNext( pNext_ )
23239  , flags( flags_ )
23240  , queueFamilyIndex( queueFamilyIndex_ )
23241  , queueCount( static_cast<uint32_t>( queuePriorities_.size() ) )
23242  , pQueuePriorities( queuePriorities_.data() )
23243  {
23244  }
23245 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
23246 
23248 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
23249 
23251  {
23252  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceQueueCreateInfo const *>( &rhs );
23253  return *this;
23254  }
23255 
23256 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
23258  {
23259  pNext = pNext_;
23260  return *this;
23261  }
23262 
23264  {
23265  flags = flags_;
23266  return *this;
23267  }
23268 
23270  {
23271  queueFamilyIndex = queueFamilyIndex_;
23272  return *this;
23273  }
23274 
23276  {
23277  queueCount = queueCount_;
23278  return *this;
23279  }
23280 
23282  {
23283  pQueuePriorities = pQueuePriorities_;
23284  return *this;
23285  }
23286 
23287 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
23289  {
23290  queueCount = static_cast<uint32_t>( queuePriorities_.size() );
23291  pQueuePriorities = queuePriorities_.data();
23292  return *this;
23293  }
23294 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
23295 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
23296 
23298  {
23299  return *reinterpret_cast<const VkDeviceQueueCreateInfo *>( this );
23300  }
23301 
23303  {
23304  return *reinterpret_cast<VkDeviceQueueCreateInfo *>( this );
23305  }
23306 
23307 #if defined( VULKAN_HPP_USE_REFLECT )
23308 # if 14 <= VULKAN_HPP_CPP_VERSION
23309  auto
23310 # else
23311  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
23312  const void * const &,
23314  uint32_t const &,
23315  uint32_t const &,
23316  const float * const &>
23317 # endif
23318  reflect() const VULKAN_HPP_NOEXCEPT
23319  {
23320  return std::tie( sType, pNext, flags, queueFamilyIndex, queueCount, pQueuePriorities );
23321  }
23322 #endif
23323 
23324 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
23325  auto operator<=>( DeviceQueueCreateInfo const & ) const = default;
23326 #else
23328  {
23329 # if defined( VULKAN_HPP_USE_REFLECT )
23330  return this->reflect() == rhs.reflect();
23331 # else
23332  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( queueFamilyIndex == rhs.queueFamilyIndex ) &&
23333  ( queueCount == rhs.queueCount ) && ( pQueuePriorities == rhs.pQueuePriorities );
23334 # endif
23335  }
23336 
23338  {
23339  return !operator==( rhs );
23340  }
23341 #endif
23342 
23343  public:
23345  const void * pNext = {};
23347  uint32_t queueFamilyIndex = {};
23348  uint32_t queueCount = {};
23349  const float * pQueuePriorities = {};
23350  };
23351 
23352  template <>
23354  {
23356  };
23357 
23359  {
23361 
23362 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
23364  VULKAN_HPP_NAMESPACE::Bool32 fullDrawIndexUint32_ = {},
23365  VULKAN_HPP_NAMESPACE::Bool32 imageCubeArray_ = {},
23366  VULKAN_HPP_NAMESPACE::Bool32 independentBlend_ = {},
23367  VULKAN_HPP_NAMESPACE::Bool32 geometryShader_ = {},
23368  VULKAN_HPP_NAMESPACE::Bool32 tessellationShader_ = {},
23369  VULKAN_HPP_NAMESPACE::Bool32 sampleRateShading_ = {},
23370  VULKAN_HPP_NAMESPACE::Bool32 dualSrcBlend_ = {},
23371  VULKAN_HPP_NAMESPACE::Bool32 logicOp_ = {},
23372  VULKAN_HPP_NAMESPACE::Bool32 multiDrawIndirect_ = {},
23373  VULKAN_HPP_NAMESPACE::Bool32 drawIndirectFirstInstance_ = {},
23374  VULKAN_HPP_NAMESPACE::Bool32 depthClamp_ = {},
23375  VULKAN_HPP_NAMESPACE::Bool32 depthBiasClamp_ = {},
23376  VULKAN_HPP_NAMESPACE::Bool32 fillModeNonSolid_ = {},
23377  VULKAN_HPP_NAMESPACE::Bool32 depthBounds_ = {},
23378  VULKAN_HPP_NAMESPACE::Bool32 wideLines_ = {},
23379  VULKAN_HPP_NAMESPACE::Bool32 largePoints_ = {},
23380  VULKAN_HPP_NAMESPACE::Bool32 alphaToOne_ = {},
23381  VULKAN_HPP_NAMESPACE::Bool32 multiViewport_ = {},
23382  VULKAN_HPP_NAMESPACE::Bool32 samplerAnisotropy_ = {},
23383  VULKAN_HPP_NAMESPACE::Bool32 textureCompressionETC2_ = {},
23384  VULKAN_HPP_NAMESPACE::Bool32 textureCompressionASTC_LDR_ = {},
23385  VULKAN_HPP_NAMESPACE::Bool32 textureCompressionBC_ = {},
23386  VULKAN_HPP_NAMESPACE::Bool32 occlusionQueryPrecise_ = {},
23387  VULKAN_HPP_NAMESPACE::Bool32 pipelineStatisticsQuery_ = {},
23388  VULKAN_HPP_NAMESPACE::Bool32 vertexPipelineStoresAndAtomics_ = {},
23389  VULKAN_HPP_NAMESPACE::Bool32 fragmentStoresAndAtomics_ = {},
23390  VULKAN_HPP_NAMESPACE::Bool32 shaderTessellationAndGeometryPointSize_ = {},
23391  VULKAN_HPP_NAMESPACE::Bool32 shaderImageGatherExtended_ = {},
23392  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageExtendedFormats_ = {},
23393  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageMultisample_ = {},
23394  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageReadWithoutFormat_ = {},
23395  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageWriteWithoutFormat_ = {},
23396  VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayDynamicIndexing_ = {},
23397  VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayDynamicIndexing_ = {},
23398  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayDynamicIndexing_ = {},
23399  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayDynamicIndexing_ = {},
23400  VULKAN_HPP_NAMESPACE::Bool32 shaderClipDistance_ = {},
23401  VULKAN_HPP_NAMESPACE::Bool32 shaderCullDistance_ = {},
23402  VULKAN_HPP_NAMESPACE::Bool32 shaderFloat64_ = {},
23403  VULKAN_HPP_NAMESPACE::Bool32 shaderInt64_ = {},
23404  VULKAN_HPP_NAMESPACE::Bool32 shaderInt16_ = {},
23405  VULKAN_HPP_NAMESPACE::Bool32 shaderResourceResidency_ = {},
23406  VULKAN_HPP_NAMESPACE::Bool32 shaderResourceMinLod_ = {},
23407  VULKAN_HPP_NAMESPACE::Bool32 sparseBinding_ = {},
23408  VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyBuffer_ = {},
23409  VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyImage2D_ = {},
23410  VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyImage3D_ = {},
23411  VULKAN_HPP_NAMESPACE::Bool32 sparseResidency2Samples_ = {},
23412  VULKAN_HPP_NAMESPACE::Bool32 sparseResidency4Samples_ = {},
23413  VULKAN_HPP_NAMESPACE::Bool32 sparseResidency8Samples_ = {},
23414  VULKAN_HPP_NAMESPACE::Bool32 sparseResidency16Samples_ = {},
23415  VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyAliased_ = {},
23416  VULKAN_HPP_NAMESPACE::Bool32 variableMultisampleRate_ = {},
23417  VULKAN_HPP_NAMESPACE::Bool32 inheritedQueries_ = {} ) VULKAN_HPP_NOEXCEPT
23418  : robustBufferAccess( robustBufferAccess_ )
23419  , fullDrawIndexUint32( fullDrawIndexUint32_ )
23420  , imageCubeArray( imageCubeArray_ )
23421  , independentBlend( independentBlend_ )
23422  , geometryShader( geometryShader_ )
23423  , tessellationShader( tessellationShader_ )
23424  , sampleRateShading( sampleRateShading_ )
23425  , dualSrcBlend( dualSrcBlend_ )
23426  , logicOp( logicOp_ )
23427  , multiDrawIndirect( multiDrawIndirect_ )
23428  , drawIndirectFirstInstance( drawIndirectFirstInstance_ )
23429  , depthClamp( depthClamp_ )
23430  , depthBiasClamp( depthBiasClamp_ )
23431  , fillModeNonSolid( fillModeNonSolid_ )
23432  , depthBounds( depthBounds_ )
23433  , wideLines( wideLines_ )
23434  , largePoints( largePoints_ )
23435  , alphaToOne( alphaToOne_ )
23436  , multiViewport( multiViewport_ )
23437  , samplerAnisotropy( samplerAnisotropy_ )
23438  , textureCompressionETC2( textureCompressionETC2_ )
23439  , textureCompressionASTC_LDR( textureCompressionASTC_LDR_ )
23440  , textureCompressionBC( textureCompressionBC_ )
23441  , occlusionQueryPrecise( occlusionQueryPrecise_ )
23442  , pipelineStatisticsQuery( pipelineStatisticsQuery_ )
23443  , vertexPipelineStoresAndAtomics( vertexPipelineStoresAndAtomics_ )
23444  , fragmentStoresAndAtomics( fragmentStoresAndAtomics_ )
23445  , shaderTessellationAndGeometryPointSize( shaderTessellationAndGeometryPointSize_ )
23446  , shaderImageGatherExtended( shaderImageGatherExtended_ )
23447  , shaderStorageImageExtendedFormats( shaderStorageImageExtendedFormats_ )
23448  , shaderStorageImageMultisample( shaderStorageImageMultisample_ )
23449  , shaderStorageImageReadWithoutFormat( shaderStorageImageReadWithoutFormat_ )
23450  , shaderStorageImageWriteWithoutFormat( shaderStorageImageWriteWithoutFormat_ )
23451  , shaderUniformBufferArrayDynamicIndexing( shaderUniformBufferArrayDynamicIndexing_ )
23452  , shaderSampledImageArrayDynamicIndexing( shaderSampledImageArrayDynamicIndexing_ )
23453  , shaderStorageBufferArrayDynamicIndexing( shaderStorageBufferArrayDynamicIndexing_ )
23454  , shaderStorageImageArrayDynamicIndexing( shaderStorageImageArrayDynamicIndexing_ )
23455  , shaderClipDistance( shaderClipDistance_ )
23456  , shaderCullDistance( shaderCullDistance_ )
23457  , shaderFloat64( shaderFloat64_ )
23458  , shaderInt64( shaderInt64_ )
23459  , shaderInt16( shaderInt16_ )
23460  , shaderResourceResidency( shaderResourceResidency_ )
23461  , shaderResourceMinLod( shaderResourceMinLod_ )
23462  , sparseBinding( sparseBinding_ )
23463  , sparseResidencyBuffer( sparseResidencyBuffer_ )
23464  , sparseResidencyImage2D( sparseResidencyImage2D_ )
23465  , sparseResidencyImage3D( sparseResidencyImage3D_ )
23466  , sparseResidency2Samples( sparseResidency2Samples_ )
23467  , sparseResidency4Samples( sparseResidency4Samples_ )
23468  , sparseResidency8Samples( sparseResidency8Samples_ )
23469  , sparseResidency16Samples( sparseResidency16Samples_ )
23470  , sparseResidencyAliased( sparseResidencyAliased_ )
23471  , variableMultisampleRate( variableMultisampleRate_ )
23472  , inheritedQueries( inheritedQueries_ )
23473  {
23474  }
23475 
23477 
23479  : PhysicalDeviceFeatures( *reinterpret_cast<PhysicalDeviceFeatures const *>( &rhs ) )
23480  {
23481  }
23482 
23484 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
23485 
23487  {
23488  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures const *>( &rhs );
23489  return *this;
23490  }
23491 
23492 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
23494  {
23495  robustBufferAccess = robustBufferAccess_;
23496  return *this;
23497  }
23498 
23500  {
23501  fullDrawIndexUint32 = fullDrawIndexUint32_;
23502  return *this;
23503  }
23504 
23506  {
23507  imageCubeArray = imageCubeArray_;
23508  return *this;
23509  }
23510 
23512  {
23513  independentBlend = independentBlend_;
23514  return *this;
23515  }
23516 
23518  {
23519  geometryShader = geometryShader_;
23520  return *this;
23521  }
23522 
23524  {
23525  tessellationShader = tessellationShader_;
23526  return *this;
23527  }
23528 
23530  {
23531  sampleRateShading = sampleRateShading_;
23532  return *this;
23533  }
23534 
23536  {
23537  dualSrcBlend = dualSrcBlend_;
23538  return *this;
23539  }
23540 
23542  {
23543  logicOp = logicOp_;
23544  return *this;
23545  }
23546 
23548  {
23549  multiDrawIndirect = multiDrawIndirect_;
23550  return *this;
23551  }
23552 
23554  {
23555  drawIndirectFirstInstance = drawIndirectFirstInstance_;
23556  return *this;
23557  }
23558 
23560  {
23561  depthClamp = depthClamp_;
23562  return *this;
23563  }
23564 
23566  {
23567  depthBiasClamp = depthBiasClamp_;
23568  return *this;
23569  }
23570 
23572  {
23573  fillModeNonSolid = fillModeNonSolid_;
23574  return *this;
23575  }
23576 
23578  {
23579  depthBounds = depthBounds_;
23580  return *this;
23581  }
23582 
23584  {
23585  wideLines = wideLines_;
23586  return *this;
23587  }
23588 
23590  {
23591  largePoints = largePoints_;
23592  return *this;
23593  }
23594 
23596  {
23597  alphaToOne = alphaToOne_;
23598  return *this;
23599  }
23600 
23602  {
23603  multiViewport = multiViewport_;
23604  return *this;
23605  }
23606 
23608  {
23609  samplerAnisotropy = samplerAnisotropy_;
23610  return *this;
23611  }
23612 
23614  {
23615  textureCompressionETC2 = textureCompressionETC2_;
23616  return *this;
23617  }
23618 
23621  {
23622  textureCompressionASTC_LDR = textureCompressionASTC_LDR_;
23623  return *this;
23624  }
23625 
23627  {
23628  textureCompressionBC = textureCompressionBC_;
23629  return *this;
23630  }
23631 
23633  {
23634  occlusionQueryPrecise = occlusionQueryPrecise_;
23635  return *this;
23636  }
23637 
23639  {
23640  pipelineStatisticsQuery = pipelineStatisticsQuery_;
23641  return *this;
23642  }
23643 
23646  {
23647  vertexPipelineStoresAndAtomics = vertexPipelineStoresAndAtomics_;
23648  return *this;
23649  }
23650 
23652  {
23653  fragmentStoresAndAtomics = fragmentStoresAndAtomics_;
23654  return *this;
23655  }
23656 
23659  {
23660  shaderTessellationAndGeometryPointSize = shaderTessellationAndGeometryPointSize_;
23661  return *this;
23662  }
23663 
23665  {
23666  shaderImageGatherExtended = shaderImageGatherExtended_;
23667  return *this;
23668  }
23669 
23672  {
23673  shaderStorageImageExtendedFormats = shaderStorageImageExtendedFormats_;
23674  return *this;
23675  }
23676 
23679  {
23680  shaderStorageImageMultisample = shaderStorageImageMultisample_;
23681  return *this;
23682  }
23683 
23686  {
23687  shaderStorageImageReadWithoutFormat = shaderStorageImageReadWithoutFormat_;
23688  return *this;
23689  }
23690 
23693  {
23694  shaderStorageImageWriteWithoutFormat = shaderStorageImageWriteWithoutFormat_;
23695  return *this;
23696  }
23697 
23700  {
23701  shaderUniformBufferArrayDynamicIndexing = shaderUniformBufferArrayDynamicIndexing_;
23702  return *this;
23703  }
23704 
23707  {
23708  shaderSampledImageArrayDynamicIndexing = shaderSampledImageArrayDynamicIndexing_;
23709  return *this;
23710  }
23711 
23714  {
23715  shaderStorageBufferArrayDynamicIndexing = shaderStorageBufferArrayDynamicIndexing_;
23716  return *this;
23717  }
23718 
23721  {
23722  shaderStorageImageArrayDynamicIndexing = shaderStorageImageArrayDynamicIndexing_;
23723  return *this;
23724  }
23725 
23727  {
23728  shaderClipDistance = shaderClipDistance_;
23729  return *this;
23730  }
23731 
23733  {
23734  shaderCullDistance = shaderCullDistance_;
23735  return *this;
23736  }
23737 
23739  {
23740  shaderFloat64 = shaderFloat64_;
23741  return *this;
23742  }
23743 
23745  {
23746  shaderInt64 = shaderInt64_;
23747  return *this;
23748  }
23749 
23751  {
23752  shaderInt16 = shaderInt16_;
23753  return *this;
23754  }
23755 
23757  {
23758  shaderResourceResidency = shaderResourceResidency_;
23759  return *this;
23760  }
23761 
23763  {
23764  shaderResourceMinLod = shaderResourceMinLod_;
23765  return *this;
23766  }
23767 
23769  {
23770  sparseBinding = sparseBinding_;
23771  return *this;
23772  }
23773 
23775  {
23776  sparseResidencyBuffer = sparseResidencyBuffer_;
23777  return *this;
23778  }
23779 
23781  {
23782  sparseResidencyImage2D = sparseResidencyImage2D_;
23783  return *this;
23784  }
23785 
23787  {
23788  sparseResidencyImage3D = sparseResidencyImage3D_;
23789  return *this;
23790  }
23791 
23793  {
23794  sparseResidency2Samples = sparseResidency2Samples_;
23795  return *this;
23796  }
23797 
23799  {
23800  sparseResidency4Samples = sparseResidency4Samples_;
23801  return *this;
23802  }
23803 
23805  {
23806  sparseResidency8Samples = sparseResidency8Samples_;
23807  return *this;
23808  }
23809 
23811  {
23812  sparseResidency16Samples = sparseResidency16Samples_;
23813  return *this;
23814  }
23815 
23817  {
23818  sparseResidencyAliased = sparseResidencyAliased_;
23819  return *this;
23820  }
23821 
23823  {
23824  variableMultisampleRate = variableMultisampleRate_;
23825  return *this;
23826  }
23827 
23829  {
23830  inheritedQueries = inheritedQueries_;
23831  return *this;
23832  }
23833 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
23834 
23836  {
23837  return *reinterpret_cast<const VkPhysicalDeviceFeatures *>( this );
23838  }
23839 
23841  {
23842  return *reinterpret_cast<VkPhysicalDeviceFeatures *>( this );
23843  }
23844 
23845 #if defined( VULKAN_HPP_USE_REFLECT )
23846 # if 14 <= VULKAN_HPP_CPP_VERSION
23847  auto
23848 # else
23849  std::tuple<VULKAN_HPP_NAMESPACE::Bool32 const &,
23904 # endif
23905  reflect() const VULKAN_HPP_NOEXCEPT
23906  {
23907  return std::tie( robustBufferAccess,
23914  dualSrcBlend,
23915  logicOp,
23918  depthClamp,
23921  depthBounds,
23922  wideLines,
23923  largePoints,
23924  alphaToOne,
23925  multiViewport,
23946  shaderFloat64,
23947  shaderInt64,
23948  shaderInt16,
23951  sparseBinding,
23961  inheritedQueries );
23962  }
23963 #endif
23964 
23965 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
23966  auto operator<=>( PhysicalDeviceFeatures const & ) const = default;
23967 #else
23969  {
23970 # if defined( VULKAN_HPP_USE_REFLECT )
23971  return this->reflect() == rhs.reflect();
23972 # else
23973  return ( robustBufferAccess == rhs.robustBufferAccess ) && ( fullDrawIndexUint32 == rhs.fullDrawIndexUint32 ) &&
23974  ( imageCubeArray == rhs.imageCubeArray ) && ( independentBlend == rhs.independentBlend ) && ( geometryShader == rhs.geometryShader ) &&
23975  ( tessellationShader == rhs.tessellationShader ) && ( sampleRateShading == rhs.sampleRateShading ) && ( dualSrcBlend == rhs.dualSrcBlend ) &&
23976  ( logicOp == rhs.logicOp ) && ( multiDrawIndirect == rhs.multiDrawIndirect ) && ( drawIndirectFirstInstance == rhs.drawIndirectFirstInstance ) &&
23977  ( depthClamp == rhs.depthClamp ) && ( depthBiasClamp == rhs.depthBiasClamp ) && ( fillModeNonSolid == rhs.fillModeNonSolid ) &&
23978  ( depthBounds == rhs.depthBounds ) && ( wideLines == rhs.wideLines ) && ( largePoints == rhs.largePoints ) && ( alphaToOne == rhs.alphaToOne ) &&
23979  ( multiViewport == rhs.multiViewport ) && ( samplerAnisotropy == rhs.samplerAnisotropy ) &&
23980  ( textureCompressionETC2 == rhs.textureCompressionETC2 ) && ( textureCompressionASTC_LDR == rhs.textureCompressionASTC_LDR ) &&
23981  ( textureCompressionBC == rhs.textureCompressionBC ) && ( occlusionQueryPrecise == rhs.occlusionQueryPrecise ) &&
23982  ( pipelineStatisticsQuery == rhs.pipelineStatisticsQuery ) && ( vertexPipelineStoresAndAtomics == rhs.vertexPipelineStoresAndAtomics ) &&
23983  ( fragmentStoresAndAtomics == rhs.fragmentStoresAndAtomics ) &&
23984  ( shaderTessellationAndGeometryPointSize == rhs.shaderTessellationAndGeometryPointSize ) &&
23985  ( shaderImageGatherExtended == rhs.shaderImageGatherExtended ) && ( shaderStorageImageExtendedFormats == rhs.shaderStorageImageExtendedFormats ) &&
23986  ( shaderStorageImageMultisample == rhs.shaderStorageImageMultisample ) &&
23987  ( shaderStorageImageReadWithoutFormat == rhs.shaderStorageImageReadWithoutFormat ) &&
23988  ( shaderStorageImageWriteWithoutFormat == rhs.shaderStorageImageWriteWithoutFormat ) &&
23989  ( shaderUniformBufferArrayDynamicIndexing == rhs.shaderUniformBufferArrayDynamicIndexing ) &&
23990  ( shaderSampledImageArrayDynamicIndexing == rhs.shaderSampledImageArrayDynamicIndexing ) &&
23991  ( shaderStorageBufferArrayDynamicIndexing == rhs.shaderStorageBufferArrayDynamicIndexing ) &&
23992  ( shaderStorageImageArrayDynamicIndexing == rhs.shaderStorageImageArrayDynamicIndexing ) && ( shaderClipDistance == rhs.shaderClipDistance ) &&
23993  ( shaderCullDistance == rhs.shaderCullDistance ) && ( shaderFloat64 == rhs.shaderFloat64 ) && ( shaderInt64 == rhs.shaderInt64 ) &&
23994  ( shaderInt16 == rhs.shaderInt16 ) && ( shaderResourceResidency == rhs.shaderResourceResidency ) &&
23995  ( shaderResourceMinLod == rhs.shaderResourceMinLod ) && ( sparseBinding == rhs.sparseBinding ) &&
23996  ( sparseResidencyBuffer == rhs.sparseResidencyBuffer ) && ( sparseResidencyImage2D == rhs.sparseResidencyImage2D ) &&
23997  ( sparseResidencyImage3D == rhs.sparseResidencyImage3D ) && ( sparseResidency2Samples == rhs.sparseResidency2Samples ) &&
23998  ( sparseResidency4Samples == rhs.sparseResidency4Samples ) && ( sparseResidency8Samples == rhs.sparseResidency8Samples ) &&
23999  ( sparseResidency16Samples == rhs.sparseResidency16Samples ) && ( sparseResidencyAliased == rhs.sparseResidencyAliased ) &&
24000  ( variableMultisampleRate == rhs.variableMultisampleRate ) && ( inheritedQueries == rhs.inheritedQueries );
24001 # endif
24002  }
24003 
24005  {
24006  return !operator==( rhs );
24007  }
24008 #endif
24009 
24010  public:
24066  };
24067 
24069  {
24071 
24072  static const bool allowDuplicate = false;
24074 
24075 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
24077  uint32_t queueCreateInfoCount_ = {},
24078  const VULKAN_HPP_NAMESPACE::DeviceQueueCreateInfo * pQueueCreateInfos_ = {},
24079  uint32_t enabledLayerCount_ = {},
24080  const char * const * ppEnabledLayerNames_ = {},
24081  uint32_t enabledExtensionCount_ = {},
24082  const char * const * ppEnabledExtensionNames_ = {},
24083  const VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures * pEnabledFeatures_ = {},
24084  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
24085  : pNext( pNext_ )
24086  , flags( flags_ )
24087  , queueCreateInfoCount( queueCreateInfoCount_ )
24088  , pQueueCreateInfos( pQueueCreateInfos_ )
24089  , enabledLayerCount( enabledLayerCount_ )
24090  , ppEnabledLayerNames( ppEnabledLayerNames_ )
24091  , enabledExtensionCount( enabledExtensionCount_ )
24092  , ppEnabledExtensionNames( ppEnabledExtensionNames_ )
24093  , pEnabledFeatures( pEnabledFeatures_ )
24094  {
24095  }
24096 
24098 
24099  DeviceCreateInfo( VkDeviceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : DeviceCreateInfo( *reinterpret_cast<DeviceCreateInfo const *>( &rhs ) ) {}
24100 
24101 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
24105  VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const char * const> const & pEnabledExtensionNames_ = {},
24106  const VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures * pEnabledFeatures_ = {},
24107  const void * pNext_ = nullptr )
24108  : pNext( pNext_ )
24109  , flags( flags_ )
24110  , queueCreateInfoCount( static_cast<uint32_t>( queueCreateInfos_.size() ) )
24111  , pQueueCreateInfos( queueCreateInfos_.data() )
24112  , enabledLayerCount( static_cast<uint32_t>( pEnabledLayerNames_.size() ) )
24113  , ppEnabledLayerNames( pEnabledLayerNames_.data() )
24114  , enabledExtensionCount( static_cast<uint32_t>( pEnabledExtensionNames_.size() ) )
24115  , ppEnabledExtensionNames( pEnabledExtensionNames_.data() )
24116  , pEnabledFeatures( pEnabledFeatures_ )
24117  {
24118  }
24119 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
24120 
24122 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
24123 
24125  {
24126  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceCreateInfo const *>( &rhs );
24127  return *this;
24128  }
24129 
24130 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
24132  {
24133  pNext = pNext_;
24134  return *this;
24135  }
24136 
24138  {
24139  flags = flags_;
24140  return *this;
24141  }
24142 
24144  {
24145  queueCreateInfoCount = queueCreateInfoCount_;
24146  return *this;
24147  }
24148 
24151  {
24152  pQueueCreateInfos = pQueueCreateInfos_;
24153  return *this;
24154  }
24155 
24156 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
24159  {
24160  queueCreateInfoCount = static_cast<uint32_t>( queueCreateInfos_.size() );
24161  pQueueCreateInfos = queueCreateInfos_.data();
24162  return *this;
24163  }
24164 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
24165 
24167  {
24168  enabledLayerCount = enabledLayerCount_;
24169  return *this;
24170  }
24171 
24173  {
24174  ppEnabledLayerNames = ppEnabledLayerNames_;
24175  return *this;
24176  }
24177 
24178 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
24181  {
24182  enabledLayerCount = static_cast<uint32_t>( pEnabledLayerNames_.size() );
24183  ppEnabledLayerNames = pEnabledLayerNames_.data();
24184  return *this;
24185  }
24186 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
24187 
24189  {
24190  enabledExtensionCount = enabledExtensionCount_;
24191  return *this;
24192  }
24193 
24195  {
24196  ppEnabledExtensionNames = ppEnabledExtensionNames_;
24197  return *this;
24198  }
24199 
24200 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
24203  {
24204  enabledExtensionCount = static_cast<uint32_t>( pEnabledExtensionNames_.size() );
24205  ppEnabledExtensionNames = pEnabledExtensionNames_.data();
24206  return *this;
24207  }
24208 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
24209 
24211  {
24212  pEnabledFeatures = pEnabledFeatures_;
24213  return *this;
24214  }
24215 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
24216 
24217  operator VkDeviceCreateInfo const &() const VULKAN_HPP_NOEXCEPT
24218  {
24219  return *reinterpret_cast<const VkDeviceCreateInfo *>( this );
24220  }
24221 
24223  {
24224  return *reinterpret_cast<VkDeviceCreateInfo *>( this );
24225  }
24226 
24227 #if defined( VULKAN_HPP_USE_REFLECT )
24228 # if 14 <= VULKAN_HPP_CPP_VERSION
24229  auto
24230 # else
24231  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
24232  const void * const &,
24234  uint32_t const &,
24236  uint32_t const &,
24237  const char * const * const &,
24238  uint32_t const &,
24239  const char * const * const &,
24241 # endif
24242  reflect() const VULKAN_HPP_NOEXCEPT
24243  {
24244  return std::tie( sType,
24245  pNext,
24246  flags,
24253  pEnabledFeatures );
24254  }
24255 #endif
24256 
24257 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
24258  std::strong_ordering operator<=>( DeviceCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
24259  {
24260  if ( auto cmp = sType <=> rhs.sType; cmp != 0 )
24261  return cmp;
24262  if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 )
24263  return cmp;
24264  if ( auto cmp = flags <=> rhs.flags; cmp != 0 )
24265  return cmp;
24266  if ( auto cmp = queueCreateInfoCount <=> rhs.queueCreateInfoCount; cmp != 0 )
24267  return cmp;
24268  if ( auto cmp = pQueueCreateInfos <=> rhs.pQueueCreateInfos; cmp != 0 )
24269  return cmp;
24270  if ( auto cmp = enabledLayerCount <=> rhs.enabledLayerCount; cmp != 0 )
24271  return cmp;
24272  for ( size_t i = 0; i < enabledLayerCount; ++i )
24273  {
24274  if ( ppEnabledLayerNames[i] != rhs.ppEnabledLayerNames[i] )
24275  if ( auto cmp = strcmp( ppEnabledLayerNames[i], rhs.ppEnabledLayerNames[i] ); cmp != 0 )
24276  return cmp < 0 ? std::strong_ordering::less : std::strong_ordering::greater;
24277  }
24278  if ( auto cmp = enabledExtensionCount <=> rhs.enabledExtensionCount; cmp != 0 )
24279  return cmp;
24280  for ( size_t i = 0; i < enabledExtensionCount; ++i )
24281  {
24282  if ( ppEnabledExtensionNames[i] != rhs.ppEnabledExtensionNames[i] )
24283  if ( auto cmp = strcmp( ppEnabledExtensionNames[i], rhs.ppEnabledExtensionNames[i] ); cmp != 0 )
24284  return cmp < 0 ? std::strong_ordering::less : std::strong_ordering::greater;
24285  }
24286  if ( auto cmp = pEnabledFeatures <=> rhs.pEnabledFeatures; cmp != 0 )
24287  return cmp;
24288 
24289  return std::strong_ordering::equivalent;
24290  }
24291 #endif
24292 
24294  {
24295  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( queueCreateInfoCount == rhs.queueCreateInfoCount ) &&
24296  ( pQueueCreateInfos == rhs.pQueueCreateInfos ) && ( enabledLayerCount == rhs.enabledLayerCount ) &&
24298  ppEnabledLayerNames + enabledLayerCount,
24299  rhs.ppEnabledLayerNames,
24300  []( char const * left, char const * right ) { return ( left == right ) || ( strcmp( left, right ) == 0 ); } ) &&
24301  ( enabledExtensionCount == rhs.enabledExtensionCount ) &&
24303  ppEnabledExtensionNames + enabledExtensionCount,
24304  rhs.ppEnabledExtensionNames,
24305  []( char const * left, char const * right ) { return ( left == right ) || ( strcmp( left, right ) == 0 ); } ) &&
24306  ( pEnabledFeatures == rhs.pEnabledFeatures );
24307  }
24308 
24310  {
24311  return !operator==( rhs );
24312  }
24313 
24314  public:
24316  const void * pNext = {};
24318  uint32_t queueCreateInfoCount = {};
24319  const VULKAN_HPP_NAMESPACE::DeviceQueueCreateInfo * pQueueCreateInfos = {};
24320  uint32_t enabledLayerCount = {};
24321  const char * const * ppEnabledLayerNames = {};
24322  uint32_t enabledExtensionCount = {};
24323  const char * const * ppEnabledExtensionNames = {};
24324  const VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures * pEnabledFeatures = {};
24325  };
24326 
24327  template <>
24329  {
24331  };
24332 
24334  {
24336 
24337  static const bool allowDuplicate = true;
24338  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceDeviceMemoryReportCreateInfoEXT;
24339 
24340 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
24342  PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback_ = {},
24343  void * pUserData_ = {},
24344  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
24345  : pNext( pNext_ )
24346  , flags( flags_ )
24347  , pfnUserCallback( pfnUserCallback_ )
24348  , pUserData( pUserData_ )
24349  {
24350  }
24351 
24352  VULKAN_HPP_CONSTEXPR DeviceDeviceMemoryReportCreateInfoEXT( DeviceDeviceMemoryReportCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
24353 
24355  : DeviceDeviceMemoryReportCreateInfoEXT( *reinterpret_cast<DeviceDeviceMemoryReportCreateInfoEXT const *>( &rhs ) )
24356  {
24357  }
24358 
24360 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
24361 
24363  {
24364  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceDeviceMemoryReportCreateInfoEXT const *>( &rhs );
24365  return *this;
24366  }
24367 
24368 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
24370  {
24371  pNext = pNext_;
24372  return *this;
24373  }
24374 
24376  {
24377  flags = flags_;
24378  return *this;
24379  }
24380 
24383  {
24384  pfnUserCallback = pfnUserCallback_;
24385  return *this;
24386  }
24387 
24389  {
24390  pUserData = pUserData_;
24391  return *this;
24392  }
24393 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
24394 
24396  {
24397  return *reinterpret_cast<const VkDeviceDeviceMemoryReportCreateInfoEXT *>( this );
24398  }
24399 
24401  {
24402  return *reinterpret_cast<VkDeviceDeviceMemoryReportCreateInfoEXT *>( this );
24403  }
24404 
24405 #if defined( VULKAN_HPP_USE_REFLECT )
24406 # if 14 <= VULKAN_HPP_CPP_VERSION
24407  auto
24408 # else
24409  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
24410  const void * const &,
24413  void * const &>
24414 # endif
24415  reflect() const VULKAN_HPP_NOEXCEPT
24416  {
24417  return std::tie( sType, pNext, flags, pfnUserCallback, pUserData );
24418  }
24419 #endif
24420 
24422  {
24423 #if defined( VULKAN_HPP_USE_REFLECT )
24424  return this->reflect() == rhs.reflect();
24425 #else
24426  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( pfnUserCallback == rhs.pfnUserCallback ) &&
24427  ( pUserData == rhs.pUserData );
24428 #endif
24429  }
24430 
24432  {
24433  return !operator==( rhs );
24434  }
24435 
24436  public:
24437  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDeviceDeviceMemoryReportCreateInfoEXT;
24438  const void * pNext = {};
24441  void * pUserData = {};
24442  };
24443 
24444  template <>
24446  {
24448  };
24449 
24451  {
24453 
24454  static const bool allowDuplicate = false;
24455  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceDiagnosticsConfigCreateInfoNV;
24456 
24457 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
24459  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
24460  : pNext( pNext_ )
24461  , flags( flags_ )
24462  {
24463  }
24464 
24465  VULKAN_HPP_CONSTEXPR DeviceDiagnosticsConfigCreateInfoNV( DeviceDiagnosticsConfigCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
24466 
24468  : DeviceDiagnosticsConfigCreateInfoNV( *reinterpret_cast<DeviceDiagnosticsConfigCreateInfoNV const *>( &rhs ) )
24469  {
24470  }
24471 
24473 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
24474 
24476  {
24477  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceDiagnosticsConfigCreateInfoNV const *>( &rhs );
24478  return *this;
24479  }
24480 
24481 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
24483  {
24484  pNext = pNext_;
24485  return *this;
24486  }
24487 
24489  {
24490  flags = flags_;
24491  return *this;
24492  }
24493 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
24494 
24496  {
24497  return *reinterpret_cast<const VkDeviceDiagnosticsConfigCreateInfoNV *>( this );
24498  }
24499 
24501  {
24502  return *reinterpret_cast<VkDeviceDiagnosticsConfigCreateInfoNV *>( this );
24503  }
24504 
24505 #if defined( VULKAN_HPP_USE_REFLECT )
24506 # if 14 <= VULKAN_HPP_CPP_VERSION
24507  auto
24508 # else
24509  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::DeviceDiagnosticsConfigFlagsNV const &>
24510 # endif
24511  reflect() const VULKAN_HPP_NOEXCEPT
24512  {
24513  return std::tie( sType, pNext, flags );
24514  }
24515 #endif
24516 
24517 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
24518  auto operator<=>( DeviceDiagnosticsConfigCreateInfoNV const & ) const = default;
24519 #else
24521  {
24522 # if defined( VULKAN_HPP_USE_REFLECT )
24523  return this->reflect() == rhs.reflect();
24524 # else
24525  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags );
24526 # endif
24527  }
24528 
24530  {
24531  return !operator==( rhs );
24532  }
24533 #endif
24534 
24535  public:
24536  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDeviceDiagnosticsConfigCreateInfoNV;
24537  const void * pNext = {};
24539  };
24540 
24541  template <>
24543  {
24545  };
24546 
24548  {
24550 
24551  static const bool allowDuplicate = false;
24552  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceEventInfoEXT;
24553 
24554 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
24556  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
24557  : pNext( pNext_ )
24558  , deviceEvent( deviceEvent_ )
24559  {
24560  }
24561 
24563 
24564  DeviceEventInfoEXT( VkDeviceEventInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DeviceEventInfoEXT( *reinterpret_cast<DeviceEventInfoEXT const *>( &rhs ) ) {}
24565 
24566  DeviceEventInfoEXT & operator=( DeviceEventInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
24567 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
24568 
24570  {
24571  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceEventInfoEXT const *>( &rhs );
24572  return *this;
24573  }
24574 
24575 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
24577  {
24578  pNext = pNext_;
24579  return *this;
24580  }
24581 
24583  {
24584  deviceEvent = deviceEvent_;
24585  return *this;
24586  }
24587 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
24588 
24590  {
24591  return *reinterpret_cast<const VkDeviceEventInfoEXT *>( this );
24592  }
24593 
24595  {
24596  return *reinterpret_cast<VkDeviceEventInfoEXT *>( this );
24597  }
24598 
24599 #if defined( VULKAN_HPP_USE_REFLECT )
24600 # if 14 <= VULKAN_HPP_CPP_VERSION
24601  auto
24602 # else
24603  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::DeviceEventTypeEXT const &>
24604 # endif
24605  reflect() const VULKAN_HPP_NOEXCEPT
24606  {
24607  return std::tie( sType, pNext, deviceEvent );
24608  }
24609 #endif
24610 
24611 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
24612  auto operator<=>( DeviceEventInfoEXT const & ) const = default;
24613 #else
24615  {
24616 # if defined( VULKAN_HPP_USE_REFLECT )
24617  return this->reflect() == rhs.reflect();
24618 # else
24619  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( deviceEvent == rhs.deviceEvent );
24620 # endif
24621  }
24622 
24624  {
24625  return !operator==( rhs );
24626  }
24627 #endif
24628 
24629  public:
24630  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDeviceEventInfoEXT;
24631  const void * pNext = {};
24633  };
24634 
24635  template <>
24637  {
24639  };
24640 
24642  {
24644 
24645 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
24648  VULKAN_HPP_NAMESPACE::DeviceAddress reportedAddress_ = {},
24649  VULKAN_HPP_NAMESPACE::DeviceSize addressPrecision_ = {} ) VULKAN_HPP_NOEXCEPT
24650  : addressType( addressType_ )
24651  , reportedAddress( reportedAddress_ )
24652  , addressPrecision( addressPrecision_ )
24653  {
24654  }
24655 
24656  VULKAN_HPP_CONSTEXPR DeviceFaultAddressInfoEXT( DeviceFaultAddressInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
24657 
24659  : DeviceFaultAddressInfoEXT( *reinterpret_cast<DeviceFaultAddressInfoEXT const *>( &rhs ) )
24660  {
24661  }
24662 
24663  DeviceFaultAddressInfoEXT & operator=( DeviceFaultAddressInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
24664 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
24665 
24667  {
24668  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceFaultAddressInfoEXT const *>( &rhs );
24669  return *this;
24670  }
24671 
24672 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
24674  {
24675  addressType = addressType_;
24676  return *this;
24677  }
24678 
24680  {
24681  reportedAddress = reportedAddress_;
24682  return *this;
24683  }
24684 
24686  {
24687  addressPrecision = addressPrecision_;
24688  return *this;
24689  }
24690 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
24691 
24693  {
24694  return *reinterpret_cast<const VkDeviceFaultAddressInfoEXT *>( this );
24695  }
24696 
24698  {
24699  return *reinterpret_cast<VkDeviceFaultAddressInfoEXT *>( this );
24700  }
24701 
24702 #if defined( VULKAN_HPP_USE_REFLECT )
24703 # if 14 <= VULKAN_HPP_CPP_VERSION
24704  auto
24705 # else
24706  std::tuple<VULKAN_HPP_NAMESPACE::DeviceFaultAddressTypeEXT const &, VULKAN_HPP_NAMESPACE::DeviceAddress const &, VULKAN_HPP_NAMESPACE::DeviceSize const &>
24707 # endif
24708  reflect() const VULKAN_HPP_NOEXCEPT
24709  {
24710  return std::tie( addressType, reportedAddress, addressPrecision );
24711  }
24712 #endif
24713 
24714 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
24715  auto operator<=>( DeviceFaultAddressInfoEXT const & ) const = default;
24716 #else
24718  {
24719 # if defined( VULKAN_HPP_USE_REFLECT )
24720  return this->reflect() == rhs.reflect();
24721 # else
24722  return ( addressType == rhs.addressType ) && ( reportedAddress == rhs.reportedAddress ) && ( addressPrecision == rhs.addressPrecision );
24723 # endif
24724  }
24725 
24727  {
24728  return !operator==( rhs );
24729  }
24730 #endif
24731 
24732  public:
24735  VULKAN_HPP_NAMESPACE::DeviceSize addressPrecision = {};
24736  };
24737 
24739  {
24741 
24742  static const bool allowDuplicate = false;
24743  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceFaultCountsEXT;
24744 
24745 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
24746  VULKAN_HPP_CONSTEXPR DeviceFaultCountsEXT( uint32_t addressInfoCount_ = {},
24747  uint32_t vendorInfoCount_ = {},
24748  VULKAN_HPP_NAMESPACE::DeviceSize vendorBinarySize_ = {},
24749  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
24750  : pNext( pNext_ )
24751  , addressInfoCount( addressInfoCount_ )
24752  , vendorInfoCount( vendorInfoCount_ )
24753  , vendorBinarySize( vendorBinarySize_ )
24754  {
24755  }
24756 
24757  VULKAN_HPP_CONSTEXPR DeviceFaultCountsEXT( DeviceFaultCountsEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
24758 
24760  : DeviceFaultCountsEXT( *reinterpret_cast<DeviceFaultCountsEXT const *>( &rhs ) )
24761  {
24762  }
24763 
24764  DeviceFaultCountsEXT & operator=( DeviceFaultCountsEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
24765 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
24766 
24768  {
24769  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceFaultCountsEXT const *>( &rhs );
24770  return *this;
24771  }
24772 
24773 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
24775  {
24776  pNext = pNext_;
24777  return *this;
24778  }
24779 
24781  {
24782  addressInfoCount = addressInfoCount_;
24783  return *this;
24784  }
24785 
24787  {
24788  vendorInfoCount = vendorInfoCount_;
24789  return *this;
24790  }
24791 
24793  {
24794  vendorBinarySize = vendorBinarySize_;
24795  return *this;
24796  }
24797 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
24798 
24800  {
24801  return *reinterpret_cast<const VkDeviceFaultCountsEXT *>( this );
24802  }
24803 
24805  {
24806  return *reinterpret_cast<VkDeviceFaultCountsEXT *>( this );
24807  }
24808 
24809 #if defined( VULKAN_HPP_USE_REFLECT )
24810 # if 14 <= VULKAN_HPP_CPP_VERSION
24811  auto
24812 # else
24813  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, uint32_t const &, uint32_t const &, VULKAN_HPP_NAMESPACE::DeviceSize const &>
24814 # endif
24815  reflect() const VULKAN_HPP_NOEXCEPT
24816  {
24817  return std::tie( sType, pNext, addressInfoCount, vendorInfoCount, vendorBinarySize );
24818  }
24819 #endif
24820 
24821 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
24822  auto operator<=>( DeviceFaultCountsEXT const & ) const = default;
24823 #else
24825  {
24826 # if defined( VULKAN_HPP_USE_REFLECT )
24827  return this->reflect() == rhs.reflect();
24828 # else
24829  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( addressInfoCount == rhs.addressInfoCount ) && ( vendorInfoCount == rhs.vendorInfoCount ) &&
24830  ( vendorBinarySize == rhs.vendorBinarySize );
24831 # endif
24832  }
24833 
24835  {
24836  return !operator==( rhs );
24837  }
24838 #endif
24839 
24840  public:
24841  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDeviceFaultCountsEXT;
24842  void * pNext = {};
24843  uint32_t addressInfoCount = {};
24844  uint32_t vendorInfoCount = {};
24845  VULKAN_HPP_NAMESPACE::DeviceSize vendorBinarySize = {};
24846  };
24847 
24848  template <>
24850  {
24852  };
24853 
24855  {
24857 
24858 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
24859  VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorInfoEXT( std::array<char, VK_MAX_DESCRIPTION_SIZE> const & description_ = {},
24860  uint64_t vendorFaultCode_ = {},
24861  uint64_t vendorFaultData_ = {} ) VULKAN_HPP_NOEXCEPT
24862  : description( description_ )
24863  , vendorFaultCode( vendorFaultCode_ )
24864  , vendorFaultData( vendorFaultData_ )
24865  {
24866  }
24867 
24868  VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorInfoEXT( DeviceFaultVendorInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
24869 
24871  : DeviceFaultVendorInfoEXT( *reinterpret_cast<DeviceFaultVendorInfoEXT const *>( &rhs ) )
24872  {
24873  }
24874 
24875  DeviceFaultVendorInfoEXT & operator=( DeviceFaultVendorInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
24876 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
24877 
24879  {
24880  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceFaultVendorInfoEXT const *>( &rhs );
24881  return *this;
24882  }
24883 
24884 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
24885  VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorInfoEXT & setDescription( std::array<char, VK_MAX_DESCRIPTION_SIZE> description_ ) VULKAN_HPP_NOEXCEPT
24886  {
24887  description = description_;
24888  return *this;
24889  }
24890 
24892  {
24893  vendorFaultCode = vendorFaultCode_;
24894  return *this;
24895  }
24896 
24898  {
24899  vendorFaultData = vendorFaultData_;
24900  return *this;
24901  }
24902 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
24903 
24905  {
24906  return *reinterpret_cast<const VkDeviceFaultVendorInfoEXT *>( this );
24907  }
24908 
24910  {
24911  return *reinterpret_cast<VkDeviceFaultVendorInfoEXT *>( this );
24912  }
24913 
24914 #if defined( VULKAN_HPP_USE_REFLECT )
24915 # if 14 <= VULKAN_HPP_CPP_VERSION
24916  auto
24917 # else
24918  std::tuple<VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DESCRIPTION_SIZE> const &, uint64_t const &, uint64_t const &>
24919 # endif
24920  reflect() const VULKAN_HPP_NOEXCEPT
24921  {
24922  return std::tie( description, vendorFaultCode, vendorFaultData );
24923  }
24924 #endif
24925 
24926 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
24927  auto operator<=>( DeviceFaultVendorInfoEXT const & ) const = default;
24928 #else
24930  {
24931 # if defined( VULKAN_HPP_USE_REFLECT )
24932  return this->reflect() == rhs.reflect();
24933 # else
24934  return ( description == rhs.description ) && ( vendorFaultCode == rhs.vendorFaultCode ) && ( vendorFaultData == rhs.vendorFaultData );
24935 # endif
24936  }
24937 
24939  {
24940  return !operator==( rhs );
24941  }
24942 #endif
24943 
24944  public:
24946  uint64_t vendorFaultCode = {};
24947  uint64_t vendorFaultData = {};
24948  };
24949 
24951  {
24953 
24954  static const bool allowDuplicate = false;
24955  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceFaultInfoEXT;
24956 
24957 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
24958  VULKAN_HPP_CONSTEXPR_14 DeviceFaultInfoEXT( std::array<char, VK_MAX_DESCRIPTION_SIZE> const & description_ = {},
24961  void * pVendorBinaryData_ = {},
24962  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
24963  : pNext( pNext_ )
24964  , description( description_ )
24965  , pAddressInfos( pAddressInfos_ )
24966  , pVendorInfos( pVendorInfos_ )
24967  , pVendorBinaryData( pVendorBinaryData_ )
24968  {
24969  }
24970 
24971  VULKAN_HPP_CONSTEXPR_14 DeviceFaultInfoEXT( DeviceFaultInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
24972 
24973  DeviceFaultInfoEXT( VkDeviceFaultInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DeviceFaultInfoEXT( *reinterpret_cast<DeviceFaultInfoEXT const *>( &rhs ) ) {}
24974 
24975  DeviceFaultInfoEXT & operator=( DeviceFaultInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
24976 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
24977 
24979  {
24980  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceFaultInfoEXT const *>( &rhs );
24981  return *this;
24982  }
24983 
24984 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
24986  {
24987  pNext = pNext_;
24988  return *this;
24989  }
24990 
24991  VULKAN_HPP_CONSTEXPR_14 DeviceFaultInfoEXT & setDescription( std::array<char, VK_MAX_DESCRIPTION_SIZE> description_ ) VULKAN_HPP_NOEXCEPT
24992  {
24993  description = description_;
24994  return *this;
24995  }
24996 
24998  {
24999  pAddressInfos = pAddressInfos_;
25000  return *this;
25001  }
25002 
25004  {
25005  pVendorInfos = pVendorInfos_;
25006  return *this;
25007  }
25008 
25010  {
25011  pVendorBinaryData = pVendorBinaryData_;
25012  return *this;
25013  }
25014 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
25015 
25017  {
25018  return *reinterpret_cast<const VkDeviceFaultInfoEXT *>( this );
25019  }
25020 
25022  {
25023  return *reinterpret_cast<VkDeviceFaultInfoEXT *>( this );
25024  }
25025 
25026 #if defined( VULKAN_HPP_USE_REFLECT )
25027 # if 14 <= VULKAN_HPP_CPP_VERSION
25028  auto
25029 # else
25030  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
25031  void * const &,
25035  void * const &>
25036 # endif
25037  reflect() const VULKAN_HPP_NOEXCEPT
25038  {
25039  return std::tie( sType, pNext, description, pAddressInfos, pVendorInfos, pVendorBinaryData );
25040  }
25041 #endif
25042 
25043 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
25044  auto operator<=>( DeviceFaultInfoEXT const & ) const = default;
25045 #else
25047  {
25048 # if defined( VULKAN_HPP_USE_REFLECT )
25049  return this->reflect() == rhs.reflect();
25050 # else
25051  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( description == rhs.description ) && ( pAddressInfos == rhs.pAddressInfos ) &&
25052  ( pVendorInfos == rhs.pVendorInfos ) && ( pVendorBinaryData == rhs.pVendorBinaryData );
25053 # endif
25054  }
25055 
25057  {
25058  return !operator==( rhs );
25059  }
25060 #endif
25061 
25062  public:
25063  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDeviceFaultInfoEXT;
25064  void * pNext = {};
25068  void * pVendorBinaryData = {};
25069  };
25070 
25071  template <>
25073  {
25075  };
25076 
25078  {
25080 
25081 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
25083  uint32_t headerSize_ = {},
25085  uint32_t vendorID_ = {},
25086  uint32_t deviceID_ = {},
25087  uint32_t driverVersion_ = {},
25088  std::array<uint8_t, VK_UUID_SIZE> const & pipelineCacheUUID_ = {},
25089  uint32_t applicationNameOffset_ = {},
25090  uint32_t applicationVersion_ = {},
25091  uint32_t engineNameOffset_ = {} ) VULKAN_HPP_NOEXCEPT
25092  : headerSize( headerSize_ )
25093  , headerVersion( headerVersion_ )
25094  , vendorID( vendorID_ )
25095  , deviceID( deviceID_ )
25096  , driverVersion( driverVersion_ )
25097  , pipelineCacheUUID( pipelineCacheUUID_ )
25098  , applicationNameOffset( applicationNameOffset_ )
25099  , applicationVersion( applicationVersion_ )
25100  , engineNameOffset( engineNameOffset_ )
25101  {
25102  }
25103 
25104  VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorBinaryHeaderVersionOneEXT( DeviceFaultVendorBinaryHeaderVersionOneEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
25105 
25107  : DeviceFaultVendorBinaryHeaderVersionOneEXT( *reinterpret_cast<DeviceFaultVendorBinaryHeaderVersionOneEXT const *>( &rhs ) )
25108  {
25109  }
25110 
25112 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
25113 
25115  {
25116  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceFaultVendorBinaryHeaderVersionOneEXT const *>( &rhs );
25117  return *this;
25118  }
25119 
25120 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
25122  {
25123  headerSize = headerSize_;
25124  return *this;
25125  }
25126 
25129  {
25130  headerVersion = headerVersion_;
25131  return *this;
25132  }
25133 
25135  {
25136  vendorID = vendorID_;
25137  return *this;
25138  }
25139 
25141  {
25142  deviceID = deviceID_;
25143  return *this;
25144  }
25145 
25147  {
25148  driverVersion = driverVersion_;
25149  return *this;
25150  }
25151 
25153  setPipelineCacheUUID( std::array<uint8_t, VK_UUID_SIZE> pipelineCacheUUID_ ) VULKAN_HPP_NOEXCEPT
25154  {
25155  pipelineCacheUUID = pipelineCacheUUID_;
25156  return *this;
25157  }
25158 
25160  {
25161  applicationNameOffset = applicationNameOffset_;
25162  return *this;
25163  }
25164 
25166  {
25167  applicationVersion = applicationVersion_;
25168  return *this;
25169  }
25170 
25172  {
25173  engineNameOffset = engineNameOffset_;
25174  return *this;
25175  }
25176 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
25177 
25179  {
25180  return *reinterpret_cast<const VkDeviceFaultVendorBinaryHeaderVersionOneEXT *>( this );
25181  }
25182 
25184  {
25185  return *reinterpret_cast<VkDeviceFaultVendorBinaryHeaderVersionOneEXT *>( this );
25186  }
25187 
25188 #if defined( VULKAN_HPP_USE_REFLECT )
25189 # if 14 <= VULKAN_HPP_CPP_VERSION
25190  auto
25191 # else
25192  std::tuple<uint32_t const &,
25194  uint32_t const &,
25195  uint32_t const &,
25196  uint32_t const &,
25198  uint32_t const &,
25199  uint32_t const &,
25200  uint32_t const &>
25201 # endif
25202  reflect() const VULKAN_HPP_NOEXCEPT
25203  {
25204  return std::tie(
25205  headerSize, headerVersion, vendorID, deviceID, driverVersion, pipelineCacheUUID, applicationNameOffset, applicationVersion, engineNameOffset );
25206  }
25207 #endif
25208 
25209 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
25210  auto operator<=>( DeviceFaultVendorBinaryHeaderVersionOneEXT const & ) const = default;
25211 #else
25213  {
25214 # if defined( VULKAN_HPP_USE_REFLECT )
25215  return this->reflect() == rhs.reflect();
25216 # else
25217  return ( headerSize == rhs.headerSize ) && ( headerVersion == rhs.headerVersion ) && ( vendorID == rhs.vendorID ) && ( deviceID == rhs.deviceID ) &&
25218  ( driverVersion == rhs.driverVersion ) && ( pipelineCacheUUID == rhs.pipelineCacheUUID ) &&
25219  ( applicationNameOffset == rhs.applicationNameOffset ) && ( applicationVersion == rhs.applicationVersion ) &&
25220  ( engineNameOffset == rhs.engineNameOffset );
25221 # endif
25222  }
25223 
25225  {
25226  return !operator==( rhs );
25227  }
25228 #endif
25229 
25230  public:
25231  uint32_t headerSize = {};
25233  uint32_t vendorID = {};
25234  uint32_t deviceID = {};
25235  uint32_t driverVersion = {};
25237  uint32_t applicationNameOffset = {};
25238  uint32_t applicationVersion = {};
25239  uint32_t engineNameOffset = {};
25240  };
25241 
25243  {
25245 
25246  static const bool allowDuplicate = false;
25247  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceGroupBindSparseInfo;
25248 
25249 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
25251  DeviceGroupBindSparseInfo( uint32_t resourceDeviceIndex_ = {}, uint32_t memoryDeviceIndex_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
25252  : pNext( pNext_ )
25253  , resourceDeviceIndex( resourceDeviceIndex_ )
25254  , memoryDeviceIndex( memoryDeviceIndex_ )
25255  {
25256  }
25257 
25258  VULKAN_HPP_CONSTEXPR DeviceGroupBindSparseInfo( DeviceGroupBindSparseInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
25259 
25261  : DeviceGroupBindSparseInfo( *reinterpret_cast<DeviceGroupBindSparseInfo const *>( &rhs ) )
25262  {
25263  }
25264 
25265  DeviceGroupBindSparseInfo & operator=( DeviceGroupBindSparseInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
25266 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
25267 
25269  {
25270  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceGroupBindSparseInfo const *>( &rhs );
25271  return *this;
25272  }
25273 
25274 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
25276  {
25277  pNext = pNext_;
25278  return *this;
25279  }
25280 
25282  {
25283  resourceDeviceIndex = resourceDeviceIndex_;
25284  return *this;
25285  }
25286 
25288  {
25289  memoryDeviceIndex = memoryDeviceIndex_;
25290  return *this;
25291  }
25292 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
25293 
25295  {
25296  return *reinterpret_cast<const VkDeviceGroupBindSparseInfo *>( this );
25297  }
25298 
25300  {
25301  return *reinterpret_cast<VkDeviceGroupBindSparseInfo *>( this );
25302  }
25303 
25304 #if defined( VULKAN_HPP_USE_REFLECT )
25305 # if 14 <= VULKAN_HPP_CPP_VERSION
25306  auto
25307 # else
25308  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &, uint32_t const &>
25309 # endif
25310  reflect() const VULKAN_HPP_NOEXCEPT
25311  {
25312  return std::tie( sType, pNext, resourceDeviceIndex, memoryDeviceIndex );
25313  }
25314 #endif
25315 
25316 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
25317  auto operator<=>( DeviceGroupBindSparseInfo const & ) const = default;
25318 #else
25320  {
25321 # if defined( VULKAN_HPP_USE_REFLECT )
25322  return this->reflect() == rhs.reflect();
25323 # else
25324  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( resourceDeviceIndex == rhs.resourceDeviceIndex ) &&
25325  ( memoryDeviceIndex == rhs.memoryDeviceIndex );
25326 # endif
25327  }
25328 
25330  {
25331  return !operator==( rhs );
25332  }
25333 #endif
25334 
25335  public:
25336  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDeviceGroupBindSparseInfo;
25337  const void * pNext = {};
25338  uint32_t resourceDeviceIndex = {};
25339  uint32_t memoryDeviceIndex = {};
25340  };
25341 
25342  template <>
25344  {
25346  };
25348 
25350  {
25352 
25353  static const bool allowDuplicate = false;
25354  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceGroupCommandBufferBeginInfo;
25355 
25356 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
25357  VULKAN_HPP_CONSTEXPR DeviceGroupCommandBufferBeginInfo( uint32_t deviceMask_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
25358  : pNext( pNext_ )
25359  , deviceMask( deviceMask_ )
25360  {
25361  }
25362 
25363  VULKAN_HPP_CONSTEXPR DeviceGroupCommandBufferBeginInfo( DeviceGroupCommandBufferBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
25364 
25366  : DeviceGroupCommandBufferBeginInfo( *reinterpret_cast<DeviceGroupCommandBufferBeginInfo const *>( &rhs ) )
25367  {
25368  }
25369 
25371 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
25372 
25374  {
25375  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceGroupCommandBufferBeginInfo const *>( &rhs );
25376  return *this;
25377  }
25378 
25379 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
25381  {
25382  pNext = pNext_;
25383  return *this;
25384  }
25385 
25387  {
25388  deviceMask = deviceMask_;
25389  return *this;
25390  }
25391 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
25392 
25394  {
25395  return *reinterpret_cast<const VkDeviceGroupCommandBufferBeginInfo *>( this );
25396  }
25397 
25399  {
25400  return *reinterpret_cast<VkDeviceGroupCommandBufferBeginInfo *>( this );
25401  }
25402 
25403 #if defined( VULKAN_HPP_USE_REFLECT )
25404 # if 14 <= VULKAN_HPP_CPP_VERSION
25405  auto
25406 # else
25407  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &>
25408 # endif
25409  reflect() const VULKAN_HPP_NOEXCEPT
25410  {
25411  return std::tie( sType, pNext, deviceMask );
25412  }
25413 #endif
25414 
25415 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
25416  auto operator<=>( DeviceGroupCommandBufferBeginInfo const & ) const = default;
25417 #else
25419  {
25420 # if defined( VULKAN_HPP_USE_REFLECT )
25421  return this->reflect() == rhs.reflect();
25422 # else
25423  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( deviceMask == rhs.deviceMask );
25424 # endif
25425  }
25426 
25428  {
25429  return !operator==( rhs );
25430  }
25431 #endif
25432 
25433  public:
25434  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDeviceGroupCommandBufferBeginInfo;
25435  const void * pNext = {};
25436  uint32_t deviceMask = {};
25437  };
25438 
25439  template <>
25441  {
25443  };
25445 
25447  {
25449 
25450  static const bool allowDuplicate = false;
25451  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceGroupDeviceCreateInfo;
25452 
25453 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
25454  VULKAN_HPP_CONSTEXPR DeviceGroupDeviceCreateInfo( uint32_t physicalDeviceCount_ = {},
25455  const VULKAN_HPP_NAMESPACE::PhysicalDevice * pPhysicalDevices_ = {},
25456  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
25457  : pNext( pNext_ )
25458  , physicalDeviceCount( physicalDeviceCount_ )
25459  , pPhysicalDevices( pPhysicalDevices_ )
25460  {
25461  }
25462 
25463  VULKAN_HPP_CONSTEXPR DeviceGroupDeviceCreateInfo( DeviceGroupDeviceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
25464 
25466  : DeviceGroupDeviceCreateInfo( *reinterpret_cast<DeviceGroupDeviceCreateInfo const *>( &rhs ) )
25467  {
25468  }
25469 
25470 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
25472  const void * pNext_ = nullptr )
25473  : pNext( pNext_ ), physicalDeviceCount( static_cast<uint32_t>( physicalDevices_.size() ) ), pPhysicalDevices( physicalDevices_.data() )
25474  {
25475  }
25476 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
25477 
25479 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
25480 
25482  {
25483  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceGroupDeviceCreateInfo const *>( &rhs );
25484  return *this;
25485  }
25486 
25487 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
25489  {
25490  pNext = pNext_;
25491  return *this;
25492  }
25493 
25495  {
25496  physicalDeviceCount = physicalDeviceCount_;
25497  return *this;
25498  }
25499 
25502  {
25503  pPhysicalDevices = pPhysicalDevices_;
25504  return *this;
25505  }
25506 
25507 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
25510  {
25511  physicalDeviceCount = static_cast<uint32_t>( physicalDevices_.size() );
25512  pPhysicalDevices = physicalDevices_.data();
25513  return *this;
25514  }
25515 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
25516 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
25517 
25519  {
25520  return *reinterpret_cast<const VkDeviceGroupDeviceCreateInfo *>( this );
25521  }
25522 
25524  {
25525  return *reinterpret_cast<VkDeviceGroupDeviceCreateInfo *>( this );
25526  }
25527 
25528 #if defined( VULKAN_HPP_USE_REFLECT )
25529 # if 14 <= VULKAN_HPP_CPP_VERSION
25530  auto
25531 # else
25532  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &, const VULKAN_HPP_NAMESPACE::PhysicalDevice * const &>
25533 # endif
25534  reflect() const VULKAN_HPP_NOEXCEPT
25535  {
25536  return std::tie( sType, pNext, physicalDeviceCount, pPhysicalDevices );
25537  }
25538 #endif
25539 
25540 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
25541  auto operator<=>( DeviceGroupDeviceCreateInfo const & ) const = default;
25542 #else
25544  {
25545 # if defined( VULKAN_HPP_USE_REFLECT )
25546  return this->reflect() == rhs.reflect();
25547 # else
25548  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( physicalDeviceCount == rhs.physicalDeviceCount ) &&
25549  ( pPhysicalDevices == rhs.pPhysicalDevices );
25550 # endif
25551  }
25552 
25554  {
25555  return !operator==( rhs );
25556  }
25557 #endif
25558 
25559  public:
25560  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDeviceGroupDeviceCreateInfo;
25561  const void * pNext = {};
25562  uint32_t physicalDeviceCount = {};
25563  const VULKAN_HPP_NAMESPACE::PhysicalDevice * pPhysicalDevices = {};
25564  };
25565 
25566  template <>
25568  {
25570  };
25572 
25574  {
25576 
25577  static const bool allowDuplicate = false;
25578  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceGroupPresentCapabilitiesKHR;
25579 
25580 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
25581  VULKAN_HPP_CONSTEXPR_14 DeviceGroupPresentCapabilitiesKHR( std::array<uint32_t, VK_MAX_DEVICE_GROUP_SIZE> const & presentMask_ = {},
25583  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
25584  : pNext( pNext_ )
25585  , presentMask( presentMask_ )
25586  , modes( modes_ )
25587  {
25588  }
25589 
25590  VULKAN_HPP_CONSTEXPR_14 DeviceGroupPresentCapabilitiesKHR( DeviceGroupPresentCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
25591 
25593  : DeviceGroupPresentCapabilitiesKHR( *reinterpret_cast<DeviceGroupPresentCapabilitiesKHR const *>( &rhs ) )
25594  {
25595  }
25596 
25598 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
25599 
25601  {
25602  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceGroupPresentCapabilitiesKHR const *>( &rhs );
25603  return *this;
25604  }
25605 
25607  {
25608  return *reinterpret_cast<const VkDeviceGroupPresentCapabilitiesKHR *>( this );
25609  }
25610 
25612  {
25613  return *reinterpret_cast<VkDeviceGroupPresentCapabilitiesKHR *>( this );
25614  }
25615 
25616 #if defined( VULKAN_HPP_USE_REFLECT )
25617 # if 14 <= VULKAN_HPP_CPP_VERSION
25618  auto
25619 # else
25620  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
25621  void * const &,
25624 # endif
25625  reflect() const VULKAN_HPP_NOEXCEPT
25626  {
25627  return std::tie( sType, pNext, presentMask, modes );
25628  }
25629 #endif
25630 
25631 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
25632  auto operator<=>( DeviceGroupPresentCapabilitiesKHR const & ) const = default;
25633 #else
25635  {
25636 # if defined( VULKAN_HPP_USE_REFLECT )
25637  return this->reflect() == rhs.reflect();
25638 # else
25639  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( presentMask == rhs.presentMask ) && ( modes == rhs.modes );
25640 # endif
25641  }
25642 
25644  {
25645  return !operator==( rhs );
25646  }
25647 #endif
25648 
25649  public:
25650  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDeviceGroupPresentCapabilitiesKHR;
25651  void * pNext = {};
25654  };
25655 
25656  template <>
25658  {
25660  };
25661 
25663  {
25665 
25666  static const bool allowDuplicate = false;
25667  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceGroupPresentInfoKHR;
25668 
25669 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
25671  uint32_t swapchainCount_ = {},
25672  const uint32_t * pDeviceMasks_ = {},
25674  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
25675  : pNext( pNext_ )
25676  , swapchainCount( swapchainCount_ )
25677  , pDeviceMasks( pDeviceMasks_ )
25678  , mode( mode_ )
25679  {
25680  }
25681 
25682  VULKAN_HPP_CONSTEXPR DeviceGroupPresentInfoKHR( DeviceGroupPresentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
25683 
25685  : DeviceGroupPresentInfoKHR( *reinterpret_cast<DeviceGroupPresentInfoKHR const *>( &rhs ) )
25686  {
25687  }
25688 
25689 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
25692  const void * pNext_ = nullptr )
25693  : pNext( pNext_ ), swapchainCount( static_cast<uint32_t>( deviceMasks_.size() ) ), pDeviceMasks( deviceMasks_.data() ), mode( mode_ )
25694  {
25695  }
25696 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
25697 
25698  DeviceGroupPresentInfoKHR & operator=( DeviceGroupPresentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
25699 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
25700 
25702  {
25703  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceGroupPresentInfoKHR const *>( &rhs );
25704  return *this;
25705  }
25706 
25707 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
25709  {
25710  pNext = pNext_;
25711  return *this;
25712  }
25713 
25715  {
25716  swapchainCount = swapchainCount_;
25717  return *this;
25718  }
25719 
25721  {
25722  pDeviceMasks = pDeviceMasks_;
25723  return *this;
25724  }
25725 
25726 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
25728  {
25729  swapchainCount = static_cast<uint32_t>( deviceMasks_.size() );
25730  pDeviceMasks = deviceMasks_.data();
25731  return *this;
25732  }
25733 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
25734 
25736  {
25737  mode = mode_;
25738  return *this;
25739  }
25740 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
25741 
25743  {
25744  return *reinterpret_cast<const VkDeviceGroupPresentInfoKHR *>( this );
25745  }
25746 
25748  {
25749  return *reinterpret_cast<VkDeviceGroupPresentInfoKHR *>( this );
25750  }
25751 
25752 #if defined( VULKAN_HPP_USE_REFLECT )
25753 # if 14 <= VULKAN_HPP_CPP_VERSION
25754  auto
25755 # else
25756  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
25757  const void * const &,
25758  uint32_t const &,
25759  const uint32_t * const &,
25761 # endif
25762  reflect() const VULKAN_HPP_NOEXCEPT
25763  {
25764  return std::tie( sType, pNext, swapchainCount, pDeviceMasks, mode );
25765  }
25766 #endif
25767 
25768 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
25769  auto operator<=>( DeviceGroupPresentInfoKHR const & ) const = default;
25770 #else
25772  {
25773 # if defined( VULKAN_HPP_USE_REFLECT )
25774  return this->reflect() == rhs.reflect();
25775 # else
25776  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( swapchainCount == rhs.swapchainCount ) && ( pDeviceMasks == rhs.pDeviceMasks ) &&
25777  ( mode == rhs.mode );
25778 # endif
25779  }
25780 
25782  {
25783  return !operator==( rhs );
25784  }
25785 #endif
25786 
25787  public:
25788  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDeviceGroupPresentInfoKHR;
25789  const void * pNext = {};
25790  uint32_t swapchainCount = {};
25791  const uint32_t * pDeviceMasks = {};
25793  };
25794 
25795  template <>
25797  {
25799  };
25800 
25802  {
25804 
25805  static const bool allowDuplicate = false;
25806  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceGroupRenderPassBeginInfo;
25807 
25808 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
25810  uint32_t deviceRenderAreaCount_ = {},
25811  const VULKAN_HPP_NAMESPACE::Rect2D * pDeviceRenderAreas_ = {},
25812  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
25813  : pNext( pNext_ )
25814  , deviceMask( deviceMask_ )
25815  , deviceRenderAreaCount( deviceRenderAreaCount_ )
25816  , pDeviceRenderAreas( pDeviceRenderAreas_ )
25817  {
25818  }
25819 
25820  VULKAN_HPP_CONSTEXPR DeviceGroupRenderPassBeginInfo( DeviceGroupRenderPassBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
25821 
25823  : DeviceGroupRenderPassBeginInfo( *reinterpret_cast<DeviceGroupRenderPassBeginInfo const *>( &rhs ) )
25824  {
25825  }
25826 
25827 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
25828  DeviceGroupRenderPassBeginInfo( uint32_t deviceMask_,
25830  const void * pNext_ = nullptr )
25831  : pNext( pNext_ )
25832  , deviceMask( deviceMask_ )
25833  , deviceRenderAreaCount( static_cast<uint32_t>( deviceRenderAreas_.size() ) )
25834  , pDeviceRenderAreas( deviceRenderAreas_.data() )
25835  {
25836  }
25837 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
25838 
25840 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
25841 
25843  {
25844  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceGroupRenderPassBeginInfo const *>( &rhs );
25845  return *this;
25846  }
25847 
25848 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
25850  {
25851  pNext = pNext_;
25852  return *this;
25853  }
25854 
25856  {
25857  deviceMask = deviceMask_;
25858  return *this;
25859  }
25860 
25862  {
25863  deviceRenderAreaCount = deviceRenderAreaCount_;
25864  return *this;
25865  }
25866 
25869  {
25870  pDeviceRenderAreas = pDeviceRenderAreas_;
25871  return *this;
25872  }
25873 
25874 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
25877  {
25878  deviceRenderAreaCount = static_cast<uint32_t>( deviceRenderAreas_.size() );
25879  pDeviceRenderAreas = deviceRenderAreas_.data();
25880  return *this;
25881  }
25882 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
25883 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
25884 
25886  {
25887  return *reinterpret_cast<const VkDeviceGroupRenderPassBeginInfo *>( this );
25888  }
25889 
25891  {
25892  return *reinterpret_cast<VkDeviceGroupRenderPassBeginInfo *>( this );
25893  }
25894 
25895 #if defined( VULKAN_HPP_USE_REFLECT )
25896 # if 14 <= VULKAN_HPP_CPP_VERSION
25897  auto
25898 # else
25899  std::
25900  tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &, uint32_t const &, const VULKAN_HPP_NAMESPACE::Rect2D * const &>
25901 # endif
25902  reflect() const VULKAN_HPP_NOEXCEPT
25903  {
25904  return std::tie( sType, pNext, deviceMask, deviceRenderAreaCount, pDeviceRenderAreas );
25905  }
25906 #endif
25907 
25908 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
25909  auto operator<=>( DeviceGroupRenderPassBeginInfo const & ) const = default;
25910 #else
25912  {
25913 # if defined( VULKAN_HPP_USE_REFLECT )
25914  return this->reflect() == rhs.reflect();
25915 # else
25916  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( deviceMask == rhs.deviceMask ) && ( deviceRenderAreaCount == rhs.deviceRenderAreaCount ) &&
25917  ( pDeviceRenderAreas == rhs.pDeviceRenderAreas );
25918 # endif
25919  }
25920 
25922  {
25923  return !operator==( rhs );
25924  }
25925 #endif
25926 
25927  public:
25928  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDeviceGroupRenderPassBeginInfo;
25929  const void * pNext = {};
25930  uint32_t deviceMask = {};
25931  uint32_t deviceRenderAreaCount = {};
25932  const VULKAN_HPP_NAMESPACE::Rect2D * pDeviceRenderAreas = {};
25933  };
25934 
25935  template <>
25937  {
25939  };
25941 
25943  {
25945 
25946  static const bool allowDuplicate = false;
25947  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceGroupSubmitInfo;
25948 
25949 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
25950  VULKAN_HPP_CONSTEXPR DeviceGroupSubmitInfo( uint32_t waitSemaphoreCount_ = {},
25951  const uint32_t * pWaitSemaphoreDeviceIndices_ = {},
25952  uint32_t commandBufferCount_ = {},
25953  const uint32_t * pCommandBufferDeviceMasks_ = {},
25954  uint32_t signalSemaphoreCount_ = {},
25955  const uint32_t * pSignalSemaphoreDeviceIndices_ = {},
25956  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
25957  : pNext( pNext_ )
25958  , waitSemaphoreCount( waitSemaphoreCount_ )
25959  , pWaitSemaphoreDeviceIndices( pWaitSemaphoreDeviceIndices_ )
25960  , commandBufferCount( commandBufferCount_ )
25961  , pCommandBufferDeviceMasks( pCommandBufferDeviceMasks_ )
25962  , signalSemaphoreCount( signalSemaphoreCount_ )
25963  , pSignalSemaphoreDeviceIndices( pSignalSemaphoreDeviceIndices_ )
25964  {
25965  }
25966 
25967  VULKAN_HPP_CONSTEXPR DeviceGroupSubmitInfo( DeviceGroupSubmitInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
25968 
25970  : DeviceGroupSubmitInfo( *reinterpret_cast<DeviceGroupSubmitInfo const *>( &rhs ) )
25971  {
25972  }
25973 
25974 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
25976  VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & commandBufferDeviceMasks_ = {},
25977  VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & signalSemaphoreDeviceIndices_ = {},
25978  const void * pNext_ = nullptr )
25979  : pNext( pNext_ )
25980  , waitSemaphoreCount( static_cast<uint32_t>( waitSemaphoreDeviceIndices_.size() ) )
25981  , pWaitSemaphoreDeviceIndices( waitSemaphoreDeviceIndices_.data() )
25982  , commandBufferCount( static_cast<uint32_t>( commandBufferDeviceMasks_.size() ) )
25983  , pCommandBufferDeviceMasks( commandBufferDeviceMasks_.data() )
25984  , signalSemaphoreCount( static_cast<uint32_t>( signalSemaphoreDeviceIndices_.size() ) )
25985  , pSignalSemaphoreDeviceIndices( signalSemaphoreDeviceIndices_.data() )
25986  {
25987  }
25988 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
25989 
25990  DeviceGroupSubmitInfo & operator=( DeviceGroupSubmitInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
25991 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
25992 
25994  {
25995  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceGroupSubmitInfo const *>( &rhs );
25996  return *this;
25997  }
25998 
25999 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
26001  {
26002  pNext = pNext_;
26003  return *this;
26004  }
26005 
26007  {
26008  waitSemaphoreCount = waitSemaphoreCount_;
26009  return *this;
26010  }
26011 
26013  {
26014  pWaitSemaphoreDeviceIndices = pWaitSemaphoreDeviceIndices_;
26015  return *this;
26016  }
26017 
26018 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
26021  {
26022  waitSemaphoreCount = static_cast<uint32_t>( waitSemaphoreDeviceIndices_.size() );
26023  pWaitSemaphoreDeviceIndices = waitSemaphoreDeviceIndices_.data();
26024  return *this;
26025  }
26026 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
26027 
26029  {
26030  commandBufferCount = commandBufferCount_;
26031  return *this;
26032  }
26033 
26035  {
26036  pCommandBufferDeviceMasks = pCommandBufferDeviceMasks_;
26037  return *this;
26038  }
26039 
26040 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
26043  {
26044  commandBufferCount = static_cast<uint32_t>( commandBufferDeviceMasks_.size() );
26045  pCommandBufferDeviceMasks = commandBufferDeviceMasks_.data();
26046  return *this;
26047  }
26048 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
26049 
26051  {
26052  signalSemaphoreCount = signalSemaphoreCount_;
26053  return *this;
26054  }
26055 
26057  {
26058  pSignalSemaphoreDeviceIndices = pSignalSemaphoreDeviceIndices_;
26059  return *this;
26060  }
26061 
26062 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
26065  {
26066  signalSemaphoreCount = static_cast<uint32_t>( signalSemaphoreDeviceIndices_.size() );
26067  pSignalSemaphoreDeviceIndices = signalSemaphoreDeviceIndices_.data();
26068  return *this;
26069  }
26070 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
26071 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
26072 
26074  {
26075  return *reinterpret_cast<const VkDeviceGroupSubmitInfo *>( this );
26076  }
26077 
26079  {
26080  return *reinterpret_cast<VkDeviceGroupSubmitInfo *>( this );
26081  }
26082 
26083 #if defined( VULKAN_HPP_USE_REFLECT )
26084 # if 14 <= VULKAN_HPP_CPP_VERSION
26085  auto
26086 # else
26087  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
26088  const void * const &,
26089  uint32_t const &,
26090  const uint32_t * const &,
26091  uint32_t const &,
26092  const uint32_t * const &,
26093  uint32_t const &,
26094  const uint32_t * const &>
26095 # endif
26096  reflect() const VULKAN_HPP_NOEXCEPT
26097  {
26098  return std::tie( sType,
26099  pNext,
26100  waitSemaphoreCount,
26101  pWaitSemaphoreDeviceIndices,
26102  commandBufferCount,
26103  pCommandBufferDeviceMasks,
26104  signalSemaphoreCount,
26105  pSignalSemaphoreDeviceIndices );
26106  }
26107 #endif
26108 
26109 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
26110  auto operator<=>( DeviceGroupSubmitInfo const & ) const = default;
26111 #else
26113  {
26114 # if defined( VULKAN_HPP_USE_REFLECT )
26115  return this->reflect() == rhs.reflect();
26116 # else
26117  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( waitSemaphoreCount == rhs.waitSemaphoreCount ) &&
26118  ( pWaitSemaphoreDeviceIndices == rhs.pWaitSemaphoreDeviceIndices ) && ( commandBufferCount == rhs.commandBufferCount ) &&
26119  ( pCommandBufferDeviceMasks == rhs.pCommandBufferDeviceMasks ) && ( signalSemaphoreCount == rhs.signalSemaphoreCount ) &&
26120  ( pSignalSemaphoreDeviceIndices == rhs.pSignalSemaphoreDeviceIndices );
26121 # endif
26122  }
26123 
26125  {
26126  return !operator==( rhs );
26127  }
26128 #endif
26129 
26130  public:
26131  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDeviceGroupSubmitInfo;
26132  const void * pNext = {};
26133  uint32_t waitSemaphoreCount = {};
26134  const uint32_t * pWaitSemaphoreDeviceIndices = {};
26135  uint32_t commandBufferCount = {};
26136  const uint32_t * pCommandBufferDeviceMasks = {};
26137  uint32_t signalSemaphoreCount = {};
26138  const uint32_t * pSignalSemaphoreDeviceIndices = {};
26139  };
26140 
26141  template <>
26143  {
26145  };
26147 
26149  {
26151 
26152  static const bool allowDuplicate = false;
26153  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceGroupSwapchainCreateInfoKHR;
26154 
26155 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
26157  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
26158  : pNext( pNext_ )
26159  , modes( modes_ )
26160  {
26161  }
26162 
26163  VULKAN_HPP_CONSTEXPR DeviceGroupSwapchainCreateInfoKHR( DeviceGroupSwapchainCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
26164 
26166  : DeviceGroupSwapchainCreateInfoKHR( *reinterpret_cast<DeviceGroupSwapchainCreateInfoKHR const *>( &rhs ) )
26167  {
26168  }
26169 
26171 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
26172 
26174  {
26175  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceGroupSwapchainCreateInfoKHR const *>( &rhs );
26176  return *this;
26177  }
26178 
26179 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
26181  {
26182  pNext = pNext_;
26183  return *this;
26184  }
26185 
26187  {
26188  modes = modes_;
26189  return *this;
26190  }
26191 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
26192 
26194  {
26195  return *reinterpret_cast<const VkDeviceGroupSwapchainCreateInfoKHR *>( this );
26196  }
26197 
26199  {
26200  return *reinterpret_cast<VkDeviceGroupSwapchainCreateInfoKHR *>( this );
26201  }
26202 
26203 #if defined( VULKAN_HPP_USE_REFLECT )
26204 # if 14 <= VULKAN_HPP_CPP_VERSION
26205  auto
26206 # else
26207  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR const &>
26208 # endif
26209  reflect() const VULKAN_HPP_NOEXCEPT
26210  {
26211  return std::tie( sType, pNext, modes );
26212  }
26213 #endif
26214 
26215 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
26216  auto operator<=>( DeviceGroupSwapchainCreateInfoKHR const & ) const = default;
26217 #else
26219  {
26220 # if defined( VULKAN_HPP_USE_REFLECT )
26221  return this->reflect() == rhs.reflect();
26222 # else
26223  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( modes == rhs.modes );
26224 # endif
26225  }
26226 
26228  {
26229  return !operator==( rhs );
26230  }
26231 #endif
26232 
26233  public:
26234  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDeviceGroupSwapchainCreateInfoKHR;
26235  const void * pNext = {};
26237  };
26238 
26239  template <>
26241  {
26243  };
26244 
26246  {
26248 
26249  static const bool allowDuplicate = false;
26250  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageCreateInfo;
26251 
26252 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
26256  VULKAN_HPP_NAMESPACE::Extent3D extent_ = {},
26257  uint32_t mipLevels_ = {},
26258  uint32_t arrayLayers_ = {},
26263  uint32_t queueFamilyIndexCount_ = {},
26264  const uint32_t * pQueueFamilyIndices_ = {},
26266  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
26267  : pNext( pNext_ )
26268  , flags( flags_ )
26269  , imageType( imageType_ )
26270  , format( format_ )
26271  , extent( extent_ )
26272  , mipLevels( mipLevels_ )
26273  , arrayLayers( arrayLayers_ )
26274  , samples( samples_ )
26275  , tiling( tiling_ )
26276  , usage( usage_ )
26277  , sharingMode( sharingMode_ )
26278  , queueFamilyIndexCount( queueFamilyIndexCount_ )
26279  , pQueueFamilyIndices( pQueueFamilyIndices_ )
26280  , initialLayout( initialLayout_ )
26281  {
26282  }
26283 
26284  VULKAN_HPP_CONSTEXPR ImageCreateInfo( ImageCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
26285 
26286  ImageCreateInfo( VkImageCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : ImageCreateInfo( *reinterpret_cast<ImageCreateInfo const *>( &rhs ) ) {}
26287 
26288 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
26293  uint32_t mipLevels_,
26294  uint32_t arrayLayers_,
26298  VULKAN_HPP_NAMESPACE::SharingMode sharingMode_,
26301  const void * pNext_ = nullptr )
26302  : pNext( pNext_ )
26303  , flags( flags_ )
26304  , imageType( imageType_ )
26305  , format( format_ )
26306  , extent( extent_ )
26307  , mipLevels( mipLevels_ )
26308  , arrayLayers( arrayLayers_ )
26309  , samples( samples_ )
26310  , tiling( tiling_ )
26311  , usage( usage_ )
26312  , sharingMode( sharingMode_ )
26313  , queueFamilyIndexCount( static_cast<uint32_t>( queueFamilyIndices_.size() ) )
26314  , pQueueFamilyIndices( queueFamilyIndices_.data() )
26315  , initialLayout( initialLayout_ )
26316  {
26317  }
26318 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
26319 
26320  ImageCreateInfo & operator=( ImageCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
26321 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
26322 
26324  {
26325  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageCreateInfo const *>( &rhs );
26326  return *this;
26327  }
26328 
26329 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
26331  {
26332  pNext = pNext_;
26333  return *this;
26334  }
26335 
26337  {
26338  flags = flags_;
26339  return *this;
26340  }
26341 
26343  {
26344  imageType = imageType_;
26345  return *this;
26346  }
26347 
26349  {
26350  format = format_;
26351  return *this;
26352  }
26353 
26355  {
26356  extent = extent_;
26357  return *this;
26358  }
26359 
26361  {
26362  mipLevels = mipLevels_;
26363  return *this;
26364  }
26365 
26367  {
26368  arrayLayers = arrayLayers_;
26369  return *this;
26370  }
26371 
26373  {
26374  samples = samples_;
26375  return *this;
26376  }
26377 
26379  {
26380  tiling = tiling_;
26381  return *this;
26382  }
26383 
26385  {
26386  usage = usage_;
26387  return *this;
26388  }
26389 
26391  {
26392  sharingMode = sharingMode_;
26393  return *this;
26394  }
26395 
26397  {
26398  queueFamilyIndexCount = queueFamilyIndexCount_;
26399  return *this;
26400  }
26401 
26403  {
26404  pQueueFamilyIndices = pQueueFamilyIndices_;
26405  return *this;
26406  }
26407 
26408 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
26410  {
26411  queueFamilyIndexCount = static_cast<uint32_t>( queueFamilyIndices_.size() );
26412  pQueueFamilyIndices = queueFamilyIndices_.data();
26413  return *this;
26414  }
26415 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
26416 
26418  {
26419  initialLayout = initialLayout_;
26420  return *this;
26421  }
26422 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
26423 
26424  operator VkImageCreateInfo const &() const VULKAN_HPP_NOEXCEPT
26425  {
26426  return *reinterpret_cast<const VkImageCreateInfo *>( this );
26427  }
26428 
26430  {
26431  return *reinterpret_cast<VkImageCreateInfo *>( this );
26432  }
26433 
26434 #if defined( VULKAN_HPP_USE_REFLECT )
26435 # if 14 <= VULKAN_HPP_CPP_VERSION
26436  auto
26437 # else
26438  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
26439  const void * const &,
26444  uint32_t const &,
26445  uint32_t const &,
26450  uint32_t const &,
26451  const uint32_t * const &,
26453 # endif
26454  reflect() const VULKAN_HPP_NOEXCEPT
26455  {
26456  return std::tie( sType,
26457  pNext,
26458  flags,
26459  imageType,
26460  format,
26461  extent,
26462  mipLevels,
26463  arrayLayers,
26464  samples,
26465  tiling,
26466  usage,
26467  sharingMode,
26468  queueFamilyIndexCount,
26469  pQueueFamilyIndices,
26470  initialLayout );
26471  }
26472 #endif
26473 
26474 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
26475  auto operator<=>( ImageCreateInfo const & ) const = default;
26476 #else
26478  {
26479 # if defined( VULKAN_HPP_USE_REFLECT )
26480  return this->reflect() == rhs.reflect();
26481 # else
26482  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( imageType == rhs.imageType ) && ( format == rhs.format ) &&
26483  ( extent == rhs.extent ) && ( mipLevels == rhs.mipLevels ) && ( arrayLayers == rhs.arrayLayers ) && ( samples == rhs.samples ) &&
26484  ( tiling == rhs.tiling ) && ( usage == rhs.usage ) && ( sharingMode == rhs.sharingMode ) &&
26485  ( queueFamilyIndexCount == rhs.queueFamilyIndexCount ) && ( pQueueFamilyIndices == rhs.pQueueFamilyIndices ) &&
26486  ( initialLayout == rhs.initialLayout );
26487 # endif
26488  }
26489 
26491  {
26492  return !operator==( rhs );
26493  }
26494 #endif
26495 
26496  public:
26497  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageCreateInfo;
26498  const void * pNext = {};
26503  uint32_t mipLevels = {};
26504  uint32_t arrayLayers = {};
26509  uint32_t queueFamilyIndexCount = {};
26510  const uint32_t * pQueueFamilyIndices = {};
26512  };
26513 
26514  template <>
26516  {
26518  };
26519 
26521  {
26523 
26524  static const bool allowDuplicate = false;
26525  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceImageMemoryRequirements;
26526 
26527 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
26531  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
26532  : pNext( pNext_ )
26533  , pCreateInfo( pCreateInfo_ )
26534  , planeAspect( planeAspect_ )
26535  {
26536  }
26537 
26538  VULKAN_HPP_CONSTEXPR DeviceImageMemoryRequirements( DeviceImageMemoryRequirements const & rhs ) VULKAN_HPP_NOEXCEPT = default;
26539 
26541  : DeviceImageMemoryRequirements( *reinterpret_cast<DeviceImageMemoryRequirements const *>( &rhs ) )
26542  {
26543  }
26544 
26546 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
26547 
26549  {
26550  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements const *>( &rhs );
26551  return *this;
26552  }
26553 
26554 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
26556  {
26557  pNext = pNext_;
26558  return *this;
26559  }
26560 
26562  {
26563  pCreateInfo = pCreateInfo_;
26564  return *this;
26565  }
26566 
26568  {
26569  planeAspect = planeAspect_;
26570  return *this;
26571  }
26572 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
26573 
26575  {
26576  return *reinterpret_cast<const VkDeviceImageMemoryRequirements *>( this );
26577  }
26578 
26580  {
26581  return *reinterpret_cast<VkDeviceImageMemoryRequirements *>( this );
26582  }
26583 
26584 #if defined( VULKAN_HPP_USE_REFLECT )
26585 # if 14 <= VULKAN_HPP_CPP_VERSION
26586  auto
26587 # else
26588  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
26589  const void * const &,
26590  const VULKAN_HPP_NAMESPACE::ImageCreateInfo * const &,
26592 # endif
26593  reflect() const VULKAN_HPP_NOEXCEPT
26594  {
26595  return std::tie( sType, pNext, pCreateInfo, planeAspect );
26596  }
26597 #endif
26598 
26599 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
26600  auto operator<=>( DeviceImageMemoryRequirements const & ) const = default;
26601 #else
26603  {
26604 # if defined( VULKAN_HPP_USE_REFLECT )
26605  return this->reflect() == rhs.reflect();
26606 # else
26607  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pCreateInfo == rhs.pCreateInfo ) && ( planeAspect == rhs.planeAspect );
26608 # endif
26609  }
26610 
26612  {
26613  return !operator==( rhs );
26614  }
26615 #endif
26616 
26617  public:
26618  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDeviceImageMemoryRequirements;
26619  const void * pNext = {};
26620  const VULKAN_HPP_NAMESPACE::ImageCreateInfo * pCreateInfo = {};
26622  };
26623 
26624  template <>
26626  {
26628  };
26630 
26632  {
26634 
26635  static const bool allowDuplicate = false;
26636  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceMemoryOpaqueCaptureAddressInfo;
26637 
26638 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
26640  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
26641  : pNext( pNext_ )
26642  , memory( memory_ )
26643  {
26644  }
26645 
26646  VULKAN_HPP_CONSTEXPR DeviceMemoryOpaqueCaptureAddressInfo( DeviceMemoryOpaqueCaptureAddressInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
26647 
26649  : DeviceMemoryOpaqueCaptureAddressInfo( *reinterpret_cast<DeviceMemoryOpaqueCaptureAddressInfo const *>( &rhs ) )
26650  {
26651  }
26652 
26654 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
26655 
26657  {
26658  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceMemoryOpaqueCaptureAddressInfo const *>( &rhs );
26659  return *this;
26660  }
26661 
26662 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
26664  {
26665  pNext = pNext_;
26666  return *this;
26667  }
26668 
26670  {
26671  memory = memory_;
26672  return *this;
26673  }
26674 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
26675 
26677  {
26678  return *reinterpret_cast<const VkDeviceMemoryOpaqueCaptureAddressInfo *>( this );
26679  }
26680 
26682  {
26683  return *reinterpret_cast<VkDeviceMemoryOpaqueCaptureAddressInfo *>( this );
26684  }
26685 
26686 #if defined( VULKAN_HPP_USE_REFLECT )
26687 # if 14 <= VULKAN_HPP_CPP_VERSION
26688  auto
26689 # else
26690  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::DeviceMemory const &>
26691 # endif
26692  reflect() const VULKAN_HPP_NOEXCEPT
26693  {
26694  return std::tie( sType, pNext, memory );
26695  }
26696 #endif
26697 
26698 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
26699  auto operator<=>( DeviceMemoryOpaqueCaptureAddressInfo const & ) const = default;
26700 #else
26702  {
26703 # if defined( VULKAN_HPP_USE_REFLECT )
26704  return this->reflect() == rhs.reflect();
26705 # else
26706  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memory == rhs.memory );
26707 # endif
26708  }
26709 
26711  {
26712  return !operator==( rhs );
26713  }
26714 #endif
26715 
26716  public:
26717  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDeviceMemoryOpaqueCaptureAddressInfo;
26718  const void * pNext = {};
26720  };
26721 
26722  template <>
26724  {
26726  };
26728 
26730  {
26732 
26733  static const bool allowDuplicate = false;
26734  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceMemoryOverallocationCreateInfoAMD;
26735 
26736 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
26739  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
26740  : pNext( pNext_ )
26741  , overallocationBehavior( overallocationBehavior_ )
26742  {
26743  }
26744 
26746 
26748  : DeviceMemoryOverallocationCreateInfoAMD( *reinterpret_cast<DeviceMemoryOverallocationCreateInfoAMD const *>( &rhs ) )
26749  {
26750  }
26751 
26753 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
26754 
26756  {
26757  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceMemoryOverallocationCreateInfoAMD const *>( &rhs );
26758  return *this;
26759  }
26760 
26761 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
26763  {
26764  pNext = pNext_;
26765  return *this;
26766  }
26767 
26770  {
26771  overallocationBehavior = overallocationBehavior_;
26772  return *this;
26773  }
26774 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
26775 
26777  {
26778  return *reinterpret_cast<const VkDeviceMemoryOverallocationCreateInfoAMD *>( this );
26779  }
26780 
26782  {
26783  return *reinterpret_cast<VkDeviceMemoryOverallocationCreateInfoAMD *>( this );
26784  }
26785 
26786 #if defined( VULKAN_HPP_USE_REFLECT )
26787 # if 14 <= VULKAN_HPP_CPP_VERSION
26788  auto
26789 # else
26790  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::MemoryOverallocationBehaviorAMD const &>
26791 # endif
26792  reflect() const VULKAN_HPP_NOEXCEPT
26793  {
26794  return std::tie( sType, pNext, overallocationBehavior );
26795  }
26796 #endif
26797 
26798 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
26799  auto operator<=>( DeviceMemoryOverallocationCreateInfoAMD const & ) const = default;
26800 #else
26802  {
26803 # if defined( VULKAN_HPP_USE_REFLECT )
26804  return this->reflect() == rhs.reflect();
26805 # else
26806  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( overallocationBehavior == rhs.overallocationBehavior );
26807 # endif
26808  }
26809 
26811  {
26812  return !operator==( rhs );
26813  }
26814 #endif
26815 
26816  public:
26817  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDeviceMemoryOverallocationCreateInfoAMD;
26818  const void * pNext = {};
26820  };
26821 
26822  template <>
26824  {
26826  };
26827 
26829  {
26831 
26832  static const bool allowDuplicate = false;
26833  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceMemoryReportCallbackDataEXT;
26834 
26835 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
26839  uint64_t memoryObjectId_ = {},
26842  uint64_t objectHandle_ = {},
26843  uint32_t heapIndex_ = {},
26844  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
26845  : pNext( pNext_ )
26846  , flags( flags_ )
26847  , type( type_ )
26848  , memoryObjectId( memoryObjectId_ )
26849  , size( size_ )
26850  , objectType( objectType_ )
26851  , objectHandle( objectHandle_ )
26852  , heapIndex( heapIndex_ )
26853  {
26854  }
26855 
26856  VULKAN_HPP_CONSTEXPR DeviceMemoryReportCallbackDataEXT( DeviceMemoryReportCallbackDataEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
26857 
26859  : DeviceMemoryReportCallbackDataEXT( *reinterpret_cast<DeviceMemoryReportCallbackDataEXT const *>( &rhs ) )
26860  {
26861  }
26862 
26864 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
26865 
26867  {
26868  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceMemoryReportCallbackDataEXT const *>( &rhs );
26869  return *this;
26870  }
26871 
26873  {
26874  return *reinterpret_cast<const VkDeviceMemoryReportCallbackDataEXT *>( this );
26875  }
26876 
26878  {
26879  return *reinterpret_cast<VkDeviceMemoryReportCallbackDataEXT *>( this );
26880  }
26881 
26882 #if defined( VULKAN_HPP_USE_REFLECT )
26883 # if 14 <= VULKAN_HPP_CPP_VERSION
26884  auto
26885 # else
26886  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
26887  void * const &,
26890  uint64_t const &,
26893  uint64_t const &,
26894  uint32_t const &>
26895 # endif
26896  reflect() const VULKAN_HPP_NOEXCEPT
26897  {
26898  return std::tie( sType, pNext, flags, type, memoryObjectId, size, objectType, objectHandle, heapIndex );
26899  }
26900 #endif
26901 
26902 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
26903  auto operator<=>( DeviceMemoryReportCallbackDataEXT const & ) const = default;
26904 #else
26906  {
26907 # if defined( VULKAN_HPP_USE_REFLECT )
26908  return this->reflect() == rhs.reflect();
26909 # else
26910  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( type == rhs.type ) && ( memoryObjectId == rhs.memoryObjectId ) &&
26911  ( size == rhs.size ) && ( objectType == rhs.objectType ) && ( objectHandle == rhs.objectHandle ) && ( heapIndex == rhs.heapIndex );
26912 # endif
26913  }
26914 
26916  {
26917  return !operator==( rhs );
26918  }
26919 #endif
26920 
26921  public:
26922  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDeviceMemoryReportCallbackDataEXT;
26923  void * pNext = {};
26926  uint64_t memoryObjectId = {};
26929  uint64_t objectHandle = {};
26930  uint32_t heapIndex = {};
26931  };
26932 
26933  template <>
26935  {
26937  };
26938 
26940  {
26942 
26943  static const bool allowDuplicate = true;
26944  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDevicePrivateDataCreateInfo;
26945 
26946 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
26947  VULKAN_HPP_CONSTEXPR DevicePrivateDataCreateInfo( uint32_t privateDataSlotRequestCount_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
26948  : pNext( pNext_ )
26949  , privateDataSlotRequestCount( privateDataSlotRequestCount_ )
26950  {
26951  }
26952 
26953  VULKAN_HPP_CONSTEXPR DevicePrivateDataCreateInfo( DevicePrivateDataCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
26954 
26956  : DevicePrivateDataCreateInfo( *reinterpret_cast<DevicePrivateDataCreateInfo const *>( &rhs ) )
26957  {
26958  }
26959 
26961 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
26962 
26964  {
26965  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DevicePrivateDataCreateInfo const *>( &rhs );
26966  return *this;
26967  }
26968 
26969 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
26971  {
26972  pNext = pNext_;
26973  return *this;
26974  }
26975 
26977  {
26978  privateDataSlotRequestCount = privateDataSlotRequestCount_;
26979  return *this;
26980  }
26981 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
26982 
26984  {
26985  return *reinterpret_cast<const VkDevicePrivateDataCreateInfo *>( this );
26986  }
26987 
26989  {
26990  return *reinterpret_cast<VkDevicePrivateDataCreateInfo *>( this );
26991  }
26992 
26993 #if defined( VULKAN_HPP_USE_REFLECT )
26994 # if 14 <= VULKAN_HPP_CPP_VERSION
26995  auto
26996 # else
26997  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &>
26998 # endif
26999  reflect() const VULKAN_HPP_NOEXCEPT
27000  {
27001  return std::tie( sType, pNext, privateDataSlotRequestCount );
27002  }
27003 #endif
27004 
27005 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
27006  auto operator<=>( DevicePrivateDataCreateInfo const & ) const = default;
27007 #else
27009  {
27010 # if defined( VULKAN_HPP_USE_REFLECT )
27011  return this->reflect() == rhs.reflect();
27012 # else
27013  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( privateDataSlotRequestCount == rhs.privateDataSlotRequestCount );
27014 # endif
27015  }
27016 
27018  {
27019  return !operator==( rhs );
27020  }
27021 #endif
27022 
27023  public:
27024  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDevicePrivateDataCreateInfo;
27025  const void * pNext = {};
27026  uint32_t privateDataSlotRequestCount = {};
27027  };
27028 
27029  template <>
27031  {
27033  };
27035 
27037  {
27039 
27040  static const bool allowDuplicate = false;
27041  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceQueueGlobalPriorityCreateInfoKHR;
27042 
27043 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
27046  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
27047  : pNext( pNext_ )
27048  , globalPriority( globalPriority_ )
27049  {
27050  }
27051 
27053 
27055  : DeviceQueueGlobalPriorityCreateInfoKHR( *reinterpret_cast<DeviceQueueGlobalPriorityCreateInfoKHR const *>( &rhs ) )
27056  {
27057  }
27058 
27060 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
27061 
27063  {
27064  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceQueueGlobalPriorityCreateInfoKHR const *>( &rhs );
27065  return *this;
27066  }
27067 
27068 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
27070  {
27071  pNext = pNext_;
27072  return *this;
27073  }
27074 
27077  {
27078  globalPriority = globalPriority_;
27079  return *this;
27080  }
27081 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
27082 
27084  {
27085  return *reinterpret_cast<const VkDeviceQueueGlobalPriorityCreateInfoKHR *>( this );
27086  }
27087 
27089  {
27090  return *reinterpret_cast<VkDeviceQueueGlobalPriorityCreateInfoKHR *>( this );
27091  }
27092 
27093 #if defined( VULKAN_HPP_USE_REFLECT )
27094 # if 14 <= VULKAN_HPP_CPP_VERSION
27095  auto
27096 # else
27097  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::QueueGlobalPriorityKHR const &>
27098 # endif
27099  reflect() const VULKAN_HPP_NOEXCEPT
27100  {
27101  return std::tie( sType, pNext, globalPriority );
27102  }
27103 #endif
27104 
27105 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
27106  auto operator<=>( DeviceQueueGlobalPriorityCreateInfoKHR const & ) const = default;
27107 #else
27109  {
27110 # if defined( VULKAN_HPP_USE_REFLECT )
27111  return this->reflect() == rhs.reflect();
27112 # else
27113  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( globalPriority == rhs.globalPriority );
27114 # endif
27115  }
27116 
27118  {
27119  return !operator==( rhs );
27120  }
27121 #endif
27122 
27123  public:
27124  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDeviceQueueGlobalPriorityCreateInfoKHR;
27125  const void * pNext = {};
27127  };
27128 
27129  template <>
27131  {
27133  };
27135 
27137  {
27139 
27140  static const bool allowDuplicate = false;
27141  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceQueueInfo2;
27142 
27143 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
27145  uint32_t queueFamilyIndex_ = {},
27146  uint32_t queueIndex_ = {},
27147  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
27148  : pNext( pNext_ )
27149  , flags( flags_ )
27150  , queueFamilyIndex( queueFamilyIndex_ )
27151  , queueIndex( queueIndex_ )
27152  {
27153  }
27154 
27155  VULKAN_HPP_CONSTEXPR DeviceQueueInfo2( DeviceQueueInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
27156 
27157  DeviceQueueInfo2( VkDeviceQueueInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT : DeviceQueueInfo2( *reinterpret_cast<DeviceQueueInfo2 const *>( &rhs ) ) {}
27158 
27159  DeviceQueueInfo2 & operator=( DeviceQueueInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
27160 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
27161 
27163  {
27164  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceQueueInfo2 const *>( &rhs );
27165  return *this;
27166  }
27167 
27168 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
27170  {
27171  pNext = pNext_;
27172  return *this;
27173  }
27174 
27176  {
27177  flags = flags_;
27178  return *this;
27179  }
27180 
27182  {
27183  queueFamilyIndex = queueFamilyIndex_;
27184  return *this;
27185  }
27186 
27188  {
27189  queueIndex = queueIndex_;
27190  return *this;
27191  }
27192 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
27193 
27194  operator VkDeviceQueueInfo2 const &() const VULKAN_HPP_NOEXCEPT
27195  {
27196  return *reinterpret_cast<const VkDeviceQueueInfo2 *>( this );
27197  }
27198 
27200  {
27201  return *reinterpret_cast<VkDeviceQueueInfo2 *>( this );
27202  }
27203 
27204 #if defined( VULKAN_HPP_USE_REFLECT )
27205 # if 14 <= VULKAN_HPP_CPP_VERSION
27206  auto
27207 # else
27208  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
27209  const void * const &,
27211  uint32_t const &,
27212  uint32_t const &>
27213 # endif
27214  reflect() const VULKAN_HPP_NOEXCEPT
27215  {
27216  return std::tie( sType, pNext, flags, queueFamilyIndex, queueIndex );
27217  }
27218 #endif
27219 
27220 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
27221  auto operator<=>( DeviceQueueInfo2 const & ) const = default;
27222 #else
27224  {
27225 # if defined( VULKAN_HPP_USE_REFLECT )
27226  return this->reflect() == rhs.reflect();
27227 # else
27228  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( queueFamilyIndex == rhs.queueFamilyIndex ) &&
27229  ( queueIndex == rhs.queueIndex );
27230 # endif
27231  }
27232 
27234  {
27235  return !operator==( rhs );
27236  }
27237 #endif
27238 
27239  public:
27240  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDeviceQueueInfo2;
27241  const void * pNext = {};
27243  uint32_t queueFamilyIndex = {};
27244  uint32_t queueIndex = {};
27245  };
27246 
27247  template <>
27249  {
27251  };
27252 
27254  {
27256 
27257  static const bool allowDuplicate = false;
27258  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDirectDriverLoadingInfoLUNARG;
27259 
27260 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
27262  PFN_vkGetInstanceProcAddr pfnGetInstanceProcAddr_ = {},
27263  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
27264  : pNext( pNext_ )
27265  , flags( flags_ )
27266  , pfnGetInstanceProcAddr( pfnGetInstanceProcAddr_ )
27267  {
27268  }
27269 
27270  VULKAN_HPP_CONSTEXPR DirectDriverLoadingInfoLUNARG( DirectDriverLoadingInfoLUNARG const & rhs ) VULKAN_HPP_NOEXCEPT = default;
27271 
27273  : DirectDriverLoadingInfoLUNARG( *reinterpret_cast<DirectDriverLoadingInfoLUNARG const *>( &rhs ) )
27274  {
27275  }
27276 
27278 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
27279 
27281  {
27282  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DirectDriverLoadingInfoLUNARG const *>( &rhs );
27283  return *this;
27284  }
27285 
27286 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
27288  {
27289  pNext = pNext_;
27290  return *this;
27291  }
27292 
27294  {
27295  flags = flags_;
27296  return *this;
27297  }
27298 
27300  {
27301  pfnGetInstanceProcAddr = pfnGetInstanceProcAddr_;
27302  return *this;
27303  }
27304 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
27305 
27307  {
27308  return *reinterpret_cast<const VkDirectDriverLoadingInfoLUNARG *>( this );
27309  }
27310 
27312  {
27313  return *reinterpret_cast<VkDirectDriverLoadingInfoLUNARG *>( this );
27314  }
27315 
27316 #if defined( VULKAN_HPP_USE_REFLECT )
27317 # if 14 <= VULKAN_HPP_CPP_VERSION
27318  auto
27319 # else
27320  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
27321  void * const &,
27323  PFN_vkGetInstanceProcAddr const &>
27324 # endif
27325  reflect() const VULKAN_HPP_NOEXCEPT
27326  {
27327  return std::tie( sType, pNext, flags, pfnGetInstanceProcAddr );
27328  }
27329 #endif
27330 
27332  {
27333 #if defined( VULKAN_HPP_USE_REFLECT )
27334  return this->reflect() == rhs.reflect();
27335 #else
27336  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( pfnGetInstanceProcAddr == rhs.pfnGetInstanceProcAddr );
27337 #endif
27338  }
27339 
27341  {
27342  return !operator==( rhs );
27343  }
27344 
27345  public:
27346  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDirectDriverLoadingInfoLUNARG;
27347  void * pNext = {};
27349  PFN_vkGetInstanceProcAddr pfnGetInstanceProcAddr = {};
27350  };
27351 
27352  template <>
27354  {
27356  };
27357 
27359  {
27361 
27362  static const bool allowDuplicate = false;
27363  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDirectDriverLoadingListLUNARG;
27364 
27365 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
27368  uint32_t driverCount_ = {},
27370  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
27371  : pNext( pNext_ )
27372  , mode( mode_ )
27373  , driverCount( driverCount_ )
27374  , pDrivers( pDrivers_ )
27375  {
27376  }
27377 
27378  VULKAN_HPP_CONSTEXPR DirectDriverLoadingListLUNARG( DirectDriverLoadingListLUNARG const & rhs ) VULKAN_HPP_NOEXCEPT = default;
27379 
27381  : DirectDriverLoadingListLUNARG( *reinterpret_cast<DirectDriverLoadingListLUNARG const *>( &rhs ) )
27382  {
27383  }
27384 
27385 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
27388  void * pNext_ = nullptr )
27389  : pNext( pNext_ ), mode( mode_ ), driverCount( static_cast<uint32_t>( drivers_.size() ) ), pDrivers( drivers_.data() )
27390  {
27391  }
27392 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
27393 
27395 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
27396 
27398  {
27399  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DirectDriverLoadingListLUNARG const *>( &rhs );
27400  return *this;
27401  }
27402 
27403 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
27405  {
27406  pNext = pNext_;
27407  return *this;
27408  }
27409 
27411  {
27412  mode = mode_;
27413  return *this;
27414  }
27415 
27417  {
27418  driverCount = driverCount_;
27419  return *this;
27420  }
27421 
27424  {
27425  pDrivers = pDrivers_;
27426  return *this;
27427  }
27428 
27429 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
27432  {
27433  driverCount = static_cast<uint32_t>( drivers_.size() );
27434  pDrivers = drivers_.data();
27435  return *this;
27436  }
27437 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
27438 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
27439 
27441  {
27442  return *reinterpret_cast<const VkDirectDriverLoadingListLUNARG *>( this );
27443  }
27444 
27446  {
27447  return *reinterpret_cast<VkDirectDriverLoadingListLUNARG *>( this );
27448  }
27449 
27450 #if defined( VULKAN_HPP_USE_REFLECT )
27451 # if 14 <= VULKAN_HPP_CPP_VERSION
27452  auto
27453 # else
27454  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
27455  void * const &,
27457  uint32_t const &,
27459 # endif
27460  reflect() const VULKAN_HPP_NOEXCEPT
27461  {
27462  return std::tie( sType, pNext, mode, driverCount, pDrivers );
27463  }
27464 #endif
27465 
27467  {
27468 #if defined( VULKAN_HPP_USE_REFLECT )
27469  return this->reflect() == rhs.reflect();
27470 #else
27471  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( mode == rhs.mode ) && ( driverCount == rhs.driverCount ) && ( pDrivers == rhs.pDrivers );
27472 #endif
27473  }
27474 
27476  {
27477  return !operator==( rhs );
27478  }
27479 
27480  public:
27481  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDirectDriverLoadingListLUNARG;
27482  void * pNext = {};
27484  uint32_t driverCount = {};
27486  };
27487 
27488  template <>
27490  {
27492  };
27493 
27494 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
27495  struct DirectFBSurfaceCreateInfoEXT
27496  {
27497  using NativeType = VkDirectFBSurfaceCreateInfoEXT;
27498 
27499  static const bool allowDuplicate = false;
27500  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDirectfbSurfaceCreateInfoEXT;
27501 
27502 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
27503  VULKAN_HPP_CONSTEXPR DirectFBSurfaceCreateInfoEXT( VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateFlagsEXT flags_ = {},
27504  IDirectFB * dfb_ = {},
27505  IDirectFBSurface * surface_ = {},
27506  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
27507  : pNext( pNext_ )
27508  , flags( flags_ )
27509  , dfb( dfb_ )
27510  , surface( surface_ )
27511  {
27512  }
27513 
27514  VULKAN_HPP_CONSTEXPR DirectFBSurfaceCreateInfoEXT( DirectFBSurfaceCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
27515 
27516  DirectFBSurfaceCreateInfoEXT( VkDirectFBSurfaceCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
27517  : DirectFBSurfaceCreateInfoEXT( *reinterpret_cast<DirectFBSurfaceCreateInfoEXT const *>( &rhs ) )
27518  {
27519  }
27520 
27521  DirectFBSurfaceCreateInfoEXT & operator=( DirectFBSurfaceCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
27522 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
27523 
27524  DirectFBSurfaceCreateInfoEXT & operator=( VkDirectFBSurfaceCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
27525  {
27526  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateInfoEXT const *>( &rhs );
27527  return *this;
27528  }
27529 
27530 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
27531  VULKAN_HPP_CONSTEXPR_14 DirectFBSurfaceCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
27532  {
27533  pNext = pNext_;
27534  return *this;
27535  }
27536 
27537  VULKAN_HPP_CONSTEXPR_14 DirectFBSurfaceCreateInfoEXT & setFlags( VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateFlagsEXT flags_ ) VULKAN_HPP_NOEXCEPT
27538  {
27539  flags = flags_;
27540  return *this;
27541  }
27542 
27543  VULKAN_HPP_CONSTEXPR_14 DirectFBSurfaceCreateInfoEXT & setDfb( IDirectFB * dfb_ ) VULKAN_HPP_NOEXCEPT
27544  {
27545  dfb = dfb_;
27546  return *this;
27547  }
27548 
27549  VULKAN_HPP_CONSTEXPR_14 DirectFBSurfaceCreateInfoEXT & setSurface( IDirectFBSurface * surface_ ) VULKAN_HPP_NOEXCEPT
27550  {
27551  surface = surface_;
27552  return *this;
27553  }
27554 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
27555 
27556  operator VkDirectFBSurfaceCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
27557  {
27558  return *reinterpret_cast<const VkDirectFBSurfaceCreateInfoEXT *>( this );
27559  }
27560 
27562  {
27563  return *reinterpret_cast<VkDirectFBSurfaceCreateInfoEXT *>( this );
27564  }
27565 
27566 # if defined( VULKAN_HPP_USE_REFLECT )
27567 # if 14 <= VULKAN_HPP_CPP_VERSION
27568  auto
27569 # else
27570  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
27571  const void * const &,
27572  VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateFlagsEXT const &,
27573  IDirectFB * const &,
27574  IDirectFBSurface * const &>
27575 # endif
27576  reflect() const VULKAN_HPP_NOEXCEPT
27577  {
27578  return std::tie( sType, pNext, flags, dfb, surface );
27579  }
27580 # endif
27581 
27582 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
27583  auto operator<=>( DirectFBSurfaceCreateInfoEXT const & ) const = default;
27584 # else
27585  bool operator==( DirectFBSurfaceCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
27586  {
27587 # if defined( VULKAN_HPP_USE_REFLECT )
27588  return this->reflect() == rhs.reflect();
27589 # else
27590  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( dfb == rhs.dfb ) && ( surface == rhs.surface );
27591 # endif
27592  }
27593 
27594  bool operator!=( DirectFBSurfaceCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
27595  {
27596  return !operator==( rhs );
27597  }
27598 # endif
27599 
27600  public:
27601  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDirectfbSurfaceCreateInfoEXT;
27602  const void * pNext = {};
27603  VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateFlagsEXT flags = {};
27604  IDirectFB * dfb = {};
27605  IDirectFBSurface * surface = {};
27606  };
27607 
27608  template <>
27609  struct CppType<StructureType, StructureType::eDirectfbSurfaceCreateInfoEXT>
27610  {
27611  using Type = DirectFBSurfaceCreateInfoEXT;
27612  };
27613 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
27614 
27616  {
27618 
27619 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
27620  VULKAN_HPP_CONSTEXPR DispatchIndirectCommand( uint32_t x_ = {}, uint32_t y_ = {}, uint32_t z_ = {} ) VULKAN_HPP_NOEXCEPT
27621  : x( x_ )
27622  , y( y_ )
27623  , z( z_ )
27624  {
27625  }
27626 
27627  VULKAN_HPP_CONSTEXPR DispatchIndirectCommand( DispatchIndirectCommand const & rhs ) VULKAN_HPP_NOEXCEPT = default;
27628 
27630  : DispatchIndirectCommand( *reinterpret_cast<DispatchIndirectCommand const *>( &rhs ) )
27631  {
27632  }
27633 
27634  DispatchIndirectCommand & operator=( DispatchIndirectCommand const & rhs ) VULKAN_HPP_NOEXCEPT = default;
27635 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
27636 
27638  {
27639  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DispatchIndirectCommand const *>( &rhs );
27640  return *this;
27641  }
27642 
27643 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
27645  {
27646  x = x_;
27647  return *this;
27648  }
27649 
27651  {
27652  y = y_;
27653  return *this;
27654  }
27655 
27657  {
27658  z = z_;
27659  return *this;
27660  }
27661 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
27662 
27664  {
27665  return *reinterpret_cast<const VkDispatchIndirectCommand *>( this );
27666  }
27667 
27669  {
27670  return *reinterpret_cast<VkDispatchIndirectCommand *>( this );
27671  }
27672 
27673 #if defined( VULKAN_HPP_USE_REFLECT )
27674 # if 14 <= VULKAN_HPP_CPP_VERSION
27675  auto
27676 # else
27677  std::tuple<uint32_t const &, uint32_t const &, uint32_t const &>
27678 # endif
27679  reflect() const VULKAN_HPP_NOEXCEPT
27680  {
27681  return std::tie( x, y, z );
27682  }
27683 #endif
27684 
27685 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
27686  auto operator<=>( DispatchIndirectCommand const & ) const = default;
27687 #else
27689  {
27690 # if defined( VULKAN_HPP_USE_REFLECT )
27691  return this->reflect() == rhs.reflect();
27692 # else
27693  return ( x == rhs.x ) && ( y == rhs.y ) && ( z == rhs.z );
27694 # endif
27695  }
27696 
27698  {
27699  return !operator==( rhs );
27700  }
27701 #endif
27702 
27703  public:
27704  uint32_t x = {};
27705  uint32_t y = {};
27706  uint32_t z = {};
27707  };
27708 
27710  {
27712 
27713  static const bool allowDuplicate = false;
27714  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayEventInfoEXT;
27715 
27716 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
27719  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
27720  : pNext( pNext_ )
27721  , displayEvent( displayEvent_ )
27722  {
27723  }
27724 
27726 
27727  DisplayEventInfoEXT( VkDisplayEventInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DisplayEventInfoEXT( *reinterpret_cast<DisplayEventInfoEXT const *>( &rhs ) )
27728  {
27729  }
27730 
27731  DisplayEventInfoEXT & operator=( DisplayEventInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
27732 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
27733 
27735  {
27736  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayEventInfoEXT const *>( &rhs );
27737  return *this;
27738  }
27739 
27740 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
27742  {
27743  pNext = pNext_;
27744  return *this;
27745  }
27746 
27748  {
27749  displayEvent = displayEvent_;
27750  return *this;
27751  }
27752 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
27753 
27755  {
27756  return *reinterpret_cast<const VkDisplayEventInfoEXT *>( this );
27757  }
27758 
27760  {
27761  return *reinterpret_cast<VkDisplayEventInfoEXT *>( this );
27762  }
27763 
27764 #if defined( VULKAN_HPP_USE_REFLECT )
27765 # if 14 <= VULKAN_HPP_CPP_VERSION
27766  auto
27767 # else
27768  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::DisplayEventTypeEXT const &>
27769 # endif
27770  reflect() const VULKAN_HPP_NOEXCEPT
27771  {
27772  return std::tie( sType, pNext, displayEvent );
27773  }
27774 #endif
27775 
27776 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
27777  auto operator<=>( DisplayEventInfoEXT const & ) const = default;
27778 #else
27780  {
27781 # if defined( VULKAN_HPP_USE_REFLECT )
27782  return this->reflect() == rhs.reflect();
27783 # else
27784  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( displayEvent == rhs.displayEvent );
27785 # endif
27786  }
27787 
27789  {
27790  return !operator==( rhs );
27791  }
27792 #endif
27793 
27794  public:
27795  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDisplayEventInfoEXT;
27796  const void * pNext = {};
27798  };
27799 
27800  template <>
27802  {
27804  };
27805 
27807  {
27809 
27810 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
27812  : visibleRegion( visibleRegion_ )
27813  , refreshRate( refreshRate_ )
27814  {
27815  }
27816 
27817  VULKAN_HPP_CONSTEXPR DisplayModeParametersKHR( DisplayModeParametersKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
27818 
27820  : DisplayModeParametersKHR( *reinterpret_cast<DisplayModeParametersKHR const *>( &rhs ) )
27821  {
27822  }
27823 
27824  DisplayModeParametersKHR & operator=( DisplayModeParametersKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
27825 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
27826 
27828  {
27829  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayModeParametersKHR const *>( &rhs );
27830  return *this;
27831  }
27832 
27833 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
27835  {
27836  visibleRegion = visibleRegion_;
27837  return *this;
27838  }
27839 
27841  {
27842  refreshRate = refreshRate_;
27843  return *this;
27844  }
27845 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
27846 
27848  {
27849  return *reinterpret_cast<const VkDisplayModeParametersKHR *>( this );
27850  }
27851 
27853  {
27854  return *reinterpret_cast<VkDisplayModeParametersKHR *>( this );
27855  }
27856 
27857 #if defined( VULKAN_HPP_USE_REFLECT )
27858 # if 14 <= VULKAN_HPP_CPP_VERSION
27859  auto
27860 # else
27861  std::tuple<VULKAN_HPP_NAMESPACE::Extent2D const &, uint32_t const &>
27862 # endif
27863  reflect() const VULKAN_HPP_NOEXCEPT
27864  {
27865  return std::tie( visibleRegion, refreshRate );
27866  }
27867 #endif
27868 
27869 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
27870  auto operator<=>( DisplayModeParametersKHR const & ) const = default;
27871 #else
27873  {
27874 # if defined( VULKAN_HPP_USE_REFLECT )
27875  return this->reflect() == rhs.reflect();
27876 # else
27877  return ( visibleRegion == rhs.visibleRegion ) && ( refreshRate == rhs.refreshRate );
27878 # endif
27879  }
27880 
27882  {
27883  return !operator==( rhs );
27884  }
27885 #endif
27886 
27887  public:
27889  uint32_t refreshRate = {};
27890  };
27891 
27893  {
27895 
27896  static const bool allowDuplicate = false;
27897  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayModeCreateInfoKHR;
27898 
27899 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
27902  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
27903  : pNext( pNext_ )
27904  , flags( flags_ )
27905  , parameters( parameters_ )
27906  {
27907  }
27908 
27909  VULKAN_HPP_CONSTEXPR DisplayModeCreateInfoKHR( DisplayModeCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
27910 
27912  : DisplayModeCreateInfoKHR( *reinterpret_cast<DisplayModeCreateInfoKHR const *>( &rhs ) )
27913  {
27914  }
27915 
27916  DisplayModeCreateInfoKHR & operator=( DisplayModeCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
27917 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
27918 
27920  {
27921  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayModeCreateInfoKHR const *>( &rhs );
27922  return *this;
27923  }
27924 
27925 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
27927  {
27928  pNext = pNext_;
27929  return *this;
27930  }
27931 
27933  {
27934  flags = flags_;
27935  return *this;
27936  }
27937 
27939  {
27940  parameters = parameters_;
27941  return *this;
27942  }
27943 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
27944 
27946  {
27947  return *reinterpret_cast<const VkDisplayModeCreateInfoKHR *>( this );
27948  }
27949 
27951  {
27952  return *reinterpret_cast<VkDisplayModeCreateInfoKHR *>( this );
27953  }
27954 
27955 #if defined( VULKAN_HPP_USE_REFLECT )
27956 # if 14 <= VULKAN_HPP_CPP_VERSION
27957  auto
27958 # else
27959  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
27960  const void * const &,
27963 # endif
27964  reflect() const VULKAN_HPP_NOEXCEPT
27965  {
27966  return std::tie( sType, pNext, flags, parameters );
27967  }
27968 #endif
27969 
27970 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
27971  auto operator<=>( DisplayModeCreateInfoKHR const & ) const = default;
27972 #else
27974  {
27975 # if defined( VULKAN_HPP_USE_REFLECT )
27976  return this->reflect() == rhs.reflect();
27977 # else
27978  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( parameters == rhs.parameters );
27979 # endif
27980  }
27981 
27983  {
27984  return !operator==( rhs );
27985  }
27986 #endif
27987 
27988  public:
27989  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDisplayModeCreateInfoKHR;
27990  const void * pNext = {};
27993  };
27994 
27995  template <>
27997  {
27999  };
28000 
28002  {
28004 
28005 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
28008  : displayMode( displayMode_ )
28009  , parameters( parameters_ )
28010  {
28011  }
28012 
28013  VULKAN_HPP_CONSTEXPR DisplayModePropertiesKHR( DisplayModePropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
28014 
28016  : DisplayModePropertiesKHR( *reinterpret_cast<DisplayModePropertiesKHR const *>( &rhs ) )
28017  {
28018  }
28019 
28020  DisplayModePropertiesKHR & operator=( DisplayModePropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
28021 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
28022 
28024  {
28025  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR const *>( &rhs );
28026  return *this;
28027  }
28028 
28030  {
28031  return *reinterpret_cast<const VkDisplayModePropertiesKHR *>( this );
28032  }
28033 
28035  {
28036  return *reinterpret_cast<VkDisplayModePropertiesKHR *>( this );
28037  }
28038 
28039 #if defined( VULKAN_HPP_USE_REFLECT )
28040 # if 14 <= VULKAN_HPP_CPP_VERSION
28041  auto
28042 # else
28043  std::tuple<VULKAN_HPP_NAMESPACE::DisplayModeKHR const &, VULKAN_HPP_NAMESPACE::DisplayModeParametersKHR const &>
28044 # endif
28045  reflect() const VULKAN_HPP_NOEXCEPT
28046  {
28047  return std::tie( displayMode, parameters );
28048  }
28049 #endif
28050 
28051 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
28052  auto operator<=>( DisplayModePropertiesKHR const & ) const = default;
28053 #else
28055  {
28056 # if defined( VULKAN_HPP_USE_REFLECT )
28057  return this->reflect() == rhs.reflect();
28058 # else
28059  return ( displayMode == rhs.displayMode ) && ( parameters == rhs.parameters );
28060 # endif
28061  }
28062 
28064  {
28065  return !operator==( rhs );
28066  }
28067 #endif
28068 
28069  public:
28072  };
28073 
28075  {
28077 
28078  static const bool allowDuplicate = false;
28079  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayModeProperties2KHR;
28080 
28081 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
28083  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
28084  : pNext( pNext_ )
28085  , displayModeProperties( displayModeProperties_ )
28086  {
28087  }
28088 
28089  VULKAN_HPP_CONSTEXPR DisplayModeProperties2KHR( DisplayModeProperties2KHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
28090 
28092  : DisplayModeProperties2KHR( *reinterpret_cast<DisplayModeProperties2KHR const *>( &rhs ) )
28093  {
28094  }
28095 
28096  DisplayModeProperties2KHR & operator=( DisplayModeProperties2KHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
28097 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
28098 
28100  {
28101  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR const *>( &rhs );
28102  return *this;
28103  }
28104 
28106  {
28107  return *reinterpret_cast<const VkDisplayModeProperties2KHR *>( this );
28108  }
28109 
28111  {
28112  return *reinterpret_cast<VkDisplayModeProperties2KHR *>( this );
28113  }
28114 
28115 #if defined( VULKAN_HPP_USE_REFLECT )
28116 # if 14 <= VULKAN_HPP_CPP_VERSION
28117  auto
28118 # else
28119  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR const &>
28120 # endif
28121  reflect() const VULKAN_HPP_NOEXCEPT
28122  {
28123  return std::tie( sType, pNext, displayModeProperties );
28124  }
28125 #endif
28126 
28127 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
28128  auto operator<=>( DisplayModeProperties2KHR const & ) const = default;
28129 #else
28131  {
28132 # if defined( VULKAN_HPP_USE_REFLECT )
28133  return this->reflect() == rhs.reflect();
28134 # else
28135  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( displayModeProperties == rhs.displayModeProperties );
28136 # endif
28137  }
28138 
28140  {
28141  return !operator==( rhs );
28142  }
28143 #endif
28144 
28145  public:
28146  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDisplayModeProperties2KHR;
28147  void * pNext = {};
28149  };
28150 
28151  template <>
28153  {
28155  };
28156 
28158  {
28160 
28161  static const bool allowDuplicate = false;
28162  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayNativeHdrSurfaceCapabilitiesAMD;
28163 
28164 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
28166  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
28167  : pNext( pNext_ )
28168  , localDimmingSupport( localDimmingSupport_ )
28169  {
28170  }
28171 
28172  VULKAN_HPP_CONSTEXPR DisplayNativeHdrSurfaceCapabilitiesAMD( DisplayNativeHdrSurfaceCapabilitiesAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default;
28173 
28175  : DisplayNativeHdrSurfaceCapabilitiesAMD( *reinterpret_cast<DisplayNativeHdrSurfaceCapabilitiesAMD const *>( &rhs ) )
28176  {
28177  }
28178 
28180 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
28181 
28183  {
28184  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayNativeHdrSurfaceCapabilitiesAMD const *>( &rhs );
28185  return *this;
28186  }
28187 
28189  {
28190  return *reinterpret_cast<const VkDisplayNativeHdrSurfaceCapabilitiesAMD *>( this );
28191  }
28192 
28194  {
28195  return *reinterpret_cast<VkDisplayNativeHdrSurfaceCapabilitiesAMD *>( this );
28196  }
28197 
28198 #if defined( VULKAN_HPP_USE_REFLECT )
28199 # if 14 <= VULKAN_HPP_CPP_VERSION
28200  auto
28201 # else
28202  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
28203 # endif
28204  reflect() const VULKAN_HPP_NOEXCEPT
28205  {
28206  return std::tie( sType, pNext, localDimmingSupport );
28207  }
28208 #endif
28209 
28210 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
28211  auto operator<=>( DisplayNativeHdrSurfaceCapabilitiesAMD const & ) const = default;
28212 #else
28214  {
28215 # if defined( VULKAN_HPP_USE_REFLECT )
28216  return this->reflect() == rhs.reflect();
28217 # else
28218  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( localDimmingSupport == rhs.localDimmingSupport );
28219 # endif
28220  }
28221 
28223  {
28224  return !operator==( rhs );
28225  }
28226 #endif
28227 
28228  public:
28229  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDisplayNativeHdrSurfaceCapabilitiesAMD;
28230  void * pNext = {};
28231  VULKAN_HPP_NAMESPACE::Bool32 localDimmingSupport = {};
28232  };
28233 
28234  template <>
28236  {
28238  };
28239 
28241  {
28243 
28244 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
28246  VULKAN_HPP_NAMESPACE::Offset2D minSrcPosition_ = {},
28247  VULKAN_HPP_NAMESPACE::Offset2D maxSrcPosition_ = {},
28248  VULKAN_HPP_NAMESPACE::Extent2D minSrcExtent_ = {},
28249  VULKAN_HPP_NAMESPACE::Extent2D maxSrcExtent_ = {},
28250  VULKAN_HPP_NAMESPACE::Offset2D minDstPosition_ = {},
28251  VULKAN_HPP_NAMESPACE::Offset2D maxDstPosition_ = {},
28252  VULKAN_HPP_NAMESPACE::Extent2D minDstExtent_ = {},
28254  : supportedAlpha( supportedAlpha_ )
28255  , minSrcPosition( minSrcPosition_ )
28256  , maxSrcPosition( maxSrcPosition_ )
28257  , minSrcExtent( minSrcExtent_ )
28258  , maxSrcExtent( maxSrcExtent_ )
28259  , minDstPosition( minDstPosition_ )
28260  , maxDstPosition( maxDstPosition_ )
28261  , minDstExtent( minDstExtent_ )
28262  , maxDstExtent( maxDstExtent_ )
28263  {
28264  }
28265 
28266  VULKAN_HPP_CONSTEXPR DisplayPlaneCapabilitiesKHR( DisplayPlaneCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
28267 
28269  : DisplayPlaneCapabilitiesKHR( *reinterpret_cast<DisplayPlaneCapabilitiesKHR const *>( &rhs ) )
28270  {
28271  }
28272 
28274 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
28275 
28277  {
28278  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR const *>( &rhs );
28279  return *this;
28280  }
28281 
28283  {
28284  return *reinterpret_cast<const VkDisplayPlaneCapabilitiesKHR *>( this );
28285  }
28286 
28288  {
28289  return *reinterpret_cast<VkDisplayPlaneCapabilitiesKHR *>( this );
28290  }
28291 
28292 #if defined( VULKAN_HPP_USE_REFLECT )
28293 # if 14 <= VULKAN_HPP_CPP_VERSION
28294  auto
28295 # else
28305 # endif
28306  reflect() const VULKAN_HPP_NOEXCEPT
28307  {
28308  return std::tie( supportedAlpha, minSrcPosition, maxSrcPosition, minSrcExtent, maxSrcExtent, minDstPosition, maxDstPosition, minDstExtent, maxDstExtent );
28309  }
28310 #endif
28311 
28312 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
28313  auto operator<=>( DisplayPlaneCapabilitiesKHR const & ) const = default;
28314 #else
28316  {
28317 # if defined( VULKAN_HPP_USE_REFLECT )
28318  return this->reflect() == rhs.reflect();
28319 # else
28320  return ( supportedAlpha == rhs.supportedAlpha ) && ( minSrcPosition == rhs.minSrcPosition ) && ( maxSrcPosition == rhs.maxSrcPosition ) &&
28321  ( minSrcExtent == rhs.minSrcExtent ) && ( maxSrcExtent == rhs.maxSrcExtent ) && ( minDstPosition == rhs.minDstPosition ) &&
28322  ( maxDstPosition == rhs.maxDstPosition ) && ( minDstExtent == rhs.minDstExtent ) && ( maxDstExtent == rhs.maxDstExtent );
28323 # endif
28324  }
28325 
28327  {
28328  return !operator==( rhs );
28329  }
28330 #endif
28331 
28332  public:
28334  VULKAN_HPP_NAMESPACE::Offset2D minSrcPosition = {};
28335  VULKAN_HPP_NAMESPACE::Offset2D maxSrcPosition = {};
28338  VULKAN_HPP_NAMESPACE::Offset2D minDstPosition = {};
28339  VULKAN_HPP_NAMESPACE::Offset2D maxDstPosition = {};
28342  };
28343 
28345  {
28347 
28348  static const bool allowDuplicate = false;
28349  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayPlaneCapabilities2KHR;
28350 
28351 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
28353  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
28354  : pNext( pNext_ )
28355  , capabilities( capabilities_ )
28356  {
28357  }
28358 
28359  VULKAN_HPP_CONSTEXPR DisplayPlaneCapabilities2KHR( DisplayPlaneCapabilities2KHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
28360 
28362  : DisplayPlaneCapabilities2KHR( *reinterpret_cast<DisplayPlaneCapabilities2KHR const *>( &rhs ) )
28363  {
28364  }
28365 
28367 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
28368 
28370  {
28371  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilities2KHR const *>( &rhs );
28372  return *this;
28373  }
28374 
28376  {
28377  return *reinterpret_cast<const VkDisplayPlaneCapabilities2KHR *>( this );
28378  }
28379 
28381  {
28382  return *reinterpret_cast<VkDisplayPlaneCapabilities2KHR *>( this );
28383  }
28384 
28385 #if defined( VULKAN_HPP_USE_REFLECT )
28386 # if 14 <= VULKAN_HPP_CPP_VERSION
28387  auto
28388 # else
28389  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR const &>
28390 # endif
28391  reflect() const VULKAN_HPP_NOEXCEPT
28392  {
28393  return std::tie( sType, pNext, capabilities );
28394  }
28395 #endif
28396 
28397 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
28398  auto operator<=>( DisplayPlaneCapabilities2KHR const & ) const = default;
28399 #else
28401  {
28402 # if defined( VULKAN_HPP_USE_REFLECT )
28403  return this->reflect() == rhs.reflect();
28404 # else
28405  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( capabilities == rhs.capabilities );
28406 # endif
28407  }
28408 
28410  {
28411  return !operator==( rhs );
28412  }
28413 #endif
28414 
28415  public:
28416  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDisplayPlaneCapabilities2KHR;
28417  void * pNext = {};
28419  };
28420 
28421  template <>
28423  {
28425  };
28426 
28428  {
28430 
28431  static const bool allowDuplicate = false;
28432  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayPlaneInfo2KHR;
28433 
28434 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
28436  DisplayPlaneInfo2KHR( VULKAN_HPP_NAMESPACE::DisplayModeKHR mode_ = {}, uint32_t planeIndex_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
28437  : pNext( pNext_ )
28438  , mode( mode_ )
28439  , planeIndex( planeIndex_ )
28440  {
28441  }
28442 
28443  VULKAN_HPP_CONSTEXPR DisplayPlaneInfo2KHR( DisplayPlaneInfo2KHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
28444 
28446  : DisplayPlaneInfo2KHR( *reinterpret_cast<DisplayPlaneInfo2KHR const *>( &rhs ) )
28447  {
28448  }
28449 
28450  DisplayPlaneInfo2KHR & operator=( DisplayPlaneInfo2KHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
28451 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
28452 
28454  {
28455  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayPlaneInfo2KHR const *>( &rhs );
28456  return *this;
28457  }
28458 
28459 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
28461  {
28462  pNext = pNext_;
28463  return *this;
28464  }
28465 
28467  {
28468  mode = mode_;
28469  return *this;
28470  }
28471 
28473  {
28474  planeIndex = planeIndex_;
28475  return *this;
28476  }
28477 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
28478 
28480  {
28481  return *reinterpret_cast<const VkDisplayPlaneInfo2KHR *>( this );
28482  }
28483 
28485  {
28486  return *reinterpret_cast<VkDisplayPlaneInfo2KHR *>( this );
28487  }
28488 
28489 #if defined( VULKAN_HPP_USE_REFLECT )
28490 # if 14 <= VULKAN_HPP_CPP_VERSION
28491  auto
28492 # else
28493  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::DisplayModeKHR const &, uint32_t const &>
28494 # endif
28495  reflect() const VULKAN_HPP_NOEXCEPT
28496  {
28497  return std::tie( sType, pNext, mode, planeIndex );
28498  }
28499 #endif
28500 
28501 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
28502  auto operator<=>( DisplayPlaneInfo2KHR const & ) const = default;
28503 #else
28505  {
28506 # if defined( VULKAN_HPP_USE_REFLECT )
28507  return this->reflect() == rhs.reflect();
28508 # else
28509  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( mode == rhs.mode ) && ( planeIndex == rhs.planeIndex );
28510 # endif
28511  }
28512 
28514  {
28515  return !operator==( rhs );
28516  }
28517 #endif
28518 
28519  public:
28520  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDisplayPlaneInfo2KHR;
28521  const void * pNext = {};
28523  uint32_t planeIndex = {};
28524  };
28525 
28526  template <>
28528  {
28530  };
28531 
28533  {
28535 
28536 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
28538  uint32_t currentStackIndex_ = {} ) VULKAN_HPP_NOEXCEPT
28539  : currentDisplay( currentDisplay_ )
28540  , currentStackIndex( currentStackIndex_ )
28541  {
28542  }
28543 
28544  VULKAN_HPP_CONSTEXPR DisplayPlanePropertiesKHR( DisplayPlanePropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
28545 
28547  : DisplayPlanePropertiesKHR( *reinterpret_cast<DisplayPlanePropertiesKHR const *>( &rhs ) )
28548  {
28549  }
28550 
28551  DisplayPlanePropertiesKHR & operator=( DisplayPlanePropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
28552 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
28553 
28555  {
28556  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR const *>( &rhs );
28557  return *this;
28558  }
28559 
28561  {
28562  return *reinterpret_cast<const VkDisplayPlanePropertiesKHR *>( this );
28563  }
28564 
28566  {
28567  return *reinterpret_cast<VkDisplayPlanePropertiesKHR *>( this );
28568  }
28569 
28570 #if defined( VULKAN_HPP_USE_REFLECT )
28571 # if 14 <= VULKAN_HPP_CPP_VERSION
28572  auto
28573 # else
28574  std::tuple<VULKAN_HPP_NAMESPACE::DisplayKHR const &, uint32_t const &>
28575 # endif
28576  reflect() const VULKAN_HPP_NOEXCEPT
28577  {
28578  return std::tie( currentDisplay, currentStackIndex );
28579  }
28580 #endif
28581 
28582 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
28583  auto operator<=>( DisplayPlanePropertiesKHR const & ) const = default;
28584 #else
28586  {
28587 # if defined( VULKAN_HPP_USE_REFLECT )
28588  return this->reflect() == rhs.reflect();
28589 # else
28590  return ( currentDisplay == rhs.currentDisplay ) && ( currentStackIndex == rhs.currentStackIndex );
28591 # endif
28592  }
28593 
28595  {
28596  return !operator==( rhs );
28597  }
28598 #endif
28599 
28600  public:
28602  uint32_t currentStackIndex = {};
28603  };
28604 
28606  {
28608 
28609  static const bool allowDuplicate = false;
28610  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayPlaneProperties2KHR;
28611 
28612 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
28614  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
28615  : pNext( pNext_ )
28616  , displayPlaneProperties( displayPlaneProperties_ )
28617  {
28618  }
28619 
28620  VULKAN_HPP_CONSTEXPR DisplayPlaneProperties2KHR( DisplayPlaneProperties2KHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
28621 
28623  : DisplayPlaneProperties2KHR( *reinterpret_cast<DisplayPlaneProperties2KHR const *>( &rhs ) )
28624  {
28625  }
28626 
28627  DisplayPlaneProperties2KHR & operator=( DisplayPlaneProperties2KHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
28628 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
28629 
28631  {
28632  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayPlaneProperties2KHR const *>( &rhs );
28633  return *this;
28634  }
28635 
28637  {
28638  return *reinterpret_cast<const VkDisplayPlaneProperties2KHR *>( this );
28639  }
28640 
28642  {
28643  return *reinterpret_cast<VkDisplayPlaneProperties2KHR *>( this );
28644  }
28645 
28646 #if defined( VULKAN_HPP_USE_REFLECT )
28647 # if 14 <= VULKAN_HPP_CPP_VERSION
28648  auto
28649 # else
28650  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR const &>
28651 # endif
28652  reflect() const VULKAN_HPP_NOEXCEPT
28653  {
28654  return std::tie( sType, pNext, displayPlaneProperties );
28655  }
28656 #endif
28657 
28658 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
28659  auto operator<=>( DisplayPlaneProperties2KHR const & ) const = default;
28660 #else
28662  {
28663 # if defined( VULKAN_HPP_USE_REFLECT )
28664  return this->reflect() == rhs.reflect();
28665 # else
28666  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( displayPlaneProperties == rhs.displayPlaneProperties );
28667 # endif
28668  }
28669 
28671  {
28672  return !operator==( rhs );
28673  }
28674 #endif
28675 
28676  public:
28677  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDisplayPlaneProperties2KHR;
28678  void * pNext = {};
28680  };
28681 
28682  template <>
28684  {
28686  };
28687 
28689  {
28691 
28692  static const bool allowDuplicate = false;
28693  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayPowerInfoEXT;
28694 
28695 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
28697  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
28698  : pNext( pNext_ )
28699  , powerState( powerState_ )
28700  {
28701  }
28702 
28704 
28705  DisplayPowerInfoEXT( VkDisplayPowerInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : DisplayPowerInfoEXT( *reinterpret_cast<DisplayPowerInfoEXT const *>( &rhs ) )
28706  {
28707  }
28708 
28709  DisplayPowerInfoEXT & operator=( DisplayPowerInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
28710 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
28711 
28713  {
28714  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayPowerInfoEXT const *>( &rhs );
28715  return *this;
28716  }
28717 
28718 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
28720  {
28721  pNext = pNext_;
28722  return *this;
28723  }
28724 
28726  {
28727  powerState = powerState_;
28728  return *this;
28729  }
28730 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
28731 
28733  {
28734  return *reinterpret_cast<const VkDisplayPowerInfoEXT *>( this );
28735  }
28736 
28738  {
28739  return *reinterpret_cast<VkDisplayPowerInfoEXT *>( this );
28740  }
28741 
28742 #if defined( VULKAN_HPP_USE_REFLECT )
28743 # if 14 <= VULKAN_HPP_CPP_VERSION
28744  auto
28745 # else
28746  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::DisplayPowerStateEXT const &>
28747 # endif
28748  reflect() const VULKAN_HPP_NOEXCEPT
28749  {
28750  return std::tie( sType, pNext, powerState );
28751  }
28752 #endif
28753 
28754 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
28755  auto operator<=>( DisplayPowerInfoEXT const & ) const = default;
28756 #else
28758  {
28759 # if defined( VULKAN_HPP_USE_REFLECT )
28760  return this->reflect() == rhs.reflect();
28761 # else
28762  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( powerState == rhs.powerState );
28763 # endif
28764  }
28765 
28767  {
28768  return !operator==( rhs );
28769  }
28770 #endif
28771 
28772  public:
28773  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDisplayPowerInfoEXT;
28774  const void * pNext = {};
28776  };
28777 
28778  template <>
28780  {
28782  };
28783 
28785  {
28787 
28788  static const bool allowDuplicate = false;
28789  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayPresentInfoKHR;
28790 
28791 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
28793  VULKAN_HPP_NAMESPACE::Rect2D dstRect_ = {},
28794  VULKAN_HPP_NAMESPACE::Bool32 persistent_ = {},
28795  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
28796  : pNext( pNext_ )
28797  , srcRect( srcRect_ )
28798  , dstRect( dstRect_ )
28799  , persistent( persistent_ )
28800  {
28801  }
28802 
28803  VULKAN_HPP_CONSTEXPR DisplayPresentInfoKHR( DisplayPresentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
28804 
28806  : DisplayPresentInfoKHR( *reinterpret_cast<DisplayPresentInfoKHR const *>( &rhs ) )
28807  {
28808  }
28809 
28810  DisplayPresentInfoKHR & operator=( DisplayPresentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
28811 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
28812 
28814  {
28815  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayPresentInfoKHR const *>( &rhs );
28816  return *this;
28817  }
28818 
28819 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
28821  {
28822  pNext = pNext_;
28823  return *this;
28824  }
28825 
28827  {
28828  srcRect = srcRect_;
28829  return *this;
28830  }
28831 
28833  {
28834  dstRect = dstRect_;
28835  return *this;
28836  }
28837 
28839  {
28840  persistent = persistent_;
28841  return *this;
28842  }
28843 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
28844 
28846  {
28847  return *reinterpret_cast<const VkDisplayPresentInfoKHR *>( this );
28848  }
28849 
28851  {
28852  return *reinterpret_cast<VkDisplayPresentInfoKHR *>( this );
28853  }
28854 
28855 #if defined( VULKAN_HPP_USE_REFLECT )
28856 # if 14 <= VULKAN_HPP_CPP_VERSION
28857  auto
28858 # else
28859  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
28860  const void * const &,
28864 # endif
28865  reflect() const VULKAN_HPP_NOEXCEPT
28866  {
28867  return std::tie( sType, pNext, srcRect, dstRect, persistent );
28868  }
28869 #endif
28870 
28871 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
28872  auto operator<=>( DisplayPresentInfoKHR const & ) const = default;
28873 #else
28875  {
28876 # if defined( VULKAN_HPP_USE_REFLECT )
28877  return this->reflect() == rhs.reflect();
28878 # else
28879  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( srcRect == rhs.srcRect ) && ( dstRect == rhs.dstRect ) && ( persistent == rhs.persistent );
28880 # endif
28881  }
28882 
28884  {
28885  return !operator==( rhs );
28886  }
28887 #endif
28888 
28889  public:
28890  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDisplayPresentInfoKHR;
28891  const void * pNext = {};
28895  };
28896 
28897  template <>
28899  {
28901  };
28902 
28904  {
28906 
28907 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
28909  const char * displayName_ = {},
28910  VULKAN_HPP_NAMESPACE::Extent2D physicalDimensions_ = {},
28911  VULKAN_HPP_NAMESPACE::Extent2D physicalResolution_ = {},
28912  VULKAN_HPP_NAMESPACE::SurfaceTransformFlagsKHR supportedTransforms_ = {},
28913  VULKAN_HPP_NAMESPACE::Bool32 planeReorderPossible_ = {},
28914  VULKAN_HPP_NAMESPACE::Bool32 persistentContent_ = {} ) VULKAN_HPP_NOEXCEPT
28915  : display( display_ )
28916  , displayName( displayName_ )
28917  , physicalDimensions( physicalDimensions_ )
28918  , physicalResolution( physicalResolution_ )
28919  , supportedTransforms( supportedTransforms_ )
28920  , planeReorderPossible( planeReorderPossible_ )
28921  , persistentContent( persistentContent_ )
28922  {
28923  }
28924 
28925  VULKAN_HPP_CONSTEXPR DisplayPropertiesKHR( DisplayPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
28926 
28928  : DisplayPropertiesKHR( *reinterpret_cast<DisplayPropertiesKHR const *>( &rhs ) )
28929  {
28930  }
28931 
28932  DisplayPropertiesKHR & operator=( DisplayPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
28933 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
28934 
28936  {
28937  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR const *>( &rhs );
28938  return *this;
28939  }
28940 
28942  {
28943  return *reinterpret_cast<const VkDisplayPropertiesKHR *>( this );
28944  }
28945 
28947  {
28948  return *reinterpret_cast<VkDisplayPropertiesKHR *>( this );
28949  }
28950 
28951 #if defined( VULKAN_HPP_USE_REFLECT )
28952 # if 14 <= VULKAN_HPP_CPP_VERSION
28953  auto
28954 # else
28955  std::tuple<VULKAN_HPP_NAMESPACE::DisplayKHR const &,
28956  const char * const &,
28962 # endif
28963  reflect() const VULKAN_HPP_NOEXCEPT
28964  {
28965  return std::tie( display, displayName, physicalDimensions, physicalResolution, supportedTransforms, planeReorderPossible, persistentContent );
28966  }
28967 #endif
28968 
28969 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
28970  std::strong_ordering operator<=>( DisplayPropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
28971  {
28972  if ( auto cmp = display <=> rhs.display; cmp != 0 )
28973  return cmp;
28974  if ( displayName != rhs.displayName )
28975  if ( auto cmp = strcmp( displayName, rhs.displayName ); cmp != 0 )
28976  return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater;
28977  if ( auto cmp = physicalDimensions <=> rhs.physicalDimensions; cmp != 0 )
28978  return cmp;
28979  if ( auto cmp = physicalResolution <=> rhs.physicalResolution; cmp != 0 )
28980  return cmp;
28981  if ( auto cmp = supportedTransforms <=> rhs.supportedTransforms; cmp != 0 )
28982  return cmp;
28983  if ( auto cmp = planeReorderPossible <=> rhs.planeReorderPossible; cmp != 0 )
28984  return cmp;
28985  if ( auto cmp = persistentContent <=> rhs.persistentContent; cmp != 0 )
28986  return cmp;
28987 
28988  return std::strong_ordering::equivalent;
28989  }
28990 #endif
28991 
28993  {
28994  return ( display == rhs.display ) && ( ( displayName == rhs.displayName ) || ( strcmp( displayName, rhs.displayName ) == 0 ) ) &&
28995  ( physicalDimensions == rhs.physicalDimensions ) && ( physicalResolution == rhs.physicalResolution ) &&
28996  ( supportedTransforms == rhs.supportedTransforms ) && ( planeReorderPossible == rhs.planeReorderPossible ) &&
28997  ( persistentContent == rhs.persistentContent );
28998  }
28999 
29001  {
29002  return !operator==( rhs );
29003  }
29004 
29005  public:
29007  const char * displayName = {};
29008  VULKAN_HPP_NAMESPACE::Extent2D physicalDimensions = {};
29009  VULKAN_HPP_NAMESPACE::Extent2D physicalResolution = {};
29011  VULKAN_HPP_NAMESPACE::Bool32 planeReorderPossible = {};
29012  VULKAN_HPP_NAMESPACE::Bool32 persistentContent = {};
29013  };
29014 
29016  {
29018 
29019  static const bool allowDuplicate = false;
29020  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayProperties2KHR;
29021 
29022 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
29024  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
29025  : pNext( pNext_ )
29026  , displayProperties( displayProperties_ )
29027  {
29028  }
29029 
29030  VULKAN_HPP_CONSTEXPR DisplayProperties2KHR( DisplayProperties2KHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
29031 
29033  : DisplayProperties2KHR( *reinterpret_cast<DisplayProperties2KHR const *>( &rhs ) )
29034  {
29035  }
29036 
29037  DisplayProperties2KHR & operator=( DisplayProperties2KHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
29038 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
29039 
29041  {
29042  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplayProperties2KHR const *>( &rhs );
29043  return *this;
29044  }
29045 
29047  {
29048  return *reinterpret_cast<const VkDisplayProperties2KHR *>( this );
29049  }
29050 
29052  {
29053  return *reinterpret_cast<VkDisplayProperties2KHR *>( this );
29054  }
29055 
29056 #if defined( VULKAN_HPP_USE_REFLECT )
29057 # if 14 <= VULKAN_HPP_CPP_VERSION
29058  auto
29059 # else
29060  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR const &>
29061 # endif
29062  reflect() const VULKAN_HPP_NOEXCEPT
29063  {
29064  return std::tie( sType, pNext, displayProperties );
29065  }
29066 #endif
29067 
29068 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
29069  auto operator<=>( DisplayProperties2KHR const & ) const = default;
29070 #else
29072  {
29073 # if defined( VULKAN_HPP_USE_REFLECT )
29074  return this->reflect() == rhs.reflect();
29075 # else
29076  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( displayProperties == rhs.displayProperties );
29077 # endif
29078  }
29079 
29081  {
29082  return !operator==( rhs );
29083  }
29084 #endif
29085 
29086  public:
29087  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDisplayProperties2KHR;
29088  void * pNext = {};
29090  };
29091 
29092  template <>
29094  {
29096  };
29097 
29099  {
29101 
29102  static const bool allowDuplicate = false;
29103  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplaySurfaceCreateInfoKHR;
29104 
29105 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
29108  VULKAN_HPP_NAMESPACE::DisplayModeKHR displayMode_ = {},
29109  uint32_t planeIndex_ = {},
29110  uint32_t planeStackIndex_ = {},
29112  float globalAlpha_ = {},
29114  VULKAN_HPP_NAMESPACE::Extent2D imageExtent_ = {},
29115  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
29116  : pNext( pNext_ )
29117  , flags( flags_ )
29118  , displayMode( displayMode_ )
29119  , planeIndex( planeIndex_ )
29120  , planeStackIndex( planeStackIndex_ )
29121  , transform( transform_ )
29122  , globalAlpha( globalAlpha_ )
29123  , alphaMode( alphaMode_ )
29124  , imageExtent( imageExtent_ )
29125  {
29126  }
29127 
29128  VULKAN_HPP_CONSTEXPR DisplaySurfaceCreateInfoKHR( DisplaySurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
29129 
29131  : DisplaySurfaceCreateInfoKHR( *reinterpret_cast<DisplaySurfaceCreateInfoKHR const *>( &rhs ) )
29132  {
29133  }
29134 
29136 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
29137 
29139  {
29140  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateInfoKHR const *>( &rhs );
29141  return *this;
29142  }
29143 
29144 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
29146  {
29147  pNext = pNext_;
29148  return *this;
29149  }
29150 
29152  {
29153  flags = flags_;
29154  return *this;
29155  }
29156 
29158  {
29159  displayMode = displayMode_;
29160  return *this;
29161  }
29162 
29164  {
29165  planeIndex = planeIndex_;
29166  return *this;
29167  }
29168 
29170  {
29171  planeStackIndex = planeStackIndex_;
29172  return *this;
29173  }
29174 
29176  {
29177  transform = transform_;
29178  return *this;
29179  }
29180 
29182  {
29183  globalAlpha = globalAlpha_;
29184  return *this;
29185  }
29186 
29188  {
29189  alphaMode = alphaMode_;
29190  return *this;
29191  }
29192 
29194  {
29195  imageExtent = imageExtent_;
29196  return *this;
29197  }
29198 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
29199 
29201  {
29202  return *reinterpret_cast<const VkDisplaySurfaceCreateInfoKHR *>( this );
29203  }
29204 
29206  {
29207  return *reinterpret_cast<VkDisplaySurfaceCreateInfoKHR *>( this );
29208  }
29209 
29210 #if defined( VULKAN_HPP_USE_REFLECT )
29211 # if 14 <= VULKAN_HPP_CPP_VERSION
29212  auto
29213 # else
29214  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
29215  const void * const &,
29218  uint32_t const &,
29219  uint32_t const &,
29221  float const &,
29224 # endif
29225  reflect() const VULKAN_HPP_NOEXCEPT
29226  {
29227  return std::tie( sType, pNext, flags, displayMode, planeIndex, planeStackIndex, transform, globalAlpha, alphaMode, imageExtent );
29228  }
29229 #endif
29230 
29231 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
29232  auto operator<=>( DisplaySurfaceCreateInfoKHR const & ) const = default;
29233 #else
29235  {
29236 # if defined( VULKAN_HPP_USE_REFLECT )
29237  return this->reflect() == rhs.reflect();
29238 # else
29239  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( displayMode == rhs.displayMode ) &&
29240  ( planeIndex == rhs.planeIndex ) && ( planeStackIndex == rhs.planeStackIndex ) && ( transform == rhs.transform ) &&
29241  ( globalAlpha == rhs.globalAlpha ) && ( alphaMode == rhs.alphaMode ) && ( imageExtent == rhs.imageExtent );
29242 # endif
29243  }
29244 
29246  {
29247  return !operator==( rhs );
29248  }
29249 #endif
29250 
29251  public:
29252  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDisplaySurfaceCreateInfoKHR;
29253  const void * pNext = {};
29256  uint32_t planeIndex = {};
29257  uint32_t planeStackIndex = {};
29259  float globalAlpha = {};
29262  };
29263 
29264  template <>
29266  {
29268  };
29269 
29271  {
29273 
29274 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
29276  uint32_t instanceCount_ = {},
29277  uint32_t firstIndex_ = {},
29278  int32_t vertexOffset_ = {},
29279  uint32_t firstInstance_ = {} ) VULKAN_HPP_NOEXCEPT
29280  : indexCount( indexCount_ )
29281  , instanceCount( instanceCount_ )
29282  , firstIndex( firstIndex_ )
29283  , vertexOffset( vertexOffset_ )
29284  , firstInstance( firstInstance_ )
29285  {
29286  }
29287 
29288  VULKAN_HPP_CONSTEXPR DrawIndexedIndirectCommand( DrawIndexedIndirectCommand const & rhs ) VULKAN_HPP_NOEXCEPT = default;
29289 
29291  : DrawIndexedIndirectCommand( *reinterpret_cast<DrawIndexedIndirectCommand const *>( &rhs ) )
29292  {
29293  }
29294 
29295  DrawIndexedIndirectCommand & operator=( DrawIndexedIndirectCommand const & rhs ) VULKAN_HPP_NOEXCEPT = default;
29296 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
29297 
29299  {
29300  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DrawIndexedIndirectCommand const *>( &rhs );
29301  return *this;
29302  }
29303 
29304 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
29306  {
29307  indexCount = indexCount_;
29308  return *this;
29309  }
29310 
29312  {
29313  instanceCount = instanceCount_;
29314  return *this;
29315  }
29316 
29318  {
29319  firstIndex = firstIndex_;
29320  return *this;
29321  }
29322 
29324  {
29325  vertexOffset = vertexOffset_;
29326  return *this;
29327  }
29328 
29330  {
29331  firstInstance = firstInstance_;
29332  return *this;
29333  }
29334 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
29335 
29337  {
29338  return *reinterpret_cast<const VkDrawIndexedIndirectCommand *>( this );
29339  }
29340 
29342  {
29343  return *reinterpret_cast<VkDrawIndexedIndirectCommand *>( this );
29344  }
29345 
29346 #if defined( VULKAN_HPP_USE_REFLECT )
29347 # if 14 <= VULKAN_HPP_CPP_VERSION
29348  auto
29349 # else
29350  std::tuple<uint32_t const &, uint32_t const &, uint32_t const &, int32_t const &, uint32_t const &>
29351 # endif
29352  reflect() const VULKAN_HPP_NOEXCEPT
29353  {
29354  return std::tie( indexCount, instanceCount, firstIndex, vertexOffset, firstInstance );
29355  }
29356 #endif
29357 
29358 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
29359  auto operator<=>( DrawIndexedIndirectCommand const & ) const = default;
29360 #else
29362  {
29363 # if defined( VULKAN_HPP_USE_REFLECT )
29364  return this->reflect() == rhs.reflect();
29365 # else
29366  return ( indexCount == rhs.indexCount ) && ( instanceCount == rhs.instanceCount ) && ( firstIndex == rhs.firstIndex ) &&
29367  ( vertexOffset == rhs.vertexOffset ) && ( firstInstance == rhs.firstInstance );
29368 # endif
29369  }
29370 
29372  {
29373  return !operator==( rhs );
29374  }
29375 #endif
29376 
29377  public:
29378  uint32_t indexCount = {};
29379  uint32_t instanceCount = {};
29380  uint32_t firstIndex = {};
29381  int32_t vertexOffset = {};
29382  uint32_t firstInstance = {};
29383  };
29384 
29386  {
29388 
29389 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
29390  VULKAN_HPP_CONSTEXPR DrawIndirectCommand( uint32_t vertexCount_ = {},
29391  uint32_t instanceCount_ = {},
29392  uint32_t firstVertex_ = {},
29393  uint32_t firstInstance_ = {} ) VULKAN_HPP_NOEXCEPT
29394  : vertexCount( vertexCount_ )
29395  , instanceCount( instanceCount_ )
29396  , firstVertex( firstVertex_ )
29397  , firstInstance( firstInstance_ )
29398  {
29399  }
29400 
29401  VULKAN_HPP_CONSTEXPR DrawIndirectCommand( DrawIndirectCommand const & rhs ) VULKAN_HPP_NOEXCEPT = default;
29402 
29403  DrawIndirectCommand( VkDrawIndirectCommand const & rhs ) VULKAN_HPP_NOEXCEPT : DrawIndirectCommand( *reinterpret_cast<DrawIndirectCommand const *>( &rhs ) )
29404  {
29405  }
29406 
29407  DrawIndirectCommand & operator=( DrawIndirectCommand const & rhs ) VULKAN_HPP_NOEXCEPT = default;
29408 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
29409 
29411  {
29412  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DrawIndirectCommand const *>( &rhs );
29413  return *this;
29414  }
29415 
29416 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
29418  {
29419  vertexCount = vertexCount_;
29420  return *this;
29421  }
29422 
29424  {
29425  instanceCount = instanceCount_;
29426  return *this;
29427  }
29428 
29430  {
29431  firstVertex = firstVertex_;
29432  return *this;
29433  }
29434 
29436  {
29437  firstInstance = firstInstance_;
29438  return *this;
29439  }
29440 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
29441 
29443  {
29444  return *reinterpret_cast<const VkDrawIndirectCommand *>( this );
29445  }
29446 
29448  {
29449  return *reinterpret_cast<VkDrawIndirectCommand *>( this );
29450  }
29451 
29452 #if defined( VULKAN_HPP_USE_REFLECT )
29453 # if 14 <= VULKAN_HPP_CPP_VERSION
29454  auto
29455 # else
29456  std::tuple<uint32_t const &, uint32_t const &, uint32_t const &, uint32_t const &>
29457 # endif
29458  reflect() const VULKAN_HPP_NOEXCEPT
29459  {
29460  return std::tie( vertexCount, instanceCount, firstVertex, firstInstance );
29461  }
29462 #endif
29463 
29464 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
29465  auto operator<=>( DrawIndirectCommand const & ) const = default;
29466 #else
29468  {
29469 # if defined( VULKAN_HPP_USE_REFLECT )
29470  return this->reflect() == rhs.reflect();
29471 # else
29472  return ( vertexCount == rhs.vertexCount ) && ( instanceCount == rhs.instanceCount ) && ( firstVertex == rhs.firstVertex ) &&
29473  ( firstInstance == rhs.firstInstance );
29474 # endif
29475  }
29476 
29478  {
29479  return !operator==( rhs );
29480  }
29481 #endif
29482 
29483  public:
29484  uint32_t vertexCount = {};
29485  uint32_t instanceCount = {};
29486  uint32_t firstVertex = {};
29487  uint32_t firstInstance = {};
29488  };
29489 
29491  {
29493 
29494 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
29496  DrawMeshTasksIndirectCommandEXT( uint32_t groupCountX_ = {}, uint32_t groupCountY_ = {}, uint32_t groupCountZ_ = {} ) VULKAN_HPP_NOEXCEPT
29497  : groupCountX( groupCountX_ )
29498  , groupCountY( groupCountY_ )
29499  , groupCountZ( groupCountZ_ )
29500  {
29501  }
29502 
29503  VULKAN_HPP_CONSTEXPR DrawMeshTasksIndirectCommandEXT( DrawMeshTasksIndirectCommandEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
29504 
29506  : DrawMeshTasksIndirectCommandEXT( *reinterpret_cast<DrawMeshTasksIndirectCommandEXT const *>( &rhs ) )
29507  {
29508  }
29509 
29511 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
29512 
29514  {
29515  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DrawMeshTasksIndirectCommandEXT const *>( &rhs );
29516  return *this;
29517  }
29518 
29519 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
29521  {
29522  groupCountX = groupCountX_;
29523  return *this;
29524  }
29525 
29527  {
29528  groupCountY = groupCountY_;
29529  return *this;
29530  }
29531 
29533  {
29534  groupCountZ = groupCountZ_;
29535  return *this;
29536  }
29537 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
29538 
29540  {
29541  return *reinterpret_cast<const VkDrawMeshTasksIndirectCommandEXT *>( this );
29542  }
29543 
29545  {
29546  return *reinterpret_cast<VkDrawMeshTasksIndirectCommandEXT *>( this );
29547  }
29548 
29549 #if defined( VULKAN_HPP_USE_REFLECT )
29550 # if 14 <= VULKAN_HPP_CPP_VERSION
29551  auto
29552 # else
29553  std::tuple<uint32_t const &, uint32_t const &, uint32_t const &>
29554 # endif
29555  reflect() const VULKAN_HPP_NOEXCEPT
29556  {
29557  return std::tie( groupCountX, groupCountY, groupCountZ );
29558  }
29559 #endif
29560 
29561 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
29562  auto operator<=>( DrawMeshTasksIndirectCommandEXT const & ) const = default;
29563 #else
29565  {
29566 # if defined( VULKAN_HPP_USE_REFLECT )
29567  return this->reflect() == rhs.reflect();
29568 # else
29569  return ( groupCountX == rhs.groupCountX ) && ( groupCountY == rhs.groupCountY ) && ( groupCountZ == rhs.groupCountZ );
29570 # endif
29571  }
29572 
29574  {
29575  return !operator==( rhs );
29576  }
29577 #endif
29578 
29579  public:
29580  uint32_t groupCountX = {};
29581  uint32_t groupCountY = {};
29582  uint32_t groupCountZ = {};
29583  };
29584 
29586  {
29588 
29589 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
29590  VULKAN_HPP_CONSTEXPR DrawMeshTasksIndirectCommandNV( uint32_t taskCount_ = {}, uint32_t firstTask_ = {} ) VULKAN_HPP_NOEXCEPT
29591  : taskCount( taskCount_ )
29592  , firstTask( firstTask_ )
29593  {
29594  }
29595 
29596  VULKAN_HPP_CONSTEXPR DrawMeshTasksIndirectCommandNV( DrawMeshTasksIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
29597 
29599  : DrawMeshTasksIndirectCommandNV( *reinterpret_cast<DrawMeshTasksIndirectCommandNV const *>( &rhs ) )
29600  {
29601  }
29602 
29604 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
29605 
29607  {
29608  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DrawMeshTasksIndirectCommandNV const *>( &rhs );
29609  return *this;
29610  }
29611 
29612 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
29614  {
29615  taskCount = taskCount_;
29616  return *this;
29617  }
29618 
29620  {
29621  firstTask = firstTask_;
29622  return *this;
29623  }
29624 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
29625 
29627  {
29628  return *reinterpret_cast<const VkDrawMeshTasksIndirectCommandNV *>( this );
29629  }
29630 
29632  {
29633  return *reinterpret_cast<VkDrawMeshTasksIndirectCommandNV *>( this );
29634  }
29635 
29636 #if defined( VULKAN_HPP_USE_REFLECT )
29637 # if 14 <= VULKAN_HPP_CPP_VERSION
29638  auto
29639 # else
29640  std::tuple<uint32_t const &, uint32_t const &>
29641 # endif
29642  reflect() const VULKAN_HPP_NOEXCEPT
29643  {
29644  return std::tie( taskCount, firstTask );
29645  }
29646 #endif
29647 
29648 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
29649  auto operator<=>( DrawMeshTasksIndirectCommandNV const & ) const = default;
29650 #else
29652  {
29653 # if defined( VULKAN_HPP_USE_REFLECT )
29654  return this->reflect() == rhs.reflect();
29655 # else
29656  return ( taskCount == rhs.taskCount ) && ( firstTask == rhs.firstTask );
29657 # endif
29658  }
29659 
29661  {
29662  return !operator==( rhs );
29663  }
29664 #endif
29665 
29666  public:
29667  uint32_t taskCount = {};
29668  uint32_t firstTask = {};
29669  };
29670 
29672  {
29674 
29675 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
29676  VULKAN_HPP_CONSTEXPR DrmFormatModifierProperties2EXT( uint64_t drmFormatModifier_ = {},
29677  uint32_t drmFormatModifierPlaneCount_ = {},
29678  VULKAN_HPP_NAMESPACE::FormatFeatureFlags2 drmFormatModifierTilingFeatures_ = {} ) VULKAN_HPP_NOEXCEPT
29679  : drmFormatModifier( drmFormatModifier_ )
29680  , drmFormatModifierPlaneCount( drmFormatModifierPlaneCount_ )
29681  , drmFormatModifierTilingFeatures( drmFormatModifierTilingFeatures_ )
29682  {
29683  }
29684 
29685  VULKAN_HPP_CONSTEXPR DrmFormatModifierProperties2EXT( DrmFormatModifierProperties2EXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
29686 
29688  : DrmFormatModifierProperties2EXT( *reinterpret_cast<DrmFormatModifierProperties2EXT const *>( &rhs ) )
29689  {
29690  }
29691 
29693 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
29694 
29696  {
29697  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DrmFormatModifierProperties2EXT const *>( &rhs );
29698  return *this;
29699  }
29700 
29702  {
29703  return *reinterpret_cast<const VkDrmFormatModifierProperties2EXT *>( this );
29704  }
29705 
29707  {
29708  return *reinterpret_cast<VkDrmFormatModifierProperties2EXT *>( this );
29709  }
29710 
29711 #if defined( VULKAN_HPP_USE_REFLECT )
29712 # if 14 <= VULKAN_HPP_CPP_VERSION
29713  auto
29714 # else
29715  std::tuple<uint64_t const &, uint32_t const &, VULKAN_HPP_NAMESPACE::FormatFeatureFlags2 const &>
29716 # endif
29717  reflect() const VULKAN_HPP_NOEXCEPT
29718  {
29719  return std::tie( drmFormatModifier, drmFormatModifierPlaneCount, drmFormatModifierTilingFeatures );
29720  }
29721 #endif
29722 
29723 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
29724  auto operator<=>( DrmFormatModifierProperties2EXT const & ) const = default;
29725 #else
29727  {
29728 # if defined( VULKAN_HPP_USE_REFLECT )
29729  return this->reflect() == rhs.reflect();
29730 # else
29731  return ( drmFormatModifier == rhs.drmFormatModifier ) && ( drmFormatModifierPlaneCount == rhs.drmFormatModifierPlaneCount ) &&
29732  ( drmFormatModifierTilingFeatures == rhs.drmFormatModifierTilingFeatures );
29733 # endif
29734  }
29735 
29737  {
29738  return !operator==( rhs );
29739  }
29740 #endif
29741 
29742  public:
29743  uint64_t drmFormatModifier = {};
29744  uint32_t drmFormatModifierPlaneCount = {};
29745  VULKAN_HPP_NAMESPACE::FormatFeatureFlags2 drmFormatModifierTilingFeatures = {};
29746  };
29747 
29749  {
29751 
29752 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
29753  VULKAN_HPP_CONSTEXPR DrmFormatModifierPropertiesEXT( uint64_t drmFormatModifier_ = {},
29754  uint32_t drmFormatModifierPlaneCount_ = {},
29755  VULKAN_HPP_NAMESPACE::FormatFeatureFlags drmFormatModifierTilingFeatures_ = {} ) VULKAN_HPP_NOEXCEPT
29756  : drmFormatModifier( drmFormatModifier_ )
29757  , drmFormatModifierPlaneCount( drmFormatModifierPlaneCount_ )
29758  , drmFormatModifierTilingFeatures( drmFormatModifierTilingFeatures_ )
29759  {
29760  }
29761 
29762  VULKAN_HPP_CONSTEXPR DrmFormatModifierPropertiesEXT( DrmFormatModifierPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
29763 
29765  : DrmFormatModifierPropertiesEXT( *reinterpret_cast<DrmFormatModifierPropertiesEXT const *>( &rhs ) )
29766  {
29767  }
29768 
29770 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
29771 
29773  {
29774  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesEXT const *>( &rhs );
29775  return *this;
29776  }
29777 
29779  {
29780  return *reinterpret_cast<const VkDrmFormatModifierPropertiesEXT *>( this );
29781  }
29782 
29784  {
29785  return *reinterpret_cast<VkDrmFormatModifierPropertiesEXT *>( this );
29786  }
29787 
29788 #if defined( VULKAN_HPP_USE_REFLECT )
29789 # if 14 <= VULKAN_HPP_CPP_VERSION
29790  auto
29791 # else
29792  std::tuple<uint64_t const &, uint32_t const &, VULKAN_HPP_NAMESPACE::FormatFeatureFlags const &>
29793 # endif
29794  reflect() const VULKAN_HPP_NOEXCEPT
29795  {
29796  return std::tie( drmFormatModifier, drmFormatModifierPlaneCount, drmFormatModifierTilingFeatures );
29797  }
29798 #endif
29799 
29800 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
29801  auto operator<=>( DrmFormatModifierPropertiesEXT const & ) const = default;
29802 #else
29804  {
29805 # if defined( VULKAN_HPP_USE_REFLECT )
29806  return this->reflect() == rhs.reflect();
29807 # else
29808  return ( drmFormatModifier == rhs.drmFormatModifier ) && ( drmFormatModifierPlaneCount == rhs.drmFormatModifierPlaneCount ) &&
29809  ( drmFormatModifierTilingFeatures == rhs.drmFormatModifierTilingFeatures );
29810 # endif
29811  }
29812 
29814  {
29815  return !operator==( rhs );
29816  }
29817 #endif
29818 
29819  public:
29820  uint64_t drmFormatModifier = {};
29821  uint32_t drmFormatModifierPlaneCount = {};
29822  VULKAN_HPP_NAMESPACE::FormatFeatureFlags drmFormatModifierTilingFeatures = {};
29823  };
29824 
29826  {
29828 
29829  static const bool allowDuplicate = false;
29830  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDrmFormatModifierPropertiesList2EXT;
29831 
29832 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
29833  VULKAN_HPP_CONSTEXPR DrmFormatModifierPropertiesList2EXT( uint32_t drmFormatModifierCount_ = {},
29834  VULKAN_HPP_NAMESPACE::DrmFormatModifierProperties2EXT * pDrmFormatModifierProperties_ = {},
29835  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
29836  : pNext( pNext_ )
29837  , drmFormatModifierCount( drmFormatModifierCount_ )
29838  , pDrmFormatModifierProperties( pDrmFormatModifierProperties_ )
29839  {
29840  }
29841 
29842  VULKAN_HPP_CONSTEXPR DrmFormatModifierPropertiesList2EXT( DrmFormatModifierPropertiesList2EXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
29843 
29845  : DrmFormatModifierPropertiesList2EXT( *reinterpret_cast<DrmFormatModifierPropertiesList2EXT const *>( &rhs ) )
29846  {
29847  }
29848 
29849 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
29852  void * pNext_ = nullptr )
29853  : pNext( pNext_ )
29854  , drmFormatModifierCount( static_cast<uint32_t>( drmFormatModifierProperties_.size() ) )
29855  , pDrmFormatModifierProperties( drmFormatModifierProperties_.data() )
29856  {
29857  }
29858 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29859 
29861 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
29862 
29864  {
29865  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesList2EXT const *>( &rhs );
29866  return *this;
29867  }
29868 
29870  {
29871  return *reinterpret_cast<const VkDrmFormatModifierPropertiesList2EXT *>( this );
29872  }
29873 
29875  {
29876  return *reinterpret_cast<VkDrmFormatModifierPropertiesList2EXT *>( this );
29877  }
29878 
29879 #if defined( VULKAN_HPP_USE_REFLECT )
29880 # if 14 <= VULKAN_HPP_CPP_VERSION
29881  auto
29882 # else
29883  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, uint32_t const &, VULKAN_HPP_NAMESPACE::DrmFormatModifierProperties2EXT * const &>
29884 # endif
29885  reflect() const VULKAN_HPP_NOEXCEPT
29886  {
29887  return std::tie( sType, pNext, drmFormatModifierCount, pDrmFormatModifierProperties );
29888  }
29889 #endif
29890 
29891 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
29892  auto operator<=>( DrmFormatModifierPropertiesList2EXT const & ) const = default;
29893 #else
29895  {
29896 # if defined( VULKAN_HPP_USE_REFLECT )
29897  return this->reflect() == rhs.reflect();
29898 # else
29899  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( drmFormatModifierCount == rhs.drmFormatModifierCount ) &&
29900  ( pDrmFormatModifierProperties == rhs.pDrmFormatModifierProperties );
29901 # endif
29902  }
29903 
29905  {
29906  return !operator==( rhs );
29907  }
29908 #endif
29909 
29910  public:
29911  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDrmFormatModifierPropertiesList2EXT;
29912  void * pNext = {};
29913  uint32_t drmFormatModifierCount = {};
29914  VULKAN_HPP_NAMESPACE::DrmFormatModifierProperties2EXT * pDrmFormatModifierProperties = {};
29915  };
29916 
29917  template <>
29919  {
29921  };
29922 
29924  {
29926 
29927  static const bool allowDuplicate = false;
29928  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDrmFormatModifierPropertiesListEXT;
29929 
29930 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
29931  VULKAN_HPP_CONSTEXPR DrmFormatModifierPropertiesListEXT( uint32_t drmFormatModifierCount_ = {},
29932  VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesEXT * pDrmFormatModifierProperties_ = {},
29933  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
29934  : pNext( pNext_ )
29935  , drmFormatModifierCount( drmFormatModifierCount_ )
29936  , pDrmFormatModifierProperties( pDrmFormatModifierProperties_ )
29937  {
29938  }
29939 
29940  VULKAN_HPP_CONSTEXPR DrmFormatModifierPropertiesListEXT( DrmFormatModifierPropertiesListEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
29941 
29943  : DrmFormatModifierPropertiesListEXT( *reinterpret_cast<DrmFormatModifierPropertiesListEXT const *>( &rhs ) )
29944  {
29945  }
29946 
29947 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
29950  void * pNext_ = nullptr )
29951  : pNext( pNext_ )
29952  , drmFormatModifierCount( static_cast<uint32_t>( drmFormatModifierProperties_.size() ) )
29953  , pDrmFormatModifierProperties( drmFormatModifierProperties_.data() )
29954  {
29955  }
29956 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
29957 
29959 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
29960 
29962  {
29963  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesListEXT const *>( &rhs );
29964  return *this;
29965  }
29966 
29968  {
29969  return *reinterpret_cast<const VkDrmFormatModifierPropertiesListEXT *>( this );
29970  }
29971 
29973  {
29974  return *reinterpret_cast<VkDrmFormatModifierPropertiesListEXT *>( this );
29975  }
29976 
29977 #if defined( VULKAN_HPP_USE_REFLECT )
29978 # if 14 <= VULKAN_HPP_CPP_VERSION
29979  auto
29980 # else
29981  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, uint32_t const &, VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesEXT * const &>
29982 # endif
29983  reflect() const VULKAN_HPP_NOEXCEPT
29984  {
29985  return std::tie( sType, pNext, drmFormatModifierCount, pDrmFormatModifierProperties );
29986  }
29987 #endif
29988 
29989 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
29990  auto operator<=>( DrmFormatModifierPropertiesListEXT const & ) const = default;
29991 #else
29993  {
29994 # if defined( VULKAN_HPP_USE_REFLECT )
29995  return this->reflect() == rhs.reflect();
29996 # else
29997  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( drmFormatModifierCount == rhs.drmFormatModifierCount ) &&
29998  ( pDrmFormatModifierProperties == rhs.pDrmFormatModifierProperties );
29999 # endif
30000  }
30001 
30003  {
30004  return !operator==( rhs );
30005  }
30006 #endif
30007 
30008  public:
30009  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDrmFormatModifierPropertiesListEXT;
30010  void * pNext = {};
30011  uint32_t drmFormatModifierCount = {};
30012  VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesEXT * pDrmFormatModifierProperties = {};
30013  };
30014 
30015  template <>
30017  {
30019  };
30020 
30022  {
30024 
30025  static const bool allowDuplicate = false;
30026  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eEventCreateInfo;
30027 
30028 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
30030  : pNext( pNext_ )
30031  , flags( flags_ )
30032  {
30033  }
30034 
30035  VULKAN_HPP_CONSTEXPR EventCreateInfo( EventCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
30036 
30037  EventCreateInfo( VkEventCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : EventCreateInfo( *reinterpret_cast<EventCreateInfo const *>( &rhs ) ) {}
30038 
30039  EventCreateInfo & operator=( EventCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
30040 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
30041 
30043  {
30044  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::EventCreateInfo const *>( &rhs );
30045  return *this;
30046  }
30047 
30048 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
30050  {
30051  pNext = pNext_;
30052  return *this;
30053  }
30054 
30056  {
30057  flags = flags_;
30058  return *this;
30059  }
30060 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
30061 
30062  operator VkEventCreateInfo const &() const VULKAN_HPP_NOEXCEPT
30063  {
30064  return *reinterpret_cast<const VkEventCreateInfo *>( this );
30065  }
30066 
30068  {
30069  return *reinterpret_cast<VkEventCreateInfo *>( this );
30070  }
30071 
30072 #if defined( VULKAN_HPP_USE_REFLECT )
30073 # if 14 <= VULKAN_HPP_CPP_VERSION
30074  auto
30075 # else
30076  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::EventCreateFlags const &>
30077 # endif
30078  reflect() const VULKAN_HPP_NOEXCEPT
30079  {
30080  return std::tie( sType, pNext, flags );
30081  }
30082 #endif
30083 
30084 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
30085  auto operator<=>( EventCreateInfo const & ) const = default;
30086 #else
30088  {
30089 # if defined( VULKAN_HPP_USE_REFLECT )
30090  return this->reflect() == rhs.reflect();
30091 # else
30092  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags );
30093 # endif
30094  }
30095 
30097  {
30098  return !operator==( rhs );
30099  }
30100 #endif
30101 
30102  public:
30103  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eEventCreateInfo;
30104  const void * pNext = {};
30106  };
30107 
30108  template <>
30110  {
30112  };
30113 
30115  {
30117 
30118  static const bool allowDuplicate = false;
30119  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportFenceCreateInfo;
30120 
30121 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
30123  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
30124  : pNext( pNext_ )
30125  , handleTypes( handleTypes_ )
30126  {
30127  }
30128 
30129  VULKAN_HPP_CONSTEXPR ExportFenceCreateInfo( ExportFenceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
30130 
30132  : ExportFenceCreateInfo( *reinterpret_cast<ExportFenceCreateInfo const *>( &rhs ) )
30133  {
30134  }
30135 
30136  ExportFenceCreateInfo & operator=( ExportFenceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
30137 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
30138 
30140  {
30141  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExportFenceCreateInfo const *>( &rhs );
30142  return *this;
30143  }
30144 
30145 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
30147  {
30148  pNext = pNext_;
30149  return *this;
30150  }
30151 
30153  {
30154  handleTypes = handleTypes_;
30155  return *this;
30156  }
30157 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
30158 
30160  {
30161  return *reinterpret_cast<const VkExportFenceCreateInfo *>( this );
30162  }
30163 
30165  {
30166  return *reinterpret_cast<VkExportFenceCreateInfo *>( this );
30167  }
30168 
30169 #if defined( VULKAN_HPP_USE_REFLECT )
30170 # if 14 <= VULKAN_HPP_CPP_VERSION
30171  auto
30172 # else
30173  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlags const &>
30174 # endif
30175  reflect() const VULKAN_HPP_NOEXCEPT
30176  {
30177  return std::tie( sType, pNext, handleTypes );
30178  }
30179 #endif
30180 
30181 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
30182  auto operator<=>( ExportFenceCreateInfo const & ) const = default;
30183 #else
30185  {
30186 # if defined( VULKAN_HPP_USE_REFLECT )
30187  return this->reflect() == rhs.reflect();
30188 # else
30189  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( handleTypes == rhs.handleTypes );
30190 # endif
30191  }
30192 
30194  {
30195  return !operator==( rhs );
30196  }
30197 #endif
30198 
30199  public:
30200  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eExportFenceCreateInfo;
30201  const void * pNext = {};
30203  };
30204 
30205  template <>
30207  {
30209  };
30211 
30212 #if defined( VK_USE_PLATFORM_WIN32_KHR )
30213  struct ExportFenceWin32HandleInfoKHR
30214  {
30215  using NativeType = VkExportFenceWin32HandleInfoKHR;
30216 
30217  static const bool allowDuplicate = false;
30218  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportFenceWin32HandleInfoKHR;
30219 
30220 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
30221  VULKAN_HPP_CONSTEXPR ExportFenceWin32HandleInfoKHR( const SECURITY_ATTRIBUTES * pAttributes_ = {},
30222  DWORD dwAccess_ = {},
30223  LPCWSTR name_ = {},
30224  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
30225  : pNext( pNext_ )
30226  , pAttributes( pAttributes_ )
30227  , dwAccess( dwAccess_ )
30228  , name( name_ )
30229  {
30230  }
30231 
30232  VULKAN_HPP_CONSTEXPR ExportFenceWin32HandleInfoKHR( ExportFenceWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
30233 
30234  ExportFenceWin32HandleInfoKHR( VkExportFenceWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
30235  : ExportFenceWin32HandleInfoKHR( *reinterpret_cast<ExportFenceWin32HandleInfoKHR const *>( &rhs ) )
30236  {
30237  }
30238 
30239  ExportFenceWin32HandleInfoKHR & operator=( ExportFenceWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
30240 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
30241 
30242  ExportFenceWin32HandleInfoKHR & operator=( VkExportFenceWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
30243  {
30244  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExportFenceWin32HandleInfoKHR const *>( &rhs );
30245  return *this;
30246  }
30247 
30248 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
30249  VULKAN_HPP_CONSTEXPR_14 ExportFenceWin32HandleInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
30250  {
30251  pNext = pNext_;
30252  return *this;
30253  }
30254 
30255  VULKAN_HPP_CONSTEXPR_14 ExportFenceWin32HandleInfoKHR & setPAttributes( const SECURITY_ATTRIBUTES * pAttributes_ ) VULKAN_HPP_NOEXCEPT
30256  {
30257  pAttributes = pAttributes_;
30258  return *this;
30259  }
30260 
30261  VULKAN_HPP_CONSTEXPR_14 ExportFenceWin32HandleInfoKHR & setDwAccess( DWORD dwAccess_ ) VULKAN_HPP_NOEXCEPT
30262  {
30263  dwAccess = dwAccess_;
30264  return *this;
30265  }
30266 
30267  VULKAN_HPP_CONSTEXPR_14 ExportFenceWin32HandleInfoKHR & setName( LPCWSTR name_ ) VULKAN_HPP_NOEXCEPT
30268  {
30269  name = name_;
30270  return *this;
30271  }
30272 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
30273 
30274  operator VkExportFenceWin32HandleInfoKHR const &() const VULKAN_HPP_NOEXCEPT
30275  {
30276  return *reinterpret_cast<const VkExportFenceWin32HandleInfoKHR *>( this );
30277  }
30278 
30280  {
30281  return *reinterpret_cast<VkExportFenceWin32HandleInfoKHR *>( this );
30282  }
30283 
30284 # if defined( VULKAN_HPP_USE_REFLECT )
30285 # if 14 <= VULKAN_HPP_CPP_VERSION
30286  auto
30287 # else
30288  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, const SECURITY_ATTRIBUTES * const &, DWORD const &, LPCWSTR const &>
30289 # endif
30290  reflect() const VULKAN_HPP_NOEXCEPT
30291  {
30292  return std::tie( sType, pNext, pAttributes, dwAccess, name );
30293  }
30294 # endif
30295 
30296 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
30297  auto operator<=>( ExportFenceWin32HandleInfoKHR const & ) const = default;
30298 # else
30299  bool operator==( ExportFenceWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
30300  {
30301 # if defined( VULKAN_HPP_USE_REFLECT )
30302  return this->reflect() == rhs.reflect();
30303 # else
30304  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pAttributes == rhs.pAttributes ) && ( dwAccess == rhs.dwAccess ) && ( name == rhs.name );
30305 # endif
30306  }
30307 
30308  bool operator!=( ExportFenceWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
30309  {
30310  return !operator==( rhs );
30311  }
30312 # endif
30313 
30314  public:
30315  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eExportFenceWin32HandleInfoKHR;
30316  const void * pNext = {};
30317  const SECURITY_ATTRIBUTES * pAttributes = {};
30318  DWORD dwAccess = {};
30319  LPCWSTR name = {};
30320  };
30321 
30322  template <>
30323  struct CppType<StructureType, StructureType::eExportFenceWin32HandleInfoKHR>
30324  {
30325  using Type = ExportFenceWin32HandleInfoKHR;
30326  };
30327 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
30328 
30330  {
30332 
30333  static const bool allowDuplicate = false;
30334  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportMemoryAllocateInfo;
30335 
30336 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
30338  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
30339  : pNext( pNext_ )
30340  , handleTypes( handleTypes_ )
30341  {
30342  }
30343 
30344  VULKAN_HPP_CONSTEXPR ExportMemoryAllocateInfo( ExportMemoryAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
30345 
30347  : ExportMemoryAllocateInfo( *reinterpret_cast<ExportMemoryAllocateInfo const *>( &rhs ) )
30348  {
30349  }
30350 
30351  ExportMemoryAllocateInfo & operator=( ExportMemoryAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
30352 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
30353 
30355  {
30356  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExportMemoryAllocateInfo const *>( &rhs );
30357  return *this;
30358  }
30359 
30360 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
30362  {
30363  pNext = pNext_;
30364  return *this;
30365  }
30366 
30368  {
30369  handleTypes = handleTypes_;
30370  return *this;
30371  }
30372 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
30373 
30375  {
30376  return *reinterpret_cast<const VkExportMemoryAllocateInfo *>( this );
30377  }
30378 
30380  {
30381  return *reinterpret_cast<VkExportMemoryAllocateInfo *>( this );
30382  }
30383 
30384 #if defined( VULKAN_HPP_USE_REFLECT )
30385 # if 14 <= VULKAN_HPP_CPP_VERSION
30386  auto
30387 # else
30388  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags const &>
30389 # endif
30390  reflect() const VULKAN_HPP_NOEXCEPT
30391  {
30392  return std::tie( sType, pNext, handleTypes );
30393  }
30394 #endif
30395 
30396 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
30397  auto operator<=>( ExportMemoryAllocateInfo const & ) const = default;
30398 #else
30400  {
30401 # if defined( VULKAN_HPP_USE_REFLECT )
30402  return this->reflect() == rhs.reflect();
30403 # else
30404  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( handleTypes == rhs.handleTypes );
30405 # endif
30406  }
30407 
30409  {
30410  return !operator==( rhs );
30411  }
30412 #endif
30413 
30414  public:
30415  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eExportMemoryAllocateInfo;
30416  const void * pNext = {};
30418  };
30419 
30420  template <>
30422  {
30424  };
30426 
30428  {
30430 
30431  static const bool allowDuplicate = false;
30432  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportMemoryAllocateInfoNV;
30433 
30434 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
30436  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
30437  : pNext( pNext_ )
30438  , handleTypes( handleTypes_ )
30439  {
30440  }
30441 
30442  VULKAN_HPP_CONSTEXPR ExportMemoryAllocateInfoNV( ExportMemoryAllocateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
30443 
30445  : ExportMemoryAllocateInfoNV( *reinterpret_cast<ExportMemoryAllocateInfoNV const *>( &rhs ) )
30446  {
30447  }
30448 
30449  ExportMemoryAllocateInfoNV & operator=( ExportMemoryAllocateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
30450 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
30451 
30453  {
30454  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExportMemoryAllocateInfoNV const *>( &rhs );
30455  return *this;
30456  }
30457 
30458 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
30460  {
30461  pNext = pNext_;
30462  return *this;
30463  }
30464 
30467  {
30468  handleTypes = handleTypes_;
30469  return *this;
30470  }
30471 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
30472 
30474  {
30475  return *reinterpret_cast<const VkExportMemoryAllocateInfoNV *>( this );
30476  }
30477 
30479  {
30480  return *reinterpret_cast<VkExportMemoryAllocateInfoNV *>( this );
30481  }
30482 
30483 #if defined( VULKAN_HPP_USE_REFLECT )
30484 # if 14 <= VULKAN_HPP_CPP_VERSION
30485  auto
30486 # else
30487  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV const &>
30488 # endif
30489  reflect() const VULKAN_HPP_NOEXCEPT
30490  {
30491  return std::tie( sType, pNext, handleTypes );
30492  }
30493 #endif
30494 
30495 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
30496  auto operator<=>( ExportMemoryAllocateInfoNV const & ) const = default;
30497 #else
30499  {
30500 # if defined( VULKAN_HPP_USE_REFLECT )
30501  return this->reflect() == rhs.reflect();
30502 # else
30503  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( handleTypes == rhs.handleTypes );
30504 # endif
30505  }
30506 
30508  {
30509  return !operator==( rhs );
30510  }
30511 #endif
30512 
30513  public:
30514  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eExportMemoryAllocateInfoNV;
30515  const void * pNext = {};
30517  };
30518 
30519  template <>
30521  {
30523  };
30524 
30525 #if defined( VK_USE_PLATFORM_WIN32_KHR )
30526  struct ExportMemoryWin32HandleInfoKHR
30527  {
30528  using NativeType = VkExportMemoryWin32HandleInfoKHR;
30529 
30530  static const bool allowDuplicate = false;
30531  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportMemoryWin32HandleInfoKHR;
30532 
30533 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
30534  VULKAN_HPP_CONSTEXPR ExportMemoryWin32HandleInfoKHR( const SECURITY_ATTRIBUTES * pAttributes_ = {},
30535  DWORD dwAccess_ = {},
30536  LPCWSTR name_ = {},
30537  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
30538  : pNext( pNext_ )
30539  , pAttributes( pAttributes_ )
30540  , dwAccess( dwAccess_ )
30541  , name( name_ )
30542  {
30543  }
30544 
30545  VULKAN_HPP_CONSTEXPR ExportMemoryWin32HandleInfoKHR( ExportMemoryWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
30546 
30547  ExportMemoryWin32HandleInfoKHR( VkExportMemoryWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
30548  : ExportMemoryWin32HandleInfoKHR( *reinterpret_cast<ExportMemoryWin32HandleInfoKHR const *>( &rhs ) )
30549  {
30550  }
30551 
30552  ExportMemoryWin32HandleInfoKHR & operator=( ExportMemoryWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
30553 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
30554 
30555  ExportMemoryWin32HandleInfoKHR & operator=( VkExportMemoryWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
30556  {
30557  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExportMemoryWin32HandleInfoKHR const *>( &rhs );
30558  return *this;
30559  }
30560 
30561 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
30562  VULKAN_HPP_CONSTEXPR_14 ExportMemoryWin32HandleInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
30563  {
30564  pNext = pNext_;
30565  return *this;
30566  }
30567 
30568  VULKAN_HPP_CONSTEXPR_14 ExportMemoryWin32HandleInfoKHR & setPAttributes( const SECURITY_ATTRIBUTES * pAttributes_ ) VULKAN_HPP_NOEXCEPT
30569  {
30570  pAttributes = pAttributes_;
30571  return *this;
30572  }
30573 
30574  VULKAN_HPP_CONSTEXPR_14 ExportMemoryWin32HandleInfoKHR & setDwAccess( DWORD dwAccess_ ) VULKAN_HPP_NOEXCEPT
30575  {
30576  dwAccess = dwAccess_;
30577  return *this;
30578  }
30579 
30580  VULKAN_HPP_CONSTEXPR_14 ExportMemoryWin32HandleInfoKHR & setName( LPCWSTR name_ ) VULKAN_HPP_NOEXCEPT
30581  {
30582  name = name_;
30583  return *this;
30584  }
30585 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
30586 
30587  operator VkExportMemoryWin32HandleInfoKHR const &() const VULKAN_HPP_NOEXCEPT
30588  {
30589  return *reinterpret_cast<const VkExportMemoryWin32HandleInfoKHR *>( this );
30590  }
30591 
30593  {
30594  return *reinterpret_cast<VkExportMemoryWin32HandleInfoKHR *>( this );
30595  }
30596 
30597 # if defined( VULKAN_HPP_USE_REFLECT )
30598 # if 14 <= VULKAN_HPP_CPP_VERSION
30599  auto
30600 # else
30601  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, const SECURITY_ATTRIBUTES * const &, DWORD const &, LPCWSTR const &>
30602 # endif
30603  reflect() const VULKAN_HPP_NOEXCEPT
30604  {
30605  return std::tie( sType, pNext, pAttributes, dwAccess, name );
30606  }
30607 # endif
30608 
30609 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
30610  auto operator<=>( ExportMemoryWin32HandleInfoKHR const & ) const = default;
30611 # else
30612  bool operator==( ExportMemoryWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
30613  {
30614 # if defined( VULKAN_HPP_USE_REFLECT )
30615  return this->reflect() == rhs.reflect();
30616 # else
30617  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pAttributes == rhs.pAttributes ) && ( dwAccess == rhs.dwAccess ) && ( name == rhs.name );
30618 # endif
30619  }
30620 
30621  bool operator!=( ExportMemoryWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
30622  {
30623  return !operator==( rhs );
30624  }
30625 # endif
30626 
30627  public:
30628  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eExportMemoryWin32HandleInfoKHR;
30629  const void * pNext = {};
30630  const SECURITY_ATTRIBUTES * pAttributes = {};
30631  DWORD dwAccess = {};
30632  LPCWSTR name = {};
30633  };
30634 
30635  template <>
30636  struct CppType<StructureType, StructureType::eExportMemoryWin32HandleInfoKHR>
30637  {
30638  using Type = ExportMemoryWin32HandleInfoKHR;
30639  };
30640 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
30641 
30642 #if defined( VK_USE_PLATFORM_WIN32_KHR )
30643  struct ExportMemoryWin32HandleInfoNV
30644  {
30645  using NativeType = VkExportMemoryWin32HandleInfoNV;
30646 
30647  static const bool allowDuplicate = false;
30648  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportMemoryWin32HandleInfoNV;
30649 
30650 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
30652  ExportMemoryWin32HandleInfoNV( const SECURITY_ATTRIBUTES * pAttributes_ = {}, DWORD dwAccess_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
30653  : pNext( pNext_ )
30654  , pAttributes( pAttributes_ )
30655  , dwAccess( dwAccess_ )
30656  {
30657  }
30658 
30659  VULKAN_HPP_CONSTEXPR ExportMemoryWin32HandleInfoNV( ExportMemoryWin32HandleInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
30660 
30661  ExportMemoryWin32HandleInfoNV( VkExportMemoryWin32HandleInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
30662  : ExportMemoryWin32HandleInfoNV( *reinterpret_cast<ExportMemoryWin32HandleInfoNV const *>( &rhs ) )
30663  {
30664  }
30665 
30666  ExportMemoryWin32HandleInfoNV & operator=( ExportMemoryWin32HandleInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
30667 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
30668 
30669  ExportMemoryWin32HandleInfoNV & operator=( VkExportMemoryWin32HandleInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
30670  {
30671  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExportMemoryWin32HandleInfoNV const *>( &rhs );
30672  return *this;
30673  }
30674 
30675 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
30676  VULKAN_HPP_CONSTEXPR_14 ExportMemoryWin32HandleInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
30677  {
30678  pNext = pNext_;
30679  return *this;
30680  }
30681 
30682  VULKAN_HPP_CONSTEXPR_14 ExportMemoryWin32HandleInfoNV & setPAttributes( const SECURITY_ATTRIBUTES * pAttributes_ ) VULKAN_HPP_NOEXCEPT
30683  {
30684  pAttributes = pAttributes_;
30685  return *this;
30686  }
30687 
30688  VULKAN_HPP_CONSTEXPR_14 ExportMemoryWin32HandleInfoNV & setDwAccess( DWORD dwAccess_ ) VULKAN_HPP_NOEXCEPT
30689  {
30690  dwAccess = dwAccess_;
30691  return *this;
30692  }
30693 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
30694 
30695  operator VkExportMemoryWin32HandleInfoNV const &() const VULKAN_HPP_NOEXCEPT
30696  {
30697  return *reinterpret_cast<const VkExportMemoryWin32HandleInfoNV *>( this );
30698  }
30699 
30701  {
30702  return *reinterpret_cast<VkExportMemoryWin32HandleInfoNV *>( this );
30703  }
30704 
30705 # if defined( VULKAN_HPP_USE_REFLECT )
30706 # if 14 <= VULKAN_HPP_CPP_VERSION
30707  auto
30708 # else
30709  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, const SECURITY_ATTRIBUTES * const &, DWORD const &>
30710 # endif
30711  reflect() const VULKAN_HPP_NOEXCEPT
30712  {
30713  return std::tie( sType, pNext, pAttributes, dwAccess );
30714  }
30715 # endif
30716 
30717 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
30718  auto operator<=>( ExportMemoryWin32HandleInfoNV const & ) const = default;
30719 # else
30720  bool operator==( ExportMemoryWin32HandleInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
30721  {
30722 # if defined( VULKAN_HPP_USE_REFLECT )
30723  return this->reflect() == rhs.reflect();
30724 # else
30725  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pAttributes == rhs.pAttributes ) && ( dwAccess == rhs.dwAccess );
30726 # endif
30727  }
30728 
30729  bool operator!=( ExportMemoryWin32HandleInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
30730  {
30731  return !operator==( rhs );
30732  }
30733 # endif
30734 
30735  public:
30736  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eExportMemoryWin32HandleInfoNV;
30737  const void * pNext = {};
30738  const SECURITY_ATTRIBUTES * pAttributes = {};
30739  DWORD dwAccess = {};
30740  };
30741 
30742  template <>
30743  struct CppType<StructureType, StructureType::eExportMemoryWin32HandleInfoNV>
30744  {
30745  using Type = ExportMemoryWin32HandleInfoNV;
30746  };
30747 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
30748 
30749 #if defined( VK_USE_PLATFORM_METAL_EXT )
30750  struct ExportMetalBufferInfoEXT
30751  {
30752  using NativeType = VkExportMetalBufferInfoEXT;
30753 
30754  static const bool allowDuplicate = true;
30755  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportMetalBufferInfoEXT;
30756 
30757 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
30758  VULKAN_HPP_CONSTEXPR ExportMetalBufferInfoEXT( VULKAN_HPP_NAMESPACE::DeviceMemory memory_ = {},
30759  MTLBuffer_id mtlBuffer_ = {},
30760  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
30761  : pNext( pNext_ )
30762  , memory( memory_ )
30763  , mtlBuffer( mtlBuffer_ )
30764  {
30765  }
30766 
30767  VULKAN_HPP_CONSTEXPR ExportMetalBufferInfoEXT( ExportMetalBufferInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
30768 
30769  ExportMetalBufferInfoEXT( VkExportMetalBufferInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
30770  : ExportMetalBufferInfoEXT( *reinterpret_cast<ExportMetalBufferInfoEXT const *>( &rhs ) )
30771  {
30772  }
30773 
30774  ExportMetalBufferInfoEXT & operator=( ExportMetalBufferInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
30775 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
30776 
30777  ExportMetalBufferInfoEXT & operator=( VkExportMetalBufferInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
30778  {
30779  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExportMetalBufferInfoEXT const *>( &rhs );
30780  return *this;
30781  }
30782 
30783 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
30784  VULKAN_HPP_CONSTEXPR_14 ExportMetalBufferInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
30785  {
30786  pNext = pNext_;
30787  return *this;
30788  }
30789 
30790  VULKAN_HPP_CONSTEXPR_14 ExportMetalBufferInfoEXT & setMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory_ ) VULKAN_HPP_NOEXCEPT
30791  {
30792  memory = memory_;
30793  return *this;
30794  }
30795 
30796  VULKAN_HPP_CONSTEXPR_14 ExportMetalBufferInfoEXT & setMtlBuffer( MTLBuffer_id mtlBuffer_ ) VULKAN_HPP_NOEXCEPT
30797  {
30798  mtlBuffer = mtlBuffer_;
30799  return *this;
30800  }
30801 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
30802 
30803  operator VkExportMetalBufferInfoEXT const &() const VULKAN_HPP_NOEXCEPT
30804  {
30805  return *reinterpret_cast<const VkExportMetalBufferInfoEXT *>( this );
30806  }
30807 
30809  {
30810  return *reinterpret_cast<VkExportMetalBufferInfoEXT *>( this );
30811  }
30812 
30813 # if defined( VULKAN_HPP_USE_REFLECT )
30814 # if 14 <= VULKAN_HPP_CPP_VERSION
30815  auto
30816 # else
30817  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::DeviceMemory const &, MTLBuffer_id const &>
30818 # endif
30819  reflect() const VULKAN_HPP_NOEXCEPT
30820  {
30821  return std::tie( sType, pNext, memory, mtlBuffer );
30822  }
30823 # endif
30824 
30825 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
30826  auto operator<=>( ExportMetalBufferInfoEXT const & ) const = default;
30827 # else
30828  bool operator==( ExportMetalBufferInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
30829  {
30830 # if defined( VULKAN_HPP_USE_REFLECT )
30831  return this->reflect() == rhs.reflect();
30832 # else
30833  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memory == rhs.memory ) && ( mtlBuffer == rhs.mtlBuffer );
30834 # endif
30835  }
30836 
30837  bool operator!=( ExportMetalBufferInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
30838  {
30839  return !operator==( rhs );
30840  }
30841 # endif
30842 
30843  public:
30844  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eExportMetalBufferInfoEXT;
30845  const void * pNext = {};
30847  MTLBuffer_id mtlBuffer = {};
30848  };
30849 
30850  template <>
30851  struct CppType<StructureType, StructureType::eExportMetalBufferInfoEXT>
30852  {
30853  using Type = ExportMetalBufferInfoEXT;
30854  };
30855 #endif /*VK_USE_PLATFORM_METAL_EXT*/
30856 
30857 #if defined( VK_USE_PLATFORM_METAL_EXT )
30858  struct ExportMetalCommandQueueInfoEXT
30859  {
30860  using NativeType = VkExportMetalCommandQueueInfoEXT;
30861 
30862  static const bool allowDuplicate = true;
30863  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportMetalCommandQueueInfoEXT;
30864 
30865 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
30866  VULKAN_HPP_CONSTEXPR ExportMetalCommandQueueInfoEXT( VULKAN_HPP_NAMESPACE::Queue queue_ = {},
30867  MTLCommandQueue_id mtlCommandQueue_ = {},
30868  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
30869  : pNext( pNext_ )
30870  , queue( queue_ )
30871  , mtlCommandQueue( mtlCommandQueue_ )
30872  {
30873  }
30874 
30875  VULKAN_HPP_CONSTEXPR ExportMetalCommandQueueInfoEXT( ExportMetalCommandQueueInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
30876 
30877  ExportMetalCommandQueueInfoEXT( VkExportMetalCommandQueueInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
30878  : ExportMetalCommandQueueInfoEXT( *reinterpret_cast<ExportMetalCommandQueueInfoEXT const *>( &rhs ) )
30879  {
30880  }
30881 
30882  ExportMetalCommandQueueInfoEXT & operator=( ExportMetalCommandQueueInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
30883 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
30884 
30885  ExportMetalCommandQueueInfoEXT & operator=( VkExportMetalCommandQueueInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
30886  {
30887  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExportMetalCommandQueueInfoEXT const *>( &rhs );
30888  return *this;
30889  }
30890 
30891 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
30892  VULKAN_HPP_CONSTEXPR_14 ExportMetalCommandQueueInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
30893  {
30894  pNext = pNext_;
30895  return *this;
30896  }
30897 
30898  VULKAN_HPP_CONSTEXPR_14 ExportMetalCommandQueueInfoEXT & setQueue( VULKAN_HPP_NAMESPACE::Queue queue_ ) VULKAN_HPP_NOEXCEPT
30899  {
30900  queue = queue_;
30901  return *this;
30902  }
30903 
30904  VULKAN_HPP_CONSTEXPR_14 ExportMetalCommandQueueInfoEXT & setMtlCommandQueue( MTLCommandQueue_id mtlCommandQueue_ ) VULKAN_HPP_NOEXCEPT
30905  {
30906  mtlCommandQueue = mtlCommandQueue_;
30907  return *this;
30908  }
30909 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
30910 
30911  operator VkExportMetalCommandQueueInfoEXT const &() const VULKAN_HPP_NOEXCEPT
30912  {
30913  return *reinterpret_cast<const VkExportMetalCommandQueueInfoEXT *>( this );
30914  }
30915 
30917  {
30918  return *reinterpret_cast<VkExportMetalCommandQueueInfoEXT *>( this );
30919  }
30920 
30921 # if defined( VULKAN_HPP_USE_REFLECT )
30922 # if 14 <= VULKAN_HPP_CPP_VERSION
30923  auto
30924 # else
30925  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::Queue const &, MTLCommandQueue_id const &>
30926 # endif
30927  reflect() const VULKAN_HPP_NOEXCEPT
30928  {
30929  return std::tie( sType, pNext, queue, mtlCommandQueue );
30930  }
30931 # endif
30932 
30933 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
30934  auto operator<=>( ExportMetalCommandQueueInfoEXT const & ) const = default;
30935 # else
30936  bool operator==( ExportMetalCommandQueueInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
30937  {
30938 # if defined( VULKAN_HPP_USE_REFLECT )
30939  return this->reflect() == rhs.reflect();
30940 # else
30941  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( queue == rhs.queue ) && ( mtlCommandQueue == rhs.mtlCommandQueue );
30942 # endif
30943  }
30944 
30945  bool operator!=( ExportMetalCommandQueueInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
30946  {
30947  return !operator==( rhs );
30948  }
30949 # endif
30950 
30951  public:
30952  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eExportMetalCommandQueueInfoEXT;
30953  const void * pNext = {};
30955  MTLCommandQueue_id mtlCommandQueue = {};
30956  };
30957 
30958  template <>
30959  struct CppType<StructureType, StructureType::eExportMetalCommandQueueInfoEXT>
30960  {
30961  using Type = ExportMetalCommandQueueInfoEXT;
30962  };
30963 #endif /*VK_USE_PLATFORM_METAL_EXT*/
30964 
30965 #if defined( VK_USE_PLATFORM_METAL_EXT )
30966  struct ExportMetalDeviceInfoEXT
30967  {
30968  using NativeType = VkExportMetalDeviceInfoEXT;
30969 
30970  static const bool allowDuplicate = false;
30971  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportMetalDeviceInfoEXT;
30972 
30973 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
30974  VULKAN_HPP_CONSTEXPR ExportMetalDeviceInfoEXT( MTLDevice_id mtlDevice_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
30975  : pNext( pNext_ )
30976  , mtlDevice( mtlDevice_ )
30977  {
30978  }
30979 
30980  VULKAN_HPP_CONSTEXPR ExportMetalDeviceInfoEXT( ExportMetalDeviceInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
30981 
30982  ExportMetalDeviceInfoEXT( VkExportMetalDeviceInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
30983  : ExportMetalDeviceInfoEXT( *reinterpret_cast<ExportMetalDeviceInfoEXT const *>( &rhs ) )
30984  {
30985  }
30986 
30987  ExportMetalDeviceInfoEXT & operator=( ExportMetalDeviceInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
30988 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
30989 
30990  ExportMetalDeviceInfoEXT & operator=( VkExportMetalDeviceInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
30991  {
30992  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExportMetalDeviceInfoEXT const *>( &rhs );
30993  return *this;
30994  }
30995 
30996 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
30997  VULKAN_HPP_CONSTEXPR_14 ExportMetalDeviceInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
30998  {
30999  pNext = pNext_;
31000  return *this;
31001  }
31002 
31003  VULKAN_HPP_CONSTEXPR_14 ExportMetalDeviceInfoEXT & setMtlDevice( MTLDevice_id mtlDevice_ ) VULKAN_HPP_NOEXCEPT
31004  {
31005  mtlDevice = mtlDevice_;
31006  return *this;
31007  }
31008 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
31009 
31010  operator VkExportMetalDeviceInfoEXT const &() const VULKAN_HPP_NOEXCEPT
31011  {
31012  return *reinterpret_cast<const VkExportMetalDeviceInfoEXT *>( this );
31013  }
31014 
31016  {
31017  return *reinterpret_cast<VkExportMetalDeviceInfoEXT *>( this );
31018  }
31019 
31020 # if defined( VULKAN_HPP_USE_REFLECT )
31021 # if 14 <= VULKAN_HPP_CPP_VERSION
31022  auto
31023 # else
31024  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, MTLDevice_id const &>
31025 # endif
31026  reflect() const VULKAN_HPP_NOEXCEPT
31027  {
31028  return std::tie( sType, pNext, mtlDevice );
31029  }
31030 # endif
31031 
31032 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
31033  auto operator<=>( ExportMetalDeviceInfoEXT const & ) const = default;
31034 # else
31035  bool operator==( ExportMetalDeviceInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
31036  {
31037 # if defined( VULKAN_HPP_USE_REFLECT )
31038  return this->reflect() == rhs.reflect();
31039 # else
31040  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( mtlDevice == rhs.mtlDevice );
31041 # endif
31042  }
31043 
31044  bool operator!=( ExportMetalDeviceInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
31045  {
31046  return !operator==( rhs );
31047  }
31048 # endif
31049 
31050  public:
31051  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eExportMetalDeviceInfoEXT;
31052  const void * pNext = {};
31053  MTLDevice_id mtlDevice = {};
31054  };
31055 
31056  template <>
31057  struct CppType<StructureType, StructureType::eExportMetalDeviceInfoEXT>
31058  {
31059  using Type = ExportMetalDeviceInfoEXT;
31060  };
31061 #endif /*VK_USE_PLATFORM_METAL_EXT*/
31062 
31063 #if defined( VK_USE_PLATFORM_METAL_EXT )
31064  struct ExportMetalIOSurfaceInfoEXT
31065  {
31066  using NativeType = VkExportMetalIOSurfaceInfoEXT;
31067 
31068  static const bool allowDuplicate = true;
31069  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportMetalIoSurfaceInfoEXT;
31070 
31071 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
31073  ExportMetalIOSurfaceInfoEXT( VULKAN_HPP_NAMESPACE::Image image_ = {}, IOSurfaceRef ioSurface_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
31074  : pNext( pNext_ )
31075  , image( image_ )
31076  , ioSurface( ioSurface_ )
31077  {
31078  }
31079 
31080  VULKAN_HPP_CONSTEXPR ExportMetalIOSurfaceInfoEXT( ExportMetalIOSurfaceInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
31081 
31082  ExportMetalIOSurfaceInfoEXT( VkExportMetalIOSurfaceInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
31083  : ExportMetalIOSurfaceInfoEXT( *reinterpret_cast<ExportMetalIOSurfaceInfoEXT const *>( &rhs ) )
31084  {
31085  }
31086 
31087  ExportMetalIOSurfaceInfoEXT & operator=( ExportMetalIOSurfaceInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
31088 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
31089 
31090  ExportMetalIOSurfaceInfoEXT & operator=( VkExportMetalIOSurfaceInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
31091  {
31092  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExportMetalIOSurfaceInfoEXT const *>( &rhs );
31093  return *this;
31094  }
31095 
31096 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
31097  VULKAN_HPP_CONSTEXPR_14 ExportMetalIOSurfaceInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
31098  {
31099  pNext = pNext_;
31100  return *this;
31101  }
31102 
31103  VULKAN_HPP_CONSTEXPR_14 ExportMetalIOSurfaceInfoEXT & setImage( VULKAN_HPP_NAMESPACE::Image image_ ) VULKAN_HPP_NOEXCEPT
31104  {
31105  image = image_;
31106  return *this;
31107  }
31108 
31109  VULKAN_HPP_CONSTEXPR_14 ExportMetalIOSurfaceInfoEXT & setIoSurface( IOSurfaceRef ioSurface_ ) VULKAN_HPP_NOEXCEPT
31110  {
31111  ioSurface = ioSurface_;
31112  return *this;
31113  }
31114 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
31115 
31116  operator VkExportMetalIOSurfaceInfoEXT const &() const VULKAN_HPP_NOEXCEPT
31117  {
31118  return *reinterpret_cast<const VkExportMetalIOSurfaceInfoEXT *>( this );
31119  }
31120 
31122  {
31123  return *reinterpret_cast<VkExportMetalIOSurfaceInfoEXT *>( this );
31124  }
31125 
31126 # if defined( VULKAN_HPP_USE_REFLECT )
31127 # if 14 <= VULKAN_HPP_CPP_VERSION
31128  auto
31129 # else
31130  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::Image const &, IOSurfaceRef const &>
31131 # endif
31132  reflect() const VULKAN_HPP_NOEXCEPT
31133  {
31134  return std::tie( sType, pNext, image, ioSurface );
31135  }
31136 # endif
31137 
31138 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
31139  auto operator<=>( ExportMetalIOSurfaceInfoEXT const & ) const = default;
31140 # else
31141  bool operator==( ExportMetalIOSurfaceInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
31142  {
31143 # if defined( VULKAN_HPP_USE_REFLECT )
31144  return this->reflect() == rhs.reflect();
31145 # else
31146  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( image == rhs.image ) && ( ioSurface == rhs.ioSurface );
31147 # endif
31148  }
31149 
31150  bool operator!=( ExportMetalIOSurfaceInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
31151  {
31152  return !operator==( rhs );
31153  }
31154 # endif
31155 
31156  public:
31157  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eExportMetalIoSurfaceInfoEXT;
31158  const void * pNext = {};
31160  IOSurfaceRef ioSurface = {};
31161  };
31162 
31163  template <>
31164  struct CppType<StructureType, StructureType::eExportMetalIoSurfaceInfoEXT>
31165  {
31166  using Type = ExportMetalIOSurfaceInfoEXT;
31167  };
31168 #endif /*VK_USE_PLATFORM_METAL_EXT*/
31169 
31170 #if defined( VK_USE_PLATFORM_METAL_EXT )
31171  struct ExportMetalObjectCreateInfoEXT
31172  {
31173  using NativeType = VkExportMetalObjectCreateInfoEXT;
31174 
31175  static const bool allowDuplicate = true;
31176  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportMetalObjectCreateInfoEXT;
31177 
31178 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
31179  VULKAN_HPP_CONSTEXPR ExportMetalObjectCreateInfoEXT(
31180  VULKAN_HPP_NAMESPACE::ExportMetalObjectTypeFlagBitsEXT exportObjectType_ = VULKAN_HPP_NAMESPACE::ExportMetalObjectTypeFlagBitsEXT::eMetalDevice,
31181  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
31182  : pNext( pNext_ )
31183  , exportObjectType( exportObjectType_ )
31184  {
31185  }
31186 
31187  VULKAN_HPP_CONSTEXPR ExportMetalObjectCreateInfoEXT( ExportMetalObjectCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
31188 
31189  ExportMetalObjectCreateInfoEXT( VkExportMetalObjectCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
31190  : ExportMetalObjectCreateInfoEXT( *reinterpret_cast<ExportMetalObjectCreateInfoEXT const *>( &rhs ) )
31191  {
31192  }
31193 
31194  ExportMetalObjectCreateInfoEXT & operator=( ExportMetalObjectCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
31195 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
31196 
31197  ExportMetalObjectCreateInfoEXT & operator=( VkExportMetalObjectCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
31198  {
31199  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExportMetalObjectCreateInfoEXT const *>( &rhs );
31200  return *this;
31201  }
31202 
31203 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
31204  VULKAN_HPP_CONSTEXPR_14 ExportMetalObjectCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
31205  {
31206  pNext = pNext_;
31207  return *this;
31208  }
31209 
31210  VULKAN_HPP_CONSTEXPR_14 ExportMetalObjectCreateInfoEXT &
31211  setExportObjectType( VULKAN_HPP_NAMESPACE::ExportMetalObjectTypeFlagBitsEXT exportObjectType_ ) VULKAN_HPP_NOEXCEPT
31212  {
31213  exportObjectType = exportObjectType_;
31214  return *this;
31215  }
31216 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
31217 
31218  operator VkExportMetalObjectCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
31219  {
31220  return *reinterpret_cast<const VkExportMetalObjectCreateInfoEXT *>( this );
31221  }
31222 
31224  {
31225  return *reinterpret_cast<VkExportMetalObjectCreateInfoEXT *>( this );
31226  }
31227 
31228 # if defined( VULKAN_HPP_USE_REFLECT )
31229 # if 14 <= VULKAN_HPP_CPP_VERSION
31230  auto
31231 # else
31232  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::ExportMetalObjectTypeFlagBitsEXT const &>
31233 # endif
31234  reflect() const VULKAN_HPP_NOEXCEPT
31235  {
31236  return std::tie( sType, pNext, exportObjectType );
31237  }
31238 # endif
31239 
31240 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
31241  auto operator<=>( ExportMetalObjectCreateInfoEXT const & ) const = default;
31242 # else
31243  bool operator==( ExportMetalObjectCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
31244  {
31245 # if defined( VULKAN_HPP_USE_REFLECT )
31246  return this->reflect() == rhs.reflect();
31247 # else
31248  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( exportObjectType == rhs.exportObjectType );
31249 # endif
31250  }
31251 
31252  bool operator!=( ExportMetalObjectCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
31253  {
31254  return !operator==( rhs );
31255  }
31256 # endif
31257 
31258  public:
31259  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eExportMetalObjectCreateInfoEXT;
31260  const void * pNext = {};
31261  VULKAN_HPP_NAMESPACE::ExportMetalObjectTypeFlagBitsEXT exportObjectType = VULKAN_HPP_NAMESPACE::ExportMetalObjectTypeFlagBitsEXT::eMetalDevice;
31262  };
31263 
31264  template <>
31265  struct CppType<StructureType, StructureType::eExportMetalObjectCreateInfoEXT>
31266  {
31267  using Type = ExportMetalObjectCreateInfoEXT;
31268  };
31269 #endif /*VK_USE_PLATFORM_METAL_EXT*/
31270 
31271 #if defined( VK_USE_PLATFORM_METAL_EXT )
31272  struct ExportMetalObjectsInfoEXT
31273  {
31274  using NativeType = VkExportMetalObjectsInfoEXT;
31275 
31276  static const bool allowDuplicate = false;
31277  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportMetalObjectsInfoEXT;
31278 
31279 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
31280  VULKAN_HPP_CONSTEXPR ExportMetalObjectsInfoEXT( const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext( pNext_ ) {}
31281 
31282  VULKAN_HPP_CONSTEXPR ExportMetalObjectsInfoEXT( ExportMetalObjectsInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
31283 
31284  ExportMetalObjectsInfoEXT( VkExportMetalObjectsInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
31285  : ExportMetalObjectsInfoEXT( *reinterpret_cast<ExportMetalObjectsInfoEXT const *>( &rhs ) )
31286  {
31287  }
31288 
31289  ExportMetalObjectsInfoEXT & operator=( ExportMetalObjectsInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
31290 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
31291 
31292  ExportMetalObjectsInfoEXT & operator=( VkExportMetalObjectsInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
31293  {
31294  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExportMetalObjectsInfoEXT const *>( &rhs );
31295  return *this;
31296  }
31297 
31298 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
31299  VULKAN_HPP_CONSTEXPR_14 ExportMetalObjectsInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
31300  {
31301  pNext = pNext_;
31302  return *this;
31303  }
31304 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
31305 
31306  operator VkExportMetalObjectsInfoEXT const &() const VULKAN_HPP_NOEXCEPT
31307  {
31308  return *reinterpret_cast<const VkExportMetalObjectsInfoEXT *>( this );
31309  }
31310 
31312  {
31313  return *reinterpret_cast<VkExportMetalObjectsInfoEXT *>( this );
31314  }
31315 
31316 # if defined( VULKAN_HPP_USE_REFLECT )
31317 # if 14 <= VULKAN_HPP_CPP_VERSION
31318  auto
31319 # else
31320  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &>
31321 # endif
31322  reflect() const VULKAN_HPP_NOEXCEPT
31323  {
31324  return std::tie( sType, pNext );
31325  }
31326 # endif
31327 
31328 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
31329  auto operator<=>( ExportMetalObjectsInfoEXT const & ) const = default;
31330 # else
31331  bool operator==( ExportMetalObjectsInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
31332  {
31333 # if defined( VULKAN_HPP_USE_REFLECT )
31334  return this->reflect() == rhs.reflect();
31335 # else
31336  return ( sType == rhs.sType ) && ( pNext == rhs.pNext );
31337 # endif
31338  }
31339 
31340  bool operator!=( ExportMetalObjectsInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
31341  {
31342  return !operator==( rhs );
31343  }
31344 # endif
31345 
31346  public:
31347  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eExportMetalObjectsInfoEXT;
31348  const void * pNext = {};
31349  };
31350 
31351  template <>
31352  struct CppType<StructureType, StructureType::eExportMetalObjectsInfoEXT>
31353  {
31354  using Type = ExportMetalObjectsInfoEXT;
31355  };
31356 #endif /*VK_USE_PLATFORM_METAL_EXT*/
31357 
31358 #if defined( VK_USE_PLATFORM_METAL_EXT )
31359  struct ExportMetalSharedEventInfoEXT
31360  {
31361  using NativeType = VkExportMetalSharedEventInfoEXT;
31362 
31363  static const bool allowDuplicate = true;
31364  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportMetalSharedEventInfoEXT;
31365 
31366 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
31367  VULKAN_HPP_CONSTEXPR ExportMetalSharedEventInfoEXT( VULKAN_HPP_NAMESPACE::Semaphore semaphore_ = {},
31368  VULKAN_HPP_NAMESPACE::Event event_ = {},
31369  MTLSharedEvent_id mtlSharedEvent_ = {},
31370  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
31371  : pNext( pNext_ )
31372  , semaphore( semaphore_ )
31373  , event( event_ )
31374  , mtlSharedEvent( mtlSharedEvent_ )
31375  {
31376  }
31377 
31378  VULKAN_HPP_CONSTEXPR ExportMetalSharedEventInfoEXT( ExportMetalSharedEventInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
31379 
31380  ExportMetalSharedEventInfoEXT( VkExportMetalSharedEventInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
31381  : ExportMetalSharedEventInfoEXT( *reinterpret_cast<ExportMetalSharedEventInfoEXT const *>( &rhs ) )
31382  {
31383  }
31384 
31385  ExportMetalSharedEventInfoEXT & operator=( ExportMetalSharedEventInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
31386 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
31387 
31388  ExportMetalSharedEventInfoEXT & operator=( VkExportMetalSharedEventInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
31389  {
31390  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExportMetalSharedEventInfoEXT const *>( &rhs );
31391  return *this;
31392  }
31393 
31394 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
31395  VULKAN_HPP_CONSTEXPR_14 ExportMetalSharedEventInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
31396  {
31397  pNext = pNext_;
31398  return *this;
31399  }
31400 
31401  VULKAN_HPP_CONSTEXPR_14 ExportMetalSharedEventInfoEXT & setSemaphore( VULKAN_HPP_NAMESPACE::Semaphore semaphore_ ) VULKAN_HPP_NOEXCEPT
31402  {
31403  semaphore = semaphore_;
31404  return *this;
31405  }
31406 
31407  VULKAN_HPP_CONSTEXPR_14 ExportMetalSharedEventInfoEXT & setEvent( VULKAN_HPP_NAMESPACE::Event event_ ) VULKAN_HPP_NOEXCEPT
31408  {
31409  event = event_;
31410  return *this;
31411  }
31412 
31413  VULKAN_HPP_CONSTEXPR_14 ExportMetalSharedEventInfoEXT & setMtlSharedEvent( MTLSharedEvent_id mtlSharedEvent_ ) VULKAN_HPP_NOEXCEPT
31414  {
31415  mtlSharedEvent = mtlSharedEvent_;
31416  return *this;
31417  }
31418 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
31419 
31420  operator VkExportMetalSharedEventInfoEXT const &() const VULKAN_HPP_NOEXCEPT
31421  {
31422  return *reinterpret_cast<const VkExportMetalSharedEventInfoEXT *>( this );
31423  }
31424 
31426  {
31427  return *reinterpret_cast<VkExportMetalSharedEventInfoEXT *>( this );
31428  }
31429 
31430 # if defined( VULKAN_HPP_USE_REFLECT )
31431 # if 14 <= VULKAN_HPP_CPP_VERSION
31432  auto
31433 # else
31434  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
31435  const void * const &,
31438  MTLSharedEvent_id const &>
31439 # endif
31440  reflect() const VULKAN_HPP_NOEXCEPT
31441  {
31442  return std::tie( sType, pNext, semaphore, event, mtlSharedEvent );
31443  }
31444 # endif
31445 
31446 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
31447  auto operator<=>( ExportMetalSharedEventInfoEXT const & ) const = default;
31448 # else
31449  bool operator==( ExportMetalSharedEventInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
31450  {
31451 # if defined( VULKAN_HPP_USE_REFLECT )
31452  return this->reflect() == rhs.reflect();
31453 # else
31454  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( semaphore == rhs.semaphore ) && ( event == rhs.event ) &&
31455  ( mtlSharedEvent == rhs.mtlSharedEvent );
31456 # endif
31457  }
31458 
31459  bool operator!=( ExportMetalSharedEventInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
31460  {
31461  return !operator==( rhs );
31462  }
31463 # endif
31464 
31465  public:
31466  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eExportMetalSharedEventInfoEXT;
31467  const void * pNext = {};
31468  VULKAN_HPP_NAMESPACE::Semaphore semaphore = {};
31469  VULKAN_HPP_NAMESPACE::Event event = {};
31470  MTLSharedEvent_id mtlSharedEvent = {};
31471  };
31472 
31473  template <>
31474  struct CppType<StructureType, StructureType::eExportMetalSharedEventInfoEXT>
31475  {
31476  using Type = ExportMetalSharedEventInfoEXT;
31477  };
31478 #endif /*VK_USE_PLATFORM_METAL_EXT*/
31479 
31480 #if defined( VK_USE_PLATFORM_METAL_EXT )
31481  struct ExportMetalTextureInfoEXT
31482  {
31483  using NativeType = VkExportMetalTextureInfoEXT;
31484 
31485  static const bool allowDuplicate = true;
31486  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportMetalTextureInfoEXT;
31487 
31488 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
31489  VULKAN_HPP_CONSTEXPR ExportMetalTextureInfoEXT( VULKAN_HPP_NAMESPACE::Image image_ = {},
31490  VULKAN_HPP_NAMESPACE::ImageView imageView_ = {},
31491  VULKAN_HPP_NAMESPACE::BufferView bufferView_ = {},
31493  MTLTexture_id mtlTexture_ = {},
31494  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
31495  : pNext( pNext_ )
31496  , image( image_ )
31497  , imageView( imageView_ )
31498  , bufferView( bufferView_ )
31499  , plane( plane_ )
31500  , mtlTexture( mtlTexture_ )
31501  {
31502  }
31503 
31504  VULKAN_HPP_CONSTEXPR ExportMetalTextureInfoEXT( ExportMetalTextureInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
31505 
31506  ExportMetalTextureInfoEXT( VkExportMetalTextureInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
31507  : ExportMetalTextureInfoEXT( *reinterpret_cast<ExportMetalTextureInfoEXT const *>( &rhs ) )
31508  {
31509  }
31510 
31511  ExportMetalTextureInfoEXT & operator=( ExportMetalTextureInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
31512 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
31513 
31514  ExportMetalTextureInfoEXT & operator=( VkExportMetalTextureInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
31515  {
31516  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExportMetalTextureInfoEXT const *>( &rhs );
31517  return *this;
31518  }
31519 
31520 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
31521  VULKAN_HPP_CONSTEXPR_14 ExportMetalTextureInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
31522  {
31523  pNext = pNext_;
31524  return *this;
31525  }
31526 
31527  VULKAN_HPP_CONSTEXPR_14 ExportMetalTextureInfoEXT & setImage( VULKAN_HPP_NAMESPACE::Image image_ ) VULKAN_HPP_NOEXCEPT
31528  {
31529  image = image_;
31530  return *this;
31531  }
31532 
31533  VULKAN_HPP_CONSTEXPR_14 ExportMetalTextureInfoEXT & setImageView( VULKAN_HPP_NAMESPACE::ImageView imageView_ ) VULKAN_HPP_NOEXCEPT
31534  {
31535  imageView = imageView_;
31536  return *this;
31537  }
31538 
31539  VULKAN_HPP_CONSTEXPR_14 ExportMetalTextureInfoEXT & setBufferView( VULKAN_HPP_NAMESPACE::BufferView bufferView_ ) VULKAN_HPP_NOEXCEPT
31540  {
31541  bufferView = bufferView_;
31542  return *this;
31543  }
31544 
31545  VULKAN_HPP_CONSTEXPR_14 ExportMetalTextureInfoEXT & setPlane( VULKAN_HPP_NAMESPACE::ImageAspectFlagBits plane_ ) VULKAN_HPP_NOEXCEPT
31546  {
31547  plane = plane_;
31548  return *this;
31549  }
31550 
31551  VULKAN_HPP_CONSTEXPR_14 ExportMetalTextureInfoEXT & setMtlTexture( MTLTexture_id mtlTexture_ ) VULKAN_HPP_NOEXCEPT
31552  {
31553  mtlTexture = mtlTexture_;
31554  return *this;
31555  }
31556 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
31557 
31558  operator VkExportMetalTextureInfoEXT const &() const VULKAN_HPP_NOEXCEPT
31559  {
31560  return *reinterpret_cast<const VkExportMetalTextureInfoEXT *>( this );
31561  }
31562 
31564  {
31565  return *reinterpret_cast<VkExportMetalTextureInfoEXT *>( this );
31566  }
31567 
31568 # if defined( VULKAN_HPP_USE_REFLECT )
31569 # if 14 <= VULKAN_HPP_CPP_VERSION
31570  auto
31571 # else
31572  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
31573  const void * const &,
31578  MTLTexture_id const &>
31579 # endif
31580  reflect() const VULKAN_HPP_NOEXCEPT
31581  {
31582  return std::tie( sType, pNext, image, imageView, bufferView, plane, mtlTexture );
31583  }
31584 # endif
31585 
31586 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
31587  auto operator<=>( ExportMetalTextureInfoEXT const & ) const = default;
31588 # else
31589  bool operator==( ExportMetalTextureInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
31590  {
31591 # if defined( VULKAN_HPP_USE_REFLECT )
31592  return this->reflect() == rhs.reflect();
31593 # else
31594  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( image == rhs.image ) && ( imageView == rhs.imageView ) && ( bufferView == rhs.bufferView ) &&
31595  ( plane == rhs.plane ) && ( mtlTexture == rhs.mtlTexture );
31596 # endif
31597  }
31598 
31599  bool operator!=( ExportMetalTextureInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
31600  {
31601  return !operator==( rhs );
31602  }
31603 # endif
31604 
31605  public:
31606  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eExportMetalTextureInfoEXT;
31607  const void * pNext = {};
31609  VULKAN_HPP_NAMESPACE::ImageView imageView = {};
31610  VULKAN_HPP_NAMESPACE::BufferView bufferView = {};
31612  MTLTexture_id mtlTexture = {};
31613  };
31614 
31615  template <>
31616  struct CppType<StructureType, StructureType::eExportMetalTextureInfoEXT>
31617  {
31618  using Type = ExportMetalTextureInfoEXT;
31619  };
31620 #endif /*VK_USE_PLATFORM_METAL_EXT*/
31621 
31623  {
31625 
31626  static const bool allowDuplicate = false;
31627  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportSemaphoreCreateInfo;
31628 
31629 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
31631  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
31632  : pNext( pNext_ )
31633  , handleTypes( handleTypes_ )
31634  {
31635  }
31636 
31637  VULKAN_HPP_CONSTEXPR ExportSemaphoreCreateInfo( ExportSemaphoreCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
31638 
31640  : ExportSemaphoreCreateInfo( *reinterpret_cast<ExportSemaphoreCreateInfo const *>( &rhs ) )
31641  {
31642  }
31643 
31644  ExportSemaphoreCreateInfo & operator=( ExportSemaphoreCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
31645 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
31646 
31648  {
31649  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExportSemaphoreCreateInfo const *>( &rhs );
31650  return *this;
31651  }
31652 
31653 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
31655  {
31656  pNext = pNext_;
31657  return *this;
31658  }
31659 
31662  {
31663  handleTypes = handleTypes_;
31664  return *this;
31665  }
31666 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
31667 
31669  {
31670  return *reinterpret_cast<const VkExportSemaphoreCreateInfo *>( this );
31671  }
31672 
31674  {
31675  return *reinterpret_cast<VkExportSemaphoreCreateInfo *>( this );
31676  }
31677 
31678 #if defined( VULKAN_HPP_USE_REFLECT )
31679 # if 14 <= VULKAN_HPP_CPP_VERSION
31680  auto
31681 # else
31682  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlags const &>
31683 # endif
31684  reflect() const VULKAN_HPP_NOEXCEPT
31685  {
31686  return std::tie( sType, pNext, handleTypes );
31687  }
31688 #endif
31689 
31690 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
31691  auto operator<=>( ExportSemaphoreCreateInfo const & ) const = default;
31692 #else
31694  {
31695 # if defined( VULKAN_HPP_USE_REFLECT )
31696  return this->reflect() == rhs.reflect();
31697 # else
31698  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( handleTypes == rhs.handleTypes );
31699 # endif
31700  }
31701 
31703  {
31704  return !operator==( rhs );
31705  }
31706 #endif
31707 
31708  public:
31709  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eExportSemaphoreCreateInfo;
31710  const void * pNext = {};
31712  };
31713 
31714  template <>
31716  {
31718  };
31720 
31721 #if defined( VK_USE_PLATFORM_WIN32_KHR )
31722  struct ExportSemaphoreWin32HandleInfoKHR
31723  {
31724  using NativeType = VkExportSemaphoreWin32HandleInfoKHR;
31725 
31726  static const bool allowDuplicate = false;
31727  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExportSemaphoreWin32HandleInfoKHR;
31728 
31729 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
31730  VULKAN_HPP_CONSTEXPR ExportSemaphoreWin32HandleInfoKHR( const SECURITY_ATTRIBUTES * pAttributes_ = {},
31731  DWORD dwAccess_ = {},
31732  LPCWSTR name_ = {},
31733  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
31734  : pNext( pNext_ )
31735  , pAttributes( pAttributes_ )
31736  , dwAccess( dwAccess_ )
31737  , name( name_ )
31738  {
31739  }
31740 
31741  VULKAN_HPP_CONSTEXPR ExportSemaphoreWin32HandleInfoKHR( ExportSemaphoreWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
31742 
31743  ExportSemaphoreWin32HandleInfoKHR( VkExportSemaphoreWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
31744  : ExportSemaphoreWin32HandleInfoKHR( *reinterpret_cast<ExportSemaphoreWin32HandleInfoKHR const *>( &rhs ) )
31745  {
31746  }
31747 
31748  ExportSemaphoreWin32HandleInfoKHR & operator=( ExportSemaphoreWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
31749 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
31750 
31751  ExportSemaphoreWin32HandleInfoKHR & operator=( VkExportSemaphoreWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
31752  {
31753  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExportSemaphoreWin32HandleInfoKHR const *>( &rhs );
31754  return *this;
31755  }
31756 
31757 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
31758  VULKAN_HPP_CONSTEXPR_14 ExportSemaphoreWin32HandleInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
31759  {
31760  pNext = pNext_;
31761  return *this;
31762  }
31763 
31764  VULKAN_HPP_CONSTEXPR_14 ExportSemaphoreWin32HandleInfoKHR & setPAttributes( const SECURITY_ATTRIBUTES * pAttributes_ ) VULKAN_HPP_NOEXCEPT
31765  {
31766  pAttributes = pAttributes_;
31767  return *this;
31768  }
31769 
31770  VULKAN_HPP_CONSTEXPR_14 ExportSemaphoreWin32HandleInfoKHR & setDwAccess( DWORD dwAccess_ ) VULKAN_HPP_NOEXCEPT
31771  {
31772  dwAccess = dwAccess_;
31773  return *this;
31774  }
31775 
31776  VULKAN_HPP_CONSTEXPR_14 ExportSemaphoreWin32HandleInfoKHR & setName( LPCWSTR name_ ) VULKAN_HPP_NOEXCEPT
31777  {
31778  name = name_;
31779  return *this;
31780  }
31781 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
31782 
31784  {
31785  return *reinterpret_cast<const VkExportSemaphoreWin32HandleInfoKHR *>( this );
31786  }
31787 
31789  {
31790  return *reinterpret_cast<VkExportSemaphoreWin32HandleInfoKHR *>( this );
31791  }
31792 
31793 # if defined( VULKAN_HPP_USE_REFLECT )
31794 # if 14 <= VULKAN_HPP_CPP_VERSION
31795  auto
31796 # else
31797  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, const SECURITY_ATTRIBUTES * const &, DWORD const &, LPCWSTR const &>
31798 # endif
31799  reflect() const VULKAN_HPP_NOEXCEPT
31800  {
31801  return std::tie( sType, pNext, pAttributes, dwAccess, name );
31802  }
31803 # endif
31804 
31805 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
31806  auto operator<=>( ExportSemaphoreWin32HandleInfoKHR const & ) const = default;
31807 # else
31808  bool operator==( ExportSemaphoreWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
31809  {
31810 # if defined( VULKAN_HPP_USE_REFLECT )
31811  return this->reflect() == rhs.reflect();
31812 # else
31813  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pAttributes == rhs.pAttributes ) && ( dwAccess == rhs.dwAccess ) && ( name == rhs.name );
31814 # endif
31815  }
31816 
31817  bool operator!=( ExportSemaphoreWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
31818  {
31819  return !operator==( rhs );
31820  }
31821 # endif
31822 
31823  public:
31824  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eExportSemaphoreWin32HandleInfoKHR;
31825  const void * pNext = {};
31826  const SECURITY_ATTRIBUTES * pAttributes = {};
31827  DWORD dwAccess = {};
31828  LPCWSTR name = {};
31829  };
31830 
31831  template <>
31832  struct CppType<StructureType, StructureType::eExportSemaphoreWin32HandleInfoKHR>
31833  {
31834  using Type = ExportSemaphoreWin32HandleInfoKHR;
31835  };
31836 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
31837 
31839  {
31841 
31842 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
31843  VULKAN_HPP_CONSTEXPR_14 ExtensionProperties( std::array<char, VK_MAX_EXTENSION_NAME_SIZE> const & extensionName_ = {},
31844  uint32_t specVersion_ = {} ) VULKAN_HPP_NOEXCEPT
31845  : extensionName( extensionName_ )
31846  , specVersion( specVersion_ )
31847  {
31848  }
31849 
31850  VULKAN_HPP_CONSTEXPR_14 ExtensionProperties( ExtensionProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
31851 
31852  ExtensionProperties( VkExtensionProperties const & rhs ) VULKAN_HPP_NOEXCEPT : ExtensionProperties( *reinterpret_cast<ExtensionProperties const *>( &rhs ) )
31853  {
31854  }
31855 
31856  ExtensionProperties & operator=( ExtensionProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
31857 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
31858 
31860  {
31861  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExtensionProperties const *>( &rhs );
31862  return *this;
31863  }
31864 
31866  {
31867  return *reinterpret_cast<const VkExtensionProperties *>( this );
31868  }
31869 
31871  {
31872  return *reinterpret_cast<VkExtensionProperties *>( this );
31873  }
31874 
31875 #if defined( VULKAN_HPP_USE_REFLECT )
31876 # if 14 <= VULKAN_HPP_CPP_VERSION
31877  auto
31878 # else
31879  std::tuple<VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_EXTENSION_NAME_SIZE> const &, uint32_t const &>
31880 # endif
31881  reflect() const VULKAN_HPP_NOEXCEPT
31882  {
31883  return std::tie( extensionName, specVersion );
31884  }
31885 #endif
31886 
31887 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
31888  auto operator<=>( ExtensionProperties const & ) const = default;
31889 #else
31891  {
31892 # if defined( VULKAN_HPP_USE_REFLECT )
31893  return this->reflect() == rhs.reflect();
31894 # else
31895  return ( extensionName == rhs.extensionName ) && ( specVersion == rhs.specVersion );
31896 # endif
31897  }
31898 
31900  {
31901  return !operator==( rhs );
31902  }
31903 #endif
31904 
31905  public:
31907  uint32_t specVersion = {};
31908  };
31909 
31911  {
31913 
31914 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
31916  VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags exportFromImportedHandleTypes_ = {},
31918  : externalMemoryFeatures( externalMemoryFeatures_ )
31919  , exportFromImportedHandleTypes( exportFromImportedHandleTypes_ )
31920  , compatibleHandleTypes( compatibleHandleTypes_ )
31921  {
31922  }
31923 
31924  VULKAN_HPP_CONSTEXPR ExternalMemoryProperties( ExternalMemoryProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
31925 
31927  : ExternalMemoryProperties( *reinterpret_cast<ExternalMemoryProperties const *>( &rhs ) )
31928  {
31929  }
31930 
31931  ExternalMemoryProperties & operator=( ExternalMemoryProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
31932 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
31933 
31935  {
31936  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExternalMemoryProperties const *>( &rhs );
31937  return *this;
31938  }
31939 
31941  {
31942  return *reinterpret_cast<const VkExternalMemoryProperties *>( this );
31943  }
31944 
31946  {
31947  return *reinterpret_cast<VkExternalMemoryProperties *>( this );
31948  }
31949 
31950 #if defined( VULKAN_HPP_USE_REFLECT )
31951 # if 14 <= VULKAN_HPP_CPP_VERSION
31952  auto
31953 # else
31957 # endif
31958  reflect() const VULKAN_HPP_NOEXCEPT
31959  {
31960  return std::tie( externalMemoryFeatures, exportFromImportedHandleTypes, compatibleHandleTypes );
31961  }
31962 #endif
31963 
31964 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
31965  auto operator<=>( ExternalMemoryProperties const & ) const = default;
31966 #else
31968  {
31969 # if defined( VULKAN_HPP_USE_REFLECT )
31970  return this->reflect() == rhs.reflect();
31971 # else
31972  return ( externalMemoryFeatures == rhs.externalMemoryFeatures ) && ( exportFromImportedHandleTypes == rhs.exportFromImportedHandleTypes ) &&
31973  ( compatibleHandleTypes == rhs.compatibleHandleTypes );
31974 # endif
31975  }
31976 
31978  {
31979  return !operator==( rhs );
31980  }
31981 #endif
31982 
31983  public:
31985  VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags exportFromImportedHandleTypes = {};
31987  };
31988  using ExternalMemoryPropertiesKHR = ExternalMemoryProperties;
31989 
31991  {
31993 
31994  static const bool allowDuplicate = false;
31995  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalBufferProperties;
31996 
31997 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
31999  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
32000  : pNext( pNext_ )
32001  , externalMemoryProperties( externalMemoryProperties_ )
32002  {
32003  }
32004 
32005  VULKAN_HPP_CONSTEXPR ExternalBufferProperties( ExternalBufferProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
32006 
32008  : ExternalBufferProperties( *reinterpret_cast<ExternalBufferProperties const *>( &rhs ) )
32009  {
32010  }
32011 
32012  ExternalBufferProperties & operator=( ExternalBufferProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
32013 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
32014 
32016  {
32017  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExternalBufferProperties const *>( &rhs );
32018  return *this;
32019  }
32020 
32022  {
32023  return *reinterpret_cast<const VkExternalBufferProperties *>( this );
32024  }
32025 
32027  {
32028  return *reinterpret_cast<VkExternalBufferProperties *>( this );
32029  }
32030 
32031 #if defined( VULKAN_HPP_USE_REFLECT )
32032 # if 14 <= VULKAN_HPP_CPP_VERSION
32033  auto
32034 # else
32035  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::ExternalMemoryProperties const &>
32036 # endif
32037  reflect() const VULKAN_HPP_NOEXCEPT
32038  {
32039  return std::tie( sType, pNext, externalMemoryProperties );
32040  }
32041 #endif
32042 
32043 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
32044  auto operator<=>( ExternalBufferProperties const & ) const = default;
32045 #else
32047  {
32048 # if defined( VULKAN_HPP_USE_REFLECT )
32049  return this->reflect() == rhs.reflect();
32050 # else
32051  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( externalMemoryProperties == rhs.externalMemoryProperties );
32052 # endif
32053  }
32054 
32056  {
32057  return !operator==( rhs );
32058  }
32059 #endif
32060 
32061  public:
32062  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eExternalBufferProperties;
32063  void * pNext = {};
32064  VULKAN_HPP_NAMESPACE::ExternalMemoryProperties externalMemoryProperties = {};
32065  };
32066 
32067  template <>
32069  {
32071  };
32073 
32075  {
32077 
32078  static const bool allowDuplicate = false;
32079  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalFenceProperties;
32080 
32081 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
32083  VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlags compatibleHandleTypes_ = {},
32084  VULKAN_HPP_NAMESPACE::ExternalFenceFeatureFlags externalFenceFeatures_ = {},
32085  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
32086  : pNext( pNext_ )
32087  , exportFromImportedHandleTypes( exportFromImportedHandleTypes_ )
32088  , compatibleHandleTypes( compatibleHandleTypes_ )
32089  , externalFenceFeatures( externalFenceFeatures_ )
32090  {
32091  }
32092 
32093  VULKAN_HPP_CONSTEXPR ExternalFenceProperties( ExternalFenceProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
32094 
32096  : ExternalFenceProperties( *reinterpret_cast<ExternalFenceProperties const *>( &rhs ) )
32097  {
32098  }
32099 
32100  ExternalFenceProperties & operator=( ExternalFenceProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
32101 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
32102 
32104  {
32105  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExternalFenceProperties const *>( &rhs );
32106  return *this;
32107  }
32108 
32110  {
32111  return *reinterpret_cast<const VkExternalFenceProperties *>( this );
32112  }
32113 
32115  {
32116  return *reinterpret_cast<VkExternalFenceProperties *>( this );
32117  }
32118 
32119 #if defined( VULKAN_HPP_USE_REFLECT )
32120 # if 14 <= VULKAN_HPP_CPP_VERSION
32121  auto
32122 # else
32123  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
32124  void * const &,
32128 # endif
32129  reflect() const VULKAN_HPP_NOEXCEPT
32130  {
32131  return std::tie( sType, pNext, exportFromImportedHandleTypes, compatibleHandleTypes, externalFenceFeatures );
32132  }
32133 #endif
32134 
32135 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
32136  auto operator<=>( ExternalFenceProperties const & ) const = default;
32137 #else
32139  {
32140 # if defined( VULKAN_HPP_USE_REFLECT )
32141  return this->reflect() == rhs.reflect();
32142 # else
32143  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( exportFromImportedHandleTypes == rhs.exportFromImportedHandleTypes ) &&
32144  ( compatibleHandleTypes == rhs.compatibleHandleTypes ) && ( externalFenceFeatures == rhs.externalFenceFeatures );
32145 # endif
32146  }
32147 
32149  {
32150  return !operator==( rhs );
32151  }
32152 #endif
32153 
32154  public:
32155  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eExternalFenceProperties;
32156  void * pNext = {};
32157  VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlags exportFromImportedHandleTypes = {};
32160  };
32161 
32162  template <>
32164  {
32166  };
32168 
32169 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
32170  struct ExternalFormatANDROID
32171  {
32172  using NativeType = VkExternalFormatANDROID;
32173 
32174  static const bool allowDuplicate = false;
32175  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalFormatANDROID;
32176 
32177 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
32178  VULKAN_HPP_CONSTEXPR ExternalFormatANDROID( uint64_t externalFormat_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
32179  : pNext( pNext_ )
32180  , externalFormat( externalFormat_ )
32181  {
32182  }
32183 
32184  VULKAN_HPP_CONSTEXPR ExternalFormatANDROID( ExternalFormatANDROID const & rhs ) VULKAN_HPP_NOEXCEPT = default;
32185 
32186  ExternalFormatANDROID( VkExternalFormatANDROID const & rhs ) VULKAN_HPP_NOEXCEPT
32187  : ExternalFormatANDROID( *reinterpret_cast<ExternalFormatANDROID const *>( &rhs ) )
32188  {
32189  }
32190 
32191  ExternalFormatANDROID & operator=( ExternalFormatANDROID const & rhs ) VULKAN_HPP_NOEXCEPT = default;
32192 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
32193 
32194  ExternalFormatANDROID & operator=( VkExternalFormatANDROID const & rhs ) VULKAN_HPP_NOEXCEPT
32195  {
32196  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExternalFormatANDROID const *>( &rhs );
32197  return *this;
32198  }
32199 
32200 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
32201  VULKAN_HPP_CONSTEXPR_14 ExternalFormatANDROID & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
32202  {
32203  pNext = pNext_;
32204  return *this;
32205  }
32206 
32207  VULKAN_HPP_CONSTEXPR_14 ExternalFormatANDROID & setExternalFormat( uint64_t externalFormat_ ) VULKAN_HPP_NOEXCEPT
32208  {
32209  externalFormat = externalFormat_;
32210  return *this;
32211  }
32212 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
32213 
32214  operator VkExternalFormatANDROID const &() const VULKAN_HPP_NOEXCEPT
32215  {
32216  return *reinterpret_cast<const VkExternalFormatANDROID *>( this );
32217  }
32218 
32220  {
32221  return *reinterpret_cast<VkExternalFormatANDROID *>( this );
32222  }
32223 
32224 # if defined( VULKAN_HPP_USE_REFLECT )
32225 # if 14 <= VULKAN_HPP_CPP_VERSION
32226  auto
32227 # else
32228  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, uint64_t const &>
32229 # endif
32230  reflect() const VULKAN_HPP_NOEXCEPT
32231  {
32232  return std::tie( sType, pNext, externalFormat );
32233  }
32234 # endif
32235 
32236 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
32237  auto operator<=>( ExternalFormatANDROID const & ) const = default;
32238 # else
32239  bool operator==( ExternalFormatANDROID const & rhs ) const VULKAN_HPP_NOEXCEPT
32240  {
32241 # if defined( VULKAN_HPP_USE_REFLECT )
32242  return this->reflect() == rhs.reflect();
32243 # else
32244  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( externalFormat == rhs.externalFormat );
32245 # endif
32246  }
32247 
32248  bool operator!=( ExternalFormatANDROID const & rhs ) const VULKAN_HPP_NOEXCEPT
32249  {
32250  return !operator==( rhs );
32251  }
32252 # endif
32253 
32254  public:
32255  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eExternalFormatANDROID;
32256  void * pNext = {};
32257  uint64_t externalFormat = {};
32258  };
32259 
32260  template <>
32261  struct CppType<StructureType, StructureType::eExternalFormatANDROID>
32262  {
32263  using Type = ExternalFormatANDROID;
32264  };
32265 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
32266 
32268  {
32270 
32271  static const bool allowDuplicate = false;
32272  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalImageFormatProperties;
32273 
32274 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
32276  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
32277  : pNext( pNext_ )
32278  , externalMemoryProperties( externalMemoryProperties_ )
32279  {
32280  }
32281 
32282  VULKAN_HPP_CONSTEXPR ExternalImageFormatProperties( ExternalImageFormatProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
32283 
32285  : ExternalImageFormatProperties( *reinterpret_cast<ExternalImageFormatProperties const *>( &rhs ) )
32286  {
32287  }
32288 
32290 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
32291 
32293  {
32294  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExternalImageFormatProperties const *>( &rhs );
32295  return *this;
32296  }
32297 
32299  {
32300  return *reinterpret_cast<const VkExternalImageFormatProperties *>( this );
32301  }
32302 
32304  {
32305  return *reinterpret_cast<VkExternalImageFormatProperties *>( this );
32306  }
32307 
32308 #if defined( VULKAN_HPP_USE_REFLECT )
32309 # if 14 <= VULKAN_HPP_CPP_VERSION
32310  auto
32311 # else
32312  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::ExternalMemoryProperties const &>
32313 # endif
32314  reflect() const VULKAN_HPP_NOEXCEPT
32315  {
32316  return std::tie( sType, pNext, externalMemoryProperties );
32317  }
32318 #endif
32319 
32320 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
32321  auto operator<=>( ExternalImageFormatProperties const & ) const = default;
32322 #else
32324  {
32325 # if defined( VULKAN_HPP_USE_REFLECT )
32326  return this->reflect() == rhs.reflect();
32327 # else
32328  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( externalMemoryProperties == rhs.externalMemoryProperties );
32329 # endif
32330  }
32331 
32333  {
32334  return !operator==( rhs );
32335  }
32336 #endif
32337 
32338  public:
32339  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eExternalImageFormatProperties;
32340  void * pNext = {};
32341  VULKAN_HPP_NAMESPACE::ExternalMemoryProperties externalMemoryProperties = {};
32342  };
32343 
32344  template <>
32346  {
32348  };
32350 
32352  {
32354 
32355 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
32357  uint32_t maxMipLevels_ = {},
32358  uint32_t maxArrayLayers_ = {},
32359  VULKAN_HPP_NAMESPACE::SampleCountFlags sampleCounts_ = {},
32361  : maxExtent( maxExtent_ )
32362  , maxMipLevels( maxMipLevels_ )
32363  , maxArrayLayers( maxArrayLayers_ )
32364  , sampleCounts( sampleCounts_ )
32365  , maxResourceSize( maxResourceSize_ )
32366  {
32367  }
32368 
32369  VULKAN_HPP_CONSTEXPR ImageFormatProperties( ImageFormatProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
32370 
32372  : ImageFormatProperties( *reinterpret_cast<ImageFormatProperties const *>( &rhs ) )
32373  {
32374  }
32375 
32376  ImageFormatProperties & operator=( ImageFormatProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
32377 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
32378 
32380  {
32381  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageFormatProperties const *>( &rhs );
32382  return *this;
32383  }
32384 
32386  {
32387  return *reinterpret_cast<const VkImageFormatProperties *>( this );
32388  }
32389 
32391  {
32392  return *reinterpret_cast<VkImageFormatProperties *>( this );
32393  }
32394 
32395 #if defined( VULKAN_HPP_USE_REFLECT )
32396 # if 14 <= VULKAN_HPP_CPP_VERSION
32397  auto
32398 # else
32399  std::tuple<VULKAN_HPP_NAMESPACE::Extent3D const &,
32400  uint32_t const &,
32401  uint32_t const &,
32404 # endif
32405  reflect() const VULKAN_HPP_NOEXCEPT
32406  {
32407  return std::tie( maxExtent, maxMipLevels, maxArrayLayers, sampleCounts, maxResourceSize );
32408  }
32409 #endif
32410 
32411 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
32412  auto operator<=>( ImageFormatProperties const & ) const = default;
32413 #else
32415  {
32416 # if defined( VULKAN_HPP_USE_REFLECT )
32417  return this->reflect() == rhs.reflect();
32418 # else
32419  return ( maxExtent == rhs.maxExtent ) && ( maxMipLevels == rhs.maxMipLevels ) && ( maxArrayLayers == rhs.maxArrayLayers ) &&
32420  ( sampleCounts == rhs.sampleCounts ) && ( maxResourceSize == rhs.maxResourceSize );
32421 # endif
32422  }
32423 
32425  {
32426  return !operator==( rhs );
32427  }
32428 #endif
32429 
32430  public:
32432  uint32_t maxMipLevels = {};
32433  uint32_t maxArrayLayers = {};
32435  VULKAN_HPP_NAMESPACE::DeviceSize maxResourceSize = {};
32436  };
32437 
32439  {
32441 
32442 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
32445  VULKAN_HPP_NAMESPACE::ExternalMemoryFeatureFlagsNV externalMemoryFeatures_ = {},
32446  VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes_ = {},
32448  : imageFormatProperties( imageFormatProperties_ )
32449  , externalMemoryFeatures( externalMemoryFeatures_ )
32450  , exportFromImportedHandleTypes( exportFromImportedHandleTypes_ )
32451  , compatibleHandleTypes( compatibleHandleTypes_ )
32452  {
32453  }
32454 
32455  VULKAN_HPP_CONSTEXPR ExternalImageFormatPropertiesNV( ExternalImageFormatPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
32456 
32458  : ExternalImageFormatPropertiesNV( *reinterpret_cast<ExternalImageFormatPropertiesNV const *>( &rhs ) )
32459  {
32460  }
32461 
32463 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
32464 
32466  {
32467  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExternalImageFormatPropertiesNV const *>( &rhs );
32468  return *this;
32469  }
32470 
32472  {
32473  return *reinterpret_cast<const VkExternalImageFormatPropertiesNV *>( this );
32474  }
32475 
32477  {
32478  return *reinterpret_cast<VkExternalImageFormatPropertiesNV *>( this );
32479  }
32480 
32481 #if defined( VULKAN_HPP_USE_REFLECT )
32482 # if 14 <= VULKAN_HPP_CPP_VERSION
32483  auto
32484 # else
32489 # endif
32490  reflect() const VULKAN_HPP_NOEXCEPT
32491  {
32492  return std::tie( imageFormatProperties, externalMemoryFeatures, exportFromImportedHandleTypes, compatibleHandleTypes );
32493  }
32494 #endif
32495 
32496 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
32497  auto operator<=>( ExternalImageFormatPropertiesNV const & ) const = default;
32498 #else
32500  {
32501 # if defined( VULKAN_HPP_USE_REFLECT )
32502  return this->reflect() == rhs.reflect();
32503 # else
32504  return ( imageFormatProperties == rhs.imageFormatProperties ) && ( externalMemoryFeatures == rhs.externalMemoryFeatures ) &&
32505  ( exportFromImportedHandleTypes == rhs.exportFromImportedHandleTypes ) && ( compatibleHandleTypes == rhs.compatibleHandleTypes );
32506 # endif
32507  }
32508 
32510  {
32511  return !operator==( rhs );
32512  }
32513 #endif
32514 
32515  public:
32518  VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes = {};
32520  };
32521 
32523  {
32525 
32526  static const bool allowDuplicate = false;
32527  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalMemoryBufferCreateInfo;
32528 
32529 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
32531  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
32532  : pNext( pNext_ )
32533  , handleTypes( handleTypes_ )
32534  {
32535  }
32536 
32537  VULKAN_HPP_CONSTEXPR ExternalMemoryBufferCreateInfo( ExternalMemoryBufferCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
32538 
32540  : ExternalMemoryBufferCreateInfo( *reinterpret_cast<ExternalMemoryBufferCreateInfo const *>( &rhs ) )
32541  {
32542  }
32543 
32545 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
32546 
32548  {
32549  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExternalMemoryBufferCreateInfo const *>( &rhs );
32550  return *this;
32551  }
32552 
32553 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
32555  {
32556  pNext = pNext_;
32557  return *this;
32558  }
32559 
32562  {
32563  handleTypes = handleTypes_;
32564  return *this;
32565  }
32566 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
32567 
32569  {
32570  return *reinterpret_cast<const VkExternalMemoryBufferCreateInfo *>( this );
32571  }
32572 
32574  {
32575  return *reinterpret_cast<VkExternalMemoryBufferCreateInfo *>( this );
32576  }
32577 
32578 #if defined( VULKAN_HPP_USE_REFLECT )
32579 # if 14 <= VULKAN_HPP_CPP_VERSION
32580  auto
32581 # else
32582  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags const &>
32583 # endif
32584  reflect() const VULKAN_HPP_NOEXCEPT
32585  {
32586  return std::tie( sType, pNext, handleTypes );
32587  }
32588 #endif
32589 
32590 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
32591  auto operator<=>( ExternalMemoryBufferCreateInfo const & ) const = default;
32592 #else
32594  {
32595 # if defined( VULKAN_HPP_USE_REFLECT )
32596  return this->reflect() == rhs.reflect();
32597 # else
32598  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( handleTypes == rhs.handleTypes );
32599 # endif
32600  }
32601 
32603  {
32604  return !operator==( rhs );
32605  }
32606 #endif
32607 
32608  public:
32609  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eExternalMemoryBufferCreateInfo;
32610  const void * pNext = {};
32612  };
32613 
32614  template <>
32616  {
32618  };
32620 
32622  {
32624 
32625  static const bool allowDuplicate = false;
32626  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalMemoryImageCreateInfo;
32627 
32628 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
32630  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
32631  : pNext( pNext_ )
32632  , handleTypes( handleTypes_ )
32633  {
32634  }
32635 
32636  VULKAN_HPP_CONSTEXPR ExternalMemoryImageCreateInfo( ExternalMemoryImageCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
32637 
32639  : ExternalMemoryImageCreateInfo( *reinterpret_cast<ExternalMemoryImageCreateInfo const *>( &rhs ) )
32640  {
32641  }
32642 
32644 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
32645 
32647  {
32648  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExternalMemoryImageCreateInfo const *>( &rhs );
32649  return *this;
32650  }
32651 
32652 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
32654  {
32655  pNext = pNext_;
32656  return *this;
32657  }
32658 
32661  {
32662  handleTypes = handleTypes_;
32663  return *this;
32664  }
32665 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
32666 
32668  {
32669  return *reinterpret_cast<const VkExternalMemoryImageCreateInfo *>( this );
32670  }
32671 
32673  {
32674  return *reinterpret_cast<VkExternalMemoryImageCreateInfo *>( this );
32675  }
32676 
32677 #if defined( VULKAN_HPP_USE_REFLECT )
32678 # if 14 <= VULKAN_HPP_CPP_VERSION
32679  auto
32680 # else
32681  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags const &>
32682 # endif
32683  reflect() const VULKAN_HPP_NOEXCEPT
32684  {
32685  return std::tie( sType, pNext, handleTypes );
32686  }
32687 #endif
32688 
32689 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
32690  auto operator<=>( ExternalMemoryImageCreateInfo const & ) const = default;
32691 #else
32693  {
32694 # if defined( VULKAN_HPP_USE_REFLECT )
32695  return this->reflect() == rhs.reflect();
32696 # else
32697  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( handleTypes == rhs.handleTypes );
32698 # endif
32699  }
32700 
32702  {
32703  return !operator==( rhs );
32704  }
32705 #endif
32706 
32707  public:
32708  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eExternalMemoryImageCreateInfo;
32709  const void * pNext = {};
32711  };
32712 
32713  template <>
32715  {
32717  };
32719 
32721  {
32723 
32724  static const bool allowDuplicate = false;
32725  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalMemoryImageCreateInfoNV;
32726 
32727 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
32729  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
32730  : pNext( pNext_ )
32731  , handleTypes( handleTypes_ )
32732  {
32733  }
32734 
32735  VULKAN_HPP_CONSTEXPR ExternalMemoryImageCreateInfoNV( ExternalMemoryImageCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
32736 
32738  : ExternalMemoryImageCreateInfoNV( *reinterpret_cast<ExternalMemoryImageCreateInfoNV const *>( &rhs ) )
32739  {
32740  }
32741 
32743 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
32744 
32746  {
32747  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExternalMemoryImageCreateInfoNV const *>( &rhs );
32748  return *this;
32749  }
32750 
32751 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
32753  {
32754  pNext = pNext_;
32755  return *this;
32756  }
32757 
32760  {
32761  handleTypes = handleTypes_;
32762  return *this;
32763  }
32764 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
32765 
32767  {
32768  return *reinterpret_cast<const VkExternalMemoryImageCreateInfoNV *>( this );
32769  }
32770 
32772  {
32773  return *reinterpret_cast<VkExternalMemoryImageCreateInfoNV *>( this );
32774  }
32775 
32776 #if defined( VULKAN_HPP_USE_REFLECT )
32777 # if 14 <= VULKAN_HPP_CPP_VERSION
32778  auto
32779 # else
32780  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV const &>
32781 # endif
32782  reflect() const VULKAN_HPP_NOEXCEPT
32783  {
32784  return std::tie( sType, pNext, handleTypes );
32785  }
32786 #endif
32787 
32788 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
32789  auto operator<=>( ExternalMemoryImageCreateInfoNV const & ) const = default;
32790 #else
32792  {
32793 # if defined( VULKAN_HPP_USE_REFLECT )
32794  return this->reflect() == rhs.reflect();
32795 # else
32796  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( handleTypes == rhs.handleTypes );
32797 # endif
32798  }
32799 
32801  {
32802  return !operator==( rhs );
32803  }
32804 #endif
32805 
32806  public:
32807  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eExternalMemoryImageCreateInfoNV;
32808  const void * pNext = {};
32810  };
32811 
32812  template <>
32814  {
32816  };
32817 
32819  {
32821 
32822  static const bool allowDuplicate = false;
32823  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eExternalSemaphoreProperties;
32824 
32825 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
32827  VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlags compatibleHandleTypes_ = {},
32828  VULKAN_HPP_NAMESPACE::ExternalSemaphoreFeatureFlags externalSemaphoreFeatures_ = {},
32829  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
32830  : pNext( pNext_ )
32831  , exportFromImportedHandleTypes( exportFromImportedHandleTypes_ )
32832  , compatibleHandleTypes( compatibleHandleTypes_ )
32833  , externalSemaphoreFeatures( externalSemaphoreFeatures_ )
32834  {
32835  }
32836 
32837  VULKAN_HPP_CONSTEXPR ExternalSemaphoreProperties( ExternalSemaphoreProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
32838 
32840  : ExternalSemaphoreProperties( *reinterpret_cast<ExternalSemaphoreProperties const *>( &rhs ) )
32841  {
32842  }
32843 
32845 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
32846 
32848  {
32849  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties const *>( &rhs );
32850  return *this;
32851  }
32852 
32854  {
32855  return *reinterpret_cast<const VkExternalSemaphoreProperties *>( this );
32856  }
32857 
32859  {
32860  return *reinterpret_cast<VkExternalSemaphoreProperties *>( this );
32861  }
32862 
32863 #if defined( VULKAN_HPP_USE_REFLECT )
32864 # if 14 <= VULKAN_HPP_CPP_VERSION
32865  auto
32866 # else
32867  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
32868  void * const &,
32872 # endif
32873  reflect() const VULKAN_HPP_NOEXCEPT
32874  {
32875  return std::tie( sType, pNext, exportFromImportedHandleTypes, compatibleHandleTypes, externalSemaphoreFeatures );
32876  }
32877 #endif
32878 
32879 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
32880  auto operator<=>( ExternalSemaphoreProperties const & ) const = default;
32881 #else
32883  {
32884 # if defined( VULKAN_HPP_USE_REFLECT )
32885  return this->reflect() == rhs.reflect();
32886 # else
32887  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( exportFromImportedHandleTypes == rhs.exportFromImportedHandleTypes ) &&
32888  ( compatibleHandleTypes == rhs.compatibleHandleTypes ) && ( externalSemaphoreFeatures == rhs.externalSemaphoreFeatures );
32889 # endif
32890  }
32891 
32893  {
32894  return !operator==( rhs );
32895  }
32896 #endif
32897 
32898  public:
32899  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eExternalSemaphoreProperties;
32900  void * pNext = {};
32904  };
32905 
32906  template <>
32908  {
32910  };
32912 
32914  {
32916 
32917  static const bool allowDuplicate = false;
32918  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFenceCreateInfo;
32919 
32920 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
32922  : pNext( pNext_ )
32923  , flags( flags_ )
32924  {
32925  }
32926 
32927  VULKAN_HPP_CONSTEXPR FenceCreateInfo( FenceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
32928 
32929  FenceCreateInfo( VkFenceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : FenceCreateInfo( *reinterpret_cast<FenceCreateInfo const *>( &rhs ) ) {}
32930 
32931  FenceCreateInfo & operator=( FenceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
32932 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
32933 
32935  {
32936  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::FenceCreateInfo const *>( &rhs );
32937  return *this;
32938  }
32939 
32940 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
32942  {
32943  pNext = pNext_;
32944  return *this;
32945  }
32946 
32948  {
32949  flags = flags_;
32950  return *this;
32951  }
32952 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
32953 
32954  operator VkFenceCreateInfo const &() const VULKAN_HPP_NOEXCEPT
32955  {
32956  return *reinterpret_cast<const VkFenceCreateInfo *>( this );
32957  }
32958 
32960  {
32961  return *reinterpret_cast<VkFenceCreateInfo *>( this );
32962  }
32963 
32964 #if defined( VULKAN_HPP_USE_REFLECT )
32965 # if 14 <= VULKAN_HPP_CPP_VERSION
32966  auto
32967 # else
32968  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::FenceCreateFlags const &>
32969 # endif
32970  reflect() const VULKAN_HPP_NOEXCEPT
32971  {
32972  return std::tie( sType, pNext, flags );
32973  }
32974 #endif
32975 
32976 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
32977  auto operator<=>( FenceCreateInfo const & ) const = default;
32978 #else
32980  {
32981 # if defined( VULKAN_HPP_USE_REFLECT )
32982  return this->reflect() == rhs.reflect();
32983 # else
32984  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags );
32985 # endif
32986  }
32987 
32989  {
32990  return !operator==( rhs );
32991  }
32992 #endif
32993 
32994  public:
32995  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eFenceCreateInfo;
32996  const void * pNext = {};
32998  };
32999 
33000  template <>
33002  {
33004  };
33005 
33007  {
33009 
33010  static const bool allowDuplicate = false;
33011  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFenceGetFdInfoKHR;
33012 
33013 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
33017  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
33018  : pNext( pNext_ )
33019  , fence( fence_ )
33020  , handleType( handleType_ )
33021  {
33022  }
33023 
33024  VULKAN_HPP_CONSTEXPR FenceGetFdInfoKHR( FenceGetFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
33025 
33026  FenceGetFdInfoKHR( VkFenceGetFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : FenceGetFdInfoKHR( *reinterpret_cast<FenceGetFdInfoKHR const *>( &rhs ) ) {}
33027 
33028  FenceGetFdInfoKHR & operator=( FenceGetFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
33029 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
33030 
33032  {
33033  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::FenceGetFdInfoKHR const *>( &rhs );
33034  return *this;
33035  }
33036 
33037 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
33039  {
33040  pNext = pNext_;
33041  return *this;
33042  }
33043 
33045  {
33046  fence = fence_;
33047  return *this;
33048  }
33049 
33051  {
33052  handleType = handleType_;
33053  return *this;
33054  }
33055 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
33056 
33057  operator VkFenceGetFdInfoKHR const &() const VULKAN_HPP_NOEXCEPT
33058  {
33059  return *reinterpret_cast<const VkFenceGetFdInfoKHR *>( this );
33060  }
33061 
33063  {
33064  return *reinterpret_cast<VkFenceGetFdInfoKHR *>( this );
33065  }
33066 
33067 #if defined( VULKAN_HPP_USE_REFLECT )
33068 # if 14 <= VULKAN_HPP_CPP_VERSION
33069  auto
33070 # else
33071  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
33072  const void * const &,
33075 # endif
33076  reflect() const VULKAN_HPP_NOEXCEPT
33077  {
33078  return std::tie( sType, pNext, fence, handleType );
33079  }
33080 #endif
33081 
33082 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
33083  auto operator<=>( FenceGetFdInfoKHR const & ) const = default;
33084 #else
33086  {
33087 # if defined( VULKAN_HPP_USE_REFLECT )
33088  return this->reflect() == rhs.reflect();
33089 # else
33090  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( fence == rhs.fence ) && ( handleType == rhs.handleType );
33091 # endif
33092  }
33093 
33095  {
33096  return !operator==( rhs );
33097  }
33098 #endif
33099 
33100  public:
33101  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eFenceGetFdInfoKHR;
33102  const void * pNext = {};
33105  };
33106 
33107  template <>
33109  {
33111  };
33112 
33113 #if defined( VK_USE_PLATFORM_WIN32_KHR )
33114  struct FenceGetWin32HandleInfoKHR
33115  {
33116  using NativeType = VkFenceGetWin32HandleInfoKHR;
33117 
33118  static const bool allowDuplicate = false;
33119  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFenceGetWin32HandleInfoKHR;
33120 
33121 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
33122  VULKAN_HPP_CONSTEXPR FenceGetWin32HandleInfoKHR(
33123  VULKAN_HPP_NAMESPACE::Fence fence_ = {},
33125  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
33126  : pNext( pNext_ )
33127  , fence( fence_ )
33128  , handleType( handleType_ )
33129  {
33130  }
33131 
33132  VULKAN_HPP_CONSTEXPR FenceGetWin32HandleInfoKHR( FenceGetWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
33133 
33134  FenceGetWin32HandleInfoKHR( VkFenceGetWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
33135  : FenceGetWin32HandleInfoKHR( *reinterpret_cast<FenceGetWin32HandleInfoKHR const *>( &rhs ) )
33136  {
33137  }
33138 
33139  FenceGetWin32HandleInfoKHR & operator=( FenceGetWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
33140 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
33141 
33142  FenceGetWin32HandleInfoKHR & operator=( VkFenceGetWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
33143  {
33144  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::FenceGetWin32HandleInfoKHR const *>( &rhs );
33145  return *this;
33146  }
33147 
33148 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
33149  VULKAN_HPP_CONSTEXPR_14 FenceGetWin32HandleInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
33150  {
33151  pNext = pNext_;
33152  return *this;
33153  }
33154 
33155  VULKAN_HPP_CONSTEXPR_14 FenceGetWin32HandleInfoKHR & setFence( VULKAN_HPP_NAMESPACE::Fence fence_ ) VULKAN_HPP_NOEXCEPT
33156  {
33157  fence = fence_;
33158  return *this;
33159  }
33160 
33161  VULKAN_HPP_CONSTEXPR_14 FenceGetWin32HandleInfoKHR & setHandleType( VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType_ ) VULKAN_HPP_NOEXCEPT
33162  {
33163  handleType = handleType_;
33164  return *this;
33165  }
33166 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
33167 
33168  operator VkFenceGetWin32HandleInfoKHR const &() const VULKAN_HPP_NOEXCEPT
33169  {
33170  return *reinterpret_cast<const VkFenceGetWin32HandleInfoKHR *>( this );
33171  }
33172 
33174  {
33175  return *reinterpret_cast<VkFenceGetWin32HandleInfoKHR *>( this );
33176  }
33177 
33178 # if defined( VULKAN_HPP_USE_REFLECT )
33179 # if 14 <= VULKAN_HPP_CPP_VERSION
33180  auto
33181 # else
33182  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
33183  const void * const &,
33186 # endif
33187  reflect() const VULKAN_HPP_NOEXCEPT
33188  {
33189  return std::tie( sType, pNext, fence, handleType );
33190  }
33191 # endif
33192 
33193 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
33194  auto operator<=>( FenceGetWin32HandleInfoKHR const & ) const = default;
33195 # else
33196  bool operator==( FenceGetWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
33197  {
33198 # if defined( VULKAN_HPP_USE_REFLECT )
33199  return this->reflect() == rhs.reflect();
33200 # else
33201  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( fence == rhs.fence ) && ( handleType == rhs.handleType );
33202 # endif
33203  }
33204 
33205  bool operator!=( FenceGetWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
33206  {
33207  return !operator==( rhs );
33208  }
33209 # endif
33210 
33211  public:
33212  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eFenceGetWin32HandleInfoKHR;
33213  const void * pNext = {};
33214  VULKAN_HPP_NAMESPACE::Fence fence = {};
33216  };
33217 
33218  template <>
33219  struct CppType<StructureType, StructureType::eFenceGetWin32HandleInfoKHR>
33220  {
33221  using Type = FenceGetWin32HandleInfoKHR;
33222  };
33223 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
33224 
33226  {
33228 
33229  static const bool allowDuplicate = false;
33230  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFilterCubicImageViewImageFormatPropertiesEXT;
33231 
33232 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
33234  VULKAN_HPP_NAMESPACE::Bool32 filterCubicMinmax_ = {},
33235  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
33236  : pNext( pNext_ )
33237  , filterCubic( filterCubic_ )
33238  , filterCubicMinmax( filterCubicMinmax_ )
33239  {
33240  }
33241 
33242  VULKAN_HPP_CONSTEXPR FilterCubicImageViewImageFormatPropertiesEXT( FilterCubicImageViewImageFormatPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
33243 
33245  : FilterCubicImageViewImageFormatPropertiesEXT( *reinterpret_cast<FilterCubicImageViewImageFormatPropertiesEXT const *>( &rhs ) )
33246  {
33247  }
33248 
33250 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
33251 
33253  {
33254  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::FilterCubicImageViewImageFormatPropertiesEXT const *>( &rhs );
33255  return *this;
33256  }
33257 
33259  {
33260  return *reinterpret_cast<const VkFilterCubicImageViewImageFormatPropertiesEXT *>( this );
33261  }
33262 
33264  {
33265  return *reinterpret_cast<VkFilterCubicImageViewImageFormatPropertiesEXT *>( this );
33266  }
33267 
33268 #if defined( VULKAN_HPP_USE_REFLECT )
33269 # if 14 <= VULKAN_HPP_CPP_VERSION
33270  auto
33271 # else
33272  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
33273 # endif
33274  reflect() const VULKAN_HPP_NOEXCEPT
33275  {
33276  return std::tie( sType, pNext, filterCubic, filterCubicMinmax );
33277  }
33278 #endif
33279 
33280 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
33281  auto operator<=>( FilterCubicImageViewImageFormatPropertiesEXT const & ) const = default;
33282 #else
33284  {
33285 # if defined( VULKAN_HPP_USE_REFLECT )
33286  return this->reflect() == rhs.reflect();
33287 # else
33288  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( filterCubic == rhs.filterCubic ) && ( filterCubicMinmax == rhs.filterCubicMinmax );
33289 # endif
33290  }
33291 
33293  {
33294  return !operator==( rhs );
33295  }
33296 #endif
33297 
33298  public:
33299  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eFilterCubicImageViewImageFormatPropertiesEXT;
33300  void * pNext = {};
33302  VULKAN_HPP_NAMESPACE::Bool32 filterCubicMinmax = {};
33303  };
33304 
33305  template <>
33307  {
33309  };
33310 
33312  {
33314 
33315 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
33317  VULKAN_HPP_NAMESPACE::FormatFeatureFlags optimalTilingFeatures_ = {},
33319  : linearTilingFeatures( linearTilingFeatures_ )
33320  , optimalTilingFeatures( optimalTilingFeatures_ )
33321  , bufferFeatures( bufferFeatures_ )
33322  {
33323  }
33324 
33325  VULKAN_HPP_CONSTEXPR FormatProperties( FormatProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
33326 
33327  FormatProperties( VkFormatProperties const & rhs ) VULKAN_HPP_NOEXCEPT : FormatProperties( *reinterpret_cast<FormatProperties const *>( &rhs ) ) {}
33328 
33329  FormatProperties & operator=( FormatProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
33330 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
33331 
33333  {
33334  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::FormatProperties const *>( &rhs );
33335  return *this;
33336  }
33337 
33338  operator VkFormatProperties const &() const VULKAN_HPP_NOEXCEPT
33339  {
33340  return *reinterpret_cast<const VkFormatProperties *>( this );
33341  }
33342 
33344  {
33345  return *reinterpret_cast<VkFormatProperties *>( this );
33346  }
33347 
33348 #if defined( VULKAN_HPP_USE_REFLECT )
33349 # if 14 <= VULKAN_HPP_CPP_VERSION
33350  auto
33351 # else
33352  std::tuple<VULKAN_HPP_NAMESPACE::FormatFeatureFlags const &,
33355 # endif
33356  reflect() const VULKAN_HPP_NOEXCEPT
33357  {
33358  return std::tie( linearTilingFeatures, optimalTilingFeatures, bufferFeatures );
33359  }
33360 #endif
33361 
33362 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
33363  auto operator<=>( FormatProperties const & ) const = default;
33364 #else
33366  {
33367 # if defined( VULKAN_HPP_USE_REFLECT )
33368  return this->reflect() == rhs.reflect();
33369 # else
33370  return ( linearTilingFeatures == rhs.linearTilingFeatures ) && ( optimalTilingFeatures == rhs.optimalTilingFeatures ) &&
33371  ( bufferFeatures == rhs.bufferFeatures );
33372 # endif
33373  }
33374 
33376  {
33377  return !operator==( rhs );
33378  }
33379 #endif
33380 
33381  public:
33382  VULKAN_HPP_NAMESPACE::FormatFeatureFlags linearTilingFeatures = {};
33383  VULKAN_HPP_NAMESPACE::FormatFeatureFlags optimalTilingFeatures = {};
33385  };
33386 
33388  {
33390 
33391  static const bool allowDuplicate = false;
33392  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFormatProperties2;
33393 
33394 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
33396  : pNext( pNext_ )
33397  , formatProperties( formatProperties_ )
33398  {
33399  }
33400 
33401  VULKAN_HPP_CONSTEXPR FormatProperties2( FormatProperties2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
33402 
33403  FormatProperties2( VkFormatProperties2 const & rhs ) VULKAN_HPP_NOEXCEPT : FormatProperties2( *reinterpret_cast<FormatProperties2 const *>( &rhs ) ) {}
33404 
33405  FormatProperties2 & operator=( FormatProperties2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
33406 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
33407 
33409  {
33410  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::FormatProperties2 const *>( &rhs );
33411  return *this;
33412  }
33413 
33414  operator VkFormatProperties2 const &() const VULKAN_HPP_NOEXCEPT
33415  {
33416  return *reinterpret_cast<const VkFormatProperties2 *>( this );
33417  }
33418 
33420  {
33421  return *reinterpret_cast<VkFormatProperties2 *>( this );
33422  }
33423 
33424 #if defined( VULKAN_HPP_USE_REFLECT )
33425 # if 14 <= VULKAN_HPP_CPP_VERSION
33426  auto
33427 # else
33428  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::FormatProperties const &>
33429 # endif
33430  reflect() const VULKAN_HPP_NOEXCEPT
33431  {
33432  return std::tie( sType, pNext, formatProperties );
33433  }
33434 #endif
33435 
33436 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
33437  auto operator<=>( FormatProperties2 const & ) const = default;
33438 #else
33440  {
33441 # if defined( VULKAN_HPP_USE_REFLECT )
33442  return this->reflect() == rhs.reflect();
33443 # else
33444  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( formatProperties == rhs.formatProperties );
33445 # endif
33446  }
33447 
33449  {
33450  return !operator==( rhs );
33451  }
33452 #endif
33453 
33454  public:
33455  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eFormatProperties2;
33456  void * pNext = {};
33458  };
33459 
33460  template <>
33462  {
33464  };
33466 
33468  {
33470 
33471  static const bool allowDuplicate = false;
33472  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFormatProperties3;
33473 
33474 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
33476  VULKAN_HPP_NAMESPACE::FormatFeatureFlags2 optimalTilingFeatures_ = {},
33477  VULKAN_HPP_NAMESPACE::FormatFeatureFlags2 bufferFeatures_ = {},
33478  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
33479  : pNext( pNext_ )
33480  , linearTilingFeatures( linearTilingFeatures_ )
33481  , optimalTilingFeatures( optimalTilingFeatures_ )
33482  , bufferFeatures( bufferFeatures_ )
33483  {
33484  }
33485 
33486  VULKAN_HPP_CONSTEXPR FormatProperties3( FormatProperties3 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
33487 
33488  FormatProperties3( VkFormatProperties3 const & rhs ) VULKAN_HPP_NOEXCEPT : FormatProperties3( *reinterpret_cast<FormatProperties3 const *>( &rhs ) ) {}
33489 
33490  FormatProperties3 & operator=( FormatProperties3 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
33491 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
33492 
33494  {
33495  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::FormatProperties3 const *>( &rhs );
33496  return *this;
33497  }
33498 
33499  operator VkFormatProperties3 const &() const VULKAN_HPP_NOEXCEPT
33500  {
33501  return *reinterpret_cast<const VkFormatProperties3 *>( this );
33502  }
33503 
33505  {
33506  return *reinterpret_cast<VkFormatProperties3 *>( this );
33507  }
33508 
33509 #if defined( VULKAN_HPP_USE_REFLECT )
33510 # if 14 <= VULKAN_HPP_CPP_VERSION
33511  auto
33512 # else
33513  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
33514  void * const &,
33518 # endif
33519  reflect() const VULKAN_HPP_NOEXCEPT
33520  {
33521  return std::tie( sType, pNext, linearTilingFeatures, optimalTilingFeatures, bufferFeatures );
33522  }
33523 #endif
33524 
33525 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
33526  auto operator<=>( FormatProperties3 const & ) const = default;
33527 #else
33529  {
33530 # if defined( VULKAN_HPP_USE_REFLECT )
33531  return this->reflect() == rhs.reflect();
33532 # else
33533  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( linearTilingFeatures == rhs.linearTilingFeatures ) &&
33534  ( optimalTilingFeatures == rhs.optimalTilingFeatures ) && ( bufferFeatures == rhs.bufferFeatures );
33535 # endif
33536  }
33537 
33539  {
33540  return !operator==( rhs );
33541  }
33542 #endif
33543 
33544  public:
33545  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eFormatProperties3;
33546  void * pNext = {};
33548  VULKAN_HPP_NAMESPACE::FormatFeatureFlags2 optimalTilingFeatures = {};
33550  };
33551 
33552  template <>
33554  {
33556  };
33558 
33560  {
33562 
33563  static const bool allowDuplicate = false;
33564  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFragmentShadingRateAttachmentInfoKHR;
33565 
33566 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
33568  VULKAN_HPP_NAMESPACE::Extent2D shadingRateAttachmentTexelSize_ = {},
33569  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
33570  : pNext( pNext_ )
33571  , pFragmentShadingRateAttachment( pFragmentShadingRateAttachment_ )
33572  , shadingRateAttachmentTexelSize( shadingRateAttachmentTexelSize_ )
33573  {
33574  }
33575 
33576  VULKAN_HPP_CONSTEXPR FragmentShadingRateAttachmentInfoKHR( FragmentShadingRateAttachmentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
33577 
33579  : FragmentShadingRateAttachmentInfoKHR( *reinterpret_cast<FragmentShadingRateAttachmentInfoKHR const *>( &rhs ) )
33580  {
33581  }
33582 
33584 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
33585 
33587  {
33588  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::FragmentShadingRateAttachmentInfoKHR const *>( &rhs );
33589  return *this;
33590  }
33591 
33592 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
33594  {
33595  pNext = pNext_;
33596  return *this;
33597  }
33598 
33601  {
33602  pFragmentShadingRateAttachment = pFragmentShadingRateAttachment_;
33603  return *this;
33604  }
33605 
33608  {
33609  shadingRateAttachmentTexelSize = shadingRateAttachmentTexelSize_;
33610  return *this;
33611  }
33612 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
33613 
33615  {
33616  return *reinterpret_cast<const VkFragmentShadingRateAttachmentInfoKHR *>( this );
33617  }
33618 
33620  {
33621  return *reinterpret_cast<VkFragmentShadingRateAttachmentInfoKHR *>( this );
33622  }
33623 
33624 #if defined( VULKAN_HPP_USE_REFLECT )
33625 # if 14 <= VULKAN_HPP_CPP_VERSION
33626  auto
33627 # else
33628  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
33629  const void * const &,
33632 # endif
33633  reflect() const VULKAN_HPP_NOEXCEPT
33634  {
33635  return std::tie( sType, pNext, pFragmentShadingRateAttachment, shadingRateAttachmentTexelSize );
33636  }
33637 #endif
33638 
33639 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
33640  auto operator<=>( FragmentShadingRateAttachmentInfoKHR const & ) const = default;
33641 #else
33643  {
33644 # if defined( VULKAN_HPP_USE_REFLECT )
33645  return this->reflect() == rhs.reflect();
33646 # else
33647  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pFragmentShadingRateAttachment == rhs.pFragmentShadingRateAttachment ) &&
33648  ( shadingRateAttachmentTexelSize == rhs.shadingRateAttachmentTexelSize );
33649 # endif
33650  }
33651 
33653  {
33654  return !operator==( rhs );
33655  }
33656 #endif
33657 
33658  public:
33659  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eFragmentShadingRateAttachmentInfoKHR;
33660  const void * pNext = {};
33661  const VULKAN_HPP_NAMESPACE::AttachmentReference2 * pFragmentShadingRateAttachment = {};
33662  VULKAN_HPP_NAMESPACE::Extent2D shadingRateAttachmentTexelSize = {};
33663  };
33664 
33665  template <>
33667  {
33669  };
33670 
33672  {
33674 
33675  static const bool allowDuplicate = false;
33676  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFramebufferAttachmentImageInfo;
33677 
33678 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
33681  uint32_t width_ = {},
33682  uint32_t height_ = {},
33683  uint32_t layerCount_ = {},
33684  uint32_t viewFormatCount_ = {},
33685  const VULKAN_HPP_NAMESPACE::Format * pViewFormats_ = {},
33686  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
33687  : pNext( pNext_ )
33688  , flags( flags_ )
33689  , usage( usage_ )
33690  , width( width_ )
33691  , height( height_ )
33692  , layerCount( layerCount_ )
33693  , viewFormatCount( viewFormatCount_ )
33694  , pViewFormats( pViewFormats_ )
33695  {
33696  }
33697 
33698  VULKAN_HPP_CONSTEXPR FramebufferAttachmentImageInfo( FramebufferAttachmentImageInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
33699 
33701  : FramebufferAttachmentImageInfo( *reinterpret_cast<FramebufferAttachmentImageInfo const *>( &rhs ) )
33702  {
33703  }
33704 
33705 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
33708  uint32_t width_,
33709  uint32_t height_,
33710  uint32_t layerCount_,
33712  const void * pNext_ = nullptr )
33713  : pNext( pNext_ )
33714  , flags( flags_ )
33715  , usage( usage_ )
33716  , width( width_ )
33717  , height( height_ )
33718  , layerCount( layerCount_ )
33719  , viewFormatCount( static_cast<uint32_t>( viewFormats_.size() ) )
33720  , pViewFormats( viewFormats_.data() )
33721  {
33722  }
33723 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33724 
33726 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
33727 
33729  {
33730  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::FramebufferAttachmentImageInfo const *>( &rhs );
33731  return *this;
33732  }
33733 
33734 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
33736  {
33737  pNext = pNext_;
33738  return *this;
33739  }
33740 
33742  {
33743  flags = flags_;
33744  return *this;
33745  }
33746 
33748  {
33749  usage = usage_;
33750  return *this;
33751  }
33752 
33754  {
33755  width = width_;
33756  return *this;
33757  }
33758 
33760  {
33761  height = height_;
33762  return *this;
33763  }
33764 
33766  {
33767  layerCount = layerCount_;
33768  return *this;
33769  }
33770 
33772  {
33773  viewFormatCount = viewFormatCount_;
33774  return *this;
33775  }
33776 
33778  {
33779  pViewFormats = pViewFormats_;
33780  return *this;
33781  }
33782 
33783 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
33786  {
33787  viewFormatCount = static_cast<uint32_t>( viewFormats_.size() );
33788  pViewFormats = viewFormats_.data();
33789  return *this;
33790  }
33791 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33792 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
33793 
33795  {
33796  return *reinterpret_cast<const VkFramebufferAttachmentImageInfo *>( this );
33797  }
33798 
33800  {
33801  return *reinterpret_cast<VkFramebufferAttachmentImageInfo *>( this );
33802  }
33803 
33804 #if defined( VULKAN_HPP_USE_REFLECT )
33805 # if 14 <= VULKAN_HPP_CPP_VERSION
33806  auto
33807 # else
33808  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
33809  const void * const &,
33812  uint32_t const &,
33813  uint32_t const &,
33814  uint32_t const &,
33815  uint32_t const &,
33816  const VULKAN_HPP_NAMESPACE::Format * const &>
33817 # endif
33818  reflect() const VULKAN_HPP_NOEXCEPT
33819  {
33820  return std::tie( sType, pNext, flags, usage, width, height, layerCount, viewFormatCount, pViewFormats );
33821  }
33822 #endif
33823 
33824 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
33825  auto operator<=>( FramebufferAttachmentImageInfo const & ) const = default;
33826 #else
33828  {
33829 # if defined( VULKAN_HPP_USE_REFLECT )
33830  return this->reflect() == rhs.reflect();
33831 # else
33832  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( usage == rhs.usage ) && ( width == rhs.width ) &&
33833  ( height == rhs.height ) && ( layerCount == rhs.layerCount ) && ( viewFormatCount == rhs.viewFormatCount ) && ( pViewFormats == rhs.pViewFormats );
33834 # endif
33835  }
33836 
33838  {
33839  return !operator==( rhs );
33840  }
33841 #endif
33842 
33843  public:
33844  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eFramebufferAttachmentImageInfo;
33845  const void * pNext = {};
33848  uint32_t width = {};
33849  uint32_t height = {};
33850  uint32_t layerCount = {};
33851  uint32_t viewFormatCount = {};
33852  const VULKAN_HPP_NAMESPACE::Format * pViewFormats = {};
33853  };
33854 
33855  template <>
33857  {
33859  };
33861 
33863  {
33865 
33866  static const bool allowDuplicate = false;
33867  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFramebufferAttachmentsCreateInfo;
33868 
33869 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
33870  VULKAN_HPP_CONSTEXPR FramebufferAttachmentsCreateInfo( uint32_t attachmentImageInfoCount_ = {},
33871  const VULKAN_HPP_NAMESPACE::FramebufferAttachmentImageInfo * pAttachmentImageInfos_ = {},
33872  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
33873  : pNext( pNext_ )
33874  , attachmentImageInfoCount( attachmentImageInfoCount_ )
33875  , pAttachmentImageInfos( pAttachmentImageInfos_ )
33876  {
33877  }
33878 
33879  VULKAN_HPP_CONSTEXPR FramebufferAttachmentsCreateInfo( FramebufferAttachmentsCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
33880 
33882  : FramebufferAttachmentsCreateInfo( *reinterpret_cast<FramebufferAttachmentsCreateInfo const *>( &rhs ) )
33883  {
33884  }
33885 
33886 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
33889  const void * pNext_ = nullptr )
33890  : pNext( pNext_ )
33891  , attachmentImageInfoCount( static_cast<uint32_t>( attachmentImageInfos_.size() ) )
33892  , pAttachmentImageInfos( attachmentImageInfos_.data() )
33893  {
33894  }
33895 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33896 
33898 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
33899 
33901  {
33902  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::FramebufferAttachmentsCreateInfo const *>( &rhs );
33903  return *this;
33904  }
33905 
33906 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
33908  {
33909  pNext = pNext_;
33910  return *this;
33911  }
33912 
33914  {
33915  attachmentImageInfoCount = attachmentImageInfoCount_;
33916  return *this;
33917  }
33918 
33921  {
33922  pAttachmentImageInfos = pAttachmentImageInfos_;
33923  return *this;
33924  }
33925 
33926 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
33930  {
33931  attachmentImageInfoCount = static_cast<uint32_t>( attachmentImageInfos_.size() );
33932  pAttachmentImageInfos = attachmentImageInfos_.data();
33933  return *this;
33934  }
33935 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
33936 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
33937 
33939  {
33940  return *reinterpret_cast<const VkFramebufferAttachmentsCreateInfo *>( this );
33941  }
33942 
33944  {
33945  return *reinterpret_cast<VkFramebufferAttachmentsCreateInfo *>( this );
33946  }
33947 
33948 #if defined( VULKAN_HPP_USE_REFLECT )
33949 # if 14 <= VULKAN_HPP_CPP_VERSION
33950  auto
33951 # else
33952  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
33953  const void * const &,
33954  uint32_t const &,
33956 # endif
33957  reflect() const VULKAN_HPP_NOEXCEPT
33958  {
33959  return std::tie( sType, pNext, attachmentImageInfoCount, pAttachmentImageInfos );
33960  }
33961 #endif
33962 
33963 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
33964  auto operator<=>( FramebufferAttachmentsCreateInfo const & ) const = default;
33965 #else
33967  {
33968 # if defined( VULKAN_HPP_USE_REFLECT )
33969  return this->reflect() == rhs.reflect();
33970 # else
33971  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( attachmentImageInfoCount == rhs.attachmentImageInfoCount ) &&
33972  ( pAttachmentImageInfos == rhs.pAttachmentImageInfos );
33973 # endif
33974  }
33975 
33977  {
33978  return !operator==( rhs );
33979  }
33980 #endif
33981 
33982  public:
33983  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eFramebufferAttachmentsCreateInfo;
33984  const void * pNext = {};
33985  uint32_t attachmentImageInfoCount = {};
33986  const VULKAN_HPP_NAMESPACE::FramebufferAttachmentImageInfo * pAttachmentImageInfos = {};
33987  };
33988 
33989  template <>
33991  {
33993  };
33995 
33997  {
33999 
34000  static const bool allowDuplicate = false;
34001  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFramebufferCreateInfo;
34002 
34003 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
34005  VULKAN_HPP_NAMESPACE::RenderPass renderPass_ = {},
34006  uint32_t attachmentCount_ = {},
34007  const VULKAN_HPP_NAMESPACE::ImageView * pAttachments_ = {},
34008  uint32_t width_ = {},
34009  uint32_t height_ = {},
34010  uint32_t layers_ = {},
34011  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
34012  : pNext( pNext_ )
34013  , flags( flags_ )
34014  , renderPass( renderPass_ )
34015  , attachmentCount( attachmentCount_ )
34016  , pAttachments( pAttachments_ )
34017  , width( width_ )
34018  , height( height_ )
34019  , layers( layers_ )
34020  {
34021  }
34022 
34023  VULKAN_HPP_CONSTEXPR FramebufferCreateInfo( FramebufferCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
34024 
34026  : FramebufferCreateInfo( *reinterpret_cast<FramebufferCreateInfo const *>( &rhs ) )
34027  {
34028  }
34029 
34030 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
34034  uint32_t width_ = {},
34035  uint32_t height_ = {},
34036  uint32_t layers_ = {},
34037  const void * pNext_ = nullptr )
34038  : pNext( pNext_ )
34039  , flags( flags_ )
34040  , renderPass( renderPass_ )
34041  , attachmentCount( static_cast<uint32_t>( attachments_.size() ) )
34042  , pAttachments( attachments_.data() )
34043  , width( width_ )
34044  , height( height_ )
34045  , layers( layers_ )
34046  {
34047  }
34048 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34049 
34050  FramebufferCreateInfo & operator=( FramebufferCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
34051 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
34052 
34054  {
34055  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::FramebufferCreateInfo const *>( &rhs );
34056  return *this;
34057  }
34058 
34059 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
34061  {
34062  pNext = pNext_;
34063  return *this;
34064  }
34065 
34067  {
34068  flags = flags_;
34069  return *this;
34070  }
34071 
34073  {
34074  renderPass = renderPass_;
34075  return *this;
34076  }
34077 
34079  {
34080  attachmentCount = attachmentCount_;
34081  return *this;
34082  }
34083 
34085  {
34086  pAttachments = pAttachments_;
34087  return *this;
34088  }
34089 
34090 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
34093  {
34094  attachmentCount = static_cast<uint32_t>( attachments_.size() );
34095  pAttachments = attachments_.data();
34096  return *this;
34097  }
34098 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34099 
34101  {
34102  width = width_;
34103  return *this;
34104  }
34105 
34107  {
34108  height = height_;
34109  return *this;
34110  }
34111 
34113  {
34114  layers = layers_;
34115  return *this;
34116  }
34117 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
34118 
34120  {
34121  return *reinterpret_cast<const VkFramebufferCreateInfo *>( this );
34122  }
34123 
34125  {
34126  return *reinterpret_cast<VkFramebufferCreateInfo *>( this );
34127  }
34128 
34129 #if defined( VULKAN_HPP_USE_REFLECT )
34130 # if 14 <= VULKAN_HPP_CPP_VERSION
34131  auto
34132 # else
34133  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
34134  const void * const &,
34137  uint32_t const &,
34138  const VULKAN_HPP_NAMESPACE::ImageView * const &,
34139  uint32_t const &,
34140  uint32_t const &,
34141  uint32_t const &>
34142 # endif
34143  reflect() const VULKAN_HPP_NOEXCEPT
34144  {
34145  return std::tie( sType, pNext, flags, renderPass, attachmentCount, pAttachments, width, height, layers );
34146  }
34147 #endif
34148 
34149 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
34150  auto operator<=>( FramebufferCreateInfo const & ) const = default;
34151 #else
34153  {
34154 # if defined( VULKAN_HPP_USE_REFLECT )
34155  return this->reflect() == rhs.reflect();
34156 # else
34157  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( renderPass == rhs.renderPass ) &&
34158  ( attachmentCount == rhs.attachmentCount ) && ( pAttachments == rhs.pAttachments ) && ( width == rhs.width ) && ( height == rhs.height ) &&
34159  ( layers == rhs.layers );
34160 # endif
34161  }
34162 
34164  {
34165  return !operator==( rhs );
34166  }
34167 #endif
34168 
34169  public:
34170  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eFramebufferCreateInfo;
34171  const void * pNext = {};
34174  uint32_t attachmentCount = {};
34175  const VULKAN_HPP_NAMESPACE::ImageView * pAttachments = {};
34176  uint32_t width = {};
34177  uint32_t height = {};
34178  uint32_t layers = {};
34179  };
34180 
34181  template <>
34183  {
34185  };
34186 
34188  {
34190 
34191  static const bool allowDuplicate = false;
34192  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFramebufferMixedSamplesCombinationNV;
34193 
34194 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
34198  VULKAN_HPP_NAMESPACE::SampleCountFlags depthStencilSamples_ = {},
34199  VULKAN_HPP_NAMESPACE::SampleCountFlags colorSamples_ = {},
34200  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
34201  : pNext( pNext_ )
34202  , coverageReductionMode( coverageReductionMode_ )
34203  , rasterizationSamples( rasterizationSamples_ )
34204  , depthStencilSamples( depthStencilSamples_ )
34205  , colorSamples( colorSamples_ )
34206  {
34207  }
34208 
34209  VULKAN_HPP_CONSTEXPR FramebufferMixedSamplesCombinationNV( FramebufferMixedSamplesCombinationNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
34210 
34212  : FramebufferMixedSamplesCombinationNV( *reinterpret_cast<FramebufferMixedSamplesCombinationNV const *>( &rhs ) )
34213  {
34214  }
34215 
34217 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
34218 
34220  {
34221  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::FramebufferMixedSamplesCombinationNV const *>( &rhs );
34222  return *this;
34223  }
34224 
34226  {
34227  return *reinterpret_cast<const VkFramebufferMixedSamplesCombinationNV *>( this );
34228  }
34229 
34231  {
34232  return *reinterpret_cast<VkFramebufferMixedSamplesCombinationNV *>( this );
34233  }
34234 
34235 #if defined( VULKAN_HPP_USE_REFLECT )
34236 # if 14 <= VULKAN_HPP_CPP_VERSION
34237  auto
34238 # else
34239  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
34240  void * const &,
34245 # endif
34246  reflect() const VULKAN_HPP_NOEXCEPT
34247  {
34248  return std::tie( sType, pNext, coverageReductionMode, rasterizationSamples, depthStencilSamples, colorSamples );
34249  }
34250 #endif
34251 
34252 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
34253  auto operator<=>( FramebufferMixedSamplesCombinationNV const & ) const = default;
34254 #else
34256  {
34257 # if defined( VULKAN_HPP_USE_REFLECT )
34258  return this->reflect() == rhs.reflect();
34259 # else
34260  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( coverageReductionMode == rhs.coverageReductionMode ) &&
34261  ( rasterizationSamples == rhs.rasterizationSamples ) && ( depthStencilSamples == rhs.depthStencilSamples ) && ( colorSamples == rhs.colorSamples );
34262 # endif
34263  }
34264 
34266  {
34267  return !operator==( rhs );
34268  }
34269 #endif
34270 
34271  public:
34272  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eFramebufferMixedSamplesCombinationNV;
34273  void * pNext = {};
34276  VULKAN_HPP_NAMESPACE::SampleCountFlags depthStencilSamples = {};
34278  };
34279 
34280  template <>
34282  {
34284  };
34285 
34287  {
34289 
34290 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
34293  : buffer( buffer_ )
34294  , offset( offset_ )
34295  {
34296  }
34297 
34298  VULKAN_HPP_CONSTEXPR IndirectCommandsStreamNV( IndirectCommandsStreamNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
34299 
34301  : IndirectCommandsStreamNV( *reinterpret_cast<IndirectCommandsStreamNV const *>( &rhs ) )
34302  {
34303  }
34304 
34305  IndirectCommandsStreamNV & operator=( IndirectCommandsStreamNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
34306 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
34307 
34309  {
34310  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::IndirectCommandsStreamNV const *>( &rhs );
34311  return *this;
34312  }
34313 
34314 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
34316  {
34317  buffer = buffer_;
34318  return *this;
34319  }
34320 
34322  {
34323  offset = offset_;
34324  return *this;
34325  }
34326 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
34327 
34329  {
34330  return *reinterpret_cast<const VkIndirectCommandsStreamNV *>( this );
34331  }
34332 
34334  {
34335  return *reinterpret_cast<VkIndirectCommandsStreamNV *>( this );
34336  }
34337 
34338 #if defined( VULKAN_HPP_USE_REFLECT )
34339 # if 14 <= VULKAN_HPP_CPP_VERSION
34340  auto
34341 # else
34342  std::tuple<VULKAN_HPP_NAMESPACE::Buffer const &, VULKAN_HPP_NAMESPACE::DeviceSize const &>
34343 # endif
34344  reflect() const VULKAN_HPP_NOEXCEPT
34345  {
34346  return std::tie( buffer, offset );
34347  }
34348 #endif
34349 
34350 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
34351  auto operator<=>( IndirectCommandsStreamNV const & ) const = default;
34352 #else
34354  {
34355 # if defined( VULKAN_HPP_USE_REFLECT )
34356  return this->reflect() == rhs.reflect();
34357 # else
34358  return ( buffer == rhs.buffer ) && ( offset == rhs.offset );
34359 # endif
34360  }
34361 
34363  {
34364  return !operator==( rhs );
34365  }
34366 #endif
34367 
34368  public:
34371  };
34372 
34374  {
34376 
34377  static const bool allowDuplicate = false;
34378  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eGeneratedCommandsInfoNV;
34379 
34380 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
34383  VULKAN_HPP_NAMESPACE::Pipeline pipeline_ = {},
34384  VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout_ = {},
34385  uint32_t streamCount_ = {},
34386  const VULKAN_HPP_NAMESPACE::IndirectCommandsStreamNV * pStreams_ = {},
34387  uint32_t sequencesCount_ = {},
34388  VULKAN_HPP_NAMESPACE::Buffer preprocessBuffer_ = {},
34389  VULKAN_HPP_NAMESPACE::DeviceSize preprocessOffset_ = {},
34390  VULKAN_HPP_NAMESPACE::DeviceSize preprocessSize_ = {},
34391  VULKAN_HPP_NAMESPACE::Buffer sequencesCountBuffer_ = {},
34392  VULKAN_HPP_NAMESPACE::DeviceSize sequencesCountOffset_ = {},
34393  VULKAN_HPP_NAMESPACE::Buffer sequencesIndexBuffer_ = {},
34394  VULKAN_HPP_NAMESPACE::DeviceSize sequencesIndexOffset_ = {},
34395  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
34396  : pNext( pNext_ )
34397  , pipelineBindPoint( pipelineBindPoint_ )
34398  , pipeline( pipeline_ )
34399  , indirectCommandsLayout( indirectCommandsLayout_ )
34400  , streamCount( streamCount_ )
34401  , pStreams( pStreams_ )
34402  , sequencesCount( sequencesCount_ )
34403  , preprocessBuffer( preprocessBuffer_ )
34404  , preprocessOffset( preprocessOffset_ )
34405  , preprocessSize( preprocessSize_ )
34406  , sequencesCountBuffer( sequencesCountBuffer_ )
34407  , sequencesCountOffset( sequencesCountOffset_ )
34408  , sequencesIndexBuffer( sequencesIndexBuffer_ )
34409  , sequencesIndexOffset( sequencesIndexOffset_ )
34410  {
34411  }
34412 
34413  VULKAN_HPP_CONSTEXPR GeneratedCommandsInfoNV( GeneratedCommandsInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
34414 
34416  : GeneratedCommandsInfoNV( *reinterpret_cast<GeneratedCommandsInfoNV const *>( &rhs ) )
34417  {
34418  }
34419 
34420 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
34423  VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout_,
34425  uint32_t sequencesCount_ = {},
34426  VULKAN_HPP_NAMESPACE::Buffer preprocessBuffer_ = {},
34427  VULKAN_HPP_NAMESPACE::DeviceSize preprocessOffset_ = {},
34428  VULKAN_HPP_NAMESPACE::DeviceSize preprocessSize_ = {},
34429  VULKAN_HPP_NAMESPACE::Buffer sequencesCountBuffer_ = {},
34430  VULKAN_HPP_NAMESPACE::DeviceSize sequencesCountOffset_ = {},
34431  VULKAN_HPP_NAMESPACE::Buffer sequencesIndexBuffer_ = {},
34432  VULKAN_HPP_NAMESPACE::DeviceSize sequencesIndexOffset_ = {},
34433  const void * pNext_ = nullptr )
34434  : pNext( pNext_ )
34435  , pipelineBindPoint( pipelineBindPoint_ )
34436  , pipeline( pipeline_ )
34437  , indirectCommandsLayout( indirectCommandsLayout_ )
34438  , streamCount( static_cast<uint32_t>( streams_.size() ) )
34439  , pStreams( streams_.data() )
34440  , sequencesCount( sequencesCount_ )
34441  , preprocessBuffer( preprocessBuffer_ )
34442  , preprocessOffset( preprocessOffset_ )
34443  , preprocessSize( preprocessSize_ )
34444  , sequencesCountBuffer( sequencesCountBuffer_ )
34445  , sequencesCountOffset( sequencesCountOffset_ )
34446  , sequencesIndexBuffer( sequencesIndexBuffer_ )
34447  , sequencesIndexOffset( sequencesIndexOffset_ )
34448  {
34449  }
34450 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34451 
34452  GeneratedCommandsInfoNV & operator=( GeneratedCommandsInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
34453 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
34454 
34456  {
34457  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoNV const *>( &rhs );
34458  return *this;
34459  }
34460 
34461 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
34463  {
34464  pNext = pNext_;
34465  return *this;
34466  }
34467 
34469  {
34470  pipelineBindPoint = pipelineBindPoint_;
34471  return *this;
34472  }
34473 
34475  {
34476  pipeline = pipeline_;
34477  return *this;
34478  }
34479 
34482  {
34483  indirectCommandsLayout = indirectCommandsLayout_;
34484  return *this;
34485  }
34486 
34488  {
34489  streamCount = streamCount_;
34490  return *this;
34491  }
34492 
34494  {
34495  pStreams = pStreams_;
34496  return *this;
34497  }
34498 
34499 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
34502  {
34503  streamCount = static_cast<uint32_t>( streams_.size() );
34504  pStreams = streams_.data();
34505  return *this;
34506  }
34507 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
34508 
34510  {
34511  sequencesCount = sequencesCount_;
34512  return *this;
34513  }
34514 
34516  {
34517  preprocessBuffer = preprocessBuffer_;
34518  return *this;
34519  }
34520 
34522  {
34523  preprocessOffset = preprocessOffset_;
34524  return *this;
34525  }
34526 
34528  {
34529  preprocessSize = preprocessSize_;
34530  return *this;
34531  }
34532 
34534  {
34535  sequencesCountBuffer = sequencesCountBuffer_;
34536  return *this;
34537  }
34538 
34540  {
34541  sequencesCountOffset = sequencesCountOffset_;
34542  return *this;
34543  }
34544 
34546  {
34547  sequencesIndexBuffer = sequencesIndexBuffer_;
34548  return *this;
34549  }
34550 
34552  {
34553  sequencesIndexOffset = sequencesIndexOffset_;
34554  return *this;
34555  }
34556 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
34557 
34559  {
34560  return *reinterpret_cast<const VkGeneratedCommandsInfoNV *>( this );
34561  }
34562 
34564  {
34565  return *reinterpret_cast<VkGeneratedCommandsInfoNV *>( this );
34566  }
34567 
34568 #if defined( VULKAN_HPP_USE_REFLECT )
34569 # if 14 <= VULKAN_HPP_CPP_VERSION
34570  auto
34571 # else
34572  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
34573  const void * const &,
34577  uint32_t const &,
34579  uint32_t const &,
34587 # endif
34588  reflect() const VULKAN_HPP_NOEXCEPT
34589  {
34590  return std::tie( sType,
34591  pNext,
34592  pipelineBindPoint,
34593  pipeline,
34594  indirectCommandsLayout,
34595  streamCount,
34596  pStreams,
34597  sequencesCount,
34598  preprocessBuffer,
34599  preprocessOffset,
34600  preprocessSize,
34601  sequencesCountBuffer,
34602  sequencesCountOffset,
34603  sequencesIndexBuffer,
34604  sequencesIndexOffset );
34605  }
34606 #endif
34607 
34608 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
34609  auto operator<=>( GeneratedCommandsInfoNV const & ) const = default;
34610 #else
34612  {
34613 # if defined( VULKAN_HPP_USE_REFLECT )
34614  return this->reflect() == rhs.reflect();
34615 # else
34616  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pipelineBindPoint == rhs.pipelineBindPoint ) && ( pipeline == rhs.pipeline ) &&
34617  ( indirectCommandsLayout == rhs.indirectCommandsLayout ) && ( streamCount == rhs.streamCount ) && ( pStreams == rhs.pStreams ) &&
34618  ( sequencesCount == rhs.sequencesCount ) && ( preprocessBuffer == rhs.preprocessBuffer ) && ( preprocessOffset == rhs.preprocessOffset ) &&
34619  ( preprocessSize == rhs.preprocessSize ) && ( sequencesCountBuffer == rhs.sequencesCountBuffer ) &&
34620  ( sequencesCountOffset == rhs.sequencesCountOffset ) && ( sequencesIndexBuffer == rhs.sequencesIndexBuffer ) &&
34621  ( sequencesIndexOffset == rhs.sequencesIndexOffset );
34622 # endif
34623  }
34624 
34626  {
34627  return !operator==( rhs );
34628  }
34629 #endif
34630 
34631  public:
34632  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eGeneratedCommandsInfoNV;
34633  const void * pNext = {};
34637  uint32_t streamCount = {};
34639  uint32_t sequencesCount = {};
34640  VULKAN_HPP_NAMESPACE::Buffer preprocessBuffer = {};
34641  VULKAN_HPP_NAMESPACE::DeviceSize preprocessOffset = {};
34643  VULKAN_HPP_NAMESPACE::Buffer sequencesCountBuffer = {};
34644  VULKAN_HPP_NAMESPACE::DeviceSize sequencesCountOffset = {};
34645  VULKAN_HPP_NAMESPACE::Buffer sequencesIndexBuffer = {};
34646  VULKAN_HPP_NAMESPACE::DeviceSize sequencesIndexOffset = {};
34647  };
34648 
34649  template <>
34651  {
34653  };
34654 
34656  {
34658 
34659  static const bool allowDuplicate = false;
34660  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eGeneratedCommandsMemoryRequirementsInfoNV;
34661 
34662 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
34665  VULKAN_HPP_NAMESPACE::Pipeline pipeline_ = {},
34666  VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout_ = {},
34667  uint32_t maxSequencesCount_ = {},
34668  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
34669  : pNext( pNext_ )
34670  , pipelineBindPoint( pipelineBindPoint_ )
34671  , pipeline( pipeline_ )
34672  , indirectCommandsLayout( indirectCommandsLayout_ )
34673  , maxSequencesCount( maxSequencesCount_ )
34674  {
34675  }
34676 
34677  VULKAN_HPP_CONSTEXPR GeneratedCommandsMemoryRequirementsInfoNV( GeneratedCommandsMemoryRequirementsInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
34678 
34680  : GeneratedCommandsMemoryRequirementsInfoNV( *reinterpret_cast<GeneratedCommandsMemoryRequirementsInfoNV const *>( &rhs ) )
34681  {
34682  }
34683 
34685 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
34686 
34688  {
34689  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoNV const *>( &rhs );
34690  return *this;
34691  }
34692 
34693 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
34695  {
34696  pNext = pNext_;
34697  return *this;
34698  }
34699 
34702  {
34703  pipelineBindPoint = pipelineBindPoint_;
34704  return *this;
34705  }
34706 
34708  {
34709  pipeline = pipeline_;
34710  return *this;
34711  }
34712 
34715  {
34716  indirectCommandsLayout = indirectCommandsLayout_;
34717  return *this;
34718  }
34719 
34721  {
34722  maxSequencesCount = maxSequencesCount_;
34723  return *this;
34724  }
34725 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
34726 
34728  {
34729  return *reinterpret_cast<const VkGeneratedCommandsMemoryRequirementsInfoNV *>( this );
34730  }
34731 
34733  {
34734  return *reinterpret_cast<VkGeneratedCommandsMemoryRequirementsInfoNV *>( this );
34735  }
34736 
34737 #if defined( VULKAN_HPP_USE_REFLECT )
34738 # if 14 <= VULKAN_HPP_CPP_VERSION
34739  auto
34740 # else
34741  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
34742  const void * const &,
34746  uint32_t const &>
34747 # endif
34748  reflect() const VULKAN_HPP_NOEXCEPT
34749  {
34750  return std::tie( sType, pNext, pipelineBindPoint, pipeline, indirectCommandsLayout, maxSequencesCount );
34751  }
34752 #endif
34753 
34754 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
34755  auto operator<=>( GeneratedCommandsMemoryRequirementsInfoNV const & ) const = default;
34756 #else
34758  {
34759 # if defined( VULKAN_HPP_USE_REFLECT )
34760  return this->reflect() == rhs.reflect();
34761 # else
34762  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pipelineBindPoint == rhs.pipelineBindPoint ) && ( pipeline == rhs.pipeline ) &&
34763  ( indirectCommandsLayout == rhs.indirectCommandsLayout ) && ( maxSequencesCount == rhs.maxSequencesCount );
34764 # endif
34765  }
34766 
34768  {
34769  return !operator==( rhs );
34770  }
34771 #endif
34772 
34773  public:
34774  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eGeneratedCommandsMemoryRequirementsInfoNV;
34775  const void * pNext = {};
34779  uint32_t maxSequencesCount = {};
34780  };
34781 
34782  template <>
34784  {
34786  };
34787 
34789  {
34791 
34792 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
34794  VertexInputBindingDescription( uint32_t binding_ = {},
34795  uint32_t stride_ = {},
34797  : binding( binding_ )
34798  , stride( stride_ )
34799  , inputRate( inputRate_ )
34800  {
34801  }
34802 
34803  VULKAN_HPP_CONSTEXPR VertexInputBindingDescription( VertexInputBindingDescription const & rhs ) VULKAN_HPP_NOEXCEPT = default;
34804 
34806  : VertexInputBindingDescription( *reinterpret_cast<VertexInputBindingDescription const *>( &rhs ) )
34807  {
34808  }
34809 
34811 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
34812 
34814  {
34815  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VertexInputBindingDescription const *>( &rhs );
34816  return *this;
34817  }
34818 
34819 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
34821  {
34822  binding = binding_;
34823  return *this;
34824  }
34825 
34827  {
34828  stride = stride_;
34829  return *this;
34830  }
34831 
34833  {
34834  inputRate = inputRate_;
34835  return *this;
34836  }
34837 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
34838 
34840  {
34841  return *reinterpret_cast<const VkVertexInputBindingDescription *>( this );
34842  }
34843 
34845  {
34846  return *reinterpret_cast<VkVertexInputBindingDescription *>( this );
34847  }
34848 
34849 #if defined( VULKAN_HPP_USE_REFLECT )
34850 # if 14 <= VULKAN_HPP_CPP_VERSION
34851  auto
34852 # else
34853  std::tuple<uint32_t const &, uint32_t const &, VULKAN_HPP_NAMESPACE::VertexInputRate const &>
34854 # endif
34855  reflect() const VULKAN_HPP_NOEXCEPT
34856  {
34857  return std::tie( binding, stride, inputRate );
34858  }
34859 #endif
34860 
34861 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
34862  auto operator<=>( VertexInputBindingDescription const & ) const = default;
34863 #else
34865  {
34866 # if defined( VULKAN_HPP_USE_REFLECT )
34867  return this->reflect() == rhs.reflect();
34868 # else
34869  return ( binding == rhs.binding ) && ( stride == rhs.stride ) && ( inputRate == rhs.inputRate );
34870 # endif
34871  }
34872 
34874  {
34875  return !operator==( rhs );
34876  }
34877 #endif
34878 
34879  public:
34880  uint32_t binding = {};
34881  uint32_t stride = {};
34883  };
34884 
34886  {
34888 
34889 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
34891  uint32_t binding_ = {},
34893  uint32_t offset_ = {} ) VULKAN_HPP_NOEXCEPT
34894  : location( location_ )
34895  , binding( binding_ )
34896  , format( format_ )
34897  , offset( offset_ )
34898  {
34899  }
34900 
34901  VULKAN_HPP_CONSTEXPR VertexInputAttributeDescription( VertexInputAttributeDescription const & rhs ) VULKAN_HPP_NOEXCEPT = default;
34902 
34904  : VertexInputAttributeDescription( *reinterpret_cast<VertexInputAttributeDescription const *>( &rhs ) )
34905  {
34906  }
34907 
34909 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
34910 
34912  {
34913  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription const *>( &rhs );
34914  return *this;
34915  }
34916 
34917 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
34919  {
34920  location = location_;
34921  return *this;
34922  }
34923 
34925  {
34926  binding = binding_;
34927  return *this;
34928  }
34929 
34931  {
34932  format = format_;
34933  return *this;
34934  }
34935 
34937  {
34938  offset = offset_;
34939  return *this;
34940  }
34941 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
34942 
34944  {
34945  return *reinterpret_cast<const VkVertexInputAttributeDescription *>( this );
34946  }
34947 
34949  {
34950  return *reinterpret_cast<VkVertexInputAttributeDescription *>( this );
34951  }
34952 
34953 #if defined( VULKAN_HPP_USE_REFLECT )
34954 # if 14 <= VULKAN_HPP_CPP_VERSION
34955  auto
34956 # else
34957  std::tuple<uint32_t const &, uint32_t const &, VULKAN_HPP_NAMESPACE::Format const &, uint32_t const &>
34958 # endif
34959  reflect() const VULKAN_HPP_NOEXCEPT
34960  {
34961  return std::tie( location, binding, format, offset );
34962  }
34963 #endif
34964 
34965 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
34966  auto operator<=>( VertexInputAttributeDescription const & ) const = default;
34967 #else
34969  {
34970 # if defined( VULKAN_HPP_USE_REFLECT )
34971  return this->reflect() == rhs.reflect();
34972 # else
34973  return ( location == rhs.location ) && ( binding == rhs.binding ) && ( format == rhs.format ) && ( offset == rhs.offset );
34974 # endif
34975  }
34976 
34978  {
34979  return !operator==( rhs );
34980  }
34981 #endif
34982 
34983  public:
34984  uint32_t location = {};
34985  uint32_t binding = {};
34987  uint32_t offset = {};
34988  };
34989 
34991  {
34993 
34994  static const bool allowDuplicate = false;
34995  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineVertexInputStateCreateInfo;
34996 
34997 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
34999  uint32_t vertexBindingDescriptionCount_ = {},
35000  const VULKAN_HPP_NAMESPACE::VertexInputBindingDescription * pVertexBindingDescriptions_ = {},
35001  uint32_t vertexAttributeDescriptionCount_ = {},
35002  const VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription * pVertexAttributeDescriptions_ = {},
35003  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
35004  : pNext( pNext_ )
35005  , flags( flags_ )
35006  , vertexBindingDescriptionCount( vertexBindingDescriptionCount_ )
35007  , pVertexBindingDescriptions( pVertexBindingDescriptions_ )
35008  , vertexAttributeDescriptionCount( vertexAttributeDescriptionCount_ )
35009  , pVertexAttributeDescriptions( pVertexAttributeDescriptions_ )
35010  {
35011  }
35012 
35013  VULKAN_HPP_CONSTEXPR PipelineVertexInputStateCreateInfo( PipelineVertexInputStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
35014 
35016  : PipelineVertexInputStateCreateInfo( *reinterpret_cast<PipelineVertexInputStateCreateInfo const *>( &rhs ) )
35017  {
35018  }
35019 
35020 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
35025  const void * pNext_ = nullptr )
35026  : pNext( pNext_ )
35027  , flags( flags_ )
35028  , vertexBindingDescriptionCount( static_cast<uint32_t>( vertexBindingDescriptions_.size() ) )
35029  , pVertexBindingDescriptions( vertexBindingDescriptions_.data() )
35030  , vertexAttributeDescriptionCount( static_cast<uint32_t>( vertexAttributeDescriptions_.size() ) )
35031  , pVertexAttributeDescriptions( vertexAttributeDescriptions_.data() )
35032  {
35033  }
35034 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35035 
35036  PipelineVertexInputStateCreateInfo & operator=( PipelineVertexInputStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
35037 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
35038 
35040  {
35041  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo const *>( &rhs );
35042  return *this;
35043  }
35044 
35045 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
35047  {
35048  pNext = pNext_;
35049  return *this;
35050  }
35051 
35054  {
35055  flags = flags_;
35056  return *this;
35057  }
35058 
35060  {
35061  vertexBindingDescriptionCount = vertexBindingDescriptionCount_;
35062  return *this;
35063  }
35064 
35067  {
35068  pVertexBindingDescriptions = pVertexBindingDescriptions_;
35069  return *this;
35070  }
35071 
35072 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
35076  {
35077  vertexBindingDescriptionCount = static_cast<uint32_t>( vertexBindingDescriptions_.size() );
35078  pVertexBindingDescriptions = vertexBindingDescriptions_.data();
35079  return *this;
35080  }
35081 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35082 
35084  setVertexAttributeDescriptionCount( uint32_t vertexAttributeDescriptionCount_ ) VULKAN_HPP_NOEXCEPT
35085  {
35086  vertexAttributeDescriptionCount = vertexAttributeDescriptionCount_;
35087  return *this;
35088  }
35089 
35092  {
35093  pVertexAttributeDescriptions = pVertexAttributeDescriptions_;
35094  return *this;
35095  }
35096 
35097 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
35101  {
35102  vertexAttributeDescriptionCount = static_cast<uint32_t>( vertexAttributeDescriptions_.size() );
35103  pVertexAttributeDescriptions = vertexAttributeDescriptions_.data();
35104  return *this;
35105  }
35106 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35107 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
35108 
35110  {
35111  return *reinterpret_cast<const VkPipelineVertexInputStateCreateInfo *>( this );
35112  }
35113 
35115  {
35116  return *reinterpret_cast<VkPipelineVertexInputStateCreateInfo *>( this );
35117  }
35118 
35119 #if defined( VULKAN_HPP_USE_REFLECT )
35120 # if 14 <= VULKAN_HPP_CPP_VERSION
35121  auto
35122 # else
35123  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
35124  const void * const &,
35126  uint32_t const &,
35128  uint32_t const &,
35130 # endif
35131  reflect() const VULKAN_HPP_NOEXCEPT
35132  {
35133  return std::tie(
35134  sType, pNext, flags, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions );
35135  }
35136 #endif
35137 
35138 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
35139  auto operator<=>( PipelineVertexInputStateCreateInfo const & ) const = default;
35140 #else
35142  {
35143 # if defined( VULKAN_HPP_USE_REFLECT )
35144  return this->reflect() == rhs.reflect();
35145 # else
35146  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
35147  ( vertexBindingDescriptionCount == rhs.vertexBindingDescriptionCount ) && ( pVertexBindingDescriptions == rhs.pVertexBindingDescriptions ) &&
35148  ( vertexAttributeDescriptionCount == rhs.vertexAttributeDescriptionCount ) && ( pVertexAttributeDescriptions == rhs.pVertexAttributeDescriptions );
35149 # endif
35150  }
35151 
35153  {
35154  return !operator==( rhs );
35155  }
35156 #endif
35157 
35158  public:
35159  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineVertexInputStateCreateInfo;
35160  const void * pNext = {};
35162  uint32_t vertexBindingDescriptionCount = {};
35163  const VULKAN_HPP_NAMESPACE::VertexInputBindingDescription * pVertexBindingDescriptions = {};
35164  uint32_t vertexAttributeDescriptionCount = {};
35165  const VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription * pVertexAttributeDescriptions = {};
35166  };
35167 
35168  template <>
35170  {
35172  };
35173 
35175  {
35177 
35178  static const bool allowDuplicate = false;
35179  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineInputAssemblyStateCreateInfo;
35180 
35181 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
35185  VULKAN_HPP_NAMESPACE::Bool32 primitiveRestartEnable_ = {},
35186  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
35187  : pNext( pNext_ )
35188  , flags( flags_ )
35189  , topology( topology_ )
35190  , primitiveRestartEnable( primitiveRestartEnable_ )
35191  {
35192  }
35193 
35194  VULKAN_HPP_CONSTEXPR PipelineInputAssemblyStateCreateInfo( PipelineInputAssemblyStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
35195 
35197  : PipelineInputAssemblyStateCreateInfo( *reinterpret_cast<PipelineInputAssemblyStateCreateInfo const *>( &rhs ) )
35198  {
35199  }
35200 
35202 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
35203 
35205  {
35206  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineInputAssemblyStateCreateInfo const *>( &rhs );
35207  return *this;
35208  }
35209 
35210 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
35212  {
35213  pNext = pNext_;
35214  return *this;
35215  }
35216 
35219  {
35220  flags = flags_;
35221  return *this;
35222  }
35223 
35225  {
35226  topology = topology_;
35227  return *this;
35228  }
35229 
35232  {
35233  primitiveRestartEnable = primitiveRestartEnable_;
35234  return *this;
35235  }
35236 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
35237 
35239  {
35240  return *reinterpret_cast<const VkPipelineInputAssemblyStateCreateInfo *>( this );
35241  }
35242 
35244  {
35245  return *reinterpret_cast<VkPipelineInputAssemblyStateCreateInfo *>( this );
35246  }
35247 
35248 #if defined( VULKAN_HPP_USE_REFLECT )
35249 # if 14 <= VULKAN_HPP_CPP_VERSION
35250  auto
35251 # else
35252  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
35253  const void * const &,
35257 # endif
35258  reflect() const VULKAN_HPP_NOEXCEPT
35259  {
35260  return std::tie( sType, pNext, flags, topology, primitiveRestartEnable );
35261  }
35262 #endif
35263 
35264 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
35265  auto operator<=>( PipelineInputAssemblyStateCreateInfo const & ) const = default;
35266 #else
35268  {
35269 # if defined( VULKAN_HPP_USE_REFLECT )
35270  return this->reflect() == rhs.reflect();
35271 # else
35272  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( topology == rhs.topology ) &&
35273  ( primitiveRestartEnable == rhs.primitiveRestartEnable );
35274 # endif
35275  }
35276 
35278  {
35279  return !operator==( rhs );
35280  }
35281 #endif
35282 
35283  public:
35284  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineInputAssemblyStateCreateInfo;
35285  const void * pNext = {};
35288  VULKAN_HPP_NAMESPACE::Bool32 primitiveRestartEnable = {};
35289  };
35290 
35291  template <>
35293  {
35295  };
35296 
35298  {
35300 
35301  static const bool allowDuplicate = false;
35302  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineTessellationStateCreateInfo;
35303 
35304 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
35306  uint32_t patchControlPoints_ = {},
35307  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
35308  : pNext( pNext_ )
35309  , flags( flags_ )
35310  , patchControlPoints( patchControlPoints_ )
35311  {
35312  }
35313 
35314  VULKAN_HPP_CONSTEXPR PipelineTessellationStateCreateInfo( PipelineTessellationStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
35315 
35317  : PipelineTessellationStateCreateInfo( *reinterpret_cast<PipelineTessellationStateCreateInfo const *>( &rhs ) )
35318  {
35319  }
35320 
35322 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
35323 
35325  {
35326  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo const *>( &rhs );
35327  return *this;
35328  }
35329 
35330 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
35332  {
35333  pNext = pNext_;
35334  return *this;
35335  }
35336 
35339  {
35340  flags = flags_;
35341  return *this;
35342  }
35343 
35345  {
35346  patchControlPoints = patchControlPoints_;
35347  return *this;
35348  }
35349 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
35350 
35352  {
35353  return *reinterpret_cast<const VkPipelineTessellationStateCreateInfo *>( this );
35354  }
35355 
35357  {
35358  return *reinterpret_cast<VkPipelineTessellationStateCreateInfo *>( this );
35359  }
35360 
35361 #if defined( VULKAN_HPP_USE_REFLECT )
35362 # if 14 <= VULKAN_HPP_CPP_VERSION
35363  auto
35364 # else
35365  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
35366  const void * const &,
35368  uint32_t const &>
35369 # endif
35370  reflect() const VULKAN_HPP_NOEXCEPT
35371  {
35372  return std::tie( sType, pNext, flags, patchControlPoints );
35373  }
35374 #endif
35375 
35376 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
35377  auto operator<=>( PipelineTessellationStateCreateInfo const & ) const = default;
35378 #else
35380  {
35381 # if defined( VULKAN_HPP_USE_REFLECT )
35382  return this->reflect() == rhs.reflect();
35383 # else
35384  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( patchControlPoints == rhs.patchControlPoints );
35385 # endif
35386  }
35387 
35389  {
35390  return !operator==( rhs );
35391  }
35392 #endif
35393 
35394  public:
35395  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineTessellationStateCreateInfo;
35396  const void * pNext = {};
35398  uint32_t patchControlPoints = {};
35399  };
35400 
35401  template <>
35403  {
35405  };
35406 
35408  {
35410 
35411  static const bool allowDuplicate = false;
35412  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineViewportStateCreateInfo;
35413 
35414 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
35416  uint32_t viewportCount_ = {},
35417  const VULKAN_HPP_NAMESPACE::Viewport * pViewports_ = {},
35418  uint32_t scissorCount_ = {},
35419  const VULKAN_HPP_NAMESPACE::Rect2D * pScissors_ = {},
35420  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
35421  : pNext( pNext_ )
35422  , flags( flags_ )
35423  , viewportCount( viewportCount_ )
35424  , pViewports( pViewports_ )
35425  , scissorCount( scissorCount_ )
35426  , pScissors( pScissors_ )
35427  {
35428  }
35429 
35430  VULKAN_HPP_CONSTEXPR PipelineViewportStateCreateInfo( PipelineViewportStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
35431 
35433  : PipelineViewportStateCreateInfo( *reinterpret_cast<PipelineViewportStateCreateInfo const *>( &rhs ) )
35434  {
35435  }
35436 
35437 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
35441  const void * pNext_ = nullptr )
35442  : pNext( pNext_ )
35443  , flags( flags_ )
35444  , viewportCount( static_cast<uint32_t>( viewports_.size() ) )
35445  , pViewports( viewports_.data() )
35446  , scissorCount( static_cast<uint32_t>( scissors_.size() ) )
35447  , pScissors( scissors_.data() )
35448  {
35449  }
35450 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35451 
35452  PipelineViewportStateCreateInfo & operator=( PipelineViewportStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
35453 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
35454 
35456  {
35457  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineViewportStateCreateInfo const *>( &rhs );
35458  return *this;
35459  }
35460 
35461 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
35463  {
35464  pNext = pNext_;
35465  return *this;
35466  }
35467 
35469  {
35470  flags = flags_;
35471  return *this;
35472  }
35473 
35475  {
35476  viewportCount = viewportCount_;
35477  return *this;
35478  }
35479 
35481  {
35482  pViewports = pViewports_;
35483  return *this;
35484  }
35485 
35486 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
35489  {
35490  viewportCount = static_cast<uint32_t>( viewports_.size() );
35491  pViewports = viewports_.data();
35492  return *this;
35493  }
35494 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35495 
35497  {
35498  scissorCount = scissorCount_;
35499  return *this;
35500  }
35501 
35503  {
35504  pScissors = pScissors_;
35505  return *this;
35506  }
35507 
35508 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
35511  {
35512  scissorCount = static_cast<uint32_t>( scissors_.size() );
35513  pScissors = scissors_.data();
35514  return *this;
35515  }
35516 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
35517 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
35518 
35520  {
35521  return *reinterpret_cast<const VkPipelineViewportStateCreateInfo *>( this );
35522  }
35523 
35525  {
35526  return *reinterpret_cast<VkPipelineViewportStateCreateInfo *>( this );
35527  }
35528 
35529 #if defined( VULKAN_HPP_USE_REFLECT )
35530 # if 14 <= VULKAN_HPP_CPP_VERSION
35531  auto
35532 # else
35533  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
35534  const void * const &,
35536  uint32_t const &,
35537  const VULKAN_HPP_NAMESPACE::Viewport * const &,
35538  uint32_t const &,
35539  const VULKAN_HPP_NAMESPACE::Rect2D * const &>
35540 # endif
35541  reflect() const VULKAN_HPP_NOEXCEPT
35542  {
35543  return std::tie( sType, pNext, flags, viewportCount, pViewports, scissorCount, pScissors );
35544  }
35545 #endif
35546 
35547 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
35548  auto operator<=>( PipelineViewportStateCreateInfo const & ) const = default;
35549 #else
35551  {
35552 # if defined( VULKAN_HPP_USE_REFLECT )
35553  return this->reflect() == rhs.reflect();
35554 # else
35555  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( viewportCount == rhs.viewportCount ) &&
35556  ( pViewports == rhs.pViewports ) && ( scissorCount == rhs.scissorCount ) && ( pScissors == rhs.pScissors );
35557 # endif
35558  }
35559 
35561  {
35562  return !operator==( rhs );
35563  }
35564 #endif
35565 
35566  public:
35567  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineViewportStateCreateInfo;
35568  const void * pNext = {};
35570  uint32_t viewportCount = {};
35571  const VULKAN_HPP_NAMESPACE::Viewport * pViewports = {};
35572  uint32_t scissorCount = {};
35573  const VULKAN_HPP_NAMESPACE::Rect2D * pScissors = {};
35574  };
35575 
35576  template <>
35578  {
35580  };
35581 
35583  {
35585 
35586  static const bool allowDuplicate = false;
35587  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineRasterizationStateCreateInfo;
35588 
35589 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
35591  VULKAN_HPP_NAMESPACE::Bool32 depthClampEnable_ = {},
35592  VULKAN_HPP_NAMESPACE::Bool32 rasterizerDiscardEnable_ = {},
35594  VULKAN_HPP_NAMESPACE::CullModeFlags cullMode_ = {},
35596  VULKAN_HPP_NAMESPACE::Bool32 depthBiasEnable_ = {},
35597  float depthBiasConstantFactor_ = {},
35598  float depthBiasClamp_ = {},
35599  float depthBiasSlopeFactor_ = {},
35600  float lineWidth_ = {},
35601  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
35602  : pNext( pNext_ )
35603  , flags( flags_ )
35604  , depthClampEnable( depthClampEnable_ )
35605  , rasterizerDiscardEnable( rasterizerDiscardEnable_ )
35606  , polygonMode( polygonMode_ )
35607  , cullMode( cullMode_ )
35608  , frontFace( frontFace_ )
35609  , depthBiasEnable( depthBiasEnable_ )
35610  , depthBiasConstantFactor( depthBiasConstantFactor_ )
35611  , depthBiasClamp( depthBiasClamp_ )
35612  , depthBiasSlopeFactor( depthBiasSlopeFactor_ )
35613  , lineWidth( lineWidth_ )
35614  {
35615  }
35616 
35617  VULKAN_HPP_CONSTEXPR PipelineRasterizationStateCreateInfo( PipelineRasterizationStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
35618 
35620  : PipelineRasterizationStateCreateInfo( *reinterpret_cast<PipelineRasterizationStateCreateInfo const *>( &rhs ) )
35621  {
35622  }
35623 
35625 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
35626 
35628  {
35629  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineRasterizationStateCreateInfo const *>( &rhs );
35630  return *this;
35631  }
35632 
35633 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
35635  {
35636  pNext = pNext_;
35637  return *this;
35638  }
35639 
35642  {
35643  flags = flags_;
35644  return *this;
35645  }
35646 
35648  {
35649  depthClampEnable = depthClampEnable_;
35650  return *this;
35651  }
35652 
35655  {
35656  rasterizerDiscardEnable = rasterizerDiscardEnable_;
35657  return *this;
35658  }
35659 
35661  {
35662  polygonMode = polygonMode_;
35663  return *this;
35664  }
35665 
35667  {
35668  cullMode = cullMode_;
35669  return *this;
35670  }
35671 
35673  {
35674  frontFace = frontFace_;
35675  return *this;
35676  }
35677 
35679  {
35680  depthBiasEnable = depthBiasEnable_;
35681  return *this;
35682  }
35683 
35685  {
35686  depthBiasConstantFactor = depthBiasConstantFactor_;
35687  return *this;
35688  }
35689 
35691  {
35692  depthBiasClamp = depthBiasClamp_;
35693  return *this;
35694  }
35695 
35697  {
35698  depthBiasSlopeFactor = depthBiasSlopeFactor_;
35699  return *this;
35700  }
35701 
35703  {
35704  lineWidth = lineWidth_;
35705  return *this;
35706  }
35707 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
35708 
35710  {
35711  return *reinterpret_cast<const VkPipelineRasterizationStateCreateInfo *>( this );
35712  }
35713 
35715  {
35716  return *reinterpret_cast<VkPipelineRasterizationStateCreateInfo *>( this );
35717  }
35718 
35719 #if defined( VULKAN_HPP_USE_REFLECT )
35720 # if 14 <= VULKAN_HPP_CPP_VERSION
35721  auto
35722 # else
35723  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
35724  const void * const &,
35732  float const &,
35733  float const &,
35734  float const &,
35735  float const &>
35736 # endif
35737  reflect() const VULKAN_HPP_NOEXCEPT
35738  {
35739  return std::tie( sType,
35740  pNext,
35741  flags,
35742  depthClampEnable,
35743  rasterizerDiscardEnable,
35744  polygonMode,
35745  cullMode,
35746  frontFace,
35747  depthBiasEnable,
35748  depthBiasConstantFactor,
35749  depthBiasClamp,
35750  depthBiasSlopeFactor,
35751  lineWidth );
35752  }
35753 #endif
35754 
35755 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
35756  auto operator<=>( PipelineRasterizationStateCreateInfo const & ) const = default;
35757 #else
35759  {
35760 # if defined( VULKAN_HPP_USE_REFLECT )
35761  return this->reflect() == rhs.reflect();
35762 # else
35763  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( depthClampEnable == rhs.depthClampEnable ) &&
35764  ( rasterizerDiscardEnable == rhs.rasterizerDiscardEnable ) && ( polygonMode == rhs.polygonMode ) && ( cullMode == rhs.cullMode ) &&
35765  ( frontFace == rhs.frontFace ) && ( depthBiasEnable == rhs.depthBiasEnable ) && ( depthBiasConstantFactor == rhs.depthBiasConstantFactor ) &&
35766  ( depthBiasClamp == rhs.depthBiasClamp ) && ( depthBiasSlopeFactor == rhs.depthBiasSlopeFactor ) && ( lineWidth == rhs.lineWidth );
35767 # endif
35768  }
35769 
35771  {
35772  return !operator==( rhs );
35773  }
35774 #endif
35775 
35776  public:
35777  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineRasterizationStateCreateInfo;
35778  const void * pNext = {};
35780  VULKAN_HPP_NAMESPACE::Bool32 depthClampEnable = {};
35781  VULKAN_HPP_NAMESPACE::Bool32 rasterizerDiscardEnable = {};
35785  VULKAN_HPP_NAMESPACE::Bool32 depthBiasEnable = {};
35786  float depthBiasConstantFactor = {};
35787  float depthBiasClamp = {};
35788  float depthBiasSlopeFactor = {};
35789  float lineWidth = {};
35790  };
35791 
35792  template <>
35794  {
35796  };
35797 
35799  {
35801 
35802  static const bool allowDuplicate = false;
35803  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineMultisampleStateCreateInfo;
35804 
35805 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
35809  VULKAN_HPP_NAMESPACE::Bool32 sampleShadingEnable_ = {},
35810  float minSampleShading_ = {},
35811  const VULKAN_HPP_NAMESPACE::SampleMask * pSampleMask_ = {},
35812  VULKAN_HPP_NAMESPACE::Bool32 alphaToCoverageEnable_ = {},
35813  VULKAN_HPP_NAMESPACE::Bool32 alphaToOneEnable_ = {},
35814  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
35815  : pNext( pNext_ )
35816  , flags( flags_ )
35817  , rasterizationSamples( rasterizationSamples_ )
35818  , sampleShadingEnable( sampleShadingEnable_ )
35819  , minSampleShading( minSampleShading_ )
35820  , pSampleMask( pSampleMask_ )
35821  , alphaToCoverageEnable( alphaToCoverageEnable_ )
35822  , alphaToOneEnable( alphaToOneEnable_ )
35823  {
35824  }
35825 
35826  VULKAN_HPP_CONSTEXPR PipelineMultisampleStateCreateInfo( PipelineMultisampleStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
35827 
35829  : PipelineMultisampleStateCreateInfo( *reinterpret_cast<PipelineMultisampleStateCreateInfo const *>( &rhs ) )
35830  {
35831  }
35832 
35834 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
35835 
35837  {
35838  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineMultisampleStateCreateInfo const *>( &rhs );
35839  return *this;
35840  }
35841 
35842 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
35844  {
35845  pNext = pNext_;
35846  return *this;
35847  }
35848 
35851  {
35852  flags = flags_;
35853  return *this;
35854  }
35855 
35858  {
35859  rasterizationSamples = rasterizationSamples_;
35860  return *this;
35861  }
35862 
35864  {
35865  sampleShadingEnable = sampleShadingEnable_;
35866  return *this;
35867  }
35868 
35870  {
35871  minSampleShading = minSampleShading_;
35872  return *this;
35873  }
35874 
35876  {
35877  pSampleMask = pSampleMask_;
35878  return *this;
35879  }
35880 
35883  {
35884  alphaToCoverageEnable = alphaToCoverageEnable_;
35885  return *this;
35886  }
35887 
35889  {
35890  alphaToOneEnable = alphaToOneEnable_;
35891  return *this;
35892  }
35893 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
35894 
35896  {
35897  return *reinterpret_cast<const VkPipelineMultisampleStateCreateInfo *>( this );
35898  }
35899 
35901  {
35902  return *reinterpret_cast<VkPipelineMultisampleStateCreateInfo *>( this );
35903  }
35904 
35905 #if defined( VULKAN_HPP_USE_REFLECT )
35906 # if 14 <= VULKAN_HPP_CPP_VERSION
35907  auto
35908 # else
35909  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
35910  const void * const &,
35914  float const &,
35915  const VULKAN_HPP_NAMESPACE::SampleMask * const &,
35918 # endif
35919  reflect() const VULKAN_HPP_NOEXCEPT
35920  {
35921  return std::tie( sType, pNext, flags, rasterizationSamples, sampleShadingEnable, minSampleShading, pSampleMask, alphaToCoverageEnable, alphaToOneEnable );
35922  }
35923 #endif
35924 
35925 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
35926  auto operator<=>( PipelineMultisampleStateCreateInfo const & ) const = default;
35927 #else
35929  {
35930 # if defined( VULKAN_HPP_USE_REFLECT )
35931  return this->reflect() == rhs.reflect();
35932 # else
35933  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( rasterizationSamples == rhs.rasterizationSamples ) &&
35934  ( sampleShadingEnable == rhs.sampleShadingEnable ) && ( minSampleShading == rhs.minSampleShading ) && ( pSampleMask == rhs.pSampleMask ) &&
35935  ( alphaToCoverageEnable == rhs.alphaToCoverageEnable ) && ( alphaToOneEnable == rhs.alphaToOneEnable );
35936 # endif
35937  }
35938 
35940  {
35941  return !operator==( rhs );
35942  }
35943 #endif
35944 
35945  public:
35946  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineMultisampleStateCreateInfo;
35947  const void * pNext = {};
35950  VULKAN_HPP_NAMESPACE::Bool32 sampleShadingEnable = {};
35951  float minSampleShading = {};
35952  const VULKAN_HPP_NAMESPACE::SampleMask * pSampleMask = {};
35953  VULKAN_HPP_NAMESPACE::Bool32 alphaToCoverageEnable = {};
35954  VULKAN_HPP_NAMESPACE::Bool32 alphaToOneEnable = {};
35955  };
35956 
35957  template <>
35959  {
35961  };
35962 
35964  {
35966 
35967 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
35972  uint32_t compareMask_ = {},
35973  uint32_t writeMask_ = {},
35974  uint32_t reference_ = {} ) VULKAN_HPP_NOEXCEPT
35975  : failOp( failOp_ )
35976  , passOp( passOp_ )
35977  , depthFailOp( depthFailOp_ )
35978  , compareOp( compareOp_ )
35979  , compareMask( compareMask_ )
35980  , writeMask( writeMask_ )
35981  , reference( reference_ )
35982  {
35983  }
35984 
35985  VULKAN_HPP_CONSTEXPR StencilOpState( StencilOpState const & rhs ) VULKAN_HPP_NOEXCEPT = default;
35986 
35987  StencilOpState( VkStencilOpState const & rhs ) VULKAN_HPP_NOEXCEPT : StencilOpState( *reinterpret_cast<StencilOpState const *>( &rhs ) ) {}
35988 
35989  StencilOpState & operator=( StencilOpState const & rhs ) VULKAN_HPP_NOEXCEPT = default;
35990 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
35991 
35993  {
35994  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::StencilOpState const *>( &rhs );
35995  return *this;
35996  }
35997 
35998 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
36000  {
36001  failOp = failOp_;
36002  return *this;
36003  }
36004 
36006  {
36007  passOp = passOp_;
36008  return *this;
36009  }
36010 
36012  {
36013  depthFailOp = depthFailOp_;
36014  return *this;
36015  }
36016 
36018  {
36019  compareOp = compareOp_;
36020  return *this;
36021  }
36022 
36024  {
36025  compareMask = compareMask_;
36026  return *this;
36027  }
36028 
36030  {
36031  writeMask = writeMask_;
36032  return *this;
36033  }
36034 
36036  {
36037  reference = reference_;
36038  return *this;
36039  }
36040 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
36041 
36042  operator VkStencilOpState const &() const VULKAN_HPP_NOEXCEPT
36043  {
36044  return *reinterpret_cast<const VkStencilOpState *>( this );
36045  }
36046 
36048  {
36049  return *reinterpret_cast<VkStencilOpState *>( this );
36050  }
36051 
36052 #if defined( VULKAN_HPP_USE_REFLECT )
36053 # if 14 <= VULKAN_HPP_CPP_VERSION
36054  auto
36055 # else
36056  std::tuple<VULKAN_HPP_NAMESPACE::StencilOp const &,
36060  uint32_t const &,
36061  uint32_t const &,
36062  uint32_t const &>
36063 # endif
36064  reflect() const VULKAN_HPP_NOEXCEPT
36065  {
36066  return std::tie( failOp, passOp, depthFailOp, compareOp, compareMask, writeMask, reference );
36067  }
36068 #endif
36069 
36070 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
36071  auto operator<=>( StencilOpState const & ) const = default;
36072 #else
36074  {
36075 # if defined( VULKAN_HPP_USE_REFLECT )
36076  return this->reflect() == rhs.reflect();
36077 # else
36078  return ( failOp == rhs.failOp ) && ( passOp == rhs.passOp ) && ( depthFailOp == rhs.depthFailOp ) && ( compareOp == rhs.compareOp ) &&
36079  ( compareMask == rhs.compareMask ) && ( writeMask == rhs.writeMask ) && ( reference == rhs.reference );
36080 # endif
36081  }
36082 
36084  {
36085  return !operator==( rhs );
36086  }
36087 #endif
36088 
36089  public:
36094  uint32_t compareMask = {};
36095  uint32_t writeMask = {};
36096  uint32_t reference = {};
36097  };
36098 
36100  {
36102 
36103  static const bool allowDuplicate = false;
36104  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineDepthStencilStateCreateInfo;
36105 
36106 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
36108  VULKAN_HPP_NAMESPACE::Bool32 depthTestEnable_ = {},
36109  VULKAN_HPP_NAMESPACE::Bool32 depthWriteEnable_ = {},
36111  VULKAN_HPP_NAMESPACE::Bool32 depthBoundsTestEnable_ = {},
36112  VULKAN_HPP_NAMESPACE::Bool32 stencilTestEnable_ = {},
36115  float minDepthBounds_ = {},
36116  float maxDepthBounds_ = {},
36117  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
36118  : pNext( pNext_ )
36119  , flags( flags_ )
36120  , depthTestEnable( depthTestEnable_ )
36121  , depthWriteEnable( depthWriteEnable_ )
36122  , depthCompareOp( depthCompareOp_ )
36123  , depthBoundsTestEnable( depthBoundsTestEnable_ )
36124  , stencilTestEnable( stencilTestEnable_ )
36125  , front( front_ )
36126  , back( back_ )
36127  , minDepthBounds( minDepthBounds_ )
36128  , maxDepthBounds( maxDepthBounds_ )
36129  {
36130  }
36131 
36132  VULKAN_HPP_CONSTEXPR PipelineDepthStencilStateCreateInfo( PipelineDepthStencilStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
36133 
36135  : PipelineDepthStencilStateCreateInfo( *reinterpret_cast<PipelineDepthStencilStateCreateInfo const *>( &rhs ) )
36136  {
36137  }
36138 
36140 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
36141 
36143  {
36144  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineDepthStencilStateCreateInfo const *>( &rhs );
36145  return *this;
36146  }
36147 
36148 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
36150  {
36151  pNext = pNext_;
36152  return *this;
36153  }
36154 
36157  {
36158  flags = flags_;
36159  return *this;
36160  }
36161 
36163  {
36164  depthTestEnable = depthTestEnable_;
36165  return *this;
36166  }
36167 
36169  {
36170  depthWriteEnable = depthWriteEnable_;
36171  return *this;
36172  }
36173 
36175  {
36176  depthCompareOp = depthCompareOp_;
36177  return *this;
36178  }
36179 
36182  {
36183  depthBoundsTestEnable = depthBoundsTestEnable_;
36184  return *this;
36185  }
36186 
36188  {
36189  stencilTestEnable = stencilTestEnable_;
36190  return *this;
36191  }
36192 
36194  {
36195  front = front_;
36196  return *this;
36197  }
36198 
36200  {
36201  back = back_;
36202  return *this;
36203  }
36204 
36206  {
36207  minDepthBounds = minDepthBounds_;
36208  return *this;
36209  }
36210 
36212  {
36213  maxDepthBounds = maxDepthBounds_;
36214  return *this;
36215  }
36216 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
36217 
36219  {
36220  return *reinterpret_cast<const VkPipelineDepthStencilStateCreateInfo *>( this );
36221  }
36222 
36224  {
36225  return *reinterpret_cast<VkPipelineDepthStencilStateCreateInfo *>( this );
36226  }
36227 
36228 #if defined( VULKAN_HPP_USE_REFLECT )
36229 # if 14 <= VULKAN_HPP_CPP_VERSION
36230  auto
36231 # else
36232  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
36233  const void * const &,
36242  float const &,
36243  float const &>
36244 # endif
36245  reflect() const VULKAN_HPP_NOEXCEPT
36246  {
36247  return std::tie( sType,
36248  pNext,
36249  flags,
36250  depthTestEnable,
36251  depthWriteEnable,
36252  depthCompareOp,
36253  depthBoundsTestEnable,
36254  stencilTestEnable,
36255  front,
36256  back,
36257  minDepthBounds,
36258  maxDepthBounds );
36259  }
36260 #endif
36261 
36262 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
36263  auto operator<=>( PipelineDepthStencilStateCreateInfo const & ) const = default;
36264 #else
36266  {
36267 # if defined( VULKAN_HPP_USE_REFLECT )
36268  return this->reflect() == rhs.reflect();
36269 # else
36270  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( depthTestEnable == rhs.depthTestEnable ) &&
36271  ( depthWriteEnable == rhs.depthWriteEnable ) && ( depthCompareOp == rhs.depthCompareOp ) &&
36272  ( depthBoundsTestEnable == rhs.depthBoundsTestEnable ) && ( stencilTestEnable == rhs.stencilTestEnable ) && ( front == rhs.front ) &&
36273  ( back == rhs.back ) && ( minDepthBounds == rhs.minDepthBounds ) && ( maxDepthBounds == rhs.maxDepthBounds );
36274 # endif
36275  }
36276 
36278  {
36279  return !operator==( rhs );
36280  }
36281 #endif
36282 
36283  public:
36284  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineDepthStencilStateCreateInfo;
36285  const void * pNext = {};
36287  VULKAN_HPP_NAMESPACE::Bool32 depthTestEnable = {};
36288  VULKAN_HPP_NAMESPACE::Bool32 depthWriteEnable = {};
36290  VULKAN_HPP_NAMESPACE::Bool32 depthBoundsTestEnable = {};
36291  VULKAN_HPP_NAMESPACE::Bool32 stencilTestEnable = {};
36294  float minDepthBounds = {};
36295  float maxDepthBounds = {};
36296  };
36297 
36298  template <>
36300  {
36302  };
36303 
36305  {
36307 
36308 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
36317  : blendEnable( blendEnable_ )
36318  , srcColorBlendFactor( srcColorBlendFactor_ )
36319  , dstColorBlendFactor( dstColorBlendFactor_ )
36320  , colorBlendOp( colorBlendOp_ )
36321  , srcAlphaBlendFactor( srcAlphaBlendFactor_ )
36322  , dstAlphaBlendFactor( dstAlphaBlendFactor_ )
36323  , alphaBlendOp( alphaBlendOp_ )
36324  , colorWriteMask( colorWriteMask_ )
36325  {
36326  }
36327 
36328  VULKAN_HPP_CONSTEXPR PipelineColorBlendAttachmentState( PipelineColorBlendAttachmentState const & rhs ) VULKAN_HPP_NOEXCEPT = default;
36329 
36331  : PipelineColorBlendAttachmentState( *reinterpret_cast<PipelineColorBlendAttachmentState const *>( &rhs ) )
36332  {
36333  }
36334 
36336 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
36337 
36339  {
36340  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineColorBlendAttachmentState const *>( &rhs );
36341  return *this;
36342  }
36343 
36344 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
36346  {
36347  blendEnable = blendEnable_;
36348  return *this;
36349  }
36350 
36353  {
36354  srcColorBlendFactor = srcColorBlendFactor_;
36355  return *this;
36356  }
36357 
36360  {
36361  dstColorBlendFactor = dstColorBlendFactor_;
36362  return *this;
36363  }
36364 
36366  {
36367  colorBlendOp = colorBlendOp_;
36368  return *this;
36369  }
36370 
36373  {
36374  srcAlphaBlendFactor = srcAlphaBlendFactor_;
36375  return *this;
36376  }
36377 
36380  {
36381  dstAlphaBlendFactor = dstAlphaBlendFactor_;
36382  return *this;
36383  }
36384 
36386  {
36387  alphaBlendOp = alphaBlendOp_;
36388  return *this;
36389  }
36390 
36393  {
36394  colorWriteMask = colorWriteMask_;
36395  return *this;
36396  }
36397 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
36398 
36400  {
36401  return *reinterpret_cast<const VkPipelineColorBlendAttachmentState *>( this );
36402  }
36403 
36405  {
36406  return *reinterpret_cast<VkPipelineColorBlendAttachmentState *>( this );
36407  }
36408 
36409 #if defined( VULKAN_HPP_USE_REFLECT )
36410 # if 14 <= VULKAN_HPP_CPP_VERSION
36411  auto
36412 # else
36413  std::tuple<VULKAN_HPP_NAMESPACE::Bool32 const &,
36421 # endif
36422  reflect() const VULKAN_HPP_NOEXCEPT
36423  {
36424  return std::tie(
36425  blendEnable, srcColorBlendFactor, dstColorBlendFactor, colorBlendOp, srcAlphaBlendFactor, dstAlphaBlendFactor, alphaBlendOp, colorWriteMask );
36426  }
36427 #endif
36428 
36429 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
36430  auto operator<=>( PipelineColorBlendAttachmentState const & ) const = default;
36431 #else
36433  {
36434 # if defined( VULKAN_HPP_USE_REFLECT )
36435  return this->reflect() == rhs.reflect();
36436 # else
36437  return ( blendEnable == rhs.blendEnable ) && ( srcColorBlendFactor == rhs.srcColorBlendFactor ) && ( dstColorBlendFactor == rhs.dstColorBlendFactor ) &&
36438  ( colorBlendOp == rhs.colorBlendOp ) && ( srcAlphaBlendFactor == rhs.srcAlphaBlendFactor ) && ( dstAlphaBlendFactor == rhs.dstAlphaBlendFactor ) &&
36439  ( alphaBlendOp == rhs.alphaBlendOp ) && ( colorWriteMask == rhs.colorWriteMask );
36440 # endif
36441  }
36442 
36444  {
36445  return !operator==( rhs );
36446  }
36447 #endif
36448 
36449  public:
36458  };
36459 
36461  {
36463 
36464  static const bool allowDuplicate = false;
36465  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineColorBlendStateCreateInfo;
36466 
36467 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
36469  VULKAN_HPP_NAMESPACE::Bool32 logicOpEnable_ = {},
36471  uint32_t attachmentCount_ = {},
36473  std::array<float, 4> const & blendConstants_ = {},
36474  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
36475  : pNext( pNext_ )
36476  , flags( flags_ )
36477  , logicOpEnable( logicOpEnable_ )
36478  , logicOp( logicOp_ )
36479  , attachmentCount( attachmentCount_ )
36480  , pAttachments( pAttachments_ )
36481  , blendConstants( blendConstants_ )
36482  {
36483  }
36484 
36485  VULKAN_HPP_CONSTEXPR_14 PipelineColorBlendStateCreateInfo( PipelineColorBlendStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
36486 
36488  : PipelineColorBlendStateCreateInfo( *reinterpret_cast<PipelineColorBlendStateCreateInfo const *>( &rhs ) )
36489  {
36490  }
36491 
36492 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
36495  VULKAN_HPP_NAMESPACE::Bool32 logicOpEnable_,
36498  std::array<float, 4> const & blendConstants_ = {},
36499  const void * pNext_ = nullptr )
36500  : pNext( pNext_ )
36501  , flags( flags_ )
36502  , logicOpEnable( logicOpEnable_ )
36503  , logicOp( logicOp_ )
36504  , attachmentCount( static_cast<uint32_t>( attachments_.size() ) )
36505  , pAttachments( attachments_.data() )
36506  , blendConstants( blendConstants_ )
36507  {
36508  }
36509 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36510 
36511  PipelineColorBlendStateCreateInfo & operator=( PipelineColorBlendStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
36512 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
36513 
36515  {
36516  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineColorBlendStateCreateInfo const *>( &rhs );
36517  return *this;
36518  }
36519 
36520 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
36522  {
36523  pNext = pNext_;
36524  return *this;
36525  }
36526 
36528  {
36529  flags = flags_;
36530  return *this;
36531  }
36532 
36534  {
36535  logicOpEnable = logicOpEnable_;
36536  return *this;
36537  }
36538 
36540  {
36541  logicOp = logicOp_;
36542  return *this;
36543  }
36544 
36546  {
36547  attachmentCount = attachmentCount_;
36548  return *this;
36549  }
36550 
36553  {
36554  pAttachments = pAttachments_;
36555  return *this;
36556  }
36557 
36558 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
36561  {
36562  attachmentCount = static_cast<uint32_t>( attachments_.size() );
36563  pAttachments = attachments_.data();
36564  return *this;
36565  }
36566 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36567 
36569  {
36570  blendConstants = blendConstants_;
36571  return *this;
36572  }
36573 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
36574 
36576  {
36577  return *reinterpret_cast<const VkPipelineColorBlendStateCreateInfo *>( this );
36578  }
36579 
36581  {
36582  return *reinterpret_cast<VkPipelineColorBlendStateCreateInfo *>( this );
36583  }
36584 
36585 #if defined( VULKAN_HPP_USE_REFLECT )
36586 # if 14 <= VULKAN_HPP_CPP_VERSION
36587  auto
36588 # else
36589  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
36590  const void * const &,
36594  uint32_t const &,
36597 # endif
36598  reflect() const VULKAN_HPP_NOEXCEPT
36599  {
36600  return std::tie( sType, pNext, flags, logicOpEnable, logicOp, attachmentCount, pAttachments, blendConstants );
36601  }
36602 #endif
36603 
36604 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
36605  auto operator<=>( PipelineColorBlendStateCreateInfo const & ) const = default;
36606 #else
36608  {
36609 # if defined( VULKAN_HPP_USE_REFLECT )
36610  return this->reflect() == rhs.reflect();
36611 # else
36612  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( logicOpEnable == rhs.logicOpEnable ) &&
36613  ( logicOp == rhs.logicOp ) && ( attachmentCount == rhs.attachmentCount ) && ( pAttachments == rhs.pAttachments ) &&
36614  ( blendConstants == rhs.blendConstants );
36615 # endif
36616  }
36617 
36619  {
36620  return !operator==( rhs );
36621  }
36622 #endif
36623 
36624  public:
36625  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineColorBlendStateCreateInfo;
36626  const void * pNext = {};
36628  VULKAN_HPP_NAMESPACE::Bool32 logicOpEnable = {};
36630  uint32_t attachmentCount = {};
36633  };
36634 
36635  template <>
36637  {
36639  };
36640 
36642  {
36644 
36645  static const bool allowDuplicate = false;
36646  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineDynamicStateCreateInfo;
36647 
36648 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
36650  uint32_t dynamicStateCount_ = {},
36651  const VULKAN_HPP_NAMESPACE::DynamicState * pDynamicStates_ = {},
36652  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
36653  : pNext( pNext_ )
36654  , flags( flags_ )
36655  , dynamicStateCount( dynamicStateCount_ )
36656  , pDynamicStates( pDynamicStates_ )
36657  {
36658  }
36659 
36660  VULKAN_HPP_CONSTEXPR PipelineDynamicStateCreateInfo( PipelineDynamicStateCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
36661 
36663  : PipelineDynamicStateCreateInfo( *reinterpret_cast<PipelineDynamicStateCreateInfo const *>( &rhs ) )
36664  {
36665  }
36666 
36667 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
36670  const void * pNext_ = nullptr )
36671  : pNext( pNext_ ), flags( flags_ ), dynamicStateCount( static_cast<uint32_t>( dynamicStates_.size() ) ), pDynamicStates( dynamicStates_.data() )
36672  {
36673  }
36674 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36675 
36677 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
36678 
36680  {
36681  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateInfo const *>( &rhs );
36682  return *this;
36683  }
36684 
36685 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
36687  {
36688  pNext = pNext_;
36689  return *this;
36690  }
36691 
36693  {
36694  flags = flags_;
36695  return *this;
36696  }
36697 
36699  {
36700  dynamicStateCount = dynamicStateCount_;
36701  return *this;
36702  }
36703 
36705  {
36706  pDynamicStates = pDynamicStates_;
36707  return *this;
36708  }
36709 
36710 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
36713  {
36714  dynamicStateCount = static_cast<uint32_t>( dynamicStates_.size() );
36715  pDynamicStates = dynamicStates_.data();
36716  return *this;
36717  }
36718 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36719 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
36720 
36722  {
36723  return *reinterpret_cast<const VkPipelineDynamicStateCreateInfo *>( this );
36724  }
36725 
36727  {
36728  return *reinterpret_cast<VkPipelineDynamicStateCreateInfo *>( this );
36729  }
36730 
36731 #if defined( VULKAN_HPP_USE_REFLECT )
36732 # if 14 <= VULKAN_HPP_CPP_VERSION
36733  auto
36734 # else
36735  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
36736  const void * const &,
36738  uint32_t const &,
36739  const VULKAN_HPP_NAMESPACE::DynamicState * const &>
36740 # endif
36741  reflect() const VULKAN_HPP_NOEXCEPT
36742  {
36743  return std::tie( sType, pNext, flags, dynamicStateCount, pDynamicStates );
36744  }
36745 #endif
36746 
36747 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
36748  auto operator<=>( PipelineDynamicStateCreateInfo const & ) const = default;
36749 #else
36751  {
36752 # if defined( VULKAN_HPP_USE_REFLECT )
36753  return this->reflect() == rhs.reflect();
36754 # else
36755  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( dynamicStateCount == rhs.dynamicStateCount ) &&
36756  ( pDynamicStates == rhs.pDynamicStates );
36757 # endif
36758  }
36759 
36761  {
36762  return !operator==( rhs );
36763  }
36764 #endif
36765 
36766  public:
36767  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineDynamicStateCreateInfo;
36768  const void * pNext = {};
36770  uint32_t dynamicStateCount = {};
36771  const VULKAN_HPP_NAMESPACE::DynamicState * pDynamicStates = {};
36772  };
36773 
36774  template <>
36776  {
36778  };
36779 
36781  {
36783 
36784  static const bool allowDuplicate = false;
36785  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eGraphicsPipelineCreateInfo;
36786 
36787 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
36789  uint32_t stageCount_ = {},
36791  const VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo * pVertexInputState_ = {},
36792  const VULKAN_HPP_NAMESPACE::PipelineInputAssemblyStateCreateInfo * pInputAssemblyState_ = {},
36793  const VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo * pTessellationState_ = {},
36794  const VULKAN_HPP_NAMESPACE::PipelineViewportStateCreateInfo * pViewportState_ = {},
36795  const VULKAN_HPP_NAMESPACE::PipelineRasterizationStateCreateInfo * pRasterizationState_ = {},
36796  const VULKAN_HPP_NAMESPACE::PipelineMultisampleStateCreateInfo * pMultisampleState_ = {},
36797  const VULKAN_HPP_NAMESPACE::PipelineDepthStencilStateCreateInfo * pDepthStencilState_ = {},
36798  const VULKAN_HPP_NAMESPACE::PipelineColorBlendStateCreateInfo * pColorBlendState_ = {},
36799  const VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateInfo * pDynamicState_ = {},
36801  VULKAN_HPP_NAMESPACE::RenderPass renderPass_ = {},
36802  uint32_t subpass_ = {},
36803  VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle_ = {},
36804  int32_t basePipelineIndex_ = {},
36805  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
36806  : pNext( pNext_ )
36807  , flags( flags_ )
36808  , stageCount( stageCount_ )
36809  , pStages( pStages_ )
36810  , pVertexInputState( pVertexInputState_ )
36811  , pInputAssemblyState( pInputAssemblyState_ )
36812  , pTessellationState( pTessellationState_ )
36813  , pViewportState( pViewportState_ )
36814  , pRasterizationState( pRasterizationState_ )
36815  , pMultisampleState( pMultisampleState_ )
36816  , pDepthStencilState( pDepthStencilState_ )
36817  , pColorBlendState( pColorBlendState_ )
36818  , pDynamicState( pDynamicState_ )
36819  , layout( layout_ )
36820  , renderPass( renderPass_ )
36821  , subpass( subpass_ )
36822  , basePipelineHandle( basePipelineHandle_ )
36823  , basePipelineIndex( basePipelineIndex_ )
36824  {
36825  }
36826 
36827  VULKAN_HPP_CONSTEXPR_14 GraphicsPipelineCreateInfo( GraphicsPipelineCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
36828 
36830  : GraphicsPipelineCreateInfo( *reinterpret_cast<GraphicsPipelineCreateInfo const *>( &rhs ) )
36831  {
36832  }
36833 
36834 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
36837  const VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo * pVertexInputState_ = {},
36838  const VULKAN_HPP_NAMESPACE::PipelineInputAssemblyStateCreateInfo * pInputAssemblyState_ = {},
36839  const VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo * pTessellationState_ = {},
36840  const VULKAN_HPP_NAMESPACE::PipelineViewportStateCreateInfo * pViewportState_ = {},
36841  const VULKAN_HPP_NAMESPACE::PipelineRasterizationStateCreateInfo * pRasterizationState_ = {},
36842  const VULKAN_HPP_NAMESPACE::PipelineMultisampleStateCreateInfo * pMultisampleState_ = {},
36843  const VULKAN_HPP_NAMESPACE::PipelineDepthStencilStateCreateInfo * pDepthStencilState_ = {},
36844  const VULKAN_HPP_NAMESPACE::PipelineColorBlendStateCreateInfo * pColorBlendState_ = {},
36845  const VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateInfo * pDynamicState_ = {},
36847  VULKAN_HPP_NAMESPACE::RenderPass renderPass_ = {},
36848  uint32_t subpass_ = {},
36849  VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle_ = {},
36850  int32_t basePipelineIndex_ = {},
36851  const void * pNext_ = nullptr )
36852  : pNext( pNext_ )
36853  , flags( flags_ )
36854  , stageCount( static_cast<uint32_t>( stages_.size() ) )
36855  , pStages( stages_.data() )
36856  , pVertexInputState( pVertexInputState_ )
36857  , pInputAssemblyState( pInputAssemblyState_ )
36858  , pTessellationState( pTessellationState_ )
36859  , pViewportState( pViewportState_ )
36860  , pRasterizationState( pRasterizationState_ )
36861  , pMultisampleState( pMultisampleState_ )
36862  , pDepthStencilState( pDepthStencilState_ )
36863  , pColorBlendState( pColorBlendState_ )
36864  , pDynamicState( pDynamicState_ )
36865  , layout( layout_ )
36866  , renderPass( renderPass_ )
36867  , subpass( subpass_ )
36868  , basePipelineHandle( basePipelineHandle_ )
36869  , basePipelineIndex( basePipelineIndex_ )
36870  {
36871  }
36872 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36873 
36874  GraphicsPipelineCreateInfo & operator=( GraphicsPipelineCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
36875 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
36876 
36878  {
36879  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo const *>( &rhs );
36880  return *this;
36881  }
36882 
36883 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
36885  {
36886  pNext = pNext_;
36887  return *this;
36888  }
36889 
36891  {
36892  flags = flags_;
36893  return *this;
36894  }
36895 
36897  {
36898  stageCount = stageCount_;
36899  return *this;
36900  }
36901 
36903  {
36904  pStages = pStages_;
36905  return *this;
36906  }
36907 
36908 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
36911  {
36912  stageCount = static_cast<uint32_t>( stages_.size() );
36913  pStages = stages_.data();
36914  return *this;
36915  }
36916 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
36917 
36920  {
36921  pVertexInputState = pVertexInputState_;
36922  return *this;
36923  }
36924 
36927  {
36928  pInputAssemblyState = pInputAssemblyState_;
36929  return *this;
36930  }
36931 
36934  {
36935  pTessellationState = pTessellationState_;
36936  return *this;
36937  }
36938 
36941  {
36942  pViewportState = pViewportState_;
36943  return *this;
36944  }
36945 
36948  {
36949  pRasterizationState = pRasterizationState_;
36950  return *this;
36951  }
36952 
36955  {
36956  pMultisampleState = pMultisampleState_;
36957  return *this;
36958  }
36959 
36962  {
36963  pDepthStencilState = pDepthStencilState_;
36964  return *this;
36965  }
36966 
36969  {
36970  pColorBlendState = pColorBlendState_;
36971  return *this;
36972  }
36973 
36976  {
36977  pDynamicState = pDynamicState_;
36978  return *this;
36979  }
36980 
36982  {
36983  layout = layout_;
36984  return *this;
36985  }
36986 
36988  {
36989  renderPass = renderPass_;
36990  return *this;
36991  }
36992 
36994  {
36995  subpass = subpass_;
36996  return *this;
36997  }
36998 
37000  {
37001  basePipelineHandle = basePipelineHandle_;
37002  return *this;
37003  }
37004 
37006  {
37007  basePipelineIndex = basePipelineIndex_;
37008  return *this;
37009  }
37010 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
37011 
37013  {
37014  return *reinterpret_cast<const VkGraphicsPipelineCreateInfo *>( this );
37015  }
37016 
37018  {
37019  return *reinterpret_cast<VkGraphicsPipelineCreateInfo *>( this );
37020  }
37021 
37022 #if defined( VULKAN_HPP_USE_REFLECT )
37023 # if 14 <= VULKAN_HPP_CPP_VERSION
37024  auto
37025 # else
37026  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
37027  const void * const &,
37029  uint32_t const &,
37042  uint32_t const &,
37044  int32_t const &>
37045 # endif
37046  reflect() const VULKAN_HPP_NOEXCEPT
37047  {
37048  return std::tie( sType,
37049  pNext,
37050  flags,
37051  stageCount,
37052  pStages,
37053  pVertexInputState,
37054  pInputAssemblyState,
37055  pTessellationState,
37056  pViewportState,
37057  pRasterizationState,
37058  pMultisampleState,
37059  pDepthStencilState,
37060  pColorBlendState,
37061  pDynamicState,
37062  layout,
37063  renderPass,
37064  subpass,
37065  basePipelineHandle,
37066  basePipelineIndex );
37067  }
37068 #endif
37069 
37070 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
37071  auto operator<=>( GraphicsPipelineCreateInfo const & ) const = default;
37072 #else
37074  {
37075 # if defined( VULKAN_HPP_USE_REFLECT )
37076  return this->reflect() == rhs.reflect();
37077 # else
37078  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( stageCount == rhs.stageCount ) && ( pStages == rhs.pStages ) &&
37079  ( pVertexInputState == rhs.pVertexInputState ) && ( pInputAssemblyState == rhs.pInputAssemblyState ) &&
37080  ( pTessellationState == rhs.pTessellationState ) && ( pViewportState == rhs.pViewportState ) &&
37081  ( pRasterizationState == rhs.pRasterizationState ) && ( pMultisampleState == rhs.pMultisampleState ) &&
37082  ( pDepthStencilState == rhs.pDepthStencilState ) && ( pColorBlendState == rhs.pColorBlendState ) && ( pDynamicState == rhs.pDynamicState ) &&
37083  ( layout == rhs.layout ) && ( renderPass == rhs.renderPass ) && ( subpass == rhs.subpass ) && ( basePipelineHandle == rhs.basePipelineHandle ) &&
37084  ( basePipelineIndex == rhs.basePipelineIndex );
37085 # endif
37086  }
37087 
37089  {
37090  return !operator==( rhs );
37091  }
37092 #endif
37093 
37094  public:
37095  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eGraphicsPipelineCreateInfo;
37096  const void * pNext = {};
37098  uint32_t stageCount = {};
37111  uint32_t subpass = {};
37112  VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle = {};
37113  int32_t basePipelineIndex = {};
37114  };
37115 
37116  template <>
37118  {
37120  };
37121 
37123  {
37125 
37126  static const bool allowDuplicate = false;
37127  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eGraphicsPipelineLibraryCreateInfoEXT;
37128 
37129 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
37131  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
37132  : pNext( pNext_ )
37133  , flags( flags_ )
37134  {
37135  }
37136 
37137  VULKAN_HPP_CONSTEXPR GraphicsPipelineLibraryCreateInfoEXT( GraphicsPipelineLibraryCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
37138 
37140  : GraphicsPipelineLibraryCreateInfoEXT( *reinterpret_cast<GraphicsPipelineLibraryCreateInfoEXT const *>( &rhs ) )
37141  {
37142  }
37143 
37145 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
37146 
37148  {
37149  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::GraphicsPipelineLibraryCreateInfoEXT const *>( &rhs );
37150  return *this;
37151  }
37152 
37153 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
37155  {
37156  pNext = pNext_;
37157  return *this;
37158  }
37159 
37161  {
37162  flags = flags_;
37163  return *this;
37164  }
37165 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
37166 
37168  {
37169  return *reinterpret_cast<const VkGraphicsPipelineLibraryCreateInfoEXT *>( this );
37170  }
37171 
37173  {
37174  return *reinterpret_cast<VkGraphicsPipelineLibraryCreateInfoEXT *>( this );
37175  }
37176 
37177 #if defined( VULKAN_HPP_USE_REFLECT )
37178 # if 14 <= VULKAN_HPP_CPP_VERSION
37179  auto
37180 # else
37181  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::GraphicsPipelineLibraryFlagsEXT const &>
37182 # endif
37183  reflect() const VULKAN_HPP_NOEXCEPT
37184  {
37185  return std::tie( sType, pNext, flags );
37186  }
37187 #endif
37188 
37189 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
37190  auto operator<=>( GraphicsPipelineLibraryCreateInfoEXT const & ) const = default;
37191 #else
37193  {
37194 # if defined( VULKAN_HPP_USE_REFLECT )
37195  return this->reflect() == rhs.reflect();
37196 # else
37197  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags );
37198 # endif
37199  }
37200 
37202  {
37203  return !operator==( rhs );
37204  }
37205 #endif
37206 
37207  public:
37208  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eGraphicsPipelineLibraryCreateInfoEXT;
37209  void * pNext = {};
37211  };
37212 
37213  template <>
37215  {
37217  };
37218 
37220  {
37222 
37223  static const bool allowDuplicate = false;
37224  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eGraphicsShaderGroupCreateInfoNV;
37225 
37226 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
37229  const VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo * pVertexInputState_ = {},
37230  const VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo * pTessellationState_ = {},
37231  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
37232  : pNext( pNext_ )
37233  , stageCount( stageCount_ )
37234  , pStages( pStages_ )
37235  , pVertexInputState( pVertexInputState_ )
37236  , pTessellationState( pTessellationState_ )
37237  {
37238  }
37239 
37240  VULKAN_HPP_CONSTEXPR GraphicsShaderGroupCreateInfoNV( GraphicsShaderGroupCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
37241 
37243  : GraphicsShaderGroupCreateInfoNV( *reinterpret_cast<GraphicsShaderGroupCreateInfoNV const *>( &rhs ) )
37244  {
37245  }
37246 
37247 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
37249  const VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo * pVertexInputState_ = {},
37250  const VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo * pTessellationState_ = {},
37251  const void * pNext_ = nullptr )
37252  : pNext( pNext_ )
37253  , stageCount( static_cast<uint32_t>( stages_.size() ) )
37254  , pStages( stages_.data() )
37255  , pVertexInputState( pVertexInputState_ )
37256  , pTessellationState( pTessellationState_ )
37257  {
37258  }
37259 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37260 
37261  GraphicsShaderGroupCreateInfoNV & operator=( GraphicsShaderGroupCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
37262 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
37263 
37265  {
37266  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::GraphicsShaderGroupCreateInfoNV const *>( &rhs );
37267  return *this;
37268  }
37269 
37270 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
37272  {
37273  pNext = pNext_;
37274  return *this;
37275  }
37276 
37278  {
37279  stageCount = stageCount_;
37280  return *this;
37281  }
37282 
37285  {
37286  pStages = pStages_;
37287  return *this;
37288  }
37289 
37290 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
37293  {
37294  stageCount = static_cast<uint32_t>( stages_.size() );
37295  pStages = stages_.data();
37296  return *this;
37297  }
37298 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37299 
37302  {
37303  pVertexInputState = pVertexInputState_;
37304  return *this;
37305  }
37306 
37309  {
37310  pTessellationState = pTessellationState_;
37311  return *this;
37312  }
37313 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
37314 
37316  {
37317  return *reinterpret_cast<const VkGraphicsShaderGroupCreateInfoNV *>( this );
37318  }
37319 
37321  {
37322  return *reinterpret_cast<VkGraphicsShaderGroupCreateInfoNV *>( this );
37323  }
37324 
37325 #if defined( VULKAN_HPP_USE_REFLECT )
37326 # if 14 <= VULKAN_HPP_CPP_VERSION
37327  auto
37328 # else
37329  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
37330  const void * const &,
37331  uint32_t const &,
37335 # endif
37336  reflect() const VULKAN_HPP_NOEXCEPT
37337  {
37338  return std::tie( sType, pNext, stageCount, pStages, pVertexInputState, pTessellationState );
37339  }
37340 #endif
37341 
37342 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
37343  auto operator<=>( GraphicsShaderGroupCreateInfoNV const & ) const = default;
37344 #else
37346  {
37347 # if defined( VULKAN_HPP_USE_REFLECT )
37348  return this->reflect() == rhs.reflect();
37349 # else
37350  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( stageCount == rhs.stageCount ) && ( pStages == rhs.pStages ) &&
37351  ( pVertexInputState == rhs.pVertexInputState ) && ( pTessellationState == rhs.pTessellationState );
37352 # endif
37353  }
37354 
37356  {
37357  return !operator==( rhs );
37358  }
37359 #endif
37360 
37361  public:
37362  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eGraphicsShaderGroupCreateInfoNV;
37363  const void * pNext = {};
37364  uint32_t stageCount = {};
37368  };
37369 
37370  template <>
37372  {
37374  };
37375 
37377  {
37379 
37380  static const bool allowDuplicate = false;
37381  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eGraphicsPipelineShaderGroupsCreateInfoNV;
37382 
37383 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
37386  uint32_t pipelineCount_ = {},
37387  const VULKAN_HPP_NAMESPACE::Pipeline * pPipelines_ = {},
37388  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
37389  : pNext( pNext_ )
37390  , groupCount( groupCount_ )
37391  , pGroups( pGroups_ )
37392  , pipelineCount( pipelineCount_ )
37393  , pPipelines( pPipelines_ )
37394  {
37395  }
37396 
37397  VULKAN_HPP_CONSTEXPR GraphicsPipelineShaderGroupsCreateInfoNV( GraphicsPipelineShaderGroupsCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
37398 
37400  : GraphicsPipelineShaderGroupsCreateInfoNV( *reinterpret_cast<GraphicsPipelineShaderGroupsCreateInfoNV const *>( &rhs ) )
37401  {
37402  }
37403 
37404 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
37408  const void * pNext_ = nullptr )
37409  : pNext( pNext_ )
37410  , groupCount( static_cast<uint32_t>( groups_.size() ) )
37411  , pGroups( groups_.data() )
37412  , pipelineCount( static_cast<uint32_t>( pipelines_.size() ) )
37413  , pPipelines( pipelines_.data() )
37414  {
37415  }
37416 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37417 
37418  GraphicsPipelineShaderGroupsCreateInfoNV & operator=( GraphicsPipelineShaderGroupsCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
37419 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
37420 
37422  {
37423  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::GraphicsPipelineShaderGroupsCreateInfoNV const *>( &rhs );
37424  return *this;
37425  }
37426 
37427 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
37429  {
37430  pNext = pNext_;
37431  return *this;
37432  }
37433 
37435  {
37436  groupCount = groupCount_;
37437  return *this;
37438  }
37439 
37442  {
37443  pGroups = pGroups_;
37444  return *this;
37445  }
37446 
37447 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
37450  {
37451  groupCount = static_cast<uint32_t>( groups_.size() );
37452  pGroups = groups_.data();
37453  return *this;
37454  }
37455 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37456 
37458  {
37459  pipelineCount = pipelineCount_;
37460  return *this;
37461  }
37462 
37464  {
37465  pPipelines = pPipelines_;
37466  return *this;
37467  }
37468 
37469 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
37472  {
37473  pipelineCount = static_cast<uint32_t>( pipelines_.size() );
37474  pPipelines = pipelines_.data();
37475  return *this;
37476  }
37477 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
37478 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
37479 
37481  {
37482  return *reinterpret_cast<const VkGraphicsPipelineShaderGroupsCreateInfoNV *>( this );
37483  }
37484 
37486  {
37487  return *reinterpret_cast<VkGraphicsPipelineShaderGroupsCreateInfoNV *>( this );
37488  }
37489 
37490 #if defined( VULKAN_HPP_USE_REFLECT )
37491 # if 14 <= VULKAN_HPP_CPP_VERSION
37492  auto
37493 # else
37494  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
37495  const void * const &,
37496  uint32_t const &,
37498  uint32_t const &,
37499  const VULKAN_HPP_NAMESPACE::Pipeline * const &>
37500 # endif
37501  reflect() const VULKAN_HPP_NOEXCEPT
37502  {
37503  return std::tie( sType, pNext, groupCount, pGroups, pipelineCount, pPipelines );
37504  }
37505 #endif
37506 
37507 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
37508  auto operator<=>( GraphicsPipelineShaderGroupsCreateInfoNV const & ) const = default;
37509 #else
37511  {
37512 # if defined( VULKAN_HPP_USE_REFLECT )
37513  return this->reflect() == rhs.reflect();
37514 # else
37515  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( groupCount == rhs.groupCount ) && ( pGroups == rhs.pGroups ) &&
37516  ( pipelineCount == rhs.pipelineCount ) && ( pPipelines == rhs.pPipelines );
37517 # endif
37518  }
37519 
37521  {
37522  return !operator==( rhs );
37523  }
37524 #endif
37525 
37526  public:
37527  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eGraphicsPipelineShaderGroupsCreateInfoNV;
37528  const void * pNext = {};
37529  uint32_t groupCount = {};
37531  uint32_t pipelineCount = {};
37532  const VULKAN_HPP_NAMESPACE::Pipeline * pPipelines = {};
37533  };
37534 
37535  template <>
37537  {
37539  };
37540 
37541  struct XYColorEXT
37542  {
37544 
37545 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
37546  VULKAN_HPP_CONSTEXPR XYColorEXT( float x_ = {}, float y_ = {} ) VULKAN_HPP_NOEXCEPT
37547  : x( x_ )
37548  , y( y_ )
37549  {
37550  }
37551 
37552  VULKAN_HPP_CONSTEXPR XYColorEXT( XYColorEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
37553 
37554  XYColorEXT( VkXYColorEXT const & rhs ) VULKAN_HPP_NOEXCEPT : XYColorEXT( *reinterpret_cast<XYColorEXT const *>( &rhs ) ) {}
37555 
37556  XYColorEXT & operator=( XYColorEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
37557 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
37558 
37560  {
37561  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::XYColorEXT const *>( &rhs );
37562  return *this;
37563  }
37564 
37565 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
37567  {
37568  x = x_;
37569  return *this;
37570  }
37571 
37573  {
37574  y = y_;
37575  return *this;
37576  }
37577 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
37578 
37579  operator VkXYColorEXT const &() const VULKAN_HPP_NOEXCEPT
37580  {
37581  return *reinterpret_cast<const VkXYColorEXT *>( this );
37582  }
37583 
37585  {
37586  return *reinterpret_cast<VkXYColorEXT *>( this );
37587  }
37588 
37589 #if defined( VULKAN_HPP_USE_REFLECT )
37590 # if 14 <= VULKAN_HPP_CPP_VERSION
37591  auto
37592 # else
37593  std::tuple<float const &, float const &>
37594 # endif
37595  reflect() const VULKAN_HPP_NOEXCEPT
37596  {
37597  return std::tie( x, y );
37598  }
37599 #endif
37600 
37601 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
37602  auto operator<=>( XYColorEXT const & ) const = default;
37603 #else
37604  bool operator==( XYColorEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
37605  {
37606 # if defined( VULKAN_HPP_USE_REFLECT )
37607  return this->reflect() == rhs.reflect();
37608 # else
37609  return ( x == rhs.x ) && ( y == rhs.y );
37610 # endif
37611  }
37612 
37613  bool operator!=( XYColorEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
37614  {
37615  return !operator==( rhs );
37616  }
37617 #endif
37618 
37619  public:
37620  float x = {};
37621  float y = {};
37622  };
37623 
37625  {
37627 
37628  static const bool allowDuplicate = false;
37629  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eHdrMetadataEXT;
37630 
37631 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
37633  VULKAN_HPP_NAMESPACE::XYColorEXT displayPrimaryGreen_ = {},
37634  VULKAN_HPP_NAMESPACE::XYColorEXT displayPrimaryBlue_ = {},
37635  VULKAN_HPP_NAMESPACE::XYColorEXT whitePoint_ = {},
37636  float maxLuminance_ = {},
37637  float minLuminance_ = {},
37638  float maxContentLightLevel_ = {},
37639  float maxFrameAverageLightLevel_ = {},
37640  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
37641  : pNext( pNext_ )
37642  , displayPrimaryRed( displayPrimaryRed_ )
37643  , displayPrimaryGreen( displayPrimaryGreen_ )
37644  , displayPrimaryBlue( displayPrimaryBlue_ )
37645  , whitePoint( whitePoint_ )
37646  , maxLuminance( maxLuminance_ )
37647  , minLuminance( minLuminance_ )
37648  , maxContentLightLevel( maxContentLightLevel_ )
37649  , maxFrameAverageLightLevel( maxFrameAverageLightLevel_ )
37650  {
37651  }
37652 
37653  VULKAN_HPP_CONSTEXPR HdrMetadataEXT( HdrMetadataEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
37654 
37655  HdrMetadataEXT( VkHdrMetadataEXT const & rhs ) VULKAN_HPP_NOEXCEPT : HdrMetadataEXT( *reinterpret_cast<HdrMetadataEXT const *>( &rhs ) ) {}
37656 
37657  HdrMetadataEXT & operator=( HdrMetadataEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
37658 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
37659 
37661  {
37662  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::HdrMetadataEXT const *>( &rhs );
37663  return *this;
37664  }
37665 
37666 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
37668  {
37669  pNext = pNext_;
37670  return *this;
37671  }
37672 
37674  {
37675  displayPrimaryRed = displayPrimaryRed_;
37676  return *this;
37677  }
37678 
37680  {
37681  displayPrimaryGreen = displayPrimaryGreen_;
37682  return *this;
37683  }
37684 
37686  {
37687  displayPrimaryBlue = displayPrimaryBlue_;
37688  return *this;
37689  }
37690 
37692  {
37693  whitePoint = whitePoint_;
37694  return *this;
37695  }
37696 
37698  {
37699  maxLuminance = maxLuminance_;
37700  return *this;
37701  }
37702 
37704  {
37705  minLuminance = minLuminance_;
37706  return *this;
37707  }
37708 
37710  {
37711  maxContentLightLevel = maxContentLightLevel_;
37712  return *this;
37713  }
37714 
37716  {
37717  maxFrameAverageLightLevel = maxFrameAverageLightLevel_;
37718  return *this;
37719  }
37720 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
37721 
37722  operator VkHdrMetadataEXT const &() const VULKAN_HPP_NOEXCEPT
37723  {
37724  return *reinterpret_cast<const VkHdrMetadataEXT *>( this );
37725  }
37726 
37728  {
37729  return *reinterpret_cast<VkHdrMetadataEXT *>( this );
37730  }
37731 
37732 #if defined( VULKAN_HPP_USE_REFLECT )
37733 # if 14 <= VULKAN_HPP_CPP_VERSION
37734  auto
37735 # else
37736  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
37737  const void * const &,
37742  float const &,
37743  float const &,
37744  float const &,
37745  float const &>
37746 # endif
37747  reflect() const VULKAN_HPP_NOEXCEPT
37748  {
37749  return std::tie( sType,
37750  pNext,
37751  displayPrimaryRed,
37752  displayPrimaryGreen,
37753  displayPrimaryBlue,
37754  whitePoint,
37755  maxLuminance,
37756  minLuminance,
37757  maxContentLightLevel,
37758  maxFrameAverageLightLevel );
37759  }
37760 #endif
37761 
37762 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
37763  auto operator<=>( HdrMetadataEXT const & ) const = default;
37764 #else
37766  {
37767 # if defined( VULKAN_HPP_USE_REFLECT )
37768  return this->reflect() == rhs.reflect();
37769 # else
37770  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( displayPrimaryRed == rhs.displayPrimaryRed ) &&
37771  ( displayPrimaryGreen == rhs.displayPrimaryGreen ) && ( displayPrimaryBlue == rhs.displayPrimaryBlue ) && ( whitePoint == rhs.whitePoint ) &&
37772  ( maxLuminance == rhs.maxLuminance ) && ( minLuminance == rhs.minLuminance ) && ( maxContentLightLevel == rhs.maxContentLightLevel ) &&
37773  ( maxFrameAverageLightLevel == rhs.maxFrameAverageLightLevel );
37774 # endif
37775  }
37776 
37778  {
37779  return !operator==( rhs );
37780  }
37781 #endif
37782 
37783  public:
37784  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eHdrMetadataEXT;
37785  const void * pNext = {};
37786  VULKAN_HPP_NAMESPACE::XYColorEXT displayPrimaryRed = {};
37787  VULKAN_HPP_NAMESPACE::XYColorEXT displayPrimaryGreen = {};
37788  VULKAN_HPP_NAMESPACE::XYColorEXT displayPrimaryBlue = {};
37790  float maxLuminance = {};
37791  float minLuminance = {};
37792  float maxContentLightLevel = {};
37793  float maxFrameAverageLightLevel = {};
37794  };
37795 
37796  template <>
37798  {
37800  };
37801 
37803  {
37805 
37806  static const bool allowDuplicate = false;
37807  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eHeadlessSurfaceCreateInfoEXT;
37808 
37809 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
37811  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
37812  : pNext( pNext_ )
37813  , flags( flags_ )
37814  {
37815  }
37816 
37817  VULKAN_HPP_CONSTEXPR HeadlessSurfaceCreateInfoEXT( HeadlessSurfaceCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
37818 
37820  : HeadlessSurfaceCreateInfoEXT( *reinterpret_cast<HeadlessSurfaceCreateInfoEXT const *>( &rhs ) )
37821  {
37822  }
37823 
37825 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
37826 
37828  {
37829  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateInfoEXT const *>( &rhs );
37830  return *this;
37831  }
37832 
37833 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
37835  {
37836  pNext = pNext_;
37837  return *this;
37838  }
37839 
37841  {
37842  flags = flags_;
37843  return *this;
37844  }
37845 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
37846 
37848  {
37849  return *reinterpret_cast<const VkHeadlessSurfaceCreateInfoEXT *>( this );
37850  }
37851 
37853  {
37854  return *reinterpret_cast<VkHeadlessSurfaceCreateInfoEXT *>( this );
37855  }
37856 
37857 #if defined( VULKAN_HPP_USE_REFLECT )
37858 # if 14 <= VULKAN_HPP_CPP_VERSION
37859  auto
37860 # else
37861  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateFlagsEXT const &>
37862 # endif
37863  reflect() const VULKAN_HPP_NOEXCEPT
37864  {
37865  return std::tie( sType, pNext, flags );
37866  }
37867 #endif
37868 
37869 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
37870  auto operator<=>( HeadlessSurfaceCreateInfoEXT const & ) const = default;
37871 #else
37873  {
37874 # if defined( VULKAN_HPP_USE_REFLECT )
37875  return this->reflect() == rhs.reflect();
37876 # else
37877  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags );
37878 # endif
37879  }
37880 
37882  {
37883  return !operator==( rhs );
37884  }
37885 #endif
37886 
37887  public:
37888  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eHeadlessSurfaceCreateInfoEXT;
37889  const void * pNext = {};
37891  };
37892 
37893  template <>
37895  {
37897  };
37898 
37899 #if defined( VK_USE_PLATFORM_IOS_MVK )
37900  struct IOSSurfaceCreateInfoMVK
37901  {
37902  using NativeType = VkIOSSurfaceCreateInfoMVK;
37903 
37904  static const bool allowDuplicate = false;
37905  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eIosSurfaceCreateInfoMVK;
37906 
37907 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
37908  VULKAN_HPP_CONSTEXPR IOSSurfaceCreateInfoMVK( VULKAN_HPP_NAMESPACE::IOSSurfaceCreateFlagsMVK flags_ = {},
37909  const void * pView_ = {},
37910  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
37911  : pNext( pNext_ )
37912  , flags( flags_ )
37913  , pView( pView_ )
37914  {
37915  }
37916 
37917  VULKAN_HPP_CONSTEXPR IOSSurfaceCreateInfoMVK( IOSSurfaceCreateInfoMVK const & rhs ) VULKAN_HPP_NOEXCEPT = default;
37918 
37919  IOSSurfaceCreateInfoMVK( VkIOSSurfaceCreateInfoMVK const & rhs ) VULKAN_HPP_NOEXCEPT
37920  : IOSSurfaceCreateInfoMVK( *reinterpret_cast<IOSSurfaceCreateInfoMVK const *>( &rhs ) )
37921  {
37922  }
37923 
37924  IOSSurfaceCreateInfoMVK & operator=( IOSSurfaceCreateInfoMVK const & rhs ) VULKAN_HPP_NOEXCEPT = default;
37925 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
37926 
37927  IOSSurfaceCreateInfoMVK & operator=( VkIOSSurfaceCreateInfoMVK const & rhs ) VULKAN_HPP_NOEXCEPT
37928  {
37929  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::IOSSurfaceCreateInfoMVK const *>( &rhs );
37930  return *this;
37931  }
37932 
37933 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
37934  VULKAN_HPP_CONSTEXPR_14 IOSSurfaceCreateInfoMVK & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
37935  {
37936  pNext = pNext_;
37937  return *this;
37938  }
37939 
37940  VULKAN_HPP_CONSTEXPR_14 IOSSurfaceCreateInfoMVK & setFlags( VULKAN_HPP_NAMESPACE::IOSSurfaceCreateFlagsMVK flags_ ) VULKAN_HPP_NOEXCEPT
37941  {
37942  flags = flags_;
37943  return *this;
37944  }
37945 
37946  VULKAN_HPP_CONSTEXPR_14 IOSSurfaceCreateInfoMVK & setPView( const void * pView_ ) VULKAN_HPP_NOEXCEPT
37947  {
37948  pView = pView_;
37949  return *this;
37950  }
37951 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
37952 
37953  operator VkIOSSurfaceCreateInfoMVK const &() const VULKAN_HPP_NOEXCEPT
37954  {
37955  return *reinterpret_cast<const VkIOSSurfaceCreateInfoMVK *>( this );
37956  }
37957 
37959  {
37960  return *reinterpret_cast<VkIOSSurfaceCreateInfoMVK *>( this );
37961  }
37962 
37963 # if defined( VULKAN_HPP_USE_REFLECT )
37964 # if 14 <= VULKAN_HPP_CPP_VERSION
37965  auto
37966 # else
37967  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::IOSSurfaceCreateFlagsMVK const &, const void * const &>
37968 # endif
37969  reflect() const VULKAN_HPP_NOEXCEPT
37970  {
37971  return std::tie( sType, pNext, flags, pView );
37972  }
37973 # endif
37974 
37975 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
37976  auto operator<=>( IOSSurfaceCreateInfoMVK const & ) const = default;
37977 # else
37978  bool operator==( IOSSurfaceCreateInfoMVK const & rhs ) const VULKAN_HPP_NOEXCEPT
37979  {
37980 # if defined( VULKAN_HPP_USE_REFLECT )
37981  return this->reflect() == rhs.reflect();
37982 # else
37983  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( pView == rhs.pView );
37984 # endif
37985  }
37986 
37987  bool operator!=( IOSSurfaceCreateInfoMVK const & rhs ) const VULKAN_HPP_NOEXCEPT
37988  {
37989  return !operator==( rhs );
37990  }
37991 # endif
37992 
37993  public:
37994  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eIosSurfaceCreateInfoMVK;
37995  const void * pNext = {};
37996  VULKAN_HPP_NAMESPACE::IOSSurfaceCreateFlagsMVK flags = {};
37997  const void * pView = {};
37998  };
37999 
38000  template <>
38001  struct CppType<StructureType, StructureType::eIosSurfaceCreateInfoMVK>
38002  {
38003  using Type = IOSSurfaceCreateInfoMVK;
38004  };
38005 #endif /*VK_USE_PLATFORM_IOS_MVK*/
38006 
38007  struct ImageBlit
38008  {
38010 
38011 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
38013  std::array<VULKAN_HPP_NAMESPACE::Offset3D, 2> const & srcOffsets_ = {},
38014  VULKAN_HPP_NAMESPACE::ImageSubresourceLayers dstSubresource_ = {},
38015  std::array<VULKAN_HPP_NAMESPACE::Offset3D, 2> const & dstOffsets_ = {} ) VULKAN_HPP_NOEXCEPT
38016  : srcSubresource( srcSubresource_ )
38017  , srcOffsets( srcOffsets_ )
38018  , dstSubresource( dstSubresource_ )
38019  , dstOffsets( dstOffsets_ )
38020  {
38021  }
38022 
38023  VULKAN_HPP_CONSTEXPR_14 ImageBlit( ImageBlit const & rhs ) VULKAN_HPP_NOEXCEPT = default;
38024 
38025  ImageBlit( VkImageBlit const & rhs ) VULKAN_HPP_NOEXCEPT : ImageBlit( *reinterpret_cast<ImageBlit const *>( &rhs ) ) {}
38026 
38027  ImageBlit & operator=( ImageBlit const & rhs ) VULKAN_HPP_NOEXCEPT = default;
38028 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
38029 
38031  {
38032  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageBlit const *>( &rhs );
38033  return *this;
38034  }
38035 
38036 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
38038  {
38039  srcSubresource = srcSubresource_;
38040  return *this;
38041  }
38042 
38043  VULKAN_HPP_CONSTEXPR_14 ImageBlit & setSrcOffsets( std::array<VULKAN_HPP_NAMESPACE::Offset3D, 2> const & srcOffsets_ ) VULKAN_HPP_NOEXCEPT
38044  {
38045  srcOffsets = srcOffsets_;
38046  return *this;
38047  }
38048 
38050  {
38051  dstSubresource = dstSubresource_;
38052  return *this;
38053  }
38054 
38055  VULKAN_HPP_CONSTEXPR_14 ImageBlit & setDstOffsets( std::array<VULKAN_HPP_NAMESPACE::Offset3D, 2> const & dstOffsets_ ) VULKAN_HPP_NOEXCEPT
38056  {
38057  dstOffsets = dstOffsets_;
38058  return *this;
38059  }
38060 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
38061 
38062  operator VkImageBlit const &() const VULKAN_HPP_NOEXCEPT
38063  {
38064  return *reinterpret_cast<const VkImageBlit *>( this );
38065  }
38066 
38068  {
38069  return *reinterpret_cast<VkImageBlit *>( this );
38070  }
38071 
38072 #if defined( VULKAN_HPP_USE_REFLECT )
38073 # if 14 <= VULKAN_HPP_CPP_VERSION
38074  auto
38075 # else
38080 # endif
38081  reflect() const VULKAN_HPP_NOEXCEPT
38082  {
38083  return std::tie( srcSubresource, srcOffsets, dstSubresource, dstOffsets );
38084  }
38085 #endif
38086 
38087 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
38088  auto operator<=>( ImageBlit const & ) const = default;
38089 #else
38090  bool operator==( ImageBlit const & rhs ) const VULKAN_HPP_NOEXCEPT
38091  {
38092 # if defined( VULKAN_HPP_USE_REFLECT )
38093  return this->reflect() == rhs.reflect();
38094 # else
38095  return ( srcSubresource == rhs.srcSubresource ) && ( srcOffsets == rhs.srcOffsets ) && ( dstSubresource == rhs.dstSubresource ) &&
38096  ( dstOffsets == rhs.dstOffsets );
38097 # endif
38098  }
38099 
38100  bool operator!=( ImageBlit const & rhs ) const VULKAN_HPP_NOEXCEPT
38101  {
38102  return !operator==( rhs );
38103  }
38104 #endif
38105 
38106  public:
38111  };
38112 
38114  {
38116 
38117  static const bool allowDuplicate = false;
38118  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageCaptureDescriptorDataInfoEXT;
38119 
38120 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
38122  : pNext( pNext_ )
38123  , image( image_ )
38124  {
38125  }
38126 
38127  VULKAN_HPP_CONSTEXPR ImageCaptureDescriptorDataInfoEXT( ImageCaptureDescriptorDataInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
38128 
38130  : ImageCaptureDescriptorDataInfoEXT( *reinterpret_cast<ImageCaptureDescriptorDataInfoEXT const *>( &rhs ) )
38131  {
38132  }
38133 
38135 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
38136 
38138  {
38139  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageCaptureDescriptorDataInfoEXT const *>( &rhs );
38140  return *this;
38141  }
38142 
38143 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
38145  {
38146  pNext = pNext_;
38147  return *this;
38148  }
38149 
38151  {
38152  image = image_;
38153  return *this;
38154  }
38155 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
38156 
38158  {
38159  return *reinterpret_cast<const VkImageCaptureDescriptorDataInfoEXT *>( this );
38160  }
38161 
38163  {
38164  return *reinterpret_cast<VkImageCaptureDescriptorDataInfoEXT *>( this );
38165  }
38166 
38167 #if defined( VULKAN_HPP_USE_REFLECT )
38168 # if 14 <= VULKAN_HPP_CPP_VERSION
38169  auto
38170 # else
38171  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::Image const &>
38172 # endif
38173  reflect() const VULKAN_HPP_NOEXCEPT
38174  {
38175  return std::tie( sType, pNext, image );
38176  }
38177 #endif
38178 
38179 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
38180  auto operator<=>( ImageCaptureDescriptorDataInfoEXT const & ) const = default;
38181 #else
38183  {
38184 # if defined( VULKAN_HPP_USE_REFLECT )
38185  return this->reflect() == rhs.reflect();
38186 # else
38187  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( image == rhs.image );
38188 # endif
38189  }
38190 
38192  {
38193  return !operator==( rhs );
38194  }
38195 #endif
38196 
38197  public:
38198  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageCaptureDescriptorDataInfoEXT;
38199  const void * pNext = {};
38201  };
38202 
38203  template <>
38205  {
38207  };
38208 
38210  {
38212 
38213  static const bool allowDuplicate = false;
38214  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageCompressionControlEXT;
38215 
38216 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
38218  uint32_t compressionControlPlaneCount_ = {},
38220  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
38221  : pNext( pNext_ )
38222  , flags( flags_ )
38223  , compressionControlPlaneCount( compressionControlPlaneCount_ )
38224  , pFixedRateFlags( pFixedRateFlags_ )
38225  {
38226  }
38227 
38228  VULKAN_HPP_CONSTEXPR ImageCompressionControlEXT( ImageCompressionControlEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
38229 
38231  : ImageCompressionControlEXT( *reinterpret_cast<ImageCompressionControlEXT const *>( &rhs ) )
38232  {
38233  }
38234 
38235 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
38238  const void * pNext_ = nullptr )
38239  : pNext( pNext_ )
38240  , flags( flags_ )
38241  , compressionControlPlaneCount( static_cast<uint32_t>( fixedRateFlags_.size() ) )
38242  , pFixedRateFlags( fixedRateFlags_.data() )
38243  {
38244  }
38245 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
38246 
38247  ImageCompressionControlEXT & operator=( ImageCompressionControlEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
38248 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
38249 
38251  {
38252  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageCompressionControlEXT const *>( &rhs );
38253  return *this;
38254  }
38255 
38256 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
38258  {
38259  pNext = pNext_;
38260  return *this;
38261  }
38262 
38264  {
38265  flags = flags_;
38266  return *this;
38267  }
38268 
38270  {
38271  compressionControlPlaneCount = compressionControlPlaneCount_;
38272  return *this;
38273  }
38274 
38277  {
38278  pFixedRateFlags = pFixedRateFlags_;
38279  return *this;
38280  }
38281 
38282 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
38285  {
38286  compressionControlPlaneCount = static_cast<uint32_t>( fixedRateFlags_.size() );
38287  pFixedRateFlags = fixedRateFlags_.data();
38288  return *this;
38289  }
38290 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
38291 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
38292 
38294  {
38295  return *reinterpret_cast<const VkImageCompressionControlEXT *>( this );
38296  }
38297 
38299  {
38300  return *reinterpret_cast<VkImageCompressionControlEXT *>( this );
38301  }
38302 
38303 #if defined( VULKAN_HPP_USE_REFLECT )
38304 # if 14 <= VULKAN_HPP_CPP_VERSION
38305  auto
38306 # else
38307  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
38308  const void * const &,
38310  uint32_t const &,
38312 # endif
38313  reflect() const VULKAN_HPP_NOEXCEPT
38314  {
38315  return std::tie( sType, pNext, flags, compressionControlPlaneCount, pFixedRateFlags );
38316  }
38317 #endif
38318 
38319 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
38320  auto operator<=>( ImageCompressionControlEXT const & ) const = default;
38321 #else
38323  {
38324 # if defined( VULKAN_HPP_USE_REFLECT )
38325  return this->reflect() == rhs.reflect();
38326 # else
38327  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
38328  ( compressionControlPlaneCount == rhs.compressionControlPlaneCount ) && ( pFixedRateFlags == rhs.pFixedRateFlags );
38329 # endif
38330  }
38331 
38333  {
38334  return !operator==( rhs );
38335  }
38336 #endif
38337 
38338  public:
38339  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageCompressionControlEXT;
38340  const void * pNext = {};
38342  uint32_t compressionControlPlaneCount = {};
38344  };
38345 
38346  template <>
38348  {
38350  };
38351 
38353  {
38355 
38356  static const bool allowDuplicate = false;
38357  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageCompressionPropertiesEXT;
38358 
38359 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
38361  VULKAN_HPP_NAMESPACE::ImageCompressionFixedRateFlagsEXT imageCompressionFixedRateFlags_ = {},
38362  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
38363  : pNext( pNext_ )
38364  , imageCompressionFlags( imageCompressionFlags_ )
38365  , imageCompressionFixedRateFlags( imageCompressionFixedRateFlags_ )
38366  {
38367  }
38368 
38369  VULKAN_HPP_CONSTEXPR ImageCompressionPropertiesEXT( ImageCompressionPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
38370 
38372  : ImageCompressionPropertiesEXT( *reinterpret_cast<ImageCompressionPropertiesEXT const *>( &rhs ) )
38373  {
38374  }
38375 
38377 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
38378 
38380  {
38381  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageCompressionPropertiesEXT const *>( &rhs );
38382  return *this;
38383  }
38384 
38386  {
38387  return *reinterpret_cast<const VkImageCompressionPropertiesEXT *>( this );
38388  }
38389 
38391  {
38392  return *reinterpret_cast<VkImageCompressionPropertiesEXT *>( this );
38393  }
38394 
38395 #if defined( VULKAN_HPP_USE_REFLECT )
38396 # if 14 <= VULKAN_HPP_CPP_VERSION
38397  auto
38398 # else
38399  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
38400  void * const &,
38403 # endif
38404  reflect() const VULKAN_HPP_NOEXCEPT
38405  {
38406  return std::tie( sType, pNext, imageCompressionFlags, imageCompressionFixedRateFlags );
38407  }
38408 #endif
38409 
38410 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
38411  auto operator<=>( ImageCompressionPropertiesEXT const & ) const = default;
38412 #else
38414  {
38415 # if defined( VULKAN_HPP_USE_REFLECT )
38416  return this->reflect() == rhs.reflect();
38417 # else
38418  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( imageCompressionFlags == rhs.imageCompressionFlags ) &&
38419  ( imageCompressionFixedRateFlags == rhs.imageCompressionFixedRateFlags );
38420 # endif
38421  }
38422 
38424  {
38425  return !operator==( rhs );
38426  }
38427 #endif
38428 
38429  public:
38430  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageCompressionPropertiesEXT;
38431  void * pNext = {};
38433  VULKAN_HPP_NAMESPACE::ImageCompressionFixedRateFlagsEXT imageCompressionFixedRateFlags = {};
38434  };
38435 
38436  template <>
38438  {
38440  };
38441 
38442 #if defined( VK_USE_PLATFORM_FUCHSIA )
38443  struct ImageFormatConstraintsInfoFUCHSIA
38444  {
38445  using NativeType = VkImageFormatConstraintsInfoFUCHSIA;
38446 
38447  static const bool allowDuplicate = false;
38448  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageFormatConstraintsInfoFUCHSIA;
38449 
38450 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
38451  VULKAN_HPP_CONSTEXPR ImageFormatConstraintsInfoFUCHSIA( VULKAN_HPP_NAMESPACE::ImageCreateInfo imageCreateInfo_ = {},
38452  VULKAN_HPP_NAMESPACE::FormatFeatureFlags requiredFormatFeatures_ = {},
38453  VULKAN_HPP_NAMESPACE::ImageFormatConstraintsFlagsFUCHSIA flags_ = {},
38454  uint64_t sysmemPixelFormat_ = {},
38455  uint32_t colorSpaceCount_ = {},
38456  const VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIA * pColorSpaces_ = {},
38457  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
38458  : pNext( pNext_ )
38459  , imageCreateInfo( imageCreateInfo_ )
38460  , requiredFormatFeatures( requiredFormatFeatures_ )
38461  , flags( flags_ )
38462  , sysmemPixelFormat( sysmemPixelFormat_ )
38463  , colorSpaceCount( colorSpaceCount_ )
38464  , pColorSpaces( pColorSpaces_ )
38465  {
38466  }
38467 
38468  VULKAN_HPP_CONSTEXPR ImageFormatConstraintsInfoFUCHSIA( ImageFormatConstraintsInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
38469 
38470  ImageFormatConstraintsInfoFUCHSIA( VkImageFormatConstraintsInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
38471  : ImageFormatConstraintsInfoFUCHSIA( *reinterpret_cast<ImageFormatConstraintsInfoFUCHSIA const *>( &rhs ) )
38472  {
38473  }
38474 
38475 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
38476  ImageFormatConstraintsInfoFUCHSIA( VULKAN_HPP_NAMESPACE::ImageCreateInfo imageCreateInfo_,
38477  VULKAN_HPP_NAMESPACE::FormatFeatureFlags requiredFormatFeatures_,
38478  VULKAN_HPP_NAMESPACE::ImageFormatConstraintsFlagsFUCHSIA flags_,
38479  uint64_t sysmemPixelFormat_,
38481  const void * pNext_ = nullptr )
38482  : pNext( pNext_ )
38483  , imageCreateInfo( imageCreateInfo_ )
38484  , requiredFormatFeatures( requiredFormatFeatures_ )
38485  , flags( flags_ )
38486  , sysmemPixelFormat( sysmemPixelFormat_ )
38487  , colorSpaceCount( static_cast<uint32_t>( colorSpaces_.size() ) )
38488  , pColorSpaces( colorSpaces_.data() )
38489  {
38490  }
38491 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
38492 
38493  ImageFormatConstraintsInfoFUCHSIA & operator=( ImageFormatConstraintsInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
38494 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
38495 
38496  ImageFormatConstraintsInfoFUCHSIA & operator=( VkImageFormatConstraintsInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
38497  {
38498  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageFormatConstraintsInfoFUCHSIA const *>( &rhs );
38499  return *this;
38500  }
38501 
38502 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
38503  VULKAN_HPP_CONSTEXPR_14 ImageFormatConstraintsInfoFUCHSIA & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
38504  {
38505  pNext = pNext_;
38506  return *this;
38507  }
38508 
38509  VULKAN_HPP_CONSTEXPR_14 ImageFormatConstraintsInfoFUCHSIA &
38510  setImageCreateInfo( VULKAN_HPP_NAMESPACE::ImageCreateInfo const & imageCreateInfo_ ) VULKAN_HPP_NOEXCEPT
38511  {
38512  imageCreateInfo = imageCreateInfo_;
38513  return *this;
38514  }
38515 
38516  VULKAN_HPP_CONSTEXPR_14 ImageFormatConstraintsInfoFUCHSIA &
38517  setRequiredFormatFeatures( VULKAN_HPP_NAMESPACE::FormatFeatureFlags requiredFormatFeatures_ ) VULKAN_HPP_NOEXCEPT
38518  {
38519  requiredFormatFeatures = requiredFormatFeatures_;
38520  return *this;
38521  }
38522 
38523  VULKAN_HPP_CONSTEXPR_14 ImageFormatConstraintsInfoFUCHSIA & setFlags( VULKAN_HPP_NAMESPACE::ImageFormatConstraintsFlagsFUCHSIA flags_ ) VULKAN_HPP_NOEXCEPT
38524  {
38525  flags = flags_;
38526  return *this;
38527  }
38528 
38529  VULKAN_HPP_CONSTEXPR_14 ImageFormatConstraintsInfoFUCHSIA & setSysmemPixelFormat( uint64_t sysmemPixelFormat_ ) VULKAN_HPP_NOEXCEPT
38530  {
38531  sysmemPixelFormat = sysmemPixelFormat_;
38532  return *this;
38533  }
38534 
38535  VULKAN_HPP_CONSTEXPR_14 ImageFormatConstraintsInfoFUCHSIA & setColorSpaceCount( uint32_t colorSpaceCount_ ) VULKAN_HPP_NOEXCEPT
38536  {
38537  colorSpaceCount = colorSpaceCount_;
38538  return *this;
38539  }
38540 
38541  VULKAN_HPP_CONSTEXPR_14 ImageFormatConstraintsInfoFUCHSIA &
38542  setPColorSpaces( const VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIA * pColorSpaces_ ) VULKAN_HPP_NOEXCEPT
38543  {
38544  pColorSpaces = pColorSpaces_;
38545  return *this;
38546  }
38547 
38548 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
38549  ImageFormatConstraintsInfoFUCHSIA & setColorSpaces(
38551  {
38552  colorSpaceCount = static_cast<uint32_t>( colorSpaces_.size() );
38553  pColorSpaces = colorSpaces_.data();
38554  return *this;
38555  }
38556 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
38557 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
38558 
38560  {
38561  return *reinterpret_cast<const VkImageFormatConstraintsInfoFUCHSIA *>( this );
38562  }
38563 
38565  {
38566  return *reinterpret_cast<VkImageFormatConstraintsInfoFUCHSIA *>( this );
38567  }
38568 
38569 # if defined( VULKAN_HPP_USE_REFLECT )
38570 # if 14 <= VULKAN_HPP_CPP_VERSION
38571  auto
38572 # else
38573  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
38574  const void * const &,
38577  VULKAN_HPP_NAMESPACE::ImageFormatConstraintsFlagsFUCHSIA const &,
38578  uint64_t const &,
38579  uint32_t const &,
38580  const VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIA * const &>
38581 # endif
38582  reflect() const VULKAN_HPP_NOEXCEPT
38583  {
38584  return std::tie( sType, pNext, imageCreateInfo, requiredFormatFeatures, flags, sysmemPixelFormat, colorSpaceCount, pColorSpaces );
38585  }
38586 # endif
38587 
38588 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
38589  auto operator<=>( ImageFormatConstraintsInfoFUCHSIA const & ) const = default;
38590 # else
38591  bool operator==( ImageFormatConstraintsInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
38592  {
38593 # if defined( VULKAN_HPP_USE_REFLECT )
38594  return this->reflect() == rhs.reflect();
38595 # else
38596  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( imageCreateInfo == rhs.imageCreateInfo ) &&
38597  ( requiredFormatFeatures == rhs.requiredFormatFeatures ) && ( flags == rhs.flags ) && ( sysmemPixelFormat == rhs.sysmemPixelFormat ) &&
38598  ( colorSpaceCount == rhs.colorSpaceCount ) && ( pColorSpaces == rhs.pColorSpaces );
38599 # endif
38600  }
38601 
38602  bool operator!=( ImageFormatConstraintsInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
38603  {
38604  return !operator==( rhs );
38605  }
38606 # endif
38607 
38608  public:
38609  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageFormatConstraintsInfoFUCHSIA;
38610  const void * pNext = {};
38611  VULKAN_HPP_NAMESPACE::ImageCreateInfo imageCreateInfo = {};
38612  VULKAN_HPP_NAMESPACE::FormatFeatureFlags requiredFormatFeatures = {};
38613  VULKAN_HPP_NAMESPACE::ImageFormatConstraintsFlagsFUCHSIA flags = {};
38614  uint64_t sysmemPixelFormat = {};
38615  uint32_t colorSpaceCount = {};
38616  const VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIA * pColorSpaces = {};
38617  };
38618 
38619  template <>
38620  struct CppType<StructureType, StructureType::eImageFormatConstraintsInfoFUCHSIA>
38621  {
38622  using Type = ImageFormatConstraintsInfoFUCHSIA;
38623  };
38624 #endif /*VK_USE_PLATFORM_FUCHSIA*/
38625 
38626 #if defined( VK_USE_PLATFORM_FUCHSIA )
38627  struct ImageConstraintsInfoFUCHSIA
38628  {
38629  using NativeType = VkImageConstraintsInfoFUCHSIA;
38630 
38631  static const bool allowDuplicate = false;
38632  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageConstraintsInfoFUCHSIA;
38633 
38634 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
38635  VULKAN_HPP_CONSTEXPR ImageConstraintsInfoFUCHSIA( uint32_t formatConstraintsCount_ = {},
38636  const VULKAN_HPP_NAMESPACE::ImageFormatConstraintsInfoFUCHSIA * pFormatConstraints_ = {},
38637  VULKAN_HPP_NAMESPACE::BufferCollectionConstraintsInfoFUCHSIA bufferCollectionConstraints_ = {},
38638  VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFlagsFUCHSIA flags_ = {},
38639  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
38640  : pNext( pNext_ )
38641  , formatConstraintsCount( formatConstraintsCount_ )
38642  , pFormatConstraints( pFormatConstraints_ )
38643  , bufferCollectionConstraints( bufferCollectionConstraints_ )
38644  , flags( flags_ )
38645  {
38646  }
38647 
38648  VULKAN_HPP_CONSTEXPR ImageConstraintsInfoFUCHSIA( ImageConstraintsInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
38649 
38650  ImageConstraintsInfoFUCHSIA( VkImageConstraintsInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
38651  : ImageConstraintsInfoFUCHSIA( *reinterpret_cast<ImageConstraintsInfoFUCHSIA const *>( &rhs ) )
38652  {
38653  }
38654 
38655 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
38656  ImageConstraintsInfoFUCHSIA(
38658  VULKAN_HPP_NAMESPACE::BufferCollectionConstraintsInfoFUCHSIA bufferCollectionConstraints_ = {},
38659  VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFlagsFUCHSIA flags_ = {},
38660  const void * pNext_ = nullptr )
38661  : pNext( pNext_ )
38662  , formatConstraintsCount( static_cast<uint32_t>( formatConstraints_.size() ) )
38663  , pFormatConstraints( formatConstraints_.data() )
38664  , bufferCollectionConstraints( bufferCollectionConstraints_ )
38665  , flags( flags_ )
38666  {
38667  }
38668 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
38669 
38670  ImageConstraintsInfoFUCHSIA & operator=( ImageConstraintsInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
38671 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
38672 
38673  ImageConstraintsInfoFUCHSIA & operator=( VkImageConstraintsInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
38674  {
38675  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFUCHSIA const *>( &rhs );
38676  return *this;
38677  }
38678 
38679 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
38680  VULKAN_HPP_CONSTEXPR_14 ImageConstraintsInfoFUCHSIA & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
38681  {
38682  pNext = pNext_;
38683  return *this;
38684  }
38685 
38686  VULKAN_HPP_CONSTEXPR_14 ImageConstraintsInfoFUCHSIA & setFormatConstraintsCount( uint32_t formatConstraintsCount_ ) VULKAN_HPP_NOEXCEPT
38687  {
38688  formatConstraintsCount = formatConstraintsCount_;
38689  return *this;
38690  }
38691 
38692  VULKAN_HPP_CONSTEXPR_14 ImageConstraintsInfoFUCHSIA &
38693  setPFormatConstraints( const VULKAN_HPP_NAMESPACE::ImageFormatConstraintsInfoFUCHSIA * pFormatConstraints_ ) VULKAN_HPP_NOEXCEPT
38694  {
38695  pFormatConstraints = pFormatConstraints_;
38696  return *this;
38697  }
38698 
38699 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
38700  ImageConstraintsInfoFUCHSIA & setFormatConstraints(
38703  {
38704  formatConstraintsCount = static_cast<uint32_t>( formatConstraints_.size() );
38705  pFormatConstraints = formatConstraints_.data();
38706  return *this;
38707  }
38708 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
38709 
38710  VULKAN_HPP_CONSTEXPR_14 ImageConstraintsInfoFUCHSIA &
38711  setBufferCollectionConstraints( VULKAN_HPP_NAMESPACE::BufferCollectionConstraintsInfoFUCHSIA const & bufferCollectionConstraints_ ) VULKAN_HPP_NOEXCEPT
38712  {
38713  bufferCollectionConstraints = bufferCollectionConstraints_;
38714  return *this;
38715  }
38716 
38717  VULKAN_HPP_CONSTEXPR_14 ImageConstraintsInfoFUCHSIA & setFlags( VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFlagsFUCHSIA flags_ ) VULKAN_HPP_NOEXCEPT
38718  {
38719  flags = flags_;
38720  return *this;
38721  }
38722 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
38723 
38724  operator VkImageConstraintsInfoFUCHSIA const &() const VULKAN_HPP_NOEXCEPT
38725  {
38726  return *reinterpret_cast<const VkImageConstraintsInfoFUCHSIA *>( this );
38727  }
38728 
38730  {
38731  return *reinterpret_cast<VkImageConstraintsInfoFUCHSIA *>( this );
38732  }
38733 
38734 # if defined( VULKAN_HPP_USE_REFLECT )
38735 # if 14 <= VULKAN_HPP_CPP_VERSION
38736  auto
38737 # else
38738  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
38739  const void * const &,
38740  uint32_t const &,
38741  const VULKAN_HPP_NAMESPACE::ImageFormatConstraintsInfoFUCHSIA * const &,
38742  VULKAN_HPP_NAMESPACE::BufferCollectionConstraintsInfoFUCHSIA const &,
38743  VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFlagsFUCHSIA const &>
38744 # endif
38745  reflect() const VULKAN_HPP_NOEXCEPT
38746  {
38747  return std::tie( sType, pNext, formatConstraintsCount, pFormatConstraints, bufferCollectionConstraints, flags );
38748  }
38749 # endif
38750 
38751 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
38752  auto operator<=>( ImageConstraintsInfoFUCHSIA const & ) const = default;
38753 # else
38754  bool operator==( ImageConstraintsInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
38755  {
38756 # if defined( VULKAN_HPP_USE_REFLECT )
38757  return this->reflect() == rhs.reflect();
38758 # else
38759  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( formatConstraintsCount == rhs.formatConstraintsCount ) &&
38760  ( pFormatConstraints == rhs.pFormatConstraints ) && ( bufferCollectionConstraints == rhs.bufferCollectionConstraints ) && ( flags == rhs.flags );
38761 # endif
38762  }
38763 
38764  bool operator!=( ImageConstraintsInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
38765  {
38766  return !operator==( rhs );
38767  }
38768 # endif
38769 
38770  public:
38771  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageConstraintsInfoFUCHSIA;
38772  const void * pNext = {};
38773  uint32_t formatConstraintsCount = {};
38774  const VULKAN_HPP_NAMESPACE::ImageFormatConstraintsInfoFUCHSIA * pFormatConstraints = {};
38775  VULKAN_HPP_NAMESPACE::BufferCollectionConstraintsInfoFUCHSIA bufferCollectionConstraints = {};
38776  VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFlagsFUCHSIA flags = {};
38777  };
38778 
38779  template <>
38780  struct CppType<StructureType, StructureType::eImageConstraintsInfoFUCHSIA>
38781  {
38782  using Type = ImageConstraintsInfoFUCHSIA;
38783  };
38784 #endif /*VK_USE_PLATFORM_FUCHSIA*/
38785 
38786  struct ImageCopy
38787  {
38789 
38790 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
38792  VULKAN_HPP_NAMESPACE::Offset3D srcOffset_ = {},
38793  VULKAN_HPP_NAMESPACE::ImageSubresourceLayers dstSubresource_ = {},
38794  VULKAN_HPP_NAMESPACE::Offset3D dstOffset_ = {},
38796  : srcSubresource( srcSubresource_ )
38797  , srcOffset( srcOffset_ )
38798  , dstSubresource( dstSubresource_ )
38799  , dstOffset( dstOffset_ )
38800  , extent( extent_ )
38801  {
38802  }
38803 
38804  VULKAN_HPP_CONSTEXPR ImageCopy( ImageCopy const & rhs ) VULKAN_HPP_NOEXCEPT = default;
38805 
38806  ImageCopy( VkImageCopy const & rhs ) VULKAN_HPP_NOEXCEPT : ImageCopy( *reinterpret_cast<ImageCopy const *>( &rhs ) ) {}
38807 
38808  ImageCopy & operator=( ImageCopy const & rhs ) VULKAN_HPP_NOEXCEPT = default;
38809 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
38810 
38812  {
38813  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageCopy const *>( &rhs );
38814  return *this;
38815  }
38816 
38817 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
38819  {
38820  srcSubresource = srcSubresource_;
38821  return *this;
38822  }
38823 
38825  {
38826  srcOffset = srcOffset_;
38827  return *this;
38828  }
38829 
38831  {
38832  dstSubresource = dstSubresource_;
38833  return *this;
38834  }
38835 
38837  {
38838  dstOffset = dstOffset_;
38839  return *this;
38840  }
38841 
38843  {
38844  extent = extent_;
38845  return *this;
38846  }
38847 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
38848 
38849  operator VkImageCopy const &() const VULKAN_HPP_NOEXCEPT
38850  {
38851  return *reinterpret_cast<const VkImageCopy *>( this );
38852  }
38853 
38855  {
38856  return *reinterpret_cast<VkImageCopy *>( this );
38857  }
38858 
38859 #if defined( VULKAN_HPP_USE_REFLECT )
38860 # if 14 <= VULKAN_HPP_CPP_VERSION
38861  auto
38862 # else
38868 # endif
38869  reflect() const VULKAN_HPP_NOEXCEPT
38870  {
38871  return std::tie( srcSubresource, srcOffset, dstSubresource, dstOffset, extent );
38872  }
38873 #endif
38874 
38875 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
38876  auto operator<=>( ImageCopy const & ) const = default;
38877 #else
38878  bool operator==( ImageCopy const & rhs ) const VULKAN_HPP_NOEXCEPT
38879  {
38880 # if defined( VULKAN_HPP_USE_REFLECT )
38881  return this->reflect() == rhs.reflect();
38882 # else
38883  return ( srcSubresource == rhs.srcSubresource ) && ( srcOffset == rhs.srcOffset ) && ( dstSubresource == rhs.dstSubresource ) &&
38884  ( dstOffset == rhs.dstOffset ) && ( extent == rhs.extent );
38885 # endif
38886  }
38887 
38888  bool operator!=( ImageCopy const & rhs ) const VULKAN_HPP_NOEXCEPT
38889  {
38890  return !operator==( rhs );
38891  }
38892 #endif
38893 
38894  public:
38900  };
38901 
38903  {
38905 
38906 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
38909  VULKAN_HPP_NAMESPACE::DeviceSize rowPitch_ = {},
38910  VULKAN_HPP_NAMESPACE::DeviceSize arrayPitch_ = {},
38912  : offset( offset_ )
38913  , size( size_ )
38914  , rowPitch( rowPitch_ )
38915  , arrayPitch( arrayPitch_ )
38916  , depthPitch( depthPitch_ )
38917  {
38918  }
38919 
38920  VULKAN_HPP_CONSTEXPR SubresourceLayout( SubresourceLayout const & rhs ) VULKAN_HPP_NOEXCEPT = default;
38921 
38922  SubresourceLayout( VkSubresourceLayout const & rhs ) VULKAN_HPP_NOEXCEPT : SubresourceLayout( *reinterpret_cast<SubresourceLayout const *>( &rhs ) ) {}
38923 
38924  SubresourceLayout & operator=( SubresourceLayout const & rhs ) VULKAN_HPP_NOEXCEPT = default;
38925 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
38926 
38928  {
38929  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SubresourceLayout const *>( &rhs );
38930  return *this;
38931  }
38932 
38933 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
38935  {
38936  offset = offset_;
38937  return *this;
38938  }
38939 
38941  {
38942  size = size_;
38943  return *this;
38944  }
38945 
38947  {
38948  rowPitch = rowPitch_;
38949  return *this;
38950  }
38951 
38953  {
38954  arrayPitch = arrayPitch_;
38955  return *this;
38956  }
38957 
38959  {
38960  depthPitch = depthPitch_;
38961  return *this;
38962  }
38963 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
38964 
38965  operator VkSubresourceLayout const &() const VULKAN_HPP_NOEXCEPT
38966  {
38967  return *reinterpret_cast<const VkSubresourceLayout *>( this );
38968  }
38969 
38971  {
38972  return *reinterpret_cast<VkSubresourceLayout *>( this );
38973  }
38974 
38975 #if defined( VULKAN_HPP_USE_REFLECT )
38976 # if 14 <= VULKAN_HPP_CPP_VERSION
38977  auto
38978 # else
38979  std::tuple<VULKAN_HPP_NAMESPACE::DeviceSize const &,
38984 # endif
38985  reflect() const VULKAN_HPP_NOEXCEPT
38986  {
38987  return std::tie( offset, size, rowPitch, arrayPitch, depthPitch );
38988  }
38989 #endif
38990 
38991 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
38992  auto operator<=>( SubresourceLayout const & ) const = default;
38993 #else
38995  {
38996 # if defined( VULKAN_HPP_USE_REFLECT )
38997  return this->reflect() == rhs.reflect();
38998 # else
38999  return ( offset == rhs.offset ) && ( size == rhs.size ) && ( rowPitch == rhs.rowPitch ) && ( arrayPitch == rhs.arrayPitch ) &&
39000  ( depthPitch == rhs.depthPitch );
39001 # endif
39002  }
39003 
39005  {
39006  return !operator==( rhs );
39007  }
39008 #endif
39009 
39010  public:
39016  };
39017 
39019  {
39021 
39022  static const bool allowDuplicate = false;
39023  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageDrmFormatModifierExplicitCreateInfoEXT;
39024 
39025 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
39027  uint32_t drmFormatModifierPlaneCount_ = {},
39028  const VULKAN_HPP_NAMESPACE::SubresourceLayout * pPlaneLayouts_ = {},
39029  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
39030  : pNext( pNext_ )
39031  , drmFormatModifier( drmFormatModifier_ )
39032  , drmFormatModifierPlaneCount( drmFormatModifierPlaneCount_ )
39033  , pPlaneLayouts( pPlaneLayouts_ )
39034  {
39035  }
39036 
39037  VULKAN_HPP_CONSTEXPR ImageDrmFormatModifierExplicitCreateInfoEXT( ImageDrmFormatModifierExplicitCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
39038 
39040  : ImageDrmFormatModifierExplicitCreateInfoEXT( *reinterpret_cast<ImageDrmFormatModifierExplicitCreateInfoEXT const *>( &rhs ) )
39041  {
39042  }
39043 
39044 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
39046  uint64_t drmFormatModifier_,
39048  const void * pNext_ = nullptr )
39049  : pNext( pNext_ )
39050  , drmFormatModifier( drmFormatModifier_ )
39051  , drmFormatModifierPlaneCount( static_cast<uint32_t>( planeLayouts_.size() ) )
39052  , pPlaneLayouts( planeLayouts_.data() )
39053  {
39054  }
39055 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
39056 
39058 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
39059 
39061  {
39062  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierExplicitCreateInfoEXT const *>( &rhs );
39063  return *this;
39064  }
39065 
39066 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
39068  {
39069  pNext = pNext_;
39070  return *this;
39071  }
39072 
39074  {
39075  drmFormatModifier = drmFormatModifier_;
39076  return *this;
39077  }
39078 
39080  setDrmFormatModifierPlaneCount( uint32_t drmFormatModifierPlaneCount_ ) VULKAN_HPP_NOEXCEPT
39081  {
39082  drmFormatModifierPlaneCount = drmFormatModifierPlaneCount_;
39083  return *this;
39084  }
39085 
39088  {
39089  pPlaneLayouts = pPlaneLayouts_;
39090  return *this;
39091  }
39092 
39093 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
39096  {
39097  drmFormatModifierPlaneCount = static_cast<uint32_t>( planeLayouts_.size() );
39098  pPlaneLayouts = planeLayouts_.data();
39099  return *this;
39100  }
39101 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
39102 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
39103 
39105  {
39106  return *reinterpret_cast<const VkImageDrmFormatModifierExplicitCreateInfoEXT *>( this );
39107  }
39108 
39110  {
39111  return *reinterpret_cast<VkImageDrmFormatModifierExplicitCreateInfoEXT *>( this );
39112  }
39113 
39114 #if defined( VULKAN_HPP_USE_REFLECT )
39115 # if 14 <= VULKAN_HPP_CPP_VERSION
39116  auto
39117 # else
39118  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
39119  const void * const &,
39120  uint64_t const &,
39121  uint32_t const &,
39123 # endif
39124  reflect() const VULKAN_HPP_NOEXCEPT
39125  {
39126  return std::tie( sType, pNext, drmFormatModifier, drmFormatModifierPlaneCount, pPlaneLayouts );
39127  }
39128 #endif
39129 
39130 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
39131  auto operator<=>( ImageDrmFormatModifierExplicitCreateInfoEXT const & ) const = default;
39132 #else
39134  {
39135 # if defined( VULKAN_HPP_USE_REFLECT )
39136  return this->reflect() == rhs.reflect();
39137 # else
39138  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( drmFormatModifier == rhs.drmFormatModifier ) &&
39139  ( drmFormatModifierPlaneCount == rhs.drmFormatModifierPlaneCount ) && ( pPlaneLayouts == rhs.pPlaneLayouts );
39140 # endif
39141  }
39142 
39144  {
39145  return !operator==( rhs );
39146  }
39147 #endif
39148 
39149  public:
39150  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageDrmFormatModifierExplicitCreateInfoEXT;
39151  const void * pNext = {};
39152  uint64_t drmFormatModifier = {};
39153  uint32_t drmFormatModifierPlaneCount = {};
39154  const VULKAN_HPP_NAMESPACE::SubresourceLayout * pPlaneLayouts = {};
39155  };
39156 
39157  template <>
39159  {
39161  };
39162 
39164  {
39166 
39167  static const bool allowDuplicate = false;
39168  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageDrmFormatModifierListCreateInfoEXT;
39169 
39170 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
39171  VULKAN_HPP_CONSTEXPR ImageDrmFormatModifierListCreateInfoEXT( uint32_t drmFormatModifierCount_ = {},
39172  const uint64_t * pDrmFormatModifiers_ = {},
39173  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
39174  : pNext( pNext_ )
39175  , drmFormatModifierCount( drmFormatModifierCount_ )
39176  , pDrmFormatModifiers( pDrmFormatModifiers_ )
39177  {
39178  }
39179 
39180  VULKAN_HPP_CONSTEXPR ImageDrmFormatModifierListCreateInfoEXT( ImageDrmFormatModifierListCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
39181 
39183  : ImageDrmFormatModifierListCreateInfoEXT( *reinterpret_cast<ImageDrmFormatModifierListCreateInfoEXT const *>( &rhs ) )
39184  {
39185  }
39186 
39187 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
39189  const void * pNext_ = nullptr )
39190  : pNext( pNext_ ), drmFormatModifierCount( static_cast<uint32_t>( drmFormatModifiers_.size() ) ), pDrmFormatModifiers( drmFormatModifiers_.data() )
39191  {
39192  }
39193 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
39194 
39196 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
39197 
39199  {
39200  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierListCreateInfoEXT const *>( &rhs );
39201  return *this;
39202  }
39203 
39204 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
39206  {
39207  pNext = pNext_;
39208  return *this;
39209  }
39210 
39212  {
39213  drmFormatModifierCount = drmFormatModifierCount_;
39214  return *this;
39215  }
39216 
39218  {
39219  pDrmFormatModifiers = pDrmFormatModifiers_;
39220  return *this;
39221  }
39222 
39223 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
39226  {
39227  drmFormatModifierCount = static_cast<uint32_t>( drmFormatModifiers_.size() );
39228  pDrmFormatModifiers = drmFormatModifiers_.data();
39229  return *this;
39230  }
39231 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
39232 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
39233 
39235  {
39236  return *reinterpret_cast<const VkImageDrmFormatModifierListCreateInfoEXT *>( this );
39237  }
39238 
39240  {
39241  return *reinterpret_cast<VkImageDrmFormatModifierListCreateInfoEXT *>( this );
39242  }
39243 
39244 #if defined( VULKAN_HPP_USE_REFLECT )
39245 # if 14 <= VULKAN_HPP_CPP_VERSION
39246  auto
39247 # else
39248  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &, const uint64_t * const &>
39249 # endif
39250  reflect() const VULKAN_HPP_NOEXCEPT
39251  {
39252  return std::tie( sType, pNext, drmFormatModifierCount, pDrmFormatModifiers );
39253  }
39254 #endif
39255 
39256 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
39257  auto operator<=>( ImageDrmFormatModifierListCreateInfoEXT const & ) const = default;
39258 #else
39260  {
39261 # if defined( VULKAN_HPP_USE_REFLECT )
39262  return this->reflect() == rhs.reflect();
39263 # else
39264  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( drmFormatModifierCount == rhs.drmFormatModifierCount ) &&
39265  ( pDrmFormatModifiers == rhs.pDrmFormatModifiers );
39266 # endif
39267  }
39268 
39270  {
39271  return !operator==( rhs );
39272  }
39273 #endif
39274 
39275  public:
39276  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageDrmFormatModifierListCreateInfoEXT;
39277  const void * pNext = {};
39278  uint32_t drmFormatModifierCount = {};
39279  const uint64_t * pDrmFormatModifiers = {};
39280  };
39281 
39282  template <>
39284  {
39286  };
39287 
39289  {
39291 
39292  static const bool allowDuplicate = false;
39293  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageDrmFormatModifierPropertiesEXT;
39294 
39295 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
39296  VULKAN_HPP_CONSTEXPR ImageDrmFormatModifierPropertiesEXT( uint64_t drmFormatModifier_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
39297  : pNext( pNext_ )
39298  , drmFormatModifier( drmFormatModifier_ )
39299  {
39300  }
39301 
39302  VULKAN_HPP_CONSTEXPR ImageDrmFormatModifierPropertiesEXT( ImageDrmFormatModifierPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
39303 
39305  : ImageDrmFormatModifierPropertiesEXT( *reinterpret_cast<ImageDrmFormatModifierPropertiesEXT const *>( &rhs ) )
39306  {
39307  }
39308 
39310 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
39311 
39313  {
39314  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierPropertiesEXT const *>( &rhs );
39315  return *this;
39316  }
39317 
39319  {
39320  return *reinterpret_cast<const VkImageDrmFormatModifierPropertiesEXT *>( this );
39321  }
39322 
39324  {
39325  return *reinterpret_cast<VkImageDrmFormatModifierPropertiesEXT *>( this );
39326  }
39327 
39328 #if defined( VULKAN_HPP_USE_REFLECT )
39329 # if 14 <= VULKAN_HPP_CPP_VERSION
39330  auto
39331 # else
39332  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, uint64_t const &>
39333 # endif
39334  reflect() const VULKAN_HPP_NOEXCEPT
39335  {
39336  return std::tie( sType, pNext, drmFormatModifier );
39337  }
39338 #endif
39339 
39340 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
39341  auto operator<=>( ImageDrmFormatModifierPropertiesEXT const & ) const = default;
39342 #else
39344  {
39345 # if defined( VULKAN_HPP_USE_REFLECT )
39346  return this->reflect() == rhs.reflect();
39347 # else
39348  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( drmFormatModifier == rhs.drmFormatModifier );
39349 # endif
39350  }
39351 
39353  {
39354  return !operator==( rhs );
39355  }
39356 #endif
39357 
39358  public:
39359  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageDrmFormatModifierPropertiesEXT;
39360  void * pNext = {};
39361  uint64_t drmFormatModifier = {};
39362  };
39363 
39364  template <>
39366  {
39368  };
39369 
39371  {
39373 
39374  static const bool allowDuplicate = false;
39375  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageFormatListCreateInfo;
39376 
39377 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
39378  VULKAN_HPP_CONSTEXPR ImageFormatListCreateInfo( uint32_t viewFormatCount_ = {},
39379  const VULKAN_HPP_NAMESPACE::Format * pViewFormats_ = {},
39380  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
39381  : pNext( pNext_ )
39382  , viewFormatCount( viewFormatCount_ )
39383  , pViewFormats( pViewFormats_ )
39384  {
39385  }
39386 
39387  VULKAN_HPP_CONSTEXPR ImageFormatListCreateInfo( ImageFormatListCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
39388 
39390  : ImageFormatListCreateInfo( *reinterpret_cast<ImageFormatListCreateInfo const *>( &rhs ) )
39391  {
39392  }
39393 
39394 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
39396  const void * pNext_ = nullptr )
39397  : pNext( pNext_ ), viewFormatCount( static_cast<uint32_t>( viewFormats_.size() ) ), pViewFormats( viewFormats_.data() )
39398  {
39399  }
39400 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
39401 
39402  ImageFormatListCreateInfo & operator=( ImageFormatListCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
39403 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
39404 
39406  {
39407  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageFormatListCreateInfo const *>( &rhs );
39408  return *this;
39409  }
39410 
39411 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
39413  {
39414  pNext = pNext_;
39415  return *this;
39416  }
39417 
39419  {
39420  viewFormatCount = viewFormatCount_;
39421  return *this;
39422  }
39423 
39425  {
39426  pViewFormats = pViewFormats_;
39427  return *this;
39428  }
39429 
39430 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
39433  {
39434  viewFormatCount = static_cast<uint32_t>( viewFormats_.size() );
39435  pViewFormats = viewFormats_.data();
39436  return *this;
39437  }
39438 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
39439 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
39440 
39442  {
39443  return *reinterpret_cast<const VkImageFormatListCreateInfo *>( this );
39444  }
39445 
39447  {
39448  return *reinterpret_cast<VkImageFormatListCreateInfo *>( this );
39449  }
39450 
39451 #if defined( VULKAN_HPP_USE_REFLECT )
39452 # if 14 <= VULKAN_HPP_CPP_VERSION
39453  auto
39454 # else
39455  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &, const VULKAN_HPP_NAMESPACE::Format * const &>
39456 # endif
39457  reflect() const VULKAN_HPP_NOEXCEPT
39458  {
39459  return std::tie( sType, pNext, viewFormatCount, pViewFormats );
39460  }
39461 #endif
39462 
39463 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
39464  auto operator<=>( ImageFormatListCreateInfo const & ) const = default;
39465 #else
39467  {
39468 # if defined( VULKAN_HPP_USE_REFLECT )
39469  return this->reflect() == rhs.reflect();
39470 # else
39471  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( viewFormatCount == rhs.viewFormatCount ) && ( pViewFormats == rhs.pViewFormats );
39472 # endif
39473  }
39474 
39476  {
39477  return !operator==( rhs );
39478  }
39479 #endif
39480 
39481  public:
39482  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageFormatListCreateInfo;
39483  const void * pNext = {};
39484  uint32_t viewFormatCount = {};
39485  const VULKAN_HPP_NAMESPACE::Format * pViewFormats = {};
39486  };
39487 
39488  template <>
39490  {
39492  };
39494 
39496  {
39498 
39499  static const bool allowDuplicate = false;
39500  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageFormatProperties2;
39501 
39502 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
39504  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
39505  : pNext( pNext_ )
39506  , imageFormatProperties( imageFormatProperties_ )
39507  {
39508  }
39509 
39510  VULKAN_HPP_CONSTEXPR ImageFormatProperties2( ImageFormatProperties2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
39511 
39513  : ImageFormatProperties2( *reinterpret_cast<ImageFormatProperties2 const *>( &rhs ) )
39514  {
39515  }
39516 
39517  ImageFormatProperties2 & operator=( ImageFormatProperties2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
39518 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
39519 
39521  {
39522  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageFormatProperties2 const *>( &rhs );
39523  return *this;
39524  }
39525 
39527  {
39528  return *reinterpret_cast<const VkImageFormatProperties2 *>( this );
39529  }
39530 
39532  {
39533  return *reinterpret_cast<VkImageFormatProperties2 *>( this );
39534  }
39535 
39536 #if defined( VULKAN_HPP_USE_REFLECT )
39537 # if 14 <= VULKAN_HPP_CPP_VERSION
39538  auto
39539 # else
39540  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::ImageFormatProperties const &>
39541 # endif
39542  reflect() const VULKAN_HPP_NOEXCEPT
39543  {
39544  return std::tie( sType, pNext, imageFormatProperties );
39545  }
39546 #endif
39547 
39548 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
39549  auto operator<=>( ImageFormatProperties2 const & ) const = default;
39550 #else
39552  {
39553 # if defined( VULKAN_HPP_USE_REFLECT )
39554  return this->reflect() == rhs.reflect();
39555 # else
39556  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( imageFormatProperties == rhs.imageFormatProperties );
39557 # endif
39558  }
39559 
39561  {
39562  return !operator==( rhs );
39563  }
39564 #endif
39565 
39566  public:
39567  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageFormatProperties2;
39568  void * pNext = {};
39570  };
39571 
39572  template <>
39574  {
39576  };
39578 
39580  {
39582 
39583  static const bool allowDuplicate = false;
39584  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageMemoryBarrier;
39585 
39586 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
39588  VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_ = {},
39591  uint32_t srcQueueFamilyIndex_ = {},
39592  uint32_t dstQueueFamilyIndex_ = {},
39593  VULKAN_HPP_NAMESPACE::Image image_ = {},
39594  VULKAN_HPP_NAMESPACE::ImageSubresourceRange subresourceRange_ = {},
39595  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
39596  : pNext( pNext_ )
39597  , srcAccessMask( srcAccessMask_ )
39598  , dstAccessMask( dstAccessMask_ )
39599  , oldLayout( oldLayout_ )
39600  , newLayout( newLayout_ )
39601  , srcQueueFamilyIndex( srcQueueFamilyIndex_ )
39602  , dstQueueFamilyIndex( dstQueueFamilyIndex_ )
39603  , image( image_ )
39604  , subresourceRange( subresourceRange_ )
39605  {
39606  }
39607 
39608  VULKAN_HPP_CONSTEXPR ImageMemoryBarrier( ImageMemoryBarrier const & rhs ) VULKAN_HPP_NOEXCEPT = default;
39609 
39610  ImageMemoryBarrier( VkImageMemoryBarrier const & rhs ) VULKAN_HPP_NOEXCEPT : ImageMemoryBarrier( *reinterpret_cast<ImageMemoryBarrier const *>( &rhs ) ) {}
39611 
39612  ImageMemoryBarrier & operator=( ImageMemoryBarrier const & rhs ) VULKAN_HPP_NOEXCEPT = default;
39613 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
39614 
39616  {
39617  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageMemoryBarrier const *>( &rhs );
39618  return *this;
39619  }
39620 
39621 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
39623  {
39624  pNext = pNext_;
39625  return *this;
39626  }
39627 
39629  {
39630  srcAccessMask = srcAccessMask_;
39631  return *this;
39632  }
39633 
39635  {
39636  dstAccessMask = dstAccessMask_;
39637  return *this;
39638  }
39639 
39641  {
39642  oldLayout = oldLayout_;
39643  return *this;
39644  }
39645 
39647  {
39648  newLayout = newLayout_;
39649  return *this;
39650  }
39651 
39653  {
39654  srcQueueFamilyIndex = srcQueueFamilyIndex_;
39655  return *this;
39656  }
39657 
39659  {
39660  dstQueueFamilyIndex = dstQueueFamilyIndex_;
39661  return *this;
39662  }
39663 
39665  {
39666  image = image_;
39667  return *this;
39668  }
39669 
39672  {
39673  subresourceRange = subresourceRange_;
39674  return *this;
39675  }
39676 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
39677 
39679  {
39680  return *reinterpret_cast<const VkImageMemoryBarrier *>( this );
39681  }
39682 
39684  {
39685  return *reinterpret_cast<VkImageMemoryBarrier *>( this );
39686  }
39687 
39688 #if defined( VULKAN_HPP_USE_REFLECT )
39689 # if 14 <= VULKAN_HPP_CPP_VERSION
39690  auto
39691 # else
39692  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
39693  const void * const &,
39698  uint32_t const &,
39699  uint32_t const &,
39702 # endif
39703  reflect() const VULKAN_HPP_NOEXCEPT
39704  {
39705  return std::tie( sType, pNext, srcAccessMask, dstAccessMask, oldLayout, newLayout, srcQueueFamilyIndex, dstQueueFamilyIndex, image, subresourceRange );
39706  }
39707 #endif
39708 
39709 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
39710  auto operator<=>( ImageMemoryBarrier const & ) const = default;
39711 #else
39713  {
39714 # if defined( VULKAN_HPP_USE_REFLECT )
39715  return this->reflect() == rhs.reflect();
39716 # else
39717  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( srcAccessMask == rhs.srcAccessMask ) && ( dstAccessMask == rhs.dstAccessMask ) &&
39718  ( oldLayout == rhs.oldLayout ) && ( newLayout == rhs.newLayout ) && ( srcQueueFamilyIndex == rhs.srcQueueFamilyIndex ) &&
39719  ( dstQueueFamilyIndex == rhs.dstQueueFamilyIndex ) && ( image == rhs.image ) && ( subresourceRange == rhs.subresourceRange );
39720 # endif
39721  }
39722 
39724  {
39725  return !operator==( rhs );
39726  }
39727 #endif
39728 
39729  public:
39730  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageMemoryBarrier;
39731  const void * pNext = {};
39736  uint32_t srcQueueFamilyIndex = {};
39737  uint32_t dstQueueFamilyIndex = {};
39740  };
39741 
39742  template <>
39744  {
39746  };
39747 
39749  {
39751 
39752  static const bool allowDuplicate = false;
39753  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageMemoryRequirementsInfo2;
39754 
39755 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
39757  : pNext( pNext_ )
39758  , image( image_ )
39759  {
39760  }
39761 
39762  VULKAN_HPP_CONSTEXPR ImageMemoryRequirementsInfo2( ImageMemoryRequirementsInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
39763 
39765  : ImageMemoryRequirementsInfo2( *reinterpret_cast<ImageMemoryRequirementsInfo2 const *>( &rhs ) )
39766  {
39767  }
39768 
39770 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
39771 
39773  {
39774  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 const *>( &rhs );
39775  return *this;
39776  }
39777 
39778 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
39780  {
39781  pNext = pNext_;
39782  return *this;
39783  }
39784 
39786  {
39787  image = image_;
39788  return *this;
39789  }
39790 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
39791 
39793  {
39794  return *reinterpret_cast<const VkImageMemoryRequirementsInfo2 *>( this );
39795  }
39796 
39798  {
39799  return *reinterpret_cast<VkImageMemoryRequirementsInfo2 *>( this );
39800  }
39801 
39802 #if defined( VULKAN_HPP_USE_REFLECT )
39803 # if 14 <= VULKAN_HPP_CPP_VERSION
39804  auto
39805 # else
39806  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::Image const &>
39807 # endif
39808  reflect() const VULKAN_HPP_NOEXCEPT
39809  {
39810  return std::tie( sType, pNext, image );
39811  }
39812 #endif
39813 
39814 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
39815  auto operator<=>( ImageMemoryRequirementsInfo2 const & ) const = default;
39816 #else
39818  {
39819 # if defined( VULKAN_HPP_USE_REFLECT )
39820  return this->reflect() == rhs.reflect();
39821 # else
39822  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( image == rhs.image );
39823 # endif
39824  }
39825 
39827  {
39828  return !operator==( rhs );
39829  }
39830 #endif
39831 
39832  public:
39833  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageMemoryRequirementsInfo2;
39834  const void * pNext = {};
39836  };
39837 
39838  template <>
39840  {
39842  };
39844 
39845 #if defined( VK_USE_PLATFORM_FUCHSIA )
39846  struct ImagePipeSurfaceCreateInfoFUCHSIA
39847  {
39848  using NativeType = VkImagePipeSurfaceCreateInfoFUCHSIA;
39849 
39850  static const bool allowDuplicate = false;
39851  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImagepipeSurfaceCreateInfoFUCHSIA;
39852 
39853 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
39854  VULKAN_HPP_CONSTEXPR ImagePipeSurfaceCreateInfoFUCHSIA( VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateFlagsFUCHSIA flags_ = {},
39855  zx_handle_t imagePipeHandle_ = {},
39856  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
39857  : pNext( pNext_ )
39858  , flags( flags_ )
39859  , imagePipeHandle( imagePipeHandle_ )
39860  {
39861  }
39862 
39863  VULKAN_HPP_CONSTEXPR ImagePipeSurfaceCreateInfoFUCHSIA( ImagePipeSurfaceCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
39864 
39865  ImagePipeSurfaceCreateInfoFUCHSIA( VkImagePipeSurfaceCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
39866  : ImagePipeSurfaceCreateInfoFUCHSIA( *reinterpret_cast<ImagePipeSurfaceCreateInfoFUCHSIA const *>( &rhs ) )
39867  {
39868  }
39869 
39870  ImagePipeSurfaceCreateInfoFUCHSIA & operator=( ImagePipeSurfaceCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
39871 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
39872 
39873  ImagePipeSurfaceCreateInfoFUCHSIA & operator=( VkImagePipeSurfaceCreateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
39874  {
39875  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateInfoFUCHSIA const *>( &rhs );
39876  return *this;
39877  }
39878 
39879 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
39880  VULKAN_HPP_CONSTEXPR_14 ImagePipeSurfaceCreateInfoFUCHSIA & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
39881  {
39882  pNext = pNext_;
39883  return *this;
39884  }
39885 
39886  VULKAN_HPP_CONSTEXPR_14 ImagePipeSurfaceCreateInfoFUCHSIA & setFlags( VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateFlagsFUCHSIA flags_ ) VULKAN_HPP_NOEXCEPT
39887  {
39888  flags = flags_;
39889  return *this;
39890  }
39891 
39892  VULKAN_HPP_CONSTEXPR_14 ImagePipeSurfaceCreateInfoFUCHSIA & setImagePipeHandle( zx_handle_t imagePipeHandle_ ) VULKAN_HPP_NOEXCEPT
39893  {
39894  imagePipeHandle = imagePipeHandle_;
39895  return *this;
39896  }
39897 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
39898 
39900  {
39901  return *reinterpret_cast<const VkImagePipeSurfaceCreateInfoFUCHSIA *>( this );
39902  }
39903 
39905  {
39906  return *reinterpret_cast<VkImagePipeSurfaceCreateInfoFUCHSIA *>( this );
39907  }
39908 
39909 # if defined( VULKAN_HPP_USE_REFLECT )
39910 # if 14 <= VULKAN_HPP_CPP_VERSION
39911  auto
39912 # else
39913  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
39914  const void * const &,
39915  VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateFlagsFUCHSIA const &,
39916  zx_handle_t const &>
39917 # endif
39918  reflect() const VULKAN_HPP_NOEXCEPT
39919  {
39920  return std::tie( sType, pNext, flags, imagePipeHandle );
39921  }
39922 # endif
39923 
39924 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
39925  std::strong_ordering operator<=>( ImagePipeSurfaceCreateInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
39926  {
39927  if ( auto cmp = sType <=> rhs.sType; cmp != 0 )
39928  return cmp;
39929  if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 )
39930  return cmp;
39931  if ( auto cmp = flags <=> rhs.flags; cmp != 0 )
39932  return cmp;
39933  if ( auto cmp = memcmp( &imagePipeHandle, &rhs.imagePipeHandle, sizeof( zx_handle_t ) ); cmp != 0 )
39934  return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater;
39935 
39936  return std::strong_ordering::equivalent;
39937  }
39938 # endif
39939 
39940  bool operator==( ImagePipeSurfaceCreateInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
39941  {
39942  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
39943  ( memcmp( &imagePipeHandle, &rhs.imagePipeHandle, sizeof( zx_handle_t ) ) == 0 );
39944  }
39945 
39946  bool operator!=( ImagePipeSurfaceCreateInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
39947  {
39948  return !operator==( rhs );
39949  }
39950 
39951  public:
39952  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImagepipeSurfaceCreateInfoFUCHSIA;
39953  const void * pNext = {};
39954  VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateFlagsFUCHSIA flags = {};
39955  zx_handle_t imagePipeHandle = {};
39956  };
39957 
39958  template <>
39959  struct CppType<StructureType, StructureType::eImagepipeSurfaceCreateInfoFUCHSIA>
39960  {
39961  using Type = ImagePipeSurfaceCreateInfoFUCHSIA;
39962  };
39963 #endif /*VK_USE_PLATFORM_FUCHSIA*/
39964 
39966  {
39968 
39969  static const bool allowDuplicate = false;
39970  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImagePlaneMemoryRequirementsInfo;
39971 
39972 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
39975  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
39976  : pNext( pNext_ )
39977  , planeAspect( planeAspect_ )
39978  {
39979  }
39980 
39982 
39984  : ImagePlaneMemoryRequirementsInfo( *reinterpret_cast<ImagePlaneMemoryRequirementsInfo const *>( &rhs ) )
39985  {
39986  }
39987 
39989 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
39990 
39992  {
39993  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImagePlaneMemoryRequirementsInfo const *>( &rhs );
39994  return *this;
39995  }
39996 
39997 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
39999  {
40000  pNext = pNext_;
40001  return *this;
40002  }
40003 
40005  {
40006  planeAspect = planeAspect_;
40007  return *this;
40008  }
40009 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
40010 
40012  {
40013  return *reinterpret_cast<const VkImagePlaneMemoryRequirementsInfo *>( this );
40014  }
40015 
40017  {
40018  return *reinterpret_cast<VkImagePlaneMemoryRequirementsInfo *>( this );
40019  }
40020 
40021 #if defined( VULKAN_HPP_USE_REFLECT )
40022 # if 14 <= VULKAN_HPP_CPP_VERSION
40023  auto
40024 # else
40025  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::ImageAspectFlagBits const &>
40026 # endif
40027  reflect() const VULKAN_HPP_NOEXCEPT
40028  {
40029  return std::tie( sType, pNext, planeAspect );
40030  }
40031 #endif
40032 
40033 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
40034  auto operator<=>( ImagePlaneMemoryRequirementsInfo const & ) const = default;
40035 #else
40037  {
40038 # if defined( VULKAN_HPP_USE_REFLECT )
40039  return this->reflect() == rhs.reflect();
40040 # else
40041  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( planeAspect == rhs.planeAspect );
40042 # endif
40043  }
40044 
40046  {
40047  return !operator==( rhs );
40048  }
40049 #endif
40050 
40051  public:
40052  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImagePlaneMemoryRequirementsInfo;
40053  const void * pNext = {};
40055  };
40056 
40057  template <>
40059  {
40061  };
40063 
40065  {
40067 
40068 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
40070  VULKAN_HPP_NAMESPACE::Offset3D srcOffset_ = {},
40071  VULKAN_HPP_NAMESPACE::ImageSubresourceLayers dstSubresource_ = {},
40072  VULKAN_HPP_NAMESPACE::Offset3D dstOffset_ = {},
40074  : srcSubresource( srcSubresource_ )
40075  , srcOffset( srcOffset_ )
40076  , dstSubresource( dstSubresource_ )
40077  , dstOffset( dstOffset_ )
40078  , extent( extent_ )
40079  {
40080  }
40081 
40082  VULKAN_HPP_CONSTEXPR ImageResolve( ImageResolve const & rhs ) VULKAN_HPP_NOEXCEPT = default;
40083 
40084  ImageResolve( VkImageResolve const & rhs ) VULKAN_HPP_NOEXCEPT : ImageResolve( *reinterpret_cast<ImageResolve const *>( &rhs ) ) {}
40085 
40086  ImageResolve & operator=( ImageResolve const & rhs ) VULKAN_HPP_NOEXCEPT = default;
40087 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
40088 
40090  {
40091  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageResolve const *>( &rhs );
40092  return *this;
40093  }
40094 
40095 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
40097  {
40098  srcSubresource = srcSubresource_;
40099  return *this;
40100  }
40101 
40103  {
40104  srcOffset = srcOffset_;
40105  return *this;
40106  }
40107 
40109  {
40110  dstSubresource = dstSubresource_;
40111  return *this;
40112  }
40113 
40115  {
40116  dstOffset = dstOffset_;
40117  return *this;
40118  }
40119 
40121  {
40122  extent = extent_;
40123  return *this;
40124  }
40125 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
40126 
40127  operator VkImageResolve const &() const VULKAN_HPP_NOEXCEPT
40128  {
40129  return *reinterpret_cast<const VkImageResolve *>( this );
40130  }
40131 
40133  {
40134  return *reinterpret_cast<VkImageResolve *>( this );
40135  }
40136 
40137 #if defined( VULKAN_HPP_USE_REFLECT )
40138 # if 14 <= VULKAN_HPP_CPP_VERSION
40139  auto
40140 # else
40146 # endif
40147  reflect() const VULKAN_HPP_NOEXCEPT
40148  {
40149  return std::tie( srcSubresource, srcOffset, dstSubresource, dstOffset, extent );
40150  }
40151 #endif
40152 
40153 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
40154  auto operator<=>( ImageResolve const & ) const = default;
40155 #else
40156  bool operator==( ImageResolve const & rhs ) const VULKAN_HPP_NOEXCEPT
40157  {
40158 # if defined( VULKAN_HPP_USE_REFLECT )
40159  return this->reflect() == rhs.reflect();
40160 # else
40161  return ( srcSubresource == rhs.srcSubresource ) && ( srcOffset == rhs.srcOffset ) && ( dstSubresource == rhs.dstSubresource ) &&
40162  ( dstOffset == rhs.dstOffset ) && ( extent == rhs.extent );
40163 # endif
40164  }
40165 
40166  bool operator!=( ImageResolve const & rhs ) const VULKAN_HPP_NOEXCEPT
40167  {
40168  return !operator==( rhs );
40169  }
40170 #endif
40171 
40172  public:
40178  };
40179 
40181  {
40183 
40184  static const bool allowDuplicate = false;
40185  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageResolve2;
40186 
40187 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
40189  VULKAN_HPP_NAMESPACE::Offset3D srcOffset_ = {},
40190  VULKAN_HPP_NAMESPACE::ImageSubresourceLayers dstSubresource_ = {},
40191  VULKAN_HPP_NAMESPACE::Offset3D dstOffset_ = {},
40192  VULKAN_HPP_NAMESPACE::Extent3D extent_ = {},
40193  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
40194  : pNext( pNext_ )
40195  , srcSubresource( srcSubresource_ )
40196  , srcOffset( srcOffset_ )
40197  , dstSubresource( dstSubresource_ )
40198  , dstOffset( dstOffset_ )
40199  , extent( extent_ )
40200  {
40201  }
40202 
40203  VULKAN_HPP_CONSTEXPR ImageResolve2( ImageResolve2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
40204 
40205  ImageResolve2( VkImageResolve2 const & rhs ) VULKAN_HPP_NOEXCEPT : ImageResolve2( *reinterpret_cast<ImageResolve2 const *>( &rhs ) ) {}
40206 
40207  ImageResolve2 & operator=( ImageResolve2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
40208 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
40209 
40211  {
40212  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageResolve2 const *>( &rhs );
40213  return *this;
40214  }
40215 
40216 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
40218  {
40219  pNext = pNext_;
40220  return *this;
40221  }
40222 
40224  {
40225  srcSubresource = srcSubresource_;
40226  return *this;
40227  }
40228 
40230  {
40231  srcOffset = srcOffset_;
40232  return *this;
40233  }
40234 
40236  {
40237  dstSubresource = dstSubresource_;
40238  return *this;
40239  }
40240 
40242  {
40243  dstOffset = dstOffset_;
40244  return *this;
40245  }
40246 
40248  {
40249  extent = extent_;
40250  return *this;
40251  }
40252 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
40253 
40254  operator VkImageResolve2 const &() const VULKAN_HPP_NOEXCEPT
40255  {
40256  return *reinterpret_cast<const VkImageResolve2 *>( this );
40257  }
40258 
40260  {
40261  return *reinterpret_cast<VkImageResolve2 *>( this );
40262  }
40263 
40264 #if defined( VULKAN_HPP_USE_REFLECT )
40265 # if 14 <= VULKAN_HPP_CPP_VERSION
40266  auto
40267 # else
40268  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
40269  const void * const &,
40275 # endif
40276  reflect() const VULKAN_HPP_NOEXCEPT
40277  {
40278  return std::tie( sType, pNext, srcSubresource, srcOffset, dstSubresource, dstOffset, extent );
40279  }
40280 #endif
40281 
40282 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
40283  auto operator<=>( ImageResolve2 const & ) const = default;
40284 #else
40286  {
40287 # if defined( VULKAN_HPP_USE_REFLECT )
40288  return this->reflect() == rhs.reflect();
40289 # else
40290  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( srcSubresource == rhs.srcSubresource ) && ( srcOffset == rhs.srcOffset ) &&
40291  ( dstSubresource == rhs.dstSubresource ) && ( dstOffset == rhs.dstOffset ) && ( extent == rhs.extent );
40292 # endif
40293  }
40294 
40296  {
40297  return !operator==( rhs );
40298  }
40299 #endif
40300 
40301  public:
40302  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageResolve2;
40303  const void * pNext = {};
40309  };
40310 
40311  template <>
40313  {
40315  };
40317 
40319  {
40321 
40322  static const bool allowDuplicate = false;
40323  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageSparseMemoryRequirementsInfo2;
40324 
40325 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
40327  : pNext( pNext_ )
40328  , image( image_ )
40329  {
40330  }
40331 
40332  VULKAN_HPP_CONSTEXPR ImageSparseMemoryRequirementsInfo2( ImageSparseMemoryRequirementsInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
40333 
40335  : ImageSparseMemoryRequirementsInfo2( *reinterpret_cast<ImageSparseMemoryRequirementsInfo2 const *>( &rhs ) )
40336  {
40337  }
40338 
40340 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
40341 
40343  {
40344  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 const *>( &rhs );
40345  return *this;
40346  }
40347 
40348 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
40350  {
40351  pNext = pNext_;
40352  return *this;
40353  }
40354 
40356  {
40357  image = image_;
40358  return *this;
40359  }
40360 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
40361 
40363  {
40364  return *reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( this );
40365  }
40366 
40368  {
40369  return *reinterpret_cast<VkImageSparseMemoryRequirementsInfo2 *>( this );
40370  }
40371 
40372 #if defined( VULKAN_HPP_USE_REFLECT )
40373 # if 14 <= VULKAN_HPP_CPP_VERSION
40374  auto
40375 # else
40376  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::Image const &>
40377 # endif
40378  reflect() const VULKAN_HPP_NOEXCEPT
40379  {
40380  return std::tie( sType, pNext, image );
40381  }
40382 #endif
40383 
40384 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
40385  auto operator<=>( ImageSparseMemoryRequirementsInfo2 const & ) const = default;
40386 #else
40388  {
40389 # if defined( VULKAN_HPP_USE_REFLECT )
40390  return this->reflect() == rhs.reflect();
40391 # else
40392  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( image == rhs.image );
40393 # endif
40394  }
40395 
40397  {
40398  return !operator==( rhs );
40399  }
40400 #endif
40401 
40402  public:
40403  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageSparseMemoryRequirementsInfo2;
40404  const void * pNext = {};
40406  };
40407 
40408  template <>
40410  {
40412  };
40414 
40416  {
40418 
40419  static const bool allowDuplicate = false;
40420  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageStencilUsageCreateInfo;
40421 
40422 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
40424  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
40425  : pNext( pNext_ )
40426  , stencilUsage( stencilUsage_ )
40427  {
40428  }
40429 
40430  VULKAN_HPP_CONSTEXPR ImageStencilUsageCreateInfo( ImageStencilUsageCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
40431 
40433  : ImageStencilUsageCreateInfo( *reinterpret_cast<ImageStencilUsageCreateInfo const *>( &rhs ) )
40434  {
40435  }
40436 
40438 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
40439 
40441  {
40442  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageStencilUsageCreateInfo const *>( &rhs );
40443  return *this;
40444  }
40445 
40446 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
40448  {
40449  pNext = pNext_;
40450  return *this;
40451  }
40452 
40454  {
40455  stencilUsage = stencilUsage_;
40456  return *this;
40457  }
40458 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
40459 
40461  {
40462  return *reinterpret_cast<const VkImageStencilUsageCreateInfo *>( this );
40463  }
40464 
40466  {
40467  return *reinterpret_cast<VkImageStencilUsageCreateInfo *>( this );
40468  }
40469 
40470 #if defined( VULKAN_HPP_USE_REFLECT )
40471 # if 14 <= VULKAN_HPP_CPP_VERSION
40472  auto
40473 # else
40474  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::ImageUsageFlags const &>
40475 # endif
40476  reflect() const VULKAN_HPP_NOEXCEPT
40477  {
40478  return std::tie( sType, pNext, stencilUsage );
40479  }
40480 #endif
40481 
40482 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
40483  auto operator<=>( ImageStencilUsageCreateInfo const & ) const = default;
40484 #else
40486  {
40487 # if defined( VULKAN_HPP_USE_REFLECT )
40488  return this->reflect() == rhs.reflect();
40489 # else
40490  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( stencilUsage == rhs.stencilUsage );
40491 # endif
40492  }
40493 
40495  {
40496  return !operator==( rhs );
40497  }
40498 #endif
40499 
40500  public:
40501  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageStencilUsageCreateInfo;
40502  const void * pNext = {};
40504  };
40505 
40506  template <>
40508  {
40510  };
40512 
40514  {
40516 
40517  static const bool allowDuplicate = false;
40518  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageSubresource2EXT;
40519 
40520 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
40522  : pNext( pNext_ )
40523  , imageSubresource( imageSubresource_ )
40524  {
40525  }
40526 
40527  VULKAN_HPP_CONSTEXPR ImageSubresource2EXT( ImageSubresource2EXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
40528 
40530  : ImageSubresource2EXT( *reinterpret_cast<ImageSubresource2EXT const *>( &rhs ) )
40531  {
40532  }
40533 
40534  ImageSubresource2EXT & operator=( ImageSubresource2EXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
40535 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
40536 
40538  {
40539  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageSubresource2EXT const *>( &rhs );
40540  return *this;
40541  }
40542 
40543 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
40545  {
40546  pNext = pNext_;
40547  return *this;
40548  }
40549 
40551  {
40552  imageSubresource = imageSubresource_;
40553  return *this;
40554  }
40555 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
40556 
40558  {
40559  return *reinterpret_cast<const VkImageSubresource2EXT *>( this );
40560  }
40561 
40563  {
40564  return *reinterpret_cast<VkImageSubresource2EXT *>( this );
40565  }
40566 
40567 #if defined( VULKAN_HPP_USE_REFLECT )
40568 # if 14 <= VULKAN_HPP_CPP_VERSION
40569  auto
40570 # else
40571  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::ImageSubresource const &>
40572 # endif
40573  reflect() const VULKAN_HPP_NOEXCEPT
40574  {
40575  return std::tie( sType, pNext, imageSubresource );
40576  }
40577 #endif
40578 
40579 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
40580  auto operator<=>( ImageSubresource2EXT const & ) const = default;
40581 #else
40583  {
40584 # if defined( VULKAN_HPP_USE_REFLECT )
40585  return this->reflect() == rhs.reflect();
40586 # else
40587  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( imageSubresource == rhs.imageSubresource );
40588 # endif
40589  }
40590 
40592  {
40593  return !operator==( rhs );
40594  }
40595 #endif
40596 
40597  public:
40598  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageSubresource2EXT;
40599  void * pNext = {};
40601  };
40602 
40603  template <>
40605  {
40607  };
40608 
40610  {
40612 
40613  static const bool allowDuplicate = false;
40614  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageSwapchainCreateInfoKHR;
40615 
40616 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
40618  : pNext( pNext_ )
40619  , swapchain( swapchain_ )
40620  {
40621  }
40622 
40623  VULKAN_HPP_CONSTEXPR ImageSwapchainCreateInfoKHR( ImageSwapchainCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
40624 
40626  : ImageSwapchainCreateInfoKHR( *reinterpret_cast<ImageSwapchainCreateInfoKHR const *>( &rhs ) )
40627  {
40628  }
40629 
40631 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
40632 
40634  {
40635  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageSwapchainCreateInfoKHR const *>( &rhs );
40636  return *this;
40637  }
40638 
40639 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
40641  {
40642  pNext = pNext_;
40643  return *this;
40644  }
40645 
40647  {
40648  swapchain = swapchain_;
40649  return *this;
40650  }
40651 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
40652 
40654  {
40655  return *reinterpret_cast<const VkImageSwapchainCreateInfoKHR *>( this );
40656  }
40657 
40659  {
40660  return *reinterpret_cast<VkImageSwapchainCreateInfoKHR *>( this );
40661  }
40662 
40663 #if defined( VULKAN_HPP_USE_REFLECT )
40664 # if 14 <= VULKAN_HPP_CPP_VERSION
40665  auto
40666 # else
40667  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::SwapchainKHR const &>
40668 # endif
40669  reflect() const VULKAN_HPP_NOEXCEPT
40670  {
40671  return std::tie( sType, pNext, swapchain );
40672  }
40673 #endif
40674 
40675 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
40676  auto operator<=>( ImageSwapchainCreateInfoKHR const & ) const = default;
40677 #else
40679  {
40680 # if defined( VULKAN_HPP_USE_REFLECT )
40681  return this->reflect() == rhs.reflect();
40682 # else
40683  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( swapchain == rhs.swapchain );
40684 # endif
40685  }
40686 
40688  {
40689  return !operator==( rhs );
40690  }
40691 #endif
40692 
40693  public:
40694  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageSwapchainCreateInfoKHR;
40695  const void * pNext = {};
40697  };
40698 
40699  template <>
40701  {
40703  };
40704 
40706  {
40708 
40709  static const bool allowDuplicate = false;
40710  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageViewAstcDecodeModeEXT;
40711 
40712 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
40714  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
40715  : pNext( pNext_ )
40716  , decodeMode( decodeMode_ )
40717  {
40718  }
40719 
40721 
40723  : ImageViewASTCDecodeModeEXT( *reinterpret_cast<ImageViewASTCDecodeModeEXT const *>( &rhs ) )
40724  {
40725  }
40726 
40727  ImageViewASTCDecodeModeEXT & operator=( ImageViewASTCDecodeModeEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
40728 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
40729 
40731  {
40732  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageViewASTCDecodeModeEXT const *>( &rhs );
40733  return *this;
40734  }
40735 
40736 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
40738  {
40739  pNext = pNext_;
40740  return *this;
40741  }
40742 
40744  {
40745  decodeMode = decodeMode_;
40746  return *this;
40747  }
40748 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
40749 
40751  {
40752  return *reinterpret_cast<const VkImageViewASTCDecodeModeEXT *>( this );
40753  }
40754 
40756  {
40757  return *reinterpret_cast<VkImageViewASTCDecodeModeEXT *>( this );
40758  }
40759 
40760 #if defined( VULKAN_HPP_USE_REFLECT )
40761 # if 14 <= VULKAN_HPP_CPP_VERSION
40762  auto
40763 # else
40764  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::Format const &>
40765 # endif
40766  reflect() const VULKAN_HPP_NOEXCEPT
40767  {
40768  return std::tie( sType, pNext, decodeMode );
40769  }
40770 #endif
40771 
40772 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
40773  auto operator<=>( ImageViewASTCDecodeModeEXT const & ) const = default;
40774 #else
40776  {
40777 # if defined( VULKAN_HPP_USE_REFLECT )
40778  return this->reflect() == rhs.reflect();
40779 # else
40780  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( decodeMode == rhs.decodeMode );
40781 # endif
40782  }
40783 
40785  {
40786  return !operator==( rhs );
40787  }
40788 #endif
40789 
40790  public:
40791  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageViewAstcDecodeModeEXT;
40792  const void * pNext = {};
40794  };
40795 
40796  template <>
40798  {
40800  };
40801 
40803  {
40805 
40806  static const bool allowDuplicate = false;
40807  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageViewAddressPropertiesNVX;
40808 
40809 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
40812  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
40813  : pNext( pNext_ )
40814  , deviceAddress( deviceAddress_ )
40815  , size( size_ )
40816  {
40817  }
40818 
40819  VULKAN_HPP_CONSTEXPR ImageViewAddressPropertiesNVX( ImageViewAddressPropertiesNVX const & rhs ) VULKAN_HPP_NOEXCEPT = default;
40820 
40822  : ImageViewAddressPropertiesNVX( *reinterpret_cast<ImageViewAddressPropertiesNVX const *>( &rhs ) )
40823  {
40824  }
40825 
40827 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
40828 
40830  {
40831  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageViewAddressPropertiesNVX const *>( &rhs );
40832  return *this;
40833  }
40834 
40836  {
40837  return *reinterpret_cast<const VkImageViewAddressPropertiesNVX *>( this );
40838  }
40839 
40841  {
40842  return *reinterpret_cast<VkImageViewAddressPropertiesNVX *>( this );
40843  }
40844 
40845 #if defined( VULKAN_HPP_USE_REFLECT )
40846 # if 14 <= VULKAN_HPP_CPP_VERSION
40847  auto
40848 # else
40849  std::
40850  tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::DeviceAddress const &, VULKAN_HPP_NAMESPACE::DeviceSize const &>
40851 # endif
40852  reflect() const VULKAN_HPP_NOEXCEPT
40853  {
40854  return std::tie( sType, pNext, deviceAddress, size );
40855  }
40856 #endif
40857 
40858 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
40859  auto operator<=>( ImageViewAddressPropertiesNVX const & ) const = default;
40860 #else
40862  {
40863 # if defined( VULKAN_HPP_USE_REFLECT )
40864  return this->reflect() == rhs.reflect();
40865 # else
40866  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( deviceAddress == rhs.deviceAddress ) && ( size == rhs.size );
40867 # endif
40868  }
40869 
40871  {
40872  return !operator==( rhs );
40873  }
40874 #endif
40875 
40876  public:
40877  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageViewAddressPropertiesNVX;
40878  void * pNext = {};
40881  };
40882 
40883  template <>
40885  {
40887  };
40888 
40890  {
40892 
40893  static const bool allowDuplicate = false;
40894  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageViewCaptureDescriptorDataInfoEXT;
40895 
40896 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
40898  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
40899  : pNext( pNext_ )
40900  , imageView( imageView_ )
40901  {
40902  }
40903 
40904  VULKAN_HPP_CONSTEXPR ImageViewCaptureDescriptorDataInfoEXT( ImageViewCaptureDescriptorDataInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
40905 
40907  : ImageViewCaptureDescriptorDataInfoEXT( *reinterpret_cast<ImageViewCaptureDescriptorDataInfoEXT const *>( &rhs ) )
40908  {
40909  }
40910 
40912 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
40913 
40915  {
40916  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageViewCaptureDescriptorDataInfoEXT const *>( &rhs );
40917  return *this;
40918  }
40919 
40920 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
40922  {
40923  pNext = pNext_;
40924  return *this;
40925  }
40926 
40928  {
40929  imageView = imageView_;
40930  return *this;
40931  }
40932 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
40933 
40935  {
40936  return *reinterpret_cast<const VkImageViewCaptureDescriptorDataInfoEXT *>( this );
40937  }
40938 
40940  {
40941  return *reinterpret_cast<VkImageViewCaptureDescriptorDataInfoEXT *>( this );
40942  }
40943 
40944 #if defined( VULKAN_HPP_USE_REFLECT )
40945 # if 14 <= VULKAN_HPP_CPP_VERSION
40946  auto
40947 # else
40948  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::ImageView const &>
40949 # endif
40950  reflect() const VULKAN_HPP_NOEXCEPT
40951  {
40952  return std::tie( sType, pNext, imageView );
40953  }
40954 #endif
40955 
40956 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
40957  auto operator<=>( ImageViewCaptureDescriptorDataInfoEXT const & ) const = default;
40958 #else
40960  {
40961 # if defined( VULKAN_HPP_USE_REFLECT )
40962  return this->reflect() == rhs.reflect();
40963 # else
40964  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( imageView == rhs.imageView );
40965 # endif
40966  }
40967 
40969  {
40970  return !operator==( rhs );
40971  }
40972 #endif
40973 
40974  public:
40975  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageViewCaptureDescriptorDataInfoEXT;
40976  const void * pNext = {};
40978  };
40979 
40980  template <>
40982  {
40984  };
40985 
40987  {
40989 
40990  static const bool allowDuplicate = false;
40991  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageViewCreateInfo;
40992 
40993 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
40995  VULKAN_HPP_NAMESPACE::Image image_ = {},
40998  VULKAN_HPP_NAMESPACE::ComponentMapping components_ = {},
40999  VULKAN_HPP_NAMESPACE::ImageSubresourceRange subresourceRange_ = {},
41000  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
41001  : pNext( pNext_ )
41002  , flags( flags_ )
41003  , image( image_ )
41004  , viewType( viewType_ )
41005  , format( format_ )
41006  , components( components_ )
41007  , subresourceRange( subresourceRange_ )
41008  {
41009  }
41010 
41011  VULKAN_HPP_CONSTEXPR ImageViewCreateInfo( ImageViewCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
41012 
41013  ImageViewCreateInfo( VkImageViewCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : ImageViewCreateInfo( *reinterpret_cast<ImageViewCreateInfo const *>( &rhs ) )
41014  {
41015  }
41016 
41017  ImageViewCreateInfo & operator=( ImageViewCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
41018 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
41019 
41021  {
41022  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageViewCreateInfo const *>( &rhs );
41023  return *this;
41024  }
41025 
41026 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
41028  {
41029  pNext = pNext_;
41030  return *this;
41031  }
41032 
41034  {
41035  flags = flags_;
41036  return *this;
41037  }
41038 
41040  {
41041  image = image_;
41042  return *this;
41043  }
41044 
41046  {
41047  viewType = viewType_;
41048  return *this;
41049  }
41050 
41052  {
41053  format = format_;
41054  return *this;
41055  }
41056 
41058  {
41059  components = components_;
41060  return *this;
41061  }
41062 
41065  {
41066  subresourceRange = subresourceRange_;
41067  return *this;
41068  }
41069 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
41070 
41072  {
41073  return *reinterpret_cast<const VkImageViewCreateInfo *>( this );
41074  }
41075 
41077  {
41078  return *reinterpret_cast<VkImageViewCreateInfo *>( this );
41079  }
41080 
41081 #if defined( VULKAN_HPP_USE_REFLECT )
41082 # if 14 <= VULKAN_HPP_CPP_VERSION
41083  auto
41084 # else
41085  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
41086  const void * const &,
41093 # endif
41094  reflect() const VULKAN_HPP_NOEXCEPT
41095  {
41096  return std::tie( sType, pNext, flags, image, viewType, format, components, subresourceRange );
41097  }
41098 #endif
41099 
41100 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
41101  auto operator<=>( ImageViewCreateInfo const & ) const = default;
41102 #else
41104  {
41105 # if defined( VULKAN_HPP_USE_REFLECT )
41106  return this->reflect() == rhs.reflect();
41107 # else
41108  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( image == rhs.image ) && ( viewType == rhs.viewType ) &&
41109  ( format == rhs.format ) && ( components == rhs.components ) && ( subresourceRange == rhs.subresourceRange );
41110 # endif
41111  }
41112 
41114  {
41115  return !operator==( rhs );
41116  }
41117 #endif
41118 
41119  public:
41120  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageViewCreateInfo;
41121  const void * pNext = {};
41128  };
41129 
41130  template <>
41132  {
41134  };
41135 
41137  {
41139 
41140  static const bool allowDuplicate = false;
41141  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageViewHandleInfoNVX;
41142 
41143 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
41146  VULKAN_HPP_NAMESPACE::Sampler sampler_ = {},
41147  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
41148  : pNext( pNext_ )
41149  , imageView( imageView_ )
41150  , descriptorType( descriptorType_ )
41151  , sampler( sampler_ )
41152  {
41153  }
41154 
41155  VULKAN_HPP_CONSTEXPR ImageViewHandleInfoNVX( ImageViewHandleInfoNVX const & rhs ) VULKAN_HPP_NOEXCEPT = default;
41156 
41158  : ImageViewHandleInfoNVX( *reinterpret_cast<ImageViewHandleInfoNVX const *>( &rhs ) )
41159  {
41160  }
41161 
41162  ImageViewHandleInfoNVX & operator=( ImageViewHandleInfoNVX const & rhs ) VULKAN_HPP_NOEXCEPT = default;
41163 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
41164 
41166  {
41167  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageViewHandleInfoNVX const *>( &rhs );
41168  return *this;
41169  }
41170 
41171 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
41173  {
41174  pNext = pNext_;
41175  return *this;
41176  }
41177 
41179  {
41180  imageView = imageView_;
41181  return *this;
41182  }
41183 
41185  {
41186  descriptorType = descriptorType_;
41187  return *this;
41188  }
41189 
41191  {
41192  sampler = sampler_;
41193  return *this;
41194  }
41195 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
41196 
41198  {
41199  return *reinterpret_cast<const VkImageViewHandleInfoNVX *>( this );
41200  }
41201 
41203  {
41204  return *reinterpret_cast<VkImageViewHandleInfoNVX *>( this );
41205  }
41206 
41207 #if defined( VULKAN_HPP_USE_REFLECT )
41208 # if 14 <= VULKAN_HPP_CPP_VERSION
41209  auto
41210 # else
41211  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
41212  const void * const &,
41216 # endif
41217  reflect() const VULKAN_HPP_NOEXCEPT
41218  {
41219  return std::tie( sType, pNext, imageView, descriptorType, sampler );
41220  }
41221 #endif
41222 
41223 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
41224  auto operator<=>( ImageViewHandleInfoNVX const & ) const = default;
41225 #else
41227  {
41228 # if defined( VULKAN_HPP_USE_REFLECT )
41229  return this->reflect() == rhs.reflect();
41230 # else
41231  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( imageView == rhs.imageView ) && ( descriptorType == rhs.descriptorType ) &&
41232  ( sampler == rhs.sampler );
41233 # endif
41234  }
41235 
41237  {
41238  return !operator==( rhs );
41239  }
41240 #endif
41241 
41242  public:
41243  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageViewHandleInfoNVX;
41244  const void * pNext = {};
41248  };
41249 
41250  template <>
41252  {
41254  };
41255 
41257  {
41259 
41260  static const bool allowDuplicate = false;
41261  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageViewMinLodCreateInfoEXT;
41262 
41263 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
41264  VULKAN_HPP_CONSTEXPR ImageViewMinLodCreateInfoEXT( float minLod_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
41265  : pNext( pNext_ )
41266  , minLod( minLod_ )
41267  {
41268  }
41269 
41270  VULKAN_HPP_CONSTEXPR ImageViewMinLodCreateInfoEXT( ImageViewMinLodCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
41271 
41273  : ImageViewMinLodCreateInfoEXT( *reinterpret_cast<ImageViewMinLodCreateInfoEXT const *>( &rhs ) )
41274  {
41275  }
41276 
41278 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
41279 
41281  {
41282  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageViewMinLodCreateInfoEXT const *>( &rhs );
41283  return *this;
41284  }
41285 
41286 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
41288  {
41289  pNext = pNext_;
41290  return *this;
41291  }
41292 
41294  {
41295  minLod = minLod_;
41296  return *this;
41297  }
41298 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
41299 
41301  {
41302  return *reinterpret_cast<const VkImageViewMinLodCreateInfoEXT *>( this );
41303  }
41304 
41306  {
41307  return *reinterpret_cast<VkImageViewMinLodCreateInfoEXT *>( this );
41308  }
41309 
41310 #if defined( VULKAN_HPP_USE_REFLECT )
41311 # if 14 <= VULKAN_HPP_CPP_VERSION
41312  auto
41313 # else
41314  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, float const &>
41315 # endif
41316  reflect() const VULKAN_HPP_NOEXCEPT
41317  {
41318  return std::tie( sType, pNext, minLod );
41319  }
41320 #endif
41321 
41322 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
41323  auto operator<=>( ImageViewMinLodCreateInfoEXT const & ) const = default;
41324 #else
41326  {
41327 # if defined( VULKAN_HPP_USE_REFLECT )
41328  return this->reflect() == rhs.reflect();
41329 # else
41330  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( minLod == rhs.minLod );
41331 # endif
41332  }
41333 
41335  {
41336  return !operator==( rhs );
41337  }
41338 #endif
41339 
41340  public:
41341  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageViewMinLodCreateInfoEXT;
41342  const void * pNext = {};
41343  float minLod = {};
41344  };
41345 
41346  template <>
41348  {
41350  };
41351 
41353  {
41355 
41356  static const bool allowDuplicate = false;
41357  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageViewSampleWeightCreateInfoQCOM;
41358 
41359 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
41361  VULKAN_HPP_NAMESPACE::Extent2D filterSize_ = {},
41362  uint32_t numPhases_ = {},
41363  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
41364  : pNext( pNext_ )
41365  , filterCenter( filterCenter_ )
41366  , filterSize( filterSize_ )
41367  , numPhases( numPhases_ )
41368  {
41369  }
41370 
41371  VULKAN_HPP_CONSTEXPR ImageViewSampleWeightCreateInfoQCOM( ImageViewSampleWeightCreateInfoQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default;
41372 
41374  : ImageViewSampleWeightCreateInfoQCOM( *reinterpret_cast<ImageViewSampleWeightCreateInfoQCOM const *>( &rhs ) )
41375  {
41376  }
41377 
41379 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
41380 
41382  {
41383  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageViewSampleWeightCreateInfoQCOM const *>( &rhs );
41384  return *this;
41385  }
41386 
41387 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
41389  {
41390  pNext = pNext_;
41391  return *this;
41392  }
41393 
41395  {
41396  filterCenter = filterCenter_;
41397  return *this;
41398  }
41399 
41401  {
41402  filterSize = filterSize_;
41403  return *this;
41404  }
41405 
41407  {
41408  numPhases = numPhases_;
41409  return *this;
41410  }
41411 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
41412 
41414  {
41415  return *reinterpret_cast<const VkImageViewSampleWeightCreateInfoQCOM *>( this );
41416  }
41417 
41419  {
41420  return *reinterpret_cast<VkImageViewSampleWeightCreateInfoQCOM *>( this );
41421  }
41422 
41423 #if defined( VULKAN_HPP_USE_REFLECT )
41424 # if 14 <= VULKAN_HPP_CPP_VERSION
41425  auto
41426 # else
41427  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
41428  const void * const &,
41431  uint32_t const &>
41432 # endif
41433  reflect() const VULKAN_HPP_NOEXCEPT
41434  {
41435  return std::tie( sType, pNext, filterCenter, filterSize, numPhases );
41436  }
41437 #endif
41438 
41439 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
41440  auto operator<=>( ImageViewSampleWeightCreateInfoQCOM const & ) const = default;
41441 #else
41443  {
41444 # if defined( VULKAN_HPP_USE_REFLECT )
41445  return this->reflect() == rhs.reflect();
41446 # else
41447  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( filterCenter == rhs.filterCenter ) && ( filterSize == rhs.filterSize ) &&
41448  ( numPhases == rhs.numPhases );
41449 # endif
41450  }
41451 
41453  {
41454  return !operator==( rhs );
41455  }
41456 #endif
41457 
41458  public:
41459  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageViewSampleWeightCreateInfoQCOM;
41460  const void * pNext = {};
41463  uint32_t numPhases = {};
41464  };
41465 
41466  template <>
41468  {
41470  };
41471 
41473  {
41475 
41476  static const bool allowDuplicate = false;
41477  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageViewUsageCreateInfo;
41478 
41479 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
41481  : pNext( pNext_ )
41482  , usage( usage_ )
41483  {
41484  }
41485 
41486  VULKAN_HPP_CONSTEXPR ImageViewUsageCreateInfo( ImageViewUsageCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
41487 
41489  : ImageViewUsageCreateInfo( *reinterpret_cast<ImageViewUsageCreateInfo const *>( &rhs ) )
41490  {
41491  }
41492 
41493  ImageViewUsageCreateInfo & operator=( ImageViewUsageCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
41494 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
41495 
41497  {
41498  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageViewUsageCreateInfo const *>( &rhs );
41499  return *this;
41500  }
41501 
41502 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
41504  {
41505  pNext = pNext_;
41506  return *this;
41507  }
41508 
41510  {
41511  usage = usage_;
41512  return *this;
41513  }
41514 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
41515 
41517  {
41518  return *reinterpret_cast<const VkImageViewUsageCreateInfo *>( this );
41519  }
41520 
41522  {
41523  return *reinterpret_cast<VkImageViewUsageCreateInfo *>( this );
41524  }
41525 
41526 #if defined( VULKAN_HPP_USE_REFLECT )
41527 # if 14 <= VULKAN_HPP_CPP_VERSION
41528  auto
41529 # else
41530  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::ImageUsageFlags const &>
41531 # endif
41532  reflect() const VULKAN_HPP_NOEXCEPT
41533  {
41534  return std::tie( sType, pNext, usage );
41535  }
41536 #endif
41537 
41538 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
41539  auto operator<=>( ImageViewUsageCreateInfo const & ) const = default;
41540 #else
41542  {
41543 # if defined( VULKAN_HPP_USE_REFLECT )
41544  return this->reflect() == rhs.reflect();
41545 # else
41546  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( usage == rhs.usage );
41547 # endif
41548  }
41549 
41551  {
41552  return !operator==( rhs );
41553  }
41554 #endif
41555 
41556  public:
41557  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageViewUsageCreateInfo;
41558  const void * pNext = {};
41560  };
41561 
41562  template <>
41564  {
41566  };
41568 
41569 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
41570  struct ImportAndroidHardwareBufferInfoANDROID
41571  {
41572  using NativeType = VkImportAndroidHardwareBufferInfoANDROID;
41573 
41574  static const bool allowDuplicate = false;
41575  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImportAndroidHardwareBufferInfoANDROID;
41576 
41577 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
41578  VULKAN_HPP_CONSTEXPR ImportAndroidHardwareBufferInfoANDROID( struct AHardwareBuffer * buffer_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
41579  : pNext( pNext_ )
41580  , buffer( buffer_ )
41581  {
41582  }
41583 
41584  VULKAN_HPP_CONSTEXPR ImportAndroidHardwareBufferInfoANDROID( ImportAndroidHardwareBufferInfoANDROID const & rhs ) VULKAN_HPP_NOEXCEPT = default;
41585 
41586  ImportAndroidHardwareBufferInfoANDROID( VkImportAndroidHardwareBufferInfoANDROID const & rhs ) VULKAN_HPP_NOEXCEPT
41587  : ImportAndroidHardwareBufferInfoANDROID( *reinterpret_cast<ImportAndroidHardwareBufferInfoANDROID const *>( &rhs ) )
41588  {
41589  }
41590 
41591  ImportAndroidHardwareBufferInfoANDROID & operator=( ImportAndroidHardwareBufferInfoANDROID const & rhs ) VULKAN_HPP_NOEXCEPT = default;
41592 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
41593 
41594  ImportAndroidHardwareBufferInfoANDROID & operator=( VkImportAndroidHardwareBufferInfoANDROID const & rhs ) VULKAN_HPP_NOEXCEPT
41595  {
41596  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImportAndroidHardwareBufferInfoANDROID const *>( &rhs );
41597  return *this;
41598  }
41599 
41600 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
41601  VULKAN_HPP_CONSTEXPR_14 ImportAndroidHardwareBufferInfoANDROID & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
41602  {
41603  pNext = pNext_;
41604  return *this;
41605  }
41606 
41607  VULKAN_HPP_CONSTEXPR_14 ImportAndroidHardwareBufferInfoANDROID & setBuffer( struct AHardwareBuffer * buffer_ ) VULKAN_HPP_NOEXCEPT
41608  {
41609  buffer = buffer_;
41610  return *this;
41611  }
41612 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
41613 
41615  {
41616  return *reinterpret_cast<const VkImportAndroidHardwareBufferInfoANDROID *>( this );
41617  }
41618 
41620  {
41621  return *reinterpret_cast<VkImportAndroidHardwareBufferInfoANDROID *>( this );
41622  }
41623 
41624 # if defined( VULKAN_HPP_USE_REFLECT )
41625 # if 14 <= VULKAN_HPP_CPP_VERSION
41626  auto
41627 # else
41628  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, struct AHardwareBuffer * const &>
41629 # endif
41630  reflect() const VULKAN_HPP_NOEXCEPT
41631  {
41632  return std::tie( sType, pNext, buffer );
41633  }
41634 # endif
41635 
41636 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
41637  auto operator<=>( ImportAndroidHardwareBufferInfoANDROID const & ) const = default;
41638 # else
41639  bool operator==( ImportAndroidHardwareBufferInfoANDROID const & rhs ) const VULKAN_HPP_NOEXCEPT
41640  {
41641 # if defined( VULKAN_HPP_USE_REFLECT )
41642  return this->reflect() == rhs.reflect();
41643 # else
41644  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( buffer == rhs.buffer );
41645 # endif
41646  }
41647 
41648  bool operator!=( ImportAndroidHardwareBufferInfoANDROID const & rhs ) const VULKAN_HPP_NOEXCEPT
41649  {
41650  return !operator==( rhs );
41651  }
41652 # endif
41653 
41654  public:
41655  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImportAndroidHardwareBufferInfoANDROID;
41656  const void * pNext = {};
41657  struct AHardwareBuffer * buffer = {};
41658  };
41659 
41660  template <>
41661  struct CppType<StructureType, StructureType::eImportAndroidHardwareBufferInfoANDROID>
41662  {
41663  using Type = ImportAndroidHardwareBufferInfoANDROID;
41664  };
41665 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
41666 
41668  {
41670 
41671  static const bool allowDuplicate = false;
41672  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImportFenceFdInfoKHR;
41673 
41674 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
41676  VULKAN_HPP_NAMESPACE::Fence fence_ = {},
41679  int fd_ = {},
41680  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
41681  : pNext( pNext_ )
41682  , fence( fence_ )
41683  , flags( flags_ )
41684  , handleType( handleType_ )
41685  , fd( fd_ )
41686  {
41687  }
41688 
41689  VULKAN_HPP_CONSTEXPR ImportFenceFdInfoKHR( ImportFenceFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
41690 
41692  : ImportFenceFdInfoKHR( *reinterpret_cast<ImportFenceFdInfoKHR const *>( &rhs ) )
41693  {
41694  }
41695 
41696  ImportFenceFdInfoKHR & operator=( ImportFenceFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
41697 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
41698 
41700  {
41701  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImportFenceFdInfoKHR const *>( &rhs );
41702  return *this;
41703  }
41704 
41705 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
41707  {
41708  pNext = pNext_;
41709  return *this;
41710  }
41711 
41713  {
41714  fence = fence_;
41715  return *this;
41716  }
41717 
41719  {
41720  flags = flags_;
41721  return *this;
41722  }
41723 
41725  {
41726  handleType = handleType_;
41727  return *this;
41728  }
41729 
41731  {
41732  fd = fd_;
41733  return *this;
41734  }
41735 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
41736 
41738  {
41739  return *reinterpret_cast<const VkImportFenceFdInfoKHR *>( this );
41740  }
41741 
41743  {
41744  return *reinterpret_cast<VkImportFenceFdInfoKHR *>( this );
41745  }
41746 
41747 #if defined( VULKAN_HPP_USE_REFLECT )
41748 # if 14 <= VULKAN_HPP_CPP_VERSION
41749  auto
41750 # else
41751  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
41752  const void * const &,
41756  int const &>
41757 # endif
41758  reflect() const VULKAN_HPP_NOEXCEPT
41759  {
41760  return std::tie( sType, pNext, fence, flags, handleType, fd );
41761  }
41762 #endif
41763 
41764 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
41765  auto operator<=>( ImportFenceFdInfoKHR const & ) const = default;
41766 #else
41768  {
41769 # if defined( VULKAN_HPP_USE_REFLECT )
41770  return this->reflect() == rhs.reflect();
41771 # else
41772  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( fence == rhs.fence ) && ( flags == rhs.flags ) && ( handleType == rhs.handleType ) &&
41773  ( fd == rhs.fd );
41774 # endif
41775  }
41776 
41778  {
41779  return !operator==( rhs );
41780  }
41781 #endif
41782 
41783  public:
41784  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImportFenceFdInfoKHR;
41785  const void * pNext = {};
41789  int fd = {};
41790  };
41791 
41792  template <>
41794  {
41796  };
41797 
41798 #if defined( VK_USE_PLATFORM_WIN32_KHR )
41799  struct ImportFenceWin32HandleInfoKHR
41800  {
41801  using NativeType = VkImportFenceWin32HandleInfoKHR;
41802 
41803  static const bool allowDuplicate = false;
41804  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImportFenceWin32HandleInfoKHR;
41805 
41806 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
41807  VULKAN_HPP_CONSTEXPR ImportFenceWin32HandleInfoKHR(
41808  VULKAN_HPP_NAMESPACE::Fence fence_ = {},
41811  HANDLE handle_ = {},
41812  LPCWSTR name_ = {},
41813  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
41814  : pNext( pNext_ )
41815  , fence( fence_ )
41816  , flags( flags_ )
41817  , handleType( handleType_ )
41818  , handle( handle_ )
41819  , name( name_ )
41820  {
41821  }
41822 
41823  VULKAN_HPP_CONSTEXPR ImportFenceWin32HandleInfoKHR( ImportFenceWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
41824 
41825  ImportFenceWin32HandleInfoKHR( VkImportFenceWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
41826  : ImportFenceWin32HandleInfoKHR( *reinterpret_cast<ImportFenceWin32HandleInfoKHR const *>( &rhs ) )
41827  {
41828  }
41829 
41830  ImportFenceWin32HandleInfoKHR & operator=( ImportFenceWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
41831 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
41832 
41833  ImportFenceWin32HandleInfoKHR & operator=( VkImportFenceWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
41834  {
41835  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImportFenceWin32HandleInfoKHR const *>( &rhs );
41836  return *this;
41837  }
41838 
41839 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
41840  VULKAN_HPP_CONSTEXPR_14 ImportFenceWin32HandleInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
41841  {
41842  pNext = pNext_;
41843  return *this;
41844  }
41845 
41846  VULKAN_HPP_CONSTEXPR_14 ImportFenceWin32HandleInfoKHR & setFence( VULKAN_HPP_NAMESPACE::Fence fence_ ) VULKAN_HPP_NOEXCEPT
41847  {
41848  fence = fence_;
41849  return *this;
41850  }
41851 
41852  VULKAN_HPP_CONSTEXPR_14 ImportFenceWin32HandleInfoKHR & setFlags( VULKAN_HPP_NAMESPACE::FenceImportFlags flags_ ) VULKAN_HPP_NOEXCEPT
41853  {
41854  flags = flags_;
41855  return *this;
41856  }
41857 
41858  VULKAN_HPP_CONSTEXPR_14 ImportFenceWin32HandleInfoKHR &
41860  {
41861  handleType = handleType_;
41862  return *this;
41863  }
41864 
41865  VULKAN_HPP_CONSTEXPR_14 ImportFenceWin32HandleInfoKHR & setHandle( HANDLE handle_ ) VULKAN_HPP_NOEXCEPT
41866  {
41867  handle = handle_;
41868  return *this;
41869  }
41870 
41871  VULKAN_HPP_CONSTEXPR_14 ImportFenceWin32HandleInfoKHR & setName( LPCWSTR name_ ) VULKAN_HPP_NOEXCEPT
41872  {
41873  name = name_;
41874  return *this;
41875  }
41876 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
41877 
41878  operator VkImportFenceWin32HandleInfoKHR const &() const VULKAN_HPP_NOEXCEPT
41879  {
41880  return *reinterpret_cast<const VkImportFenceWin32HandleInfoKHR *>( this );
41881  }
41882 
41884  {
41885  return *reinterpret_cast<VkImportFenceWin32HandleInfoKHR *>( this );
41886  }
41887 
41888 # if defined( VULKAN_HPP_USE_REFLECT )
41889 # if 14 <= VULKAN_HPP_CPP_VERSION
41890  auto
41891 # else
41892  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
41893  const void * const &,
41897  HANDLE const &,
41898  LPCWSTR const &>
41899 # endif
41900  reflect() const VULKAN_HPP_NOEXCEPT
41901  {
41902  return std::tie( sType, pNext, fence, flags, handleType, handle, name );
41903  }
41904 # endif
41905 
41906 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
41907  auto operator<=>( ImportFenceWin32HandleInfoKHR const & ) const = default;
41908 # else
41909  bool operator==( ImportFenceWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
41910  {
41911 # if defined( VULKAN_HPP_USE_REFLECT )
41912  return this->reflect() == rhs.reflect();
41913 # else
41914  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( fence == rhs.fence ) && ( flags == rhs.flags ) && ( handleType == rhs.handleType ) &&
41915  ( handle == rhs.handle ) && ( name == rhs.name );
41916 # endif
41917  }
41918 
41919  bool operator!=( ImportFenceWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
41920  {
41921  return !operator==( rhs );
41922  }
41923 # endif
41924 
41925  public:
41926  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImportFenceWin32HandleInfoKHR;
41927  const void * pNext = {};
41928  VULKAN_HPP_NAMESPACE::Fence fence = {};
41931  HANDLE handle = {};
41932  LPCWSTR name = {};
41933  };
41934 
41935  template <>
41936  struct CppType<StructureType, StructureType::eImportFenceWin32HandleInfoKHR>
41937  {
41938  using Type = ImportFenceWin32HandleInfoKHR;
41939  };
41940 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
41941 
41942 #if defined( VK_USE_PLATFORM_FUCHSIA )
41943  struct ImportMemoryBufferCollectionFUCHSIA
41944  {
41945  using NativeType = VkImportMemoryBufferCollectionFUCHSIA;
41946 
41947  static const bool allowDuplicate = false;
41948  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImportMemoryBufferCollectionFUCHSIA;
41949 
41950 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
41951  VULKAN_HPP_CONSTEXPR ImportMemoryBufferCollectionFUCHSIA( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection_ = {},
41952  uint32_t index_ = {},
41953  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
41954  : pNext( pNext_ )
41955  , collection( collection_ )
41956  , index( index_ )
41957  {
41958  }
41959 
41960  VULKAN_HPP_CONSTEXPR ImportMemoryBufferCollectionFUCHSIA( ImportMemoryBufferCollectionFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
41961 
41962  ImportMemoryBufferCollectionFUCHSIA( VkImportMemoryBufferCollectionFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
41963  : ImportMemoryBufferCollectionFUCHSIA( *reinterpret_cast<ImportMemoryBufferCollectionFUCHSIA const *>( &rhs ) )
41964  {
41965  }
41966 
41967  ImportMemoryBufferCollectionFUCHSIA & operator=( ImportMemoryBufferCollectionFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
41968 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
41969 
41970  ImportMemoryBufferCollectionFUCHSIA & operator=( VkImportMemoryBufferCollectionFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
41971  {
41972  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImportMemoryBufferCollectionFUCHSIA const *>( &rhs );
41973  return *this;
41974  }
41975 
41976 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
41977  VULKAN_HPP_CONSTEXPR_14 ImportMemoryBufferCollectionFUCHSIA & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
41978  {
41979  pNext = pNext_;
41980  return *this;
41981  }
41982 
41983  VULKAN_HPP_CONSTEXPR_14 ImportMemoryBufferCollectionFUCHSIA & setCollection( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection_ ) VULKAN_HPP_NOEXCEPT
41984  {
41985  collection = collection_;
41986  return *this;
41987  }
41988 
41989  VULKAN_HPP_CONSTEXPR_14 ImportMemoryBufferCollectionFUCHSIA & setIndex( uint32_t index_ ) VULKAN_HPP_NOEXCEPT
41990  {
41991  index = index_;
41992  return *this;
41993  }
41994 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
41995 
41997  {
41998  return *reinterpret_cast<const VkImportMemoryBufferCollectionFUCHSIA *>( this );
41999  }
42000 
42002  {
42003  return *reinterpret_cast<VkImportMemoryBufferCollectionFUCHSIA *>( this );
42004  }
42005 
42006 # if defined( VULKAN_HPP_USE_REFLECT )
42007 # if 14 <= VULKAN_HPP_CPP_VERSION
42008  auto
42009 # else
42010  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA const &, uint32_t const &>
42011 # endif
42012  reflect() const VULKAN_HPP_NOEXCEPT
42013  {
42014  return std::tie( sType, pNext, collection, index );
42015  }
42016 # endif
42017 
42018 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
42019  auto operator<=>( ImportMemoryBufferCollectionFUCHSIA const & ) const = default;
42020 # else
42021  bool operator==( ImportMemoryBufferCollectionFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
42022  {
42023 # if defined( VULKAN_HPP_USE_REFLECT )
42024  return this->reflect() == rhs.reflect();
42025 # else
42026  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( collection == rhs.collection ) && ( index == rhs.index );
42027 # endif
42028  }
42029 
42030  bool operator!=( ImportMemoryBufferCollectionFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
42031  {
42032  return !operator==( rhs );
42033  }
42034 # endif
42035 
42036  public:
42037  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImportMemoryBufferCollectionFUCHSIA;
42038  const void * pNext = {};
42039  VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection = {};
42040  uint32_t index = {};
42041  };
42042 
42043  template <>
42044  struct CppType<StructureType, StructureType::eImportMemoryBufferCollectionFUCHSIA>
42045  {
42046  using Type = ImportMemoryBufferCollectionFUCHSIA;
42047  };
42048 #endif /*VK_USE_PLATFORM_FUCHSIA*/
42049 
42051  {
42053 
42054  static const bool allowDuplicate = false;
42055  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImportMemoryFdInfoKHR;
42056 
42057 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
42060  int fd_ = {},
42061  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
42062  : pNext( pNext_ )
42063  , handleType( handleType_ )
42064  , fd( fd_ )
42065  {
42066  }
42067 
42068  VULKAN_HPP_CONSTEXPR ImportMemoryFdInfoKHR( ImportMemoryFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
42069 
42071  : ImportMemoryFdInfoKHR( *reinterpret_cast<ImportMemoryFdInfoKHR const *>( &rhs ) )
42072  {
42073  }
42074 
42075  ImportMemoryFdInfoKHR & operator=( ImportMemoryFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
42076 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
42077 
42079  {
42080  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImportMemoryFdInfoKHR const *>( &rhs );
42081  return *this;
42082  }
42083 
42084 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
42086  {
42087  pNext = pNext_;
42088  return *this;
42089  }
42090 
42092  {
42093  handleType = handleType_;
42094  return *this;
42095  }
42096 
42098  {
42099  fd = fd_;
42100  return *this;
42101  }
42102 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
42103 
42105  {
42106  return *reinterpret_cast<const VkImportMemoryFdInfoKHR *>( this );
42107  }
42108 
42110  {
42111  return *reinterpret_cast<VkImportMemoryFdInfoKHR *>( this );
42112  }
42113 
42114 #if defined( VULKAN_HPP_USE_REFLECT )
42115 # if 14 <= VULKAN_HPP_CPP_VERSION
42116  auto
42117 # else
42118  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits const &, int const &>
42119 # endif
42120  reflect() const VULKAN_HPP_NOEXCEPT
42121  {
42122  return std::tie( sType, pNext, handleType, fd );
42123  }
42124 #endif
42125 
42126 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
42127  auto operator<=>( ImportMemoryFdInfoKHR const & ) const = default;
42128 #else
42130  {
42131 # if defined( VULKAN_HPP_USE_REFLECT )
42132  return this->reflect() == rhs.reflect();
42133 # else
42134  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( handleType == rhs.handleType ) && ( fd == rhs.fd );
42135 # endif
42136  }
42137 
42139  {
42140  return !operator==( rhs );
42141  }
42142 #endif
42143 
42144  public:
42145  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImportMemoryFdInfoKHR;
42146  const void * pNext = {};
42148  int fd = {};
42149  };
42150 
42151  template <>
42153  {
42155  };
42156 
42158  {
42160 
42161  static const bool allowDuplicate = false;
42162  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImportMemoryHostPointerInfoEXT;
42163 
42164 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
42167  void * pHostPointer_ = {},
42168  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
42169  : pNext( pNext_ )
42170  , handleType( handleType_ )
42171  , pHostPointer( pHostPointer_ )
42172  {
42173  }
42174 
42175  VULKAN_HPP_CONSTEXPR ImportMemoryHostPointerInfoEXT( ImportMemoryHostPointerInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
42176 
42178  : ImportMemoryHostPointerInfoEXT( *reinterpret_cast<ImportMemoryHostPointerInfoEXT const *>( &rhs ) )
42179  {
42180  }
42181 
42183 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
42184 
42186  {
42187  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImportMemoryHostPointerInfoEXT const *>( &rhs );
42188  return *this;
42189  }
42190 
42191 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
42193  {
42194  pNext = pNext_;
42195  return *this;
42196  }
42197 
42200  {
42201  handleType = handleType_;
42202  return *this;
42203  }
42204 
42206  {
42207  pHostPointer = pHostPointer_;
42208  return *this;
42209  }
42210 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
42211 
42213  {
42214  return *reinterpret_cast<const VkImportMemoryHostPointerInfoEXT *>( this );
42215  }
42216 
42218  {
42219  return *reinterpret_cast<VkImportMemoryHostPointerInfoEXT *>( this );
42220  }
42221 
42222 #if defined( VULKAN_HPP_USE_REFLECT )
42223 # if 14 <= VULKAN_HPP_CPP_VERSION
42224  auto
42225 # else
42226  std::
42227  tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits const &, void * const &>
42228 # endif
42229  reflect() const VULKAN_HPP_NOEXCEPT
42230  {
42231  return std::tie( sType, pNext, handleType, pHostPointer );
42232  }
42233 #endif
42234 
42235 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
42236  auto operator<=>( ImportMemoryHostPointerInfoEXT const & ) const = default;
42237 #else
42239  {
42240 # if defined( VULKAN_HPP_USE_REFLECT )
42241  return this->reflect() == rhs.reflect();
42242 # else
42243  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( handleType == rhs.handleType ) && ( pHostPointer == rhs.pHostPointer );
42244 # endif
42245  }
42246 
42248  {
42249  return !operator==( rhs );
42250  }
42251 #endif
42252 
42253  public:
42254  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImportMemoryHostPointerInfoEXT;
42255  const void * pNext = {};
42257  void * pHostPointer = {};
42258  };
42259 
42260  template <>
42262  {
42264  };
42265 
42266 #if defined( VK_USE_PLATFORM_WIN32_KHR )
42267  struct ImportMemoryWin32HandleInfoKHR
42268  {
42269  using NativeType = VkImportMemoryWin32HandleInfoKHR;
42270 
42271  static const bool allowDuplicate = false;
42272  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImportMemoryWin32HandleInfoKHR;
42273 
42274 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
42275  VULKAN_HPP_CONSTEXPR ImportMemoryWin32HandleInfoKHR(
42277  HANDLE handle_ = {},
42278  LPCWSTR name_ = {},
42279  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
42280  : pNext( pNext_ )
42281  , handleType( handleType_ )
42282  , handle( handle_ )
42283  , name( name_ )
42284  {
42285  }
42286 
42287  VULKAN_HPP_CONSTEXPR ImportMemoryWin32HandleInfoKHR( ImportMemoryWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
42288 
42289  ImportMemoryWin32HandleInfoKHR( VkImportMemoryWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
42290  : ImportMemoryWin32HandleInfoKHR( *reinterpret_cast<ImportMemoryWin32HandleInfoKHR const *>( &rhs ) )
42291  {
42292  }
42293 
42294  ImportMemoryWin32HandleInfoKHR & operator=( ImportMemoryWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
42295 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
42296 
42297  ImportMemoryWin32HandleInfoKHR & operator=( VkImportMemoryWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
42298  {
42299  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImportMemoryWin32HandleInfoKHR const *>( &rhs );
42300  return *this;
42301  }
42302 
42303 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
42304  VULKAN_HPP_CONSTEXPR_14 ImportMemoryWin32HandleInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
42305  {
42306  pNext = pNext_;
42307  return *this;
42308  }
42309 
42310  VULKAN_HPP_CONSTEXPR_14 ImportMemoryWin32HandleInfoKHR &
42312  {
42313  handleType = handleType_;
42314  return *this;
42315  }
42316 
42317  VULKAN_HPP_CONSTEXPR_14 ImportMemoryWin32HandleInfoKHR & setHandle( HANDLE handle_ ) VULKAN_HPP_NOEXCEPT
42318  {
42319  handle = handle_;
42320  return *this;
42321  }
42322 
42323  VULKAN_HPP_CONSTEXPR_14 ImportMemoryWin32HandleInfoKHR & setName( LPCWSTR name_ ) VULKAN_HPP_NOEXCEPT
42324  {
42325  name = name_;
42326  return *this;
42327  }
42328 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
42329 
42330  operator VkImportMemoryWin32HandleInfoKHR const &() const VULKAN_HPP_NOEXCEPT
42331  {
42332  return *reinterpret_cast<const VkImportMemoryWin32HandleInfoKHR *>( this );
42333  }
42334 
42336  {
42337  return *reinterpret_cast<VkImportMemoryWin32HandleInfoKHR *>( this );
42338  }
42339 
42340 # if defined( VULKAN_HPP_USE_REFLECT )
42341 # if 14 <= VULKAN_HPP_CPP_VERSION
42342  auto
42343 # else
42344  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
42345  const void * const &,
42347  HANDLE const &,
42348  LPCWSTR const &>
42349 # endif
42350  reflect() const VULKAN_HPP_NOEXCEPT
42351  {
42352  return std::tie( sType, pNext, handleType, handle, name );
42353  }
42354 # endif
42355 
42356 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
42357  auto operator<=>( ImportMemoryWin32HandleInfoKHR const & ) const = default;
42358 # else
42359  bool operator==( ImportMemoryWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
42360  {
42361 # if defined( VULKAN_HPP_USE_REFLECT )
42362  return this->reflect() == rhs.reflect();
42363 # else
42364  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( handleType == rhs.handleType ) && ( handle == rhs.handle ) && ( name == rhs.name );
42365 # endif
42366  }
42367 
42368  bool operator!=( ImportMemoryWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
42369  {
42370  return !operator==( rhs );
42371  }
42372 # endif
42373 
42374  public:
42375  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImportMemoryWin32HandleInfoKHR;
42376  const void * pNext = {};
42378  HANDLE handle = {};
42379  LPCWSTR name = {};
42380  };
42381 
42382  template <>
42383  struct CppType<StructureType, StructureType::eImportMemoryWin32HandleInfoKHR>
42384  {
42385  using Type = ImportMemoryWin32HandleInfoKHR;
42386  };
42387 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
42388 
42389 #if defined( VK_USE_PLATFORM_WIN32_KHR )
42390  struct ImportMemoryWin32HandleInfoNV
42391  {
42392  using NativeType = VkImportMemoryWin32HandleInfoNV;
42393 
42394  static const bool allowDuplicate = false;
42395  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImportMemoryWin32HandleInfoNV;
42396 
42397 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
42398  VULKAN_HPP_CONSTEXPR ImportMemoryWin32HandleInfoNV( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleType_ = {},
42399  HANDLE handle_ = {},
42400  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
42401  : pNext( pNext_ )
42402  , handleType( handleType_ )
42403  , handle( handle_ )
42404  {
42405  }
42406 
42407  VULKAN_HPP_CONSTEXPR ImportMemoryWin32HandleInfoNV( ImportMemoryWin32HandleInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
42408 
42409  ImportMemoryWin32HandleInfoNV( VkImportMemoryWin32HandleInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
42410  : ImportMemoryWin32HandleInfoNV( *reinterpret_cast<ImportMemoryWin32HandleInfoNV const *>( &rhs ) )
42411  {
42412  }
42413 
42414  ImportMemoryWin32HandleInfoNV & operator=( ImportMemoryWin32HandleInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
42415 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
42416 
42417  ImportMemoryWin32HandleInfoNV & operator=( VkImportMemoryWin32HandleInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
42418  {
42419  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImportMemoryWin32HandleInfoNV const *>( &rhs );
42420  return *this;
42421  }
42422 
42423 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
42424  VULKAN_HPP_CONSTEXPR_14 ImportMemoryWin32HandleInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
42425  {
42426  pNext = pNext_;
42427  return *this;
42428  }
42429 
42430  VULKAN_HPP_CONSTEXPR_14 ImportMemoryWin32HandleInfoNV &
42432  {
42433  handleType = handleType_;
42434  return *this;
42435  }
42436 
42437  VULKAN_HPP_CONSTEXPR_14 ImportMemoryWin32HandleInfoNV & setHandle( HANDLE handle_ ) VULKAN_HPP_NOEXCEPT
42438  {
42439  handle = handle_;
42440  return *this;
42441  }
42442 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
42443 
42444  operator VkImportMemoryWin32HandleInfoNV const &() const VULKAN_HPP_NOEXCEPT
42445  {
42446  return *reinterpret_cast<const VkImportMemoryWin32HandleInfoNV *>( this );
42447  }
42448 
42450  {
42451  return *reinterpret_cast<VkImportMemoryWin32HandleInfoNV *>( this );
42452  }
42453 
42454 # if defined( VULKAN_HPP_USE_REFLECT )
42455 # if 14 <= VULKAN_HPP_CPP_VERSION
42456  auto
42457 # else
42458  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV const &, HANDLE const &>
42459 # endif
42460  reflect() const VULKAN_HPP_NOEXCEPT
42461  {
42462  return std::tie( sType, pNext, handleType, handle );
42463  }
42464 # endif
42465 
42466 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
42467  auto operator<=>( ImportMemoryWin32HandleInfoNV const & ) const = default;
42468 # else
42469  bool operator==( ImportMemoryWin32HandleInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
42470  {
42471 # if defined( VULKAN_HPP_USE_REFLECT )
42472  return this->reflect() == rhs.reflect();
42473 # else
42474  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( handleType == rhs.handleType ) && ( handle == rhs.handle );
42475 # endif
42476  }
42477 
42478  bool operator!=( ImportMemoryWin32HandleInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
42479  {
42480  return !operator==( rhs );
42481  }
42482 # endif
42483 
42484  public:
42485  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImportMemoryWin32HandleInfoNV;
42486  const void * pNext = {};
42488  HANDLE handle = {};
42489  };
42490 
42491  template <>
42492  struct CppType<StructureType, StructureType::eImportMemoryWin32HandleInfoNV>
42493  {
42494  using Type = ImportMemoryWin32HandleInfoNV;
42495  };
42496 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
42497 
42498 #if defined( VK_USE_PLATFORM_FUCHSIA )
42499  struct ImportMemoryZirconHandleInfoFUCHSIA
42500  {
42501  using NativeType = VkImportMemoryZirconHandleInfoFUCHSIA;
42502 
42503  static const bool allowDuplicate = false;
42504  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImportMemoryZirconHandleInfoFUCHSIA;
42505 
42506 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
42507  VULKAN_HPP_CONSTEXPR ImportMemoryZirconHandleInfoFUCHSIA(
42509  zx_handle_t handle_ = {},
42510  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
42511  : pNext( pNext_ )
42512  , handleType( handleType_ )
42513  , handle( handle_ )
42514  {
42515  }
42516 
42517  VULKAN_HPP_CONSTEXPR ImportMemoryZirconHandleInfoFUCHSIA( ImportMemoryZirconHandleInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
42518 
42519  ImportMemoryZirconHandleInfoFUCHSIA( VkImportMemoryZirconHandleInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
42520  : ImportMemoryZirconHandleInfoFUCHSIA( *reinterpret_cast<ImportMemoryZirconHandleInfoFUCHSIA const *>( &rhs ) )
42521  {
42522  }
42523 
42524  ImportMemoryZirconHandleInfoFUCHSIA & operator=( ImportMemoryZirconHandleInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
42525 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
42526 
42527  ImportMemoryZirconHandleInfoFUCHSIA & operator=( VkImportMemoryZirconHandleInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
42528  {
42529  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImportMemoryZirconHandleInfoFUCHSIA const *>( &rhs );
42530  return *this;
42531  }
42532 
42533 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
42534  VULKAN_HPP_CONSTEXPR_14 ImportMemoryZirconHandleInfoFUCHSIA & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
42535  {
42536  pNext = pNext_;
42537  return *this;
42538  }
42539 
42540  VULKAN_HPP_CONSTEXPR_14 ImportMemoryZirconHandleInfoFUCHSIA &
42542  {
42543  handleType = handleType_;
42544  return *this;
42545  }
42546 
42547  VULKAN_HPP_CONSTEXPR_14 ImportMemoryZirconHandleInfoFUCHSIA & setHandle( zx_handle_t handle_ ) VULKAN_HPP_NOEXCEPT
42548  {
42549  handle = handle_;
42550  return *this;
42551  }
42552 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
42553 
42555  {
42556  return *reinterpret_cast<const VkImportMemoryZirconHandleInfoFUCHSIA *>( this );
42557  }
42558 
42560  {
42561  return *reinterpret_cast<VkImportMemoryZirconHandleInfoFUCHSIA *>( this );
42562  }
42563 
42564 # if defined( VULKAN_HPP_USE_REFLECT )
42565 # if 14 <= VULKAN_HPP_CPP_VERSION
42566  auto
42567 # else
42568  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
42569  const void * const &,
42571  zx_handle_t const &>
42572 # endif
42573  reflect() const VULKAN_HPP_NOEXCEPT
42574  {
42575  return std::tie( sType, pNext, handleType, handle );
42576  }
42577 # endif
42578 
42579 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
42580  std::strong_ordering operator<=>( ImportMemoryZirconHandleInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
42581  {
42582  if ( auto cmp = sType <=> rhs.sType; cmp != 0 )
42583  return cmp;
42584  if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 )
42585  return cmp;
42586  if ( auto cmp = handleType <=> rhs.handleType; cmp != 0 )
42587  return cmp;
42588  if ( auto cmp = memcmp( &handle, &rhs.handle, sizeof( zx_handle_t ) ); cmp != 0 )
42589  return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater;
42590 
42591  return std::strong_ordering::equivalent;
42592  }
42593 # endif
42594 
42595  bool operator==( ImportMemoryZirconHandleInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
42596  {
42597  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( handleType == rhs.handleType ) &&
42598  ( memcmp( &handle, &rhs.handle, sizeof( zx_handle_t ) ) == 0 );
42599  }
42600 
42601  bool operator!=( ImportMemoryZirconHandleInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
42602  {
42603  return !operator==( rhs );
42604  }
42605 
42606  public:
42607  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImportMemoryZirconHandleInfoFUCHSIA;
42608  const void * pNext = {};
42610  zx_handle_t handle = {};
42611  };
42612 
42613  template <>
42614  struct CppType<StructureType, StructureType::eImportMemoryZirconHandleInfoFUCHSIA>
42615  {
42616  using Type = ImportMemoryZirconHandleInfoFUCHSIA;
42617  };
42618 #endif /*VK_USE_PLATFORM_FUCHSIA*/
42619 
42620 #if defined( VK_USE_PLATFORM_METAL_EXT )
42621  struct ImportMetalBufferInfoEXT
42622  {
42623  using NativeType = VkImportMetalBufferInfoEXT;
42624 
42625  static const bool allowDuplicate = false;
42626  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImportMetalBufferInfoEXT;
42627 
42628 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
42629  VULKAN_HPP_CONSTEXPR ImportMetalBufferInfoEXT( MTLBuffer_id mtlBuffer_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
42630  : pNext( pNext_ )
42631  , mtlBuffer( mtlBuffer_ )
42632  {
42633  }
42634 
42635  VULKAN_HPP_CONSTEXPR ImportMetalBufferInfoEXT( ImportMetalBufferInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
42636 
42637  ImportMetalBufferInfoEXT( VkImportMetalBufferInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
42638  : ImportMetalBufferInfoEXT( *reinterpret_cast<ImportMetalBufferInfoEXT const *>( &rhs ) )
42639  {
42640  }
42641 
42642  ImportMetalBufferInfoEXT & operator=( ImportMetalBufferInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
42643 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
42644 
42645  ImportMetalBufferInfoEXT & operator=( VkImportMetalBufferInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
42646  {
42647  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImportMetalBufferInfoEXT const *>( &rhs );
42648  return *this;
42649  }
42650 
42651 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
42652  VULKAN_HPP_CONSTEXPR_14 ImportMetalBufferInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
42653  {
42654  pNext = pNext_;
42655  return *this;
42656  }
42657 
42658  VULKAN_HPP_CONSTEXPR_14 ImportMetalBufferInfoEXT & setMtlBuffer( MTLBuffer_id mtlBuffer_ ) VULKAN_HPP_NOEXCEPT
42659  {
42660  mtlBuffer = mtlBuffer_;
42661  return *this;
42662  }
42663 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
42664 
42665  operator VkImportMetalBufferInfoEXT const &() const VULKAN_HPP_NOEXCEPT
42666  {
42667  return *reinterpret_cast<const VkImportMetalBufferInfoEXT *>( this );
42668  }
42669 
42671  {
42672  return *reinterpret_cast<VkImportMetalBufferInfoEXT *>( this );
42673  }
42674 
42675 # if defined( VULKAN_HPP_USE_REFLECT )
42676 # if 14 <= VULKAN_HPP_CPP_VERSION
42677  auto
42678 # else
42679  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, MTLBuffer_id const &>
42680 # endif
42681  reflect() const VULKAN_HPP_NOEXCEPT
42682  {
42683  return std::tie( sType, pNext, mtlBuffer );
42684  }
42685 # endif
42686 
42687 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
42688  auto operator<=>( ImportMetalBufferInfoEXT const & ) const = default;
42689 # else
42690  bool operator==( ImportMetalBufferInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
42691  {
42692 # if defined( VULKAN_HPP_USE_REFLECT )
42693  return this->reflect() == rhs.reflect();
42694 # else
42695  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( mtlBuffer == rhs.mtlBuffer );
42696 # endif
42697  }
42698 
42699  bool operator!=( ImportMetalBufferInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
42700  {
42701  return !operator==( rhs );
42702  }
42703 # endif
42704 
42705  public:
42706  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImportMetalBufferInfoEXT;
42707  const void * pNext = {};
42708  MTLBuffer_id mtlBuffer = {};
42709  };
42710 
42711  template <>
42712  struct CppType<StructureType, StructureType::eImportMetalBufferInfoEXT>
42713  {
42714  using Type = ImportMetalBufferInfoEXT;
42715  };
42716 #endif /*VK_USE_PLATFORM_METAL_EXT*/
42717 
42718 #if defined( VK_USE_PLATFORM_METAL_EXT )
42719  struct ImportMetalIOSurfaceInfoEXT
42720  {
42721  using NativeType = VkImportMetalIOSurfaceInfoEXT;
42722 
42723  static const bool allowDuplicate = false;
42724  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImportMetalIoSurfaceInfoEXT;
42725 
42726 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
42727  VULKAN_HPP_CONSTEXPR ImportMetalIOSurfaceInfoEXT( IOSurfaceRef ioSurface_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
42728  : pNext( pNext_ )
42729  , ioSurface( ioSurface_ )
42730  {
42731  }
42732 
42733  VULKAN_HPP_CONSTEXPR ImportMetalIOSurfaceInfoEXT( ImportMetalIOSurfaceInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
42734 
42735  ImportMetalIOSurfaceInfoEXT( VkImportMetalIOSurfaceInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
42736  : ImportMetalIOSurfaceInfoEXT( *reinterpret_cast<ImportMetalIOSurfaceInfoEXT const *>( &rhs ) )
42737  {
42738  }
42739 
42740  ImportMetalIOSurfaceInfoEXT & operator=( ImportMetalIOSurfaceInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
42741 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
42742 
42743  ImportMetalIOSurfaceInfoEXT & operator=( VkImportMetalIOSurfaceInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
42744  {
42745  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImportMetalIOSurfaceInfoEXT const *>( &rhs );
42746  return *this;
42747  }
42748 
42749 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
42750  VULKAN_HPP_CONSTEXPR_14 ImportMetalIOSurfaceInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
42751  {
42752  pNext = pNext_;
42753  return *this;
42754  }
42755 
42756  VULKAN_HPP_CONSTEXPR_14 ImportMetalIOSurfaceInfoEXT & setIoSurface( IOSurfaceRef ioSurface_ ) VULKAN_HPP_NOEXCEPT
42757  {
42758  ioSurface = ioSurface_;
42759  return *this;
42760  }
42761 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
42762 
42763  operator VkImportMetalIOSurfaceInfoEXT const &() const VULKAN_HPP_NOEXCEPT
42764  {
42765  return *reinterpret_cast<const VkImportMetalIOSurfaceInfoEXT *>( this );
42766  }
42767 
42769  {
42770  return *reinterpret_cast<VkImportMetalIOSurfaceInfoEXT *>( this );
42771  }
42772 
42773 # if defined( VULKAN_HPP_USE_REFLECT )
42774 # if 14 <= VULKAN_HPP_CPP_VERSION
42775  auto
42776 # else
42777  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, IOSurfaceRef const &>
42778 # endif
42779  reflect() const VULKAN_HPP_NOEXCEPT
42780  {
42781  return std::tie( sType, pNext, ioSurface );
42782  }
42783 # endif
42784 
42785 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
42786  auto operator<=>( ImportMetalIOSurfaceInfoEXT const & ) const = default;
42787 # else
42788  bool operator==( ImportMetalIOSurfaceInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
42789  {
42790 # if defined( VULKAN_HPP_USE_REFLECT )
42791  return this->reflect() == rhs.reflect();
42792 # else
42793  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( ioSurface == rhs.ioSurface );
42794 # endif
42795  }
42796 
42797  bool operator!=( ImportMetalIOSurfaceInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
42798  {
42799  return !operator==( rhs );
42800  }
42801 # endif
42802 
42803  public:
42804  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImportMetalIoSurfaceInfoEXT;
42805  const void * pNext = {};
42806  IOSurfaceRef ioSurface = {};
42807  };
42808 
42809  template <>
42810  struct CppType<StructureType, StructureType::eImportMetalIoSurfaceInfoEXT>
42811  {
42812  using Type = ImportMetalIOSurfaceInfoEXT;
42813  };
42814 #endif /*VK_USE_PLATFORM_METAL_EXT*/
42815 
42816 #if defined( VK_USE_PLATFORM_METAL_EXT )
42817  struct ImportMetalSharedEventInfoEXT
42818  {
42819  using NativeType = VkImportMetalSharedEventInfoEXT;
42820 
42821  static const bool allowDuplicate = false;
42822  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImportMetalSharedEventInfoEXT;
42823 
42824 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
42825  VULKAN_HPP_CONSTEXPR ImportMetalSharedEventInfoEXT( MTLSharedEvent_id mtlSharedEvent_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
42826  : pNext( pNext_ )
42827  , mtlSharedEvent( mtlSharedEvent_ )
42828  {
42829  }
42830 
42831  VULKAN_HPP_CONSTEXPR ImportMetalSharedEventInfoEXT( ImportMetalSharedEventInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
42832 
42833  ImportMetalSharedEventInfoEXT( VkImportMetalSharedEventInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
42834  : ImportMetalSharedEventInfoEXT( *reinterpret_cast<ImportMetalSharedEventInfoEXT const *>( &rhs ) )
42835  {
42836  }
42837 
42838  ImportMetalSharedEventInfoEXT & operator=( ImportMetalSharedEventInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
42839 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
42840 
42841  ImportMetalSharedEventInfoEXT & operator=( VkImportMetalSharedEventInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
42842  {
42843  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImportMetalSharedEventInfoEXT const *>( &rhs );
42844  return *this;
42845  }
42846 
42847 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
42848  VULKAN_HPP_CONSTEXPR_14 ImportMetalSharedEventInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
42849  {
42850  pNext = pNext_;
42851  return *this;
42852  }
42853 
42854  VULKAN_HPP_CONSTEXPR_14 ImportMetalSharedEventInfoEXT & setMtlSharedEvent( MTLSharedEvent_id mtlSharedEvent_ ) VULKAN_HPP_NOEXCEPT
42855  {
42856  mtlSharedEvent = mtlSharedEvent_;
42857  return *this;
42858  }
42859 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
42860 
42861  operator VkImportMetalSharedEventInfoEXT const &() const VULKAN_HPP_NOEXCEPT
42862  {
42863  return *reinterpret_cast<const VkImportMetalSharedEventInfoEXT *>( this );
42864  }
42865 
42867  {
42868  return *reinterpret_cast<VkImportMetalSharedEventInfoEXT *>( this );
42869  }
42870 
42871 # if defined( VULKAN_HPP_USE_REFLECT )
42872 # if 14 <= VULKAN_HPP_CPP_VERSION
42873  auto
42874 # else
42875  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, MTLSharedEvent_id const &>
42876 # endif
42877  reflect() const VULKAN_HPP_NOEXCEPT
42878  {
42879  return std::tie( sType, pNext, mtlSharedEvent );
42880  }
42881 # endif
42882 
42883 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
42884  auto operator<=>( ImportMetalSharedEventInfoEXT const & ) const = default;
42885 # else
42886  bool operator==( ImportMetalSharedEventInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
42887  {
42888 # if defined( VULKAN_HPP_USE_REFLECT )
42889  return this->reflect() == rhs.reflect();
42890 # else
42891  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( mtlSharedEvent == rhs.mtlSharedEvent );
42892 # endif
42893  }
42894 
42895  bool operator!=( ImportMetalSharedEventInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
42896  {
42897  return !operator==( rhs );
42898  }
42899 # endif
42900 
42901  public:
42902  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImportMetalSharedEventInfoEXT;
42903  const void * pNext = {};
42904  MTLSharedEvent_id mtlSharedEvent = {};
42905  };
42906 
42907  template <>
42908  struct CppType<StructureType, StructureType::eImportMetalSharedEventInfoEXT>
42909  {
42910  using Type = ImportMetalSharedEventInfoEXT;
42911  };
42912 #endif /*VK_USE_PLATFORM_METAL_EXT*/
42913 
42914 #if defined( VK_USE_PLATFORM_METAL_EXT )
42915  struct ImportMetalTextureInfoEXT
42916  {
42917  using NativeType = VkImportMetalTextureInfoEXT;
42918 
42919  static const bool allowDuplicate = true;
42920  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImportMetalTextureInfoEXT;
42921 
42922 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
42924  MTLTexture_id mtlTexture_ = {},
42925  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
42926  : pNext( pNext_ )
42927  , plane( plane_ )
42928  , mtlTexture( mtlTexture_ )
42929  {
42930  }
42931 
42932  VULKAN_HPP_CONSTEXPR ImportMetalTextureInfoEXT( ImportMetalTextureInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
42933 
42934  ImportMetalTextureInfoEXT( VkImportMetalTextureInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
42935  : ImportMetalTextureInfoEXT( *reinterpret_cast<ImportMetalTextureInfoEXT const *>( &rhs ) )
42936  {
42937  }
42938 
42939  ImportMetalTextureInfoEXT & operator=( ImportMetalTextureInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
42940 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
42941 
42942  ImportMetalTextureInfoEXT & operator=( VkImportMetalTextureInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
42943  {
42944  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImportMetalTextureInfoEXT const *>( &rhs );
42945  return *this;
42946  }
42947 
42948 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
42949  VULKAN_HPP_CONSTEXPR_14 ImportMetalTextureInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
42950  {
42951  pNext = pNext_;
42952  return *this;
42953  }
42954 
42955  VULKAN_HPP_CONSTEXPR_14 ImportMetalTextureInfoEXT & setPlane( VULKAN_HPP_NAMESPACE::ImageAspectFlagBits plane_ ) VULKAN_HPP_NOEXCEPT
42956  {
42957  plane = plane_;
42958  return *this;
42959  }
42960 
42961  VULKAN_HPP_CONSTEXPR_14 ImportMetalTextureInfoEXT & setMtlTexture( MTLTexture_id mtlTexture_ ) VULKAN_HPP_NOEXCEPT
42962  {
42963  mtlTexture = mtlTexture_;
42964  return *this;
42965  }
42966 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
42967 
42968  operator VkImportMetalTextureInfoEXT const &() const VULKAN_HPP_NOEXCEPT
42969  {
42970  return *reinterpret_cast<const VkImportMetalTextureInfoEXT *>( this );
42971  }
42972 
42974  {
42975  return *reinterpret_cast<VkImportMetalTextureInfoEXT *>( this );
42976  }
42977 
42978 # if defined( VULKAN_HPP_USE_REFLECT )
42979 # if 14 <= VULKAN_HPP_CPP_VERSION
42980  auto
42981 # else
42982  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::ImageAspectFlagBits const &, MTLTexture_id const &>
42983 # endif
42984  reflect() const VULKAN_HPP_NOEXCEPT
42985  {
42986  return std::tie( sType, pNext, plane, mtlTexture );
42987  }
42988 # endif
42989 
42990 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
42991  auto operator<=>( ImportMetalTextureInfoEXT const & ) const = default;
42992 # else
42993  bool operator==( ImportMetalTextureInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
42994  {
42995 # if defined( VULKAN_HPP_USE_REFLECT )
42996  return this->reflect() == rhs.reflect();
42997 # else
42998  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( plane == rhs.plane ) && ( mtlTexture == rhs.mtlTexture );
42999 # endif
43000  }
43001 
43002  bool operator!=( ImportMetalTextureInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
43003  {
43004  return !operator==( rhs );
43005  }
43006 # endif
43007 
43008  public:
43009  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImportMetalTextureInfoEXT;
43010  const void * pNext = {};
43012  MTLTexture_id mtlTexture = {};
43013  };
43014 
43015  template <>
43016  struct CppType<StructureType, StructureType::eImportMetalTextureInfoEXT>
43017  {
43018  using Type = ImportMetalTextureInfoEXT;
43019  };
43020 #endif /*VK_USE_PLATFORM_METAL_EXT*/
43021 
43023  {
43025 
43026  static const bool allowDuplicate = false;
43027  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImportSemaphoreFdInfoKHR;
43028 
43029 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
43031  VULKAN_HPP_NAMESPACE::Semaphore semaphore_ = {},
43034  int fd_ = {},
43035  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
43036  : pNext( pNext_ )
43037  , semaphore( semaphore_ )
43038  , flags( flags_ )
43039  , handleType( handleType_ )
43040  , fd( fd_ )
43041  {
43042  }
43043 
43044  VULKAN_HPP_CONSTEXPR ImportSemaphoreFdInfoKHR( ImportSemaphoreFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
43045 
43047  : ImportSemaphoreFdInfoKHR( *reinterpret_cast<ImportSemaphoreFdInfoKHR const *>( &rhs ) )
43048  {
43049  }
43050 
43051  ImportSemaphoreFdInfoKHR & operator=( ImportSemaphoreFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
43052 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
43053 
43055  {
43056  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImportSemaphoreFdInfoKHR const *>( &rhs );
43057  return *this;
43058  }
43059 
43060 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
43062  {
43063  pNext = pNext_;
43064  return *this;
43065  }
43066 
43068  {
43069  semaphore = semaphore_;
43070  return *this;
43071  }
43072 
43074  {
43075  flags = flags_;
43076  return *this;
43077  }
43078 
43081  {
43082  handleType = handleType_;
43083  return *this;
43084  }
43085 
43087  {
43088  fd = fd_;
43089  return *this;
43090  }
43091 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
43092 
43094  {
43095  return *reinterpret_cast<const VkImportSemaphoreFdInfoKHR *>( this );
43096  }
43097 
43099  {
43100  return *reinterpret_cast<VkImportSemaphoreFdInfoKHR *>( this );
43101  }
43102 
43103 #if defined( VULKAN_HPP_USE_REFLECT )
43104 # if 14 <= VULKAN_HPP_CPP_VERSION
43105  auto
43106 # else
43107  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
43108  const void * const &,
43112  int const &>
43113 # endif
43114  reflect() const VULKAN_HPP_NOEXCEPT
43115  {
43116  return std::tie( sType, pNext, semaphore, flags, handleType, fd );
43117  }
43118 #endif
43119 
43120 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
43121  auto operator<=>( ImportSemaphoreFdInfoKHR const & ) const = default;
43122 #else
43124  {
43125 # if defined( VULKAN_HPP_USE_REFLECT )
43126  return this->reflect() == rhs.reflect();
43127 # else
43128  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( semaphore == rhs.semaphore ) && ( flags == rhs.flags ) && ( handleType == rhs.handleType ) &&
43129  ( fd == rhs.fd );
43130 # endif
43131  }
43132 
43134  {
43135  return !operator==( rhs );
43136  }
43137 #endif
43138 
43139  public:
43140  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImportSemaphoreFdInfoKHR;
43141  const void * pNext = {};
43145  int fd = {};
43146  };
43147 
43148  template <>
43150  {
43152  };
43153 
43154 #if defined( VK_USE_PLATFORM_WIN32_KHR )
43155  struct ImportSemaphoreWin32HandleInfoKHR
43156  {
43157  using NativeType = VkImportSemaphoreWin32HandleInfoKHR;
43158 
43159  static const bool allowDuplicate = false;
43160  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImportSemaphoreWin32HandleInfoKHR;
43161 
43162 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
43163  VULKAN_HPP_CONSTEXPR ImportSemaphoreWin32HandleInfoKHR(
43164  VULKAN_HPP_NAMESPACE::Semaphore semaphore_ = {},
43167  HANDLE handle_ = {},
43168  LPCWSTR name_ = {},
43169  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
43170  : pNext( pNext_ )
43171  , semaphore( semaphore_ )
43172  , flags( flags_ )
43173  , handleType( handleType_ )
43174  , handle( handle_ )
43175  , name( name_ )
43176  {
43177  }
43178 
43179  VULKAN_HPP_CONSTEXPR ImportSemaphoreWin32HandleInfoKHR( ImportSemaphoreWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
43180 
43181  ImportSemaphoreWin32HandleInfoKHR( VkImportSemaphoreWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
43182  : ImportSemaphoreWin32HandleInfoKHR( *reinterpret_cast<ImportSemaphoreWin32HandleInfoKHR const *>( &rhs ) )
43183  {
43184  }
43185 
43186  ImportSemaphoreWin32HandleInfoKHR & operator=( ImportSemaphoreWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
43187 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
43188 
43189  ImportSemaphoreWin32HandleInfoKHR & operator=( VkImportSemaphoreWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
43190  {
43191  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImportSemaphoreWin32HandleInfoKHR const *>( &rhs );
43192  return *this;
43193  }
43194 
43195 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
43196  VULKAN_HPP_CONSTEXPR_14 ImportSemaphoreWin32HandleInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
43197  {
43198  pNext = pNext_;
43199  return *this;
43200  }
43201 
43202  VULKAN_HPP_CONSTEXPR_14 ImportSemaphoreWin32HandleInfoKHR & setSemaphore( VULKAN_HPP_NAMESPACE::Semaphore semaphore_ ) VULKAN_HPP_NOEXCEPT
43203  {
43204  semaphore = semaphore_;
43205  return *this;
43206  }
43207 
43208  VULKAN_HPP_CONSTEXPR_14 ImportSemaphoreWin32HandleInfoKHR & setFlags( VULKAN_HPP_NAMESPACE::SemaphoreImportFlags flags_ ) VULKAN_HPP_NOEXCEPT
43209  {
43210  flags = flags_;
43211  return *this;
43212  }
43213 
43214  VULKAN_HPP_CONSTEXPR_14 ImportSemaphoreWin32HandleInfoKHR &
43216  {
43217  handleType = handleType_;
43218  return *this;
43219  }
43220 
43221  VULKAN_HPP_CONSTEXPR_14 ImportSemaphoreWin32HandleInfoKHR & setHandle( HANDLE handle_ ) VULKAN_HPP_NOEXCEPT
43222  {
43223  handle = handle_;
43224  return *this;
43225  }
43226 
43227  VULKAN_HPP_CONSTEXPR_14 ImportSemaphoreWin32HandleInfoKHR & setName( LPCWSTR name_ ) VULKAN_HPP_NOEXCEPT
43228  {
43229  name = name_;
43230  return *this;
43231  }
43232 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
43233 
43235  {
43236  return *reinterpret_cast<const VkImportSemaphoreWin32HandleInfoKHR *>( this );
43237  }
43238 
43240  {
43241  return *reinterpret_cast<VkImportSemaphoreWin32HandleInfoKHR *>( this );
43242  }
43243 
43244 # if defined( VULKAN_HPP_USE_REFLECT )
43245 # if 14 <= VULKAN_HPP_CPP_VERSION
43246  auto
43247 # else
43248  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
43249  const void * const &,
43253  HANDLE const &,
43254  LPCWSTR const &>
43255 # endif
43256  reflect() const VULKAN_HPP_NOEXCEPT
43257  {
43258  return std::tie( sType, pNext, semaphore, flags, handleType, handle, name );
43259  }
43260 # endif
43261 
43262 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
43263  auto operator<=>( ImportSemaphoreWin32HandleInfoKHR const & ) const = default;
43264 # else
43265  bool operator==( ImportSemaphoreWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
43266  {
43267 # if defined( VULKAN_HPP_USE_REFLECT )
43268  return this->reflect() == rhs.reflect();
43269 # else
43270  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( semaphore == rhs.semaphore ) && ( flags == rhs.flags ) && ( handleType == rhs.handleType ) &&
43271  ( handle == rhs.handle ) && ( name == rhs.name );
43272 # endif
43273  }
43274 
43275  bool operator!=( ImportSemaphoreWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
43276  {
43277  return !operator==( rhs );
43278  }
43279 # endif
43280 
43281  public:
43282  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImportSemaphoreWin32HandleInfoKHR;
43283  const void * pNext = {};
43284  VULKAN_HPP_NAMESPACE::Semaphore semaphore = {};
43287  HANDLE handle = {};
43288  LPCWSTR name = {};
43289  };
43290 
43291  template <>
43292  struct CppType<StructureType, StructureType::eImportSemaphoreWin32HandleInfoKHR>
43293  {
43294  using Type = ImportSemaphoreWin32HandleInfoKHR;
43295  };
43296 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
43297 
43298 #if defined( VK_USE_PLATFORM_FUCHSIA )
43299  struct ImportSemaphoreZirconHandleInfoFUCHSIA
43300  {
43301  using NativeType = VkImportSemaphoreZirconHandleInfoFUCHSIA;
43302 
43303  static const bool allowDuplicate = false;
43304  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImportSemaphoreZirconHandleInfoFUCHSIA;
43305 
43306 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
43307  VULKAN_HPP_CONSTEXPR ImportSemaphoreZirconHandleInfoFUCHSIA(
43308  VULKAN_HPP_NAMESPACE::Semaphore semaphore_ = {},
43311  zx_handle_t zirconHandle_ = {},
43312  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
43313  : pNext( pNext_ )
43314  , semaphore( semaphore_ )
43315  , flags( flags_ )
43316  , handleType( handleType_ )
43317  , zirconHandle( zirconHandle_ )
43318  {
43319  }
43320 
43321  VULKAN_HPP_CONSTEXPR ImportSemaphoreZirconHandleInfoFUCHSIA( ImportSemaphoreZirconHandleInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
43322 
43323  ImportSemaphoreZirconHandleInfoFUCHSIA( VkImportSemaphoreZirconHandleInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
43324  : ImportSemaphoreZirconHandleInfoFUCHSIA( *reinterpret_cast<ImportSemaphoreZirconHandleInfoFUCHSIA const *>( &rhs ) )
43325  {
43326  }
43327 
43328  ImportSemaphoreZirconHandleInfoFUCHSIA & operator=( ImportSemaphoreZirconHandleInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
43329 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
43330 
43331  ImportSemaphoreZirconHandleInfoFUCHSIA & operator=( VkImportSemaphoreZirconHandleInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
43332  {
43333  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImportSemaphoreZirconHandleInfoFUCHSIA const *>( &rhs );
43334  return *this;
43335  }
43336 
43337 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
43338  VULKAN_HPP_CONSTEXPR_14 ImportSemaphoreZirconHandleInfoFUCHSIA & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
43339  {
43340  pNext = pNext_;
43341  return *this;
43342  }
43343 
43344  VULKAN_HPP_CONSTEXPR_14 ImportSemaphoreZirconHandleInfoFUCHSIA & setSemaphore( VULKAN_HPP_NAMESPACE::Semaphore semaphore_ ) VULKAN_HPP_NOEXCEPT
43345  {
43346  semaphore = semaphore_;
43347  return *this;
43348  }
43349 
43350  VULKAN_HPP_CONSTEXPR_14 ImportSemaphoreZirconHandleInfoFUCHSIA & setFlags( VULKAN_HPP_NAMESPACE::SemaphoreImportFlags flags_ ) VULKAN_HPP_NOEXCEPT
43351  {
43352  flags = flags_;
43353  return *this;
43354  }
43355 
43356  VULKAN_HPP_CONSTEXPR_14 ImportSemaphoreZirconHandleInfoFUCHSIA &
43358  {
43359  handleType = handleType_;
43360  return *this;
43361  }
43362 
43363  VULKAN_HPP_CONSTEXPR_14 ImportSemaphoreZirconHandleInfoFUCHSIA & setZirconHandle( zx_handle_t zirconHandle_ ) VULKAN_HPP_NOEXCEPT
43364  {
43365  zirconHandle = zirconHandle_;
43366  return *this;
43367  }
43368 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
43369 
43371  {
43372  return *reinterpret_cast<const VkImportSemaphoreZirconHandleInfoFUCHSIA *>( this );
43373  }
43374 
43376  {
43377  return *reinterpret_cast<VkImportSemaphoreZirconHandleInfoFUCHSIA *>( this );
43378  }
43379 
43380 # if defined( VULKAN_HPP_USE_REFLECT )
43381 # if 14 <= VULKAN_HPP_CPP_VERSION
43382  auto
43383 # else
43384  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
43385  const void * const &,
43389  zx_handle_t const &>
43390 # endif
43391  reflect() const VULKAN_HPP_NOEXCEPT
43392  {
43393  return std::tie( sType, pNext, semaphore, flags, handleType, zirconHandle );
43394  }
43395 # endif
43396 
43397 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
43398  std::strong_ordering operator<=>( ImportSemaphoreZirconHandleInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
43399  {
43400  if ( auto cmp = sType <=> rhs.sType; cmp != 0 )
43401  return cmp;
43402  if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 )
43403  return cmp;
43404  if ( auto cmp = semaphore <=> rhs.semaphore; cmp != 0 )
43405  return cmp;
43406  if ( auto cmp = flags <=> rhs.flags; cmp != 0 )
43407  return cmp;
43408  if ( auto cmp = handleType <=> rhs.handleType; cmp != 0 )
43409  return cmp;
43410  if ( auto cmp = memcmp( &zirconHandle, &rhs.zirconHandle, sizeof( zx_handle_t ) ); cmp != 0 )
43411  return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater;
43412 
43413  return std::strong_ordering::equivalent;
43414  }
43415 # endif
43416 
43417  bool operator==( ImportSemaphoreZirconHandleInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
43418  {
43419  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( semaphore == rhs.semaphore ) && ( flags == rhs.flags ) && ( handleType == rhs.handleType ) &&
43420  ( memcmp( &zirconHandle, &rhs.zirconHandle, sizeof( zx_handle_t ) ) == 0 );
43421  }
43422 
43423  bool operator!=( ImportSemaphoreZirconHandleInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
43424  {
43425  return !operator==( rhs );
43426  }
43427 
43428  public:
43429  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImportSemaphoreZirconHandleInfoFUCHSIA;
43430  const void * pNext = {};
43431  VULKAN_HPP_NAMESPACE::Semaphore semaphore = {};
43434  zx_handle_t zirconHandle = {};
43435  };
43436 
43437  template <>
43438  struct CppType<StructureType, StructureType::eImportSemaphoreZirconHandleInfoFUCHSIA>
43439  {
43440  using Type = ImportSemaphoreZirconHandleInfoFUCHSIA;
43441  };
43442 #endif /*VK_USE_PLATFORM_FUCHSIA*/
43443 
43445  {
43447 
43448  static const bool allowDuplicate = false;
43449  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eIndirectCommandsLayoutTokenNV;
43450 
43451 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
43454  uint32_t stream_ = {},
43455  uint32_t offset_ = {},
43456  uint32_t vertexBindingUnit_ = {},
43457  VULKAN_HPP_NAMESPACE::Bool32 vertexDynamicStride_ = {},
43458  VULKAN_HPP_NAMESPACE::PipelineLayout pushconstantPipelineLayout_ = {},
43459  VULKAN_HPP_NAMESPACE::ShaderStageFlags pushconstantShaderStageFlags_ = {},
43460  uint32_t pushconstantOffset_ = {},
43461  uint32_t pushconstantSize_ = {},
43462  VULKAN_HPP_NAMESPACE::IndirectStateFlagsNV indirectStateFlags_ = {},
43463  uint32_t indexTypeCount_ = {},
43464  const VULKAN_HPP_NAMESPACE::IndexType * pIndexTypes_ = {},
43465  const uint32_t * pIndexTypeValues_ = {},
43466  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
43467  : pNext( pNext_ )
43468  , tokenType( tokenType_ )
43469  , stream( stream_ )
43470  , offset( offset_ )
43471  , vertexBindingUnit( vertexBindingUnit_ )
43472  , vertexDynamicStride( vertexDynamicStride_ )
43473  , pushconstantPipelineLayout( pushconstantPipelineLayout_ )
43474  , pushconstantShaderStageFlags( pushconstantShaderStageFlags_ )
43475  , pushconstantOffset( pushconstantOffset_ )
43476  , pushconstantSize( pushconstantSize_ )
43477  , indirectStateFlags( indirectStateFlags_ )
43478  , indexTypeCount( indexTypeCount_ )
43479  , pIndexTypes( pIndexTypes_ )
43480  , pIndexTypeValues( pIndexTypeValues_ )
43481  {
43482  }
43483 
43484  VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutTokenNV( IndirectCommandsLayoutTokenNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
43485 
43487  : IndirectCommandsLayoutTokenNV( *reinterpret_cast<IndirectCommandsLayoutTokenNV const *>( &rhs ) )
43488  {
43489  }
43490 
43491 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
43493  uint32_t stream_,
43494  uint32_t offset_,
43495  uint32_t vertexBindingUnit_,
43496  VULKAN_HPP_NAMESPACE::Bool32 vertexDynamicStride_,
43497  VULKAN_HPP_NAMESPACE::PipelineLayout pushconstantPipelineLayout_,
43498  VULKAN_HPP_NAMESPACE::ShaderStageFlags pushconstantShaderStageFlags_,
43499  uint32_t pushconstantOffset_,
43500  uint32_t pushconstantSize_,
43501  VULKAN_HPP_NAMESPACE::IndirectStateFlagsNV indirectStateFlags_,
43504  const void * pNext_ = nullptr )
43505  : pNext( pNext_ )
43506  , tokenType( tokenType_ )
43507  , stream( stream_ )
43508  , offset( offset_ )
43509  , vertexBindingUnit( vertexBindingUnit_ )
43510  , vertexDynamicStride( vertexDynamicStride_ )
43511  , pushconstantPipelineLayout( pushconstantPipelineLayout_ )
43512  , pushconstantShaderStageFlags( pushconstantShaderStageFlags_ )
43513  , pushconstantOffset( pushconstantOffset_ )
43514  , pushconstantSize( pushconstantSize_ )
43515  , indirectStateFlags( indirectStateFlags_ )
43516  , indexTypeCount( static_cast<uint32_t>( indexTypes_.size() ) )
43517  , pIndexTypes( indexTypes_.data() )
43518  , pIndexTypeValues( indexTypeValues_.data() )
43519  {
43520 # ifdef VULKAN_HPP_NO_EXCEPTIONS
43521  VULKAN_HPP_ASSERT( indexTypes_.size() == indexTypeValues_.size() );
43522 # else
43523  if ( indexTypes_.size() != indexTypeValues_.size() )
43524  {
43526  "::IndirectCommandsLayoutTokenNV::IndirectCommandsLayoutTokenNV: indexTypes_.size() != indexTypeValues_.size()" );
43527  }
43528 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/
43529  }
43530 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
43531 
43532  IndirectCommandsLayoutTokenNV & operator=( IndirectCommandsLayoutTokenNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
43533 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
43534 
43536  {
43537  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutTokenNV const *>( &rhs );
43538  return *this;
43539  }
43540 
43541 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
43543  {
43544  pNext = pNext_;
43545  return *this;
43546  }
43547 
43549  {
43550  tokenType = tokenType_;
43551  return *this;
43552  }
43553 
43555  {
43556  stream = stream_;
43557  return *this;
43558  }
43559 
43561  {
43562  offset = offset_;
43563  return *this;
43564  }
43565 
43567  {
43568  vertexBindingUnit = vertexBindingUnit_;
43569  return *this;
43570  }
43571 
43573  {
43574  vertexDynamicStride = vertexDynamicStride_;
43575  return *this;
43576  }
43577 
43580  {
43581  pushconstantPipelineLayout = pushconstantPipelineLayout_;
43582  return *this;
43583  }
43584 
43587  {
43588  pushconstantShaderStageFlags = pushconstantShaderStageFlags_;
43589  return *this;
43590  }
43591 
43593  {
43594  pushconstantOffset = pushconstantOffset_;
43595  return *this;
43596  }
43597 
43599  {
43600  pushconstantSize = pushconstantSize_;
43601  return *this;
43602  }
43603 
43606  {
43607  indirectStateFlags = indirectStateFlags_;
43608  return *this;
43609  }
43610 
43612  {
43613  indexTypeCount = indexTypeCount_;
43614  return *this;
43615  }
43616 
43618  {
43619  pIndexTypes = pIndexTypes_;
43620  return *this;
43621  }
43622 
43623 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
43626  {
43627  indexTypeCount = static_cast<uint32_t>( indexTypes_.size() );
43628  pIndexTypes = indexTypes_.data();
43629  return *this;
43630  }
43631 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
43632 
43634  {
43635  pIndexTypeValues = pIndexTypeValues_;
43636  return *this;
43637  }
43638 
43639 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
43642  {
43643  indexTypeCount = static_cast<uint32_t>( indexTypeValues_.size() );
43644  pIndexTypeValues = indexTypeValues_.data();
43645  return *this;
43646  }
43647 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
43648 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
43649 
43651  {
43652  return *reinterpret_cast<const VkIndirectCommandsLayoutTokenNV *>( this );
43653  }
43654 
43656  {
43657  return *reinterpret_cast<VkIndirectCommandsLayoutTokenNV *>( this );
43658  }
43659 
43660 #if defined( VULKAN_HPP_USE_REFLECT )
43661 # if 14 <= VULKAN_HPP_CPP_VERSION
43662  auto
43663 # else
43664  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
43665  const void * const &,
43667  uint32_t const &,
43668  uint32_t const &,
43669  uint32_t const &,
43673  uint32_t const &,
43674  uint32_t const &,
43676  uint32_t const &,
43677  const VULKAN_HPP_NAMESPACE::IndexType * const &,
43678  const uint32_t * const &>
43679 # endif
43680  reflect() const VULKAN_HPP_NOEXCEPT
43681  {
43682  return std::tie( sType,
43683  pNext,
43684  tokenType,
43685  stream,
43686  offset,
43687  vertexBindingUnit,
43688  vertexDynamicStride,
43689  pushconstantPipelineLayout,
43690  pushconstantShaderStageFlags,
43691  pushconstantOffset,
43692  pushconstantSize,
43693  indirectStateFlags,
43694  indexTypeCount,
43695  pIndexTypes,
43696  pIndexTypeValues );
43697  }
43698 #endif
43699 
43700 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
43701  auto operator<=>( IndirectCommandsLayoutTokenNV const & ) const = default;
43702 #else
43704  {
43705 # if defined( VULKAN_HPP_USE_REFLECT )
43706  return this->reflect() == rhs.reflect();
43707 # else
43708  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( tokenType == rhs.tokenType ) && ( stream == rhs.stream ) && ( offset == rhs.offset ) &&
43709  ( vertexBindingUnit == rhs.vertexBindingUnit ) && ( vertexDynamicStride == rhs.vertexDynamicStride ) &&
43710  ( pushconstantPipelineLayout == rhs.pushconstantPipelineLayout ) && ( pushconstantShaderStageFlags == rhs.pushconstantShaderStageFlags ) &&
43711  ( pushconstantOffset == rhs.pushconstantOffset ) && ( pushconstantSize == rhs.pushconstantSize ) &&
43712  ( indirectStateFlags == rhs.indirectStateFlags ) && ( indexTypeCount == rhs.indexTypeCount ) && ( pIndexTypes == rhs.pIndexTypes ) &&
43713  ( pIndexTypeValues == rhs.pIndexTypeValues );
43714 # endif
43715  }
43716 
43718  {
43719  return !operator==( rhs );
43720  }
43721 #endif
43722 
43723  public:
43724  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eIndirectCommandsLayoutTokenNV;
43725  const void * pNext = {};
43727  uint32_t stream = {};
43728  uint32_t offset = {};
43729  uint32_t vertexBindingUnit = {};
43730  VULKAN_HPP_NAMESPACE::Bool32 vertexDynamicStride = {};
43731  VULKAN_HPP_NAMESPACE::PipelineLayout pushconstantPipelineLayout = {};
43732  VULKAN_HPP_NAMESPACE::ShaderStageFlags pushconstantShaderStageFlags = {};
43733  uint32_t pushconstantOffset = {};
43734  uint32_t pushconstantSize = {};
43736  uint32_t indexTypeCount = {};
43737  const VULKAN_HPP_NAMESPACE::IndexType * pIndexTypes = {};
43738  const uint32_t * pIndexTypeValues = {};
43739  };
43740 
43741  template <>
43743  {
43745  };
43746 
43748  {
43750 
43751  static const bool allowDuplicate = false;
43752  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eIndirectCommandsLayoutCreateInfoNV;
43753 
43754 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
43758  uint32_t tokenCount_ = {},
43760  uint32_t streamCount_ = {},
43761  const uint32_t * pStreamStrides_ = {},
43762  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
43763  : pNext( pNext_ )
43764  , flags( flags_ )
43765  , pipelineBindPoint( pipelineBindPoint_ )
43766  , tokenCount( tokenCount_ )
43767  , pTokens( pTokens_ )
43768  , streamCount( streamCount_ )
43769  , pStreamStrides( pStreamStrides_ )
43770  {
43771  }
43772 
43773  VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutCreateInfoNV( IndirectCommandsLayoutCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
43774 
43776  : IndirectCommandsLayoutCreateInfoNV( *reinterpret_cast<IndirectCommandsLayoutCreateInfoNV const *>( &rhs ) )
43777  {
43778  }
43779 
43780 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
43783  VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_,
43786  const void * pNext_ = nullptr )
43787  : pNext( pNext_ )
43788  , flags( flags_ )
43789  , pipelineBindPoint( pipelineBindPoint_ )
43790  , tokenCount( static_cast<uint32_t>( tokens_.size() ) )
43791  , pTokens( tokens_.data() )
43792  , streamCount( static_cast<uint32_t>( streamStrides_.size() ) )
43793  , pStreamStrides( streamStrides_.data() )
43794  {
43795  }
43796 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
43797 
43798  IndirectCommandsLayoutCreateInfoNV & operator=( IndirectCommandsLayoutCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
43799 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
43800 
43802  {
43803  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoNV const *>( &rhs );
43804  return *this;
43805  }
43806 
43807 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
43809  {
43810  pNext = pNext_;
43811  return *this;
43812  }
43813 
43815  {
43816  flags = flags_;
43817  return *this;
43818  }
43819 
43822  {
43823  pipelineBindPoint = pipelineBindPoint_;
43824  return *this;
43825  }
43826 
43828  {
43829  tokenCount = tokenCount_;
43830  return *this;
43831  }
43832 
43835  {
43836  pTokens = pTokens_;
43837  return *this;
43838  }
43839 
43840 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
43843  {
43844  tokenCount = static_cast<uint32_t>( tokens_.size() );
43845  pTokens = tokens_.data();
43846  return *this;
43847  }
43848 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
43849 
43851  {
43852  streamCount = streamCount_;
43853  return *this;
43854  }
43855 
43857  {
43858  pStreamStrides = pStreamStrides_;
43859  return *this;
43860  }
43861 
43862 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
43865  {
43866  streamCount = static_cast<uint32_t>( streamStrides_.size() );
43867  pStreamStrides = streamStrides_.data();
43868  return *this;
43869  }
43870 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
43871 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
43872 
43874  {
43875  return *reinterpret_cast<const VkIndirectCommandsLayoutCreateInfoNV *>( this );
43876  }
43877 
43879  {
43880  return *reinterpret_cast<VkIndirectCommandsLayoutCreateInfoNV *>( this );
43881  }
43882 
43883 #if defined( VULKAN_HPP_USE_REFLECT )
43884 # if 14 <= VULKAN_HPP_CPP_VERSION
43885  auto
43886 # else
43887  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
43888  const void * const &,
43891  uint32_t const &,
43893  uint32_t const &,
43894  const uint32_t * const &>
43895 # endif
43896  reflect() const VULKAN_HPP_NOEXCEPT
43897  {
43898  return std::tie( sType, pNext, flags, pipelineBindPoint, tokenCount, pTokens, streamCount, pStreamStrides );
43899  }
43900 #endif
43901 
43902 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
43903  auto operator<=>( IndirectCommandsLayoutCreateInfoNV const & ) const = default;
43904 #else
43906  {
43907 # if defined( VULKAN_HPP_USE_REFLECT )
43908  return this->reflect() == rhs.reflect();
43909 # else
43910  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( pipelineBindPoint == rhs.pipelineBindPoint ) &&
43911  ( tokenCount == rhs.tokenCount ) && ( pTokens == rhs.pTokens ) && ( streamCount == rhs.streamCount ) && ( pStreamStrides == rhs.pStreamStrides );
43912 # endif
43913  }
43914 
43916  {
43917  return !operator==( rhs );
43918  }
43919 #endif
43920 
43921  public:
43922  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eIndirectCommandsLayoutCreateInfoNV;
43923  const void * pNext = {};
43926  uint32_t tokenCount = {};
43928  uint32_t streamCount = {};
43929  const uint32_t * pStreamStrides = {};
43930  };
43931 
43932  template <>
43934  {
43936  };
43937 
43939  {
43941 
43942  static const bool allowDuplicate = false;
43943  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eInitializePerformanceApiInfoINTEL;
43944 
43945 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
43946  VULKAN_HPP_CONSTEXPR InitializePerformanceApiInfoINTEL( void * pUserData_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
43947  : pNext( pNext_ )
43948  , pUserData( pUserData_ )
43949  {
43950  }
43951 
43952  VULKAN_HPP_CONSTEXPR InitializePerformanceApiInfoINTEL( InitializePerformanceApiInfoINTEL const & rhs ) VULKAN_HPP_NOEXCEPT = default;
43953 
43955  : InitializePerformanceApiInfoINTEL( *reinterpret_cast<InitializePerformanceApiInfoINTEL const *>( &rhs ) )
43956  {
43957  }
43958 
43960 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
43961 
43963  {
43964  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::InitializePerformanceApiInfoINTEL const *>( &rhs );
43965  return *this;
43966  }
43967 
43968 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
43970  {
43971  pNext = pNext_;
43972  return *this;
43973  }
43974 
43976  {
43977  pUserData = pUserData_;
43978  return *this;
43979  }
43980 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
43981 
43983  {
43984  return *reinterpret_cast<const VkInitializePerformanceApiInfoINTEL *>( this );
43985  }
43986 
43988  {
43989  return *reinterpret_cast<VkInitializePerformanceApiInfoINTEL *>( this );
43990  }
43991 
43992 #if defined( VULKAN_HPP_USE_REFLECT )
43993 # if 14 <= VULKAN_HPP_CPP_VERSION
43994  auto
43995 # else
43996  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, void * const &>
43997 # endif
43998  reflect() const VULKAN_HPP_NOEXCEPT
43999  {
44000  return std::tie( sType, pNext, pUserData );
44001  }
44002 #endif
44003 
44004 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
44005  auto operator<=>( InitializePerformanceApiInfoINTEL const & ) const = default;
44006 #else
44008  {
44009 # if defined( VULKAN_HPP_USE_REFLECT )
44010  return this->reflect() == rhs.reflect();
44011 # else
44012  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pUserData == rhs.pUserData );
44013 # endif
44014  }
44015 
44017  {
44018  return !operator==( rhs );
44019  }
44020 #endif
44021 
44022  public:
44023  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eInitializePerformanceApiInfoINTEL;
44024  const void * pNext = {};
44025  void * pUserData = {};
44026  };
44027 
44028  template <>
44030  {
44032  };
44033 
44035  {
44037 
44038 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
44040  uint32_t inputAttachmentIndex_ = {},
44042  : subpass( subpass_ )
44043  , inputAttachmentIndex( inputAttachmentIndex_ )
44044  , aspectMask( aspectMask_ )
44045  {
44046  }
44047 
44048  VULKAN_HPP_CONSTEXPR InputAttachmentAspectReference( InputAttachmentAspectReference const & rhs ) VULKAN_HPP_NOEXCEPT = default;
44049 
44051  : InputAttachmentAspectReference( *reinterpret_cast<InputAttachmentAspectReference const *>( &rhs ) )
44052  {
44053  }
44054 
44056 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
44057 
44059  {
44060  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::InputAttachmentAspectReference const *>( &rhs );
44061  return *this;
44062  }
44063 
44064 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
44066  {
44067  subpass = subpass_;
44068  return *this;
44069  }
44070 
44072  {
44073  inputAttachmentIndex = inputAttachmentIndex_;
44074  return *this;
44075  }
44076 
44078  {
44079  aspectMask = aspectMask_;
44080  return *this;
44081  }
44082 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
44083 
44085  {
44086  return *reinterpret_cast<const VkInputAttachmentAspectReference *>( this );
44087  }
44088 
44090  {
44091  return *reinterpret_cast<VkInputAttachmentAspectReference *>( this );
44092  }
44093 
44094 #if defined( VULKAN_HPP_USE_REFLECT )
44095 # if 14 <= VULKAN_HPP_CPP_VERSION
44096  auto
44097 # else
44098  std::tuple<uint32_t const &, uint32_t const &, VULKAN_HPP_NAMESPACE::ImageAspectFlags const &>
44099 # endif
44100  reflect() const VULKAN_HPP_NOEXCEPT
44101  {
44102  return std::tie( subpass, inputAttachmentIndex, aspectMask );
44103  }
44104 #endif
44105 
44106 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
44107  auto operator<=>( InputAttachmentAspectReference const & ) const = default;
44108 #else
44110  {
44111 # if defined( VULKAN_HPP_USE_REFLECT )
44112  return this->reflect() == rhs.reflect();
44113 # else
44114  return ( subpass == rhs.subpass ) && ( inputAttachmentIndex == rhs.inputAttachmentIndex ) && ( aspectMask == rhs.aspectMask );
44115 # endif
44116  }
44117 
44119  {
44120  return !operator==( rhs );
44121  }
44122 #endif
44123 
44124  public:
44125  uint32_t subpass = {};
44126  uint32_t inputAttachmentIndex = {};
44128  };
44129  using InputAttachmentAspectReferenceKHR = InputAttachmentAspectReference;
44130 
44132  {
44134 
44135  static const bool allowDuplicate = false;
44136  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eInstanceCreateInfo;
44137 
44138 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
44140  const VULKAN_HPP_NAMESPACE::ApplicationInfo * pApplicationInfo_ = {},
44141  uint32_t enabledLayerCount_ = {},
44142  const char * const * ppEnabledLayerNames_ = {},
44143  uint32_t enabledExtensionCount_ = {},
44144  const char * const * ppEnabledExtensionNames_ = {},
44145  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
44146  : pNext( pNext_ )
44147  , flags( flags_ )
44148  , pApplicationInfo( pApplicationInfo_ )
44149  , enabledLayerCount( enabledLayerCount_ )
44150  , ppEnabledLayerNames( ppEnabledLayerNames_ )
44151  , enabledExtensionCount( enabledExtensionCount_ )
44152  , ppEnabledExtensionNames( ppEnabledExtensionNames_ )
44153  {
44154  }
44155 
44156  VULKAN_HPP_CONSTEXPR InstanceCreateInfo( InstanceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
44157 
44158  InstanceCreateInfo( VkInstanceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : InstanceCreateInfo( *reinterpret_cast<InstanceCreateInfo const *>( &rhs ) ) {}
44159 
44160 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
44162  const VULKAN_HPP_NAMESPACE::ApplicationInfo * pApplicationInfo_,
44164  VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const char * const> const & pEnabledExtensionNames_ = {},
44165  const void * pNext_ = nullptr )
44166  : pNext( pNext_ )
44167  , flags( flags_ )
44168  , pApplicationInfo( pApplicationInfo_ )
44169  , enabledLayerCount( static_cast<uint32_t>( pEnabledLayerNames_.size() ) )
44170  , ppEnabledLayerNames( pEnabledLayerNames_.data() )
44171  , enabledExtensionCount( static_cast<uint32_t>( pEnabledExtensionNames_.size() ) )
44172  , ppEnabledExtensionNames( pEnabledExtensionNames_.data() )
44173  {
44174  }
44175 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
44176 
44177  InstanceCreateInfo & operator=( InstanceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
44178 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
44179 
44181  {
44182  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::InstanceCreateInfo const *>( &rhs );
44183  return *this;
44184  }
44185 
44186 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
44188  {
44189  pNext = pNext_;
44190  return *this;
44191  }
44192 
44194  {
44195  flags = flags_;
44196  return *this;
44197  }
44198 
44200  {
44201  pApplicationInfo = pApplicationInfo_;
44202  return *this;
44203  }
44204 
44206  {
44207  enabledLayerCount = enabledLayerCount_;
44208  return *this;
44209  }
44210 
44212  {
44213  ppEnabledLayerNames = ppEnabledLayerNames_;
44214  return *this;
44215  }
44216 
44217 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
44220  {
44221  enabledLayerCount = static_cast<uint32_t>( pEnabledLayerNames_.size() );
44222  ppEnabledLayerNames = pEnabledLayerNames_.data();
44223  return *this;
44224  }
44225 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
44226 
44228  {
44229  enabledExtensionCount = enabledExtensionCount_;
44230  return *this;
44231  }
44232 
44234  {
44235  ppEnabledExtensionNames = ppEnabledExtensionNames_;
44236  return *this;
44237  }
44238 
44239 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
44242  {
44243  enabledExtensionCount = static_cast<uint32_t>( pEnabledExtensionNames_.size() );
44244  ppEnabledExtensionNames = pEnabledExtensionNames_.data();
44245  return *this;
44246  }
44247 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
44248 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
44249 
44251  {
44252  return *reinterpret_cast<const VkInstanceCreateInfo *>( this );
44253  }
44254 
44256  {
44257  return *reinterpret_cast<VkInstanceCreateInfo *>( this );
44258  }
44259 
44260 #if defined( VULKAN_HPP_USE_REFLECT )
44261 # if 14 <= VULKAN_HPP_CPP_VERSION
44262  auto
44263 # else
44264  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
44265  const void * const &,
44267  const VULKAN_HPP_NAMESPACE::ApplicationInfo * const &,
44268  uint32_t const &,
44269  const char * const * const &,
44270  uint32_t const &,
44271  const char * const * const &>
44272 # endif
44273  reflect() const VULKAN_HPP_NOEXCEPT
44274  {
44275  return std::tie( sType, pNext, flags, pApplicationInfo, enabledLayerCount, ppEnabledLayerNames, enabledExtensionCount, ppEnabledExtensionNames );
44276  }
44277 #endif
44278 
44279 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
44280  std::strong_ordering operator<=>( InstanceCreateInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
44281  {
44282  if ( auto cmp = sType <=> rhs.sType; cmp != 0 )
44283  return cmp;
44284  if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 )
44285  return cmp;
44286  if ( auto cmp = flags <=> rhs.flags; cmp != 0 )
44287  return cmp;
44288  if ( auto cmp = pApplicationInfo <=> rhs.pApplicationInfo; cmp != 0 )
44289  return cmp;
44290  if ( auto cmp = enabledLayerCount <=> rhs.enabledLayerCount; cmp != 0 )
44291  return cmp;
44292  for ( size_t i = 0; i < enabledLayerCount; ++i )
44293  {
44294  if ( ppEnabledLayerNames[i] != rhs.ppEnabledLayerNames[i] )
44295  if ( auto cmp = strcmp( ppEnabledLayerNames[i], rhs.ppEnabledLayerNames[i] ); cmp != 0 )
44296  return cmp < 0 ? std::strong_ordering::less : std::strong_ordering::greater;
44297  }
44298  if ( auto cmp = enabledExtensionCount <=> rhs.enabledExtensionCount; cmp != 0 )
44299  return cmp;
44300  for ( size_t i = 0; i < enabledExtensionCount; ++i )
44301  {
44302  if ( ppEnabledExtensionNames[i] != rhs.ppEnabledExtensionNames[i] )
44303  if ( auto cmp = strcmp( ppEnabledExtensionNames[i], rhs.ppEnabledExtensionNames[i] ); cmp != 0 )
44304  return cmp < 0 ? std::strong_ordering::less : std::strong_ordering::greater;
44305  }
44306 
44307  return std::strong_ordering::equivalent;
44308  }
44309 #endif
44310 
44312  {
44313  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( pApplicationInfo == rhs.pApplicationInfo ) &&
44314  ( enabledLayerCount == rhs.enabledLayerCount ) &&
44315  std::equal( ppEnabledLayerNames,
44316  ppEnabledLayerNames + enabledLayerCount,
44317  rhs.ppEnabledLayerNames,
44318  []( char const * left, char const * right ) { return ( left == right ) || ( strcmp( left, right ) == 0 ); } ) &&
44319  ( enabledExtensionCount == rhs.enabledExtensionCount ) &&
44320  std::equal( ppEnabledExtensionNames,
44321  ppEnabledExtensionNames + enabledExtensionCount,
44322  rhs.ppEnabledExtensionNames,
44323  []( char const * left, char const * right ) { return ( left == right ) || ( strcmp( left, right ) == 0 ); } );
44324  }
44325 
44327  {
44328  return !operator==( rhs );
44329  }
44330 
44331  public:
44332  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eInstanceCreateInfo;
44333  const void * pNext = {};
44335  const VULKAN_HPP_NAMESPACE::ApplicationInfo * pApplicationInfo = {};
44336  uint32_t enabledLayerCount = {};
44337  const char * const * ppEnabledLayerNames = {};
44338  uint32_t enabledExtensionCount = {};
44339  const char * const * ppEnabledExtensionNames = {};
44340  };
44341 
44342  template <>
44344  {
44346  };
44347 
44349  {
44351 
44352 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
44353  VULKAN_HPP_CONSTEXPR_14 LayerProperties( std::array<char, VK_MAX_EXTENSION_NAME_SIZE> const & layerName_ = {},
44354  uint32_t specVersion_ = {},
44355  uint32_t implementationVersion_ = {},
44356  std::array<char, VK_MAX_DESCRIPTION_SIZE> const & description_ = {} ) VULKAN_HPP_NOEXCEPT
44357  : layerName( layerName_ )
44358  , specVersion( specVersion_ )
44359  , implementationVersion( implementationVersion_ )
44360  , description( description_ )
44361  {
44362  }
44363 
44364  VULKAN_HPP_CONSTEXPR_14 LayerProperties( LayerProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
44365 
44366  LayerProperties( VkLayerProperties const & rhs ) VULKAN_HPP_NOEXCEPT : LayerProperties( *reinterpret_cast<LayerProperties const *>( &rhs ) ) {}
44367 
44368  LayerProperties & operator=( LayerProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
44369 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
44370 
44372  {
44373  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::LayerProperties const *>( &rhs );
44374  return *this;
44375  }
44376 
44377  operator VkLayerProperties const &() const VULKAN_HPP_NOEXCEPT
44378  {
44379  return *reinterpret_cast<const VkLayerProperties *>( this );
44380  }
44381 
44383  {
44384  return *reinterpret_cast<VkLayerProperties *>( this );
44385  }
44386 
44387 #if defined( VULKAN_HPP_USE_REFLECT )
44388 # if 14 <= VULKAN_HPP_CPP_VERSION
44389  auto
44390 # else
44391  std::tuple<VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_EXTENSION_NAME_SIZE> const &,
44392  uint32_t const &,
44393  uint32_t const &,
44395 # endif
44396  reflect() const VULKAN_HPP_NOEXCEPT
44397  {
44398  return std::tie( layerName, specVersion, implementationVersion, description );
44399  }
44400 #endif
44401 
44402 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
44403  auto operator<=>( LayerProperties const & ) const = default;
44404 #else
44406  {
44407 # if defined( VULKAN_HPP_USE_REFLECT )
44408  return this->reflect() == rhs.reflect();
44409 # else
44410  return ( layerName == rhs.layerName ) && ( specVersion == rhs.specVersion ) && ( implementationVersion == rhs.implementationVersion ) &&
44411  ( description == rhs.description );
44412 # endif
44413  }
44414 
44416  {
44417  return !operator==( rhs );
44418  }
44419 #endif
44420 
44421  public:
44423  uint32_t specVersion = {};
44424  uint32_t implementationVersion = {};
44426  };
44427 
44428 #if defined( VK_USE_PLATFORM_MACOS_MVK )
44429  struct MacOSSurfaceCreateInfoMVK
44430  {
44431  using NativeType = VkMacOSSurfaceCreateInfoMVK;
44432 
44433  static const bool allowDuplicate = false;
44434  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMacosSurfaceCreateInfoMVK;
44435 
44436 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
44437  VULKAN_HPP_CONSTEXPR MacOSSurfaceCreateInfoMVK( VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateFlagsMVK flags_ = {},
44438  const void * pView_ = {},
44439  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
44440  : pNext( pNext_ )
44441  , flags( flags_ )
44442  , pView( pView_ )
44443  {
44444  }
44445 
44446  VULKAN_HPP_CONSTEXPR MacOSSurfaceCreateInfoMVK( MacOSSurfaceCreateInfoMVK const & rhs ) VULKAN_HPP_NOEXCEPT = default;
44447 
44448  MacOSSurfaceCreateInfoMVK( VkMacOSSurfaceCreateInfoMVK const & rhs ) VULKAN_HPP_NOEXCEPT
44449  : MacOSSurfaceCreateInfoMVK( *reinterpret_cast<MacOSSurfaceCreateInfoMVK const *>( &rhs ) )
44450  {
44451  }
44452 
44453  MacOSSurfaceCreateInfoMVK & operator=( MacOSSurfaceCreateInfoMVK const & rhs ) VULKAN_HPP_NOEXCEPT = default;
44454 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
44455 
44456  MacOSSurfaceCreateInfoMVK & operator=( VkMacOSSurfaceCreateInfoMVK const & rhs ) VULKAN_HPP_NOEXCEPT
44457  {
44458  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateInfoMVK const *>( &rhs );
44459  return *this;
44460  }
44461 
44462 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
44463  VULKAN_HPP_CONSTEXPR_14 MacOSSurfaceCreateInfoMVK & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
44464  {
44465  pNext = pNext_;
44466  return *this;
44467  }
44468 
44469  VULKAN_HPP_CONSTEXPR_14 MacOSSurfaceCreateInfoMVK & setFlags( VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateFlagsMVK flags_ ) VULKAN_HPP_NOEXCEPT
44470  {
44471  flags = flags_;
44472  return *this;
44473  }
44474 
44475  VULKAN_HPP_CONSTEXPR_14 MacOSSurfaceCreateInfoMVK & setPView( const void * pView_ ) VULKAN_HPP_NOEXCEPT
44476  {
44477  pView = pView_;
44478  return *this;
44479  }
44480 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
44481 
44482  operator VkMacOSSurfaceCreateInfoMVK const &() const VULKAN_HPP_NOEXCEPT
44483  {
44484  return *reinterpret_cast<const VkMacOSSurfaceCreateInfoMVK *>( this );
44485  }
44486 
44488  {
44489  return *reinterpret_cast<VkMacOSSurfaceCreateInfoMVK *>( this );
44490  }
44491 
44492 # if defined( VULKAN_HPP_USE_REFLECT )
44493 # if 14 <= VULKAN_HPP_CPP_VERSION
44494  auto
44495 # else
44496  std::
44497  tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateFlagsMVK const &, const void * const &>
44498 # endif
44499  reflect() const VULKAN_HPP_NOEXCEPT
44500  {
44501  return std::tie( sType, pNext, flags, pView );
44502  }
44503 # endif
44504 
44505 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
44506  auto operator<=>( MacOSSurfaceCreateInfoMVK const & ) const = default;
44507 # else
44508  bool operator==( MacOSSurfaceCreateInfoMVK const & rhs ) const VULKAN_HPP_NOEXCEPT
44509  {
44510 # if defined( VULKAN_HPP_USE_REFLECT )
44511  return this->reflect() == rhs.reflect();
44512 # else
44513  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( pView == rhs.pView );
44514 # endif
44515  }
44516 
44517  bool operator!=( MacOSSurfaceCreateInfoMVK const & rhs ) const VULKAN_HPP_NOEXCEPT
44518  {
44519  return !operator==( rhs );
44520  }
44521 # endif
44522 
44523  public:
44524  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMacosSurfaceCreateInfoMVK;
44525  const void * pNext = {};
44526  VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateFlagsMVK flags = {};
44527  const void * pView = {};
44528  };
44529 
44530  template <>
44531  struct CppType<StructureType, StructureType::eMacosSurfaceCreateInfoMVK>
44532  {
44533  using Type = MacOSSurfaceCreateInfoMVK;
44534  };
44535 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
44536 
44538  {
44540 
44541  static const bool allowDuplicate = false;
44542  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMappedMemoryRange;
44543 
44544 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
44546  VULKAN_HPP_NAMESPACE::DeviceSize offset_ = {},
44548  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
44549  : pNext( pNext_ )
44550  , memory( memory_ )
44551  , offset( offset_ )
44552  , size( size_ )
44553  {
44554  }
44555 
44556  VULKAN_HPP_CONSTEXPR MappedMemoryRange( MappedMemoryRange const & rhs ) VULKAN_HPP_NOEXCEPT = default;
44557 
44558  MappedMemoryRange( VkMappedMemoryRange const & rhs ) VULKAN_HPP_NOEXCEPT : MappedMemoryRange( *reinterpret_cast<MappedMemoryRange const *>( &rhs ) ) {}
44559 
44560  MappedMemoryRange & operator=( MappedMemoryRange const & rhs ) VULKAN_HPP_NOEXCEPT = default;
44561 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
44562 
44564  {
44565  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MappedMemoryRange const *>( &rhs );
44566  return *this;
44567  }
44568 
44569 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
44571  {
44572  pNext = pNext_;
44573  return *this;
44574  }
44575 
44577  {
44578  memory = memory_;
44579  return *this;
44580  }
44581 
44583  {
44584  offset = offset_;
44585  return *this;
44586  }
44587 
44589  {
44590  size = size_;
44591  return *this;
44592  }
44593 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
44594 
44595  operator VkMappedMemoryRange const &() const VULKAN_HPP_NOEXCEPT
44596  {
44597  return *reinterpret_cast<const VkMappedMemoryRange *>( this );
44598  }
44599 
44601  {
44602  return *reinterpret_cast<VkMappedMemoryRange *>( this );
44603  }
44604 
44605 #if defined( VULKAN_HPP_USE_REFLECT )
44606 # if 14 <= VULKAN_HPP_CPP_VERSION
44607  auto
44608 # else
44609  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
44610  const void * const &,
44614 # endif
44615  reflect() const VULKAN_HPP_NOEXCEPT
44616  {
44617  return std::tie( sType, pNext, memory, offset, size );
44618  }
44619 #endif
44620 
44621 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
44622  auto operator<=>( MappedMemoryRange const & ) const = default;
44623 #else
44625  {
44626 # if defined( VULKAN_HPP_USE_REFLECT )
44627  return this->reflect() == rhs.reflect();
44628 # else
44629  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memory == rhs.memory ) && ( offset == rhs.offset ) && ( size == rhs.size );
44630 # endif
44631  }
44632 
44634  {
44635  return !operator==( rhs );
44636  }
44637 #endif
44638 
44639  public:
44640  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMappedMemoryRange;
44641  const void * pNext = {};
44645  };
44646 
44647  template <>
44649  {
44651  };
44652 
44654  {
44656 
44657  static const bool allowDuplicate = false;
44658  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryAllocateFlagsInfo;
44659 
44660 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
44662  uint32_t deviceMask_ = {},
44663  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
44664  : pNext( pNext_ )
44665  , flags( flags_ )
44666  , deviceMask( deviceMask_ )
44667  {
44668  }
44669 
44670  VULKAN_HPP_CONSTEXPR MemoryAllocateFlagsInfo( MemoryAllocateFlagsInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
44671 
44673  : MemoryAllocateFlagsInfo( *reinterpret_cast<MemoryAllocateFlagsInfo const *>( &rhs ) )
44674  {
44675  }
44676 
44677  MemoryAllocateFlagsInfo & operator=( MemoryAllocateFlagsInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
44678 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
44679 
44681  {
44682  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryAllocateFlagsInfo const *>( &rhs );
44683  return *this;
44684  }
44685 
44686 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
44688  {
44689  pNext = pNext_;
44690  return *this;
44691  }
44692 
44694  {
44695  flags = flags_;
44696  return *this;
44697  }
44698 
44700  {
44701  deviceMask = deviceMask_;
44702  return *this;
44703  }
44704 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
44705 
44707  {
44708  return *reinterpret_cast<const VkMemoryAllocateFlagsInfo *>( this );
44709  }
44710 
44712  {
44713  return *reinterpret_cast<VkMemoryAllocateFlagsInfo *>( this );
44714  }
44715 
44716 #if defined( VULKAN_HPP_USE_REFLECT )
44717 # if 14 <= VULKAN_HPP_CPP_VERSION
44718  auto
44719 # else
44720  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::MemoryAllocateFlags const &, uint32_t const &>
44721 # endif
44722  reflect() const VULKAN_HPP_NOEXCEPT
44723  {
44724  return std::tie( sType, pNext, flags, deviceMask );
44725  }
44726 #endif
44727 
44728 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
44729  auto operator<=>( MemoryAllocateFlagsInfo const & ) const = default;
44730 #else
44732  {
44733 # if defined( VULKAN_HPP_USE_REFLECT )
44734  return this->reflect() == rhs.reflect();
44735 # else
44736  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( deviceMask == rhs.deviceMask );
44737 # endif
44738  }
44739 
44741  {
44742  return !operator==( rhs );
44743  }
44744 #endif
44745 
44746  public:
44747  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMemoryAllocateFlagsInfo;
44748  const void * pNext = {};
44750  uint32_t deviceMask = {};
44751  };
44752 
44753  template <>
44755  {
44757  };
44759 
44761  {
44763 
44764  static const bool allowDuplicate = false;
44765  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryAllocateInfo;
44766 
44767 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
44769  uint32_t memoryTypeIndex_ = {},
44770  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
44771  : pNext( pNext_ )
44772  , allocationSize( allocationSize_ )
44773  , memoryTypeIndex( memoryTypeIndex_ )
44774  {
44775  }
44776 
44777  VULKAN_HPP_CONSTEXPR MemoryAllocateInfo( MemoryAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
44778 
44779  MemoryAllocateInfo( VkMemoryAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : MemoryAllocateInfo( *reinterpret_cast<MemoryAllocateInfo const *>( &rhs ) ) {}
44780 
44781  MemoryAllocateInfo & operator=( MemoryAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
44782 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
44783 
44785  {
44786  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryAllocateInfo const *>( &rhs );
44787  return *this;
44788  }
44789 
44790 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
44792  {
44793  pNext = pNext_;
44794  return *this;
44795  }
44796 
44798  {
44799  allocationSize = allocationSize_;
44800  return *this;
44801  }
44802 
44804  {
44805  memoryTypeIndex = memoryTypeIndex_;
44806  return *this;
44807  }
44808 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
44809 
44811  {
44812  return *reinterpret_cast<const VkMemoryAllocateInfo *>( this );
44813  }
44814 
44816  {
44817  return *reinterpret_cast<VkMemoryAllocateInfo *>( this );
44818  }
44819 
44820 #if defined( VULKAN_HPP_USE_REFLECT )
44821 # if 14 <= VULKAN_HPP_CPP_VERSION
44822  auto
44823 # else
44824  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::DeviceSize const &, uint32_t const &>
44825 # endif
44826  reflect() const VULKAN_HPP_NOEXCEPT
44827  {
44828  return std::tie( sType, pNext, allocationSize, memoryTypeIndex );
44829  }
44830 #endif
44831 
44832 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
44833  auto operator<=>( MemoryAllocateInfo const & ) const = default;
44834 #else
44836  {
44837 # if defined( VULKAN_HPP_USE_REFLECT )
44838  return this->reflect() == rhs.reflect();
44839 # else
44840  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( allocationSize == rhs.allocationSize ) && ( memoryTypeIndex == rhs.memoryTypeIndex );
44841 # endif
44842  }
44843 
44845  {
44846  return !operator==( rhs );
44847  }
44848 #endif
44849 
44850  public:
44851  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMemoryAllocateInfo;
44852  const void * pNext = {};
44854  uint32_t memoryTypeIndex = {};
44855  };
44856 
44857  template <>
44859  {
44861  };
44862 
44864  {
44866 
44867  static const bool allowDuplicate = false;
44868  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryBarrier;
44869 
44870 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
44872  VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_ = {},
44873  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
44874  : pNext( pNext_ )
44875  , srcAccessMask( srcAccessMask_ )
44876  , dstAccessMask( dstAccessMask_ )
44877  {
44878  }
44879 
44880  VULKAN_HPP_CONSTEXPR MemoryBarrier( MemoryBarrier const & rhs ) VULKAN_HPP_NOEXCEPT = default;
44881 
44882  MemoryBarrier( VkMemoryBarrier const & rhs ) VULKAN_HPP_NOEXCEPT : MemoryBarrier( *reinterpret_cast<MemoryBarrier const *>( &rhs ) ) {}
44883 
44884  MemoryBarrier & operator=( MemoryBarrier const & rhs ) VULKAN_HPP_NOEXCEPT = default;
44885 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
44886 
44888  {
44889  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryBarrier const *>( &rhs );
44890  return *this;
44891  }
44892 
44893 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
44895  {
44896  pNext = pNext_;
44897  return *this;
44898  }
44899 
44901  {
44902  srcAccessMask = srcAccessMask_;
44903  return *this;
44904  }
44905 
44907  {
44908  dstAccessMask = dstAccessMask_;
44909  return *this;
44910  }
44911 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
44912 
44913  operator VkMemoryBarrier const &() const VULKAN_HPP_NOEXCEPT
44914  {
44915  return *reinterpret_cast<const VkMemoryBarrier *>( this );
44916  }
44917 
44919  {
44920  return *reinterpret_cast<VkMemoryBarrier *>( this );
44921  }
44922 
44923 #if defined( VULKAN_HPP_USE_REFLECT )
44924 # if 14 <= VULKAN_HPP_CPP_VERSION
44925  auto
44926 # else
44927  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
44928  const void * const &,
44931 # endif
44932  reflect() const VULKAN_HPP_NOEXCEPT
44933  {
44934  return std::tie( sType, pNext, srcAccessMask, dstAccessMask );
44935  }
44936 #endif
44937 
44938 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
44939  auto operator<=>( MemoryBarrier const & ) const = default;
44940 #else
44942  {
44943 # if defined( VULKAN_HPP_USE_REFLECT )
44944  return this->reflect() == rhs.reflect();
44945 # else
44946  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( srcAccessMask == rhs.srcAccessMask ) && ( dstAccessMask == rhs.dstAccessMask );
44947 # endif
44948  }
44949 
44951  {
44952  return !operator==( rhs );
44953  }
44954 #endif
44955 
44956  public:
44957  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMemoryBarrier;
44958  const void * pNext = {};
44961  };
44962 
44963  template <>
44965  {
44967  };
44968 
44970  {
44972 
44973  static const bool allowDuplicate = false;
44974  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryDedicatedAllocateInfo;
44975 
44976 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
44978  VULKAN_HPP_NAMESPACE::Buffer buffer_ = {},
44979  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
44980  : pNext( pNext_ )
44981  , image( image_ )
44982  , buffer( buffer_ )
44983  {
44984  }
44985 
44986  VULKAN_HPP_CONSTEXPR MemoryDedicatedAllocateInfo( MemoryDedicatedAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
44987 
44989  : MemoryDedicatedAllocateInfo( *reinterpret_cast<MemoryDedicatedAllocateInfo const *>( &rhs ) )
44990  {
44991  }
44992 
44994 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
44995 
44997  {
44998  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryDedicatedAllocateInfo const *>( &rhs );
44999  return *this;
45000  }
45001 
45002 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
45004  {
45005  pNext = pNext_;
45006  return *this;
45007  }
45008 
45010  {
45011  image = image_;
45012  return *this;
45013  }
45014 
45016  {
45017  buffer = buffer_;
45018  return *this;
45019  }
45020 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
45021 
45023  {
45024  return *reinterpret_cast<const VkMemoryDedicatedAllocateInfo *>( this );
45025  }
45026 
45028  {
45029  return *reinterpret_cast<VkMemoryDedicatedAllocateInfo *>( this );
45030  }
45031 
45032 #if defined( VULKAN_HPP_USE_REFLECT )
45033 # if 14 <= VULKAN_HPP_CPP_VERSION
45034  auto
45035 # else
45036  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::Image const &, VULKAN_HPP_NAMESPACE::Buffer const &>
45037 # endif
45038  reflect() const VULKAN_HPP_NOEXCEPT
45039  {
45040  return std::tie( sType, pNext, image, buffer );
45041  }
45042 #endif
45043 
45044 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
45045  auto operator<=>( MemoryDedicatedAllocateInfo const & ) const = default;
45046 #else
45048  {
45049 # if defined( VULKAN_HPP_USE_REFLECT )
45050  return this->reflect() == rhs.reflect();
45051 # else
45052  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( image == rhs.image ) && ( buffer == rhs.buffer );
45053 # endif
45054  }
45055 
45057  {
45058  return !operator==( rhs );
45059  }
45060 #endif
45061 
45062  public:
45063  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMemoryDedicatedAllocateInfo;
45064  const void * pNext = {};
45067  };
45068 
45069  template <>
45071  {
45073  };
45075 
45077  {
45079 
45080  static const bool allowDuplicate = false;
45081  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryDedicatedRequirements;
45082 
45083 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
45085  VULKAN_HPP_NAMESPACE::Bool32 requiresDedicatedAllocation_ = {},
45086  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
45087  : pNext( pNext_ )
45088  , prefersDedicatedAllocation( prefersDedicatedAllocation_ )
45089  , requiresDedicatedAllocation( requiresDedicatedAllocation_ )
45090  {
45091  }
45092 
45093  VULKAN_HPP_CONSTEXPR MemoryDedicatedRequirements( MemoryDedicatedRequirements const & rhs ) VULKAN_HPP_NOEXCEPT = default;
45094 
45096  : MemoryDedicatedRequirements( *reinterpret_cast<MemoryDedicatedRequirements const *>( &rhs ) )
45097  {
45098  }
45099 
45101 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
45102 
45104  {
45105  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryDedicatedRequirements const *>( &rhs );
45106  return *this;
45107  }
45108 
45110  {
45111  return *reinterpret_cast<const VkMemoryDedicatedRequirements *>( this );
45112  }
45113 
45115  {
45116  return *reinterpret_cast<VkMemoryDedicatedRequirements *>( this );
45117  }
45118 
45119 #if defined( VULKAN_HPP_USE_REFLECT )
45120 # if 14 <= VULKAN_HPP_CPP_VERSION
45121  auto
45122 # else
45123  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
45124 # endif
45125  reflect() const VULKAN_HPP_NOEXCEPT
45126  {
45127  return std::tie( sType, pNext, prefersDedicatedAllocation, requiresDedicatedAllocation );
45128  }
45129 #endif
45130 
45131 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
45132  auto operator<=>( MemoryDedicatedRequirements const & ) const = default;
45133 #else
45135  {
45136 # if defined( VULKAN_HPP_USE_REFLECT )
45137  return this->reflect() == rhs.reflect();
45138 # else
45139  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( prefersDedicatedAllocation == rhs.prefersDedicatedAllocation ) &&
45140  ( requiresDedicatedAllocation == rhs.requiresDedicatedAllocation );
45141 # endif
45142  }
45143 
45145  {
45146  return !operator==( rhs );
45147  }
45148 #endif
45149 
45150  public:
45151  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMemoryDedicatedRequirements;
45152  void * pNext = {};
45153  VULKAN_HPP_NAMESPACE::Bool32 prefersDedicatedAllocation = {};
45154  VULKAN_HPP_NAMESPACE::Bool32 requiresDedicatedAllocation = {};
45155  };
45156 
45157  template <>
45159  {
45161  };
45163 
45165  {
45167 
45168  static const bool allowDuplicate = false;
45169  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryFdPropertiesKHR;
45170 
45171 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
45172  VULKAN_HPP_CONSTEXPR MemoryFdPropertiesKHR( uint32_t memoryTypeBits_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
45173  : pNext( pNext_ )
45174  , memoryTypeBits( memoryTypeBits_ )
45175  {
45176  }
45177 
45178  VULKAN_HPP_CONSTEXPR MemoryFdPropertiesKHR( MemoryFdPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
45179 
45181  : MemoryFdPropertiesKHR( *reinterpret_cast<MemoryFdPropertiesKHR const *>( &rhs ) )
45182  {
45183  }
45184 
45185  MemoryFdPropertiesKHR & operator=( MemoryFdPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
45186 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
45187 
45189  {
45190  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryFdPropertiesKHR const *>( &rhs );
45191  return *this;
45192  }
45193 
45195  {
45196  return *reinterpret_cast<const VkMemoryFdPropertiesKHR *>( this );
45197  }
45198 
45200  {
45201  return *reinterpret_cast<VkMemoryFdPropertiesKHR *>( this );
45202  }
45203 
45204 #if defined( VULKAN_HPP_USE_REFLECT )
45205 # if 14 <= VULKAN_HPP_CPP_VERSION
45206  auto
45207 # else
45208  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, uint32_t const &>
45209 # endif
45210  reflect() const VULKAN_HPP_NOEXCEPT
45211  {
45212  return std::tie( sType, pNext, memoryTypeBits );
45213  }
45214 #endif
45215 
45216 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
45217  auto operator<=>( MemoryFdPropertiesKHR const & ) const = default;
45218 #else
45220  {
45221 # if defined( VULKAN_HPP_USE_REFLECT )
45222  return this->reflect() == rhs.reflect();
45223 # else
45224  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memoryTypeBits == rhs.memoryTypeBits );
45225 # endif
45226  }
45227 
45229  {
45230  return !operator==( rhs );
45231  }
45232 #endif
45233 
45234  public:
45235  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMemoryFdPropertiesKHR;
45236  void * pNext = {};
45237  uint32_t memoryTypeBits = {};
45238  };
45239 
45240  template <>
45242  {
45244  };
45245 
45246 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
45247  struct MemoryGetAndroidHardwareBufferInfoANDROID
45248  {
45250 
45251  static const bool allowDuplicate = false;
45252  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryGetAndroidHardwareBufferInfoANDROID;
45253 
45254 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
45255  VULKAN_HPP_CONSTEXPR MemoryGetAndroidHardwareBufferInfoANDROID( VULKAN_HPP_NAMESPACE::DeviceMemory memory_ = {},
45256  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
45257  : pNext( pNext_ )
45258  , memory( memory_ )
45259  {
45260  }
45261 
45262  VULKAN_HPP_CONSTEXPR MemoryGetAndroidHardwareBufferInfoANDROID( MemoryGetAndroidHardwareBufferInfoANDROID const & rhs ) VULKAN_HPP_NOEXCEPT = default;
45263 
45264  MemoryGetAndroidHardwareBufferInfoANDROID( VkMemoryGetAndroidHardwareBufferInfoANDROID const & rhs ) VULKAN_HPP_NOEXCEPT
45265  : MemoryGetAndroidHardwareBufferInfoANDROID( *reinterpret_cast<MemoryGetAndroidHardwareBufferInfoANDROID const *>( &rhs ) )
45266  {
45267  }
45268 
45269  MemoryGetAndroidHardwareBufferInfoANDROID & operator=( MemoryGetAndroidHardwareBufferInfoANDROID const & rhs ) VULKAN_HPP_NOEXCEPT = default;
45270 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
45271 
45272  MemoryGetAndroidHardwareBufferInfoANDROID & operator=( VkMemoryGetAndroidHardwareBufferInfoANDROID const & rhs ) VULKAN_HPP_NOEXCEPT
45273  {
45274  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryGetAndroidHardwareBufferInfoANDROID const *>( &rhs );
45275  return *this;
45276  }
45277 
45278 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
45279  VULKAN_HPP_CONSTEXPR_14 MemoryGetAndroidHardwareBufferInfoANDROID & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
45280  {
45281  pNext = pNext_;
45282  return *this;
45283  }
45284 
45285  VULKAN_HPP_CONSTEXPR_14 MemoryGetAndroidHardwareBufferInfoANDROID & setMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory_ ) VULKAN_HPP_NOEXCEPT
45286  {
45287  memory = memory_;
45288  return *this;
45289  }
45290 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
45291 
45293  {
45294  return *reinterpret_cast<const VkMemoryGetAndroidHardwareBufferInfoANDROID *>( this );
45295  }
45296 
45298  {
45299  return *reinterpret_cast<VkMemoryGetAndroidHardwareBufferInfoANDROID *>( this );
45300  }
45301 
45302 # if defined( VULKAN_HPP_USE_REFLECT )
45303 # if 14 <= VULKAN_HPP_CPP_VERSION
45304  auto
45305 # else
45306  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::DeviceMemory const &>
45307 # endif
45308  reflect() const VULKAN_HPP_NOEXCEPT
45309  {
45310  return std::tie( sType, pNext, memory );
45311  }
45312 # endif
45313 
45314 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
45315  auto operator<=>( MemoryGetAndroidHardwareBufferInfoANDROID const & ) const = default;
45316 # else
45317  bool operator==( MemoryGetAndroidHardwareBufferInfoANDROID const & rhs ) const VULKAN_HPP_NOEXCEPT
45318  {
45319 # if defined( VULKAN_HPP_USE_REFLECT )
45320  return this->reflect() == rhs.reflect();
45321 # else
45322  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memory == rhs.memory );
45323 # endif
45324  }
45325 
45326  bool operator!=( MemoryGetAndroidHardwareBufferInfoANDROID const & rhs ) const VULKAN_HPP_NOEXCEPT
45327  {
45328  return !operator==( rhs );
45329  }
45330 # endif
45331 
45332  public:
45333  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMemoryGetAndroidHardwareBufferInfoANDROID;
45334  const void * pNext = {};
45336  };
45337 
45338  template <>
45339  struct CppType<StructureType, StructureType::eMemoryGetAndroidHardwareBufferInfoANDROID>
45340  {
45341  using Type = MemoryGetAndroidHardwareBufferInfoANDROID;
45342  };
45343 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
45344 
45346  {
45348 
45349  static const bool allowDuplicate = false;
45350  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryGetFdInfoKHR;
45351 
45352 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
45356  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
45357  : pNext( pNext_ )
45358  , memory( memory_ )
45359  , handleType( handleType_ )
45360  {
45361  }
45362 
45363  VULKAN_HPP_CONSTEXPR MemoryGetFdInfoKHR( MemoryGetFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
45364 
45365  MemoryGetFdInfoKHR( VkMemoryGetFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : MemoryGetFdInfoKHR( *reinterpret_cast<MemoryGetFdInfoKHR const *>( &rhs ) ) {}
45366 
45367  MemoryGetFdInfoKHR & operator=( MemoryGetFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
45368 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
45369 
45371  {
45372  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryGetFdInfoKHR const *>( &rhs );
45373  return *this;
45374  }
45375 
45376 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
45378  {
45379  pNext = pNext_;
45380  return *this;
45381  }
45382 
45384  {
45385  memory = memory_;
45386  return *this;
45387  }
45388 
45390  {
45391  handleType = handleType_;
45392  return *this;
45393  }
45394 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
45395 
45397  {
45398  return *reinterpret_cast<const VkMemoryGetFdInfoKHR *>( this );
45399  }
45400 
45402  {
45403  return *reinterpret_cast<VkMemoryGetFdInfoKHR *>( this );
45404  }
45405 
45406 #if defined( VULKAN_HPP_USE_REFLECT )
45407 # if 14 <= VULKAN_HPP_CPP_VERSION
45408  auto
45409 # else
45410  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
45411  const void * const &,
45414 # endif
45415  reflect() const VULKAN_HPP_NOEXCEPT
45416  {
45417  return std::tie( sType, pNext, memory, handleType );
45418  }
45419 #endif
45420 
45421 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
45422  auto operator<=>( MemoryGetFdInfoKHR const & ) const = default;
45423 #else
45425  {
45426 # if defined( VULKAN_HPP_USE_REFLECT )
45427  return this->reflect() == rhs.reflect();
45428 # else
45429  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memory == rhs.memory ) && ( handleType == rhs.handleType );
45430 # endif
45431  }
45432 
45434  {
45435  return !operator==( rhs );
45436  }
45437 #endif
45438 
45439  public:
45440  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMemoryGetFdInfoKHR;
45441  const void * pNext = {};
45444  };
45445 
45446  template <>
45448  {
45450  };
45451 
45453  {
45455 
45456  static const bool allowDuplicate = false;
45457  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryGetRemoteAddressInfoNV;
45458 
45459 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
45463  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
45464  : pNext( pNext_ )
45465  , memory( memory_ )
45466  , handleType( handleType_ )
45467  {
45468  }
45469 
45470  VULKAN_HPP_CONSTEXPR MemoryGetRemoteAddressInfoNV( MemoryGetRemoteAddressInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
45471 
45473  : MemoryGetRemoteAddressInfoNV( *reinterpret_cast<MemoryGetRemoteAddressInfoNV const *>( &rhs ) )
45474  {
45475  }
45476 
45478 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
45479 
45481  {
45482  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryGetRemoteAddressInfoNV const *>( &rhs );
45483  return *this;
45484  }
45485 
45486 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
45488  {
45489  pNext = pNext_;
45490  return *this;
45491  }
45492 
45494  {
45495  memory = memory_;
45496  return *this;
45497  }
45498 
45501  {
45502  handleType = handleType_;
45503  return *this;
45504  }
45505 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
45506 
45508  {
45509  return *reinterpret_cast<const VkMemoryGetRemoteAddressInfoNV *>( this );
45510  }
45511 
45513  {
45514  return *reinterpret_cast<VkMemoryGetRemoteAddressInfoNV *>( this );
45515  }
45516 
45517 #if defined( VULKAN_HPP_USE_REFLECT )
45518 # if 14 <= VULKAN_HPP_CPP_VERSION
45519  auto
45520 # else
45521  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
45522  const void * const &,
45525 # endif
45526  reflect() const VULKAN_HPP_NOEXCEPT
45527  {
45528  return std::tie( sType, pNext, memory, handleType );
45529  }
45530 #endif
45531 
45532 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
45533  auto operator<=>( MemoryGetRemoteAddressInfoNV const & ) const = default;
45534 #else
45536  {
45537 # if defined( VULKAN_HPP_USE_REFLECT )
45538  return this->reflect() == rhs.reflect();
45539 # else
45540  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memory == rhs.memory ) && ( handleType == rhs.handleType );
45541 # endif
45542  }
45543 
45545  {
45546  return !operator==( rhs );
45547  }
45548 #endif
45549 
45550  public:
45551  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMemoryGetRemoteAddressInfoNV;
45552  const void * pNext = {};
45555  };
45556 
45557  template <>
45559  {
45561  };
45562 
45563 #if defined( VK_USE_PLATFORM_WIN32_KHR )
45564  struct MemoryGetWin32HandleInfoKHR
45565  {
45566  using NativeType = VkMemoryGetWin32HandleInfoKHR;
45567 
45568  static const bool allowDuplicate = false;
45569  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryGetWin32HandleInfoKHR;
45570 
45571 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
45572  VULKAN_HPP_CONSTEXPR MemoryGetWin32HandleInfoKHR(
45575  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
45576  : pNext( pNext_ )
45577  , memory( memory_ )
45578  , handleType( handleType_ )
45579  {
45580  }
45581 
45582  VULKAN_HPP_CONSTEXPR MemoryGetWin32HandleInfoKHR( MemoryGetWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
45583 
45584  MemoryGetWin32HandleInfoKHR( VkMemoryGetWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
45585  : MemoryGetWin32HandleInfoKHR( *reinterpret_cast<MemoryGetWin32HandleInfoKHR const *>( &rhs ) )
45586  {
45587  }
45588 
45589  MemoryGetWin32HandleInfoKHR & operator=( MemoryGetWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
45590 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
45591 
45592  MemoryGetWin32HandleInfoKHR & operator=( VkMemoryGetWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
45593  {
45594  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryGetWin32HandleInfoKHR const *>( &rhs );
45595  return *this;
45596  }
45597 
45598 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
45599  VULKAN_HPP_CONSTEXPR_14 MemoryGetWin32HandleInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
45600  {
45601  pNext = pNext_;
45602  return *this;
45603  }
45604 
45605  VULKAN_HPP_CONSTEXPR_14 MemoryGetWin32HandleInfoKHR & setMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory_ ) VULKAN_HPP_NOEXCEPT
45606  {
45607  memory = memory_;
45608  return *this;
45609  }
45610 
45611  VULKAN_HPP_CONSTEXPR_14 MemoryGetWin32HandleInfoKHR &
45613  {
45614  handleType = handleType_;
45615  return *this;
45616  }
45617 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
45618 
45619  operator VkMemoryGetWin32HandleInfoKHR const &() const VULKAN_HPP_NOEXCEPT
45620  {
45621  return *reinterpret_cast<const VkMemoryGetWin32HandleInfoKHR *>( this );
45622  }
45623 
45625  {
45626  return *reinterpret_cast<VkMemoryGetWin32HandleInfoKHR *>( this );
45627  }
45628 
45629 # if defined( VULKAN_HPP_USE_REFLECT )
45630 # if 14 <= VULKAN_HPP_CPP_VERSION
45631  auto
45632 # else
45633  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
45634  const void * const &,
45637 # endif
45638  reflect() const VULKAN_HPP_NOEXCEPT
45639  {
45640  return std::tie( sType, pNext, memory, handleType );
45641  }
45642 # endif
45643 
45644 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
45645  auto operator<=>( MemoryGetWin32HandleInfoKHR const & ) const = default;
45646 # else
45647  bool operator==( MemoryGetWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
45648  {
45649 # if defined( VULKAN_HPP_USE_REFLECT )
45650  return this->reflect() == rhs.reflect();
45651 # else
45652  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memory == rhs.memory ) && ( handleType == rhs.handleType );
45653 # endif
45654  }
45655 
45656  bool operator!=( MemoryGetWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
45657  {
45658  return !operator==( rhs );
45659  }
45660 # endif
45661 
45662  public:
45663  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMemoryGetWin32HandleInfoKHR;
45664  const void * pNext = {};
45667  };
45668 
45669  template <>
45670  struct CppType<StructureType, StructureType::eMemoryGetWin32HandleInfoKHR>
45671  {
45672  using Type = MemoryGetWin32HandleInfoKHR;
45673  };
45674 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
45675 
45676 #if defined( VK_USE_PLATFORM_FUCHSIA )
45677  struct MemoryGetZirconHandleInfoFUCHSIA
45678  {
45679  using NativeType = VkMemoryGetZirconHandleInfoFUCHSIA;
45680 
45681  static const bool allowDuplicate = false;
45682  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryGetZirconHandleInfoFUCHSIA;
45683 
45684 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
45685  VULKAN_HPP_CONSTEXPR MemoryGetZirconHandleInfoFUCHSIA(
45688  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
45689  : pNext( pNext_ )
45690  , memory( memory_ )
45691  , handleType( handleType_ )
45692  {
45693  }
45694 
45695  VULKAN_HPP_CONSTEXPR MemoryGetZirconHandleInfoFUCHSIA( MemoryGetZirconHandleInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
45696 
45697  MemoryGetZirconHandleInfoFUCHSIA( VkMemoryGetZirconHandleInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
45698  : MemoryGetZirconHandleInfoFUCHSIA( *reinterpret_cast<MemoryGetZirconHandleInfoFUCHSIA const *>( &rhs ) )
45699  {
45700  }
45701 
45702  MemoryGetZirconHandleInfoFUCHSIA & operator=( MemoryGetZirconHandleInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
45703 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
45704 
45705  MemoryGetZirconHandleInfoFUCHSIA & operator=( VkMemoryGetZirconHandleInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
45706  {
45707  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryGetZirconHandleInfoFUCHSIA const *>( &rhs );
45708  return *this;
45709  }
45710 
45711 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
45712  VULKAN_HPP_CONSTEXPR_14 MemoryGetZirconHandleInfoFUCHSIA & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
45713  {
45714  pNext = pNext_;
45715  return *this;
45716  }
45717 
45718  VULKAN_HPP_CONSTEXPR_14 MemoryGetZirconHandleInfoFUCHSIA & setMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory_ ) VULKAN_HPP_NOEXCEPT
45719  {
45720  memory = memory_;
45721  return *this;
45722  }
45723 
45724  VULKAN_HPP_CONSTEXPR_14 MemoryGetZirconHandleInfoFUCHSIA &
45726  {
45727  handleType = handleType_;
45728  return *this;
45729  }
45730 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
45731 
45733  {
45734  return *reinterpret_cast<const VkMemoryGetZirconHandleInfoFUCHSIA *>( this );
45735  }
45736 
45738  {
45739  return *reinterpret_cast<VkMemoryGetZirconHandleInfoFUCHSIA *>( this );
45740  }
45741 
45742 # if defined( VULKAN_HPP_USE_REFLECT )
45743 # if 14 <= VULKAN_HPP_CPP_VERSION
45744  auto
45745 # else
45746  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
45747  const void * const &,
45750 # endif
45751  reflect() const VULKAN_HPP_NOEXCEPT
45752  {
45753  return std::tie( sType, pNext, memory, handleType );
45754  }
45755 # endif
45756 
45757 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
45758  auto operator<=>( MemoryGetZirconHandleInfoFUCHSIA const & ) const = default;
45759 # else
45760  bool operator==( MemoryGetZirconHandleInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
45761  {
45762 # if defined( VULKAN_HPP_USE_REFLECT )
45763  return this->reflect() == rhs.reflect();
45764 # else
45765  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memory == rhs.memory ) && ( handleType == rhs.handleType );
45766 # endif
45767  }
45768 
45769  bool operator!=( MemoryGetZirconHandleInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
45770  {
45771  return !operator==( rhs );
45772  }
45773 # endif
45774 
45775  public:
45776  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMemoryGetZirconHandleInfoFUCHSIA;
45777  const void * pNext = {};
45780  };
45781 
45782  template <>
45783  struct CppType<StructureType, StructureType::eMemoryGetZirconHandleInfoFUCHSIA>
45784  {
45785  using Type = MemoryGetZirconHandleInfoFUCHSIA;
45786  };
45787 #endif /*VK_USE_PLATFORM_FUCHSIA*/
45788 
45789  struct MemoryHeap
45790  {
45792 
45793 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
45795  : size( size_ )
45796  , flags( flags_ )
45797  {
45798  }
45799 
45800  VULKAN_HPP_CONSTEXPR MemoryHeap( MemoryHeap const & rhs ) VULKAN_HPP_NOEXCEPT = default;
45801 
45802  MemoryHeap( VkMemoryHeap const & rhs ) VULKAN_HPP_NOEXCEPT : MemoryHeap( *reinterpret_cast<MemoryHeap const *>( &rhs ) ) {}
45803 
45804  MemoryHeap & operator=( MemoryHeap const & rhs ) VULKAN_HPP_NOEXCEPT = default;
45805 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
45806 
45808  {
45809  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryHeap const *>( &rhs );
45810  return *this;
45811  }
45812 
45813  operator VkMemoryHeap const &() const VULKAN_HPP_NOEXCEPT
45814  {
45815  return *reinterpret_cast<const VkMemoryHeap *>( this );
45816  }
45817 
45819  {
45820  return *reinterpret_cast<VkMemoryHeap *>( this );
45821  }
45822 
45823 #if defined( VULKAN_HPP_USE_REFLECT )
45824 # if 14 <= VULKAN_HPP_CPP_VERSION
45825  auto
45826 # else
45827  std::tuple<VULKAN_HPP_NAMESPACE::DeviceSize const &, VULKAN_HPP_NAMESPACE::MemoryHeapFlags const &>
45828 # endif
45829  reflect() const VULKAN_HPP_NOEXCEPT
45830  {
45831  return std::tie( size, flags );
45832  }
45833 #endif
45834 
45835 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
45836  auto operator<=>( MemoryHeap const & ) const = default;
45837 #else
45838  bool operator==( MemoryHeap const & rhs ) const VULKAN_HPP_NOEXCEPT
45839  {
45840 # if defined( VULKAN_HPP_USE_REFLECT )
45841  return this->reflect() == rhs.reflect();
45842 # else
45843  return ( size == rhs.size ) && ( flags == rhs.flags );
45844 # endif
45845  }
45846 
45847  bool operator!=( MemoryHeap const & rhs ) const VULKAN_HPP_NOEXCEPT
45848  {
45849  return !operator==( rhs );
45850  }
45851 #endif
45852 
45853  public:
45856  };
45857 
45859  {
45861 
45862  static const bool allowDuplicate = false;
45863  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryHostPointerPropertiesEXT;
45864 
45865 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
45866  VULKAN_HPP_CONSTEXPR MemoryHostPointerPropertiesEXT( uint32_t memoryTypeBits_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
45867  : pNext( pNext_ )
45868  , memoryTypeBits( memoryTypeBits_ )
45869  {
45870  }
45871 
45872  VULKAN_HPP_CONSTEXPR MemoryHostPointerPropertiesEXT( MemoryHostPointerPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
45873 
45875  : MemoryHostPointerPropertiesEXT( *reinterpret_cast<MemoryHostPointerPropertiesEXT const *>( &rhs ) )
45876  {
45877  }
45878 
45880 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
45881 
45883  {
45884  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryHostPointerPropertiesEXT const *>( &rhs );
45885  return *this;
45886  }
45887 
45889  {
45890  return *reinterpret_cast<const VkMemoryHostPointerPropertiesEXT *>( this );
45891  }
45892 
45894  {
45895  return *reinterpret_cast<VkMemoryHostPointerPropertiesEXT *>( this );
45896  }
45897 
45898 #if defined( VULKAN_HPP_USE_REFLECT )
45899 # if 14 <= VULKAN_HPP_CPP_VERSION
45900  auto
45901 # else
45902  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, uint32_t const &>
45903 # endif
45904  reflect() const VULKAN_HPP_NOEXCEPT
45905  {
45906  return std::tie( sType, pNext, memoryTypeBits );
45907  }
45908 #endif
45909 
45910 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
45911  auto operator<=>( MemoryHostPointerPropertiesEXT const & ) const = default;
45912 #else
45914  {
45915 # if defined( VULKAN_HPP_USE_REFLECT )
45916  return this->reflect() == rhs.reflect();
45917 # else
45918  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memoryTypeBits == rhs.memoryTypeBits );
45919 # endif
45920  }
45921 
45923  {
45924  return !operator==( rhs );
45925  }
45926 #endif
45927 
45928  public:
45929  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMemoryHostPointerPropertiesEXT;
45930  void * pNext = {};
45931  uint32_t memoryTypeBits = {};
45932  };
45933 
45934  template <>
45936  {
45938  };
45939 
45941  {
45943 
45944  static const bool allowDuplicate = false;
45945  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryOpaqueCaptureAddressAllocateInfo;
45946 
45947 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
45948  VULKAN_HPP_CONSTEXPR MemoryOpaqueCaptureAddressAllocateInfo( uint64_t opaqueCaptureAddress_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
45949  : pNext( pNext_ )
45950  , opaqueCaptureAddress( opaqueCaptureAddress_ )
45951  {
45952  }
45953 
45954  VULKAN_HPP_CONSTEXPR MemoryOpaqueCaptureAddressAllocateInfo( MemoryOpaqueCaptureAddressAllocateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
45955 
45957  : MemoryOpaqueCaptureAddressAllocateInfo( *reinterpret_cast<MemoryOpaqueCaptureAddressAllocateInfo const *>( &rhs ) )
45958  {
45959  }
45960 
45962 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
45963 
45965  {
45966  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryOpaqueCaptureAddressAllocateInfo const *>( &rhs );
45967  return *this;
45968  }
45969 
45970 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
45972  {
45973  pNext = pNext_;
45974  return *this;
45975  }
45976 
45978  {
45979  opaqueCaptureAddress = opaqueCaptureAddress_;
45980  return *this;
45981  }
45982 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
45983 
45985  {
45986  return *reinterpret_cast<const VkMemoryOpaqueCaptureAddressAllocateInfo *>( this );
45987  }
45988 
45990  {
45991  return *reinterpret_cast<VkMemoryOpaqueCaptureAddressAllocateInfo *>( this );
45992  }
45993 
45994 #if defined( VULKAN_HPP_USE_REFLECT )
45995 # if 14 <= VULKAN_HPP_CPP_VERSION
45996  auto
45997 # else
45998  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint64_t const &>
45999 # endif
46000  reflect() const VULKAN_HPP_NOEXCEPT
46001  {
46002  return std::tie( sType, pNext, opaqueCaptureAddress );
46003  }
46004 #endif
46005 
46006 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
46007  auto operator<=>( MemoryOpaqueCaptureAddressAllocateInfo const & ) const = default;
46008 #else
46010  {
46011 # if defined( VULKAN_HPP_USE_REFLECT )
46012  return this->reflect() == rhs.reflect();
46013 # else
46014  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( opaqueCaptureAddress == rhs.opaqueCaptureAddress );
46015 # endif
46016  }
46017 
46019  {
46020  return !operator==( rhs );
46021  }
46022 #endif
46023 
46024  public:
46025  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMemoryOpaqueCaptureAddressAllocateInfo;
46026  const void * pNext = {};
46027  uint64_t opaqueCaptureAddress = {};
46028  };
46029 
46030  template <>
46032  {
46034  };
46036 
46038  {
46040 
46041  static const bool allowDuplicate = false;
46042  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryPriorityAllocateInfoEXT;
46043 
46044 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
46045  VULKAN_HPP_CONSTEXPR MemoryPriorityAllocateInfoEXT( float priority_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
46046  : pNext( pNext_ )
46047  , priority( priority_ )
46048  {
46049  }
46050 
46051  VULKAN_HPP_CONSTEXPR MemoryPriorityAllocateInfoEXT( MemoryPriorityAllocateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
46052 
46054  : MemoryPriorityAllocateInfoEXT( *reinterpret_cast<MemoryPriorityAllocateInfoEXT const *>( &rhs ) )
46055  {
46056  }
46057 
46059 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
46060 
46062  {
46063  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryPriorityAllocateInfoEXT const *>( &rhs );
46064  return *this;
46065  }
46066 
46067 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
46069  {
46070  pNext = pNext_;
46071  return *this;
46072  }
46073 
46075  {
46076  priority = priority_;
46077  return *this;
46078  }
46079 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
46080 
46082  {
46083  return *reinterpret_cast<const VkMemoryPriorityAllocateInfoEXT *>( this );
46084  }
46085 
46087  {
46088  return *reinterpret_cast<VkMemoryPriorityAllocateInfoEXT *>( this );
46089  }
46090 
46091 #if defined( VULKAN_HPP_USE_REFLECT )
46092 # if 14 <= VULKAN_HPP_CPP_VERSION
46093  auto
46094 # else
46095  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, float const &>
46096 # endif
46097  reflect() const VULKAN_HPP_NOEXCEPT
46098  {
46099  return std::tie( sType, pNext, priority );
46100  }
46101 #endif
46102 
46103 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
46104  auto operator<=>( MemoryPriorityAllocateInfoEXT const & ) const = default;
46105 #else
46107  {
46108 # if defined( VULKAN_HPP_USE_REFLECT )
46109  return this->reflect() == rhs.reflect();
46110 # else
46111  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( priority == rhs.priority );
46112 # endif
46113  }
46114 
46116  {
46117  return !operator==( rhs );
46118  }
46119 #endif
46120 
46121  public:
46122  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMemoryPriorityAllocateInfoEXT;
46123  const void * pNext = {};
46124  float priority = {};
46125  };
46126 
46127  template <>
46129  {
46131  };
46132 
46134  {
46136 
46137 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
46139  VULKAN_HPP_NAMESPACE::DeviceSize alignment_ = {},
46140  uint32_t memoryTypeBits_ = {} ) VULKAN_HPP_NOEXCEPT
46141  : size( size_ )
46142  , alignment( alignment_ )
46143  , memoryTypeBits( memoryTypeBits_ )
46144  {
46145  }
46146 
46147  VULKAN_HPP_CONSTEXPR MemoryRequirements( MemoryRequirements const & rhs ) VULKAN_HPP_NOEXCEPT = default;
46148 
46149  MemoryRequirements( VkMemoryRequirements const & rhs ) VULKAN_HPP_NOEXCEPT : MemoryRequirements( *reinterpret_cast<MemoryRequirements const *>( &rhs ) ) {}
46150 
46151  MemoryRequirements & operator=( MemoryRequirements const & rhs ) VULKAN_HPP_NOEXCEPT = default;
46152 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
46153 
46155  {
46156  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryRequirements const *>( &rhs );
46157  return *this;
46158  }
46159 
46161  {
46162  return *reinterpret_cast<const VkMemoryRequirements *>( this );
46163  }
46164 
46166  {
46167  return *reinterpret_cast<VkMemoryRequirements *>( this );
46168  }
46169 
46170 #if defined( VULKAN_HPP_USE_REFLECT )
46171 # if 14 <= VULKAN_HPP_CPP_VERSION
46172  auto
46173 # else
46174  std::tuple<VULKAN_HPP_NAMESPACE::DeviceSize const &, VULKAN_HPP_NAMESPACE::DeviceSize const &, uint32_t const &>
46175 # endif
46176  reflect() const VULKAN_HPP_NOEXCEPT
46177  {
46178  return std::tie( size, alignment, memoryTypeBits );
46179  }
46180 #endif
46181 
46182 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
46183  auto operator<=>( MemoryRequirements const & ) const = default;
46184 #else
46186  {
46187 # if defined( VULKAN_HPP_USE_REFLECT )
46188  return this->reflect() == rhs.reflect();
46189 # else
46190  return ( size == rhs.size ) && ( alignment == rhs.alignment ) && ( memoryTypeBits == rhs.memoryTypeBits );
46191 # endif
46192  }
46193 
46195  {
46196  return !operator==( rhs );
46197  }
46198 #endif
46199 
46200  public:
46203  uint32_t memoryTypeBits = {};
46204  };
46205 
46207  {
46209 
46210  static const bool allowDuplicate = false;
46211  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryRequirements2;
46212 
46213 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
46215  : pNext( pNext_ )
46216  , memoryRequirements( memoryRequirements_ )
46217  {
46218  }
46219 
46220  VULKAN_HPP_CONSTEXPR MemoryRequirements2( MemoryRequirements2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
46221 
46222  MemoryRequirements2( VkMemoryRequirements2 const & rhs ) VULKAN_HPP_NOEXCEPT : MemoryRequirements2( *reinterpret_cast<MemoryRequirements2 const *>( &rhs ) )
46223  {
46224  }
46225 
46226  MemoryRequirements2 & operator=( MemoryRequirements2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
46227 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
46228 
46230  {
46231  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryRequirements2 const *>( &rhs );
46232  return *this;
46233  }
46234 
46236  {
46237  return *reinterpret_cast<const VkMemoryRequirements2 *>( this );
46238  }
46239 
46241  {
46242  return *reinterpret_cast<VkMemoryRequirements2 *>( this );
46243  }
46244 
46245 #if defined( VULKAN_HPP_USE_REFLECT )
46246 # if 14 <= VULKAN_HPP_CPP_VERSION
46247  auto
46248 # else
46249  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::MemoryRequirements const &>
46250 # endif
46251  reflect() const VULKAN_HPP_NOEXCEPT
46252  {
46253  return std::tie( sType, pNext, memoryRequirements );
46254  }
46255 #endif
46256 
46257 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
46258  auto operator<=>( MemoryRequirements2 const & ) const = default;
46259 #else
46261  {
46262 # if defined( VULKAN_HPP_USE_REFLECT )
46263  return this->reflect() == rhs.reflect();
46264 # else
46265  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memoryRequirements == rhs.memoryRequirements );
46266 # endif
46267  }
46268 
46270  {
46271  return !operator==( rhs );
46272  }
46273 #endif
46274 
46275  public:
46276  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMemoryRequirements2;
46277  void * pNext = {};
46279  };
46280 
46281  template <>
46283  {
46285  };
46287 
46288  struct MemoryType
46289  {
46291 
46292 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
46294  : propertyFlags( propertyFlags_ )
46295  , heapIndex( heapIndex_ )
46296  {
46297  }
46298 
46299  VULKAN_HPP_CONSTEXPR MemoryType( MemoryType const & rhs ) VULKAN_HPP_NOEXCEPT = default;
46300 
46301  MemoryType( VkMemoryType const & rhs ) VULKAN_HPP_NOEXCEPT : MemoryType( *reinterpret_cast<MemoryType const *>( &rhs ) ) {}
46302 
46303  MemoryType & operator=( MemoryType const & rhs ) VULKAN_HPP_NOEXCEPT = default;
46304 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
46305 
46307  {
46308  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryType const *>( &rhs );
46309  return *this;
46310  }
46311 
46312  operator VkMemoryType const &() const VULKAN_HPP_NOEXCEPT
46313  {
46314  return *reinterpret_cast<const VkMemoryType *>( this );
46315  }
46316 
46318  {
46319  return *reinterpret_cast<VkMemoryType *>( this );
46320  }
46321 
46322 #if defined( VULKAN_HPP_USE_REFLECT )
46323 # if 14 <= VULKAN_HPP_CPP_VERSION
46324  auto
46325 # else
46326  std::tuple<VULKAN_HPP_NAMESPACE::MemoryPropertyFlags const &, uint32_t const &>
46327 # endif
46328  reflect() const VULKAN_HPP_NOEXCEPT
46329  {
46330  return std::tie( propertyFlags, heapIndex );
46331  }
46332 #endif
46333 
46334 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
46335  auto operator<=>( MemoryType const & ) const = default;
46336 #else
46337  bool operator==( MemoryType const & rhs ) const VULKAN_HPP_NOEXCEPT
46338  {
46339 # if defined( VULKAN_HPP_USE_REFLECT )
46340  return this->reflect() == rhs.reflect();
46341 # else
46342  return ( propertyFlags == rhs.propertyFlags ) && ( heapIndex == rhs.heapIndex );
46343 # endif
46344  }
46345 
46346  bool operator!=( MemoryType const & rhs ) const VULKAN_HPP_NOEXCEPT
46347  {
46348  return !operator==( rhs );
46349  }
46350 #endif
46351 
46352  public:
46354  uint32_t heapIndex = {};
46355  };
46356 
46357 #if defined( VK_USE_PLATFORM_WIN32_KHR )
46358  struct MemoryWin32HandlePropertiesKHR
46359  {
46360  using NativeType = VkMemoryWin32HandlePropertiesKHR;
46361 
46362  static const bool allowDuplicate = false;
46363  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryWin32HandlePropertiesKHR;
46364 
46365 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
46366  VULKAN_HPP_CONSTEXPR MemoryWin32HandlePropertiesKHR( uint32_t memoryTypeBits_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
46367  : pNext( pNext_ )
46368  , memoryTypeBits( memoryTypeBits_ )
46369  {
46370  }
46371 
46372  VULKAN_HPP_CONSTEXPR MemoryWin32HandlePropertiesKHR( MemoryWin32HandlePropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
46373 
46374  MemoryWin32HandlePropertiesKHR( VkMemoryWin32HandlePropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
46375  : MemoryWin32HandlePropertiesKHR( *reinterpret_cast<MemoryWin32HandlePropertiesKHR const *>( &rhs ) )
46376  {
46377  }
46378 
46379  MemoryWin32HandlePropertiesKHR & operator=( MemoryWin32HandlePropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
46380 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
46381 
46382  MemoryWin32HandlePropertiesKHR & operator=( VkMemoryWin32HandlePropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
46383  {
46384  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryWin32HandlePropertiesKHR const *>( &rhs );
46385  return *this;
46386  }
46387 
46388  operator VkMemoryWin32HandlePropertiesKHR const &() const VULKAN_HPP_NOEXCEPT
46389  {
46390  return *reinterpret_cast<const VkMemoryWin32HandlePropertiesKHR *>( this );
46391  }
46392 
46394  {
46395  return *reinterpret_cast<VkMemoryWin32HandlePropertiesKHR *>( this );
46396  }
46397 
46398 # if defined( VULKAN_HPP_USE_REFLECT )
46399 # if 14 <= VULKAN_HPP_CPP_VERSION
46400  auto
46401 # else
46402  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, uint32_t const &>
46403 # endif
46404  reflect() const VULKAN_HPP_NOEXCEPT
46405  {
46406  return std::tie( sType, pNext, memoryTypeBits );
46407  }
46408 # endif
46409 
46410 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
46411  auto operator<=>( MemoryWin32HandlePropertiesKHR const & ) const = default;
46412 # else
46413  bool operator==( MemoryWin32HandlePropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
46414  {
46415 # if defined( VULKAN_HPP_USE_REFLECT )
46416  return this->reflect() == rhs.reflect();
46417 # else
46418  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memoryTypeBits == rhs.memoryTypeBits );
46419 # endif
46420  }
46421 
46422  bool operator!=( MemoryWin32HandlePropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
46423  {
46424  return !operator==( rhs );
46425  }
46426 # endif
46427 
46428  public:
46429  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMemoryWin32HandlePropertiesKHR;
46430  void * pNext = {};
46431  uint32_t memoryTypeBits = {};
46432  };
46433 
46434  template <>
46435  struct CppType<StructureType, StructureType::eMemoryWin32HandlePropertiesKHR>
46436  {
46437  using Type = MemoryWin32HandlePropertiesKHR;
46438  };
46439 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
46440 
46441 #if defined( VK_USE_PLATFORM_FUCHSIA )
46442  struct MemoryZirconHandlePropertiesFUCHSIA
46443  {
46444  using NativeType = VkMemoryZirconHandlePropertiesFUCHSIA;
46445 
46446  static const bool allowDuplicate = false;
46447  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryZirconHandlePropertiesFUCHSIA;
46448 
46449 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
46450  VULKAN_HPP_CONSTEXPR MemoryZirconHandlePropertiesFUCHSIA( uint32_t memoryTypeBits_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
46451  : pNext( pNext_ )
46452  , memoryTypeBits( memoryTypeBits_ )
46453  {
46454  }
46455 
46456  VULKAN_HPP_CONSTEXPR MemoryZirconHandlePropertiesFUCHSIA( MemoryZirconHandlePropertiesFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
46457 
46458  MemoryZirconHandlePropertiesFUCHSIA( VkMemoryZirconHandlePropertiesFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
46459  : MemoryZirconHandlePropertiesFUCHSIA( *reinterpret_cast<MemoryZirconHandlePropertiesFUCHSIA const *>( &rhs ) )
46460  {
46461  }
46462 
46463  MemoryZirconHandlePropertiesFUCHSIA & operator=( MemoryZirconHandlePropertiesFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
46464 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
46465 
46466  MemoryZirconHandlePropertiesFUCHSIA & operator=( VkMemoryZirconHandlePropertiesFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
46467  {
46468  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryZirconHandlePropertiesFUCHSIA const *>( &rhs );
46469  return *this;
46470  }
46471 
46473  {
46474  return *reinterpret_cast<const VkMemoryZirconHandlePropertiesFUCHSIA *>( this );
46475  }
46476 
46478  {
46479  return *reinterpret_cast<VkMemoryZirconHandlePropertiesFUCHSIA *>( this );
46480  }
46481 
46482 # if defined( VULKAN_HPP_USE_REFLECT )
46483 # if 14 <= VULKAN_HPP_CPP_VERSION
46484  auto
46485 # else
46486  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, uint32_t const &>
46487 # endif
46488  reflect() const VULKAN_HPP_NOEXCEPT
46489  {
46490  return std::tie( sType, pNext, memoryTypeBits );
46491  }
46492 # endif
46493 
46494 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
46495  auto operator<=>( MemoryZirconHandlePropertiesFUCHSIA const & ) const = default;
46496 # else
46497  bool operator==( MemoryZirconHandlePropertiesFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
46498  {
46499 # if defined( VULKAN_HPP_USE_REFLECT )
46500  return this->reflect() == rhs.reflect();
46501 # else
46502  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memoryTypeBits == rhs.memoryTypeBits );
46503 # endif
46504  }
46505 
46506  bool operator!=( MemoryZirconHandlePropertiesFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
46507  {
46508  return !operator==( rhs );
46509  }
46510 # endif
46511 
46512  public:
46513  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMemoryZirconHandlePropertiesFUCHSIA;
46514  void * pNext = {};
46515  uint32_t memoryTypeBits = {};
46516  };
46517 
46518  template <>
46519  struct CppType<StructureType, StructureType::eMemoryZirconHandlePropertiesFUCHSIA>
46520  {
46521  using Type = MemoryZirconHandlePropertiesFUCHSIA;
46522  };
46523 #endif /*VK_USE_PLATFORM_FUCHSIA*/
46524 
46525 #if defined( VK_USE_PLATFORM_METAL_EXT )
46526  struct MetalSurfaceCreateInfoEXT
46527  {
46528  using NativeType = VkMetalSurfaceCreateInfoEXT;
46529 
46530  static const bool allowDuplicate = false;
46531  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMetalSurfaceCreateInfoEXT;
46532 
46533 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
46534  VULKAN_HPP_CONSTEXPR MetalSurfaceCreateInfoEXT( VULKAN_HPP_NAMESPACE::MetalSurfaceCreateFlagsEXT flags_ = {},
46535  const CAMetalLayer * pLayer_ = {},
46536  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
46537  : pNext( pNext_ )
46538  , flags( flags_ )
46539  , pLayer( pLayer_ )
46540  {
46541  }
46542 
46543  VULKAN_HPP_CONSTEXPR MetalSurfaceCreateInfoEXT( MetalSurfaceCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
46544 
46545  MetalSurfaceCreateInfoEXT( VkMetalSurfaceCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
46546  : MetalSurfaceCreateInfoEXT( *reinterpret_cast<MetalSurfaceCreateInfoEXT const *>( &rhs ) )
46547  {
46548  }
46549 
46550  MetalSurfaceCreateInfoEXT & operator=( MetalSurfaceCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
46551 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
46552 
46553  MetalSurfaceCreateInfoEXT & operator=( VkMetalSurfaceCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
46554  {
46555  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MetalSurfaceCreateInfoEXT const *>( &rhs );
46556  return *this;
46557  }
46558 
46559 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
46560  VULKAN_HPP_CONSTEXPR_14 MetalSurfaceCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
46561  {
46562  pNext = pNext_;
46563  return *this;
46564  }
46565 
46566  VULKAN_HPP_CONSTEXPR_14 MetalSurfaceCreateInfoEXT & setFlags( VULKAN_HPP_NAMESPACE::MetalSurfaceCreateFlagsEXT flags_ ) VULKAN_HPP_NOEXCEPT
46567  {
46568  flags = flags_;
46569  return *this;
46570  }
46571 
46572  VULKAN_HPP_CONSTEXPR_14 MetalSurfaceCreateInfoEXT & setPLayer( const CAMetalLayer * pLayer_ ) VULKAN_HPP_NOEXCEPT
46573  {
46574  pLayer = pLayer_;
46575  return *this;
46576  }
46577 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
46578 
46579  operator VkMetalSurfaceCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
46580  {
46581  return *reinterpret_cast<const VkMetalSurfaceCreateInfoEXT *>( this );
46582  }
46583 
46585  {
46586  return *reinterpret_cast<VkMetalSurfaceCreateInfoEXT *>( this );
46587  }
46588 
46589 # if defined( VULKAN_HPP_USE_REFLECT )
46590 # if 14 <= VULKAN_HPP_CPP_VERSION
46591  auto
46592 # else
46593  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
46594  const void * const &,
46595  VULKAN_HPP_NAMESPACE::MetalSurfaceCreateFlagsEXT const &,
46596  const CAMetalLayer * const &>
46597 # endif
46598  reflect() const VULKAN_HPP_NOEXCEPT
46599  {
46600  return std::tie( sType, pNext, flags, pLayer );
46601  }
46602 # endif
46603 
46604 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
46605  auto operator<=>( MetalSurfaceCreateInfoEXT const & ) const = default;
46606 # else
46607  bool operator==( MetalSurfaceCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
46608  {
46609 # if defined( VULKAN_HPP_USE_REFLECT )
46610  return this->reflect() == rhs.reflect();
46611 # else
46612  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( pLayer == rhs.pLayer );
46613 # endif
46614  }
46615 
46616  bool operator!=( MetalSurfaceCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
46617  {
46618  return !operator==( rhs );
46619  }
46620 # endif
46621 
46622  public:
46623  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMetalSurfaceCreateInfoEXT;
46624  const void * pNext = {};
46625  VULKAN_HPP_NAMESPACE::MetalSurfaceCreateFlagsEXT flags = {};
46626  const CAMetalLayer * pLayer = {};
46627  };
46628 
46629  template <>
46630  struct CppType<StructureType, StructureType::eMetalSurfaceCreateInfoEXT>
46631  {
46632  using Type = MetalSurfaceCreateInfoEXT;
46633  };
46634 #endif /*VK_USE_PLATFORM_METAL_EXT*/
46635 
46637  {
46639 
46640  static const bool allowDuplicate = false;
46641  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMicromapBuildInfoEXT;
46642 
46643 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
46647  VULKAN_HPP_NAMESPACE::MicromapEXT dstMicromap_ = {},
46648  uint32_t usageCountsCount_ = {},
46649  const VULKAN_HPP_NAMESPACE::MicromapUsageEXT * pUsageCounts_ = {},
46650  const VULKAN_HPP_NAMESPACE::MicromapUsageEXT * const * ppUsageCounts_ = {},
46654  VULKAN_HPP_NAMESPACE::DeviceSize triangleArrayStride_ = {},
46655  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
46656  : pNext( pNext_ )
46657  , type( type_ )
46658  , flags( flags_ )
46659  , mode( mode_ )
46660  , dstMicromap( dstMicromap_ )
46661  , usageCountsCount( usageCountsCount_ )
46662  , pUsageCounts( pUsageCounts_ )
46663  , ppUsageCounts( ppUsageCounts_ )
46664  , data( data_ )
46665  , scratchData( scratchData_ )
46666  , triangleArray( triangleArray_ )
46667  , triangleArrayStride( triangleArrayStride_ )
46668  {
46669  }
46670 
46671  VULKAN_HPP_CONSTEXPR_14 MicromapBuildInfoEXT( MicromapBuildInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
46672 
46674  : MicromapBuildInfoEXT( *reinterpret_cast<MicromapBuildInfoEXT const *>( &rhs ) )
46675  {
46676  }
46677 
46678 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
46682  VULKAN_HPP_NAMESPACE::MicromapEXT dstMicromap_,
46688  VULKAN_HPP_NAMESPACE::DeviceSize triangleArrayStride_ = {},
46689  const void * pNext_ = nullptr )
46690  : pNext( pNext_ )
46691  , type( type_ )
46692  , flags( flags_ )
46693  , mode( mode_ )
46694  , dstMicromap( dstMicromap_ )
46695  , usageCountsCount( static_cast<uint32_t>( !usageCounts_.empty() ? usageCounts_.size() : pUsageCounts_.size() ) )
46696  , pUsageCounts( usageCounts_.data() )
46697  , ppUsageCounts( pUsageCounts_.data() )
46698  , data( data_ )
46699  , scratchData( scratchData_ )
46700  , triangleArray( triangleArray_ )
46701  , triangleArrayStride( triangleArrayStride_ )
46702  {
46703 # ifdef VULKAN_HPP_NO_EXCEPTIONS
46704  VULKAN_HPP_ASSERT( ( !usageCounts_.empty() + !pUsageCounts_.empty() ) <= 1 );
46705 # else
46706  if ( 1 < ( !usageCounts_.empty() + !pUsageCounts_.empty() ) )
46707  {
46708  throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::MicromapBuildInfoEXT::MicromapBuildInfoEXT: 1 < ( !usageCounts_.empty() + !pUsageCounts_.empty() )" );
46709  }
46710 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/
46711  }
46712 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
46713 
46714  MicromapBuildInfoEXT & operator=( MicromapBuildInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
46715 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
46716 
46718  {
46719  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MicromapBuildInfoEXT const *>( &rhs );
46720  return *this;
46721  }
46722 
46723 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
46725  {
46726  pNext = pNext_;
46727  return *this;
46728  }
46729 
46731  {
46732  type = type_;
46733  return *this;
46734  }
46735 
46737  {
46738  flags = flags_;
46739  return *this;
46740  }
46741 
46743  {
46744  mode = mode_;
46745  return *this;
46746  }
46747 
46749  {
46750  dstMicromap = dstMicromap_;
46751  return *this;
46752  }
46753 
46755  {
46756  usageCountsCount = usageCountsCount_;
46757  return *this;
46758  }
46759 
46761  {
46762  pUsageCounts = pUsageCounts_;
46763  return *this;
46764  }
46765 
46766 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
46769  {
46770  usageCountsCount = static_cast<uint32_t>( usageCounts_.size() );
46771  pUsageCounts = usageCounts_.data();
46772  return *this;
46773  }
46774 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
46775 
46777  {
46778  ppUsageCounts = ppUsageCounts_;
46779  return *this;
46780  }
46781 
46782 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
46785  {
46786  usageCountsCount = static_cast<uint32_t>( pUsageCounts_.size() );
46787  ppUsageCounts = pUsageCounts_.data();
46788  return *this;
46789  }
46790 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
46791 
46793  {
46794  data = data_;
46795  return *this;
46796  }
46797 
46799  {
46800  scratchData = scratchData_;
46801  return *this;
46802  }
46803 
46806  {
46807  triangleArray = triangleArray_;
46808  return *this;
46809  }
46810 
46812  {
46813  triangleArrayStride = triangleArrayStride_;
46814  return *this;
46815  }
46816 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
46817 
46819  {
46820  return *reinterpret_cast<const VkMicromapBuildInfoEXT *>( this );
46821  }
46822 
46824  {
46825  return *reinterpret_cast<VkMicromapBuildInfoEXT *>( this );
46826  }
46827 
46828 #if defined( VULKAN_HPP_USE_REFLECT )
46829 # if 14 <= VULKAN_HPP_CPP_VERSION
46830  auto
46831 # else
46832  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
46833  const void * const &,
46838  uint32_t const &,
46840  const VULKAN_HPP_NAMESPACE::MicromapUsageEXT * const * const &,
46845 # endif
46846  reflect() const VULKAN_HPP_NOEXCEPT
46847  {
46848  return std::tie(
46849  sType, pNext, type, flags, mode, dstMicromap, usageCountsCount, pUsageCounts, ppUsageCounts, data, scratchData, triangleArray, triangleArrayStride );
46850  }
46851 #endif
46852 
46853  public:
46854  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMicromapBuildInfoEXT;
46855  const void * pNext = {};
46860  uint32_t usageCountsCount = {};
46861  const VULKAN_HPP_NAMESPACE::MicromapUsageEXT * pUsageCounts = {};
46862  const VULKAN_HPP_NAMESPACE::MicromapUsageEXT * const * ppUsageCounts = {};
46866  VULKAN_HPP_NAMESPACE::DeviceSize triangleArrayStride = {};
46867  };
46868 
46869  template <>
46871  {
46873  };
46874 
46876  {
46878 
46879  static const bool allowDuplicate = false;
46880  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMicromapBuildSizesInfoEXT;
46881 
46882 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
46884  VULKAN_HPP_NAMESPACE::DeviceSize buildScratchSize_ = {},
46885  VULKAN_HPP_NAMESPACE::Bool32 discardable_ = {},
46886  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
46887  : pNext( pNext_ )
46888  , micromapSize( micromapSize_ )
46889  , buildScratchSize( buildScratchSize_ )
46890  , discardable( discardable_ )
46891  {
46892  }
46893 
46894  VULKAN_HPP_CONSTEXPR MicromapBuildSizesInfoEXT( MicromapBuildSizesInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
46895 
46897  : MicromapBuildSizesInfoEXT( *reinterpret_cast<MicromapBuildSizesInfoEXT const *>( &rhs ) )
46898  {
46899  }
46900 
46901  MicromapBuildSizesInfoEXT & operator=( MicromapBuildSizesInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
46902 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
46903 
46905  {
46906  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MicromapBuildSizesInfoEXT const *>( &rhs );
46907  return *this;
46908  }
46909 
46910 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
46912  {
46913  pNext = pNext_;
46914  return *this;
46915  }
46916 
46918  {
46919  micromapSize = micromapSize_;
46920  return *this;
46921  }
46922 
46924  {
46925  buildScratchSize = buildScratchSize_;
46926  return *this;
46927  }
46928 
46930  {
46931  discardable = discardable_;
46932  return *this;
46933  }
46934 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
46935 
46937  {
46938  return *reinterpret_cast<const VkMicromapBuildSizesInfoEXT *>( this );
46939  }
46940 
46942  {
46943  return *reinterpret_cast<VkMicromapBuildSizesInfoEXT *>( this );
46944  }
46945 
46946 #if defined( VULKAN_HPP_USE_REFLECT )
46947 # if 14 <= VULKAN_HPP_CPP_VERSION
46948  auto
46949 # else
46950  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
46951  const void * const &,
46955 # endif
46956  reflect() const VULKAN_HPP_NOEXCEPT
46957  {
46958  return std::tie( sType, pNext, micromapSize, buildScratchSize, discardable );
46959  }
46960 #endif
46961 
46962 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
46963  auto operator<=>( MicromapBuildSizesInfoEXT const & ) const = default;
46964 #else
46966  {
46967 # if defined( VULKAN_HPP_USE_REFLECT )
46968  return this->reflect() == rhs.reflect();
46969 # else
46970  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( micromapSize == rhs.micromapSize ) && ( buildScratchSize == rhs.buildScratchSize ) &&
46971  ( discardable == rhs.discardable );
46972 # endif
46973  }
46974 
46976  {
46977  return !operator==( rhs );
46978  }
46979 #endif
46980 
46981  public:
46982  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMicromapBuildSizesInfoEXT;
46983  const void * pNext = {};
46985  VULKAN_HPP_NAMESPACE::DeviceSize buildScratchSize = {};
46987  };
46988 
46989  template <>
46991  {
46993  };
46994 
46996  {
46998 
46999  static const bool allowDuplicate = false;
47000  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMicromapCreateInfoEXT;
47001 
47002 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
47004  VULKAN_HPP_NAMESPACE::Buffer buffer_ = {},
47005  VULKAN_HPP_NAMESPACE::DeviceSize offset_ = {},
47008  VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_ = {},
47009  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
47010  : pNext( pNext_ )
47011  , createFlags( createFlags_ )
47012  , buffer( buffer_ )
47013  , offset( offset_ )
47014  , size( size_ )
47015  , type( type_ )
47016  , deviceAddress( deviceAddress_ )
47017  {
47018  }
47019 
47020  VULKAN_HPP_CONSTEXPR MicromapCreateInfoEXT( MicromapCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
47021 
47023  : MicromapCreateInfoEXT( *reinterpret_cast<MicromapCreateInfoEXT const *>( &rhs ) )
47024  {
47025  }
47026 
47027  MicromapCreateInfoEXT & operator=( MicromapCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
47028 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
47029 
47031  {
47032  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MicromapCreateInfoEXT const *>( &rhs );
47033  return *this;
47034  }
47035 
47036 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
47038  {
47039  pNext = pNext_;
47040  return *this;
47041  }
47042 
47044  {
47045  createFlags = createFlags_;
47046  return *this;
47047  }
47048 
47050  {
47051  buffer = buffer_;
47052  return *this;
47053  }
47054 
47056  {
47057  offset = offset_;
47058  return *this;
47059  }
47060 
47062  {
47063  size = size_;
47064  return *this;
47065  }
47066 
47068  {
47069  type = type_;
47070  return *this;
47071  }
47072 
47074  {
47075  deviceAddress = deviceAddress_;
47076  return *this;
47077  }
47078 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
47079 
47081  {
47082  return *reinterpret_cast<const VkMicromapCreateInfoEXT *>( this );
47083  }
47084 
47086  {
47087  return *reinterpret_cast<VkMicromapCreateInfoEXT *>( this );
47088  }
47089 
47090 #if defined( VULKAN_HPP_USE_REFLECT )
47091 # if 14 <= VULKAN_HPP_CPP_VERSION
47092  auto
47093 # else
47094  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
47095  const void * const &,
47102 # endif
47103  reflect() const VULKAN_HPP_NOEXCEPT
47104  {
47105  return std::tie( sType, pNext, createFlags, buffer, offset, size, type, deviceAddress );
47106  }
47107 #endif
47108 
47109 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
47110  auto operator<=>( MicromapCreateInfoEXT const & ) const = default;
47111 #else
47113  {
47114 # if defined( VULKAN_HPP_USE_REFLECT )
47115  return this->reflect() == rhs.reflect();
47116 # else
47117  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( createFlags == rhs.createFlags ) && ( buffer == rhs.buffer ) && ( offset == rhs.offset ) &&
47118  ( size == rhs.size ) && ( type == rhs.type ) && ( deviceAddress == rhs.deviceAddress );
47119 # endif
47120  }
47121 
47123  {
47124  return !operator==( rhs );
47125  }
47126 #endif
47127 
47128  public:
47129  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMicromapCreateInfoEXT;
47130  const void * pNext = {};
47137  };
47138 
47139  template <>
47141  {
47143  };
47144 
47146  {
47148 
47149 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
47150  VULKAN_HPP_CONSTEXPR MicromapTriangleEXT( uint32_t dataOffset_ = {}, uint16_t subdivisionLevel_ = {}, uint16_t format_ = {} ) VULKAN_HPP_NOEXCEPT
47151  : dataOffset( dataOffset_ )
47152  , subdivisionLevel( subdivisionLevel_ )
47153  , format( format_ )
47154  {
47155  }
47156 
47157  VULKAN_HPP_CONSTEXPR MicromapTriangleEXT( MicromapTriangleEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
47158 
47159  MicromapTriangleEXT( VkMicromapTriangleEXT const & rhs ) VULKAN_HPP_NOEXCEPT : MicromapTriangleEXT( *reinterpret_cast<MicromapTriangleEXT const *>( &rhs ) )
47160  {
47161  }
47162 
47163  MicromapTriangleEXT & operator=( MicromapTriangleEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
47164 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
47165 
47167  {
47168  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MicromapTriangleEXT const *>( &rhs );
47169  return *this;
47170  }
47171 
47172 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
47174  {
47175  dataOffset = dataOffset_;
47176  return *this;
47177  }
47178 
47180  {
47181  subdivisionLevel = subdivisionLevel_;
47182  return *this;
47183  }
47184 
47186  {
47187  format = format_;
47188  return *this;
47189  }
47190 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
47191 
47193  {
47194  return *reinterpret_cast<const VkMicromapTriangleEXT *>( this );
47195  }
47196 
47198  {
47199  return *reinterpret_cast<VkMicromapTriangleEXT *>( this );
47200  }
47201 
47202 #if defined( VULKAN_HPP_USE_REFLECT )
47203 # if 14 <= VULKAN_HPP_CPP_VERSION
47204  auto
47205 # else
47206  std::tuple<uint32_t const &, uint16_t const &, uint16_t const &>
47207 # endif
47208  reflect() const VULKAN_HPP_NOEXCEPT
47209  {
47210  return std::tie( dataOffset, subdivisionLevel, format );
47211  }
47212 #endif
47213 
47214 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
47215  auto operator<=>( MicromapTriangleEXT const & ) const = default;
47216 #else
47218  {
47219 # if defined( VULKAN_HPP_USE_REFLECT )
47220  return this->reflect() == rhs.reflect();
47221 # else
47222  return ( dataOffset == rhs.dataOffset ) && ( subdivisionLevel == rhs.subdivisionLevel ) && ( format == rhs.format );
47223 # endif
47224  }
47225 
47227  {
47228  return !operator==( rhs );
47229  }
47230 #endif
47231 
47232  public:
47233  uint32_t dataOffset = {};
47234  uint16_t subdivisionLevel = {};
47235  uint16_t format = {};
47236  };
47237 
47239  {
47241 
47242  static const bool allowDuplicate = false;
47243  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMicromapVersionInfoEXT;
47244 
47245 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
47246  VULKAN_HPP_CONSTEXPR MicromapVersionInfoEXT( const uint8_t * pVersionData_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
47247  : pNext( pNext_ )
47248  , pVersionData( pVersionData_ )
47249  {
47250  }
47251 
47252  VULKAN_HPP_CONSTEXPR MicromapVersionInfoEXT( MicromapVersionInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
47253 
47255  : MicromapVersionInfoEXT( *reinterpret_cast<MicromapVersionInfoEXT const *>( &rhs ) )
47256  {
47257  }
47258 
47259  MicromapVersionInfoEXT & operator=( MicromapVersionInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
47260 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
47261 
47263  {
47264  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MicromapVersionInfoEXT const *>( &rhs );
47265  return *this;
47266  }
47267 
47268 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
47270  {
47271  pNext = pNext_;
47272  return *this;
47273  }
47274 
47276  {
47277  pVersionData = pVersionData_;
47278  return *this;
47279  }
47280 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
47281 
47283  {
47284  return *reinterpret_cast<const VkMicromapVersionInfoEXT *>( this );
47285  }
47286 
47288  {
47289  return *reinterpret_cast<VkMicromapVersionInfoEXT *>( this );
47290  }
47291 
47292 #if defined( VULKAN_HPP_USE_REFLECT )
47293 # if 14 <= VULKAN_HPP_CPP_VERSION
47294  auto
47295 # else
47296  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, const uint8_t * const &>
47297 # endif
47298  reflect() const VULKAN_HPP_NOEXCEPT
47299  {
47300  return std::tie( sType, pNext, pVersionData );
47301  }
47302 #endif
47303 
47304 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
47305  auto operator<=>( MicromapVersionInfoEXT const & ) const = default;
47306 #else
47308  {
47309 # if defined( VULKAN_HPP_USE_REFLECT )
47310  return this->reflect() == rhs.reflect();
47311 # else
47312  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pVersionData == rhs.pVersionData );
47313 # endif
47314  }
47315 
47317  {
47318  return !operator==( rhs );
47319  }
47320 #endif
47321 
47322  public:
47323  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMicromapVersionInfoEXT;
47324  const void * pNext = {};
47325  const uint8_t * pVersionData = {};
47326  };
47327 
47328  template <>
47330  {
47332  };
47333 
47335  {
47337 
47338 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
47339  VULKAN_HPP_CONSTEXPR MultiDrawIndexedInfoEXT( uint32_t firstIndex_ = {}, uint32_t indexCount_ = {}, int32_t vertexOffset_ = {} ) VULKAN_HPP_NOEXCEPT
47340  : firstIndex( firstIndex_ )
47341  , indexCount( indexCount_ )
47342  , vertexOffset( vertexOffset_ )
47343  {
47344  }
47345 
47346  VULKAN_HPP_CONSTEXPR MultiDrawIndexedInfoEXT( MultiDrawIndexedInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
47347 
47349  : MultiDrawIndexedInfoEXT( *reinterpret_cast<MultiDrawIndexedInfoEXT const *>( &rhs ) )
47350  {
47351  }
47352 
47353  MultiDrawIndexedInfoEXT & operator=( MultiDrawIndexedInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
47354 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
47355 
47357  {
47358  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MultiDrawIndexedInfoEXT const *>( &rhs );
47359  return *this;
47360  }
47361 
47362 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
47364  {
47365  firstIndex = firstIndex_;
47366  return *this;
47367  }
47368 
47370  {
47371  indexCount = indexCount_;
47372  return *this;
47373  }
47374 
47376  {
47377  vertexOffset = vertexOffset_;
47378  return *this;
47379  }
47380 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
47381 
47383  {
47384  return *reinterpret_cast<const VkMultiDrawIndexedInfoEXT *>( this );
47385  }
47386 
47388  {
47389  return *reinterpret_cast<VkMultiDrawIndexedInfoEXT *>( this );
47390  }
47391 
47392 #if defined( VULKAN_HPP_USE_REFLECT )
47393 # if 14 <= VULKAN_HPP_CPP_VERSION
47394  auto
47395 # else
47396  std::tuple<uint32_t const &, uint32_t const &, int32_t const &>
47397 # endif
47398  reflect() const VULKAN_HPP_NOEXCEPT
47399  {
47400  return std::tie( firstIndex, indexCount, vertexOffset );
47401  }
47402 #endif
47403 
47404 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
47405  auto operator<=>( MultiDrawIndexedInfoEXT const & ) const = default;
47406 #else
47408  {
47409 # if defined( VULKAN_HPP_USE_REFLECT )
47410  return this->reflect() == rhs.reflect();
47411 # else
47412  return ( firstIndex == rhs.firstIndex ) && ( indexCount == rhs.indexCount ) && ( vertexOffset == rhs.vertexOffset );
47413 # endif
47414  }
47415 
47417  {
47418  return !operator==( rhs );
47419  }
47420 #endif
47421 
47422  public:
47423  uint32_t firstIndex = {};
47424  uint32_t indexCount = {};
47425  int32_t vertexOffset = {};
47426  };
47427 
47429  {
47431 
47432 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
47433  VULKAN_HPP_CONSTEXPR MultiDrawInfoEXT( uint32_t firstVertex_ = {}, uint32_t vertexCount_ = {} ) VULKAN_HPP_NOEXCEPT
47434  : firstVertex( firstVertex_ )
47435  , vertexCount( vertexCount_ )
47436  {
47437  }
47438 
47439  VULKAN_HPP_CONSTEXPR MultiDrawInfoEXT( MultiDrawInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
47440 
47441  MultiDrawInfoEXT( VkMultiDrawInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT : MultiDrawInfoEXT( *reinterpret_cast<MultiDrawInfoEXT const *>( &rhs ) ) {}
47442 
47443  MultiDrawInfoEXT & operator=( MultiDrawInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
47444 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
47445 
47447  {
47448  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MultiDrawInfoEXT const *>( &rhs );
47449  return *this;
47450  }
47451 
47452 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
47454  {
47455  firstVertex = firstVertex_;
47456  return *this;
47457  }
47458 
47460  {
47461  vertexCount = vertexCount_;
47462  return *this;
47463  }
47464 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
47465 
47466  operator VkMultiDrawInfoEXT const &() const VULKAN_HPP_NOEXCEPT
47467  {
47468  return *reinterpret_cast<const VkMultiDrawInfoEXT *>( this );
47469  }
47470 
47472  {
47473  return *reinterpret_cast<VkMultiDrawInfoEXT *>( this );
47474  }
47475 
47476 #if defined( VULKAN_HPP_USE_REFLECT )
47477 # if 14 <= VULKAN_HPP_CPP_VERSION
47478  auto
47479 # else
47480  std::tuple<uint32_t const &, uint32_t const &>
47481 # endif
47482  reflect() const VULKAN_HPP_NOEXCEPT
47483  {
47484  return std::tie( firstVertex, vertexCount );
47485  }
47486 #endif
47487 
47488 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
47489  auto operator<=>( MultiDrawInfoEXT const & ) const = default;
47490 #else
47492  {
47493 # if defined( VULKAN_HPP_USE_REFLECT )
47494  return this->reflect() == rhs.reflect();
47495 # else
47496  return ( firstVertex == rhs.firstVertex ) && ( vertexCount == rhs.vertexCount );
47497 # endif
47498  }
47499 
47501  {
47502  return !operator==( rhs );
47503  }
47504 #endif
47505 
47506  public:
47507  uint32_t firstVertex = {};
47508  uint32_t vertexCount = {};
47509  };
47510 
47512  {
47514 
47515  static const bool allowDuplicate = false;
47516  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMultisamplePropertiesEXT;
47517 
47518 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
47519  VULKAN_HPP_CONSTEXPR MultisamplePropertiesEXT( VULKAN_HPP_NAMESPACE::Extent2D maxSampleLocationGridSize_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
47520  : pNext( pNext_ )
47521  , maxSampleLocationGridSize( maxSampleLocationGridSize_ )
47522  {
47523  }
47524 
47525  VULKAN_HPP_CONSTEXPR MultisamplePropertiesEXT( MultisamplePropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
47526 
47528  : MultisamplePropertiesEXT( *reinterpret_cast<MultisamplePropertiesEXT const *>( &rhs ) )
47529  {
47530  }
47531 
47532  MultisamplePropertiesEXT & operator=( MultisamplePropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
47533 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
47534 
47536  {
47537  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MultisamplePropertiesEXT const *>( &rhs );
47538  return *this;
47539  }
47540 
47542  {
47543  return *reinterpret_cast<const VkMultisamplePropertiesEXT *>( this );
47544  }
47545 
47547  {
47548  return *reinterpret_cast<VkMultisamplePropertiesEXT *>( this );
47549  }
47550 
47551 #if defined( VULKAN_HPP_USE_REFLECT )
47552 # if 14 <= VULKAN_HPP_CPP_VERSION
47553  auto
47554 # else
47555  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Extent2D const &>
47556 # endif
47557  reflect() const VULKAN_HPP_NOEXCEPT
47558  {
47559  return std::tie( sType, pNext, maxSampleLocationGridSize );
47560  }
47561 #endif
47562 
47563 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
47564  auto operator<=>( MultisamplePropertiesEXT const & ) const = default;
47565 #else
47567  {
47568 # if defined( VULKAN_HPP_USE_REFLECT )
47569  return this->reflect() == rhs.reflect();
47570 # else
47571  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxSampleLocationGridSize == rhs.maxSampleLocationGridSize );
47572 # endif
47573  }
47574 
47576  {
47577  return !operator==( rhs );
47578  }
47579 #endif
47580 
47581  public:
47582  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMultisamplePropertiesEXT;
47583  void * pNext = {};
47584  VULKAN_HPP_NAMESPACE::Extent2D maxSampleLocationGridSize = {};
47585  };
47586 
47587  template <>
47589  {
47591  };
47592 
47594  {
47596 
47597  static const bool allowDuplicate = false;
47598  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMultisampledRenderToSingleSampledInfoEXT;
47599 
47600 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
47602  MultisampledRenderToSingleSampledInfoEXT( VULKAN_HPP_NAMESPACE::Bool32 multisampledRenderToSingleSampledEnable_ = {},
47604  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
47605  : pNext( pNext_ )
47606  , multisampledRenderToSingleSampledEnable( multisampledRenderToSingleSampledEnable_ )
47607  , rasterizationSamples( rasterizationSamples_ )
47608  {
47609  }
47610 
47611  VULKAN_HPP_CONSTEXPR MultisampledRenderToSingleSampledInfoEXT( MultisampledRenderToSingleSampledInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
47612 
47614  : MultisampledRenderToSingleSampledInfoEXT( *reinterpret_cast<MultisampledRenderToSingleSampledInfoEXT const *>( &rhs ) )
47615  {
47616  }
47617 
47619 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
47620 
47622  {
47623  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MultisampledRenderToSingleSampledInfoEXT const *>( &rhs );
47624  return *this;
47625  }
47626 
47627 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
47629  {
47630  pNext = pNext_;
47631  return *this;
47632  }
47633 
47636  {
47637  multisampledRenderToSingleSampledEnable = multisampledRenderToSingleSampledEnable_;
47638  return *this;
47639  }
47640 
47643  {
47644  rasterizationSamples = rasterizationSamples_;
47645  return *this;
47646  }
47647 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
47648 
47650  {
47651  return *reinterpret_cast<const VkMultisampledRenderToSingleSampledInfoEXT *>( this );
47652  }
47653 
47655  {
47656  return *reinterpret_cast<VkMultisampledRenderToSingleSampledInfoEXT *>( this );
47657  }
47658 
47659 #if defined( VULKAN_HPP_USE_REFLECT )
47660 # if 14 <= VULKAN_HPP_CPP_VERSION
47661  auto
47662 # else
47663  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
47664  const void * const &,
47667 # endif
47668  reflect() const VULKAN_HPP_NOEXCEPT
47669  {
47670  return std::tie( sType, pNext, multisampledRenderToSingleSampledEnable, rasterizationSamples );
47671  }
47672 #endif
47673 
47674 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
47675  auto operator<=>( MultisampledRenderToSingleSampledInfoEXT const & ) const = default;
47676 #else
47678  {
47679 # if defined( VULKAN_HPP_USE_REFLECT )
47680  return this->reflect() == rhs.reflect();
47681 # else
47682  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( multisampledRenderToSingleSampledEnable == rhs.multisampledRenderToSingleSampledEnable ) &&
47683  ( rasterizationSamples == rhs.rasterizationSamples );
47684 # endif
47685  }
47686 
47688  {
47689  return !operator==( rhs );
47690  }
47691 #endif
47692 
47693  public:
47694  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMultisampledRenderToSingleSampledInfoEXT;
47695  const void * pNext = {};
47696  VULKAN_HPP_NAMESPACE::Bool32 multisampledRenderToSingleSampledEnable = {};
47698  };
47699 
47700  template <>
47702  {
47704  };
47705 
47707  {
47709 
47710  static const bool allowDuplicate = false;
47711  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMultiviewPerViewAttributesInfoNVX;
47712 
47713 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
47715  VULKAN_HPP_NAMESPACE::Bool32 perViewAttributesPositionXOnly_ = {},
47716  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
47717  : pNext( pNext_ )
47718  , perViewAttributes( perViewAttributes_ )
47719  , perViewAttributesPositionXOnly( perViewAttributesPositionXOnly_ )
47720  {
47721  }
47722 
47723  VULKAN_HPP_CONSTEXPR MultiviewPerViewAttributesInfoNVX( MultiviewPerViewAttributesInfoNVX const & rhs ) VULKAN_HPP_NOEXCEPT = default;
47724 
47726  : MultiviewPerViewAttributesInfoNVX( *reinterpret_cast<MultiviewPerViewAttributesInfoNVX const *>( &rhs ) )
47727  {
47728  }
47729 
47731 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
47732 
47734  {
47735  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MultiviewPerViewAttributesInfoNVX const *>( &rhs );
47736  return *this;
47737  }
47738 
47739 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
47741  {
47742  pNext = pNext_;
47743  return *this;
47744  }
47745 
47747  {
47748  perViewAttributes = perViewAttributes_;
47749  return *this;
47750  }
47751 
47754  {
47755  perViewAttributesPositionXOnly = perViewAttributesPositionXOnly_;
47756  return *this;
47757  }
47758 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
47759 
47761  {
47762  return *reinterpret_cast<const VkMultiviewPerViewAttributesInfoNVX *>( this );
47763  }
47764 
47766  {
47767  return *reinterpret_cast<VkMultiviewPerViewAttributesInfoNVX *>( this );
47768  }
47769 
47770 #if defined( VULKAN_HPP_USE_REFLECT )
47771 # if 14 <= VULKAN_HPP_CPP_VERSION
47772  auto
47773 # else
47774  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
47775 # endif
47776  reflect() const VULKAN_HPP_NOEXCEPT
47777  {
47778  return std::tie( sType, pNext, perViewAttributes, perViewAttributesPositionXOnly );
47779  }
47780 #endif
47781 
47782 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
47783  auto operator<=>( MultiviewPerViewAttributesInfoNVX const & ) const = default;
47784 #else
47786  {
47787 # if defined( VULKAN_HPP_USE_REFLECT )
47788  return this->reflect() == rhs.reflect();
47789 # else
47790  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( perViewAttributes == rhs.perViewAttributes ) &&
47791  ( perViewAttributesPositionXOnly == rhs.perViewAttributesPositionXOnly );
47792 # endif
47793  }
47794 
47796  {
47797  return !operator==( rhs );
47798  }
47799 #endif
47800 
47801  public:
47802  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMultiviewPerViewAttributesInfoNVX;
47803  const void * pNext = {};
47804  VULKAN_HPP_NAMESPACE::Bool32 perViewAttributes = {};
47805  VULKAN_HPP_NAMESPACE::Bool32 perViewAttributesPositionXOnly = {};
47806  };
47807 
47808  template <>
47810  {
47812  };
47813 
47815  {
47817 
47818 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
47819  VULKAN_HPP_CONSTEXPR MutableDescriptorTypeListEXT( uint32_t descriptorTypeCount_ = {},
47820  const VULKAN_HPP_NAMESPACE::DescriptorType * pDescriptorTypes_ = {} ) VULKAN_HPP_NOEXCEPT
47821  : descriptorTypeCount( descriptorTypeCount_ )
47822  , pDescriptorTypes( pDescriptorTypes_ )
47823  {
47824  }
47825 
47826  VULKAN_HPP_CONSTEXPR MutableDescriptorTypeListEXT( MutableDescriptorTypeListEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
47827 
47829  : MutableDescriptorTypeListEXT( *reinterpret_cast<MutableDescriptorTypeListEXT const *>( &rhs ) )
47830  {
47831  }
47832 
47833 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
47835  : descriptorTypeCount( static_cast<uint32_t>( descriptorTypes_.size() ) ), pDescriptorTypes( descriptorTypes_.data() )
47836  {
47837  }
47838 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
47839 
47841 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
47842 
47844  {
47845  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MutableDescriptorTypeListEXT const *>( &rhs );
47846  return *this;
47847  }
47848 
47849 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
47851  {
47852  descriptorTypeCount = descriptorTypeCount_;
47853  return *this;
47854  }
47855 
47858  {
47859  pDescriptorTypes = pDescriptorTypes_;
47860  return *this;
47861  }
47862 
47863 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
47866  {
47867  descriptorTypeCount = static_cast<uint32_t>( descriptorTypes_.size() );
47868  pDescriptorTypes = descriptorTypes_.data();
47869  return *this;
47870  }
47871 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
47872 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
47873 
47875  {
47876  return *reinterpret_cast<const VkMutableDescriptorTypeListEXT *>( this );
47877  }
47878 
47880  {
47881  return *reinterpret_cast<VkMutableDescriptorTypeListEXT *>( this );
47882  }
47883 
47884 #if defined( VULKAN_HPP_USE_REFLECT )
47885 # if 14 <= VULKAN_HPP_CPP_VERSION
47886  auto
47887 # else
47888  std::tuple<uint32_t const &, const VULKAN_HPP_NAMESPACE::DescriptorType * const &>
47889 # endif
47890  reflect() const VULKAN_HPP_NOEXCEPT
47891  {
47892  return std::tie( descriptorTypeCount, pDescriptorTypes );
47893  }
47894 #endif
47895 
47896 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
47897  auto operator<=>( MutableDescriptorTypeListEXT const & ) const = default;
47898 #else
47900  {
47901 # if defined( VULKAN_HPP_USE_REFLECT )
47902  return this->reflect() == rhs.reflect();
47903 # else
47904  return ( descriptorTypeCount == rhs.descriptorTypeCount ) && ( pDescriptorTypes == rhs.pDescriptorTypes );
47905 # endif
47906  }
47907 
47909  {
47910  return !operator==( rhs );
47911  }
47912 #endif
47913 
47914  public:
47915  uint32_t descriptorTypeCount = {};
47916  const VULKAN_HPP_NAMESPACE::DescriptorType * pDescriptorTypes = {};
47917  };
47918  using MutableDescriptorTypeListVALVE = MutableDescriptorTypeListEXT;
47919 
47921  {
47923 
47924  static const bool allowDuplicate = false;
47925  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMutableDescriptorTypeCreateInfoEXT;
47926 
47927 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
47928  VULKAN_HPP_CONSTEXPR MutableDescriptorTypeCreateInfoEXT( uint32_t mutableDescriptorTypeListCount_ = {},
47929  const VULKAN_HPP_NAMESPACE::MutableDescriptorTypeListEXT * pMutableDescriptorTypeLists_ = {},
47930  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
47931  : pNext( pNext_ )
47932  , mutableDescriptorTypeListCount( mutableDescriptorTypeListCount_ )
47933  , pMutableDescriptorTypeLists( pMutableDescriptorTypeLists_ )
47934  {
47935  }
47936 
47937  VULKAN_HPP_CONSTEXPR MutableDescriptorTypeCreateInfoEXT( MutableDescriptorTypeCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
47938 
47940  : MutableDescriptorTypeCreateInfoEXT( *reinterpret_cast<MutableDescriptorTypeCreateInfoEXT const *>( &rhs ) )
47941  {
47942  }
47943 
47944 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
47947  const void * pNext_ = nullptr )
47948  : pNext( pNext_ )
47949  , mutableDescriptorTypeListCount( static_cast<uint32_t>( mutableDescriptorTypeLists_.size() ) )
47950  , pMutableDescriptorTypeLists( mutableDescriptorTypeLists_.data() )
47951  {
47952  }
47953 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
47954 
47956 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
47957 
47959  {
47960  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MutableDescriptorTypeCreateInfoEXT const *>( &rhs );
47961  return *this;
47962  }
47963 
47964 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
47966  {
47967  pNext = pNext_;
47968  return *this;
47969  }
47970 
47972  setMutableDescriptorTypeListCount( uint32_t mutableDescriptorTypeListCount_ ) VULKAN_HPP_NOEXCEPT
47973  {
47974  mutableDescriptorTypeListCount = mutableDescriptorTypeListCount_;
47975  return *this;
47976  }
47977 
47980  {
47981  pMutableDescriptorTypeLists = pMutableDescriptorTypeLists_;
47982  return *this;
47983  }
47984 
47985 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
47989  {
47990  mutableDescriptorTypeListCount = static_cast<uint32_t>( mutableDescriptorTypeLists_.size() );
47991  pMutableDescriptorTypeLists = mutableDescriptorTypeLists_.data();
47992  return *this;
47993  }
47994 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
47995 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
47996 
47998  {
47999  return *reinterpret_cast<const VkMutableDescriptorTypeCreateInfoEXT *>( this );
48000  }
48001 
48003  {
48004  return *reinterpret_cast<VkMutableDescriptorTypeCreateInfoEXT *>( this );
48005  }
48006 
48007 #if defined( VULKAN_HPP_USE_REFLECT )
48008 # if 14 <= VULKAN_HPP_CPP_VERSION
48009  auto
48010 # else
48011  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
48012  const void * const &,
48013  uint32_t const &,
48015 # endif
48016  reflect() const VULKAN_HPP_NOEXCEPT
48017  {
48018  return std::tie( sType, pNext, mutableDescriptorTypeListCount, pMutableDescriptorTypeLists );
48019  }
48020 #endif
48021 
48022 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
48023  auto operator<=>( MutableDescriptorTypeCreateInfoEXT const & ) const = default;
48024 #else
48026  {
48027 # if defined( VULKAN_HPP_USE_REFLECT )
48028  return this->reflect() == rhs.reflect();
48029 # else
48030  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( mutableDescriptorTypeListCount == rhs.mutableDescriptorTypeListCount ) &&
48031  ( pMutableDescriptorTypeLists == rhs.pMutableDescriptorTypeLists );
48032 # endif
48033  }
48034 
48036  {
48037  return !operator==( rhs );
48038  }
48039 #endif
48040 
48041  public:
48042  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMutableDescriptorTypeCreateInfoEXT;
48043  const void * pNext = {};
48044  uint32_t mutableDescriptorTypeListCount = {};
48045  const VULKAN_HPP_NAMESPACE::MutableDescriptorTypeListEXT * pMutableDescriptorTypeLists = {};
48046  };
48047 
48048  template <>
48050  {
48052  };
48054 
48056  {
48058 
48059  static const bool allowDuplicate = false;
48060  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eOpaqueCaptureDescriptorDataCreateInfoEXT;
48061 
48062 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
48063  VULKAN_HPP_CONSTEXPR OpaqueCaptureDescriptorDataCreateInfoEXT( const void * opaqueCaptureDescriptorData_ = {},
48064  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
48065  : pNext( pNext_ )
48066  , opaqueCaptureDescriptorData( opaqueCaptureDescriptorData_ )
48067  {
48068  }
48069 
48070  VULKAN_HPP_CONSTEXPR OpaqueCaptureDescriptorDataCreateInfoEXT( OpaqueCaptureDescriptorDataCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
48071 
48073  : OpaqueCaptureDescriptorDataCreateInfoEXT( *reinterpret_cast<OpaqueCaptureDescriptorDataCreateInfoEXT const *>( &rhs ) )
48074  {
48075  }
48076 
48078 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
48079 
48081  {
48082  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::OpaqueCaptureDescriptorDataCreateInfoEXT const *>( &rhs );
48083  return *this;
48084  }
48085 
48086 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
48088  {
48089  pNext = pNext_;
48090  return *this;
48091  }
48092 
48094  setOpaqueCaptureDescriptorData( const void * opaqueCaptureDescriptorData_ ) VULKAN_HPP_NOEXCEPT
48095  {
48096  opaqueCaptureDescriptorData = opaqueCaptureDescriptorData_;
48097  return *this;
48098  }
48099 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
48100 
48102  {
48103  return *reinterpret_cast<const VkOpaqueCaptureDescriptorDataCreateInfoEXT *>( this );
48104  }
48105 
48107  {
48108  return *reinterpret_cast<VkOpaqueCaptureDescriptorDataCreateInfoEXT *>( this );
48109  }
48110 
48111 #if defined( VULKAN_HPP_USE_REFLECT )
48112 # if 14 <= VULKAN_HPP_CPP_VERSION
48113  auto
48114 # else
48115  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, const void * const &>
48116 # endif
48117  reflect() const VULKAN_HPP_NOEXCEPT
48118  {
48119  return std::tie( sType, pNext, opaqueCaptureDescriptorData );
48120  }
48121 #endif
48122 
48123 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
48124  auto operator<=>( OpaqueCaptureDescriptorDataCreateInfoEXT const & ) const = default;
48125 #else
48127  {
48128 # if defined( VULKAN_HPP_USE_REFLECT )
48129  return this->reflect() == rhs.reflect();
48130 # else
48131  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( opaqueCaptureDescriptorData == rhs.opaqueCaptureDescriptorData );
48132 # endif
48133  }
48134 
48136  {
48137  return !operator==( rhs );
48138  }
48139 #endif
48140 
48141  public:
48142  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eOpaqueCaptureDescriptorDataCreateInfoEXT;
48143  const void * pNext = {};
48144  const void * opaqueCaptureDescriptorData = {};
48145  };
48146 
48147  template <>
48149  {
48151  };
48152 
48154  {
48156 
48157  static const bool allowDuplicate = false;
48158  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eOpticalFlowExecuteInfoNV;
48159 
48160 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
48162  uint32_t regionCount_ = {},
48163  const VULKAN_HPP_NAMESPACE::Rect2D * pRegions_ = {},
48164  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
48165  : pNext( pNext_ )
48166  , flags( flags_ )
48167  , regionCount( regionCount_ )
48168  , pRegions( pRegions_ )
48169  {
48170  }
48171 
48172  VULKAN_HPP_CONSTEXPR OpticalFlowExecuteInfoNV( OpticalFlowExecuteInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
48173 
48175  : OpticalFlowExecuteInfoNV( *reinterpret_cast<OpticalFlowExecuteInfoNV const *>( &rhs ) )
48176  {
48177  }
48178 
48179 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
48182  void * pNext_ = nullptr )
48183  : pNext( pNext_ ), flags( flags_ ), regionCount( static_cast<uint32_t>( regions_.size() ) ), pRegions( regions_.data() )
48184  {
48185  }
48186 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
48187 
48188  OpticalFlowExecuteInfoNV & operator=( OpticalFlowExecuteInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
48189 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
48190 
48192  {
48193  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::OpticalFlowExecuteInfoNV const *>( &rhs );
48194  return *this;
48195  }
48196 
48197 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
48199  {
48200  pNext = pNext_;
48201  return *this;
48202  }
48203 
48205  {
48206  flags = flags_;
48207  return *this;
48208  }
48209 
48211  {
48212  regionCount = regionCount_;
48213  return *this;
48214  }
48215 
48217  {
48218  pRegions = pRegions_;
48219  return *this;
48220  }
48221 
48222 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
48225  {
48226  regionCount = static_cast<uint32_t>( regions_.size() );
48227  pRegions = regions_.data();
48228  return *this;
48229  }
48230 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
48231 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
48232 
48234  {
48235  return *reinterpret_cast<const VkOpticalFlowExecuteInfoNV *>( this );
48236  }
48237 
48239  {
48240  return *reinterpret_cast<VkOpticalFlowExecuteInfoNV *>( this );
48241  }
48242 
48243 #if defined( VULKAN_HPP_USE_REFLECT )
48244 # if 14 <= VULKAN_HPP_CPP_VERSION
48245  auto
48246 # else
48247  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
48248  void * const &,
48250  uint32_t const &,
48251  const VULKAN_HPP_NAMESPACE::Rect2D * const &>
48252 # endif
48253  reflect() const VULKAN_HPP_NOEXCEPT
48254  {
48255  return std::tie( sType, pNext, flags, regionCount, pRegions );
48256  }
48257 #endif
48258 
48259 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
48260  auto operator<=>( OpticalFlowExecuteInfoNV const & ) const = default;
48261 #else
48263  {
48264 # if defined( VULKAN_HPP_USE_REFLECT )
48265  return this->reflect() == rhs.reflect();
48266 # else
48267  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( regionCount == rhs.regionCount ) && ( pRegions == rhs.pRegions );
48268 # endif
48269  }
48270 
48272  {
48273  return !operator==( rhs );
48274  }
48275 #endif
48276 
48277  public:
48278  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eOpticalFlowExecuteInfoNV;
48279  void * pNext = {};
48281  uint32_t regionCount = {};
48282  const VULKAN_HPP_NAMESPACE::Rect2D * pRegions = {};
48283  };
48284 
48285  template <>
48287  {
48289  };
48290 
48292  {
48294 
48295  static const bool allowDuplicate = false;
48296  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eOpticalFlowImageFormatInfoNV;
48297 
48298 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
48300  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
48301  : pNext( pNext_ )
48302  , usage( usage_ )
48303  {
48304  }
48305 
48306  VULKAN_HPP_CONSTEXPR OpticalFlowImageFormatInfoNV( OpticalFlowImageFormatInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
48307 
48309  : OpticalFlowImageFormatInfoNV( *reinterpret_cast<OpticalFlowImageFormatInfoNV const *>( &rhs ) )
48310  {
48311  }
48312 
48314 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
48315 
48317  {
48318  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::OpticalFlowImageFormatInfoNV const *>( &rhs );
48319  return *this;
48320  }
48321 
48322 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
48324  {
48325  pNext = pNext_;
48326  return *this;
48327  }
48328 
48330  {
48331  usage = usage_;
48332  return *this;
48333  }
48334 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
48335 
48337  {
48338  return *reinterpret_cast<const VkOpticalFlowImageFormatInfoNV *>( this );
48339  }
48340 
48342  {
48343  return *reinterpret_cast<VkOpticalFlowImageFormatInfoNV *>( this );
48344  }
48345 
48346 #if defined( VULKAN_HPP_USE_REFLECT )
48347 # if 14 <= VULKAN_HPP_CPP_VERSION
48348  auto
48349 # else
48350  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::OpticalFlowUsageFlagsNV const &>
48351 # endif
48352  reflect() const VULKAN_HPP_NOEXCEPT
48353  {
48354  return std::tie( sType, pNext, usage );
48355  }
48356 #endif
48357 
48358 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
48359  auto operator<=>( OpticalFlowImageFormatInfoNV const & ) const = default;
48360 #else
48362  {
48363 # if defined( VULKAN_HPP_USE_REFLECT )
48364  return this->reflect() == rhs.reflect();
48365 # else
48366  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( usage == rhs.usage );
48367 # endif
48368  }
48369 
48371  {
48372  return !operator==( rhs );
48373  }
48374 #endif
48375 
48376  public:
48377  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eOpticalFlowImageFormatInfoNV;
48378  const void * pNext = {};
48380  };
48381 
48382  template <>
48384  {
48386  };
48387 
48389  {
48391 
48392  static const bool allowDuplicate = false;
48393  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eOpticalFlowImageFormatPropertiesNV;
48394 
48395 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
48397  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
48398  : pNext( pNext_ )
48399  , format( format_ )
48400  {
48401  }
48402 
48404 
48406  : OpticalFlowImageFormatPropertiesNV( *reinterpret_cast<OpticalFlowImageFormatPropertiesNV const *>( &rhs ) )
48407  {
48408  }
48409 
48411 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
48412 
48414  {
48415  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::OpticalFlowImageFormatPropertiesNV const *>( &rhs );
48416  return *this;
48417  }
48418 
48420  {
48421  return *reinterpret_cast<const VkOpticalFlowImageFormatPropertiesNV *>( this );
48422  }
48423 
48425  {
48426  return *reinterpret_cast<VkOpticalFlowImageFormatPropertiesNV *>( this );
48427  }
48428 
48429 #if defined( VULKAN_HPP_USE_REFLECT )
48430 # if 14 <= VULKAN_HPP_CPP_VERSION
48431  auto
48432 # else
48433  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::Format const &>
48434 # endif
48435  reflect() const VULKAN_HPP_NOEXCEPT
48436  {
48437  return std::tie( sType, pNext, format );
48438  }
48439 #endif
48440 
48441 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
48442  auto operator<=>( OpticalFlowImageFormatPropertiesNV const & ) const = default;
48443 #else
48445  {
48446 # if defined( VULKAN_HPP_USE_REFLECT )
48447  return this->reflect() == rhs.reflect();
48448 # else
48449  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( format == rhs.format );
48450 # endif
48451  }
48452 
48454  {
48455  return !operator==( rhs );
48456  }
48457 #endif
48458 
48459  public:
48460  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eOpticalFlowImageFormatPropertiesNV;
48461  const void * pNext = {};
48463  };
48464 
48465  template <>
48467  {
48469  };
48470 
48472  {
48474 
48475  static const bool allowDuplicate = false;
48476  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eOpticalFlowSessionCreateInfoNV;
48477 
48478 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
48480  uint32_t width_ = {},
48481  uint32_t height_ = {},
48489  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
48490  : pNext( pNext_ )
48491  , width( width_ )
48492  , height( height_ )
48493  , imageFormat( imageFormat_ )
48494  , flowVectorFormat( flowVectorFormat_ )
48495  , costFormat( costFormat_ )
48496  , outputGridSize( outputGridSize_ )
48497  , hintGridSize( hintGridSize_ )
48498  , performanceLevel( performanceLevel_ )
48499  , flags( flags_ )
48500  {
48501  }
48502 
48503  VULKAN_HPP_CONSTEXPR OpticalFlowSessionCreateInfoNV( OpticalFlowSessionCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
48504 
48506  : OpticalFlowSessionCreateInfoNV( *reinterpret_cast<OpticalFlowSessionCreateInfoNV const *>( &rhs ) )
48507  {
48508  }
48509 
48511 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
48512 
48514  {
48515  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::OpticalFlowSessionCreateInfoNV const *>( &rhs );
48516  return *this;
48517  }
48518 
48519 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
48521  {
48522  pNext = pNext_;
48523  return *this;
48524  }
48525 
48527  {
48528  width = width_;
48529  return *this;
48530  }
48531 
48533  {
48534  height = height_;
48535  return *this;
48536  }
48537 
48539  {
48540  imageFormat = imageFormat_;
48541  return *this;
48542  }
48543 
48545  {
48546  flowVectorFormat = flowVectorFormat_;
48547  return *this;
48548  }
48549 
48551  {
48552  costFormat = costFormat_;
48553  return *this;
48554  }
48555 
48558  {
48559  outputGridSize = outputGridSize_;
48560  return *this;
48561  }
48562 
48565  {
48566  hintGridSize = hintGridSize_;
48567  return *this;
48568  }
48569 
48572  {
48573  performanceLevel = performanceLevel_;
48574  return *this;
48575  }
48576 
48578  {
48579  flags = flags_;
48580  return *this;
48581  }
48582 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
48583 
48585  {
48586  return *reinterpret_cast<const VkOpticalFlowSessionCreateInfoNV *>( this );
48587  }
48588 
48590  {
48591  return *reinterpret_cast<VkOpticalFlowSessionCreateInfoNV *>( this );
48592  }
48593 
48594 #if defined( VULKAN_HPP_USE_REFLECT )
48595 # if 14 <= VULKAN_HPP_CPP_VERSION
48596  auto
48597 # else
48598  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
48599  void * const &,
48600  uint32_t const &,
48601  uint32_t const &,
48609 # endif
48610  reflect() const VULKAN_HPP_NOEXCEPT
48611  {
48612  return std::tie( sType, pNext, width, height, imageFormat, flowVectorFormat, costFormat, outputGridSize, hintGridSize, performanceLevel, flags );
48613  }
48614 #endif
48615 
48616 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
48617  auto operator<=>( OpticalFlowSessionCreateInfoNV const & ) const = default;
48618 #else
48620  {
48621 # if defined( VULKAN_HPP_USE_REFLECT )
48622  return this->reflect() == rhs.reflect();
48623 # else
48624  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( width == rhs.width ) && ( height == rhs.height ) && ( imageFormat == rhs.imageFormat ) &&
48625  ( flowVectorFormat == rhs.flowVectorFormat ) && ( costFormat == rhs.costFormat ) && ( outputGridSize == rhs.outputGridSize ) &&
48626  ( hintGridSize == rhs.hintGridSize ) && ( performanceLevel == rhs.performanceLevel ) && ( flags == rhs.flags );
48627 # endif
48628  }
48629 
48631  {
48632  return !operator==( rhs );
48633  }
48634 #endif
48635 
48636  public:
48637  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eOpticalFlowSessionCreateInfoNV;
48638  void * pNext = {};
48639  uint32_t width = {};
48640  uint32_t height = {};
48648  };
48649 
48650  template <>
48652  {
48654  };
48655 
48657  {
48659 
48660  static const bool allowDuplicate = false;
48661  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eOpticalFlowSessionCreatePrivateDataInfoNV;
48662 
48663 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
48665  uint32_t size_ = {},
48666  const void * pPrivateData_ = {},
48667  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
48668  : pNext( pNext_ )
48669  , id( id_ )
48670  , size( size_ )
48671  , pPrivateData( pPrivateData_ )
48672  {
48673  }
48674 
48675  VULKAN_HPP_CONSTEXPR OpticalFlowSessionCreatePrivateDataInfoNV( OpticalFlowSessionCreatePrivateDataInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
48676 
48678  : OpticalFlowSessionCreatePrivateDataInfoNV( *reinterpret_cast<OpticalFlowSessionCreatePrivateDataInfoNV const *>( &rhs ) )
48679  {
48680  }
48681 
48683 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
48684 
48686  {
48687  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::OpticalFlowSessionCreatePrivateDataInfoNV const *>( &rhs );
48688  return *this;
48689  }
48690 
48691 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
48693  {
48694  pNext = pNext_;
48695  return *this;
48696  }
48697 
48699  {
48700  id = id_;
48701  return *this;
48702  }
48703 
48705  {
48706  size = size_;
48707  return *this;
48708  }
48709 
48711  {
48712  pPrivateData = pPrivateData_;
48713  return *this;
48714  }
48715 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
48716 
48718  {
48719  return *reinterpret_cast<const VkOpticalFlowSessionCreatePrivateDataInfoNV *>( this );
48720  }
48721 
48723  {
48724  return *reinterpret_cast<VkOpticalFlowSessionCreatePrivateDataInfoNV *>( this );
48725  }
48726 
48727 #if defined( VULKAN_HPP_USE_REFLECT )
48728 # if 14 <= VULKAN_HPP_CPP_VERSION
48729  auto
48730 # else
48731  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, uint32_t const &, uint32_t const &, const void * const &>
48732 # endif
48733  reflect() const VULKAN_HPP_NOEXCEPT
48734  {
48735  return std::tie( sType, pNext, id, size, pPrivateData );
48736  }
48737 #endif
48738 
48739 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
48740  auto operator<=>( OpticalFlowSessionCreatePrivateDataInfoNV const & ) const = default;
48741 #else
48743  {
48744 # if defined( VULKAN_HPP_USE_REFLECT )
48745  return this->reflect() == rhs.reflect();
48746 # else
48747  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( id == rhs.id ) && ( size == rhs.size ) && ( pPrivateData == rhs.pPrivateData );
48748 # endif
48749  }
48750 
48752  {
48753  return !operator==( rhs );
48754  }
48755 #endif
48756 
48757  public:
48758  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eOpticalFlowSessionCreatePrivateDataInfoNV;
48759  void * pNext = {};
48760  uint32_t id = {};
48761  uint32_t size = {};
48762  const void * pPrivateData = {};
48763  };
48764 
48765  template <>
48767  {
48769  };
48770 
48772  {
48774 
48775 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
48777  uint64_t desiredPresentTime_ = {},
48778  uint64_t actualPresentTime_ = {},
48779  uint64_t earliestPresentTime_ = {},
48780  uint64_t presentMargin_ = {} ) VULKAN_HPP_NOEXCEPT
48781  : presentID( presentID_ )
48782  , desiredPresentTime( desiredPresentTime_ )
48783  , actualPresentTime( actualPresentTime_ )
48784  , earliestPresentTime( earliestPresentTime_ )
48785  , presentMargin( presentMargin_ )
48786  {
48787  }
48788 
48789  VULKAN_HPP_CONSTEXPR PastPresentationTimingGOOGLE( PastPresentationTimingGOOGLE const & rhs ) VULKAN_HPP_NOEXCEPT = default;
48790 
48792  : PastPresentationTimingGOOGLE( *reinterpret_cast<PastPresentationTimingGOOGLE const *>( &rhs ) )
48793  {
48794  }
48795 
48797 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
48798 
48800  {
48801  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PastPresentationTimingGOOGLE const *>( &rhs );
48802  return *this;
48803  }
48804 
48806  {
48807  return *reinterpret_cast<const VkPastPresentationTimingGOOGLE *>( this );
48808  }
48809 
48811  {
48812  return *reinterpret_cast<VkPastPresentationTimingGOOGLE *>( this );
48813  }
48814 
48815 #if defined( VULKAN_HPP_USE_REFLECT )
48816 # if 14 <= VULKAN_HPP_CPP_VERSION
48817  auto
48818 # else
48819  std::tuple<uint32_t const &, uint64_t const &, uint64_t const &, uint64_t const &, uint64_t const &>
48820 # endif
48821  reflect() const VULKAN_HPP_NOEXCEPT
48822  {
48823  return std::tie( presentID, desiredPresentTime, actualPresentTime, earliestPresentTime, presentMargin );
48824  }
48825 #endif
48826 
48827 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
48828  auto operator<=>( PastPresentationTimingGOOGLE const & ) const = default;
48829 #else
48831  {
48832 # if defined( VULKAN_HPP_USE_REFLECT )
48833  return this->reflect() == rhs.reflect();
48834 # else
48835  return ( presentID == rhs.presentID ) && ( desiredPresentTime == rhs.desiredPresentTime ) && ( actualPresentTime == rhs.actualPresentTime ) &&
48836  ( earliestPresentTime == rhs.earliestPresentTime ) && ( presentMargin == rhs.presentMargin );
48837 # endif
48838  }
48839 
48841  {
48842  return !operator==( rhs );
48843  }
48844 #endif
48845 
48846  public:
48847  uint32_t presentID = {};
48848  uint64_t desiredPresentTime = {};
48849  uint64_t actualPresentTime = {};
48850  uint64_t earliestPresentTime = {};
48851  uint64_t presentMargin = {};
48852  };
48853 
48855  {
48857 
48858  static const bool allowDuplicate = false;
48859  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePerformanceConfigurationAcquireInfoINTEL;
48860 
48861 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
48865  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
48866  : pNext( pNext_ )
48867  , type( type_ )
48868  {
48869  }
48870 
48872 
48874  : PerformanceConfigurationAcquireInfoINTEL( *reinterpret_cast<PerformanceConfigurationAcquireInfoINTEL const *>( &rhs ) )
48875  {
48876  }
48877 
48879 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
48880 
48882  {
48883  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PerformanceConfigurationAcquireInfoINTEL const *>( &rhs );
48884  return *this;
48885  }
48886 
48887 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
48889  {
48890  pNext = pNext_;
48891  return *this;
48892  }
48893 
48896  {
48897  type = type_;
48898  return *this;
48899  }
48900 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
48901 
48903  {
48904  return *reinterpret_cast<const VkPerformanceConfigurationAcquireInfoINTEL *>( this );
48905  }
48906 
48908  {
48909  return *reinterpret_cast<VkPerformanceConfigurationAcquireInfoINTEL *>( this );
48910  }
48911 
48912 #if defined( VULKAN_HPP_USE_REFLECT )
48913 # if 14 <= VULKAN_HPP_CPP_VERSION
48914  auto
48915 # else
48916  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::PerformanceConfigurationTypeINTEL const &>
48917 # endif
48918  reflect() const VULKAN_HPP_NOEXCEPT
48919  {
48920  return std::tie( sType, pNext, type );
48921  }
48922 #endif
48923 
48924 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
48925  auto operator<=>( PerformanceConfigurationAcquireInfoINTEL const & ) const = default;
48926 #else
48928  {
48929 # if defined( VULKAN_HPP_USE_REFLECT )
48930  return this->reflect() == rhs.reflect();
48931 # else
48932  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( type == rhs.type );
48933 # endif
48934  }
48935 
48937  {
48938  return !operator==( rhs );
48939  }
48940 #endif
48941 
48942  public:
48943  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePerformanceConfigurationAcquireInfoINTEL;
48944  const void * pNext = {};
48947  };
48948 
48949  template <>
48951  {
48953  };
48954 
48956  {
48958 
48959  static const bool allowDuplicate = false;
48960  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePerformanceCounterDescriptionKHR;
48961 
48962 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
48964  std::array<char, VK_MAX_DESCRIPTION_SIZE> const & name_ = {},
48965  std::array<char, VK_MAX_DESCRIPTION_SIZE> const & category_ = {},
48966  std::array<char, VK_MAX_DESCRIPTION_SIZE> const & description_ = {},
48967  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
48968  : pNext( pNext_ )
48969  , flags( flags_ )
48970  , name( name_ )
48971  , category( category_ )
48972  , description( description_ )
48973  {
48974  }
48975 
48976  VULKAN_HPP_CONSTEXPR_14 PerformanceCounterDescriptionKHR( PerformanceCounterDescriptionKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
48977 
48979  : PerformanceCounterDescriptionKHR( *reinterpret_cast<PerformanceCounterDescriptionKHR const *>( &rhs ) )
48980  {
48981  }
48982 
48984 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
48985 
48987  {
48988  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionKHR const *>( &rhs );
48989  return *this;
48990  }
48991 
48993  {
48994  return *reinterpret_cast<const VkPerformanceCounterDescriptionKHR *>( this );
48995  }
48996 
48998  {
48999  return *reinterpret_cast<VkPerformanceCounterDescriptionKHR *>( this );
49000  }
49001 
49002 #if defined( VULKAN_HPP_USE_REFLECT )
49003 # if 14 <= VULKAN_HPP_CPP_VERSION
49004  auto
49005 # else
49006  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
49007  void * const &,
49012 # endif
49013  reflect() const VULKAN_HPP_NOEXCEPT
49014  {
49015  return std::tie( sType, pNext, flags, name, category, description );
49016  }
49017 #endif
49018 
49019 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
49020  auto operator<=>( PerformanceCounterDescriptionKHR const & ) const = default;
49021 #else
49023  {
49024 # if defined( VULKAN_HPP_USE_REFLECT )
49025  return this->reflect() == rhs.reflect();
49026 # else
49027  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( name == rhs.name ) && ( category == rhs.category ) &&
49028  ( description == rhs.description );
49029 # endif
49030  }
49031 
49033  {
49034  return !operator==( rhs );
49035  }
49036 #endif
49037 
49038  public:
49039  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePerformanceCounterDescriptionKHR;
49040  void * pNext = {};
49045  };
49046 
49047  template <>
49049  {
49051  };
49052 
49054  {
49056 
49057  static const bool allowDuplicate = false;
49058  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePerformanceCounterKHR;
49059 
49060 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
49065  std::array<uint8_t, VK_UUID_SIZE> const & uuid_ = {},
49066  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
49067  : pNext( pNext_ )
49068  , unit( unit_ )
49069  , scope( scope_ )
49070  , storage( storage_ )
49071  , uuid( uuid_ )
49072  {
49073  }
49074 
49075  VULKAN_HPP_CONSTEXPR_14 PerformanceCounterKHR( PerformanceCounterKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
49076 
49078  : PerformanceCounterKHR( *reinterpret_cast<PerformanceCounterKHR const *>( &rhs ) )
49079  {
49080  }
49081 
49082  PerformanceCounterKHR & operator=( PerformanceCounterKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
49083 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
49084 
49086  {
49087  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PerformanceCounterKHR const *>( &rhs );
49088  return *this;
49089  }
49090 
49092  {
49093  return *reinterpret_cast<const VkPerformanceCounterKHR *>( this );
49094  }
49095 
49097  {
49098  return *reinterpret_cast<VkPerformanceCounterKHR *>( this );
49099  }
49100 
49101 #if defined( VULKAN_HPP_USE_REFLECT )
49102 # if 14 <= VULKAN_HPP_CPP_VERSION
49103  auto
49104 # else
49105  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
49106  void * const &,
49111 # endif
49112  reflect() const VULKAN_HPP_NOEXCEPT
49113  {
49114  return std::tie( sType, pNext, unit, scope, storage, uuid );
49115  }
49116 #endif
49117 
49118 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
49119  auto operator<=>( PerformanceCounterKHR const & ) const = default;
49120 #else
49122  {
49123 # if defined( VULKAN_HPP_USE_REFLECT )
49124  return this->reflect() == rhs.reflect();
49125 # else
49126  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( unit == rhs.unit ) && ( scope == rhs.scope ) && ( storage == rhs.storage ) &&
49127  ( uuid == rhs.uuid );
49128 # endif
49129  }
49130 
49132  {
49133  return !operator==( rhs );
49134  }
49135 #endif
49136 
49137  public:
49138  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePerformanceCounterKHR;
49139  void * pNext = {};
49144  };
49145 
49146  template <>
49148  {
49150  };
49151 
49153  {
49155 #if !defined( VULKAN_HPP_NO_UNION_CONSTRUCTORS )
49156 
49157  VULKAN_HPP_CONSTEXPR_14 PerformanceCounterResultKHR( int32_t int32_ = {} ) : int32( int32_ ) {}
49158 
49160 
49161  VULKAN_HPP_CONSTEXPR_14 PerformanceCounterResultKHR( uint32_t uint32_ ) : uint32( uint32_ ) {}
49162 
49163  VULKAN_HPP_CONSTEXPR_14 PerformanceCounterResultKHR( uint64_t uint64_ ) : uint64( uint64_ ) {}
49164 
49165  VULKAN_HPP_CONSTEXPR_14 PerformanceCounterResultKHR( float float32_ ) : float32( float32_ ) {}
49166 
49167  VULKAN_HPP_CONSTEXPR_14 PerformanceCounterResultKHR( double float64_ ) : float64( float64_ ) {}
49168 #endif /*VULKAN_HPP_NO_UNION_CONSTRUCTORS*/
49169 
49170 #if !defined( VULKAN_HPP_NO_UNION_SETTERS )
49172  {
49173  int32 = int32_;
49174  return *this;
49175  }
49176 
49178  {
49179  int64 = int64_;
49180  return *this;
49181  }
49182 
49184  {
49185  uint32 = uint32_;
49186  return *this;
49187  }
49188 
49190  {
49191  uint64 = uint64_;
49192  return *this;
49193  }
49194 
49196  {
49197  float32 = float32_;
49198  return *this;
49199  }
49200 
49202  {
49203  float64 = float64_;
49204  return *this;
49205  }
49206 #endif /*VULKAN_HPP_NO_UNION_SETTERS*/
49207 
49208  operator VkPerformanceCounterResultKHR const &() const
49209  {
49210  return *reinterpret_cast<const VkPerformanceCounterResultKHR *>( this );
49211  }
49212 
49214  {
49215  return *reinterpret_cast<VkPerformanceCounterResultKHR *>( this );
49216  }
49217 
49218  int32_t int32;
49219  int64_t int64;
49220  uint32_t uint32;
49221  uint64_t uint64;
49222  float float32;
49223  double float64;
49224  };
49225 
49227  {
49229 
49230  static const bool allowDuplicate = false;
49231  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePerformanceMarkerInfoINTEL;
49232 
49233 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
49234  VULKAN_HPP_CONSTEXPR PerformanceMarkerInfoINTEL( uint64_t marker_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
49235  : pNext( pNext_ )
49236  , marker( marker_ )
49237  {
49238  }
49239 
49240  VULKAN_HPP_CONSTEXPR PerformanceMarkerInfoINTEL( PerformanceMarkerInfoINTEL const & rhs ) VULKAN_HPP_NOEXCEPT = default;
49241 
49243  : PerformanceMarkerInfoINTEL( *reinterpret_cast<PerformanceMarkerInfoINTEL const *>( &rhs ) )
49244  {
49245  }
49246 
49247  PerformanceMarkerInfoINTEL & operator=( PerformanceMarkerInfoINTEL const & rhs ) VULKAN_HPP_NOEXCEPT = default;
49248 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
49249 
49251  {
49252  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PerformanceMarkerInfoINTEL const *>( &rhs );
49253  return *this;
49254  }
49255 
49256 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
49258  {
49259  pNext = pNext_;
49260  return *this;
49261  }
49262 
49264  {
49265  marker = marker_;
49266  return *this;
49267  }
49268 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
49269 
49271  {
49272  return *reinterpret_cast<const VkPerformanceMarkerInfoINTEL *>( this );
49273  }
49274 
49276  {
49277  return *reinterpret_cast<VkPerformanceMarkerInfoINTEL *>( this );
49278  }
49279 
49280 #if defined( VULKAN_HPP_USE_REFLECT )
49281 # if 14 <= VULKAN_HPP_CPP_VERSION
49282  auto
49283 # else
49284  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint64_t const &>
49285 # endif
49286  reflect() const VULKAN_HPP_NOEXCEPT
49287  {
49288  return std::tie( sType, pNext, marker );
49289  }
49290 #endif
49291 
49292 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
49293  auto operator<=>( PerformanceMarkerInfoINTEL const & ) const = default;
49294 #else
49296  {
49297 # if defined( VULKAN_HPP_USE_REFLECT )
49298  return this->reflect() == rhs.reflect();
49299 # else
49300  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( marker == rhs.marker );
49301 # endif
49302  }
49303 
49305  {
49306  return !operator==( rhs );
49307  }
49308 #endif
49309 
49310  public:
49311  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePerformanceMarkerInfoINTEL;
49312  const void * pNext = {};
49313  uint64_t marker = {};
49314  };
49315 
49316  template <>
49318  {
49320  };
49321 
49323  {
49325 
49326  static const bool allowDuplicate = false;
49327  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePerformanceOverrideInfoINTEL;
49328 
49329 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
49332  VULKAN_HPP_NAMESPACE::Bool32 enable_ = {},
49333  uint64_t parameter_ = {},
49334  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
49335  : pNext( pNext_ )
49336  , type( type_ )
49337  , enable( enable_ )
49338  , parameter( parameter_ )
49339  {
49340  }
49341 
49342  VULKAN_HPP_CONSTEXPR PerformanceOverrideInfoINTEL( PerformanceOverrideInfoINTEL const & rhs ) VULKAN_HPP_NOEXCEPT = default;
49343 
49345  : PerformanceOverrideInfoINTEL( *reinterpret_cast<PerformanceOverrideInfoINTEL const *>( &rhs ) )
49346  {
49347  }
49348 
49350 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
49351 
49353  {
49354  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PerformanceOverrideInfoINTEL const *>( &rhs );
49355  return *this;
49356  }
49357 
49358 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
49360  {
49361  pNext = pNext_;
49362  return *this;
49363  }
49364 
49366  {
49367  type = type_;
49368  return *this;
49369  }
49370 
49372  {
49373  enable = enable_;
49374  return *this;
49375  }
49376 
49378  {
49379  parameter = parameter_;
49380  return *this;
49381  }
49382 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
49383 
49385  {
49386  return *reinterpret_cast<const VkPerformanceOverrideInfoINTEL *>( this );
49387  }
49388 
49390  {
49391  return *reinterpret_cast<VkPerformanceOverrideInfoINTEL *>( this );
49392  }
49393 
49394 #if defined( VULKAN_HPP_USE_REFLECT )
49395 # if 14 <= VULKAN_HPP_CPP_VERSION
49396  auto
49397 # else
49398  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
49399  const void * const &,
49402  uint64_t const &>
49403 # endif
49404  reflect() const VULKAN_HPP_NOEXCEPT
49405  {
49406  return std::tie( sType, pNext, type, enable, parameter );
49407  }
49408 #endif
49409 
49410 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
49411  auto operator<=>( PerformanceOverrideInfoINTEL const & ) const = default;
49412 #else
49414  {
49415 # if defined( VULKAN_HPP_USE_REFLECT )
49416  return this->reflect() == rhs.reflect();
49417 # else
49418  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( type == rhs.type ) && ( enable == rhs.enable ) && ( parameter == rhs.parameter );
49419 # endif
49420  }
49421 
49423  {
49424  return !operator==( rhs );
49425  }
49426 #endif
49427 
49428  public:
49429  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePerformanceOverrideInfoINTEL;
49430  const void * pNext = {};
49433  uint64_t parameter = {};
49434  };
49435 
49436  template <>
49438  {
49440  };
49441 
49443  {
49445 
49446  static const bool allowDuplicate = false;
49447  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePerformanceQuerySubmitInfoKHR;
49448 
49449 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
49450  VULKAN_HPP_CONSTEXPR PerformanceQuerySubmitInfoKHR( uint32_t counterPassIndex_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
49451  : pNext( pNext_ )
49452  , counterPassIndex( counterPassIndex_ )
49453  {
49454  }
49455 
49456  VULKAN_HPP_CONSTEXPR PerformanceQuerySubmitInfoKHR( PerformanceQuerySubmitInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
49457 
49459  : PerformanceQuerySubmitInfoKHR( *reinterpret_cast<PerformanceQuerySubmitInfoKHR const *>( &rhs ) )
49460  {
49461  }
49462 
49464 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
49465 
49467  {
49468  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PerformanceQuerySubmitInfoKHR const *>( &rhs );
49469  return *this;
49470  }
49471 
49472 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
49474  {
49475  pNext = pNext_;
49476  return *this;
49477  }
49478 
49480  {
49481  counterPassIndex = counterPassIndex_;
49482  return *this;
49483  }
49484 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
49485 
49487  {
49488  return *reinterpret_cast<const VkPerformanceQuerySubmitInfoKHR *>( this );
49489  }
49490 
49492  {
49493  return *reinterpret_cast<VkPerformanceQuerySubmitInfoKHR *>( this );
49494  }
49495 
49496 #if defined( VULKAN_HPP_USE_REFLECT )
49497 # if 14 <= VULKAN_HPP_CPP_VERSION
49498  auto
49499 # else
49500  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &>
49501 # endif
49502  reflect() const VULKAN_HPP_NOEXCEPT
49503  {
49504  return std::tie( sType, pNext, counterPassIndex );
49505  }
49506 #endif
49507 
49508 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
49509  auto operator<=>( PerformanceQuerySubmitInfoKHR const & ) const = default;
49510 #else
49512  {
49513 # if defined( VULKAN_HPP_USE_REFLECT )
49514  return this->reflect() == rhs.reflect();
49515 # else
49516  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( counterPassIndex == rhs.counterPassIndex );
49517 # endif
49518  }
49519 
49521  {
49522  return !operator==( rhs );
49523  }
49524 #endif
49525 
49526  public:
49527  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePerformanceQuerySubmitInfoKHR;
49528  const void * pNext = {};
49529  uint32_t counterPassIndex = {};
49530  };
49531 
49532  template <>
49534  {
49536  };
49537 
49539  {
49541 
49542  static const bool allowDuplicate = false;
49543  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePerformanceStreamMarkerInfoINTEL;
49544 
49545 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
49546  VULKAN_HPP_CONSTEXPR PerformanceStreamMarkerInfoINTEL( uint32_t marker_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
49547  : pNext( pNext_ )
49548  , marker( marker_ )
49549  {
49550  }
49551 
49552  VULKAN_HPP_CONSTEXPR PerformanceStreamMarkerInfoINTEL( PerformanceStreamMarkerInfoINTEL const & rhs ) VULKAN_HPP_NOEXCEPT = default;
49553 
49555  : PerformanceStreamMarkerInfoINTEL( *reinterpret_cast<PerformanceStreamMarkerInfoINTEL const *>( &rhs ) )
49556  {
49557  }
49558 
49560 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
49561 
49563  {
49564  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PerformanceStreamMarkerInfoINTEL const *>( &rhs );
49565  return *this;
49566  }
49567 
49568 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
49570  {
49571  pNext = pNext_;
49572  return *this;
49573  }
49574 
49576  {
49577  marker = marker_;
49578  return *this;
49579  }
49580 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
49581 
49583  {
49584  return *reinterpret_cast<const VkPerformanceStreamMarkerInfoINTEL *>( this );
49585  }
49586 
49588  {
49589  return *reinterpret_cast<VkPerformanceStreamMarkerInfoINTEL *>( this );
49590  }
49591 
49592 #if defined( VULKAN_HPP_USE_REFLECT )
49593 # if 14 <= VULKAN_HPP_CPP_VERSION
49594  auto
49595 # else
49596  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &>
49597 # endif
49598  reflect() const VULKAN_HPP_NOEXCEPT
49599  {
49600  return std::tie( sType, pNext, marker );
49601  }
49602 #endif
49603 
49604 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
49605  auto operator<=>( PerformanceStreamMarkerInfoINTEL const & ) const = default;
49606 #else
49608  {
49609 # if defined( VULKAN_HPP_USE_REFLECT )
49610  return this->reflect() == rhs.reflect();
49611 # else
49612  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( marker == rhs.marker );
49613 # endif
49614  }
49615 
49617  {
49618  return !operator==( rhs );
49619  }
49620 #endif
49621 
49622  public:
49623  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePerformanceStreamMarkerInfoINTEL;
49624  const void * pNext = {};
49625  uint32_t marker = {};
49626  };
49627 
49628  template <>
49630  {
49632  };
49633 
49635  {
49637 #if !defined( VULKAN_HPP_NO_UNION_CONSTRUCTORS )
49638 
49639  VULKAN_HPP_CONSTEXPR_14 PerformanceValueDataINTEL( uint32_t value32_ = {} ) : value32( value32_ ) {}
49640 
49641  VULKAN_HPP_CONSTEXPR_14 PerformanceValueDataINTEL( uint64_t value64_ ) : value64( value64_ ) {}
49642 
49643  VULKAN_HPP_CONSTEXPR_14 PerformanceValueDataINTEL( float valueFloat_ ) : valueFloat( valueFloat_ ) {}
49644 
49645  VULKAN_HPP_CONSTEXPR_14 PerformanceValueDataINTEL( const char * valueString_ ) : valueString( valueString_ ) {}
49646 #endif /*VULKAN_HPP_NO_UNION_CONSTRUCTORS*/
49647 
49648 #if !defined( VULKAN_HPP_NO_UNION_SETTERS )
49650  {
49651  value32 = value32_;
49652  return *this;
49653  }
49654 
49656  {
49657  value64 = value64_;
49658  return *this;
49659  }
49660 
49662  {
49663  valueFloat = valueFloat_;
49664  return *this;
49665  }
49666 
49668  {
49669  valueBool = valueBool_;
49670  return *this;
49671  }
49672 
49674  {
49675  valueString = valueString_;
49676  return *this;
49677  }
49678 #endif /*VULKAN_HPP_NO_UNION_SETTERS*/
49679 
49680  operator VkPerformanceValueDataINTEL const &() const
49681  {
49682  return *reinterpret_cast<const VkPerformanceValueDataINTEL *>( this );
49683  }
49684 
49686  {
49687  return *reinterpret_cast<VkPerformanceValueDataINTEL *>( this );
49688  }
49689 
49690 #ifdef VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
49691  uint32_t value32;
49692  uint64_t value64;
49693  float valueFloat;
49694  VULKAN_HPP_NAMESPACE::Bool32 valueBool;
49695  const char * valueString;
49696 #else
49697  uint32_t value32;
49698  uint64_t value64;
49699  float valueFloat;
49701  const char * valueString;
49702 #endif /*VULKAN_HPP_HAS_UNRESTRICTED_UNIONS*/
49703  };
49704 
49706  {
49708 
49709 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
49713  : type( type_ )
49714  , data( data_ )
49715  {
49716  }
49717 
49718  VULKAN_HPP_CONSTEXPR_14 PerformanceValueINTEL( PerformanceValueINTEL const & rhs ) VULKAN_HPP_NOEXCEPT = default;
49719 
49721  : PerformanceValueINTEL( *reinterpret_cast<PerformanceValueINTEL const *>( &rhs ) )
49722  {
49723  }
49724 
49725  PerformanceValueINTEL & operator=( PerformanceValueINTEL const & rhs ) VULKAN_HPP_NOEXCEPT = default;
49726 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
49727 
49729  {
49730  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PerformanceValueINTEL const *>( &rhs );
49731  return *this;
49732  }
49733 
49734 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
49736  {
49737  type = type_;
49738  return *this;
49739  }
49740 
49742  {
49743  data = data_;
49744  return *this;
49745  }
49746 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
49747 
49749  {
49750  return *reinterpret_cast<const VkPerformanceValueINTEL *>( this );
49751  }
49752 
49754  {
49755  return *reinterpret_cast<VkPerformanceValueINTEL *>( this );
49756  }
49757 
49758 #if defined( VULKAN_HPP_USE_REFLECT )
49759 # if 14 <= VULKAN_HPP_CPP_VERSION
49760  auto
49761 # else
49762  std::tuple<VULKAN_HPP_NAMESPACE::PerformanceValueTypeINTEL const &, VULKAN_HPP_NAMESPACE::PerformanceValueDataINTEL const &>
49763 # endif
49764  reflect() const VULKAN_HPP_NOEXCEPT
49765  {
49766  return std::tie( type, data );
49767  }
49768 #endif
49769 
49770  public:
49773  };
49774 
49776  {
49778 
49779  static const bool allowDuplicate = false;
49780  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevice16BitStorageFeatures;
49781 
49782 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
49784  VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer16BitAccess_ = {},
49785  VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant16_ = {},
49786  VULKAN_HPP_NAMESPACE::Bool32 storageInputOutput16_ = {},
49787  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
49788  : pNext( pNext_ )
49789  , storageBuffer16BitAccess( storageBuffer16BitAccess_ )
49790  , uniformAndStorageBuffer16BitAccess( uniformAndStorageBuffer16BitAccess_ )
49791  , storagePushConstant16( storagePushConstant16_ )
49792  , storageInputOutput16( storageInputOutput16_ )
49793  {
49794  }
49795 
49796  VULKAN_HPP_CONSTEXPR PhysicalDevice16BitStorageFeatures( PhysicalDevice16BitStorageFeatures const & rhs ) VULKAN_HPP_NOEXCEPT = default;
49797 
49799  : PhysicalDevice16BitStorageFeatures( *reinterpret_cast<PhysicalDevice16BitStorageFeatures const *>( &rhs ) )
49800  {
49801  }
49802 
49804 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
49805 
49807  {
49808  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDevice16BitStorageFeatures const *>( &rhs );
49809  return *this;
49810  }
49811 
49812 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
49814  {
49815  pNext = pNext_;
49816  return *this;
49817  }
49818 
49821  {
49822  storageBuffer16BitAccess = storageBuffer16BitAccess_;
49823  return *this;
49824  }
49825 
49828  {
49829  uniformAndStorageBuffer16BitAccess = uniformAndStorageBuffer16BitAccess_;
49830  return *this;
49831  }
49832 
49835  {
49836  storagePushConstant16 = storagePushConstant16_;
49837  return *this;
49838  }
49839 
49842  {
49843  storageInputOutput16 = storageInputOutput16_;
49844  return *this;
49845  }
49846 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
49847 
49849  {
49850  return *reinterpret_cast<const VkPhysicalDevice16BitStorageFeatures *>( this );
49851  }
49852 
49854  {
49855  return *reinterpret_cast<VkPhysicalDevice16BitStorageFeatures *>( this );
49856  }
49857 
49858 #if defined( VULKAN_HPP_USE_REFLECT )
49859 # if 14 <= VULKAN_HPP_CPP_VERSION
49860  auto
49861 # else
49862  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
49863  void * const &,
49868 # endif
49869  reflect() const VULKAN_HPP_NOEXCEPT
49870  {
49871  return std::tie( sType, pNext, storageBuffer16BitAccess, uniformAndStorageBuffer16BitAccess, storagePushConstant16, storageInputOutput16 );
49872  }
49873 #endif
49874 
49875 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
49876  auto operator<=>( PhysicalDevice16BitStorageFeatures const & ) const = default;
49877 #else
49879  {
49880 # if defined( VULKAN_HPP_USE_REFLECT )
49881  return this->reflect() == rhs.reflect();
49882 # else
49883  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( storageBuffer16BitAccess == rhs.storageBuffer16BitAccess ) &&
49884  ( uniformAndStorageBuffer16BitAccess == rhs.uniformAndStorageBuffer16BitAccess ) && ( storagePushConstant16 == rhs.storagePushConstant16 ) &&
49885  ( storageInputOutput16 == rhs.storageInputOutput16 );
49886 # endif
49887  }
49888 
49890  {
49891  return !operator==( rhs );
49892  }
49893 #endif
49894 
49895  public:
49896  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDevice16BitStorageFeatures;
49897  void * pNext = {};
49898  VULKAN_HPP_NAMESPACE::Bool32 storageBuffer16BitAccess = {};
49899  VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer16BitAccess = {};
49900  VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant16 = {};
49901  VULKAN_HPP_NAMESPACE::Bool32 storageInputOutput16 = {};
49902  };
49903 
49904  template <>
49906  {
49908  };
49910 
49912  {
49914 
49915  static const bool allowDuplicate = false;
49916  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevice4444FormatsFeaturesEXT;
49917 
49918 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
49920  VULKAN_HPP_NAMESPACE::Bool32 formatA4B4G4R4_ = {},
49921  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
49922  : pNext( pNext_ )
49923  , formatA4R4G4B4( formatA4R4G4B4_ )
49924  , formatA4B4G4R4( formatA4B4G4R4_ )
49925  {
49926  }
49927 
49928  VULKAN_HPP_CONSTEXPR PhysicalDevice4444FormatsFeaturesEXT( PhysicalDevice4444FormatsFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
49929 
49931  : PhysicalDevice4444FormatsFeaturesEXT( *reinterpret_cast<PhysicalDevice4444FormatsFeaturesEXT const *>( &rhs ) )
49932  {
49933  }
49934 
49936 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
49937 
49939  {
49940  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDevice4444FormatsFeaturesEXT const *>( &rhs );
49941  return *this;
49942  }
49943 
49944 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
49946  {
49947  pNext = pNext_;
49948  return *this;
49949  }
49950 
49952  {
49953  formatA4R4G4B4 = formatA4R4G4B4_;
49954  return *this;
49955  }
49956 
49958  {
49959  formatA4B4G4R4 = formatA4B4G4R4_;
49960  return *this;
49961  }
49962 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
49963 
49965  {
49966  return *reinterpret_cast<const VkPhysicalDevice4444FormatsFeaturesEXT *>( this );
49967  }
49968 
49970  {
49971  return *reinterpret_cast<VkPhysicalDevice4444FormatsFeaturesEXT *>( this );
49972  }
49973 
49974 #if defined( VULKAN_HPP_USE_REFLECT )
49975 # if 14 <= VULKAN_HPP_CPP_VERSION
49976  auto
49977 # else
49978  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
49979 # endif
49980  reflect() const VULKAN_HPP_NOEXCEPT
49981  {
49982  return std::tie( sType, pNext, formatA4R4G4B4, formatA4B4G4R4 );
49983  }
49984 #endif
49985 
49986 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
49987  auto operator<=>( PhysicalDevice4444FormatsFeaturesEXT const & ) const = default;
49988 #else
49990  {
49991 # if defined( VULKAN_HPP_USE_REFLECT )
49992  return this->reflect() == rhs.reflect();
49993 # else
49994  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( formatA4R4G4B4 == rhs.formatA4R4G4B4 ) && ( formatA4B4G4R4 == rhs.formatA4B4G4R4 );
49995 # endif
49996  }
49997 
49999  {
50000  return !operator==( rhs );
50001  }
50002 #endif
50003 
50004  public:
50005  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDevice4444FormatsFeaturesEXT;
50006  void * pNext = {};
50007  VULKAN_HPP_NAMESPACE::Bool32 formatA4R4G4B4 = {};
50008  VULKAN_HPP_NAMESPACE::Bool32 formatA4B4G4R4 = {};
50009  };
50010 
50011  template <>
50013  {
50015  };
50016 
50018  {
50020 
50021  static const bool allowDuplicate = false;
50022  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevice8BitStorageFeatures;
50023 
50024 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
50026  VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer8BitAccess_ = {},
50027  VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant8_ = {},
50028  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
50029  : pNext( pNext_ )
50030  , storageBuffer8BitAccess( storageBuffer8BitAccess_ )
50031  , uniformAndStorageBuffer8BitAccess( uniformAndStorageBuffer8BitAccess_ )
50032  , storagePushConstant8( storagePushConstant8_ )
50033  {
50034  }
50035 
50036  VULKAN_HPP_CONSTEXPR PhysicalDevice8BitStorageFeatures( PhysicalDevice8BitStorageFeatures const & rhs ) VULKAN_HPP_NOEXCEPT = default;
50037 
50039  : PhysicalDevice8BitStorageFeatures( *reinterpret_cast<PhysicalDevice8BitStorageFeatures const *>( &rhs ) )
50040  {
50041  }
50042 
50044 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
50045 
50047  {
50048  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDevice8BitStorageFeatures const *>( &rhs );
50049  return *this;
50050  }
50051 
50052 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
50054  {
50055  pNext = pNext_;
50056  return *this;
50057  }
50058 
50061  {
50062  storageBuffer8BitAccess = storageBuffer8BitAccess_;
50063  return *this;
50064  }
50065 
50068  {
50069  uniformAndStorageBuffer8BitAccess = uniformAndStorageBuffer8BitAccess_;
50070  return *this;
50071  }
50072 
50075  {
50076  storagePushConstant8 = storagePushConstant8_;
50077  return *this;
50078  }
50079 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
50080 
50082  {
50083  return *reinterpret_cast<const VkPhysicalDevice8BitStorageFeatures *>( this );
50084  }
50085 
50087  {
50088  return *reinterpret_cast<VkPhysicalDevice8BitStorageFeatures *>( this );
50089  }
50090 
50091 #if defined( VULKAN_HPP_USE_REFLECT )
50092 # if 14 <= VULKAN_HPP_CPP_VERSION
50093  auto
50094 # else
50095  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
50096  void * const &,
50100 # endif
50101  reflect() const VULKAN_HPP_NOEXCEPT
50102  {
50103  return std::tie( sType, pNext, storageBuffer8BitAccess, uniformAndStorageBuffer8BitAccess, storagePushConstant8 );
50104  }
50105 #endif
50106 
50107 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
50108  auto operator<=>( PhysicalDevice8BitStorageFeatures const & ) const = default;
50109 #else
50111  {
50112 # if defined( VULKAN_HPP_USE_REFLECT )
50113  return this->reflect() == rhs.reflect();
50114 # else
50115  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( storageBuffer8BitAccess == rhs.storageBuffer8BitAccess ) &&
50116  ( uniformAndStorageBuffer8BitAccess == rhs.uniformAndStorageBuffer8BitAccess ) && ( storagePushConstant8 == rhs.storagePushConstant8 );
50117 # endif
50118  }
50119 
50121  {
50122  return !operator==( rhs );
50123  }
50124 #endif
50125 
50126  public:
50127  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDevice8BitStorageFeatures;
50128  void * pNext = {};
50129  VULKAN_HPP_NAMESPACE::Bool32 storageBuffer8BitAccess = {};
50130  VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer8BitAccess = {};
50131  VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant8 = {};
50132  };
50133 
50134  template <>
50136  {
50138  };
50140 
50142  {
50144 
50145  static const bool allowDuplicate = false;
50146  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceAstcDecodeFeaturesEXT;
50147 
50148 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
50150  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
50151  : pNext( pNext_ )
50152  , decodeModeSharedExponent( decodeModeSharedExponent_ )
50153  {
50154  }
50155 
50156  VULKAN_HPP_CONSTEXPR PhysicalDeviceASTCDecodeFeaturesEXT( PhysicalDeviceASTCDecodeFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
50157 
50159  : PhysicalDeviceASTCDecodeFeaturesEXT( *reinterpret_cast<PhysicalDeviceASTCDecodeFeaturesEXT const *>( &rhs ) )
50160  {
50161  }
50162 
50164 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
50165 
50167  {
50168  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceASTCDecodeFeaturesEXT const *>( &rhs );
50169  return *this;
50170  }
50171 
50172 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
50174  {
50175  pNext = pNext_;
50176  return *this;
50177  }
50178 
50181  {
50182  decodeModeSharedExponent = decodeModeSharedExponent_;
50183  return *this;
50184  }
50185 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
50186 
50188  {
50189  return *reinterpret_cast<const VkPhysicalDeviceASTCDecodeFeaturesEXT *>( this );
50190  }
50191 
50193  {
50194  return *reinterpret_cast<VkPhysicalDeviceASTCDecodeFeaturesEXT *>( this );
50195  }
50196 
50197 #if defined( VULKAN_HPP_USE_REFLECT )
50198 # if 14 <= VULKAN_HPP_CPP_VERSION
50199  auto
50200 # else
50201  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
50202 # endif
50203  reflect() const VULKAN_HPP_NOEXCEPT
50204  {
50205  return std::tie( sType, pNext, decodeModeSharedExponent );
50206  }
50207 #endif
50208 
50209 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
50210  auto operator<=>( PhysicalDeviceASTCDecodeFeaturesEXT const & ) const = default;
50211 #else
50213  {
50214 # if defined( VULKAN_HPP_USE_REFLECT )
50215  return this->reflect() == rhs.reflect();
50216 # else
50217  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( decodeModeSharedExponent == rhs.decodeModeSharedExponent );
50218 # endif
50219  }
50220 
50222  {
50223  return !operator==( rhs );
50224  }
50225 #endif
50226 
50227  public:
50228  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceAstcDecodeFeaturesEXT;
50229  void * pNext = {};
50230  VULKAN_HPP_NAMESPACE::Bool32 decodeModeSharedExponent = {};
50231  };
50232 
50233  template <>
50235  {
50237  };
50238 
50240  {
50242 
50243  static const bool allowDuplicate = false;
50244  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceAccelerationStructureFeaturesKHR;
50245 
50246 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
50249  VULKAN_HPP_NAMESPACE::Bool32 accelerationStructureCaptureReplay_ = {},
50250  VULKAN_HPP_NAMESPACE::Bool32 accelerationStructureIndirectBuild_ = {},
50251  VULKAN_HPP_NAMESPACE::Bool32 accelerationStructureHostCommands_ = {},
50252  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingAccelerationStructureUpdateAfterBind_ = {},
50253  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
50254  : pNext( pNext_ )
50255  , accelerationStructure( accelerationStructure_ )
50256  , accelerationStructureCaptureReplay( accelerationStructureCaptureReplay_ )
50257  , accelerationStructureIndirectBuild( accelerationStructureIndirectBuild_ )
50258  , accelerationStructureHostCommands( accelerationStructureHostCommands_ )
50259  , descriptorBindingAccelerationStructureUpdateAfterBind( descriptorBindingAccelerationStructureUpdateAfterBind_ )
50260  {
50261  }
50262 
50264  PhysicalDeviceAccelerationStructureFeaturesKHR( PhysicalDeviceAccelerationStructureFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
50265 
50267  : PhysicalDeviceAccelerationStructureFeaturesKHR( *reinterpret_cast<PhysicalDeviceAccelerationStructureFeaturesKHR const *>( &rhs ) )
50268  {
50269  }
50270 
50272 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
50273 
50275  {
50276  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceAccelerationStructureFeaturesKHR const *>( &rhs );
50277  return *this;
50278  }
50279 
50280 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
50282  {
50283  pNext = pNext_;
50284  return *this;
50285  }
50286 
50289  {
50290  accelerationStructure = accelerationStructure_;
50291  return *this;
50292  }
50293 
50296  {
50297  accelerationStructureCaptureReplay = accelerationStructureCaptureReplay_;
50298  return *this;
50299  }
50300 
50303  {
50304  accelerationStructureIndirectBuild = accelerationStructureIndirectBuild_;
50305  return *this;
50306  }
50307 
50310  {
50311  accelerationStructureHostCommands = accelerationStructureHostCommands_;
50312  return *this;
50313  }
50314 
50316  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingAccelerationStructureUpdateAfterBind_ ) VULKAN_HPP_NOEXCEPT
50317  {
50318  descriptorBindingAccelerationStructureUpdateAfterBind = descriptorBindingAccelerationStructureUpdateAfterBind_;
50319  return *this;
50320  }
50321 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
50322 
50324  {
50325  return *reinterpret_cast<const VkPhysicalDeviceAccelerationStructureFeaturesKHR *>( this );
50326  }
50327 
50329  {
50330  return *reinterpret_cast<VkPhysicalDeviceAccelerationStructureFeaturesKHR *>( this );
50331  }
50332 
50333 #if defined( VULKAN_HPP_USE_REFLECT )
50334 # if 14 <= VULKAN_HPP_CPP_VERSION
50335  auto
50336 # else
50337  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
50338  void * const &,
50344 # endif
50345  reflect() const VULKAN_HPP_NOEXCEPT
50346  {
50347  return std::tie( sType,
50348  pNext,
50349  accelerationStructure,
50350  accelerationStructureCaptureReplay,
50351  accelerationStructureIndirectBuild,
50352  accelerationStructureHostCommands,
50353  descriptorBindingAccelerationStructureUpdateAfterBind );
50354  }
50355 #endif
50356 
50357 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
50358  auto operator<=>( PhysicalDeviceAccelerationStructureFeaturesKHR const & ) const = default;
50359 #else
50361  {
50362 # if defined( VULKAN_HPP_USE_REFLECT )
50363  return this->reflect() == rhs.reflect();
50364 # else
50365  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( accelerationStructure == rhs.accelerationStructure ) &&
50366  ( accelerationStructureCaptureReplay == rhs.accelerationStructureCaptureReplay ) &&
50367  ( accelerationStructureIndirectBuild == rhs.accelerationStructureIndirectBuild ) &&
50368  ( accelerationStructureHostCommands == rhs.accelerationStructureHostCommands ) &&
50369  ( descriptorBindingAccelerationStructureUpdateAfterBind == rhs.descriptorBindingAccelerationStructureUpdateAfterBind );
50370 # endif
50371  }
50372 
50374  {
50375  return !operator==( rhs );
50376  }
50377 #endif
50378 
50379  public:
50380  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceAccelerationStructureFeaturesKHR;
50381  void * pNext = {};
50382  VULKAN_HPP_NAMESPACE::Bool32 accelerationStructure = {};
50383  VULKAN_HPP_NAMESPACE::Bool32 accelerationStructureCaptureReplay = {};
50384  VULKAN_HPP_NAMESPACE::Bool32 accelerationStructureIndirectBuild = {};
50385  VULKAN_HPP_NAMESPACE::Bool32 accelerationStructureHostCommands = {};
50386  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingAccelerationStructureUpdateAfterBind = {};
50387  };
50388 
50389  template <>
50391  {
50393  };
50394 
50396  {
50398 
50399  static const bool allowDuplicate = false;
50400  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceAccelerationStructurePropertiesKHR;
50401 
50402 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
50404  uint64_t maxInstanceCount_ = {},
50405  uint64_t maxPrimitiveCount_ = {},
50406  uint32_t maxPerStageDescriptorAccelerationStructures_ = {},
50407  uint32_t maxPerStageDescriptorUpdateAfterBindAccelerationStructures_ = {},
50408  uint32_t maxDescriptorSetAccelerationStructures_ = {},
50409  uint32_t maxDescriptorSetUpdateAfterBindAccelerationStructures_ = {},
50410  uint32_t minAccelerationStructureScratchOffsetAlignment_ = {},
50411  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
50412  : pNext( pNext_ )
50413  , maxGeometryCount( maxGeometryCount_ )
50414  , maxInstanceCount( maxInstanceCount_ )
50415  , maxPrimitiveCount( maxPrimitiveCount_ )
50416  , maxPerStageDescriptorAccelerationStructures( maxPerStageDescriptorAccelerationStructures_ )
50417  , maxPerStageDescriptorUpdateAfterBindAccelerationStructures( maxPerStageDescriptorUpdateAfterBindAccelerationStructures_ )
50418  , maxDescriptorSetAccelerationStructures( maxDescriptorSetAccelerationStructures_ )
50419  , maxDescriptorSetUpdateAfterBindAccelerationStructures( maxDescriptorSetUpdateAfterBindAccelerationStructures_ )
50420  , minAccelerationStructureScratchOffsetAlignment( minAccelerationStructureScratchOffsetAlignment_ )
50421  {
50422  }
50423 
50425  PhysicalDeviceAccelerationStructurePropertiesKHR( PhysicalDeviceAccelerationStructurePropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
50426 
50428  : PhysicalDeviceAccelerationStructurePropertiesKHR( *reinterpret_cast<PhysicalDeviceAccelerationStructurePropertiesKHR const *>( &rhs ) )
50429  {
50430  }
50431 
50433 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
50434 
50436  {
50437  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceAccelerationStructurePropertiesKHR const *>( &rhs );
50438  return *this;
50439  }
50440 
50442  {
50443  return *reinterpret_cast<const VkPhysicalDeviceAccelerationStructurePropertiesKHR *>( this );
50444  }
50445 
50447  {
50448  return *reinterpret_cast<VkPhysicalDeviceAccelerationStructurePropertiesKHR *>( this );
50449  }
50450 
50451 #if defined( VULKAN_HPP_USE_REFLECT )
50452 # if 14 <= VULKAN_HPP_CPP_VERSION
50453  auto
50454 # else
50455  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
50456  void * const &,
50457  uint64_t const &,
50458  uint64_t const &,
50459  uint64_t const &,
50460  uint32_t const &,
50461  uint32_t const &,
50462  uint32_t const &,
50463  uint32_t const &,
50464  uint32_t const &>
50465 # endif
50466  reflect() const VULKAN_HPP_NOEXCEPT
50467  {
50468  return std::tie( sType,
50469  pNext,
50470  maxGeometryCount,
50471  maxInstanceCount,
50472  maxPrimitiveCount,
50473  maxPerStageDescriptorAccelerationStructures,
50474  maxPerStageDescriptorUpdateAfterBindAccelerationStructures,
50475  maxDescriptorSetAccelerationStructures,
50476  maxDescriptorSetUpdateAfterBindAccelerationStructures,
50477  minAccelerationStructureScratchOffsetAlignment );
50478  }
50479 #endif
50480 
50481 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
50482  auto operator<=>( PhysicalDeviceAccelerationStructurePropertiesKHR const & ) const = default;
50483 #else
50485  {
50486 # if defined( VULKAN_HPP_USE_REFLECT )
50487  return this->reflect() == rhs.reflect();
50488 # else
50489  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxGeometryCount == rhs.maxGeometryCount ) && ( maxInstanceCount == rhs.maxInstanceCount ) &&
50490  ( maxPrimitiveCount == rhs.maxPrimitiveCount ) &&
50491  ( maxPerStageDescriptorAccelerationStructures == rhs.maxPerStageDescriptorAccelerationStructures ) &&
50492  ( maxPerStageDescriptorUpdateAfterBindAccelerationStructures == rhs.maxPerStageDescriptorUpdateAfterBindAccelerationStructures ) &&
50493  ( maxDescriptorSetAccelerationStructures == rhs.maxDescriptorSetAccelerationStructures ) &&
50494  ( maxDescriptorSetUpdateAfterBindAccelerationStructures == rhs.maxDescriptorSetUpdateAfterBindAccelerationStructures ) &&
50495  ( minAccelerationStructureScratchOffsetAlignment == rhs.minAccelerationStructureScratchOffsetAlignment );
50496 # endif
50497  }
50498 
50500  {
50501  return !operator==( rhs );
50502  }
50503 #endif
50504 
50505  public:
50506  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceAccelerationStructurePropertiesKHR;
50507  void * pNext = {};
50508  uint64_t maxGeometryCount = {};
50509  uint64_t maxInstanceCount = {};
50510  uint64_t maxPrimitiveCount = {};
50511  uint32_t maxPerStageDescriptorAccelerationStructures = {};
50512  uint32_t maxPerStageDescriptorUpdateAfterBindAccelerationStructures = {};
50513  uint32_t maxDescriptorSetAccelerationStructures = {};
50514  uint32_t maxDescriptorSetUpdateAfterBindAccelerationStructures = {};
50515  uint32_t minAccelerationStructureScratchOffsetAlignment = {};
50516  };
50517 
50518  template <>
50520  {
50522  };
50523 
50525  {
50527 
50528  static const bool allowDuplicate = false;
50529  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceAddressBindingReportFeaturesEXT;
50530 
50531 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
50533  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
50534  : pNext( pNext_ )
50535  , reportAddressBinding( reportAddressBinding_ )
50536  {
50537  }
50538 
50540  PhysicalDeviceAddressBindingReportFeaturesEXT( PhysicalDeviceAddressBindingReportFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
50541 
50543  : PhysicalDeviceAddressBindingReportFeaturesEXT( *reinterpret_cast<PhysicalDeviceAddressBindingReportFeaturesEXT const *>( &rhs ) )
50544  {
50545  }
50546 
50548 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
50549 
50551  {
50552  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceAddressBindingReportFeaturesEXT const *>( &rhs );
50553  return *this;
50554  }
50555 
50556 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
50558  {
50559  pNext = pNext_;
50560  return *this;
50561  }
50562 
50565  {
50566  reportAddressBinding = reportAddressBinding_;
50567  return *this;
50568  }
50569 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
50570 
50572  {
50573  return *reinterpret_cast<const VkPhysicalDeviceAddressBindingReportFeaturesEXT *>( this );
50574  }
50575 
50577  {
50578  return *reinterpret_cast<VkPhysicalDeviceAddressBindingReportFeaturesEXT *>( this );
50579  }
50580 
50581 #if defined( VULKAN_HPP_USE_REFLECT )
50582 # if 14 <= VULKAN_HPP_CPP_VERSION
50583  auto
50584 # else
50585  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
50586 # endif
50587  reflect() const VULKAN_HPP_NOEXCEPT
50588  {
50589  return std::tie( sType, pNext, reportAddressBinding );
50590  }
50591 #endif
50592 
50593 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
50594  auto operator<=>( PhysicalDeviceAddressBindingReportFeaturesEXT const & ) const = default;
50595 #else
50597  {
50598 # if defined( VULKAN_HPP_USE_REFLECT )
50599  return this->reflect() == rhs.reflect();
50600 # else
50601  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( reportAddressBinding == rhs.reportAddressBinding );
50602 # endif
50603  }
50604 
50606  {
50607  return !operator==( rhs );
50608  }
50609 #endif
50610 
50611  public:
50612  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceAddressBindingReportFeaturesEXT;
50613  void * pNext = {};
50614  VULKAN_HPP_NAMESPACE::Bool32 reportAddressBinding = {};
50615  };
50616 
50617  template <>
50619  {
50621  };
50622 
50624  {
50626 
50627  static const bool allowDuplicate = false;
50628  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceAmigoProfilingFeaturesSEC;
50629 
50630 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
50632  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
50633  : pNext( pNext_ )
50634  , amigoProfiling( amigoProfiling_ )
50635  {
50636  }
50637 
50638  VULKAN_HPP_CONSTEXPR PhysicalDeviceAmigoProfilingFeaturesSEC( PhysicalDeviceAmigoProfilingFeaturesSEC const & rhs ) VULKAN_HPP_NOEXCEPT = default;
50639 
50641  : PhysicalDeviceAmigoProfilingFeaturesSEC( *reinterpret_cast<PhysicalDeviceAmigoProfilingFeaturesSEC const *>( &rhs ) )
50642  {
50643  }
50644 
50646 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
50647 
50649  {
50650  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceAmigoProfilingFeaturesSEC const *>( &rhs );
50651  return *this;
50652  }
50653 
50654 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
50656  {
50657  pNext = pNext_;
50658  return *this;
50659  }
50660 
50662  {
50663  amigoProfiling = amigoProfiling_;
50664  return *this;
50665  }
50666 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
50667 
50669  {
50670  return *reinterpret_cast<const VkPhysicalDeviceAmigoProfilingFeaturesSEC *>( this );
50671  }
50672 
50674  {
50675  return *reinterpret_cast<VkPhysicalDeviceAmigoProfilingFeaturesSEC *>( this );
50676  }
50677 
50678 #if defined( VULKAN_HPP_USE_REFLECT )
50679 # if 14 <= VULKAN_HPP_CPP_VERSION
50680  auto
50681 # else
50682  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
50683 # endif
50684  reflect() const VULKAN_HPP_NOEXCEPT
50685  {
50686  return std::tie( sType, pNext, amigoProfiling );
50687  }
50688 #endif
50689 
50690 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
50691  auto operator<=>( PhysicalDeviceAmigoProfilingFeaturesSEC const & ) const = default;
50692 #else
50694  {
50695 # if defined( VULKAN_HPP_USE_REFLECT )
50696  return this->reflect() == rhs.reflect();
50697 # else
50698  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( amigoProfiling == rhs.amigoProfiling );
50699 # endif
50700  }
50701 
50703  {
50704  return !operator==( rhs );
50705  }
50706 #endif
50707 
50708  public:
50709  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceAmigoProfilingFeaturesSEC;
50710  void * pNext = {};
50711  VULKAN_HPP_NAMESPACE::Bool32 amigoProfiling = {};
50712  };
50713 
50714  template <>
50716  {
50718  };
50719 
50721  {
50723 
50724  static const bool allowDuplicate = false;
50725  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT;
50726 
50727 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
50729  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
50730  : pNext( pNext_ )
50731  , attachmentFeedbackLoopLayout( attachmentFeedbackLoopLayout_ )
50732  {
50733  }
50734 
50736  PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT( PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
50737 
50739  : PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT( *reinterpret_cast<PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT const *>( &rhs ) )
50740  {
50741  }
50742 
50745 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
50746 
50748  {
50749  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT const *>( &rhs );
50750  return *this;
50751  }
50752 
50753 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
50755  {
50756  pNext = pNext_;
50757  return *this;
50758  }
50759 
50762  {
50763  attachmentFeedbackLoopLayout = attachmentFeedbackLoopLayout_;
50764  return *this;
50765  }
50766 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
50767 
50769  {
50770  return *reinterpret_cast<const VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT *>( this );
50771  }
50772 
50774  {
50775  return *reinterpret_cast<VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT *>( this );
50776  }
50777 
50778 #if defined( VULKAN_HPP_USE_REFLECT )
50779 # if 14 <= VULKAN_HPP_CPP_VERSION
50780  auto
50781 # else
50782  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
50783 # endif
50784  reflect() const VULKAN_HPP_NOEXCEPT
50785  {
50786  return std::tie( sType, pNext, attachmentFeedbackLoopLayout );
50787  }
50788 #endif
50789 
50790 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
50791  auto operator<=>( PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT const & ) const = default;
50792 #else
50794  {
50795 # if defined( VULKAN_HPP_USE_REFLECT )
50796  return this->reflect() == rhs.reflect();
50797 # else
50798  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( attachmentFeedbackLoopLayout == rhs.attachmentFeedbackLoopLayout );
50799 # endif
50800  }
50801 
50803  {
50804  return !operator==( rhs );
50805  }
50806 #endif
50807 
50808  public:
50809  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT;
50810  void * pNext = {};
50811  VULKAN_HPP_NAMESPACE::Bool32 attachmentFeedbackLoopLayout = {};
50812  };
50813 
50814  template <>
50816  {
50818  };
50819 
50821  {
50823 
50824  static const bool allowDuplicate = false;
50825  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceBlendOperationAdvancedFeaturesEXT;
50826 
50827 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
50829  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
50830  : pNext( pNext_ )
50831  , advancedBlendCoherentOperations( advancedBlendCoherentOperations_ )
50832  {
50833  }
50834 
50836  PhysicalDeviceBlendOperationAdvancedFeaturesEXT( PhysicalDeviceBlendOperationAdvancedFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
50837 
50839  : PhysicalDeviceBlendOperationAdvancedFeaturesEXT( *reinterpret_cast<PhysicalDeviceBlendOperationAdvancedFeaturesEXT const *>( &rhs ) )
50840  {
50841  }
50842 
50844 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
50845 
50847  {
50848  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceBlendOperationAdvancedFeaturesEXT const *>( &rhs );
50849  return *this;
50850  }
50851 
50852 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
50854  {
50855  pNext = pNext_;
50856  return *this;
50857  }
50858 
50861  {
50862  advancedBlendCoherentOperations = advancedBlendCoherentOperations_;
50863  return *this;
50864  }
50865 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
50866 
50868  {
50869  return *reinterpret_cast<const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT *>( this );
50870  }
50871 
50873  {
50874  return *reinterpret_cast<VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT *>( this );
50875  }
50876 
50877 #if defined( VULKAN_HPP_USE_REFLECT )
50878 # if 14 <= VULKAN_HPP_CPP_VERSION
50879  auto
50880 # else
50881  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
50882 # endif
50883  reflect() const VULKAN_HPP_NOEXCEPT
50884  {
50885  return std::tie( sType, pNext, advancedBlendCoherentOperations );
50886  }
50887 #endif
50888 
50889 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
50890  auto operator<=>( PhysicalDeviceBlendOperationAdvancedFeaturesEXT const & ) const = default;
50891 #else
50893  {
50894 # if defined( VULKAN_HPP_USE_REFLECT )
50895  return this->reflect() == rhs.reflect();
50896 # else
50897  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( advancedBlendCoherentOperations == rhs.advancedBlendCoherentOperations );
50898 # endif
50899  }
50900 
50902  {
50903  return !operator==( rhs );
50904  }
50905 #endif
50906 
50907  public:
50908  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceBlendOperationAdvancedFeaturesEXT;
50909  void * pNext = {};
50910  VULKAN_HPP_NAMESPACE::Bool32 advancedBlendCoherentOperations = {};
50911  };
50912 
50913  template <>
50915  {
50917  };
50918 
50920  {
50922 
50923  static const bool allowDuplicate = false;
50924  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceBlendOperationAdvancedPropertiesEXT;
50925 
50926 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
50927  VULKAN_HPP_CONSTEXPR PhysicalDeviceBlendOperationAdvancedPropertiesEXT( uint32_t advancedBlendMaxColorAttachments_ = {},
50928  VULKAN_HPP_NAMESPACE::Bool32 advancedBlendIndependentBlend_ = {},
50929  VULKAN_HPP_NAMESPACE::Bool32 advancedBlendNonPremultipliedSrcColor_ = {},
50930  VULKAN_HPP_NAMESPACE::Bool32 advancedBlendNonPremultipliedDstColor_ = {},
50931  VULKAN_HPP_NAMESPACE::Bool32 advancedBlendCorrelatedOverlap_ = {},
50932  VULKAN_HPP_NAMESPACE::Bool32 advancedBlendAllOperations_ = {},
50933  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
50934  : pNext( pNext_ )
50935  , advancedBlendMaxColorAttachments( advancedBlendMaxColorAttachments_ )
50936  , advancedBlendIndependentBlend( advancedBlendIndependentBlend_ )
50937  , advancedBlendNonPremultipliedSrcColor( advancedBlendNonPremultipliedSrcColor_ )
50938  , advancedBlendNonPremultipliedDstColor( advancedBlendNonPremultipliedDstColor_ )
50939  , advancedBlendCorrelatedOverlap( advancedBlendCorrelatedOverlap_ )
50940  , advancedBlendAllOperations( advancedBlendAllOperations_ )
50941  {
50942  }
50943 
50945  PhysicalDeviceBlendOperationAdvancedPropertiesEXT( PhysicalDeviceBlendOperationAdvancedPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
50946 
50948  : PhysicalDeviceBlendOperationAdvancedPropertiesEXT( *reinterpret_cast<PhysicalDeviceBlendOperationAdvancedPropertiesEXT const *>( &rhs ) )
50949  {
50950  }
50951 
50954 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
50955 
50957  {
50958  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceBlendOperationAdvancedPropertiesEXT const *>( &rhs );
50959  return *this;
50960  }
50961 
50963  {
50964  return *reinterpret_cast<const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT *>( this );
50965  }
50966 
50968  {
50969  return *reinterpret_cast<VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT *>( this );
50970  }
50971 
50972 #if defined( VULKAN_HPP_USE_REFLECT )
50973 # if 14 <= VULKAN_HPP_CPP_VERSION
50974  auto
50975 # else
50976  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
50977  void * const &,
50978  uint32_t const &,
50984 # endif
50985  reflect() const VULKAN_HPP_NOEXCEPT
50986  {
50987  return std::tie( sType,
50988  pNext,
50989  advancedBlendMaxColorAttachments,
50990  advancedBlendIndependentBlend,
50991  advancedBlendNonPremultipliedSrcColor,
50992  advancedBlendNonPremultipliedDstColor,
50993  advancedBlendCorrelatedOverlap,
50994  advancedBlendAllOperations );
50995  }
50996 #endif
50997 
50998 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
50999  auto operator<=>( PhysicalDeviceBlendOperationAdvancedPropertiesEXT const & ) const = default;
51000 #else
51002  {
51003 # if defined( VULKAN_HPP_USE_REFLECT )
51004  return this->reflect() == rhs.reflect();
51005 # else
51006  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( advancedBlendMaxColorAttachments == rhs.advancedBlendMaxColorAttachments ) &&
51007  ( advancedBlendIndependentBlend == rhs.advancedBlendIndependentBlend ) &&
51008  ( advancedBlendNonPremultipliedSrcColor == rhs.advancedBlendNonPremultipliedSrcColor ) &&
51009  ( advancedBlendNonPremultipliedDstColor == rhs.advancedBlendNonPremultipliedDstColor ) &&
51010  ( advancedBlendCorrelatedOverlap == rhs.advancedBlendCorrelatedOverlap ) && ( advancedBlendAllOperations == rhs.advancedBlendAllOperations );
51011 # endif
51012  }
51013 
51015  {
51016  return !operator==( rhs );
51017  }
51018 #endif
51019 
51020  public:
51021  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceBlendOperationAdvancedPropertiesEXT;
51022  void * pNext = {};
51023  uint32_t advancedBlendMaxColorAttachments = {};
51024  VULKAN_HPP_NAMESPACE::Bool32 advancedBlendIndependentBlend = {};
51025  VULKAN_HPP_NAMESPACE::Bool32 advancedBlendNonPremultipliedSrcColor = {};
51026  VULKAN_HPP_NAMESPACE::Bool32 advancedBlendNonPremultipliedDstColor = {};
51027  VULKAN_HPP_NAMESPACE::Bool32 advancedBlendCorrelatedOverlap = {};
51028  VULKAN_HPP_NAMESPACE::Bool32 advancedBlendAllOperations = {};
51029  };
51030 
51031  template <>
51033  {
51035  };
51036 
51038  {
51040 
51041  static const bool allowDuplicate = false;
51042  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceBorderColorSwizzleFeaturesEXT;
51043 
51044 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
51046  VULKAN_HPP_NAMESPACE::Bool32 borderColorSwizzleFromImage_ = {},
51047  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
51048  : pNext( pNext_ )
51049  , borderColorSwizzle( borderColorSwizzle_ )
51050  , borderColorSwizzleFromImage( borderColorSwizzleFromImage_ )
51051  {
51052  }
51053 
51054  VULKAN_HPP_CONSTEXPR PhysicalDeviceBorderColorSwizzleFeaturesEXT( PhysicalDeviceBorderColorSwizzleFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
51055 
51057  : PhysicalDeviceBorderColorSwizzleFeaturesEXT( *reinterpret_cast<PhysicalDeviceBorderColorSwizzleFeaturesEXT const *>( &rhs ) )
51058  {
51059  }
51060 
51062 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
51063 
51065  {
51066  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceBorderColorSwizzleFeaturesEXT const *>( &rhs );
51067  return *this;
51068  }
51069 
51070 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
51072  {
51073  pNext = pNext_;
51074  return *this;
51075  }
51076 
51079  {
51080  borderColorSwizzle = borderColorSwizzle_;
51081  return *this;
51082  }
51083 
51086  {
51087  borderColorSwizzleFromImage = borderColorSwizzleFromImage_;
51088  return *this;
51089  }
51090 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
51091 
51093  {
51094  return *reinterpret_cast<const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT *>( this );
51095  }
51096 
51098  {
51099  return *reinterpret_cast<VkPhysicalDeviceBorderColorSwizzleFeaturesEXT *>( this );
51100  }
51101 
51102 #if defined( VULKAN_HPP_USE_REFLECT )
51103 # if 14 <= VULKAN_HPP_CPP_VERSION
51104  auto
51105 # else
51106  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
51107 # endif
51108  reflect() const VULKAN_HPP_NOEXCEPT
51109  {
51110  return std::tie( sType, pNext, borderColorSwizzle, borderColorSwizzleFromImage );
51111  }
51112 #endif
51113 
51114 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
51115  auto operator<=>( PhysicalDeviceBorderColorSwizzleFeaturesEXT const & ) const = default;
51116 #else
51118  {
51119 # if defined( VULKAN_HPP_USE_REFLECT )
51120  return this->reflect() == rhs.reflect();
51121 # else
51122  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( borderColorSwizzle == rhs.borderColorSwizzle ) &&
51123  ( borderColorSwizzleFromImage == rhs.borderColorSwizzleFromImage );
51124 # endif
51125  }
51126 
51128  {
51129  return !operator==( rhs );
51130  }
51131 #endif
51132 
51133  public:
51134  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceBorderColorSwizzleFeaturesEXT;
51135  void * pNext = {};
51136  VULKAN_HPP_NAMESPACE::Bool32 borderColorSwizzle = {};
51137  VULKAN_HPP_NAMESPACE::Bool32 borderColorSwizzleFromImage = {};
51138  };
51139 
51140  template <>
51142  {
51144  };
51145 
51147  {
51149 
51150  static const bool allowDuplicate = false;
51151  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceBufferDeviceAddressFeatures;
51152 
51153 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
51155  VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressCaptureReplay_ = {},
51156  VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressMultiDevice_ = {},
51157  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
51158  : pNext( pNext_ )
51159  , bufferDeviceAddress( bufferDeviceAddress_ )
51160  , bufferDeviceAddressCaptureReplay( bufferDeviceAddressCaptureReplay_ )
51161  , bufferDeviceAddressMultiDevice( bufferDeviceAddressMultiDevice_ )
51162  {
51163  }
51164 
51165  VULKAN_HPP_CONSTEXPR PhysicalDeviceBufferDeviceAddressFeatures( PhysicalDeviceBufferDeviceAddressFeatures const & rhs ) VULKAN_HPP_NOEXCEPT = default;
51166 
51168  : PhysicalDeviceBufferDeviceAddressFeatures( *reinterpret_cast<PhysicalDeviceBufferDeviceAddressFeatures const *>( &rhs ) )
51169  {
51170  }
51171 
51173 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
51174 
51176  {
51177  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceBufferDeviceAddressFeatures const *>( &rhs );
51178  return *this;
51179  }
51180 
51181 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
51183  {
51184  pNext = pNext_;
51185  return *this;
51186  }
51187 
51190  {
51191  bufferDeviceAddress = bufferDeviceAddress_;
51192  return *this;
51193  }
51194 
51197  {
51198  bufferDeviceAddressCaptureReplay = bufferDeviceAddressCaptureReplay_;
51199  return *this;
51200  }
51201 
51204  {
51205  bufferDeviceAddressMultiDevice = bufferDeviceAddressMultiDevice_;
51206  return *this;
51207  }
51208 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
51209 
51211  {
51212  return *reinterpret_cast<const VkPhysicalDeviceBufferDeviceAddressFeatures *>( this );
51213  }
51214 
51216  {
51217  return *reinterpret_cast<VkPhysicalDeviceBufferDeviceAddressFeatures *>( this );
51218  }
51219 
51220 #if defined( VULKAN_HPP_USE_REFLECT )
51221 # if 14 <= VULKAN_HPP_CPP_VERSION
51222  auto
51223 # else
51224  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
51225  void * const &,
51229 # endif
51230  reflect() const VULKAN_HPP_NOEXCEPT
51231  {
51232  return std::tie( sType, pNext, bufferDeviceAddress, bufferDeviceAddressCaptureReplay, bufferDeviceAddressMultiDevice );
51233  }
51234 #endif
51235 
51236 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
51237  auto operator<=>( PhysicalDeviceBufferDeviceAddressFeatures const & ) const = default;
51238 #else
51240  {
51241 # if defined( VULKAN_HPP_USE_REFLECT )
51242  return this->reflect() == rhs.reflect();
51243 # else
51244  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( bufferDeviceAddress == rhs.bufferDeviceAddress ) &&
51245  ( bufferDeviceAddressCaptureReplay == rhs.bufferDeviceAddressCaptureReplay ) &&
51246  ( bufferDeviceAddressMultiDevice == rhs.bufferDeviceAddressMultiDevice );
51247 # endif
51248  }
51249 
51251  {
51252  return !operator==( rhs );
51253  }
51254 #endif
51255 
51256  public:
51257  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceBufferDeviceAddressFeatures;
51258  void * pNext = {};
51259  VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddress = {};
51260  VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressCaptureReplay = {};
51261  VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressMultiDevice = {};
51262  };
51263 
51264  template <>
51266  {
51268  };
51270 
51272  {
51274 
51275  static const bool allowDuplicate = false;
51276  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceBufferDeviceAddressFeaturesEXT;
51277 
51278 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
51280  VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressCaptureReplay_ = {},
51281  VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressMultiDevice_ = {},
51282  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
51283  : pNext( pNext_ )
51284  , bufferDeviceAddress( bufferDeviceAddress_ )
51285  , bufferDeviceAddressCaptureReplay( bufferDeviceAddressCaptureReplay_ )
51286  , bufferDeviceAddressMultiDevice( bufferDeviceAddressMultiDevice_ )
51287  {
51288  }
51289 
51290  VULKAN_HPP_CONSTEXPR PhysicalDeviceBufferDeviceAddressFeaturesEXT( PhysicalDeviceBufferDeviceAddressFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
51291 
51293  : PhysicalDeviceBufferDeviceAddressFeaturesEXT( *reinterpret_cast<PhysicalDeviceBufferDeviceAddressFeaturesEXT const *>( &rhs ) )
51294  {
51295  }
51296 
51298 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
51299 
51301  {
51302  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceBufferDeviceAddressFeaturesEXT const *>( &rhs );
51303  return *this;
51304  }
51305 
51306 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
51308  {
51309  pNext = pNext_;
51310  return *this;
51311  }
51312 
51315  {
51316  bufferDeviceAddress = bufferDeviceAddress_;
51317  return *this;
51318  }
51319 
51322  {
51323  bufferDeviceAddressCaptureReplay = bufferDeviceAddressCaptureReplay_;
51324  return *this;
51325  }
51326 
51329  {
51330  bufferDeviceAddressMultiDevice = bufferDeviceAddressMultiDevice_;
51331  return *this;
51332  }
51333 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
51334 
51336  {
51337  return *reinterpret_cast<const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT *>( this );
51338  }
51339 
51341  {
51342  return *reinterpret_cast<VkPhysicalDeviceBufferDeviceAddressFeaturesEXT *>( this );
51343  }
51344 
51345 #if defined( VULKAN_HPP_USE_REFLECT )
51346 # if 14 <= VULKAN_HPP_CPP_VERSION
51347  auto
51348 # else
51349  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
51350  void * const &,
51354 # endif
51355  reflect() const VULKAN_HPP_NOEXCEPT
51356  {
51357  return std::tie( sType, pNext, bufferDeviceAddress, bufferDeviceAddressCaptureReplay, bufferDeviceAddressMultiDevice );
51358  }
51359 #endif
51360 
51361 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
51362  auto operator<=>( PhysicalDeviceBufferDeviceAddressFeaturesEXT const & ) const = default;
51363 #else
51365  {
51366 # if defined( VULKAN_HPP_USE_REFLECT )
51367  return this->reflect() == rhs.reflect();
51368 # else
51369  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( bufferDeviceAddress == rhs.bufferDeviceAddress ) &&
51370  ( bufferDeviceAddressCaptureReplay == rhs.bufferDeviceAddressCaptureReplay ) &&
51371  ( bufferDeviceAddressMultiDevice == rhs.bufferDeviceAddressMultiDevice );
51372 # endif
51373  }
51374 
51376  {
51377  return !operator==( rhs );
51378  }
51379 #endif
51380 
51381  public:
51382  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceBufferDeviceAddressFeaturesEXT;
51383  void * pNext = {};
51384  VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddress = {};
51385  VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressCaptureReplay = {};
51386  VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressMultiDevice = {};
51387  };
51388 
51389  template <>
51391  {
51393  };
51395 
51397  {
51399 
51400  static const bool allowDuplicate = false;
51401  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceCoherentMemoryFeaturesAMD;
51402 
51403 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
51405  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
51406  : pNext( pNext_ )
51407  , deviceCoherentMemory( deviceCoherentMemory_ )
51408  {
51409  }
51410 
51411  VULKAN_HPP_CONSTEXPR PhysicalDeviceCoherentMemoryFeaturesAMD( PhysicalDeviceCoherentMemoryFeaturesAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default;
51412 
51414  : PhysicalDeviceCoherentMemoryFeaturesAMD( *reinterpret_cast<PhysicalDeviceCoherentMemoryFeaturesAMD const *>( &rhs ) )
51415  {
51416  }
51417 
51419 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
51420 
51422  {
51423  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceCoherentMemoryFeaturesAMD const *>( &rhs );
51424  return *this;
51425  }
51426 
51427 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
51429  {
51430  pNext = pNext_;
51431  return *this;
51432  }
51433 
51436  {
51437  deviceCoherentMemory = deviceCoherentMemory_;
51438  return *this;
51439  }
51440 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
51441 
51443  {
51444  return *reinterpret_cast<const VkPhysicalDeviceCoherentMemoryFeaturesAMD *>( this );
51445  }
51446 
51448  {
51449  return *reinterpret_cast<VkPhysicalDeviceCoherentMemoryFeaturesAMD *>( this );
51450  }
51451 
51452 #if defined( VULKAN_HPP_USE_REFLECT )
51453 # if 14 <= VULKAN_HPP_CPP_VERSION
51454  auto
51455 # else
51456  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
51457 # endif
51458  reflect() const VULKAN_HPP_NOEXCEPT
51459  {
51460  return std::tie( sType, pNext, deviceCoherentMemory );
51461  }
51462 #endif
51463 
51464 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
51465  auto operator<=>( PhysicalDeviceCoherentMemoryFeaturesAMD const & ) const = default;
51466 #else
51468  {
51469 # if defined( VULKAN_HPP_USE_REFLECT )
51470  return this->reflect() == rhs.reflect();
51471 # else
51472  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( deviceCoherentMemory == rhs.deviceCoherentMemory );
51473 # endif
51474  }
51475 
51477  {
51478  return !operator==( rhs );
51479  }
51480 #endif
51481 
51482  public:
51483  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceCoherentMemoryFeaturesAMD;
51484  void * pNext = {};
51485  VULKAN_HPP_NAMESPACE::Bool32 deviceCoherentMemory = {};
51486  };
51487 
51488  template <>
51490  {
51492  };
51493 
51495  {
51497 
51498  static const bool allowDuplicate = false;
51499  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceColorWriteEnableFeaturesEXT;
51500 
51501 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
51503  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
51504  : pNext( pNext_ )
51505  , colorWriteEnable( colorWriteEnable_ )
51506  {
51507  }
51508 
51509  VULKAN_HPP_CONSTEXPR PhysicalDeviceColorWriteEnableFeaturesEXT( PhysicalDeviceColorWriteEnableFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
51510 
51512  : PhysicalDeviceColorWriteEnableFeaturesEXT( *reinterpret_cast<PhysicalDeviceColorWriteEnableFeaturesEXT const *>( &rhs ) )
51513  {
51514  }
51515 
51517 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
51518 
51520  {
51521  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceColorWriteEnableFeaturesEXT const *>( &rhs );
51522  return *this;
51523  }
51524 
51525 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
51527  {
51528  pNext = pNext_;
51529  return *this;
51530  }
51531 
51534  {
51535  colorWriteEnable = colorWriteEnable_;
51536  return *this;
51537  }
51538 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
51539 
51541  {
51542  return *reinterpret_cast<const VkPhysicalDeviceColorWriteEnableFeaturesEXT *>( this );
51543  }
51544 
51546  {
51547  return *reinterpret_cast<VkPhysicalDeviceColorWriteEnableFeaturesEXT *>( this );
51548  }
51549 
51550 #if defined( VULKAN_HPP_USE_REFLECT )
51551 # if 14 <= VULKAN_HPP_CPP_VERSION
51552  auto
51553 # else
51554  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
51555 # endif
51556  reflect() const VULKAN_HPP_NOEXCEPT
51557  {
51558  return std::tie( sType, pNext, colorWriteEnable );
51559  }
51560 #endif
51561 
51562 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
51563  auto operator<=>( PhysicalDeviceColorWriteEnableFeaturesEXT const & ) const = default;
51564 #else
51566  {
51567 # if defined( VULKAN_HPP_USE_REFLECT )
51568  return this->reflect() == rhs.reflect();
51569 # else
51570  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( colorWriteEnable == rhs.colorWriteEnable );
51571 # endif
51572  }
51573 
51575  {
51576  return !operator==( rhs );
51577  }
51578 #endif
51579 
51580  public:
51581  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceColorWriteEnableFeaturesEXT;
51582  void * pNext = {};
51583  VULKAN_HPP_NAMESPACE::Bool32 colorWriteEnable = {};
51584  };
51585 
51586  template <>
51588  {
51590  };
51591 
51593  {
51595 
51596  static const bool allowDuplicate = false;
51597  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceComputeShaderDerivativesFeaturesNV;
51598 
51599 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
51601  VULKAN_HPP_NAMESPACE::Bool32 computeDerivativeGroupLinear_ = {},
51602  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
51603  : pNext( pNext_ )
51604  , computeDerivativeGroupQuads( computeDerivativeGroupQuads_ )
51605  , computeDerivativeGroupLinear( computeDerivativeGroupLinear_ )
51606  {
51607  }
51608 
51610  PhysicalDeviceComputeShaderDerivativesFeaturesNV( PhysicalDeviceComputeShaderDerivativesFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
51611 
51613  : PhysicalDeviceComputeShaderDerivativesFeaturesNV( *reinterpret_cast<PhysicalDeviceComputeShaderDerivativesFeaturesNV const *>( &rhs ) )
51614  {
51615  }
51616 
51618 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
51619 
51621  {
51622  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceComputeShaderDerivativesFeaturesNV const *>( &rhs );
51623  return *this;
51624  }
51625 
51626 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
51628  {
51629  pNext = pNext_;
51630  return *this;
51631  }
51632 
51635  {
51636  computeDerivativeGroupQuads = computeDerivativeGroupQuads_;
51637  return *this;
51638  }
51639 
51642  {
51643  computeDerivativeGroupLinear = computeDerivativeGroupLinear_;
51644  return *this;
51645  }
51646 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
51647 
51649  {
51650  return *reinterpret_cast<const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV *>( this );
51651  }
51652 
51654  {
51655  return *reinterpret_cast<VkPhysicalDeviceComputeShaderDerivativesFeaturesNV *>( this );
51656  }
51657 
51658 #if defined( VULKAN_HPP_USE_REFLECT )
51659 # if 14 <= VULKAN_HPP_CPP_VERSION
51660  auto
51661 # else
51662  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
51663 # endif
51664  reflect() const VULKAN_HPP_NOEXCEPT
51665  {
51666  return std::tie( sType, pNext, computeDerivativeGroupQuads, computeDerivativeGroupLinear );
51667  }
51668 #endif
51669 
51670 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
51671  auto operator<=>( PhysicalDeviceComputeShaderDerivativesFeaturesNV const & ) const = default;
51672 #else
51674  {
51675 # if defined( VULKAN_HPP_USE_REFLECT )
51676  return this->reflect() == rhs.reflect();
51677 # else
51678  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( computeDerivativeGroupQuads == rhs.computeDerivativeGroupQuads ) &&
51679  ( computeDerivativeGroupLinear == rhs.computeDerivativeGroupLinear );
51680 # endif
51681  }
51682 
51684  {
51685  return !operator==( rhs );
51686  }
51687 #endif
51688 
51689  public:
51690  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceComputeShaderDerivativesFeaturesNV;
51691  void * pNext = {};
51692  VULKAN_HPP_NAMESPACE::Bool32 computeDerivativeGroupQuads = {};
51693  VULKAN_HPP_NAMESPACE::Bool32 computeDerivativeGroupLinear = {};
51694  };
51695 
51696  template <>
51698  {
51700  };
51701 
51703  {
51705 
51706  static const bool allowDuplicate = false;
51707  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceConditionalRenderingFeaturesEXT;
51708 
51709 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
51711  VULKAN_HPP_NAMESPACE::Bool32 inheritedConditionalRendering_ = {},
51712  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
51713  : pNext( pNext_ )
51714  , conditionalRendering( conditionalRendering_ )
51715  , inheritedConditionalRendering( inheritedConditionalRendering_ )
51716  {
51717  }
51718 
51720  PhysicalDeviceConditionalRenderingFeaturesEXT( PhysicalDeviceConditionalRenderingFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
51721 
51723  : PhysicalDeviceConditionalRenderingFeaturesEXT( *reinterpret_cast<PhysicalDeviceConditionalRenderingFeaturesEXT const *>( &rhs ) )
51724  {
51725  }
51726 
51728 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
51729 
51731  {
51732  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceConditionalRenderingFeaturesEXT const *>( &rhs );
51733  return *this;
51734  }
51735 
51736 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
51738  {
51739  pNext = pNext_;
51740  return *this;
51741  }
51742 
51745  {
51746  conditionalRendering = conditionalRendering_;
51747  return *this;
51748  }
51749 
51752  {
51753  inheritedConditionalRendering = inheritedConditionalRendering_;
51754  return *this;
51755  }
51756 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
51757 
51759  {
51760  return *reinterpret_cast<const VkPhysicalDeviceConditionalRenderingFeaturesEXT *>( this );
51761  }
51762 
51764  {
51765  return *reinterpret_cast<VkPhysicalDeviceConditionalRenderingFeaturesEXT *>( this );
51766  }
51767 
51768 #if defined( VULKAN_HPP_USE_REFLECT )
51769 # if 14 <= VULKAN_HPP_CPP_VERSION
51770  auto
51771 # else
51772  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
51773 # endif
51774  reflect() const VULKAN_HPP_NOEXCEPT
51775  {
51776  return std::tie( sType, pNext, conditionalRendering, inheritedConditionalRendering );
51777  }
51778 #endif
51779 
51780 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
51781  auto operator<=>( PhysicalDeviceConditionalRenderingFeaturesEXT const & ) const = default;
51782 #else
51784  {
51785 # if defined( VULKAN_HPP_USE_REFLECT )
51786  return this->reflect() == rhs.reflect();
51787 # else
51788  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( conditionalRendering == rhs.conditionalRendering ) &&
51789  ( inheritedConditionalRendering == rhs.inheritedConditionalRendering );
51790 # endif
51791  }
51792 
51794  {
51795  return !operator==( rhs );
51796  }
51797 #endif
51798 
51799  public:
51800  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceConditionalRenderingFeaturesEXT;
51801  void * pNext = {};
51802  VULKAN_HPP_NAMESPACE::Bool32 conditionalRendering = {};
51803  VULKAN_HPP_NAMESPACE::Bool32 inheritedConditionalRendering = {};
51804  };
51805 
51806  template <>
51808  {
51810  };
51811 
51813  {
51815 
51816  static const bool allowDuplicate = false;
51817  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceConservativeRasterizationPropertiesEXT;
51818 
51819 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
51821  float maxExtraPrimitiveOverestimationSize_ = {},
51822  float extraPrimitiveOverestimationSizeGranularity_ = {},
51823  VULKAN_HPP_NAMESPACE::Bool32 primitiveUnderestimation_ = {},
51824  VULKAN_HPP_NAMESPACE::Bool32 conservativePointAndLineRasterization_ = {},
51825  VULKAN_HPP_NAMESPACE::Bool32 degenerateTrianglesRasterized_ = {},
51826  VULKAN_HPP_NAMESPACE::Bool32 degenerateLinesRasterized_ = {},
51827  VULKAN_HPP_NAMESPACE::Bool32 fullyCoveredFragmentShaderInputVariable_ = {},
51828  VULKAN_HPP_NAMESPACE::Bool32 conservativeRasterizationPostDepthCoverage_ = {},
51829  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
51830  : pNext( pNext_ )
51831  , primitiveOverestimationSize( primitiveOverestimationSize_ )
51832  , maxExtraPrimitiveOverestimationSize( maxExtraPrimitiveOverestimationSize_ )
51833  , extraPrimitiveOverestimationSizeGranularity( extraPrimitiveOverestimationSizeGranularity_ )
51834  , primitiveUnderestimation( primitiveUnderestimation_ )
51835  , conservativePointAndLineRasterization( conservativePointAndLineRasterization_ )
51836  , degenerateTrianglesRasterized( degenerateTrianglesRasterized_ )
51837  , degenerateLinesRasterized( degenerateLinesRasterized_ )
51838  , fullyCoveredFragmentShaderInputVariable( fullyCoveredFragmentShaderInputVariable_ )
51839  , conservativeRasterizationPostDepthCoverage( conservativeRasterizationPostDepthCoverage_ )
51840  {
51841  }
51842 
51844  PhysicalDeviceConservativeRasterizationPropertiesEXT( PhysicalDeviceConservativeRasterizationPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
51845 
51847  : PhysicalDeviceConservativeRasterizationPropertiesEXT( *reinterpret_cast<PhysicalDeviceConservativeRasterizationPropertiesEXT const *>( &rhs ) )
51848  {
51849  }
51850 
51853 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
51854 
51856  {
51857  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceConservativeRasterizationPropertiesEXT const *>( &rhs );
51858  return *this;
51859  }
51860 
51862  {
51863  return *reinterpret_cast<const VkPhysicalDeviceConservativeRasterizationPropertiesEXT *>( this );
51864  }
51865 
51867  {
51868  return *reinterpret_cast<VkPhysicalDeviceConservativeRasterizationPropertiesEXT *>( this );
51869  }
51870 
51871 #if defined( VULKAN_HPP_USE_REFLECT )
51872 # if 14 <= VULKAN_HPP_CPP_VERSION
51873  auto
51874 # else
51875  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
51876  void * const &,
51877  float const &,
51878  float const &,
51879  float const &,
51886 # endif
51887  reflect() const VULKAN_HPP_NOEXCEPT
51888  {
51889  return std::tie( sType,
51890  pNext,
51891  primitiveOverestimationSize,
51892  maxExtraPrimitiveOverestimationSize,
51893  extraPrimitiveOverestimationSizeGranularity,
51894  primitiveUnderestimation,
51895  conservativePointAndLineRasterization,
51896  degenerateTrianglesRasterized,
51897  degenerateLinesRasterized,
51898  fullyCoveredFragmentShaderInputVariable,
51899  conservativeRasterizationPostDepthCoverage );
51900  }
51901 #endif
51902 
51903 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
51904  auto operator<=>( PhysicalDeviceConservativeRasterizationPropertiesEXT const & ) const = default;
51905 #else
51907  {
51908 # if defined( VULKAN_HPP_USE_REFLECT )
51909  return this->reflect() == rhs.reflect();
51910 # else
51911  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( primitiveOverestimationSize == rhs.primitiveOverestimationSize ) &&
51912  ( maxExtraPrimitiveOverestimationSize == rhs.maxExtraPrimitiveOverestimationSize ) &&
51913  ( extraPrimitiveOverestimationSizeGranularity == rhs.extraPrimitiveOverestimationSizeGranularity ) &&
51914  ( primitiveUnderestimation == rhs.primitiveUnderestimation ) &&
51915  ( conservativePointAndLineRasterization == rhs.conservativePointAndLineRasterization ) &&
51916  ( degenerateTrianglesRasterized == rhs.degenerateTrianglesRasterized ) && ( degenerateLinesRasterized == rhs.degenerateLinesRasterized ) &&
51917  ( fullyCoveredFragmentShaderInputVariable == rhs.fullyCoveredFragmentShaderInputVariable ) &&
51918  ( conservativeRasterizationPostDepthCoverage == rhs.conservativeRasterizationPostDepthCoverage );
51919 # endif
51920  }
51921 
51923  {
51924  return !operator==( rhs );
51925  }
51926 #endif
51927 
51928  public:
51929  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceConservativeRasterizationPropertiesEXT;
51930  void * pNext = {};
51931  float primitiveOverestimationSize = {};
51932  float maxExtraPrimitiveOverestimationSize = {};
51933  float extraPrimitiveOverestimationSizeGranularity = {};
51934  VULKAN_HPP_NAMESPACE::Bool32 primitiveUnderestimation = {};
51935  VULKAN_HPP_NAMESPACE::Bool32 conservativePointAndLineRasterization = {};
51936  VULKAN_HPP_NAMESPACE::Bool32 degenerateTrianglesRasterized = {};
51937  VULKAN_HPP_NAMESPACE::Bool32 degenerateLinesRasterized = {};
51938  VULKAN_HPP_NAMESPACE::Bool32 fullyCoveredFragmentShaderInputVariable = {};
51939  VULKAN_HPP_NAMESPACE::Bool32 conservativeRasterizationPostDepthCoverage = {};
51940  };
51941 
51942  template <>
51944  {
51946  };
51947 
51949  {
51951 
51952  static const bool allowDuplicate = false;
51953  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceCooperativeMatrixFeaturesNV;
51954 
51955 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
51957  VULKAN_HPP_NAMESPACE::Bool32 cooperativeMatrixRobustBufferAccess_ = {},
51958  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
51959  : pNext( pNext_ )
51960  , cooperativeMatrix( cooperativeMatrix_ )
51961  , cooperativeMatrixRobustBufferAccess( cooperativeMatrixRobustBufferAccess_ )
51962  {
51963  }
51964 
51965  VULKAN_HPP_CONSTEXPR PhysicalDeviceCooperativeMatrixFeaturesNV( PhysicalDeviceCooperativeMatrixFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
51966 
51968  : PhysicalDeviceCooperativeMatrixFeaturesNV( *reinterpret_cast<PhysicalDeviceCooperativeMatrixFeaturesNV const *>( &rhs ) )
51969  {
51970  }
51971 
51973 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
51974 
51976  {
51977  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceCooperativeMatrixFeaturesNV const *>( &rhs );
51978  return *this;
51979  }
51980 
51981 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
51983  {
51984  pNext = pNext_;
51985  return *this;
51986  }
51987 
51990  {
51991  cooperativeMatrix = cooperativeMatrix_;
51992  return *this;
51993  }
51994 
51997  {
51998  cooperativeMatrixRobustBufferAccess = cooperativeMatrixRobustBufferAccess_;
51999  return *this;
52000  }
52001 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
52002 
52004  {
52005  return *reinterpret_cast<const VkPhysicalDeviceCooperativeMatrixFeaturesNV *>( this );
52006  }
52007 
52009  {
52010  return *reinterpret_cast<VkPhysicalDeviceCooperativeMatrixFeaturesNV *>( this );
52011  }
52012 
52013 #if defined( VULKAN_HPP_USE_REFLECT )
52014 # if 14 <= VULKAN_HPP_CPP_VERSION
52015  auto
52016 # else
52017  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
52018 # endif
52019  reflect() const VULKAN_HPP_NOEXCEPT
52020  {
52021  return std::tie( sType, pNext, cooperativeMatrix, cooperativeMatrixRobustBufferAccess );
52022  }
52023 #endif
52024 
52025 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
52026  auto operator<=>( PhysicalDeviceCooperativeMatrixFeaturesNV const & ) const = default;
52027 #else
52029  {
52030 # if defined( VULKAN_HPP_USE_REFLECT )
52031  return this->reflect() == rhs.reflect();
52032 # else
52033  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( cooperativeMatrix == rhs.cooperativeMatrix ) &&
52034  ( cooperativeMatrixRobustBufferAccess == rhs.cooperativeMatrixRobustBufferAccess );
52035 # endif
52036  }
52037 
52039  {
52040  return !operator==( rhs );
52041  }
52042 #endif
52043 
52044  public:
52045  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceCooperativeMatrixFeaturesNV;
52046  void * pNext = {};
52047  VULKAN_HPP_NAMESPACE::Bool32 cooperativeMatrix = {};
52048  VULKAN_HPP_NAMESPACE::Bool32 cooperativeMatrixRobustBufferAccess = {};
52049  };
52050 
52051  template <>
52053  {
52055  };
52056 
52058  {
52060 
52061  static const bool allowDuplicate = false;
52062  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceCooperativeMatrixPropertiesNV;
52063 
52064 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
52066  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
52067  : pNext( pNext_ )
52068  , cooperativeMatrixSupportedStages( cooperativeMatrixSupportedStages_ )
52069  {
52070  }
52071 
52072  VULKAN_HPP_CONSTEXPR PhysicalDeviceCooperativeMatrixPropertiesNV( PhysicalDeviceCooperativeMatrixPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
52073 
52075  : PhysicalDeviceCooperativeMatrixPropertiesNV( *reinterpret_cast<PhysicalDeviceCooperativeMatrixPropertiesNV const *>( &rhs ) )
52076  {
52077  }
52078 
52080 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
52081 
52083  {
52084  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceCooperativeMatrixPropertiesNV const *>( &rhs );
52085  return *this;
52086  }
52087 
52089  {
52090  return *reinterpret_cast<const VkPhysicalDeviceCooperativeMatrixPropertiesNV *>( this );
52091  }
52092 
52094  {
52095  return *reinterpret_cast<VkPhysicalDeviceCooperativeMatrixPropertiesNV *>( this );
52096  }
52097 
52098 #if defined( VULKAN_HPP_USE_REFLECT )
52099 # if 14 <= VULKAN_HPP_CPP_VERSION
52100  auto
52101 # else
52102  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::ShaderStageFlags const &>
52103 # endif
52104  reflect() const VULKAN_HPP_NOEXCEPT
52105  {
52106  return std::tie( sType, pNext, cooperativeMatrixSupportedStages );
52107  }
52108 #endif
52109 
52110 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
52111  auto operator<=>( PhysicalDeviceCooperativeMatrixPropertiesNV const & ) const = default;
52112 #else
52114  {
52115 # if defined( VULKAN_HPP_USE_REFLECT )
52116  return this->reflect() == rhs.reflect();
52117 # else
52118  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( cooperativeMatrixSupportedStages == rhs.cooperativeMatrixSupportedStages );
52119 # endif
52120  }
52121 
52123  {
52124  return !operator==( rhs );
52125  }
52126 #endif
52127 
52128  public:
52129  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceCooperativeMatrixPropertiesNV;
52130  void * pNext = {};
52131  VULKAN_HPP_NAMESPACE::ShaderStageFlags cooperativeMatrixSupportedStages = {};
52132  };
52133 
52134  template <>
52136  {
52138  };
52139 
52141  {
52143 
52144  static const bool allowDuplicate = false;
52145  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceCopyMemoryIndirectFeaturesNV;
52146 
52147 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
52149  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
52150  : pNext( pNext_ )
52151  , indirectCopy( indirectCopy_ )
52152  {
52153  }
52154 
52155  VULKAN_HPP_CONSTEXPR PhysicalDeviceCopyMemoryIndirectFeaturesNV( PhysicalDeviceCopyMemoryIndirectFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
52156 
52158  : PhysicalDeviceCopyMemoryIndirectFeaturesNV( *reinterpret_cast<PhysicalDeviceCopyMemoryIndirectFeaturesNV const *>( &rhs ) )
52159  {
52160  }
52161 
52163 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
52164 
52166  {
52167  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceCopyMemoryIndirectFeaturesNV const *>( &rhs );
52168  return *this;
52169  }
52170 
52171 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
52173  {
52174  pNext = pNext_;
52175  return *this;
52176  }
52177 
52179  {
52180  indirectCopy = indirectCopy_;
52181  return *this;
52182  }
52183 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
52184 
52186  {
52187  return *reinterpret_cast<const VkPhysicalDeviceCopyMemoryIndirectFeaturesNV *>( this );
52188  }
52189 
52191  {
52192  return *reinterpret_cast<VkPhysicalDeviceCopyMemoryIndirectFeaturesNV *>( this );
52193  }
52194 
52195 #if defined( VULKAN_HPP_USE_REFLECT )
52196 # if 14 <= VULKAN_HPP_CPP_VERSION
52197  auto
52198 # else
52199  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
52200 # endif
52201  reflect() const VULKAN_HPP_NOEXCEPT
52202  {
52203  return std::tie( sType, pNext, indirectCopy );
52204  }
52205 #endif
52206 
52207 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
52208  auto operator<=>( PhysicalDeviceCopyMemoryIndirectFeaturesNV const & ) const = default;
52209 #else
52211  {
52212 # if defined( VULKAN_HPP_USE_REFLECT )
52213  return this->reflect() == rhs.reflect();
52214 # else
52215  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( indirectCopy == rhs.indirectCopy );
52216 # endif
52217  }
52218 
52220  {
52221  return !operator==( rhs );
52222  }
52223 #endif
52224 
52225  public:
52226  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceCopyMemoryIndirectFeaturesNV;
52227  void * pNext = {};
52228  VULKAN_HPP_NAMESPACE::Bool32 indirectCopy = {};
52229  };
52230 
52231  template <>
52233  {
52235  };
52236 
52238  {
52240 
52241  static const bool allowDuplicate = false;
52242  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceCopyMemoryIndirectPropertiesNV;
52243 
52244 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
52246  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
52247  : pNext( pNext_ )
52248  , supportedQueues( supportedQueues_ )
52249  {
52250  }
52251 
52252  VULKAN_HPP_CONSTEXPR PhysicalDeviceCopyMemoryIndirectPropertiesNV( PhysicalDeviceCopyMemoryIndirectPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
52253 
52255  : PhysicalDeviceCopyMemoryIndirectPropertiesNV( *reinterpret_cast<PhysicalDeviceCopyMemoryIndirectPropertiesNV const *>( &rhs ) )
52256  {
52257  }
52258 
52260 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
52261 
52263  {
52264  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceCopyMemoryIndirectPropertiesNV const *>( &rhs );
52265  return *this;
52266  }
52267 
52269  {
52270  return *reinterpret_cast<const VkPhysicalDeviceCopyMemoryIndirectPropertiesNV *>( this );
52271  }
52272 
52274  {
52275  return *reinterpret_cast<VkPhysicalDeviceCopyMemoryIndirectPropertiesNV *>( this );
52276  }
52277 
52278 #if defined( VULKAN_HPP_USE_REFLECT )
52279 # if 14 <= VULKAN_HPP_CPP_VERSION
52280  auto
52281 # else
52282  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::QueueFlags const &>
52283 # endif
52284  reflect() const VULKAN_HPP_NOEXCEPT
52285  {
52286  return std::tie( sType, pNext, supportedQueues );
52287  }
52288 #endif
52289 
52290 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
52291  auto operator<=>( PhysicalDeviceCopyMemoryIndirectPropertiesNV const & ) const = default;
52292 #else
52294  {
52295 # if defined( VULKAN_HPP_USE_REFLECT )
52296  return this->reflect() == rhs.reflect();
52297 # else
52298  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( supportedQueues == rhs.supportedQueues );
52299 # endif
52300  }
52301 
52303  {
52304  return !operator==( rhs );
52305  }
52306 #endif
52307 
52308  public:
52309  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceCopyMemoryIndirectPropertiesNV;
52310  void * pNext = {};
52311  VULKAN_HPP_NAMESPACE::QueueFlags supportedQueues = {};
52312  };
52313 
52314  template <>
52316  {
52318  };
52319 
52321  {
52323 
52324  static const bool allowDuplicate = false;
52325  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceCornerSampledImageFeaturesNV;
52326 
52327 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
52329  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
52330  : pNext( pNext_ )
52331  , cornerSampledImage( cornerSampledImage_ )
52332  {
52333  }
52334 
52335  VULKAN_HPP_CONSTEXPR PhysicalDeviceCornerSampledImageFeaturesNV( PhysicalDeviceCornerSampledImageFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
52336 
52338  : PhysicalDeviceCornerSampledImageFeaturesNV( *reinterpret_cast<PhysicalDeviceCornerSampledImageFeaturesNV const *>( &rhs ) )
52339  {
52340  }
52341 
52343 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
52344 
52346  {
52347  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceCornerSampledImageFeaturesNV const *>( &rhs );
52348  return *this;
52349  }
52350 
52351 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
52353  {
52354  pNext = pNext_;
52355  return *this;
52356  }
52357 
52360  {
52361  cornerSampledImage = cornerSampledImage_;
52362  return *this;
52363  }
52364 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
52365 
52367  {
52368  return *reinterpret_cast<const VkPhysicalDeviceCornerSampledImageFeaturesNV *>( this );
52369  }
52370 
52372  {
52373  return *reinterpret_cast<VkPhysicalDeviceCornerSampledImageFeaturesNV *>( this );
52374  }
52375 
52376 #if defined( VULKAN_HPP_USE_REFLECT )
52377 # if 14 <= VULKAN_HPP_CPP_VERSION
52378  auto
52379 # else
52380  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
52381 # endif
52382  reflect() const VULKAN_HPP_NOEXCEPT
52383  {
52384  return std::tie( sType, pNext, cornerSampledImage );
52385  }
52386 #endif
52387 
52388 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
52389  auto operator<=>( PhysicalDeviceCornerSampledImageFeaturesNV const & ) const = default;
52390 #else
52392  {
52393 # if defined( VULKAN_HPP_USE_REFLECT )
52394  return this->reflect() == rhs.reflect();
52395 # else
52396  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( cornerSampledImage == rhs.cornerSampledImage );
52397 # endif
52398  }
52399 
52401  {
52402  return !operator==( rhs );
52403  }
52404 #endif
52405 
52406  public:
52407  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceCornerSampledImageFeaturesNV;
52408  void * pNext = {};
52409  VULKAN_HPP_NAMESPACE::Bool32 cornerSampledImage = {};
52410  };
52411 
52412  template <>
52414  {
52416  };
52417 
52419  {
52421 
52422  static const bool allowDuplicate = false;
52423  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceCoverageReductionModeFeaturesNV;
52424 
52425 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
52427  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
52428  : pNext( pNext_ )
52429  , coverageReductionMode( coverageReductionMode_ )
52430  {
52431  }
52432 
52434  PhysicalDeviceCoverageReductionModeFeaturesNV( PhysicalDeviceCoverageReductionModeFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
52435 
52437  : PhysicalDeviceCoverageReductionModeFeaturesNV( *reinterpret_cast<PhysicalDeviceCoverageReductionModeFeaturesNV const *>( &rhs ) )
52438  {
52439  }
52440 
52442 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
52443 
52445  {
52446  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceCoverageReductionModeFeaturesNV const *>( &rhs );
52447  return *this;
52448  }
52449 
52450 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
52452  {
52453  pNext = pNext_;
52454  return *this;
52455  }
52456 
52459  {
52460  coverageReductionMode = coverageReductionMode_;
52461  return *this;
52462  }
52463 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
52464 
52466  {
52467  return *reinterpret_cast<const VkPhysicalDeviceCoverageReductionModeFeaturesNV *>( this );
52468  }
52469 
52471  {
52472  return *reinterpret_cast<VkPhysicalDeviceCoverageReductionModeFeaturesNV *>( this );
52473  }
52474 
52475 #if defined( VULKAN_HPP_USE_REFLECT )
52476 # if 14 <= VULKAN_HPP_CPP_VERSION
52477  auto
52478 # else
52479  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
52480 # endif
52481  reflect() const VULKAN_HPP_NOEXCEPT
52482  {
52483  return std::tie( sType, pNext, coverageReductionMode );
52484  }
52485 #endif
52486 
52487 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
52488  auto operator<=>( PhysicalDeviceCoverageReductionModeFeaturesNV const & ) const = default;
52489 #else
52491  {
52492 # if defined( VULKAN_HPP_USE_REFLECT )
52493  return this->reflect() == rhs.reflect();
52494 # else
52495  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( coverageReductionMode == rhs.coverageReductionMode );
52496 # endif
52497  }
52498 
52500  {
52501  return !operator==( rhs );
52502  }
52503 #endif
52504 
52505  public:
52506  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceCoverageReductionModeFeaturesNV;
52507  void * pNext = {};
52508  VULKAN_HPP_NAMESPACE::Bool32 coverageReductionMode = {};
52509  };
52510 
52511  template <>
52513  {
52515  };
52516 
52518  {
52520 
52521  static const bool allowDuplicate = false;
52522  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceCustomBorderColorFeaturesEXT;
52523 
52524 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
52526  VULKAN_HPP_NAMESPACE::Bool32 customBorderColorWithoutFormat_ = {},
52527  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
52528  : pNext( pNext_ )
52529  , customBorderColors( customBorderColors_ )
52530  , customBorderColorWithoutFormat( customBorderColorWithoutFormat_ )
52531  {
52532  }
52533 
52534  VULKAN_HPP_CONSTEXPR PhysicalDeviceCustomBorderColorFeaturesEXT( PhysicalDeviceCustomBorderColorFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
52535 
52537  : PhysicalDeviceCustomBorderColorFeaturesEXT( *reinterpret_cast<PhysicalDeviceCustomBorderColorFeaturesEXT const *>( &rhs ) )
52538  {
52539  }
52540 
52542 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
52543 
52545  {
52546  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceCustomBorderColorFeaturesEXT const *>( &rhs );
52547  return *this;
52548  }
52549 
52550 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
52552  {
52553  pNext = pNext_;
52554  return *this;
52555  }
52556 
52559  {
52560  customBorderColors = customBorderColors_;
52561  return *this;
52562  }
52563 
52566  {
52567  customBorderColorWithoutFormat = customBorderColorWithoutFormat_;
52568  return *this;
52569  }
52570 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
52571 
52573  {
52574  return *reinterpret_cast<const VkPhysicalDeviceCustomBorderColorFeaturesEXT *>( this );
52575  }
52576 
52578  {
52579  return *reinterpret_cast<VkPhysicalDeviceCustomBorderColorFeaturesEXT *>( this );
52580  }
52581 
52582 #if defined( VULKAN_HPP_USE_REFLECT )
52583 # if 14 <= VULKAN_HPP_CPP_VERSION
52584  auto
52585 # else
52586  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
52587 # endif
52588  reflect() const VULKAN_HPP_NOEXCEPT
52589  {
52590  return std::tie( sType, pNext, customBorderColors, customBorderColorWithoutFormat );
52591  }
52592 #endif
52593 
52594 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
52595  auto operator<=>( PhysicalDeviceCustomBorderColorFeaturesEXT const & ) const = default;
52596 #else
52598  {
52599 # if defined( VULKAN_HPP_USE_REFLECT )
52600  return this->reflect() == rhs.reflect();
52601 # else
52602  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( customBorderColors == rhs.customBorderColors ) &&
52603  ( customBorderColorWithoutFormat == rhs.customBorderColorWithoutFormat );
52604 # endif
52605  }
52606 
52608  {
52609  return !operator==( rhs );
52610  }
52611 #endif
52612 
52613  public:
52614  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceCustomBorderColorFeaturesEXT;
52615  void * pNext = {};
52616  VULKAN_HPP_NAMESPACE::Bool32 customBorderColors = {};
52617  VULKAN_HPP_NAMESPACE::Bool32 customBorderColorWithoutFormat = {};
52618  };
52619 
52620  template <>
52622  {
52624  };
52625 
52627  {
52629 
52630  static const bool allowDuplicate = false;
52631  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceCustomBorderColorPropertiesEXT;
52632 
52633 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
52634  VULKAN_HPP_CONSTEXPR PhysicalDeviceCustomBorderColorPropertiesEXT( uint32_t maxCustomBorderColorSamplers_ = {},
52635  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
52636  : pNext( pNext_ )
52637  , maxCustomBorderColorSamplers( maxCustomBorderColorSamplers_ )
52638  {
52639  }
52640 
52641  VULKAN_HPP_CONSTEXPR PhysicalDeviceCustomBorderColorPropertiesEXT( PhysicalDeviceCustomBorderColorPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
52642 
52644  : PhysicalDeviceCustomBorderColorPropertiesEXT( *reinterpret_cast<PhysicalDeviceCustomBorderColorPropertiesEXT const *>( &rhs ) )
52645  {
52646  }
52647 
52649 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
52650 
52652  {
52653  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceCustomBorderColorPropertiesEXT const *>( &rhs );
52654  return *this;
52655  }
52656 
52658  {
52659  return *reinterpret_cast<const VkPhysicalDeviceCustomBorderColorPropertiesEXT *>( this );
52660  }
52661 
52663  {
52664  return *reinterpret_cast<VkPhysicalDeviceCustomBorderColorPropertiesEXT *>( this );
52665  }
52666 
52667 #if defined( VULKAN_HPP_USE_REFLECT )
52668 # if 14 <= VULKAN_HPP_CPP_VERSION
52669  auto
52670 # else
52671  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, uint32_t const &>
52672 # endif
52673  reflect() const VULKAN_HPP_NOEXCEPT
52674  {
52675  return std::tie( sType, pNext, maxCustomBorderColorSamplers );
52676  }
52677 #endif
52678 
52679 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
52680  auto operator<=>( PhysicalDeviceCustomBorderColorPropertiesEXT const & ) const = default;
52681 #else
52683  {
52684 # if defined( VULKAN_HPP_USE_REFLECT )
52685  return this->reflect() == rhs.reflect();
52686 # else
52687  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxCustomBorderColorSamplers == rhs.maxCustomBorderColorSamplers );
52688 # endif
52689  }
52690 
52692  {
52693  return !operator==( rhs );
52694  }
52695 #endif
52696 
52697  public:
52698  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceCustomBorderColorPropertiesEXT;
52699  void * pNext = {};
52700  uint32_t maxCustomBorderColorSamplers = {};
52701  };
52702 
52703  template <>
52705  {
52707  };
52708 
52710  {
52712 
52713  static const bool allowDuplicate = false;
52714  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
52715 
52716 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
52718  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
52719  : pNext( pNext_ )
52720  , dedicatedAllocationImageAliasing( dedicatedAllocationImageAliasing_ )
52721  {
52722  }
52723 
52724  VULKAN_HPP_CONSTEXPR PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV( PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV const & rhs )
52725  VULKAN_HPP_NOEXCEPT = default;
52726 
52728  : PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV( *reinterpret_cast<PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV const *>( &rhs ) )
52729  {
52730  }
52731 
52734 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
52735 
52738  {
52739  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV const *>( &rhs );
52740  return *this;
52741  }
52742 
52743 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
52745  {
52746  pNext = pNext_;
52747  return *this;
52748  }
52749 
52752  {
52753  dedicatedAllocationImageAliasing = dedicatedAllocationImageAliasing_;
52754  return *this;
52755  }
52756 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
52757 
52759  {
52760  return *reinterpret_cast<const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV *>( this );
52761  }
52762 
52764  {
52766  }
52767 
52768 #if defined( VULKAN_HPP_USE_REFLECT )
52769 # if 14 <= VULKAN_HPP_CPP_VERSION
52770  auto
52771 # else
52772  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
52773 # endif
52774  reflect() const VULKAN_HPP_NOEXCEPT
52775  {
52776  return std::tie( sType, pNext, dedicatedAllocationImageAliasing );
52777  }
52778 #endif
52779 
52780 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
52781  auto operator<=>( PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV const & ) const = default;
52782 #else
52784  {
52785 # if defined( VULKAN_HPP_USE_REFLECT )
52786  return this->reflect() == rhs.reflect();
52787 # else
52788  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( dedicatedAllocationImageAliasing == rhs.dedicatedAllocationImageAliasing );
52789 # endif
52790  }
52791 
52793  {
52794  return !operator==( rhs );
52795  }
52796 #endif
52797 
52798  public:
52799  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
52800  void * pNext = {};
52801  VULKAN_HPP_NAMESPACE::Bool32 dedicatedAllocationImageAliasing = {};
52802  };
52803 
52804  template <>
52806  {
52808  };
52809 
52811  {
52813 
52814  static const bool allowDuplicate = false;
52815  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDepthClampZeroOneFeaturesEXT;
52816 
52817 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
52819  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
52820  : pNext( pNext_ )
52821  , depthClampZeroOne( depthClampZeroOne_ )
52822  {
52823  }
52824 
52825  VULKAN_HPP_CONSTEXPR PhysicalDeviceDepthClampZeroOneFeaturesEXT( PhysicalDeviceDepthClampZeroOneFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
52826 
52828  : PhysicalDeviceDepthClampZeroOneFeaturesEXT( *reinterpret_cast<PhysicalDeviceDepthClampZeroOneFeaturesEXT const *>( &rhs ) )
52829  {
52830  }
52831 
52833 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
52834 
52836  {
52837  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthClampZeroOneFeaturesEXT const *>( &rhs );
52838  return *this;
52839  }
52840 
52841 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
52843  {
52844  pNext = pNext_;
52845  return *this;
52846  }
52847 
52850  {
52851  depthClampZeroOne = depthClampZeroOne_;
52852  return *this;
52853  }
52854 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
52855 
52857  {
52858  return *reinterpret_cast<const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT *>( this );
52859  }
52860 
52862  {
52863  return *reinterpret_cast<VkPhysicalDeviceDepthClampZeroOneFeaturesEXT *>( this );
52864  }
52865 
52866 #if defined( VULKAN_HPP_USE_REFLECT )
52867 # if 14 <= VULKAN_HPP_CPP_VERSION
52868  auto
52869 # else
52870  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
52871 # endif
52872  reflect() const VULKAN_HPP_NOEXCEPT
52873  {
52874  return std::tie( sType, pNext, depthClampZeroOne );
52875  }
52876 #endif
52877 
52878 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
52879  auto operator<=>( PhysicalDeviceDepthClampZeroOneFeaturesEXT const & ) const = default;
52880 #else
52882  {
52883 # if defined( VULKAN_HPP_USE_REFLECT )
52884  return this->reflect() == rhs.reflect();
52885 # else
52886  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( depthClampZeroOne == rhs.depthClampZeroOne );
52887 # endif
52888  }
52889 
52891  {
52892  return !operator==( rhs );
52893  }
52894 #endif
52895 
52896  public:
52897  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceDepthClampZeroOneFeaturesEXT;
52898  void * pNext = {};
52899  VULKAN_HPP_NAMESPACE::Bool32 depthClampZeroOne = {};
52900  };
52901 
52902  template <>
52904  {
52906  };
52907 
52909  {
52911 
52912  static const bool allowDuplicate = false;
52913  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDepthClipControlFeaturesEXT;
52914 
52915 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
52917  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
52918  : pNext( pNext_ )
52919  , depthClipControl( depthClipControl_ )
52920  {
52921  }
52922 
52923  VULKAN_HPP_CONSTEXPR PhysicalDeviceDepthClipControlFeaturesEXT( PhysicalDeviceDepthClipControlFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
52924 
52926  : PhysicalDeviceDepthClipControlFeaturesEXT( *reinterpret_cast<PhysicalDeviceDepthClipControlFeaturesEXT const *>( &rhs ) )
52927  {
52928  }
52929 
52931 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
52932 
52934  {
52935  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthClipControlFeaturesEXT const *>( &rhs );
52936  return *this;
52937  }
52938 
52939 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
52941  {
52942  pNext = pNext_;
52943  return *this;
52944  }
52945 
52948  {
52949  depthClipControl = depthClipControl_;
52950  return *this;
52951  }
52952 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
52953 
52955  {
52956  return *reinterpret_cast<const VkPhysicalDeviceDepthClipControlFeaturesEXT *>( this );
52957  }
52958 
52960  {
52961  return *reinterpret_cast<VkPhysicalDeviceDepthClipControlFeaturesEXT *>( this );
52962  }
52963 
52964 #if defined( VULKAN_HPP_USE_REFLECT )
52965 # if 14 <= VULKAN_HPP_CPP_VERSION
52966  auto
52967 # else
52968  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
52969 # endif
52970  reflect() const VULKAN_HPP_NOEXCEPT
52971  {
52972  return std::tie( sType, pNext, depthClipControl );
52973  }
52974 #endif
52975 
52976 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
52977  auto operator<=>( PhysicalDeviceDepthClipControlFeaturesEXT const & ) const = default;
52978 #else
52980  {
52981 # if defined( VULKAN_HPP_USE_REFLECT )
52982  return this->reflect() == rhs.reflect();
52983 # else
52984  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( depthClipControl == rhs.depthClipControl );
52985 # endif
52986  }
52987 
52989  {
52990  return !operator==( rhs );
52991  }
52992 #endif
52993 
52994  public:
52995  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceDepthClipControlFeaturesEXT;
52996  void * pNext = {};
52997  VULKAN_HPP_NAMESPACE::Bool32 depthClipControl = {};
52998  };
52999 
53000  template <>
53002  {
53004  };
53005 
53007  {
53009 
53010  static const bool allowDuplicate = false;
53011  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDepthClipEnableFeaturesEXT;
53012 
53013 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
53015  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
53016  : pNext( pNext_ )
53017  , depthClipEnable( depthClipEnable_ )
53018  {
53019  }
53020 
53021  VULKAN_HPP_CONSTEXPR PhysicalDeviceDepthClipEnableFeaturesEXT( PhysicalDeviceDepthClipEnableFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
53022 
53024  : PhysicalDeviceDepthClipEnableFeaturesEXT( *reinterpret_cast<PhysicalDeviceDepthClipEnableFeaturesEXT const *>( &rhs ) )
53025  {
53026  }
53027 
53029 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
53030 
53032  {
53033  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthClipEnableFeaturesEXT const *>( &rhs );
53034  return *this;
53035  }
53036 
53037 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
53039  {
53040  pNext = pNext_;
53041  return *this;
53042  }
53043 
53045  {
53046  depthClipEnable = depthClipEnable_;
53047  return *this;
53048  }
53049 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
53050 
53052  {
53053  return *reinterpret_cast<const VkPhysicalDeviceDepthClipEnableFeaturesEXT *>( this );
53054  }
53055 
53057  {
53058  return *reinterpret_cast<VkPhysicalDeviceDepthClipEnableFeaturesEXT *>( this );
53059  }
53060 
53061 #if defined( VULKAN_HPP_USE_REFLECT )
53062 # if 14 <= VULKAN_HPP_CPP_VERSION
53063  auto
53064 # else
53065  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
53066 # endif
53067  reflect() const VULKAN_HPP_NOEXCEPT
53068  {
53069  return std::tie( sType, pNext, depthClipEnable );
53070  }
53071 #endif
53072 
53073 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
53074  auto operator<=>( PhysicalDeviceDepthClipEnableFeaturesEXT const & ) const = default;
53075 #else
53077  {
53078 # if defined( VULKAN_HPP_USE_REFLECT )
53079  return this->reflect() == rhs.reflect();
53080 # else
53081  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( depthClipEnable == rhs.depthClipEnable );
53082 # endif
53083  }
53084 
53086  {
53087  return !operator==( rhs );
53088  }
53089 #endif
53090 
53091  public:
53092  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceDepthClipEnableFeaturesEXT;
53093  void * pNext = {};
53094  VULKAN_HPP_NAMESPACE::Bool32 depthClipEnable = {};
53095  };
53096 
53097  template <>
53099  {
53101  };
53102 
53104  {
53106 
53107  static const bool allowDuplicate = false;
53108  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDepthStencilResolveProperties;
53109 
53110 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
53112  VULKAN_HPP_NAMESPACE::ResolveModeFlags supportedStencilResolveModes_ = {},
53113  VULKAN_HPP_NAMESPACE::Bool32 independentResolveNone_ = {},
53114  VULKAN_HPP_NAMESPACE::Bool32 independentResolve_ = {},
53115  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
53116  : pNext( pNext_ )
53117  , supportedDepthResolveModes( supportedDepthResolveModes_ )
53118  , supportedStencilResolveModes( supportedStencilResolveModes_ )
53119  , independentResolveNone( independentResolveNone_ )
53120  , independentResolve( independentResolve_ )
53121  {
53122  }
53123 
53124  VULKAN_HPP_CONSTEXPR PhysicalDeviceDepthStencilResolveProperties( PhysicalDeviceDepthStencilResolveProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
53125 
53127  : PhysicalDeviceDepthStencilResolveProperties( *reinterpret_cast<PhysicalDeviceDepthStencilResolveProperties const *>( &rhs ) )
53128  {
53129  }
53130 
53132 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
53133 
53135  {
53136  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthStencilResolveProperties const *>( &rhs );
53137  return *this;
53138  }
53139 
53141  {
53142  return *reinterpret_cast<const VkPhysicalDeviceDepthStencilResolveProperties *>( this );
53143  }
53144 
53146  {
53147  return *reinterpret_cast<VkPhysicalDeviceDepthStencilResolveProperties *>( this );
53148  }
53149 
53150 #if defined( VULKAN_HPP_USE_REFLECT )
53151 # if 14 <= VULKAN_HPP_CPP_VERSION
53152  auto
53153 # else
53154  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
53155  void * const &,
53160 # endif
53161  reflect() const VULKAN_HPP_NOEXCEPT
53162  {
53163  return std::tie( sType, pNext, supportedDepthResolveModes, supportedStencilResolveModes, independentResolveNone, independentResolve );
53164  }
53165 #endif
53166 
53167 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
53168  auto operator<=>( PhysicalDeviceDepthStencilResolveProperties const & ) const = default;
53169 #else
53171  {
53172 # if defined( VULKAN_HPP_USE_REFLECT )
53173  return this->reflect() == rhs.reflect();
53174 # else
53175  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( supportedDepthResolveModes == rhs.supportedDepthResolveModes ) &&
53176  ( supportedStencilResolveModes == rhs.supportedStencilResolveModes ) && ( independentResolveNone == rhs.independentResolveNone ) &&
53177  ( independentResolve == rhs.independentResolve );
53178 # endif
53179  }
53180 
53182  {
53183  return !operator==( rhs );
53184  }
53185 #endif
53186 
53187  public:
53188  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceDepthStencilResolveProperties;
53189  void * pNext = {};
53190  VULKAN_HPP_NAMESPACE::ResolveModeFlags supportedDepthResolveModes = {};
53191  VULKAN_HPP_NAMESPACE::ResolveModeFlags supportedStencilResolveModes = {};
53192  VULKAN_HPP_NAMESPACE::Bool32 independentResolveNone = {};
53193  VULKAN_HPP_NAMESPACE::Bool32 independentResolve = {};
53194  };
53195 
53196  template <>
53198  {
53200  };
53202 
53204  {
53206 
53207  static const bool allowDuplicate = false;
53208  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDescriptorBufferDensityMapPropertiesEXT;
53209 
53210 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
53211  VULKAN_HPP_CONSTEXPR PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT( size_t combinedImageSamplerDensityMapDescriptorSize_ = {},
53212  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
53213  : pNext( pNext_ )
53214  , combinedImageSamplerDensityMapDescriptorSize( combinedImageSamplerDensityMapDescriptorSize_ )
53215  {
53216  }
53217 
53219  PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT( PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
53220 
53222  : PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT( *reinterpret_cast<PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT const *>( &rhs ) )
53223  {
53224  }
53225 
53228 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
53229 
53231  {
53232  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT const *>( &rhs );
53233  return *this;
53234  }
53235 
53237  {
53238  return *reinterpret_cast<const VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT *>( this );
53239  }
53240 
53242  {
53243  return *reinterpret_cast<VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT *>( this );
53244  }
53245 
53246 #if defined( VULKAN_HPP_USE_REFLECT )
53247 # if 14 <= VULKAN_HPP_CPP_VERSION
53248  auto
53249 # else
53250  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, size_t const &>
53251 # endif
53252  reflect() const VULKAN_HPP_NOEXCEPT
53253  {
53254  return std::tie( sType, pNext, combinedImageSamplerDensityMapDescriptorSize );
53255  }
53256 #endif
53257 
53258 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
53259  auto operator<=>( PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT const & ) const = default;
53260 #else
53262  {
53263 # if defined( VULKAN_HPP_USE_REFLECT )
53264  return this->reflect() == rhs.reflect();
53265 # else
53266  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
53267  ( combinedImageSamplerDensityMapDescriptorSize == rhs.combinedImageSamplerDensityMapDescriptorSize );
53268 # endif
53269  }
53270 
53272  {
53273  return !operator==( rhs );
53274  }
53275 #endif
53276 
53277  public:
53278  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceDescriptorBufferDensityMapPropertiesEXT;
53279  void * pNext = {};
53280  size_t combinedImageSamplerDensityMapDescriptorSize = {};
53281  };
53282 
53283  template <>
53285  {
53287  };
53288 
53290  {
53292 
53293  static const bool allowDuplicate = false;
53294  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDescriptorBufferFeaturesEXT;
53295 
53296 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
53298  VULKAN_HPP_NAMESPACE::Bool32 descriptorBufferCaptureReplay_ = {},
53299  VULKAN_HPP_NAMESPACE::Bool32 descriptorBufferImageLayoutIgnored_ = {},
53300  VULKAN_HPP_NAMESPACE::Bool32 descriptorBufferPushDescriptors_ = {},
53301  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
53302  : pNext( pNext_ )
53303  , descriptorBuffer( descriptorBuffer_ )
53304  , descriptorBufferCaptureReplay( descriptorBufferCaptureReplay_ )
53305  , descriptorBufferImageLayoutIgnored( descriptorBufferImageLayoutIgnored_ )
53306  , descriptorBufferPushDescriptors( descriptorBufferPushDescriptors_ )
53307  {
53308  }
53309 
53310  VULKAN_HPP_CONSTEXPR PhysicalDeviceDescriptorBufferFeaturesEXT( PhysicalDeviceDescriptorBufferFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
53311 
53313  : PhysicalDeviceDescriptorBufferFeaturesEXT( *reinterpret_cast<PhysicalDeviceDescriptorBufferFeaturesEXT const *>( &rhs ) )
53314  {
53315  }
53316 
53318 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
53319 
53321  {
53322  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorBufferFeaturesEXT const *>( &rhs );
53323  return *this;
53324  }
53325 
53326 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
53328  {
53329  pNext = pNext_;
53330  return *this;
53331  }
53332 
53335  {
53336  descriptorBuffer = descriptorBuffer_;
53337  return *this;
53338  }
53339 
53342  {
53343  descriptorBufferCaptureReplay = descriptorBufferCaptureReplay_;
53344  return *this;
53345  }
53346 
53349  {
53350  descriptorBufferImageLayoutIgnored = descriptorBufferImageLayoutIgnored_;
53351  return *this;
53352  }
53353 
53356  {
53357  descriptorBufferPushDescriptors = descriptorBufferPushDescriptors_;
53358  return *this;
53359  }
53360 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
53361 
53363  {
53364  return *reinterpret_cast<const VkPhysicalDeviceDescriptorBufferFeaturesEXT *>( this );
53365  }
53366 
53368  {
53369  return *reinterpret_cast<VkPhysicalDeviceDescriptorBufferFeaturesEXT *>( this );
53370  }
53371 
53372 #if defined( VULKAN_HPP_USE_REFLECT )
53373 # if 14 <= VULKAN_HPP_CPP_VERSION
53374  auto
53375 # else
53376  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
53377  void * const &,
53382 # endif
53383  reflect() const VULKAN_HPP_NOEXCEPT
53384  {
53385  return std::tie( sType, pNext, descriptorBuffer, descriptorBufferCaptureReplay, descriptorBufferImageLayoutIgnored, descriptorBufferPushDescriptors );
53386  }
53387 #endif
53388 
53389 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
53390  auto operator<=>( PhysicalDeviceDescriptorBufferFeaturesEXT const & ) const = default;
53391 #else
53393  {
53394 # if defined( VULKAN_HPP_USE_REFLECT )
53395  return this->reflect() == rhs.reflect();
53396 # else
53397  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( descriptorBuffer == rhs.descriptorBuffer ) &&
53398  ( descriptorBufferCaptureReplay == rhs.descriptorBufferCaptureReplay ) &&
53399  ( descriptorBufferImageLayoutIgnored == rhs.descriptorBufferImageLayoutIgnored ) &&
53400  ( descriptorBufferPushDescriptors == rhs.descriptorBufferPushDescriptors );
53401 # endif
53402  }
53403 
53405  {
53406  return !operator==( rhs );
53407  }
53408 #endif
53409 
53410  public:
53411  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceDescriptorBufferFeaturesEXT;
53412  void * pNext = {};
53413  VULKAN_HPP_NAMESPACE::Bool32 descriptorBuffer = {};
53414  VULKAN_HPP_NAMESPACE::Bool32 descriptorBufferCaptureReplay = {};
53415  VULKAN_HPP_NAMESPACE::Bool32 descriptorBufferImageLayoutIgnored = {};
53416  VULKAN_HPP_NAMESPACE::Bool32 descriptorBufferPushDescriptors = {};
53417  };
53418 
53419  template <>
53421  {
53423  };
53424 
53426  {
53428 
53429  static const bool allowDuplicate = false;
53430  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDescriptorBufferPropertiesEXT;
53431 
53432 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
53434  VULKAN_HPP_NAMESPACE::Bool32 bufferlessPushDescriptors_ = {},
53435  VULKAN_HPP_NAMESPACE::Bool32 allowSamplerImageViewPostSubmitCreation_ = {},
53436  VULKAN_HPP_NAMESPACE::DeviceSize descriptorBufferOffsetAlignment_ = {},
53437  uint32_t maxDescriptorBufferBindings_ = {},
53438  uint32_t maxResourceDescriptorBufferBindings_ = {},
53439  uint32_t maxSamplerDescriptorBufferBindings_ = {},
53440  uint32_t maxEmbeddedImmutableSamplerBindings_ = {},
53441  uint32_t maxEmbeddedImmutableSamplers_ = {},
53442  size_t bufferCaptureReplayDescriptorDataSize_ = {},
53443  size_t imageCaptureReplayDescriptorDataSize_ = {},
53444  size_t imageViewCaptureReplayDescriptorDataSize_ = {},
53445  size_t samplerCaptureReplayDescriptorDataSize_ = {},
53446  size_t accelerationStructureCaptureReplayDescriptorDataSize_ = {},
53447  size_t samplerDescriptorSize_ = {},
53448  size_t combinedImageSamplerDescriptorSize_ = {},
53449  size_t sampledImageDescriptorSize_ = {},
53450  size_t storageImageDescriptorSize_ = {},
53451  size_t uniformTexelBufferDescriptorSize_ = {},
53452  size_t robustUniformTexelBufferDescriptorSize_ = {},
53453  size_t storageTexelBufferDescriptorSize_ = {},
53454  size_t robustStorageTexelBufferDescriptorSize_ = {},
53455  size_t uniformBufferDescriptorSize_ = {},
53456  size_t robustUniformBufferDescriptorSize_ = {},
53457  size_t storageBufferDescriptorSize_ = {},
53458  size_t robustStorageBufferDescriptorSize_ = {},
53459  size_t inputAttachmentDescriptorSize_ = {},
53460  size_t accelerationStructureDescriptorSize_ = {},
53461  VULKAN_HPP_NAMESPACE::DeviceSize maxSamplerDescriptorBufferRange_ = {},
53462  VULKAN_HPP_NAMESPACE::DeviceSize maxResourceDescriptorBufferRange_ = {},
53463  VULKAN_HPP_NAMESPACE::DeviceSize samplerDescriptorBufferAddressSpaceSize_ = {},
53464  VULKAN_HPP_NAMESPACE::DeviceSize resourceDescriptorBufferAddressSpaceSize_ = {},
53465  VULKAN_HPP_NAMESPACE::DeviceSize descriptorBufferAddressSpaceSize_ = {},
53466  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
53467  : pNext( pNext_ )
53468  , combinedImageSamplerDescriptorSingleArray( combinedImageSamplerDescriptorSingleArray_ )
53469  , bufferlessPushDescriptors( bufferlessPushDescriptors_ )
53470  , allowSamplerImageViewPostSubmitCreation( allowSamplerImageViewPostSubmitCreation_ )
53471  , descriptorBufferOffsetAlignment( descriptorBufferOffsetAlignment_ )
53472  , maxDescriptorBufferBindings( maxDescriptorBufferBindings_ )
53473  , maxResourceDescriptorBufferBindings( maxResourceDescriptorBufferBindings_ )
53474  , maxSamplerDescriptorBufferBindings( maxSamplerDescriptorBufferBindings_ )
53475  , maxEmbeddedImmutableSamplerBindings( maxEmbeddedImmutableSamplerBindings_ )
53476  , maxEmbeddedImmutableSamplers( maxEmbeddedImmutableSamplers_ )
53477  , bufferCaptureReplayDescriptorDataSize( bufferCaptureReplayDescriptorDataSize_ )
53478  , imageCaptureReplayDescriptorDataSize( imageCaptureReplayDescriptorDataSize_ )
53479  , imageViewCaptureReplayDescriptorDataSize( imageViewCaptureReplayDescriptorDataSize_ )
53480  , samplerCaptureReplayDescriptorDataSize( samplerCaptureReplayDescriptorDataSize_ )
53481  , accelerationStructureCaptureReplayDescriptorDataSize( accelerationStructureCaptureReplayDescriptorDataSize_ )
53482  , samplerDescriptorSize( samplerDescriptorSize_ )
53483  , combinedImageSamplerDescriptorSize( combinedImageSamplerDescriptorSize_ )
53484  , sampledImageDescriptorSize( sampledImageDescriptorSize_ )
53485  , storageImageDescriptorSize( storageImageDescriptorSize_ )
53486  , uniformTexelBufferDescriptorSize( uniformTexelBufferDescriptorSize_ )
53487  , robustUniformTexelBufferDescriptorSize( robustUniformTexelBufferDescriptorSize_ )
53488  , storageTexelBufferDescriptorSize( storageTexelBufferDescriptorSize_ )
53489  , robustStorageTexelBufferDescriptorSize( robustStorageTexelBufferDescriptorSize_ )
53490  , uniformBufferDescriptorSize( uniformBufferDescriptorSize_ )
53491  , robustUniformBufferDescriptorSize( robustUniformBufferDescriptorSize_ )
53492  , storageBufferDescriptorSize( storageBufferDescriptorSize_ )
53493  , robustStorageBufferDescriptorSize( robustStorageBufferDescriptorSize_ )
53494  , inputAttachmentDescriptorSize( inputAttachmentDescriptorSize_ )
53495  , accelerationStructureDescriptorSize( accelerationStructureDescriptorSize_ )
53496  , maxSamplerDescriptorBufferRange( maxSamplerDescriptorBufferRange_ )
53497  , maxResourceDescriptorBufferRange( maxResourceDescriptorBufferRange_ )
53498  , samplerDescriptorBufferAddressSpaceSize( samplerDescriptorBufferAddressSpaceSize_ )
53499  , resourceDescriptorBufferAddressSpaceSize( resourceDescriptorBufferAddressSpaceSize_ )
53500  , descriptorBufferAddressSpaceSize( descriptorBufferAddressSpaceSize_ )
53501  {
53502  }
53503 
53504  VULKAN_HPP_CONSTEXPR PhysicalDeviceDescriptorBufferPropertiesEXT( PhysicalDeviceDescriptorBufferPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
53505 
53507  : PhysicalDeviceDescriptorBufferPropertiesEXT( *reinterpret_cast<PhysicalDeviceDescriptorBufferPropertiesEXT const *>( &rhs ) )
53508  {
53509  }
53510 
53512 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
53513 
53515  {
53516  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorBufferPropertiesEXT const *>( &rhs );
53517  return *this;
53518  }
53519 
53521  {
53522  return *reinterpret_cast<const VkPhysicalDeviceDescriptorBufferPropertiesEXT *>( this );
53523  }
53524 
53526  {
53527  return *reinterpret_cast<VkPhysicalDeviceDescriptorBufferPropertiesEXT *>( this );
53528  }
53529 
53530 #if defined( VULKAN_HPP_USE_REFLECT )
53531 # if 14 <= VULKAN_HPP_CPP_VERSION
53532  auto
53533 # else
53534  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
53535  void * const &,
53540  uint32_t const &,
53541  uint32_t const &,
53542  uint32_t const &,
53543  uint32_t const &,
53544  uint32_t const &,
53545  size_t const &,
53546  size_t const &,
53547  size_t const &,
53548  size_t const &,
53549  size_t const &,
53550  size_t const &,
53551  size_t const &,
53552  size_t const &,
53553  size_t const &,
53554  size_t const &,
53555  size_t const &,
53556  size_t const &,
53557  size_t const &,
53558  size_t const &,
53559  size_t const &,
53560  size_t const &,
53561  size_t const &,
53562  size_t const &,
53563  size_t const &,
53569 # endif
53570  reflect() const VULKAN_HPP_NOEXCEPT
53571  {
53572  return std::tie( sType,
53573  pNext,
53574  combinedImageSamplerDescriptorSingleArray,
53575  bufferlessPushDescriptors,
53576  allowSamplerImageViewPostSubmitCreation,
53577  descriptorBufferOffsetAlignment,
53578  maxDescriptorBufferBindings,
53579  maxResourceDescriptorBufferBindings,
53580  maxSamplerDescriptorBufferBindings,
53581  maxEmbeddedImmutableSamplerBindings,
53582  maxEmbeddedImmutableSamplers,
53583  bufferCaptureReplayDescriptorDataSize,
53584  imageCaptureReplayDescriptorDataSize,
53585  imageViewCaptureReplayDescriptorDataSize,
53586  samplerCaptureReplayDescriptorDataSize,
53587  accelerationStructureCaptureReplayDescriptorDataSize,
53588  samplerDescriptorSize,
53589  combinedImageSamplerDescriptorSize,
53590  sampledImageDescriptorSize,
53591  storageImageDescriptorSize,
53592  uniformTexelBufferDescriptorSize,
53593  robustUniformTexelBufferDescriptorSize,
53594  storageTexelBufferDescriptorSize,
53595  robustStorageTexelBufferDescriptorSize,
53596  uniformBufferDescriptorSize,
53597  robustUniformBufferDescriptorSize,
53598  storageBufferDescriptorSize,
53599  robustStorageBufferDescriptorSize,
53600  inputAttachmentDescriptorSize,
53601  accelerationStructureDescriptorSize,
53602  maxSamplerDescriptorBufferRange,
53603  maxResourceDescriptorBufferRange,
53604  samplerDescriptorBufferAddressSpaceSize,
53605  resourceDescriptorBufferAddressSpaceSize,
53606  descriptorBufferAddressSpaceSize );
53607  }
53608 #endif
53609 
53610 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
53611  auto operator<=>( PhysicalDeviceDescriptorBufferPropertiesEXT const & ) const = default;
53612 #else
53614  {
53615 # if defined( VULKAN_HPP_USE_REFLECT )
53616  return this->reflect() == rhs.reflect();
53617 # else
53618  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
53619  ( combinedImageSamplerDescriptorSingleArray == rhs.combinedImageSamplerDescriptorSingleArray ) &&
53620  ( bufferlessPushDescriptors == rhs.bufferlessPushDescriptors ) &&
53621  ( allowSamplerImageViewPostSubmitCreation == rhs.allowSamplerImageViewPostSubmitCreation ) &&
53622  ( descriptorBufferOffsetAlignment == rhs.descriptorBufferOffsetAlignment ) && ( maxDescriptorBufferBindings == rhs.maxDescriptorBufferBindings ) &&
53623  ( maxResourceDescriptorBufferBindings == rhs.maxResourceDescriptorBufferBindings ) &&
53624  ( maxSamplerDescriptorBufferBindings == rhs.maxSamplerDescriptorBufferBindings ) &&
53625  ( maxEmbeddedImmutableSamplerBindings == rhs.maxEmbeddedImmutableSamplerBindings ) &&
53626  ( maxEmbeddedImmutableSamplers == rhs.maxEmbeddedImmutableSamplers ) &&
53627  ( bufferCaptureReplayDescriptorDataSize == rhs.bufferCaptureReplayDescriptorDataSize ) &&
53628  ( imageCaptureReplayDescriptorDataSize == rhs.imageCaptureReplayDescriptorDataSize ) &&
53629  ( imageViewCaptureReplayDescriptorDataSize == rhs.imageViewCaptureReplayDescriptorDataSize ) &&
53630  ( samplerCaptureReplayDescriptorDataSize == rhs.samplerCaptureReplayDescriptorDataSize ) &&
53631  ( accelerationStructureCaptureReplayDescriptorDataSize == rhs.accelerationStructureCaptureReplayDescriptorDataSize ) &&
53632  ( samplerDescriptorSize == rhs.samplerDescriptorSize ) && ( combinedImageSamplerDescriptorSize == rhs.combinedImageSamplerDescriptorSize ) &&
53633  ( sampledImageDescriptorSize == rhs.sampledImageDescriptorSize ) && ( storageImageDescriptorSize == rhs.storageImageDescriptorSize ) &&
53634  ( uniformTexelBufferDescriptorSize == rhs.uniformTexelBufferDescriptorSize ) &&
53635  ( robustUniformTexelBufferDescriptorSize == rhs.robustUniformTexelBufferDescriptorSize ) &&
53636  ( storageTexelBufferDescriptorSize == rhs.storageTexelBufferDescriptorSize ) &&
53637  ( robustStorageTexelBufferDescriptorSize == rhs.robustStorageTexelBufferDescriptorSize ) &&
53638  ( uniformBufferDescriptorSize == rhs.uniformBufferDescriptorSize ) &&
53639  ( robustUniformBufferDescriptorSize == rhs.robustUniformBufferDescriptorSize ) &&
53640  ( storageBufferDescriptorSize == rhs.storageBufferDescriptorSize ) &&
53641  ( robustStorageBufferDescriptorSize == rhs.robustStorageBufferDescriptorSize ) &&
53642  ( inputAttachmentDescriptorSize == rhs.inputAttachmentDescriptorSize ) &&
53643  ( accelerationStructureDescriptorSize == rhs.accelerationStructureDescriptorSize ) &&
53644  ( maxSamplerDescriptorBufferRange == rhs.maxSamplerDescriptorBufferRange ) &&
53645  ( maxResourceDescriptorBufferRange == rhs.maxResourceDescriptorBufferRange ) &&
53646  ( samplerDescriptorBufferAddressSpaceSize == rhs.samplerDescriptorBufferAddressSpaceSize ) &&
53647  ( resourceDescriptorBufferAddressSpaceSize == rhs.resourceDescriptorBufferAddressSpaceSize ) &&
53648  ( descriptorBufferAddressSpaceSize == rhs.descriptorBufferAddressSpaceSize );
53649 # endif
53650  }
53651 
53653  {
53654  return !operator==( rhs );
53655  }
53656 #endif
53657 
53658  public:
53659  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceDescriptorBufferPropertiesEXT;
53660  void * pNext = {};
53661  VULKAN_HPP_NAMESPACE::Bool32 combinedImageSamplerDescriptorSingleArray = {};
53662  VULKAN_HPP_NAMESPACE::Bool32 bufferlessPushDescriptors = {};
53663  VULKAN_HPP_NAMESPACE::Bool32 allowSamplerImageViewPostSubmitCreation = {};
53664  VULKAN_HPP_NAMESPACE::DeviceSize descriptorBufferOffsetAlignment = {};
53665  uint32_t maxDescriptorBufferBindings = {};
53666  uint32_t maxResourceDescriptorBufferBindings = {};
53667  uint32_t maxSamplerDescriptorBufferBindings = {};
53668  uint32_t maxEmbeddedImmutableSamplerBindings = {};
53669  uint32_t maxEmbeddedImmutableSamplers = {};
53670  size_t bufferCaptureReplayDescriptorDataSize = {};
53671  size_t imageCaptureReplayDescriptorDataSize = {};
53672  size_t imageViewCaptureReplayDescriptorDataSize = {};
53673  size_t samplerCaptureReplayDescriptorDataSize = {};
53674  size_t accelerationStructureCaptureReplayDescriptorDataSize = {};
53675  size_t samplerDescriptorSize = {};
53676  size_t combinedImageSamplerDescriptorSize = {};
53677  size_t sampledImageDescriptorSize = {};
53678  size_t storageImageDescriptorSize = {};
53679  size_t uniformTexelBufferDescriptorSize = {};
53680  size_t robustUniformTexelBufferDescriptorSize = {};
53681  size_t storageTexelBufferDescriptorSize = {};
53682  size_t robustStorageTexelBufferDescriptorSize = {};
53683  size_t uniformBufferDescriptorSize = {};
53684  size_t robustUniformBufferDescriptorSize = {};
53685  size_t storageBufferDescriptorSize = {};
53686  size_t robustStorageBufferDescriptorSize = {};
53687  size_t inputAttachmentDescriptorSize = {};
53688  size_t accelerationStructureDescriptorSize = {};
53689  VULKAN_HPP_NAMESPACE::DeviceSize maxSamplerDescriptorBufferRange = {};
53690  VULKAN_HPP_NAMESPACE::DeviceSize maxResourceDescriptorBufferRange = {};
53691  VULKAN_HPP_NAMESPACE::DeviceSize samplerDescriptorBufferAddressSpaceSize = {};
53692  VULKAN_HPP_NAMESPACE::DeviceSize resourceDescriptorBufferAddressSpaceSize = {};
53693  VULKAN_HPP_NAMESPACE::DeviceSize descriptorBufferAddressSpaceSize = {};
53694  };
53695 
53696  template <>
53698  {
53700  };
53701 
53703  {
53705 
53706  static const bool allowDuplicate = false;
53707  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDescriptorIndexingFeatures;
53708 
53709 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
53711  VULKAN_HPP_NAMESPACE::Bool32 shaderUniformTexelBufferArrayDynamicIndexing_ = {},
53712  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageTexelBufferArrayDynamicIndexing_ = {},
53713  VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayNonUniformIndexing_ = {},
53714  VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayNonUniformIndexing_ = {},
53715  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayNonUniformIndexing_ = {},
53716  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayNonUniformIndexing_ = {},
53717  VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayNonUniformIndexing_ = {},
53718  VULKAN_HPP_NAMESPACE::Bool32 shaderUniformTexelBufferArrayNonUniformIndexing_ = {},
53719  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageTexelBufferArrayNonUniformIndexing_ = {},
53720  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUniformBufferUpdateAfterBind_ = {},
53721  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingSampledImageUpdateAfterBind_ = {},
53722  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageImageUpdateAfterBind_ = {},
53723  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageBufferUpdateAfterBind_ = {},
53724  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUniformTexelBufferUpdateAfterBind_ = {},
53725  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageTexelBufferUpdateAfterBind_ = {},
53726  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUpdateUnusedWhilePending_ = {},
53727  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingPartiallyBound_ = {},
53728  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingVariableDescriptorCount_ = {},
53729  VULKAN_HPP_NAMESPACE::Bool32 runtimeDescriptorArray_ = {},
53730  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
53731  : pNext( pNext_ )
53732  , shaderInputAttachmentArrayDynamicIndexing( shaderInputAttachmentArrayDynamicIndexing_ )
53733  , shaderUniformTexelBufferArrayDynamicIndexing( shaderUniformTexelBufferArrayDynamicIndexing_ )
53734  , shaderStorageTexelBufferArrayDynamicIndexing( shaderStorageTexelBufferArrayDynamicIndexing_ )
53735  , shaderUniformBufferArrayNonUniformIndexing( shaderUniformBufferArrayNonUniformIndexing_ )
53736  , shaderSampledImageArrayNonUniformIndexing( shaderSampledImageArrayNonUniformIndexing_ )
53737  , shaderStorageBufferArrayNonUniformIndexing( shaderStorageBufferArrayNonUniformIndexing_ )
53738  , shaderStorageImageArrayNonUniformIndexing( shaderStorageImageArrayNonUniformIndexing_ )
53739  , shaderInputAttachmentArrayNonUniformIndexing( shaderInputAttachmentArrayNonUniformIndexing_ )
53740  , shaderUniformTexelBufferArrayNonUniformIndexing( shaderUniformTexelBufferArrayNonUniformIndexing_ )
53741  , shaderStorageTexelBufferArrayNonUniformIndexing( shaderStorageTexelBufferArrayNonUniformIndexing_ )
53742  , descriptorBindingUniformBufferUpdateAfterBind( descriptorBindingUniformBufferUpdateAfterBind_ )
53743  , descriptorBindingSampledImageUpdateAfterBind( descriptorBindingSampledImageUpdateAfterBind_ )
53744  , descriptorBindingStorageImageUpdateAfterBind( descriptorBindingStorageImageUpdateAfterBind_ )
53745  , descriptorBindingStorageBufferUpdateAfterBind( descriptorBindingStorageBufferUpdateAfterBind_ )
53746  , descriptorBindingUniformTexelBufferUpdateAfterBind( descriptorBindingUniformTexelBufferUpdateAfterBind_ )
53747  , descriptorBindingStorageTexelBufferUpdateAfterBind( descriptorBindingStorageTexelBufferUpdateAfterBind_ )
53748  , descriptorBindingUpdateUnusedWhilePending( descriptorBindingUpdateUnusedWhilePending_ )
53749  , descriptorBindingPartiallyBound( descriptorBindingPartiallyBound_ )
53750  , descriptorBindingVariableDescriptorCount( descriptorBindingVariableDescriptorCount_ )
53751  , runtimeDescriptorArray( runtimeDescriptorArray_ )
53752  {
53753  }
53754 
53755  VULKAN_HPP_CONSTEXPR PhysicalDeviceDescriptorIndexingFeatures( PhysicalDeviceDescriptorIndexingFeatures const & rhs ) VULKAN_HPP_NOEXCEPT = default;
53756 
53758  : PhysicalDeviceDescriptorIndexingFeatures( *reinterpret_cast<PhysicalDeviceDescriptorIndexingFeatures const *>( &rhs ) )
53759  {
53760  }
53761 
53763 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
53764 
53766  {
53767  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorIndexingFeatures const *>( &rhs );
53768  return *this;
53769  }
53770 
53771 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
53773  {
53774  pNext = pNext_;
53775  return *this;
53776  }
53777 
53780  {
53781  shaderInputAttachmentArrayDynamicIndexing = shaderInputAttachmentArrayDynamicIndexing_;
53782  return *this;
53783  }
53784 
53787  {
53788  shaderUniformTexelBufferArrayDynamicIndexing = shaderUniformTexelBufferArrayDynamicIndexing_;
53789  return *this;
53790  }
53791 
53794  {
53795  shaderStorageTexelBufferArrayDynamicIndexing = shaderStorageTexelBufferArrayDynamicIndexing_;
53796  return *this;
53797  }
53798 
53801  {
53802  shaderUniformBufferArrayNonUniformIndexing = shaderUniformBufferArrayNonUniformIndexing_;
53803  return *this;
53804  }
53805 
53808  {
53809  shaderSampledImageArrayNonUniformIndexing = shaderSampledImageArrayNonUniformIndexing_;
53810  return *this;
53811  }
53812 
53815  {
53816  shaderStorageBufferArrayNonUniformIndexing = shaderStorageBufferArrayNonUniformIndexing_;
53817  return *this;
53818  }
53819 
53822  {
53823  shaderStorageImageArrayNonUniformIndexing = shaderStorageImageArrayNonUniformIndexing_;
53824  return *this;
53825  }
53826 
53829  {
53830  shaderInputAttachmentArrayNonUniformIndexing = shaderInputAttachmentArrayNonUniformIndexing_;
53831  return *this;
53832  }
53833 
53836  {
53837  shaderUniformTexelBufferArrayNonUniformIndexing = shaderUniformTexelBufferArrayNonUniformIndexing_;
53838  return *this;
53839  }
53840 
53843  {
53844  shaderStorageTexelBufferArrayNonUniformIndexing = shaderStorageTexelBufferArrayNonUniformIndexing_;
53845  return *this;
53846  }
53847 
53850  {
53851  descriptorBindingUniformBufferUpdateAfterBind = descriptorBindingUniformBufferUpdateAfterBind_;
53852  return *this;
53853  }
53854 
53857  {
53858  descriptorBindingSampledImageUpdateAfterBind = descriptorBindingSampledImageUpdateAfterBind_;
53859  return *this;
53860  }
53861 
53864  {
53865  descriptorBindingStorageImageUpdateAfterBind = descriptorBindingStorageImageUpdateAfterBind_;
53866  return *this;
53867  }
53868 
53871  {
53872  descriptorBindingStorageBufferUpdateAfterBind = descriptorBindingStorageBufferUpdateAfterBind_;
53873  return *this;
53874  }
53875 
53877  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUniformTexelBufferUpdateAfterBind_ ) VULKAN_HPP_NOEXCEPT
53878  {
53879  descriptorBindingUniformTexelBufferUpdateAfterBind = descriptorBindingUniformTexelBufferUpdateAfterBind_;
53880  return *this;
53881  }
53882 
53884  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageTexelBufferUpdateAfterBind_ ) VULKAN_HPP_NOEXCEPT
53885  {
53886  descriptorBindingStorageTexelBufferUpdateAfterBind = descriptorBindingStorageTexelBufferUpdateAfterBind_;
53887  return *this;
53888  }
53889 
53892  {
53893  descriptorBindingUpdateUnusedWhilePending = descriptorBindingUpdateUnusedWhilePending_;
53894  return *this;
53895  }
53896 
53899  {
53900  descriptorBindingPartiallyBound = descriptorBindingPartiallyBound_;
53901  return *this;
53902  }
53903 
53906  {
53907  descriptorBindingVariableDescriptorCount = descriptorBindingVariableDescriptorCount_;
53908  return *this;
53909  }
53910 
53913  {
53914  runtimeDescriptorArray = runtimeDescriptorArray_;
53915  return *this;
53916  }
53917 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
53918 
53920  {
53921  return *reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingFeatures *>( this );
53922  }
53923 
53925  {
53926  return *reinterpret_cast<VkPhysicalDeviceDescriptorIndexingFeatures *>( this );
53927  }
53928 
53929 #if defined( VULKAN_HPP_USE_REFLECT )
53930 # if 14 <= VULKAN_HPP_CPP_VERSION
53931  auto
53932 # else
53933  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
53934  void * const &,
53955 # endif
53956  reflect() const VULKAN_HPP_NOEXCEPT
53957  {
53958  return std::tie( sType,
53959  pNext,
53960  shaderInputAttachmentArrayDynamicIndexing,
53961  shaderUniformTexelBufferArrayDynamicIndexing,
53962  shaderStorageTexelBufferArrayDynamicIndexing,
53963  shaderUniformBufferArrayNonUniformIndexing,
53964  shaderSampledImageArrayNonUniformIndexing,
53965  shaderStorageBufferArrayNonUniformIndexing,
53966  shaderStorageImageArrayNonUniformIndexing,
53967  shaderInputAttachmentArrayNonUniformIndexing,
53968  shaderUniformTexelBufferArrayNonUniformIndexing,
53969  shaderStorageTexelBufferArrayNonUniformIndexing,
53970  descriptorBindingUniformBufferUpdateAfterBind,
53971  descriptorBindingSampledImageUpdateAfterBind,
53972  descriptorBindingStorageImageUpdateAfterBind,
53973  descriptorBindingStorageBufferUpdateAfterBind,
53974  descriptorBindingUniformTexelBufferUpdateAfterBind,
53975  descriptorBindingStorageTexelBufferUpdateAfterBind,
53976  descriptorBindingUpdateUnusedWhilePending,
53977  descriptorBindingPartiallyBound,
53978  descriptorBindingVariableDescriptorCount,
53979  runtimeDescriptorArray );
53980  }
53981 #endif
53982 
53983 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
53984  auto operator<=>( PhysicalDeviceDescriptorIndexingFeatures const & ) const = default;
53985 #else
53987  {
53988 # if defined( VULKAN_HPP_USE_REFLECT )
53989  return this->reflect() == rhs.reflect();
53990 # else
53991  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
53992  ( shaderInputAttachmentArrayDynamicIndexing == rhs.shaderInputAttachmentArrayDynamicIndexing ) &&
53993  ( shaderUniformTexelBufferArrayDynamicIndexing == rhs.shaderUniformTexelBufferArrayDynamicIndexing ) &&
53994  ( shaderStorageTexelBufferArrayDynamicIndexing == rhs.shaderStorageTexelBufferArrayDynamicIndexing ) &&
53995  ( shaderUniformBufferArrayNonUniformIndexing == rhs.shaderUniformBufferArrayNonUniformIndexing ) &&
53996  ( shaderSampledImageArrayNonUniformIndexing == rhs.shaderSampledImageArrayNonUniformIndexing ) &&
53997  ( shaderStorageBufferArrayNonUniformIndexing == rhs.shaderStorageBufferArrayNonUniformIndexing ) &&
53998  ( shaderStorageImageArrayNonUniformIndexing == rhs.shaderStorageImageArrayNonUniformIndexing ) &&
53999  ( shaderInputAttachmentArrayNonUniformIndexing == rhs.shaderInputAttachmentArrayNonUniformIndexing ) &&
54000  ( shaderUniformTexelBufferArrayNonUniformIndexing == rhs.shaderUniformTexelBufferArrayNonUniformIndexing ) &&
54001  ( shaderStorageTexelBufferArrayNonUniformIndexing == rhs.shaderStorageTexelBufferArrayNonUniformIndexing ) &&
54002  ( descriptorBindingUniformBufferUpdateAfterBind == rhs.descriptorBindingUniformBufferUpdateAfterBind ) &&
54003  ( descriptorBindingSampledImageUpdateAfterBind == rhs.descriptorBindingSampledImageUpdateAfterBind ) &&
54004  ( descriptorBindingStorageImageUpdateAfterBind == rhs.descriptorBindingStorageImageUpdateAfterBind ) &&
54005  ( descriptorBindingStorageBufferUpdateAfterBind == rhs.descriptorBindingStorageBufferUpdateAfterBind ) &&
54006  ( descriptorBindingUniformTexelBufferUpdateAfterBind == rhs.descriptorBindingUniformTexelBufferUpdateAfterBind ) &&
54007  ( descriptorBindingStorageTexelBufferUpdateAfterBind == rhs.descriptorBindingStorageTexelBufferUpdateAfterBind ) &&
54008  ( descriptorBindingUpdateUnusedWhilePending == rhs.descriptorBindingUpdateUnusedWhilePending ) &&
54009  ( descriptorBindingPartiallyBound == rhs.descriptorBindingPartiallyBound ) &&
54010  ( descriptorBindingVariableDescriptorCount == rhs.descriptorBindingVariableDescriptorCount ) &&
54011  ( runtimeDescriptorArray == rhs.runtimeDescriptorArray );
54012 # endif
54013  }
54014 
54016  {
54017  return !operator==( rhs );
54018  }
54019 #endif
54020 
54021  public:
54022  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceDescriptorIndexingFeatures;
54023  void * pNext = {};
54024  VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayDynamicIndexing = {};
54025  VULKAN_HPP_NAMESPACE::Bool32 shaderUniformTexelBufferArrayDynamicIndexing = {};
54026  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageTexelBufferArrayDynamicIndexing = {};
54027  VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayNonUniformIndexing = {};
54028  VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayNonUniformIndexing = {};
54029  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayNonUniformIndexing = {};
54030  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayNonUniformIndexing = {};
54031  VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayNonUniformIndexing = {};
54032  VULKAN_HPP_NAMESPACE::Bool32 shaderUniformTexelBufferArrayNonUniformIndexing = {};
54033  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageTexelBufferArrayNonUniformIndexing = {};
54034  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUniformBufferUpdateAfterBind = {};
54035  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingSampledImageUpdateAfterBind = {};
54036  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageImageUpdateAfterBind = {};
54037  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageBufferUpdateAfterBind = {};
54038  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUniformTexelBufferUpdateAfterBind = {};
54039  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageTexelBufferUpdateAfterBind = {};
54040  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUpdateUnusedWhilePending = {};
54041  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingPartiallyBound = {};
54042  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingVariableDescriptorCount = {};
54043  VULKAN_HPP_NAMESPACE::Bool32 runtimeDescriptorArray = {};
54044  };
54045 
54046  template <>
54048  {
54050  };
54052 
54054  {
54056 
54057  static const bool allowDuplicate = false;
54058  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDescriptorIndexingProperties;
54059 
54060 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
54061  VULKAN_HPP_CONSTEXPR PhysicalDeviceDescriptorIndexingProperties( uint32_t maxUpdateAfterBindDescriptorsInAllPools_ = {},
54062  VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayNonUniformIndexingNative_ = {},
54063  VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayNonUniformIndexingNative_ = {},
54064  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayNonUniformIndexingNative_ = {},
54065  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayNonUniformIndexingNative_ = {},
54066  VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayNonUniformIndexingNative_ = {},
54067  VULKAN_HPP_NAMESPACE::Bool32 robustBufferAccessUpdateAfterBind_ = {},
54068  VULKAN_HPP_NAMESPACE::Bool32 quadDivergentImplicitLod_ = {},
54069  uint32_t maxPerStageDescriptorUpdateAfterBindSamplers_ = {},
54070  uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers_ = {},
54071  uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers_ = {},
54072  uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages_ = {},
54073  uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages_ = {},
54074  uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments_ = {},
54075  uint32_t maxPerStageUpdateAfterBindResources_ = {},
54076  uint32_t maxDescriptorSetUpdateAfterBindSamplers_ = {},
54077  uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers_ = {},
54078  uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic_ = {},
54079  uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers_ = {},
54080  uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic_ = {},
54081  uint32_t maxDescriptorSetUpdateAfterBindSampledImages_ = {},
54082  uint32_t maxDescriptorSetUpdateAfterBindStorageImages_ = {},
54083  uint32_t maxDescriptorSetUpdateAfterBindInputAttachments_ = {},
54084  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
54085  : pNext( pNext_ )
54086  , maxUpdateAfterBindDescriptorsInAllPools( maxUpdateAfterBindDescriptorsInAllPools_ )
54087  , shaderUniformBufferArrayNonUniformIndexingNative( shaderUniformBufferArrayNonUniformIndexingNative_ )
54088  , shaderSampledImageArrayNonUniformIndexingNative( shaderSampledImageArrayNonUniformIndexingNative_ )
54089  , shaderStorageBufferArrayNonUniformIndexingNative( shaderStorageBufferArrayNonUniformIndexingNative_ )
54090  , shaderStorageImageArrayNonUniformIndexingNative( shaderStorageImageArrayNonUniformIndexingNative_ )
54091  , shaderInputAttachmentArrayNonUniformIndexingNative( shaderInputAttachmentArrayNonUniformIndexingNative_ )
54092  , robustBufferAccessUpdateAfterBind( robustBufferAccessUpdateAfterBind_ )
54093  , quadDivergentImplicitLod( quadDivergentImplicitLod_ )
54094  , maxPerStageDescriptorUpdateAfterBindSamplers( maxPerStageDescriptorUpdateAfterBindSamplers_ )
54095  , maxPerStageDescriptorUpdateAfterBindUniformBuffers( maxPerStageDescriptorUpdateAfterBindUniformBuffers_ )
54096  , maxPerStageDescriptorUpdateAfterBindStorageBuffers( maxPerStageDescriptorUpdateAfterBindStorageBuffers_ )
54097  , maxPerStageDescriptorUpdateAfterBindSampledImages( maxPerStageDescriptorUpdateAfterBindSampledImages_ )
54098  , maxPerStageDescriptorUpdateAfterBindStorageImages( maxPerStageDescriptorUpdateAfterBindStorageImages_ )
54099  , maxPerStageDescriptorUpdateAfterBindInputAttachments( maxPerStageDescriptorUpdateAfterBindInputAttachments_ )
54100  , maxPerStageUpdateAfterBindResources( maxPerStageUpdateAfterBindResources_ )
54101  , maxDescriptorSetUpdateAfterBindSamplers( maxDescriptorSetUpdateAfterBindSamplers_ )
54102  , maxDescriptorSetUpdateAfterBindUniformBuffers( maxDescriptorSetUpdateAfterBindUniformBuffers_ )
54103  , maxDescriptorSetUpdateAfterBindUniformBuffersDynamic( maxDescriptorSetUpdateAfterBindUniformBuffersDynamic_ )
54104  , maxDescriptorSetUpdateAfterBindStorageBuffers( maxDescriptorSetUpdateAfterBindStorageBuffers_ )
54105  , maxDescriptorSetUpdateAfterBindStorageBuffersDynamic( maxDescriptorSetUpdateAfterBindStorageBuffersDynamic_ )
54106  , maxDescriptorSetUpdateAfterBindSampledImages( maxDescriptorSetUpdateAfterBindSampledImages_ )
54107  , maxDescriptorSetUpdateAfterBindStorageImages( maxDescriptorSetUpdateAfterBindStorageImages_ )
54108  , maxDescriptorSetUpdateAfterBindInputAttachments( maxDescriptorSetUpdateAfterBindInputAttachments_ )
54109  {
54110  }
54111 
54112  VULKAN_HPP_CONSTEXPR PhysicalDeviceDescriptorIndexingProperties( PhysicalDeviceDescriptorIndexingProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
54113 
54115  : PhysicalDeviceDescriptorIndexingProperties( *reinterpret_cast<PhysicalDeviceDescriptorIndexingProperties const *>( &rhs ) )
54116  {
54117  }
54118 
54120 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
54121 
54123  {
54124  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorIndexingProperties const *>( &rhs );
54125  return *this;
54126  }
54127 
54129  {
54130  return *reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingProperties *>( this );
54131  }
54132 
54134  {
54135  return *reinterpret_cast<VkPhysicalDeviceDescriptorIndexingProperties *>( this );
54136  }
54137 
54138 #if defined( VULKAN_HPP_USE_REFLECT )
54139 # if 14 <= VULKAN_HPP_CPP_VERSION
54140  auto
54141 # else
54142  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
54143  void * const &,
54144  uint32_t const &,
54152  uint32_t const &,
54153  uint32_t const &,
54154  uint32_t const &,
54155  uint32_t const &,
54156  uint32_t const &,
54157  uint32_t const &,
54158  uint32_t const &,
54159  uint32_t const &,
54160  uint32_t const &,
54161  uint32_t const &,
54162  uint32_t const &,
54163  uint32_t const &,
54164  uint32_t const &,
54165  uint32_t const &,
54166  uint32_t const &>
54167 # endif
54168  reflect() const VULKAN_HPP_NOEXCEPT
54169  {
54170  return std::tie( sType,
54171  pNext,
54172  maxUpdateAfterBindDescriptorsInAllPools,
54173  shaderUniformBufferArrayNonUniformIndexingNative,
54174  shaderSampledImageArrayNonUniformIndexingNative,
54175  shaderStorageBufferArrayNonUniformIndexingNative,
54176  shaderStorageImageArrayNonUniformIndexingNative,
54177  shaderInputAttachmentArrayNonUniformIndexingNative,
54178  robustBufferAccessUpdateAfterBind,
54179  quadDivergentImplicitLod,
54180  maxPerStageDescriptorUpdateAfterBindSamplers,
54181  maxPerStageDescriptorUpdateAfterBindUniformBuffers,
54182  maxPerStageDescriptorUpdateAfterBindStorageBuffers,
54183  maxPerStageDescriptorUpdateAfterBindSampledImages,
54184  maxPerStageDescriptorUpdateAfterBindStorageImages,
54185  maxPerStageDescriptorUpdateAfterBindInputAttachments,
54186  maxPerStageUpdateAfterBindResources,
54187  maxDescriptorSetUpdateAfterBindSamplers,
54188  maxDescriptorSetUpdateAfterBindUniformBuffers,
54189  maxDescriptorSetUpdateAfterBindUniformBuffersDynamic,
54190  maxDescriptorSetUpdateAfterBindStorageBuffers,
54191  maxDescriptorSetUpdateAfterBindStorageBuffersDynamic,
54192  maxDescriptorSetUpdateAfterBindSampledImages,
54193  maxDescriptorSetUpdateAfterBindStorageImages,
54194  maxDescriptorSetUpdateAfterBindInputAttachments );
54195  }
54196 #endif
54197 
54198 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
54199  auto operator<=>( PhysicalDeviceDescriptorIndexingProperties const & ) const = default;
54200 #else
54202  {
54203 # if defined( VULKAN_HPP_USE_REFLECT )
54204  return this->reflect() == rhs.reflect();
54205 # else
54206  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxUpdateAfterBindDescriptorsInAllPools == rhs.maxUpdateAfterBindDescriptorsInAllPools ) &&
54207  ( shaderUniformBufferArrayNonUniformIndexingNative == rhs.shaderUniformBufferArrayNonUniformIndexingNative ) &&
54208  ( shaderSampledImageArrayNonUniformIndexingNative == rhs.shaderSampledImageArrayNonUniformIndexingNative ) &&
54209  ( shaderStorageBufferArrayNonUniformIndexingNative == rhs.shaderStorageBufferArrayNonUniformIndexingNative ) &&
54210  ( shaderStorageImageArrayNonUniformIndexingNative == rhs.shaderStorageImageArrayNonUniformIndexingNative ) &&
54211  ( shaderInputAttachmentArrayNonUniformIndexingNative == rhs.shaderInputAttachmentArrayNonUniformIndexingNative ) &&
54212  ( robustBufferAccessUpdateAfterBind == rhs.robustBufferAccessUpdateAfterBind ) && ( quadDivergentImplicitLod == rhs.quadDivergentImplicitLod ) &&
54213  ( maxPerStageDescriptorUpdateAfterBindSamplers == rhs.maxPerStageDescriptorUpdateAfterBindSamplers ) &&
54214  ( maxPerStageDescriptorUpdateAfterBindUniformBuffers == rhs.maxPerStageDescriptorUpdateAfterBindUniformBuffers ) &&
54215  ( maxPerStageDescriptorUpdateAfterBindStorageBuffers == rhs.maxPerStageDescriptorUpdateAfterBindStorageBuffers ) &&
54216  ( maxPerStageDescriptorUpdateAfterBindSampledImages == rhs.maxPerStageDescriptorUpdateAfterBindSampledImages ) &&
54217  ( maxPerStageDescriptorUpdateAfterBindStorageImages == rhs.maxPerStageDescriptorUpdateAfterBindStorageImages ) &&
54218  ( maxPerStageDescriptorUpdateAfterBindInputAttachments == rhs.maxPerStageDescriptorUpdateAfterBindInputAttachments ) &&
54219  ( maxPerStageUpdateAfterBindResources == rhs.maxPerStageUpdateAfterBindResources ) &&
54220  ( maxDescriptorSetUpdateAfterBindSamplers == rhs.maxDescriptorSetUpdateAfterBindSamplers ) &&
54221  ( maxDescriptorSetUpdateAfterBindUniformBuffers == rhs.maxDescriptorSetUpdateAfterBindUniformBuffers ) &&
54222  ( maxDescriptorSetUpdateAfterBindUniformBuffersDynamic == rhs.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic ) &&
54223  ( maxDescriptorSetUpdateAfterBindStorageBuffers == rhs.maxDescriptorSetUpdateAfterBindStorageBuffers ) &&
54224  ( maxDescriptorSetUpdateAfterBindStorageBuffersDynamic == rhs.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic ) &&
54225  ( maxDescriptorSetUpdateAfterBindSampledImages == rhs.maxDescriptorSetUpdateAfterBindSampledImages ) &&
54226  ( maxDescriptorSetUpdateAfterBindStorageImages == rhs.maxDescriptorSetUpdateAfterBindStorageImages ) &&
54227  ( maxDescriptorSetUpdateAfterBindInputAttachments == rhs.maxDescriptorSetUpdateAfterBindInputAttachments );
54228 # endif
54229  }
54230 
54232  {
54233  return !operator==( rhs );
54234  }
54235 #endif
54236 
54237  public:
54238  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceDescriptorIndexingProperties;
54239  void * pNext = {};
54240  uint32_t maxUpdateAfterBindDescriptorsInAllPools = {};
54241  VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayNonUniformIndexingNative = {};
54242  VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayNonUniformIndexingNative = {};
54243  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayNonUniformIndexingNative = {};
54244  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayNonUniformIndexingNative = {};
54245  VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayNonUniformIndexingNative = {};
54246  VULKAN_HPP_NAMESPACE::Bool32 robustBufferAccessUpdateAfterBind = {};
54247  VULKAN_HPP_NAMESPACE::Bool32 quadDivergentImplicitLod = {};
54248  uint32_t maxPerStageDescriptorUpdateAfterBindSamplers = {};
54249  uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers = {};
54250  uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers = {};
54251  uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages = {};
54252  uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages = {};
54253  uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments = {};
54254  uint32_t maxPerStageUpdateAfterBindResources = {};
54255  uint32_t maxDescriptorSetUpdateAfterBindSamplers = {};
54256  uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers = {};
54257  uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = {};
54258  uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers = {};
54259  uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = {};
54260  uint32_t maxDescriptorSetUpdateAfterBindSampledImages = {};
54261  uint32_t maxDescriptorSetUpdateAfterBindStorageImages = {};
54262  uint32_t maxDescriptorSetUpdateAfterBindInputAttachments = {};
54263  };
54264 
54265  template <>
54267  {
54269  };
54271 
54273  {
54275 
54276  static const bool allowDuplicate = false;
54277  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDescriptorSetHostMappingFeaturesVALVE;
54278 
54279 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
54281  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
54282  : pNext( pNext_ )
54283  , descriptorSetHostMapping( descriptorSetHostMapping_ )
54284  {
54285  }
54286 
54288  PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE( PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE const & rhs ) VULKAN_HPP_NOEXCEPT = default;
54289 
54291  : PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE( *reinterpret_cast<PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE const *>( &rhs ) )
54292  {
54293  }
54294 
54297 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
54298 
54300  {
54301  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE const *>( &rhs );
54302  return *this;
54303  }
54304 
54305 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
54307  {
54308  pNext = pNext_;
54309  return *this;
54310  }
54311 
54314  {
54315  descriptorSetHostMapping = descriptorSetHostMapping_;
54316  return *this;
54317  }
54318 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
54319 
54321  {
54322  return *reinterpret_cast<const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE *>( this );
54323  }
54324 
54326  {
54327  return *reinterpret_cast<VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE *>( this );
54328  }
54329 
54330 #if defined( VULKAN_HPP_USE_REFLECT )
54331 # if 14 <= VULKAN_HPP_CPP_VERSION
54332  auto
54333 # else
54334  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
54335 # endif
54336  reflect() const VULKAN_HPP_NOEXCEPT
54337  {
54338  return std::tie( sType, pNext, descriptorSetHostMapping );
54339  }
54340 #endif
54341 
54342 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
54343  auto operator<=>( PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE const & ) const = default;
54344 #else
54346  {
54347 # if defined( VULKAN_HPP_USE_REFLECT )
54348  return this->reflect() == rhs.reflect();
54349 # else
54350  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( descriptorSetHostMapping == rhs.descriptorSetHostMapping );
54351 # endif
54352  }
54353 
54355  {
54356  return !operator==( rhs );
54357  }
54358 #endif
54359 
54360  public:
54361  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceDescriptorSetHostMappingFeaturesVALVE;
54362  void * pNext = {};
54363  VULKAN_HPP_NAMESPACE::Bool32 descriptorSetHostMapping = {};
54364  };
54365 
54366  template <>
54368  {
54370  };
54371 
54373  {
54375 
54376  static const bool allowDuplicate = false;
54377  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
54378 
54379 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
54381  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
54382  : pNext( pNext_ )
54383  , deviceGeneratedCommands( deviceGeneratedCommands_ )
54384  {
54385  }
54386 
54388  PhysicalDeviceDeviceGeneratedCommandsFeaturesNV( PhysicalDeviceDeviceGeneratedCommandsFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
54389 
54391  : PhysicalDeviceDeviceGeneratedCommandsFeaturesNV( *reinterpret_cast<PhysicalDeviceDeviceGeneratedCommandsFeaturesNV const *>( &rhs ) )
54392  {
54393  }
54394 
54396 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
54397 
54399  {
54400  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceDeviceGeneratedCommandsFeaturesNV const *>( &rhs );
54401  return *this;
54402  }
54403 
54404 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
54406  {
54407  pNext = pNext_;
54408  return *this;
54409  }
54410 
54413  {
54414  deviceGeneratedCommands = deviceGeneratedCommands_;
54415  return *this;
54416  }
54417 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
54418 
54420  {
54421  return *reinterpret_cast<const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV *>( this );
54422  }
54423 
54425  {
54426  return *reinterpret_cast<VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV *>( this );
54427  }
54428 
54429 #if defined( VULKAN_HPP_USE_REFLECT )
54430 # if 14 <= VULKAN_HPP_CPP_VERSION
54431  auto
54432 # else
54433  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
54434 # endif
54435  reflect() const VULKAN_HPP_NOEXCEPT
54436  {
54437  return std::tie( sType, pNext, deviceGeneratedCommands );
54438  }
54439 #endif
54440 
54441 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
54442  auto operator<=>( PhysicalDeviceDeviceGeneratedCommandsFeaturesNV const & ) const = default;
54443 #else
54445  {
54446 # if defined( VULKAN_HPP_USE_REFLECT )
54447  return this->reflect() == rhs.reflect();
54448 # else
54449  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( deviceGeneratedCommands == rhs.deviceGeneratedCommands );
54450 # endif
54451  }
54452 
54454  {
54455  return !operator==( rhs );
54456  }
54457 #endif
54458 
54459  public:
54460  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
54461  void * pNext = {};
54462  VULKAN_HPP_NAMESPACE::Bool32 deviceGeneratedCommands = {};
54463  };
54464 
54465  template <>
54467  {
54469  };
54470 
54472  {
54474 
54475  static const bool allowDuplicate = false;
54476  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
54477 
54478 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
54480  uint32_t maxIndirectSequenceCount_ = {},
54481  uint32_t maxIndirectCommandsTokenCount_ = {},
54482  uint32_t maxIndirectCommandsStreamCount_ = {},
54483  uint32_t maxIndirectCommandsTokenOffset_ = {},
54484  uint32_t maxIndirectCommandsStreamStride_ = {},
54485  uint32_t minSequencesCountBufferOffsetAlignment_ = {},
54486  uint32_t minSequencesIndexBufferOffsetAlignment_ = {},
54487  uint32_t minIndirectCommandsBufferOffsetAlignment_ = {},
54488  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
54489  : pNext( pNext_ )
54490  , maxGraphicsShaderGroupCount( maxGraphicsShaderGroupCount_ )
54491  , maxIndirectSequenceCount( maxIndirectSequenceCount_ )
54492  , maxIndirectCommandsTokenCount( maxIndirectCommandsTokenCount_ )
54493  , maxIndirectCommandsStreamCount( maxIndirectCommandsStreamCount_ )
54494  , maxIndirectCommandsTokenOffset( maxIndirectCommandsTokenOffset_ )
54495  , maxIndirectCommandsStreamStride( maxIndirectCommandsStreamStride_ )
54496  , minSequencesCountBufferOffsetAlignment( minSequencesCountBufferOffsetAlignment_ )
54497  , minSequencesIndexBufferOffsetAlignment( minSequencesIndexBufferOffsetAlignment_ )
54498  , minIndirectCommandsBufferOffsetAlignment( minIndirectCommandsBufferOffsetAlignment_ )
54499  {
54500  }
54501 
54503  PhysicalDeviceDeviceGeneratedCommandsPropertiesNV( PhysicalDeviceDeviceGeneratedCommandsPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
54504 
54506  : PhysicalDeviceDeviceGeneratedCommandsPropertiesNV( *reinterpret_cast<PhysicalDeviceDeviceGeneratedCommandsPropertiesNV const *>( &rhs ) )
54507  {
54508  }
54509 
54512 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
54513 
54515  {
54516  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceDeviceGeneratedCommandsPropertiesNV const *>( &rhs );
54517  return *this;
54518  }
54519 
54521  {
54522  return *reinterpret_cast<const VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV *>( this );
54523  }
54524 
54526  {
54527  return *reinterpret_cast<VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV *>( this );
54528  }
54529 
54530 #if defined( VULKAN_HPP_USE_REFLECT )
54531 # if 14 <= VULKAN_HPP_CPP_VERSION
54532  auto
54533 # else
54534  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
54535  void * const &,
54536  uint32_t const &,
54537  uint32_t const &,
54538  uint32_t const &,
54539  uint32_t const &,
54540  uint32_t const &,
54541  uint32_t const &,
54542  uint32_t const &,
54543  uint32_t const &,
54544  uint32_t const &>
54545 # endif
54546  reflect() const VULKAN_HPP_NOEXCEPT
54547  {
54548  return std::tie( sType,
54549  pNext,
54550  maxGraphicsShaderGroupCount,
54551  maxIndirectSequenceCount,
54552  maxIndirectCommandsTokenCount,
54553  maxIndirectCommandsStreamCount,
54554  maxIndirectCommandsTokenOffset,
54555  maxIndirectCommandsStreamStride,
54556  minSequencesCountBufferOffsetAlignment,
54557  minSequencesIndexBufferOffsetAlignment,
54558  minIndirectCommandsBufferOffsetAlignment );
54559  }
54560 #endif
54561 
54562 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
54563  auto operator<=>( PhysicalDeviceDeviceGeneratedCommandsPropertiesNV const & ) const = default;
54564 #else
54566  {
54567 # if defined( VULKAN_HPP_USE_REFLECT )
54568  return this->reflect() == rhs.reflect();
54569 # else
54570  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxGraphicsShaderGroupCount == rhs.maxGraphicsShaderGroupCount ) &&
54571  ( maxIndirectSequenceCount == rhs.maxIndirectSequenceCount ) && ( maxIndirectCommandsTokenCount == rhs.maxIndirectCommandsTokenCount ) &&
54572  ( maxIndirectCommandsStreamCount == rhs.maxIndirectCommandsStreamCount ) &&
54573  ( maxIndirectCommandsTokenOffset == rhs.maxIndirectCommandsTokenOffset ) &&
54574  ( maxIndirectCommandsStreamStride == rhs.maxIndirectCommandsStreamStride ) &&
54575  ( minSequencesCountBufferOffsetAlignment == rhs.minSequencesCountBufferOffsetAlignment ) &&
54576  ( minSequencesIndexBufferOffsetAlignment == rhs.minSequencesIndexBufferOffsetAlignment ) &&
54577  ( minIndirectCommandsBufferOffsetAlignment == rhs.minIndirectCommandsBufferOffsetAlignment );
54578 # endif
54579  }
54580 
54582  {
54583  return !operator==( rhs );
54584  }
54585 #endif
54586 
54587  public:
54588  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
54589  void * pNext = {};
54590  uint32_t maxGraphicsShaderGroupCount = {};
54591  uint32_t maxIndirectSequenceCount = {};
54592  uint32_t maxIndirectCommandsTokenCount = {};
54593  uint32_t maxIndirectCommandsStreamCount = {};
54594  uint32_t maxIndirectCommandsTokenOffset = {};
54595  uint32_t maxIndirectCommandsStreamStride = {};
54596  uint32_t minSequencesCountBufferOffsetAlignment = {};
54597  uint32_t minSequencesIndexBufferOffsetAlignment = {};
54598  uint32_t minIndirectCommandsBufferOffsetAlignment = {};
54599  };
54600 
54601  template <>
54603  {
54605  };
54606 
54608  {
54610 
54611  static const bool allowDuplicate = false;
54612  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDeviceMemoryReportFeaturesEXT;
54613 
54614 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
54616  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
54617  : pNext( pNext_ )
54618  , deviceMemoryReport( deviceMemoryReport_ )
54619  {
54620  }
54621 
54622  VULKAN_HPP_CONSTEXPR PhysicalDeviceDeviceMemoryReportFeaturesEXT( PhysicalDeviceDeviceMemoryReportFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
54623 
54625  : PhysicalDeviceDeviceMemoryReportFeaturesEXT( *reinterpret_cast<PhysicalDeviceDeviceMemoryReportFeaturesEXT const *>( &rhs ) )
54626  {
54627  }
54628 
54630 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
54631 
54633  {
54634  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceDeviceMemoryReportFeaturesEXT const *>( &rhs );
54635  return *this;
54636  }
54637 
54638 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
54640  {
54641  pNext = pNext_;
54642  return *this;
54643  }
54644 
54647  {
54648  deviceMemoryReport = deviceMemoryReport_;
54649  return *this;
54650  }
54651 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
54652 
54654  {
54655  return *reinterpret_cast<const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT *>( this );
54656  }
54657 
54659  {
54660  return *reinterpret_cast<VkPhysicalDeviceDeviceMemoryReportFeaturesEXT *>( this );
54661  }
54662 
54663 #if defined( VULKAN_HPP_USE_REFLECT )
54664 # if 14 <= VULKAN_HPP_CPP_VERSION
54665  auto
54666 # else
54667  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
54668 # endif
54669  reflect() const VULKAN_HPP_NOEXCEPT
54670  {
54671  return std::tie( sType, pNext, deviceMemoryReport );
54672  }
54673 #endif
54674 
54675 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
54676  auto operator<=>( PhysicalDeviceDeviceMemoryReportFeaturesEXT const & ) const = default;
54677 #else
54679  {
54680 # if defined( VULKAN_HPP_USE_REFLECT )
54681  return this->reflect() == rhs.reflect();
54682 # else
54683  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( deviceMemoryReport == rhs.deviceMemoryReport );
54684 # endif
54685  }
54686 
54688  {
54689  return !operator==( rhs );
54690  }
54691 #endif
54692 
54693  public:
54694  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceDeviceMemoryReportFeaturesEXT;
54695  void * pNext = {};
54696  VULKAN_HPP_NAMESPACE::Bool32 deviceMemoryReport = {};
54697  };
54698 
54699  template <>
54701  {
54703  };
54704 
54706  {
54708 
54709  static const bool allowDuplicate = false;
54710  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDiagnosticsConfigFeaturesNV;
54711 
54712 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
54714  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
54715  : pNext( pNext_ )
54716  , diagnosticsConfig( diagnosticsConfig_ )
54717  {
54718  }
54719 
54720  VULKAN_HPP_CONSTEXPR PhysicalDeviceDiagnosticsConfigFeaturesNV( PhysicalDeviceDiagnosticsConfigFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
54721 
54723  : PhysicalDeviceDiagnosticsConfigFeaturesNV( *reinterpret_cast<PhysicalDeviceDiagnosticsConfigFeaturesNV const *>( &rhs ) )
54724  {
54725  }
54726 
54728 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
54729 
54731  {
54732  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceDiagnosticsConfigFeaturesNV const *>( &rhs );
54733  return *this;
54734  }
54735 
54736 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
54738  {
54739  pNext = pNext_;
54740  return *this;
54741  }
54742 
54745  {
54746  diagnosticsConfig = diagnosticsConfig_;
54747  return *this;
54748  }
54749 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
54750 
54752  {
54753  return *reinterpret_cast<const VkPhysicalDeviceDiagnosticsConfigFeaturesNV *>( this );
54754  }
54755 
54757  {
54758  return *reinterpret_cast<VkPhysicalDeviceDiagnosticsConfigFeaturesNV *>( this );
54759  }
54760 
54761 #if defined( VULKAN_HPP_USE_REFLECT )
54762 # if 14 <= VULKAN_HPP_CPP_VERSION
54763  auto
54764 # else
54765  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
54766 # endif
54767  reflect() const VULKAN_HPP_NOEXCEPT
54768  {
54769  return std::tie( sType, pNext, diagnosticsConfig );
54770  }
54771 #endif
54772 
54773 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
54774  auto operator<=>( PhysicalDeviceDiagnosticsConfigFeaturesNV const & ) const = default;
54775 #else
54777  {
54778 # if defined( VULKAN_HPP_USE_REFLECT )
54779  return this->reflect() == rhs.reflect();
54780 # else
54781  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( diagnosticsConfig == rhs.diagnosticsConfig );
54782 # endif
54783  }
54784 
54786  {
54787  return !operator==( rhs );
54788  }
54789 #endif
54790 
54791  public:
54792  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceDiagnosticsConfigFeaturesNV;
54793  void * pNext = {};
54794  VULKAN_HPP_NAMESPACE::Bool32 diagnosticsConfig = {};
54795  };
54796 
54797  template <>
54799  {
54801  };
54802 
54804  {
54806 
54807  static const bool allowDuplicate = false;
54808  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDiscardRectanglePropertiesEXT;
54809 
54810 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
54811  VULKAN_HPP_CONSTEXPR PhysicalDeviceDiscardRectanglePropertiesEXT( uint32_t maxDiscardRectangles_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
54812  : pNext( pNext_ )
54813  , maxDiscardRectangles( maxDiscardRectangles_ )
54814  {
54815  }
54816 
54817  VULKAN_HPP_CONSTEXPR PhysicalDeviceDiscardRectanglePropertiesEXT( PhysicalDeviceDiscardRectanglePropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
54818 
54820  : PhysicalDeviceDiscardRectanglePropertiesEXT( *reinterpret_cast<PhysicalDeviceDiscardRectanglePropertiesEXT const *>( &rhs ) )
54821  {
54822  }
54823 
54825 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
54826 
54828  {
54829  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceDiscardRectanglePropertiesEXT const *>( &rhs );
54830  return *this;
54831  }
54832 
54834  {
54835  return *reinterpret_cast<const VkPhysicalDeviceDiscardRectanglePropertiesEXT *>( this );
54836  }
54837 
54839  {
54840  return *reinterpret_cast<VkPhysicalDeviceDiscardRectanglePropertiesEXT *>( this );
54841  }
54842 
54843 #if defined( VULKAN_HPP_USE_REFLECT )
54844 # if 14 <= VULKAN_HPP_CPP_VERSION
54845  auto
54846 # else
54847  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, uint32_t const &>
54848 # endif
54849  reflect() const VULKAN_HPP_NOEXCEPT
54850  {
54851  return std::tie( sType, pNext, maxDiscardRectangles );
54852  }
54853 #endif
54854 
54855 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
54856  auto operator<=>( PhysicalDeviceDiscardRectanglePropertiesEXT const & ) const = default;
54857 #else
54859  {
54860 # if defined( VULKAN_HPP_USE_REFLECT )
54861  return this->reflect() == rhs.reflect();
54862 # else
54863  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxDiscardRectangles == rhs.maxDiscardRectangles );
54864 # endif
54865  }
54866 
54868  {
54869  return !operator==( rhs );
54870  }
54871 #endif
54872 
54873  public:
54874  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceDiscardRectanglePropertiesEXT;
54875  void * pNext = {};
54876  uint32_t maxDiscardRectangles = {};
54877  };
54878 
54879  template <>
54881  {
54883  };
54884 
54886  {
54888 
54889  static const bool allowDuplicate = false;
54890  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDriverProperties;
54891 
54892 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
54894  std::array<char, VK_MAX_DRIVER_NAME_SIZE> const & driverName_ = {},
54895  std::array<char, VK_MAX_DRIVER_INFO_SIZE> const & driverInfo_ = {},
54896  VULKAN_HPP_NAMESPACE::ConformanceVersion conformanceVersion_ = {},
54897  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
54898  : pNext( pNext_ )
54899  , driverID( driverID_ )
54900  , driverName( driverName_ )
54901  , driverInfo( driverInfo_ )
54902  , conformanceVersion( conformanceVersion_ )
54903  {
54904  }
54905 
54906  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDriverProperties( PhysicalDeviceDriverProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
54907 
54909  : PhysicalDeviceDriverProperties( *reinterpret_cast<PhysicalDeviceDriverProperties const *>( &rhs ) )
54910  {
54911  }
54912 
54914 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
54915 
54917  {
54918  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceDriverProperties const *>( &rhs );
54919  return *this;
54920  }
54921 
54923  {
54924  return *reinterpret_cast<const VkPhysicalDeviceDriverProperties *>( this );
54925  }
54926 
54928  {
54929  return *reinterpret_cast<VkPhysicalDeviceDriverProperties *>( this );
54930  }
54931 
54932 #if defined( VULKAN_HPP_USE_REFLECT )
54933 # if 14 <= VULKAN_HPP_CPP_VERSION
54934  auto
54935 # else
54936  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
54937  void * const &,
54942 # endif
54943  reflect() const VULKAN_HPP_NOEXCEPT
54944  {
54945  return std::tie( sType, pNext, driverID, driverName, driverInfo, conformanceVersion );
54946  }
54947 #endif
54948 
54949 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
54950  auto operator<=>( PhysicalDeviceDriverProperties const & ) const = default;
54951 #else
54953  {
54954 # if defined( VULKAN_HPP_USE_REFLECT )
54955  return this->reflect() == rhs.reflect();
54956 # else
54957  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( driverID == rhs.driverID ) && ( driverName == rhs.driverName ) &&
54958  ( driverInfo == rhs.driverInfo ) && ( conformanceVersion == rhs.conformanceVersion );
54959 # endif
54960  }
54961 
54963  {
54964  return !operator==( rhs );
54965  }
54966 #endif
54967 
54968  public:
54969  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceDriverProperties;
54970  void * pNext = {};
54975  };
54976 
54977  template <>
54979  {
54981  };
54983 
54985  {
54987 
54988  static const bool allowDuplicate = false;
54989  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDrmPropertiesEXT;
54990 
54991 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
54993  VULKAN_HPP_NAMESPACE::Bool32 hasRender_ = {},
54994  int64_t primaryMajor_ = {},
54995  int64_t primaryMinor_ = {},
54996  int64_t renderMajor_ = {},
54997  int64_t renderMinor_ = {},
54998  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
54999  : pNext( pNext_ )
55000  , hasPrimary( hasPrimary_ )
55001  , hasRender( hasRender_ )
55002  , primaryMajor( primaryMajor_ )
55003  , primaryMinor( primaryMinor_ )
55004  , renderMajor( renderMajor_ )
55005  , renderMinor( renderMinor_ )
55006  {
55007  }
55008 
55009  VULKAN_HPP_CONSTEXPR PhysicalDeviceDrmPropertiesEXT( PhysicalDeviceDrmPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
55010 
55012  : PhysicalDeviceDrmPropertiesEXT( *reinterpret_cast<PhysicalDeviceDrmPropertiesEXT const *>( &rhs ) )
55013  {
55014  }
55015 
55017 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
55018 
55020  {
55021  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceDrmPropertiesEXT const *>( &rhs );
55022  return *this;
55023  }
55024 
55026  {
55027  return *reinterpret_cast<const VkPhysicalDeviceDrmPropertiesEXT *>( this );
55028  }
55029 
55031  {
55032  return *reinterpret_cast<VkPhysicalDeviceDrmPropertiesEXT *>( this );
55033  }
55034 
55035 #if defined( VULKAN_HPP_USE_REFLECT )
55036 # if 14 <= VULKAN_HPP_CPP_VERSION
55037  auto
55038 # else
55039  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
55040  void * const &,
55043  int64_t const &,
55044  int64_t const &,
55045  int64_t const &,
55046  int64_t const &>
55047 # endif
55048  reflect() const VULKAN_HPP_NOEXCEPT
55049  {
55050  return std::tie( sType, pNext, hasPrimary, hasRender, primaryMajor, primaryMinor, renderMajor, renderMinor );
55051  }
55052 #endif
55053 
55054 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
55055  auto operator<=>( PhysicalDeviceDrmPropertiesEXT const & ) const = default;
55056 #else
55058  {
55059 # if defined( VULKAN_HPP_USE_REFLECT )
55060  return this->reflect() == rhs.reflect();
55061 # else
55062  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( hasPrimary == rhs.hasPrimary ) && ( hasRender == rhs.hasRender ) &&
55063  ( primaryMajor == rhs.primaryMajor ) && ( primaryMinor == rhs.primaryMinor ) && ( renderMajor == rhs.renderMajor ) &&
55064  ( renderMinor == rhs.renderMinor );
55065 # endif
55066  }
55067 
55069  {
55070  return !operator==( rhs );
55071  }
55072 #endif
55073 
55074  public:
55075  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceDrmPropertiesEXT;
55076  void * pNext = {};
55079  int64_t primaryMajor = {};
55080  int64_t primaryMinor = {};
55081  int64_t renderMajor = {};
55082  int64_t renderMinor = {};
55083  };
55084 
55085  template <>
55087  {
55089  };
55090 
55092  {
55094 
55095  static const bool allowDuplicate = false;
55096  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDynamicRenderingFeatures;
55097 
55098 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
55100  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
55101  : pNext( pNext_ )
55102  , dynamicRendering( dynamicRendering_ )
55103  {
55104  }
55105 
55106  VULKAN_HPP_CONSTEXPR PhysicalDeviceDynamicRenderingFeatures( PhysicalDeviceDynamicRenderingFeatures const & rhs ) VULKAN_HPP_NOEXCEPT = default;
55107 
55109  : PhysicalDeviceDynamicRenderingFeatures( *reinterpret_cast<PhysicalDeviceDynamicRenderingFeatures const *>( &rhs ) )
55110  {
55111  }
55112 
55114 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
55115 
55117  {
55118  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceDynamicRenderingFeatures const *>( &rhs );
55119  return *this;
55120  }
55121 
55122 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
55124  {
55125  pNext = pNext_;
55126  return *this;
55127  }
55128 
55130  {
55131  dynamicRendering = dynamicRendering_;
55132  return *this;
55133  }
55134 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
55135 
55137  {
55138  return *reinterpret_cast<const VkPhysicalDeviceDynamicRenderingFeatures *>( this );
55139  }
55140 
55142  {
55143  return *reinterpret_cast<VkPhysicalDeviceDynamicRenderingFeatures *>( this );
55144  }
55145 
55146 #if defined( VULKAN_HPP_USE_REFLECT )
55147 # if 14 <= VULKAN_HPP_CPP_VERSION
55148  auto
55149 # else
55150  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
55151 # endif
55152  reflect() const VULKAN_HPP_NOEXCEPT
55153  {
55154  return std::tie( sType, pNext, dynamicRendering );
55155  }
55156 #endif
55157 
55158 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
55159  auto operator<=>( PhysicalDeviceDynamicRenderingFeatures const & ) const = default;
55160 #else
55162  {
55163 # if defined( VULKAN_HPP_USE_REFLECT )
55164  return this->reflect() == rhs.reflect();
55165 # else
55166  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( dynamicRendering == rhs.dynamicRendering );
55167 # endif
55168  }
55169 
55171  {
55172  return !operator==( rhs );
55173  }
55174 #endif
55175 
55176  public:
55177  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceDynamicRenderingFeatures;
55178  void * pNext = {};
55179  VULKAN_HPP_NAMESPACE::Bool32 dynamicRendering = {};
55180  };
55181 
55182  template <>
55184  {
55186  };
55188 
55190  {
55192 
55193  static const bool allowDuplicate = false;
55194  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceExclusiveScissorFeaturesNV;
55195 
55196 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
55198  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
55199  : pNext( pNext_ )
55200  , exclusiveScissor( exclusiveScissor_ )
55201  {
55202  }
55203 
55204  VULKAN_HPP_CONSTEXPR PhysicalDeviceExclusiveScissorFeaturesNV( PhysicalDeviceExclusiveScissorFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
55205 
55207  : PhysicalDeviceExclusiveScissorFeaturesNV( *reinterpret_cast<PhysicalDeviceExclusiveScissorFeaturesNV const *>( &rhs ) )
55208  {
55209  }
55210 
55212 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
55213 
55215  {
55216  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceExclusiveScissorFeaturesNV const *>( &rhs );
55217  return *this;
55218  }
55219 
55220 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
55222  {
55223  pNext = pNext_;
55224  return *this;
55225  }
55226 
55228  {
55229  exclusiveScissor = exclusiveScissor_;
55230  return *this;
55231  }
55232 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
55233 
55235  {
55236  return *reinterpret_cast<const VkPhysicalDeviceExclusiveScissorFeaturesNV *>( this );
55237  }
55238 
55240  {
55241  return *reinterpret_cast<VkPhysicalDeviceExclusiveScissorFeaturesNV *>( this );
55242  }
55243 
55244 #if defined( VULKAN_HPP_USE_REFLECT )
55245 # if 14 <= VULKAN_HPP_CPP_VERSION
55246  auto
55247 # else
55248  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
55249 # endif
55250  reflect() const VULKAN_HPP_NOEXCEPT
55251  {
55252  return std::tie( sType, pNext, exclusiveScissor );
55253  }
55254 #endif
55255 
55256 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
55257  auto operator<=>( PhysicalDeviceExclusiveScissorFeaturesNV const & ) const = default;
55258 #else
55260  {
55261 # if defined( VULKAN_HPP_USE_REFLECT )
55262  return this->reflect() == rhs.reflect();
55263 # else
55264  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( exclusiveScissor == rhs.exclusiveScissor );
55265 # endif
55266  }
55267 
55269  {
55270  return !operator==( rhs );
55271  }
55272 #endif
55273 
55274  public:
55275  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceExclusiveScissorFeaturesNV;
55276  void * pNext = {};
55277  VULKAN_HPP_NAMESPACE::Bool32 exclusiveScissor = {};
55278  };
55279 
55280  template <>
55282  {
55284  };
55285 
55287  {
55289 
55290  static const bool allowDuplicate = false;
55291  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceExtendedDynamicState2FeaturesEXT;
55292 
55293 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
55295  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState2LogicOp_ = {},
55296  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState2PatchControlPoints_ = {},
55297  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
55298  : pNext( pNext_ )
55299  , extendedDynamicState2( extendedDynamicState2_ )
55300  , extendedDynamicState2LogicOp( extendedDynamicState2LogicOp_ )
55301  , extendedDynamicState2PatchControlPoints( extendedDynamicState2PatchControlPoints_ )
55302  {
55303  }
55304 
55306  PhysicalDeviceExtendedDynamicState2FeaturesEXT( PhysicalDeviceExtendedDynamicState2FeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
55307 
55309  : PhysicalDeviceExtendedDynamicState2FeaturesEXT( *reinterpret_cast<PhysicalDeviceExtendedDynamicState2FeaturesEXT const *>( &rhs ) )
55310  {
55311  }
55312 
55314 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
55315 
55317  {
55318  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceExtendedDynamicState2FeaturesEXT const *>( &rhs );
55319  return *this;
55320  }
55321 
55322 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
55324  {
55325  pNext = pNext_;
55326  return *this;
55327  }
55328 
55331  {
55332  extendedDynamicState2 = extendedDynamicState2_;
55333  return *this;
55334  }
55335 
55338  {
55339  extendedDynamicState2LogicOp = extendedDynamicState2LogicOp_;
55340  return *this;
55341  }
55342 
55345  {
55346  extendedDynamicState2PatchControlPoints = extendedDynamicState2PatchControlPoints_;
55347  return *this;
55348  }
55349 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
55350 
55352  {
55353  return *reinterpret_cast<const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT *>( this );
55354  }
55355 
55357  {
55358  return *reinterpret_cast<VkPhysicalDeviceExtendedDynamicState2FeaturesEXT *>( this );
55359  }
55360 
55361 #if defined( VULKAN_HPP_USE_REFLECT )
55362 # if 14 <= VULKAN_HPP_CPP_VERSION
55363  auto
55364 # else
55365  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
55366  void * const &,
55370 # endif
55371  reflect() const VULKAN_HPP_NOEXCEPT
55372  {
55373  return std::tie( sType, pNext, extendedDynamicState2, extendedDynamicState2LogicOp, extendedDynamicState2PatchControlPoints );
55374  }
55375 #endif
55376 
55377 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
55378  auto operator<=>( PhysicalDeviceExtendedDynamicState2FeaturesEXT const & ) const = default;
55379 #else
55381  {
55382 # if defined( VULKAN_HPP_USE_REFLECT )
55383  return this->reflect() == rhs.reflect();
55384 # else
55385  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( extendedDynamicState2 == rhs.extendedDynamicState2 ) &&
55386  ( extendedDynamicState2LogicOp == rhs.extendedDynamicState2LogicOp ) &&
55387  ( extendedDynamicState2PatchControlPoints == rhs.extendedDynamicState2PatchControlPoints );
55388 # endif
55389  }
55390 
55392  {
55393  return !operator==( rhs );
55394  }
55395 #endif
55396 
55397  public:
55398  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceExtendedDynamicState2FeaturesEXT;
55399  void * pNext = {};
55400  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState2 = {};
55401  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState2LogicOp = {};
55402  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState2PatchControlPoints = {};
55403  };
55404 
55405  template <>
55407  {
55409  };
55410 
55412  {
55414 
55415  static const bool allowDuplicate = false;
55416  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceExtendedDynamicState3FeaturesEXT;
55417 
55418 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
55420  PhysicalDeviceExtendedDynamicState3FeaturesEXT( VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3TessellationDomainOrigin_ = {},
55421  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3DepthClampEnable_ = {},
55422  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3PolygonMode_ = {},
55423  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3RasterizationSamples_ = {},
55424  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3SampleMask_ = {},
55425  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3AlphaToCoverageEnable_ = {},
55426  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3AlphaToOneEnable_ = {},
55427  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3LogicOpEnable_ = {},
55428  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ColorBlendEnable_ = {},
55429  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ColorBlendEquation_ = {},
55430  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ColorWriteMask_ = {},
55431  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3RasterizationStream_ = {},
55432  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ConservativeRasterizationMode_ = {},
55433  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ExtraPrimitiveOverestimationSize_ = {},
55434  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3DepthClipEnable_ = {},
55435  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3SampleLocationsEnable_ = {},
55436  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ColorBlendAdvanced_ = {},
55437  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ProvokingVertexMode_ = {},
55438  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3LineRasterizationMode_ = {},
55439  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3LineStippleEnable_ = {},
55440  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3DepthClipNegativeOneToOne_ = {},
55441  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ViewportWScalingEnable_ = {},
55442  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ViewportSwizzle_ = {},
55443  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3CoverageToColorEnable_ = {},
55444  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3CoverageToColorLocation_ = {},
55445  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3CoverageModulationMode_ = {},
55446  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3CoverageModulationTableEnable_ = {},
55447  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3CoverageModulationTable_ = {},
55448  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3CoverageReductionMode_ = {},
55449  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3RepresentativeFragmentTestEnable_ = {},
55450  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ShadingRateImageEnable_ = {},
55451  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
55452  : pNext( pNext_ )
55453  , extendedDynamicState3TessellationDomainOrigin( extendedDynamicState3TessellationDomainOrigin_ )
55454  , extendedDynamicState3DepthClampEnable( extendedDynamicState3DepthClampEnable_ )
55455  , extendedDynamicState3PolygonMode( extendedDynamicState3PolygonMode_ )
55456  , extendedDynamicState3RasterizationSamples( extendedDynamicState3RasterizationSamples_ )
55457  , extendedDynamicState3SampleMask( extendedDynamicState3SampleMask_ )
55458  , extendedDynamicState3AlphaToCoverageEnable( extendedDynamicState3AlphaToCoverageEnable_ )
55459  , extendedDynamicState3AlphaToOneEnable( extendedDynamicState3AlphaToOneEnable_ )
55460  , extendedDynamicState3LogicOpEnable( extendedDynamicState3LogicOpEnable_ )
55461  , extendedDynamicState3ColorBlendEnable( extendedDynamicState3ColorBlendEnable_ )
55462  , extendedDynamicState3ColorBlendEquation( extendedDynamicState3ColorBlendEquation_ )
55463  , extendedDynamicState3ColorWriteMask( extendedDynamicState3ColorWriteMask_ )
55464  , extendedDynamicState3RasterizationStream( extendedDynamicState3RasterizationStream_ )
55465  , extendedDynamicState3ConservativeRasterizationMode( extendedDynamicState3ConservativeRasterizationMode_ )
55466  , extendedDynamicState3ExtraPrimitiveOverestimationSize( extendedDynamicState3ExtraPrimitiveOverestimationSize_ )
55467  , extendedDynamicState3DepthClipEnable( extendedDynamicState3DepthClipEnable_ )
55468  , extendedDynamicState3SampleLocationsEnable( extendedDynamicState3SampleLocationsEnable_ )
55469  , extendedDynamicState3ColorBlendAdvanced( extendedDynamicState3ColorBlendAdvanced_ )
55470  , extendedDynamicState3ProvokingVertexMode( extendedDynamicState3ProvokingVertexMode_ )
55471  , extendedDynamicState3LineRasterizationMode( extendedDynamicState3LineRasterizationMode_ )
55472  , extendedDynamicState3LineStippleEnable( extendedDynamicState3LineStippleEnable_ )
55473  , extendedDynamicState3DepthClipNegativeOneToOne( extendedDynamicState3DepthClipNegativeOneToOne_ )
55474  , extendedDynamicState3ViewportWScalingEnable( extendedDynamicState3ViewportWScalingEnable_ )
55475  , extendedDynamicState3ViewportSwizzle( extendedDynamicState3ViewportSwizzle_ )
55476  , extendedDynamicState3CoverageToColorEnable( extendedDynamicState3CoverageToColorEnable_ )
55477  , extendedDynamicState3CoverageToColorLocation( extendedDynamicState3CoverageToColorLocation_ )
55478  , extendedDynamicState3CoverageModulationMode( extendedDynamicState3CoverageModulationMode_ )
55479  , extendedDynamicState3CoverageModulationTableEnable( extendedDynamicState3CoverageModulationTableEnable_ )
55480  , extendedDynamicState3CoverageModulationTable( extendedDynamicState3CoverageModulationTable_ )
55481  , extendedDynamicState3CoverageReductionMode( extendedDynamicState3CoverageReductionMode_ )
55482  , extendedDynamicState3RepresentativeFragmentTestEnable( extendedDynamicState3RepresentativeFragmentTestEnable_ )
55483  , extendedDynamicState3ShadingRateImageEnable( extendedDynamicState3ShadingRateImageEnable_ )
55484  {
55485  }
55486 
55488  PhysicalDeviceExtendedDynamicState3FeaturesEXT( PhysicalDeviceExtendedDynamicState3FeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
55489 
55491  : PhysicalDeviceExtendedDynamicState3FeaturesEXT( *reinterpret_cast<PhysicalDeviceExtendedDynamicState3FeaturesEXT const *>( &rhs ) )
55492  {
55493  }
55494 
55496 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
55497 
55499  {
55500  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceExtendedDynamicState3FeaturesEXT const *>( &rhs );
55501  return *this;
55502  }
55503 
55504 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
55506  {
55507  pNext = pNext_;
55508  return *this;
55509  }
55510 
55513  {
55514  extendedDynamicState3TessellationDomainOrigin = extendedDynamicState3TessellationDomainOrigin_;
55515  return *this;
55516  }
55517 
55520  {
55521  extendedDynamicState3DepthClampEnable = extendedDynamicState3DepthClampEnable_;
55522  return *this;
55523  }
55524 
55527  {
55528  extendedDynamicState3PolygonMode = extendedDynamicState3PolygonMode_;
55529  return *this;
55530  }
55531 
55534  {
55535  extendedDynamicState3RasterizationSamples = extendedDynamicState3RasterizationSamples_;
55536  return *this;
55537  }
55538 
55541  {
55542  extendedDynamicState3SampleMask = extendedDynamicState3SampleMask_;
55543  return *this;
55544  }
55545 
55548  {
55549  extendedDynamicState3AlphaToCoverageEnable = extendedDynamicState3AlphaToCoverageEnable_;
55550  return *this;
55551  }
55552 
55555  {
55556  extendedDynamicState3AlphaToOneEnable = extendedDynamicState3AlphaToOneEnable_;
55557  return *this;
55558  }
55559 
55562  {
55563  extendedDynamicState3LogicOpEnable = extendedDynamicState3LogicOpEnable_;
55564  return *this;
55565  }
55566 
55569  {
55570  extendedDynamicState3ColorBlendEnable = extendedDynamicState3ColorBlendEnable_;
55571  return *this;
55572  }
55573 
55576  {
55577  extendedDynamicState3ColorBlendEquation = extendedDynamicState3ColorBlendEquation_;
55578  return *this;
55579  }
55580 
55583  {
55584  extendedDynamicState3ColorWriteMask = extendedDynamicState3ColorWriteMask_;
55585  return *this;
55586  }
55587 
55590  {
55591  extendedDynamicState3RasterizationStream = extendedDynamicState3RasterizationStream_;
55592  return *this;
55593  }
55594 
55596  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ConservativeRasterizationMode_ ) VULKAN_HPP_NOEXCEPT
55597  {
55598  extendedDynamicState3ConservativeRasterizationMode = extendedDynamicState3ConservativeRasterizationMode_;
55599  return *this;
55600  }
55601 
55603  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ExtraPrimitiveOverestimationSize_ ) VULKAN_HPP_NOEXCEPT
55604  {
55605  extendedDynamicState3ExtraPrimitiveOverestimationSize = extendedDynamicState3ExtraPrimitiveOverestimationSize_;
55606  return *this;
55607  }
55608 
55611  {
55612  extendedDynamicState3DepthClipEnable = extendedDynamicState3DepthClipEnable_;
55613  return *this;
55614  }
55615 
55618  {
55619  extendedDynamicState3SampleLocationsEnable = extendedDynamicState3SampleLocationsEnable_;
55620  return *this;
55621  }
55622 
55625  {
55626  extendedDynamicState3ColorBlendAdvanced = extendedDynamicState3ColorBlendAdvanced_;
55627  return *this;
55628  }
55629 
55632  {
55633  extendedDynamicState3ProvokingVertexMode = extendedDynamicState3ProvokingVertexMode_;
55634  return *this;
55635  }
55636 
55639  {
55640  extendedDynamicState3LineRasterizationMode = extendedDynamicState3LineRasterizationMode_;
55641  return *this;
55642  }
55643 
55646  {
55647  extendedDynamicState3LineStippleEnable = extendedDynamicState3LineStippleEnable_;
55648  return *this;
55649  }
55650 
55653  {
55654  extendedDynamicState3DepthClipNegativeOneToOne = extendedDynamicState3DepthClipNegativeOneToOne_;
55655  return *this;
55656  }
55657 
55660  {
55661  extendedDynamicState3ViewportWScalingEnable = extendedDynamicState3ViewportWScalingEnable_;
55662  return *this;
55663  }
55664 
55667  {
55668  extendedDynamicState3ViewportSwizzle = extendedDynamicState3ViewportSwizzle_;
55669  return *this;
55670  }
55671 
55674  {
55675  extendedDynamicState3CoverageToColorEnable = extendedDynamicState3CoverageToColorEnable_;
55676  return *this;
55677  }
55678 
55681  {
55682  extendedDynamicState3CoverageToColorLocation = extendedDynamicState3CoverageToColorLocation_;
55683  return *this;
55684  }
55685 
55688  {
55689  extendedDynamicState3CoverageModulationMode = extendedDynamicState3CoverageModulationMode_;
55690  return *this;
55691  }
55692 
55694  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3CoverageModulationTableEnable_ ) VULKAN_HPP_NOEXCEPT
55695  {
55696  extendedDynamicState3CoverageModulationTableEnable = extendedDynamicState3CoverageModulationTableEnable_;
55697  return *this;
55698  }
55699 
55702  {
55703  extendedDynamicState3CoverageModulationTable = extendedDynamicState3CoverageModulationTable_;
55704  return *this;
55705  }
55706 
55709  {
55710  extendedDynamicState3CoverageReductionMode = extendedDynamicState3CoverageReductionMode_;
55711  return *this;
55712  }
55713 
55715  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3RepresentativeFragmentTestEnable_ ) VULKAN_HPP_NOEXCEPT
55716  {
55717  extendedDynamicState3RepresentativeFragmentTestEnable = extendedDynamicState3RepresentativeFragmentTestEnable_;
55718  return *this;
55719  }
55720 
55723  {
55724  extendedDynamicState3ShadingRateImageEnable = extendedDynamicState3ShadingRateImageEnable_;
55725  return *this;
55726  }
55727 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
55728 
55730  {
55731  return *reinterpret_cast<const VkPhysicalDeviceExtendedDynamicState3FeaturesEXT *>( this );
55732  }
55733 
55735  {
55736  return *reinterpret_cast<VkPhysicalDeviceExtendedDynamicState3FeaturesEXT *>( this );
55737  }
55738 
55739 #if defined( VULKAN_HPP_USE_REFLECT )
55740 # if 14 <= VULKAN_HPP_CPP_VERSION
55741  auto
55742 # else
55743  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
55744  void * const &,
55776 # endif
55777  reflect() const VULKAN_HPP_NOEXCEPT
55778  {
55779  return std::tie( sType,
55780  pNext,
55781  extendedDynamicState3TessellationDomainOrigin,
55782  extendedDynamicState3DepthClampEnable,
55783  extendedDynamicState3PolygonMode,
55784  extendedDynamicState3RasterizationSamples,
55785  extendedDynamicState3SampleMask,
55786  extendedDynamicState3AlphaToCoverageEnable,
55787  extendedDynamicState3AlphaToOneEnable,
55788  extendedDynamicState3LogicOpEnable,
55789  extendedDynamicState3ColorBlendEnable,
55790  extendedDynamicState3ColorBlendEquation,
55791  extendedDynamicState3ColorWriteMask,
55792  extendedDynamicState3RasterizationStream,
55793  extendedDynamicState3ConservativeRasterizationMode,
55794  extendedDynamicState3ExtraPrimitiveOverestimationSize,
55795  extendedDynamicState3DepthClipEnable,
55796  extendedDynamicState3SampleLocationsEnable,
55797  extendedDynamicState3ColorBlendAdvanced,
55798  extendedDynamicState3ProvokingVertexMode,
55799  extendedDynamicState3LineRasterizationMode,
55800  extendedDynamicState3LineStippleEnable,
55801  extendedDynamicState3DepthClipNegativeOneToOne,
55802  extendedDynamicState3ViewportWScalingEnable,
55803  extendedDynamicState3ViewportSwizzle,
55804  extendedDynamicState3CoverageToColorEnable,
55805  extendedDynamicState3CoverageToColorLocation,
55806  extendedDynamicState3CoverageModulationMode,
55807  extendedDynamicState3CoverageModulationTableEnable,
55808  extendedDynamicState3CoverageModulationTable,
55809  extendedDynamicState3CoverageReductionMode,
55810  extendedDynamicState3RepresentativeFragmentTestEnable,
55811  extendedDynamicState3ShadingRateImageEnable );
55812  }
55813 #endif
55814 
55815 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
55816  auto operator<=>( PhysicalDeviceExtendedDynamicState3FeaturesEXT const & ) const = default;
55817 #else
55819  {
55820 # if defined( VULKAN_HPP_USE_REFLECT )
55821  return this->reflect() == rhs.reflect();
55822 # else
55823  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
55824  ( extendedDynamicState3TessellationDomainOrigin == rhs.extendedDynamicState3TessellationDomainOrigin ) &&
55825  ( extendedDynamicState3DepthClampEnable == rhs.extendedDynamicState3DepthClampEnable ) &&
55826  ( extendedDynamicState3PolygonMode == rhs.extendedDynamicState3PolygonMode ) &&
55827  ( extendedDynamicState3RasterizationSamples == rhs.extendedDynamicState3RasterizationSamples ) &&
55828  ( extendedDynamicState3SampleMask == rhs.extendedDynamicState3SampleMask ) &&
55829  ( extendedDynamicState3AlphaToCoverageEnable == rhs.extendedDynamicState3AlphaToCoverageEnable ) &&
55830  ( extendedDynamicState3AlphaToOneEnable == rhs.extendedDynamicState3AlphaToOneEnable ) &&
55831  ( extendedDynamicState3LogicOpEnable == rhs.extendedDynamicState3LogicOpEnable ) &&
55832  ( extendedDynamicState3ColorBlendEnable == rhs.extendedDynamicState3ColorBlendEnable ) &&
55833  ( extendedDynamicState3ColorBlendEquation == rhs.extendedDynamicState3ColorBlendEquation ) &&
55834  ( extendedDynamicState3ColorWriteMask == rhs.extendedDynamicState3ColorWriteMask ) &&
55835  ( extendedDynamicState3RasterizationStream == rhs.extendedDynamicState3RasterizationStream ) &&
55836  ( extendedDynamicState3ConservativeRasterizationMode == rhs.extendedDynamicState3ConservativeRasterizationMode ) &&
55837  ( extendedDynamicState3ExtraPrimitiveOverestimationSize == rhs.extendedDynamicState3ExtraPrimitiveOverestimationSize ) &&
55838  ( extendedDynamicState3DepthClipEnable == rhs.extendedDynamicState3DepthClipEnable ) &&
55839  ( extendedDynamicState3SampleLocationsEnable == rhs.extendedDynamicState3SampleLocationsEnable ) &&
55840  ( extendedDynamicState3ColorBlendAdvanced == rhs.extendedDynamicState3ColorBlendAdvanced ) &&
55841  ( extendedDynamicState3ProvokingVertexMode == rhs.extendedDynamicState3ProvokingVertexMode ) &&
55842  ( extendedDynamicState3LineRasterizationMode == rhs.extendedDynamicState3LineRasterizationMode ) &&
55843  ( extendedDynamicState3LineStippleEnable == rhs.extendedDynamicState3LineStippleEnable ) &&
55844  ( extendedDynamicState3DepthClipNegativeOneToOne == rhs.extendedDynamicState3DepthClipNegativeOneToOne ) &&
55845  ( extendedDynamicState3ViewportWScalingEnable == rhs.extendedDynamicState3ViewportWScalingEnable ) &&
55846  ( extendedDynamicState3ViewportSwizzle == rhs.extendedDynamicState3ViewportSwizzle ) &&
55847  ( extendedDynamicState3CoverageToColorEnable == rhs.extendedDynamicState3CoverageToColorEnable ) &&
55848  ( extendedDynamicState3CoverageToColorLocation == rhs.extendedDynamicState3CoverageToColorLocation ) &&
55849  ( extendedDynamicState3CoverageModulationMode == rhs.extendedDynamicState3CoverageModulationMode ) &&
55850  ( extendedDynamicState3CoverageModulationTableEnable == rhs.extendedDynamicState3CoverageModulationTableEnable ) &&
55851  ( extendedDynamicState3CoverageModulationTable == rhs.extendedDynamicState3CoverageModulationTable ) &&
55852  ( extendedDynamicState3CoverageReductionMode == rhs.extendedDynamicState3CoverageReductionMode ) &&
55853  ( extendedDynamicState3RepresentativeFragmentTestEnable == rhs.extendedDynamicState3RepresentativeFragmentTestEnable ) &&
55854  ( extendedDynamicState3ShadingRateImageEnable == rhs.extendedDynamicState3ShadingRateImageEnable );
55855 # endif
55856  }
55857 
55859  {
55860  return !operator==( rhs );
55861  }
55862 #endif
55863 
55864  public:
55865  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceExtendedDynamicState3FeaturesEXT;
55866  void * pNext = {};
55867  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3TessellationDomainOrigin = {};
55868  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3DepthClampEnable = {};
55869  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3PolygonMode = {};
55870  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3RasterizationSamples = {};
55871  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3SampleMask = {};
55872  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3AlphaToCoverageEnable = {};
55873  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3AlphaToOneEnable = {};
55874  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3LogicOpEnable = {};
55875  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ColorBlendEnable = {};
55876  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ColorBlendEquation = {};
55877  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ColorWriteMask = {};
55878  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3RasterizationStream = {};
55879  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ConservativeRasterizationMode = {};
55880  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ExtraPrimitiveOverestimationSize = {};
55881  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3DepthClipEnable = {};
55882  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3SampleLocationsEnable = {};
55883  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ColorBlendAdvanced = {};
55884  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ProvokingVertexMode = {};
55885  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3LineRasterizationMode = {};
55886  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3LineStippleEnable = {};
55887  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3DepthClipNegativeOneToOne = {};
55888  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ViewportWScalingEnable = {};
55889  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ViewportSwizzle = {};
55890  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3CoverageToColorEnable = {};
55891  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3CoverageToColorLocation = {};
55892  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3CoverageModulationMode = {};
55893  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3CoverageModulationTableEnable = {};
55894  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3CoverageModulationTable = {};
55895  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3CoverageReductionMode = {};
55896  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3RepresentativeFragmentTestEnable = {};
55897  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ShadingRateImageEnable = {};
55898  };
55899 
55900  template <>
55902  {
55904  };
55905 
55907  {
55909 
55910  static const bool allowDuplicate = false;
55911  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceExtendedDynamicState3PropertiesEXT;
55912 
55913 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
55915  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
55916  : pNext( pNext_ )
55917  , dynamicPrimitiveTopologyUnrestricted( dynamicPrimitiveTopologyUnrestricted_ )
55918  {
55919  }
55920 
55922  PhysicalDeviceExtendedDynamicState3PropertiesEXT( PhysicalDeviceExtendedDynamicState3PropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
55923 
55925  : PhysicalDeviceExtendedDynamicState3PropertiesEXT( *reinterpret_cast<PhysicalDeviceExtendedDynamicState3PropertiesEXT const *>( &rhs ) )
55926  {
55927  }
55928 
55930 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
55931 
55933  {
55934  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceExtendedDynamicState3PropertiesEXT const *>( &rhs );
55935  return *this;
55936  }
55937 
55938 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
55940  {
55941  pNext = pNext_;
55942  return *this;
55943  }
55944 
55947  {
55948  dynamicPrimitiveTopologyUnrestricted = dynamicPrimitiveTopologyUnrestricted_;
55949  return *this;
55950  }
55951 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
55952 
55954  {
55955  return *reinterpret_cast<const VkPhysicalDeviceExtendedDynamicState3PropertiesEXT *>( this );
55956  }
55957 
55959  {
55960  return *reinterpret_cast<VkPhysicalDeviceExtendedDynamicState3PropertiesEXT *>( this );
55961  }
55962 
55963 #if defined( VULKAN_HPP_USE_REFLECT )
55964 # if 14 <= VULKAN_HPP_CPP_VERSION
55965  auto
55966 # else
55967  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
55968 # endif
55969  reflect() const VULKAN_HPP_NOEXCEPT
55970  {
55971  return std::tie( sType, pNext, dynamicPrimitiveTopologyUnrestricted );
55972  }
55973 #endif
55974 
55975 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
55976  auto operator<=>( PhysicalDeviceExtendedDynamicState3PropertiesEXT const & ) const = default;
55977 #else
55979  {
55980 # if defined( VULKAN_HPP_USE_REFLECT )
55981  return this->reflect() == rhs.reflect();
55982 # else
55983  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( dynamicPrimitiveTopologyUnrestricted == rhs.dynamicPrimitiveTopologyUnrestricted );
55984 # endif
55985  }
55986 
55988  {
55989  return !operator==( rhs );
55990  }
55991 #endif
55992 
55993  public:
55994  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceExtendedDynamicState3PropertiesEXT;
55995  void * pNext = {};
55996  VULKAN_HPP_NAMESPACE::Bool32 dynamicPrimitiveTopologyUnrestricted = {};
55997  };
55998 
55999  template <>
56001  {
56003  };
56004 
56006  {
56008 
56009  static const bool allowDuplicate = false;
56010  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceExtendedDynamicStateFeaturesEXT;
56011 
56012 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
56014  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
56015  : pNext( pNext_ )
56016  , extendedDynamicState( extendedDynamicState_ )
56017  {
56018  }
56019 
56021  PhysicalDeviceExtendedDynamicStateFeaturesEXT( PhysicalDeviceExtendedDynamicStateFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
56022 
56024  : PhysicalDeviceExtendedDynamicStateFeaturesEXT( *reinterpret_cast<PhysicalDeviceExtendedDynamicStateFeaturesEXT const *>( &rhs ) )
56025  {
56026  }
56027 
56029 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
56030 
56032  {
56033  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceExtendedDynamicStateFeaturesEXT const *>( &rhs );
56034  return *this;
56035  }
56036 
56037 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
56039  {
56040  pNext = pNext_;
56041  return *this;
56042  }
56043 
56046  {
56047  extendedDynamicState = extendedDynamicState_;
56048  return *this;
56049  }
56050 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
56051 
56053  {
56054  return *reinterpret_cast<const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT *>( this );
56055  }
56056 
56058  {
56059  return *reinterpret_cast<VkPhysicalDeviceExtendedDynamicStateFeaturesEXT *>( this );
56060  }
56061 
56062 #if defined( VULKAN_HPP_USE_REFLECT )
56063 # if 14 <= VULKAN_HPP_CPP_VERSION
56064  auto
56065 # else
56066  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
56067 # endif
56068  reflect() const VULKAN_HPP_NOEXCEPT
56069  {
56070  return std::tie( sType, pNext, extendedDynamicState );
56071  }
56072 #endif
56073 
56074 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
56075  auto operator<=>( PhysicalDeviceExtendedDynamicStateFeaturesEXT const & ) const = default;
56076 #else
56078  {
56079 # if defined( VULKAN_HPP_USE_REFLECT )
56080  return this->reflect() == rhs.reflect();
56081 # else
56082  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( extendedDynamicState == rhs.extendedDynamicState );
56083 # endif
56084  }
56085 
56087  {
56088  return !operator==( rhs );
56089  }
56090 #endif
56091 
56092  public:
56093  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceExtendedDynamicStateFeaturesEXT;
56094  void * pNext = {};
56095  VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState = {};
56096  };
56097 
56098  template <>
56100  {
56102  };
56103 
56105  {
56107 
56108  static const bool allowDuplicate = false;
56109  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceExternalBufferInfo;
56110 
56111 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
56116  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
56117  : pNext( pNext_ )
56118  , flags( flags_ )
56119  , usage( usage_ )
56120  , handleType( handleType_ )
56121  {
56122  }
56123 
56124  VULKAN_HPP_CONSTEXPR PhysicalDeviceExternalBufferInfo( PhysicalDeviceExternalBufferInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
56125 
56127  : PhysicalDeviceExternalBufferInfo( *reinterpret_cast<PhysicalDeviceExternalBufferInfo const *>( &rhs ) )
56128  {
56129  }
56130 
56132 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
56133 
56135  {
56136  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalBufferInfo const *>( &rhs );
56137  return *this;
56138  }
56139 
56140 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
56142  {
56143  pNext = pNext_;
56144  return *this;
56145  }
56146 
56148  {
56149  flags = flags_;
56150  return *this;
56151  }
56152 
56154  {
56155  usage = usage_;
56156  return *this;
56157  }
56158 
56161  {
56162  handleType = handleType_;
56163  return *this;
56164  }
56165 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
56166 
56168  {
56169  return *reinterpret_cast<const VkPhysicalDeviceExternalBufferInfo *>( this );
56170  }
56171 
56173  {
56174  return *reinterpret_cast<VkPhysicalDeviceExternalBufferInfo *>( this );
56175  }
56176 
56177 #if defined( VULKAN_HPP_USE_REFLECT )
56178 # if 14 <= VULKAN_HPP_CPP_VERSION
56179  auto
56180 # else
56181  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
56182  const void * const &,
56186 # endif
56187  reflect() const VULKAN_HPP_NOEXCEPT
56188  {
56189  return std::tie( sType, pNext, flags, usage, handleType );
56190  }
56191 #endif
56192 
56193 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
56194  auto operator<=>( PhysicalDeviceExternalBufferInfo const & ) const = default;
56195 #else
56197  {
56198 # if defined( VULKAN_HPP_USE_REFLECT )
56199  return this->reflect() == rhs.reflect();
56200 # else
56201  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( usage == rhs.usage ) && ( handleType == rhs.handleType );
56202 # endif
56203  }
56204 
56206  {
56207  return !operator==( rhs );
56208  }
56209 #endif
56210 
56211  public:
56212  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceExternalBufferInfo;
56213  const void * pNext = {};
56217  };
56218 
56219  template <>
56221  {
56223  };
56225 
56227  {
56229 
56230  static const bool allowDuplicate = false;
56231  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceExternalFenceInfo;
56232 
56233 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
56236  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
56237  : pNext( pNext_ )
56238  , handleType( handleType_ )
56239  {
56240  }
56241 
56243 
56245  : PhysicalDeviceExternalFenceInfo( *reinterpret_cast<PhysicalDeviceExternalFenceInfo const *>( &rhs ) )
56246  {
56247  }
56248 
56250 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
56251 
56253  {
56254  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalFenceInfo const *>( &rhs );
56255  return *this;
56256  }
56257 
56258 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
56260  {
56261  pNext = pNext_;
56262  return *this;
56263  }
56264 
56267  {
56268  handleType = handleType_;
56269  return *this;
56270  }
56271 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
56272 
56274  {
56275  return *reinterpret_cast<const VkPhysicalDeviceExternalFenceInfo *>( this );
56276  }
56277 
56279  {
56280  return *reinterpret_cast<VkPhysicalDeviceExternalFenceInfo *>( this );
56281  }
56282 
56283 #if defined( VULKAN_HPP_USE_REFLECT )
56284 # if 14 <= VULKAN_HPP_CPP_VERSION
56285  auto
56286 # else
56287  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits const &>
56288 # endif
56289  reflect() const VULKAN_HPP_NOEXCEPT
56290  {
56291  return std::tie( sType, pNext, handleType );
56292  }
56293 #endif
56294 
56295 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
56296  auto operator<=>( PhysicalDeviceExternalFenceInfo const & ) const = default;
56297 #else
56299  {
56300 # if defined( VULKAN_HPP_USE_REFLECT )
56301  return this->reflect() == rhs.reflect();
56302 # else
56303  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( handleType == rhs.handleType );
56304 # endif
56305  }
56306 
56308  {
56309  return !operator==( rhs );
56310  }
56311 #endif
56312 
56313  public:
56314  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceExternalFenceInfo;
56315  const void * pNext = {};
56317  };
56318 
56319  template <>
56321  {
56323  };
56325 
56327  {
56329 
56330  static const bool allowDuplicate = false;
56331  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceExternalImageFormatInfo;
56332 
56333 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
56336  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
56337  : pNext( pNext_ )
56338  , handleType( handleType_ )
56339  {
56340  }
56341 
56343 
56345  : PhysicalDeviceExternalImageFormatInfo( *reinterpret_cast<PhysicalDeviceExternalImageFormatInfo const *>( &rhs ) )
56346  {
56347  }
56348 
56350 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
56351 
56353  {
56354  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalImageFormatInfo const *>( &rhs );
56355  return *this;
56356  }
56357 
56358 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
56360  {
56361  pNext = pNext_;
56362  return *this;
56363  }
56364 
56367  {
56368  handleType = handleType_;
56369  return *this;
56370  }
56371 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
56372 
56374  {
56375  return *reinterpret_cast<const VkPhysicalDeviceExternalImageFormatInfo *>( this );
56376  }
56377 
56379  {
56380  return *reinterpret_cast<VkPhysicalDeviceExternalImageFormatInfo *>( this );
56381  }
56382 
56383 #if defined( VULKAN_HPP_USE_REFLECT )
56384 # if 14 <= VULKAN_HPP_CPP_VERSION
56385  auto
56386 # else
56387  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits const &>
56388 # endif
56389  reflect() const VULKAN_HPP_NOEXCEPT
56390  {
56391  return std::tie( sType, pNext, handleType );
56392  }
56393 #endif
56394 
56395 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
56396  auto operator<=>( PhysicalDeviceExternalImageFormatInfo const & ) const = default;
56397 #else
56399  {
56400 # if defined( VULKAN_HPP_USE_REFLECT )
56401  return this->reflect() == rhs.reflect();
56402 # else
56403  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( handleType == rhs.handleType );
56404 # endif
56405  }
56406 
56408  {
56409  return !operator==( rhs );
56410  }
56411 #endif
56412 
56413  public:
56414  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceExternalImageFormatInfo;
56415  const void * pNext = {};
56417  };
56418 
56419  template <>
56421  {
56423  };
56425 
56427  {
56429 
56430  static const bool allowDuplicate = false;
56431  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceExternalMemoryHostPropertiesEXT;
56432 
56433 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
56435  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
56436  : pNext( pNext_ )
56437  , minImportedHostPointerAlignment( minImportedHostPointerAlignment_ )
56438  {
56439  }
56440 
56442  PhysicalDeviceExternalMemoryHostPropertiesEXT( PhysicalDeviceExternalMemoryHostPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
56443 
56445  : PhysicalDeviceExternalMemoryHostPropertiesEXT( *reinterpret_cast<PhysicalDeviceExternalMemoryHostPropertiesEXT const *>( &rhs ) )
56446  {
56447  }
56448 
56450 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
56451 
56453  {
56454  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalMemoryHostPropertiesEXT const *>( &rhs );
56455  return *this;
56456  }
56457 
56459  {
56460  return *reinterpret_cast<const VkPhysicalDeviceExternalMemoryHostPropertiesEXT *>( this );
56461  }
56462 
56464  {
56465  return *reinterpret_cast<VkPhysicalDeviceExternalMemoryHostPropertiesEXT *>( this );
56466  }
56467 
56468 #if defined( VULKAN_HPP_USE_REFLECT )
56469 # if 14 <= VULKAN_HPP_CPP_VERSION
56470  auto
56471 # else
56472  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::DeviceSize const &>
56473 # endif
56474  reflect() const VULKAN_HPP_NOEXCEPT
56475  {
56476  return std::tie( sType, pNext, minImportedHostPointerAlignment );
56477  }
56478 #endif
56479 
56480 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
56481  auto operator<=>( PhysicalDeviceExternalMemoryHostPropertiesEXT const & ) const = default;
56482 #else
56484  {
56485 # if defined( VULKAN_HPP_USE_REFLECT )
56486  return this->reflect() == rhs.reflect();
56487 # else
56488  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( minImportedHostPointerAlignment == rhs.minImportedHostPointerAlignment );
56489 # endif
56490  }
56491 
56493  {
56494  return !operator==( rhs );
56495  }
56496 #endif
56497 
56498  public:
56499  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceExternalMemoryHostPropertiesEXT;
56500  void * pNext = {};
56501  VULKAN_HPP_NAMESPACE::DeviceSize minImportedHostPointerAlignment = {};
56502  };
56503 
56504  template <>
56506  {
56508  };
56509 
56511  {
56513 
56514  static const bool allowDuplicate = false;
56515  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceExternalMemoryRdmaFeaturesNV;
56516 
56517 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
56519  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
56520  : pNext( pNext_ )
56521  , externalMemoryRDMA( externalMemoryRDMA_ )
56522  {
56523  }
56524 
56525  VULKAN_HPP_CONSTEXPR PhysicalDeviceExternalMemoryRDMAFeaturesNV( PhysicalDeviceExternalMemoryRDMAFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
56526 
56528  : PhysicalDeviceExternalMemoryRDMAFeaturesNV( *reinterpret_cast<PhysicalDeviceExternalMemoryRDMAFeaturesNV const *>( &rhs ) )
56529  {
56530  }
56531 
56533 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
56534 
56536  {
56537  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalMemoryRDMAFeaturesNV const *>( &rhs );
56538  return *this;
56539  }
56540 
56541 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
56543  {
56544  pNext = pNext_;
56545  return *this;
56546  }
56547 
56550  {
56551  externalMemoryRDMA = externalMemoryRDMA_;
56552  return *this;
56553  }
56554 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
56555 
56557  {
56558  return *reinterpret_cast<const VkPhysicalDeviceExternalMemoryRDMAFeaturesNV *>( this );
56559  }
56560 
56562  {
56563  return *reinterpret_cast<VkPhysicalDeviceExternalMemoryRDMAFeaturesNV *>( this );
56564  }
56565 
56566 #if defined( VULKAN_HPP_USE_REFLECT )
56567 # if 14 <= VULKAN_HPP_CPP_VERSION
56568  auto
56569 # else
56570  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
56571 # endif
56572  reflect() const VULKAN_HPP_NOEXCEPT
56573  {
56574  return std::tie( sType, pNext, externalMemoryRDMA );
56575  }
56576 #endif
56577 
56578 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
56579  auto operator<=>( PhysicalDeviceExternalMemoryRDMAFeaturesNV const & ) const = default;
56580 #else
56582  {
56583 # if defined( VULKAN_HPP_USE_REFLECT )
56584  return this->reflect() == rhs.reflect();
56585 # else
56586  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( externalMemoryRDMA == rhs.externalMemoryRDMA );
56587 # endif
56588  }
56589 
56591  {
56592  return !operator==( rhs );
56593  }
56594 #endif
56595 
56596  public:
56597  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceExternalMemoryRdmaFeaturesNV;
56598  void * pNext = {};
56599  VULKAN_HPP_NAMESPACE::Bool32 externalMemoryRDMA = {};
56600  };
56601 
56602  template <>
56604  {
56606  };
56607 
56609  {
56611 
56612  static const bool allowDuplicate = false;
56613  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceExternalSemaphoreInfo;
56614 
56615 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
56618  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
56619  : pNext( pNext_ )
56620  , handleType( handleType_ )
56621  {
56622  }
56623 
56625 
56627  : PhysicalDeviceExternalSemaphoreInfo( *reinterpret_cast<PhysicalDeviceExternalSemaphoreInfo const *>( &rhs ) )
56628  {
56629  }
56630 
56632 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
56633 
56635  {
56636  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo const *>( &rhs );
56637  return *this;
56638  }
56639 
56640 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
56642  {
56643  pNext = pNext_;
56644  return *this;
56645  }
56646 
56649  {
56650  handleType = handleType_;
56651  return *this;
56652  }
56653 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
56654 
56656  {
56657  return *reinterpret_cast<const VkPhysicalDeviceExternalSemaphoreInfo *>( this );
56658  }
56659 
56661  {
56662  return *reinterpret_cast<VkPhysicalDeviceExternalSemaphoreInfo *>( this );
56663  }
56664 
56665 #if defined( VULKAN_HPP_USE_REFLECT )
56666 # if 14 <= VULKAN_HPP_CPP_VERSION
56667  auto
56668 # else
56669  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits const &>
56670 # endif
56671  reflect() const VULKAN_HPP_NOEXCEPT
56672  {
56673  return std::tie( sType, pNext, handleType );
56674  }
56675 #endif
56676 
56677 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
56678  auto operator<=>( PhysicalDeviceExternalSemaphoreInfo const & ) const = default;
56679 #else
56681  {
56682 # if defined( VULKAN_HPP_USE_REFLECT )
56683  return this->reflect() == rhs.reflect();
56684 # else
56685  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( handleType == rhs.handleType );
56686 # endif
56687  }
56688 
56690  {
56691  return !operator==( rhs );
56692  }
56693 #endif
56694 
56695  public:
56696  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceExternalSemaphoreInfo;
56697  const void * pNext = {};
56699  };
56700 
56701  template <>
56703  {
56705  };
56707 
56709  {
56711 
56712  static const bool allowDuplicate = false;
56713  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceFaultFeaturesEXT;
56714 
56715 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
56717  VULKAN_HPP_NAMESPACE::Bool32 deviceFaultVendorBinary_ = {},
56718  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
56719  : pNext( pNext_ )
56720  , deviceFault( deviceFault_ )
56721  , deviceFaultVendorBinary( deviceFaultVendorBinary_ )
56722  {
56723  }
56724 
56725  VULKAN_HPP_CONSTEXPR PhysicalDeviceFaultFeaturesEXT( PhysicalDeviceFaultFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
56726 
56728  : PhysicalDeviceFaultFeaturesEXT( *reinterpret_cast<PhysicalDeviceFaultFeaturesEXT const *>( &rhs ) )
56729  {
56730  }
56731 
56733 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
56734 
56736  {
56737  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceFaultFeaturesEXT const *>( &rhs );
56738  return *this;
56739  }
56740 
56741 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
56743  {
56744  pNext = pNext_;
56745  return *this;
56746  }
56747 
56749  {
56750  deviceFault = deviceFault_;
56751  return *this;
56752  }
56753 
56756  {
56757  deviceFaultVendorBinary = deviceFaultVendorBinary_;
56758  return *this;
56759  }
56760 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
56761 
56763  {
56764  return *reinterpret_cast<const VkPhysicalDeviceFaultFeaturesEXT *>( this );
56765  }
56766 
56768  {
56769  return *reinterpret_cast<VkPhysicalDeviceFaultFeaturesEXT *>( this );
56770  }
56771 
56772 #if defined( VULKAN_HPP_USE_REFLECT )
56773 # if 14 <= VULKAN_HPP_CPP_VERSION
56774  auto
56775 # else
56776  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
56777 # endif
56778  reflect() const VULKAN_HPP_NOEXCEPT
56779  {
56780  return std::tie( sType, pNext, deviceFault, deviceFaultVendorBinary );
56781  }
56782 #endif
56783 
56784 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
56785  auto operator<=>( PhysicalDeviceFaultFeaturesEXT const & ) const = default;
56786 #else
56788  {
56789 # if defined( VULKAN_HPP_USE_REFLECT )
56790  return this->reflect() == rhs.reflect();
56791 # else
56792  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( deviceFault == rhs.deviceFault ) &&
56793  ( deviceFaultVendorBinary == rhs.deviceFaultVendorBinary );
56794 # endif
56795  }
56796 
56798  {
56799  return !operator==( rhs );
56800  }
56801 #endif
56802 
56803  public:
56804  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceFaultFeaturesEXT;
56805  void * pNext = {};
56807  VULKAN_HPP_NAMESPACE::Bool32 deviceFaultVendorBinary = {};
56808  };
56809 
56810  template <>
56812  {
56814  };
56815 
56817  {
56819 
56820  static const bool allowDuplicate = false;
56821  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceFeatures2;
56822 
56823 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
56825  : pNext( pNext_ )
56826  , features( features_ )
56827  {
56828  }
56829 
56830  VULKAN_HPP_CONSTEXPR PhysicalDeviceFeatures2( PhysicalDeviceFeatures2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
56831 
56833  : PhysicalDeviceFeatures2( *reinterpret_cast<PhysicalDeviceFeatures2 const *>( &rhs ) )
56834  {
56835  }
56836 
56837  PhysicalDeviceFeatures2 & operator=( PhysicalDeviceFeatures2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
56838 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
56839 
56841  {
56842  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 const *>( &rhs );
56843  return *this;
56844  }
56845 
56846 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
56848  {
56849  pNext = pNext_;
56850  return *this;
56851  }
56852 
56854  {
56855  features = features_;
56856  return *this;
56857  }
56858 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
56859 
56861  {
56862  return *reinterpret_cast<const VkPhysicalDeviceFeatures2 *>( this );
56863  }
56864 
56866  {
56867  return *reinterpret_cast<VkPhysicalDeviceFeatures2 *>( this );
56868  }
56869 
56870 #if defined( VULKAN_HPP_USE_REFLECT )
56871 # if 14 <= VULKAN_HPP_CPP_VERSION
56872  auto
56873 # else
56874  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures const &>
56875 # endif
56876  reflect() const VULKAN_HPP_NOEXCEPT
56877  {
56878  return std::tie( sType, pNext, features );
56879  }
56880 #endif
56881 
56882 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
56883  auto operator<=>( PhysicalDeviceFeatures2 const & ) const = default;
56884 #else
56886  {
56887 # if defined( VULKAN_HPP_USE_REFLECT )
56888  return this->reflect() == rhs.reflect();
56889 # else
56890  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( features == rhs.features );
56891 # endif
56892  }
56893 
56895  {
56896  return !operator==( rhs );
56897  }
56898 #endif
56899 
56900  public:
56901  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceFeatures2;
56902  void * pNext = {};
56904  };
56905 
56906  template <>
56908  {
56910  };
56912 
56914  {
56916 
56917  static const bool allowDuplicate = false;
56918  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceFloatControlsProperties;
56919 
56920 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
56924  VULKAN_HPP_NAMESPACE::Bool32 shaderSignedZeroInfNanPreserveFloat16_ = {},
56925  VULKAN_HPP_NAMESPACE::Bool32 shaderSignedZeroInfNanPreserveFloat32_ = {},
56926  VULKAN_HPP_NAMESPACE::Bool32 shaderSignedZeroInfNanPreserveFloat64_ = {},
56927  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat16_ = {},
56928  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat32_ = {},
56929  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat64_ = {},
56930  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat16_ = {},
56931  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat32_ = {},
56932  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat64_ = {},
56933  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat16_ = {},
56934  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat32_ = {},
56935  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat64_ = {},
56936  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat16_ = {},
56937  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat32_ = {},
56938  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat64_ = {},
56939  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
56940  : pNext( pNext_ )
56941  , denormBehaviorIndependence( denormBehaviorIndependence_ )
56942  , roundingModeIndependence( roundingModeIndependence_ )
56943  , shaderSignedZeroInfNanPreserveFloat16( shaderSignedZeroInfNanPreserveFloat16_ )
56944  , shaderSignedZeroInfNanPreserveFloat32( shaderSignedZeroInfNanPreserveFloat32_ )
56945  , shaderSignedZeroInfNanPreserveFloat64( shaderSignedZeroInfNanPreserveFloat64_ )
56946  , shaderDenormPreserveFloat16( shaderDenormPreserveFloat16_ )
56947  , shaderDenormPreserveFloat32( shaderDenormPreserveFloat32_ )
56948  , shaderDenormPreserveFloat64( shaderDenormPreserveFloat64_ )
56949  , shaderDenormFlushToZeroFloat16( shaderDenormFlushToZeroFloat16_ )
56950  , shaderDenormFlushToZeroFloat32( shaderDenormFlushToZeroFloat32_ )
56951  , shaderDenormFlushToZeroFloat64( shaderDenormFlushToZeroFloat64_ )
56952  , shaderRoundingModeRTEFloat16( shaderRoundingModeRTEFloat16_ )
56953  , shaderRoundingModeRTEFloat32( shaderRoundingModeRTEFloat32_ )
56954  , shaderRoundingModeRTEFloat64( shaderRoundingModeRTEFloat64_ )
56955  , shaderRoundingModeRTZFloat16( shaderRoundingModeRTZFloat16_ )
56956  , shaderRoundingModeRTZFloat32( shaderRoundingModeRTZFloat32_ )
56957  , shaderRoundingModeRTZFloat64( shaderRoundingModeRTZFloat64_ )
56958  {
56959  }
56960 
56961  VULKAN_HPP_CONSTEXPR PhysicalDeviceFloatControlsProperties( PhysicalDeviceFloatControlsProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
56962 
56964  : PhysicalDeviceFloatControlsProperties( *reinterpret_cast<PhysicalDeviceFloatControlsProperties const *>( &rhs ) )
56965  {
56966  }
56967 
56969 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
56970 
56972  {
56973  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceFloatControlsProperties const *>( &rhs );
56974  return *this;
56975  }
56976 
56978  {
56979  return *reinterpret_cast<const VkPhysicalDeviceFloatControlsProperties *>( this );
56980  }
56981 
56983  {
56984  return *reinterpret_cast<VkPhysicalDeviceFloatControlsProperties *>( this );
56985  }
56986 
56987 #if defined( VULKAN_HPP_USE_REFLECT )
56988 # if 14 <= VULKAN_HPP_CPP_VERSION
56989  auto
56990 # else
56991  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
56992  void * const &,
57010 # endif
57011  reflect() const VULKAN_HPP_NOEXCEPT
57012  {
57013  return std::tie( sType,
57014  pNext,
57015  denormBehaviorIndependence,
57016  roundingModeIndependence,
57017  shaderSignedZeroInfNanPreserveFloat16,
57018  shaderSignedZeroInfNanPreserveFloat32,
57019  shaderSignedZeroInfNanPreserveFloat64,
57020  shaderDenormPreserveFloat16,
57021  shaderDenormPreserveFloat32,
57022  shaderDenormPreserveFloat64,
57023  shaderDenormFlushToZeroFloat16,
57024  shaderDenormFlushToZeroFloat32,
57025  shaderDenormFlushToZeroFloat64,
57026  shaderRoundingModeRTEFloat16,
57027  shaderRoundingModeRTEFloat32,
57028  shaderRoundingModeRTEFloat64,
57029  shaderRoundingModeRTZFloat16,
57030  shaderRoundingModeRTZFloat32,
57031  shaderRoundingModeRTZFloat64 );
57032  }
57033 #endif
57034 
57035 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
57036  auto operator<=>( PhysicalDeviceFloatControlsProperties const & ) const = default;
57037 #else
57039  {
57040 # if defined( VULKAN_HPP_USE_REFLECT )
57041  return this->reflect() == rhs.reflect();
57042 # else
57043  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( denormBehaviorIndependence == rhs.denormBehaviorIndependence ) &&
57044  ( roundingModeIndependence == rhs.roundingModeIndependence ) &&
57045  ( shaderSignedZeroInfNanPreserveFloat16 == rhs.shaderSignedZeroInfNanPreserveFloat16 ) &&
57046  ( shaderSignedZeroInfNanPreserveFloat32 == rhs.shaderSignedZeroInfNanPreserveFloat32 ) &&
57047  ( shaderSignedZeroInfNanPreserveFloat64 == rhs.shaderSignedZeroInfNanPreserveFloat64 ) &&
57048  ( shaderDenormPreserveFloat16 == rhs.shaderDenormPreserveFloat16 ) && ( shaderDenormPreserveFloat32 == rhs.shaderDenormPreserveFloat32 ) &&
57049  ( shaderDenormPreserveFloat64 == rhs.shaderDenormPreserveFloat64 ) && ( shaderDenormFlushToZeroFloat16 == rhs.shaderDenormFlushToZeroFloat16 ) &&
57050  ( shaderDenormFlushToZeroFloat32 == rhs.shaderDenormFlushToZeroFloat32 ) &&
57051  ( shaderDenormFlushToZeroFloat64 == rhs.shaderDenormFlushToZeroFloat64 ) && ( shaderRoundingModeRTEFloat16 == rhs.shaderRoundingModeRTEFloat16 ) &&
57052  ( shaderRoundingModeRTEFloat32 == rhs.shaderRoundingModeRTEFloat32 ) && ( shaderRoundingModeRTEFloat64 == rhs.shaderRoundingModeRTEFloat64 ) &&
57053  ( shaderRoundingModeRTZFloat16 == rhs.shaderRoundingModeRTZFloat16 ) && ( shaderRoundingModeRTZFloat32 == rhs.shaderRoundingModeRTZFloat32 ) &&
57054  ( shaderRoundingModeRTZFloat64 == rhs.shaderRoundingModeRTZFloat64 );
57055 # endif
57056  }
57057 
57059  {
57060  return !operator==( rhs );
57061  }
57062 #endif
57063 
57064  public:
57065  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceFloatControlsProperties;
57066  void * pNext = {};
57069  VULKAN_HPP_NAMESPACE::Bool32 shaderSignedZeroInfNanPreserveFloat16 = {};
57070  VULKAN_HPP_NAMESPACE::Bool32 shaderSignedZeroInfNanPreserveFloat32 = {};
57071  VULKAN_HPP_NAMESPACE::Bool32 shaderSignedZeroInfNanPreserveFloat64 = {};
57072  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat16 = {};
57073  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat32 = {};
57074  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat64 = {};
57075  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat16 = {};
57076  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat32 = {};
57077  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat64 = {};
57078  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat16 = {};
57079  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat32 = {};
57080  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat64 = {};
57081  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat16 = {};
57082  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat32 = {};
57083  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat64 = {};
57084  };
57085 
57086  template <>
57088  {
57090  };
57092 
57094  {
57096 
57097  static const bool allowDuplicate = false;
57098  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceFragmentDensityMap2FeaturesEXT;
57099 
57100 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
57102  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
57103  : pNext( pNext_ )
57104  , fragmentDensityMapDeferred( fragmentDensityMapDeferred_ )
57105  {
57106  }
57107 
57108  VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentDensityMap2FeaturesEXT( PhysicalDeviceFragmentDensityMap2FeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
57109 
57111  : PhysicalDeviceFragmentDensityMap2FeaturesEXT( *reinterpret_cast<PhysicalDeviceFragmentDensityMap2FeaturesEXT const *>( &rhs ) )
57112  {
57113  }
57114 
57116 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
57117 
57119  {
57120  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMap2FeaturesEXT const *>( &rhs );
57121  return *this;
57122  }
57123 
57124 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
57126  {
57127  pNext = pNext_;
57128  return *this;
57129  }
57130 
57133  {
57134  fragmentDensityMapDeferred = fragmentDensityMapDeferred_;
57135  return *this;
57136  }
57137 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
57138 
57140  {
57141  return *reinterpret_cast<const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT *>( this );
57142  }
57143 
57145  {
57146  return *reinterpret_cast<VkPhysicalDeviceFragmentDensityMap2FeaturesEXT *>( this );
57147  }
57148 
57149 #if defined( VULKAN_HPP_USE_REFLECT )
57150 # if 14 <= VULKAN_HPP_CPP_VERSION
57151  auto
57152 # else
57153  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
57154 # endif
57155  reflect() const VULKAN_HPP_NOEXCEPT
57156  {
57157  return std::tie( sType, pNext, fragmentDensityMapDeferred );
57158  }
57159 #endif
57160 
57161 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
57162  auto operator<=>( PhysicalDeviceFragmentDensityMap2FeaturesEXT const & ) const = default;
57163 #else
57165  {
57166 # if defined( VULKAN_HPP_USE_REFLECT )
57167  return this->reflect() == rhs.reflect();
57168 # else
57169  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( fragmentDensityMapDeferred == rhs.fragmentDensityMapDeferred );
57170 # endif
57171  }
57172 
57174  {
57175  return !operator==( rhs );
57176  }
57177 #endif
57178 
57179  public:
57180  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceFragmentDensityMap2FeaturesEXT;
57181  void * pNext = {};
57182  VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMapDeferred = {};
57183  };
57184 
57185  template <>
57187  {
57189  };
57190 
57192  {
57194 
57195  static const bool allowDuplicate = false;
57196  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceFragmentDensityMap2PropertiesEXT;
57197 
57198 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
57200  VULKAN_HPP_NAMESPACE::Bool32 subsampledCoarseReconstructionEarlyAccess_ = {},
57201  uint32_t maxSubsampledArrayLayers_ = {},
57202  uint32_t maxDescriptorSetSubsampledSamplers_ = {},
57203  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
57204  : pNext( pNext_ )
57205  , subsampledLoads( subsampledLoads_ )
57206  , subsampledCoarseReconstructionEarlyAccess( subsampledCoarseReconstructionEarlyAccess_ )
57207  , maxSubsampledArrayLayers( maxSubsampledArrayLayers_ )
57208  , maxDescriptorSetSubsampledSamplers( maxDescriptorSetSubsampledSamplers_ )
57209  {
57210  }
57211 
57213  PhysicalDeviceFragmentDensityMap2PropertiesEXT( PhysicalDeviceFragmentDensityMap2PropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
57214 
57216  : PhysicalDeviceFragmentDensityMap2PropertiesEXT( *reinterpret_cast<PhysicalDeviceFragmentDensityMap2PropertiesEXT const *>( &rhs ) )
57217  {
57218  }
57219 
57221 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
57222 
57224  {
57225  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMap2PropertiesEXT const *>( &rhs );
57226  return *this;
57227  }
57228 
57230  {
57231  return *reinterpret_cast<const VkPhysicalDeviceFragmentDensityMap2PropertiesEXT *>( this );
57232  }
57233 
57235  {
57236  return *reinterpret_cast<VkPhysicalDeviceFragmentDensityMap2PropertiesEXT *>( this );
57237  }
57238 
57239 #if defined( VULKAN_HPP_USE_REFLECT )
57240 # if 14 <= VULKAN_HPP_CPP_VERSION
57241  auto
57242 # else
57243  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
57244  void * const &,
57247  uint32_t const &,
57248  uint32_t const &>
57249 # endif
57250  reflect() const VULKAN_HPP_NOEXCEPT
57251  {
57252  return std::tie( sType, pNext, subsampledLoads, subsampledCoarseReconstructionEarlyAccess, maxSubsampledArrayLayers, maxDescriptorSetSubsampledSamplers );
57253  }
57254 #endif
57255 
57256 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
57257  auto operator<=>( PhysicalDeviceFragmentDensityMap2PropertiesEXT const & ) const = default;
57258 #else
57260  {
57261 # if defined( VULKAN_HPP_USE_REFLECT )
57262  return this->reflect() == rhs.reflect();
57263 # else
57264  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( subsampledLoads == rhs.subsampledLoads ) &&
57265  ( subsampledCoarseReconstructionEarlyAccess == rhs.subsampledCoarseReconstructionEarlyAccess ) &&
57266  ( maxSubsampledArrayLayers == rhs.maxSubsampledArrayLayers ) && ( maxDescriptorSetSubsampledSamplers == rhs.maxDescriptorSetSubsampledSamplers );
57267 # endif
57268  }
57269 
57271  {
57272  return !operator==( rhs );
57273  }
57274 #endif
57275 
57276  public:
57277  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceFragmentDensityMap2PropertiesEXT;
57278  void * pNext = {};
57279  VULKAN_HPP_NAMESPACE::Bool32 subsampledLoads = {};
57280  VULKAN_HPP_NAMESPACE::Bool32 subsampledCoarseReconstructionEarlyAccess = {};
57281  uint32_t maxSubsampledArrayLayers = {};
57282  uint32_t maxDescriptorSetSubsampledSamplers = {};
57283  };
57284 
57285  template <>
57287  {
57289  };
57290 
57292  {
57294 
57295  static const bool allowDuplicate = false;
57296  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceFragmentDensityMapFeaturesEXT;
57297 
57298 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
57300  VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMapDynamic_ = {},
57301  VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMapNonSubsampledImages_ = {},
57302  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
57303  : pNext( pNext_ )
57304  , fragmentDensityMap( fragmentDensityMap_ )
57305  , fragmentDensityMapDynamic( fragmentDensityMapDynamic_ )
57306  , fragmentDensityMapNonSubsampledImages( fragmentDensityMapNonSubsampledImages_ )
57307  {
57308  }
57309 
57310  VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentDensityMapFeaturesEXT( PhysicalDeviceFragmentDensityMapFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
57311 
57313  : PhysicalDeviceFragmentDensityMapFeaturesEXT( *reinterpret_cast<PhysicalDeviceFragmentDensityMapFeaturesEXT const *>( &rhs ) )
57314  {
57315  }
57316 
57318 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
57319 
57321  {
57322  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMapFeaturesEXT const *>( &rhs );
57323  return *this;
57324  }
57325 
57326 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
57328  {
57329  pNext = pNext_;
57330  return *this;
57331  }
57332 
57335  {
57336  fragmentDensityMap = fragmentDensityMap_;
57337  return *this;
57338  }
57339 
57342  {
57343  fragmentDensityMapDynamic = fragmentDensityMapDynamic_;
57344  return *this;
57345  }
57346 
57349  {
57350  fragmentDensityMapNonSubsampledImages = fragmentDensityMapNonSubsampledImages_;
57351  return *this;
57352  }
57353 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
57354 
57356  {
57357  return *reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapFeaturesEXT *>( this );
57358  }
57359 
57361  {
57362  return *reinterpret_cast<VkPhysicalDeviceFragmentDensityMapFeaturesEXT *>( this );
57363  }
57364 
57365 #if defined( VULKAN_HPP_USE_REFLECT )
57366 # if 14 <= VULKAN_HPP_CPP_VERSION
57367  auto
57368 # else
57369  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
57370  void * const &,
57374 # endif
57375  reflect() const VULKAN_HPP_NOEXCEPT
57376  {
57377  return std::tie( sType, pNext, fragmentDensityMap, fragmentDensityMapDynamic, fragmentDensityMapNonSubsampledImages );
57378  }
57379 #endif
57380 
57381 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
57382  auto operator<=>( PhysicalDeviceFragmentDensityMapFeaturesEXT const & ) const = default;
57383 #else
57385  {
57386 # if defined( VULKAN_HPP_USE_REFLECT )
57387  return this->reflect() == rhs.reflect();
57388 # else
57389  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( fragmentDensityMap == rhs.fragmentDensityMap ) &&
57390  ( fragmentDensityMapDynamic == rhs.fragmentDensityMapDynamic ) &&
57391  ( fragmentDensityMapNonSubsampledImages == rhs.fragmentDensityMapNonSubsampledImages );
57392 # endif
57393  }
57394 
57396  {
57397  return !operator==( rhs );
57398  }
57399 #endif
57400 
57401  public:
57402  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceFragmentDensityMapFeaturesEXT;
57403  void * pNext = {};
57404  VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMap = {};
57405  VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMapDynamic = {};
57406  VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMapNonSubsampledImages = {};
57407  };
57408 
57409  template <>
57411  {
57413  };
57414 
57416  {
57418 
57419  static const bool allowDuplicate = false;
57420  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM;
57421 
57422 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
57424  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
57425  : pNext( pNext_ )
57426  , fragmentDensityMapOffset( fragmentDensityMapOffset_ )
57427  {
57428  }
57429 
57431  PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM( PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default;
57432 
57434  : PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM( *reinterpret_cast<PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM const *>( &rhs ) )
57435  {
57436  }
57437 
57440 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
57441 
57443  {
57444  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM const *>( &rhs );
57445  return *this;
57446  }
57447 
57448 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
57450  {
57451  pNext = pNext_;
57452  return *this;
57453  }
57454 
57457  {
57458  fragmentDensityMapOffset = fragmentDensityMapOffset_;
57459  return *this;
57460  }
57461 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
57462 
57464  {
57465  return *reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM *>( this );
57466  }
57467 
57469  {
57470  return *reinterpret_cast<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM *>( this );
57471  }
57472 
57473 #if defined( VULKAN_HPP_USE_REFLECT )
57474 # if 14 <= VULKAN_HPP_CPP_VERSION
57475  auto
57476 # else
57477  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
57478 # endif
57479  reflect() const VULKAN_HPP_NOEXCEPT
57480  {
57481  return std::tie( sType, pNext, fragmentDensityMapOffset );
57482  }
57483 #endif
57484 
57485 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
57486  auto operator<=>( PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM const & ) const = default;
57487 #else
57489  {
57490 # if defined( VULKAN_HPP_USE_REFLECT )
57491  return this->reflect() == rhs.reflect();
57492 # else
57493  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( fragmentDensityMapOffset == rhs.fragmentDensityMapOffset );
57494 # endif
57495  }
57496 
57498  {
57499  return !operator==( rhs );
57500  }
57501 #endif
57502 
57503  public:
57504  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM;
57505  void * pNext = {};
57506  VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMapOffset = {};
57507  };
57508 
57509  template <>
57511  {
57513  };
57514 
57516  {
57518 
57519  static const bool allowDuplicate = false;
57520  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM;
57521 
57522 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
57524  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
57525  : pNext( pNext_ )
57526  , fragmentDensityOffsetGranularity( fragmentDensityOffsetGranularity_ )
57527  {
57528  }
57529 
57531  PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM( PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default;
57532 
57534  : PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM( *reinterpret_cast<PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM const *>( &rhs ) )
57535  {
57536  }
57537 
57540 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
57541 
57543  {
57544  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM const *>( &rhs );
57545  return *this;
57546  }
57547 
57549  {
57550  return *reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM *>( this );
57551  }
57552 
57554  {
57555  return *reinterpret_cast<VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM *>( this );
57556  }
57557 
57558 #if defined( VULKAN_HPP_USE_REFLECT )
57559 # if 14 <= VULKAN_HPP_CPP_VERSION
57560  auto
57561 # else
57562  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Extent2D const &>
57563 # endif
57564  reflect() const VULKAN_HPP_NOEXCEPT
57565  {
57566  return std::tie( sType, pNext, fragmentDensityOffsetGranularity );
57567  }
57568 #endif
57569 
57570 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
57571  auto operator<=>( PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM const & ) const = default;
57572 #else
57574  {
57575 # if defined( VULKAN_HPP_USE_REFLECT )
57576  return this->reflect() == rhs.reflect();
57577 # else
57578  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( fragmentDensityOffsetGranularity == rhs.fragmentDensityOffsetGranularity );
57579 # endif
57580  }
57581 
57583  {
57584  return !operator==( rhs );
57585  }
57586 #endif
57587 
57588  public:
57589  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM;
57590  void * pNext = {};
57591  VULKAN_HPP_NAMESPACE::Extent2D fragmentDensityOffsetGranularity = {};
57592  };
57593 
57594  template <>
57596  {
57598  };
57599 
57601  {
57603 
57604  static const bool allowDuplicate = false;
57605  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceFragmentDensityMapPropertiesEXT;
57606 
57607 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
57609  VULKAN_HPP_NAMESPACE::Extent2D maxFragmentDensityTexelSize_ = {},
57610  VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityInvocations_ = {},
57611  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
57612  : pNext( pNext_ )
57613  , minFragmentDensityTexelSize( minFragmentDensityTexelSize_ )
57614  , maxFragmentDensityTexelSize( maxFragmentDensityTexelSize_ )
57615  , fragmentDensityInvocations( fragmentDensityInvocations_ )
57616  {
57617  }
57618 
57620  PhysicalDeviceFragmentDensityMapPropertiesEXT( PhysicalDeviceFragmentDensityMapPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
57621 
57623  : PhysicalDeviceFragmentDensityMapPropertiesEXT( *reinterpret_cast<PhysicalDeviceFragmentDensityMapPropertiesEXT const *>( &rhs ) )
57624  {
57625  }
57626 
57628 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
57629 
57631  {
57632  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMapPropertiesEXT const *>( &rhs );
57633  return *this;
57634  }
57635 
57637  {
57638  return *reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapPropertiesEXT *>( this );
57639  }
57640 
57642  {
57643  return *reinterpret_cast<VkPhysicalDeviceFragmentDensityMapPropertiesEXT *>( this );
57644  }
57645 
57646 #if defined( VULKAN_HPP_USE_REFLECT )
57647 # if 14 <= VULKAN_HPP_CPP_VERSION
57648  auto
57649 # else
57650  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
57651  void * const &,
57655 # endif
57656  reflect() const VULKAN_HPP_NOEXCEPT
57657  {
57658  return std::tie( sType, pNext, minFragmentDensityTexelSize, maxFragmentDensityTexelSize, fragmentDensityInvocations );
57659  }
57660 #endif
57661 
57662 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
57663  auto operator<=>( PhysicalDeviceFragmentDensityMapPropertiesEXT const & ) const = default;
57664 #else
57666  {
57667 # if defined( VULKAN_HPP_USE_REFLECT )
57668  return this->reflect() == rhs.reflect();
57669 # else
57670  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( minFragmentDensityTexelSize == rhs.minFragmentDensityTexelSize ) &&
57671  ( maxFragmentDensityTexelSize == rhs.maxFragmentDensityTexelSize ) && ( fragmentDensityInvocations == rhs.fragmentDensityInvocations );
57672 # endif
57673  }
57674 
57676  {
57677  return !operator==( rhs );
57678  }
57679 #endif
57680 
57681  public:
57682  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceFragmentDensityMapPropertiesEXT;
57683  void * pNext = {};
57684  VULKAN_HPP_NAMESPACE::Extent2D minFragmentDensityTexelSize = {};
57685  VULKAN_HPP_NAMESPACE::Extent2D maxFragmentDensityTexelSize = {};
57686  VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityInvocations = {};
57687  };
57688 
57689  template <>
57691  {
57693  };
57694 
57696  {
57698 
57699  static const bool allowDuplicate = false;
57700  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceFragmentShaderBarycentricFeaturesKHR;
57701 
57702 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
57704  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
57705  : pNext( pNext_ )
57706  , fragmentShaderBarycentric( fragmentShaderBarycentric_ )
57707  {
57708  }
57709 
57711  PhysicalDeviceFragmentShaderBarycentricFeaturesKHR( PhysicalDeviceFragmentShaderBarycentricFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
57712 
57714  : PhysicalDeviceFragmentShaderBarycentricFeaturesKHR( *reinterpret_cast<PhysicalDeviceFragmentShaderBarycentricFeaturesKHR const *>( &rhs ) )
57715  {
57716  }
57717 
57720 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
57721 
57723  {
57724  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShaderBarycentricFeaturesKHR const *>( &rhs );
57725  return *this;
57726  }
57727 
57728 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
57730  {
57731  pNext = pNext_;
57732  return *this;
57733  }
57734 
57737  {
57738  fragmentShaderBarycentric = fragmentShaderBarycentric_;
57739  return *this;
57740  }
57741 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
57742 
57744  {
57745  return *reinterpret_cast<const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR *>( this );
57746  }
57747 
57749  {
57750  return *reinterpret_cast<VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR *>( this );
57751  }
57752 
57753 #if defined( VULKAN_HPP_USE_REFLECT )
57754 # if 14 <= VULKAN_HPP_CPP_VERSION
57755  auto
57756 # else
57757  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
57758 # endif
57759  reflect() const VULKAN_HPP_NOEXCEPT
57760  {
57761  return std::tie( sType, pNext, fragmentShaderBarycentric );
57762  }
57763 #endif
57764 
57765 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
57766  auto operator<=>( PhysicalDeviceFragmentShaderBarycentricFeaturesKHR const & ) const = default;
57767 #else
57769  {
57770 # if defined( VULKAN_HPP_USE_REFLECT )
57771  return this->reflect() == rhs.reflect();
57772 # else
57773  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( fragmentShaderBarycentric == rhs.fragmentShaderBarycentric );
57774 # endif
57775  }
57776 
57778  {
57779  return !operator==( rhs );
57780  }
57781 #endif
57782 
57783  public:
57784  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceFragmentShaderBarycentricFeaturesKHR;
57785  void * pNext = {};
57786  VULKAN_HPP_NAMESPACE::Bool32 fragmentShaderBarycentric = {};
57787  };
57788 
57789  template <>
57791  {
57793  };
57795 
57797  {
57799 
57800  static const bool allowDuplicate = false;
57801  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceFragmentShaderBarycentricPropertiesKHR;
57802 
57803 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
57805  PhysicalDeviceFragmentShaderBarycentricPropertiesKHR( VULKAN_HPP_NAMESPACE::Bool32 triStripVertexOrderIndependentOfProvokingVertex_ = {},
57806  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
57807  : pNext( pNext_ )
57808  , triStripVertexOrderIndependentOfProvokingVertex( triStripVertexOrderIndependentOfProvokingVertex_ )
57809  {
57810  }
57811 
57813  PhysicalDeviceFragmentShaderBarycentricPropertiesKHR( PhysicalDeviceFragmentShaderBarycentricPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
57814 
57816  : PhysicalDeviceFragmentShaderBarycentricPropertiesKHR( *reinterpret_cast<PhysicalDeviceFragmentShaderBarycentricPropertiesKHR const *>( &rhs ) )
57817  {
57818  }
57819 
57822 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
57823 
57825  {
57826  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShaderBarycentricPropertiesKHR const *>( &rhs );
57827  return *this;
57828  }
57829 
57831  {
57832  return *reinterpret_cast<const VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR *>( this );
57833  }
57834 
57836  {
57837  return *reinterpret_cast<VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR *>( this );
57838  }
57839 
57840 #if defined( VULKAN_HPP_USE_REFLECT )
57841 # if 14 <= VULKAN_HPP_CPP_VERSION
57842  auto
57843 # else
57844  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
57845 # endif
57846  reflect() const VULKAN_HPP_NOEXCEPT
57847  {
57848  return std::tie( sType, pNext, triStripVertexOrderIndependentOfProvokingVertex );
57849  }
57850 #endif
57851 
57852 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
57853  auto operator<=>( PhysicalDeviceFragmentShaderBarycentricPropertiesKHR const & ) const = default;
57854 #else
57856  {
57857 # if defined( VULKAN_HPP_USE_REFLECT )
57858  return this->reflect() == rhs.reflect();
57859 # else
57860  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
57861  ( triStripVertexOrderIndependentOfProvokingVertex == rhs.triStripVertexOrderIndependentOfProvokingVertex );
57862 # endif
57863  }
57864 
57866  {
57867  return !operator==( rhs );
57868  }
57869 #endif
57870 
57871  public:
57872  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceFragmentShaderBarycentricPropertiesKHR;
57873  void * pNext = {};
57874  VULKAN_HPP_NAMESPACE::Bool32 triStripVertexOrderIndependentOfProvokingVertex = {};
57875  };
57876 
57877  template <>
57879  {
57881  };
57882 
57884  {
57886 
57887  static const bool allowDuplicate = false;
57888  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceFragmentShaderInterlockFeaturesEXT;
57889 
57890 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
57892  VULKAN_HPP_NAMESPACE::Bool32 fragmentShaderPixelInterlock_ = {},
57893  VULKAN_HPP_NAMESPACE::Bool32 fragmentShaderShadingRateInterlock_ = {},
57894  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
57895  : pNext( pNext_ )
57896  , fragmentShaderSampleInterlock( fragmentShaderSampleInterlock_ )
57897  , fragmentShaderPixelInterlock( fragmentShaderPixelInterlock_ )
57898  , fragmentShaderShadingRateInterlock( fragmentShaderShadingRateInterlock_ )
57899  {
57900  }
57901 
57903  PhysicalDeviceFragmentShaderInterlockFeaturesEXT( PhysicalDeviceFragmentShaderInterlockFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
57904 
57906  : PhysicalDeviceFragmentShaderInterlockFeaturesEXT( *reinterpret_cast<PhysicalDeviceFragmentShaderInterlockFeaturesEXT const *>( &rhs ) )
57907  {
57908  }
57909 
57911 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
57912 
57914  {
57915  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShaderInterlockFeaturesEXT const *>( &rhs );
57916  return *this;
57917  }
57918 
57919 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
57921  {
57922  pNext = pNext_;
57923  return *this;
57924  }
57925 
57928  {
57929  fragmentShaderSampleInterlock = fragmentShaderSampleInterlock_;
57930  return *this;
57931  }
57932 
57935  {
57936  fragmentShaderPixelInterlock = fragmentShaderPixelInterlock_;
57937  return *this;
57938  }
57939 
57942  {
57943  fragmentShaderShadingRateInterlock = fragmentShaderShadingRateInterlock_;
57944  return *this;
57945  }
57946 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
57947 
57949  {
57950  return *reinterpret_cast<const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT *>( this );
57951  }
57952 
57954  {
57955  return *reinterpret_cast<VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT *>( this );
57956  }
57957 
57958 #if defined( VULKAN_HPP_USE_REFLECT )
57959 # if 14 <= VULKAN_HPP_CPP_VERSION
57960  auto
57961 # else
57962  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
57963  void * const &,
57967 # endif
57968  reflect() const VULKAN_HPP_NOEXCEPT
57969  {
57970  return std::tie( sType, pNext, fragmentShaderSampleInterlock, fragmentShaderPixelInterlock, fragmentShaderShadingRateInterlock );
57971  }
57972 #endif
57973 
57974 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
57975  auto operator<=>( PhysicalDeviceFragmentShaderInterlockFeaturesEXT const & ) const = default;
57976 #else
57978  {
57979 # if defined( VULKAN_HPP_USE_REFLECT )
57980  return this->reflect() == rhs.reflect();
57981 # else
57982  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( fragmentShaderSampleInterlock == rhs.fragmentShaderSampleInterlock ) &&
57983  ( fragmentShaderPixelInterlock == rhs.fragmentShaderPixelInterlock ) &&
57984  ( fragmentShaderShadingRateInterlock == rhs.fragmentShaderShadingRateInterlock );
57985 # endif
57986  }
57987 
57989  {
57990  return !operator==( rhs );
57991  }
57992 #endif
57993 
57994  public:
57995  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceFragmentShaderInterlockFeaturesEXT;
57996  void * pNext = {};
57997  VULKAN_HPP_NAMESPACE::Bool32 fragmentShaderSampleInterlock = {};
57998  VULKAN_HPP_NAMESPACE::Bool32 fragmentShaderPixelInterlock = {};
57999  VULKAN_HPP_NAMESPACE::Bool32 fragmentShaderShadingRateInterlock = {};
58000  };
58001 
58002  template <>
58004  {
58006  };
58007 
58009  {
58011 
58012  static const bool allowDuplicate = false;
58013  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceFragmentShadingRateEnumsFeaturesNV;
58014 
58015 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
58017  VULKAN_HPP_NAMESPACE::Bool32 supersampleFragmentShadingRates_ = {},
58018  VULKAN_HPP_NAMESPACE::Bool32 noInvocationFragmentShadingRates_ = {},
58019  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
58020  : pNext( pNext_ )
58021  , fragmentShadingRateEnums( fragmentShadingRateEnums_ )
58022  , supersampleFragmentShadingRates( supersampleFragmentShadingRates_ )
58023  , noInvocationFragmentShadingRates( noInvocationFragmentShadingRates_ )
58024  {
58025  }
58026 
58028  PhysicalDeviceFragmentShadingRateEnumsFeaturesNV( PhysicalDeviceFragmentShadingRateEnumsFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
58029 
58031  : PhysicalDeviceFragmentShadingRateEnumsFeaturesNV( *reinterpret_cast<PhysicalDeviceFragmentShadingRateEnumsFeaturesNV const *>( &rhs ) )
58032  {
58033  }
58034 
58036 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
58037 
58039  {
58040  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateEnumsFeaturesNV const *>( &rhs );
58041  return *this;
58042  }
58043 
58044 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
58046  {
58047  pNext = pNext_;
58048  return *this;
58049  }
58050 
58053  {
58054  fragmentShadingRateEnums = fragmentShadingRateEnums_;
58055  return *this;
58056  }
58057 
58060  {
58061  supersampleFragmentShadingRates = supersampleFragmentShadingRates_;
58062  return *this;
58063  }
58064 
58067  {
58068  noInvocationFragmentShadingRates = noInvocationFragmentShadingRates_;
58069  return *this;
58070  }
58071 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
58072 
58074  {
58075  return *reinterpret_cast<const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV *>( this );
58076  }
58077 
58079  {
58080  return *reinterpret_cast<VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV *>( this );
58081  }
58082 
58083 #if defined( VULKAN_HPP_USE_REFLECT )
58084 # if 14 <= VULKAN_HPP_CPP_VERSION
58085  auto
58086 # else
58087  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
58088  void * const &,
58092 # endif
58093  reflect() const VULKAN_HPP_NOEXCEPT
58094  {
58095  return std::tie( sType, pNext, fragmentShadingRateEnums, supersampleFragmentShadingRates, noInvocationFragmentShadingRates );
58096  }
58097 #endif
58098 
58099 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
58100  auto operator<=>( PhysicalDeviceFragmentShadingRateEnumsFeaturesNV const & ) const = default;
58101 #else
58103  {
58104 # if defined( VULKAN_HPP_USE_REFLECT )
58105  return this->reflect() == rhs.reflect();
58106 # else
58107  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( fragmentShadingRateEnums == rhs.fragmentShadingRateEnums ) &&
58108  ( supersampleFragmentShadingRates == rhs.supersampleFragmentShadingRates ) &&
58109  ( noInvocationFragmentShadingRates == rhs.noInvocationFragmentShadingRates );
58110 # endif
58111  }
58112 
58114  {
58115  return !operator==( rhs );
58116  }
58117 #endif
58118 
58119  public:
58120  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceFragmentShadingRateEnumsFeaturesNV;
58121  void * pNext = {};
58122  VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateEnums = {};
58123  VULKAN_HPP_NAMESPACE::Bool32 supersampleFragmentShadingRates = {};
58124  VULKAN_HPP_NAMESPACE::Bool32 noInvocationFragmentShadingRates = {};
58125  };
58126 
58127  template <>
58129  {
58131  };
58132 
58134  {
58136 
58137  static const bool allowDuplicate = false;
58138  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceFragmentShadingRateEnumsPropertiesNV;
58139 
58140 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
58143  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
58144  : pNext( pNext_ )
58145  , maxFragmentShadingRateInvocationCount( maxFragmentShadingRateInvocationCount_ )
58146  {
58147  }
58148 
58151 
58153  : PhysicalDeviceFragmentShadingRateEnumsPropertiesNV( *reinterpret_cast<PhysicalDeviceFragmentShadingRateEnumsPropertiesNV const *>( &rhs ) )
58154  {
58155  }
58156 
58159 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
58160 
58162  {
58163  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateEnumsPropertiesNV const *>( &rhs );
58164  return *this;
58165  }
58166 
58167 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
58169  {
58170  pNext = pNext_;
58171  return *this;
58172  }
58173 
58176  {
58177  maxFragmentShadingRateInvocationCount = maxFragmentShadingRateInvocationCount_;
58178  return *this;
58179  }
58180 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
58181 
58183  {
58184  return *reinterpret_cast<const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV *>( this );
58185  }
58186 
58188  {
58189  return *reinterpret_cast<VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV *>( this );
58190  }
58191 
58192 #if defined( VULKAN_HPP_USE_REFLECT )
58193 # if 14 <= VULKAN_HPP_CPP_VERSION
58194  auto
58195 # else
58196  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::SampleCountFlagBits const &>
58197 # endif
58198  reflect() const VULKAN_HPP_NOEXCEPT
58199  {
58200  return std::tie( sType, pNext, maxFragmentShadingRateInvocationCount );
58201  }
58202 #endif
58203 
58204 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
58205  auto operator<=>( PhysicalDeviceFragmentShadingRateEnumsPropertiesNV const & ) const = default;
58206 #else
58208  {
58209 # if defined( VULKAN_HPP_USE_REFLECT )
58210  return this->reflect() == rhs.reflect();
58211 # else
58212  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxFragmentShadingRateInvocationCount == rhs.maxFragmentShadingRateInvocationCount );
58213 # endif
58214  }
58215 
58217  {
58218  return !operator==( rhs );
58219  }
58220 #endif
58221 
58222  public:
58223  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceFragmentShadingRateEnumsPropertiesNV;
58224  void * pNext = {};
58226  };
58227 
58228  template <>
58230  {
58232  };
58233 
58235  {
58237 
58238  static const bool allowDuplicate = false;
58239  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceFragmentShadingRateFeaturesKHR;
58240 
58241 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
58243  VULKAN_HPP_NAMESPACE::Bool32 primitiveFragmentShadingRate_ = {},
58244  VULKAN_HPP_NAMESPACE::Bool32 attachmentFragmentShadingRate_ = {},
58245  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
58246  : pNext( pNext_ )
58247  , pipelineFragmentShadingRate( pipelineFragmentShadingRate_ )
58248  , primitiveFragmentShadingRate( primitiveFragmentShadingRate_ )
58249  , attachmentFragmentShadingRate( attachmentFragmentShadingRate_ )
58250  {
58251  }
58252 
58253  VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentShadingRateFeaturesKHR( PhysicalDeviceFragmentShadingRateFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
58254 
58256  : PhysicalDeviceFragmentShadingRateFeaturesKHR( *reinterpret_cast<PhysicalDeviceFragmentShadingRateFeaturesKHR const *>( &rhs ) )
58257  {
58258  }
58259 
58261 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
58262 
58264  {
58265  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateFeaturesKHR const *>( &rhs );
58266  return *this;
58267  }
58268 
58269 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
58271  {
58272  pNext = pNext_;
58273  return *this;
58274  }
58275 
58278  {
58279  pipelineFragmentShadingRate = pipelineFragmentShadingRate_;
58280  return *this;
58281  }
58282 
58285  {
58286  primitiveFragmentShadingRate = primitiveFragmentShadingRate_;
58287  return *this;
58288  }
58289 
58292  {
58293  attachmentFragmentShadingRate = attachmentFragmentShadingRate_;
58294  return *this;
58295  }
58296 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
58297 
58299  {
58300  return *reinterpret_cast<const VkPhysicalDeviceFragmentShadingRateFeaturesKHR *>( this );
58301  }
58302 
58304  {
58305  return *reinterpret_cast<VkPhysicalDeviceFragmentShadingRateFeaturesKHR *>( this );
58306  }
58307 
58308 #if defined( VULKAN_HPP_USE_REFLECT )
58309 # if 14 <= VULKAN_HPP_CPP_VERSION
58310  auto
58311 # else
58312  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
58313  void * const &,
58317 # endif
58318  reflect() const VULKAN_HPP_NOEXCEPT
58319  {
58320  return std::tie( sType, pNext, pipelineFragmentShadingRate, primitiveFragmentShadingRate, attachmentFragmentShadingRate );
58321  }
58322 #endif
58323 
58324 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
58325  auto operator<=>( PhysicalDeviceFragmentShadingRateFeaturesKHR const & ) const = default;
58326 #else
58328  {
58329 # if defined( VULKAN_HPP_USE_REFLECT )
58330  return this->reflect() == rhs.reflect();
58331 # else
58332  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pipelineFragmentShadingRate == rhs.pipelineFragmentShadingRate ) &&
58333  ( primitiveFragmentShadingRate == rhs.primitiveFragmentShadingRate ) && ( attachmentFragmentShadingRate == rhs.attachmentFragmentShadingRate );
58334 # endif
58335  }
58336 
58338  {
58339  return !operator==( rhs );
58340  }
58341 #endif
58342 
58343  public:
58344  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceFragmentShadingRateFeaturesKHR;
58345  void * pNext = {};
58346  VULKAN_HPP_NAMESPACE::Bool32 pipelineFragmentShadingRate = {};
58347  VULKAN_HPP_NAMESPACE::Bool32 primitiveFragmentShadingRate = {};
58348  VULKAN_HPP_NAMESPACE::Bool32 attachmentFragmentShadingRate = {};
58349  };
58350 
58351  template <>
58353  {
58355  };
58356 
58358  {
58360 
58361  static const bool allowDuplicate = false;
58362  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceFragmentShadingRateKHR;
58363 
58364 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
58366  VULKAN_HPP_NAMESPACE::Extent2D fragmentSize_ = {},
58367  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
58368  : pNext( pNext_ )
58369  , sampleCounts( sampleCounts_ )
58370  , fragmentSize( fragmentSize_ )
58371  {
58372  }
58373 
58374  VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentShadingRateKHR( PhysicalDeviceFragmentShadingRateKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
58375 
58377  : PhysicalDeviceFragmentShadingRateKHR( *reinterpret_cast<PhysicalDeviceFragmentShadingRateKHR const *>( &rhs ) )
58378  {
58379  }
58380 
58382 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
58383 
58385  {
58386  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateKHR const *>( &rhs );
58387  return *this;
58388  }
58389 
58391  {
58392  return *reinterpret_cast<const VkPhysicalDeviceFragmentShadingRateKHR *>( this );
58393  }
58394 
58396  {
58397  return *reinterpret_cast<VkPhysicalDeviceFragmentShadingRateKHR *>( this );
58398  }
58399 
58400 #if defined( VULKAN_HPP_USE_REFLECT )
58401 # if 14 <= VULKAN_HPP_CPP_VERSION
58402  auto
58403 # else
58404  std::
58405  tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::SampleCountFlags const &, VULKAN_HPP_NAMESPACE::Extent2D const &>
58406 # endif
58407  reflect() const VULKAN_HPP_NOEXCEPT
58408  {
58409  return std::tie( sType, pNext, sampleCounts, fragmentSize );
58410  }
58411 #endif
58412 
58413 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
58414  auto operator<=>( PhysicalDeviceFragmentShadingRateKHR const & ) const = default;
58415 #else
58417  {
58418 # if defined( VULKAN_HPP_USE_REFLECT )
58419  return this->reflect() == rhs.reflect();
58420 # else
58421  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( sampleCounts == rhs.sampleCounts ) && ( fragmentSize == rhs.fragmentSize );
58422 # endif
58423  }
58424 
58426  {
58427  return !operator==( rhs );
58428  }
58429 #endif
58430 
58431  public:
58432  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceFragmentShadingRateKHR;
58433  void * pNext = {};
58436  };
58437 
58438  template <>
58440  {
58442  };
58443 
58445  {
58447 
58448  static const bool allowDuplicate = false;
58449  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceFragmentShadingRatePropertiesKHR;
58450 
58451 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
58453  VULKAN_HPP_NAMESPACE::Extent2D minFragmentShadingRateAttachmentTexelSize_ = {},
58454  VULKAN_HPP_NAMESPACE::Extent2D maxFragmentShadingRateAttachmentTexelSize_ = {},
58455  uint32_t maxFragmentShadingRateAttachmentTexelSizeAspectRatio_ = {},
58456  VULKAN_HPP_NAMESPACE::Bool32 primitiveFragmentShadingRateWithMultipleViewports_ = {},
58457  VULKAN_HPP_NAMESPACE::Bool32 layeredShadingRateAttachments_ = {},
58458  VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateNonTrivialCombinerOps_ = {},
58459  VULKAN_HPP_NAMESPACE::Extent2D maxFragmentSize_ = {},
58460  uint32_t maxFragmentSizeAspectRatio_ = {},
58461  uint32_t maxFragmentShadingRateCoverageSamples_ = {},
58463  VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateWithShaderDepthStencilWrites_ = {},
58464  VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateWithSampleMask_ = {},
58465  VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateWithShaderSampleMask_ = {},
58466  VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateWithConservativeRasterization_ = {},
58467  VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateWithFragmentShaderInterlock_ = {},
58468  VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateWithCustomSampleLocations_ = {},
58469  VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateStrictMultiplyCombiner_ = {},
58470  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
58471  : pNext( pNext_ )
58472  , minFragmentShadingRateAttachmentTexelSize( minFragmentShadingRateAttachmentTexelSize_ )
58473  , maxFragmentShadingRateAttachmentTexelSize( maxFragmentShadingRateAttachmentTexelSize_ )
58474  , maxFragmentShadingRateAttachmentTexelSizeAspectRatio( maxFragmentShadingRateAttachmentTexelSizeAspectRatio_ )
58475  , primitiveFragmentShadingRateWithMultipleViewports( primitiveFragmentShadingRateWithMultipleViewports_ )
58476  , layeredShadingRateAttachments( layeredShadingRateAttachments_ )
58477  , fragmentShadingRateNonTrivialCombinerOps( fragmentShadingRateNonTrivialCombinerOps_ )
58478  , maxFragmentSize( maxFragmentSize_ )
58479  , maxFragmentSizeAspectRatio( maxFragmentSizeAspectRatio_ )
58480  , maxFragmentShadingRateCoverageSamples( maxFragmentShadingRateCoverageSamples_ )
58481  , maxFragmentShadingRateRasterizationSamples( maxFragmentShadingRateRasterizationSamples_ )
58482  , fragmentShadingRateWithShaderDepthStencilWrites( fragmentShadingRateWithShaderDepthStencilWrites_ )
58483  , fragmentShadingRateWithSampleMask( fragmentShadingRateWithSampleMask_ )
58484  , fragmentShadingRateWithShaderSampleMask( fragmentShadingRateWithShaderSampleMask_ )
58485  , fragmentShadingRateWithConservativeRasterization( fragmentShadingRateWithConservativeRasterization_ )
58486  , fragmentShadingRateWithFragmentShaderInterlock( fragmentShadingRateWithFragmentShaderInterlock_ )
58487  , fragmentShadingRateWithCustomSampleLocations( fragmentShadingRateWithCustomSampleLocations_ )
58488  , fragmentShadingRateStrictMultiplyCombiner( fragmentShadingRateStrictMultiplyCombiner_ )
58489  {
58490  }
58491 
58493  PhysicalDeviceFragmentShadingRatePropertiesKHR( PhysicalDeviceFragmentShadingRatePropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
58494 
58496  : PhysicalDeviceFragmentShadingRatePropertiesKHR( *reinterpret_cast<PhysicalDeviceFragmentShadingRatePropertiesKHR const *>( &rhs ) )
58497  {
58498  }
58499 
58501 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
58502 
58504  {
58505  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRatePropertiesKHR const *>( &rhs );
58506  return *this;
58507  }
58508 
58510  {
58511  return *reinterpret_cast<const VkPhysicalDeviceFragmentShadingRatePropertiesKHR *>( this );
58512  }
58513 
58515  {
58516  return *reinterpret_cast<VkPhysicalDeviceFragmentShadingRatePropertiesKHR *>( this );
58517  }
58518 
58519 #if defined( VULKAN_HPP_USE_REFLECT )
58520 # if 14 <= VULKAN_HPP_CPP_VERSION
58521  auto
58522 # else
58523  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
58524  void * const &,
58527  uint32_t const &,
58532  uint32_t const &,
58533  uint32_t const &,
58542 # endif
58543  reflect() const VULKAN_HPP_NOEXCEPT
58544  {
58545  return std::tie( sType,
58546  pNext,
58547  minFragmentShadingRateAttachmentTexelSize,
58548  maxFragmentShadingRateAttachmentTexelSize,
58549  maxFragmentShadingRateAttachmentTexelSizeAspectRatio,
58550  primitiveFragmentShadingRateWithMultipleViewports,
58551  layeredShadingRateAttachments,
58552  fragmentShadingRateNonTrivialCombinerOps,
58553  maxFragmentSize,
58554  maxFragmentSizeAspectRatio,
58555  maxFragmentShadingRateCoverageSamples,
58556  maxFragmentShadingRateRasterizationSamples,
58557  fragmentShadingRateWithShaderDepthStencilWrites,
58558  fragmentShadingRateWithSampleMask,
58559  fragmentShadingRateWithShaderSampleMask,
58560  fragmentShadingRateWithConservativeRasterization,
58561  fragmentShadingRateWithFragmentShaderInterlock,
58562  fragmentShadingRateWithCustomSampleLocations,
58563  fragmentShadingRateStrictMultiplyCombiner );
58564  }
58565 #endif
58566 
58567 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
58568  auto operator<=>( PhysicalDeviceFragmentShadingRatePropertiesKHR const & ) const = default;
58569 #else
58571  {
58572 # if defined( VULKAN_HPP_USE_REFLECT )
58573  return this->reflect() == rhs.reflect();
58574 # else
58575  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
58576  ( minFragmentShadingRateAttachmentTexelSize == rhs.minFragmentShadingRateAttachmentTexelSize ) &&
58577  ( maxFragmentShadingRateAttachmentTexelSize == rhs.maxFragmentShadingRateAttachmentTexelSize ) &&
58578  ( maxFragmentShadingRateAttachmentTexelSizeAspectRatio == rhs.maxFragmentShadingRateAttachmentTexelSizeAspectRatio ) &&
58579  ( primitiveFragmentShadingRateWithMultipleViewports == rhs.primitiveFragmentShadingRateWithMultipleViewports ) &&
58580  ( layeredShadingRateAttachments == rhs.layeredShadingRateAttachments ) &&
58581  ( fragmentShadingRateNonTrivialCombinerOps == rhs.fragmentShadingRateNonTrivialCombinerOps ) && ( maxFragmentSize == rhs.maxFragmentSize ) &&
58582  ( maxFragmentSizeAspectRatio == rhs.maxFragmentSizeAspectRatio ) &&
58583  ( maxFragmentShadingRateCoverageSamples == rhs.maxFragmentShadingRateCoverageSamples ) &&
58584  ( maxFragmentShadingRateRasterizationSamples == rhs.maxFragmentShadingRateRasterizationSamples ) &&
58585  ( fragmentShadingRateWithShaderDepthStencilWrites == rhs.fragmentShadingRateWithShaderDepthStencilWrites ) &&
58586  ( fragmentShadingRateWithSampleMask == rhs.fragmentShadingRateWithSampleMask ) &&
58587  ( fragmentShadingRateWithShaderSampleMask == rhs.fragmentShadingRateWithShaderSampleMask ) &&
58588  ( fragmentShadingRateWithConservativeRasterization == rhs.fragmentShadingRateWithConservativeRasterization ) &&
58589  ( fragmentShadingRateWithFragmentShaderInterlock == rhs.fragmentShadingRateWithFragmentShaderInterlock ) &&
58590  ( fragmentShadingRateWithCustomSampleLocations == rhs.fragmentShadingRateWithCustomSampleLocations ) &&
58591  ( fragmentShadingRateStrictMultiplyCombiner == rhs.fragmentShadingRateStrictMultiplyCombiner );
58592 # endif
58593  }
58594 
58596  {
58597  return !operator==( rhs );
58598  }
58599 #endif
58600 
58601  public:
58602  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceFragmentShadingRatePropertiesKHR;
58603  void * pNext = {};
58604  VULKAN_HPP_NAMESPACE::Extent2D minFragmentShadingRateAttachmentTexelSize = {};
58605  VULKAN_HPP_NAMESPACE::Extent2D maxFragmentShadingRateAttachmentTexelSize = {};
58606  uint32_t maxFragmentShadingRateAttachmentTexelSizeAspectRatio = {};
58607  VULKAN_HPP_NAMESPACE::Bool32 primitiveFragmentShadingRateWithMultipleViewports = {};
58608  VULKAN_HPP_NAMESPACE::Bool32 layeredShadingRateAttachments = {};
58609  VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateNonTrivialCombinerOps = {};
58610  VULKAN_HPP_NAMESPACE::Extent2D maxFragmentSize = {};
58611  uint32_t maxFragmentSizeAspectRatio = {};
58612  uint32_t maxFragmentShadingRateCoverageSamples = {};
58614  VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateWithShaderDepthStencilWrites = {};
58615  VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateWithSampleMask = {};
58616  VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateWithShaderSampleMask = {};
58617  VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateWithConservativeRasterization = {};
58618  VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateWithFragmentShaderInterlock = {};
58619  VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateWithCustomSampleLocations = {};
58620  VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateStrictMultiplyCombiner = {};
58621  };
58622 
58623  template <>
58625  {
58627  };
58628 
58630  {
58632 
58633  static const bool allowDuplicate = false;
58634  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceGlobalPriorityQueryFeaturesKHR;
58635 
58636 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
58638  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
58639  : pNext( pNext_ )
58640  , globalPriorityQuery( globalPriorityQuery_ )
58641  {
58642  }
58643 
58644  VULKAN_HPP_CONSTEXPR PhysicalDeviceGlobalPriorityQueryFeaturesKHR( PhysicalDeviceGlobalPriorityQueryFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
58645 
58647  : PhysicalDeviceGlobalPriorityQueryFeaturesKHR( *reinterpret_cast<PhysicalDeviceGlobalPriorityQueryFeaturesKHR const *>( &rhs ) )
58648  {
58649  }
58650 
58652 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
58653 
58655  {
58656  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceGlobalPriorityQueryFeaturesKHR const *>( &rhs );
58657  return *this;
58658  }
58659 
58660 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
58662  {
58663  pNext = pNext_;
58664  return *this;
58665  }
58666 
58669  {
58670  globalPriorityQuery = globalPriorityQuery_;
58671  return *this;
58672  }
58673 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
58674 
58676  {
58677  return *reinterpret_cast<const VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR *>( this );
58678  }
58679 
58681  {
58682  return *reinterpret_cast<VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR *>( this );
58683  }
58684 
58685 #if defined( VULKAN_HPP_USE_REFLECT )
58686 # if 14 <= VULKAN_HPP_CPP_VERSION
58687  auto
58688 # else
58689  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
58690 # endif
58691  reflect() const VULKAN_HPP_NOEXCEPT
58692  {
58693  return std::tie( sType, pNext, globalPriorityQuery );
58694  }
58695 #endif
58696 
58697 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
58698  auto operator<=>( PhysicalDeviceGlobalPriorityQueryFeaturesKHR const & ) const = default;
58699 #else
58701  {
58702 # if defined( VULKAN_HPP_USE_REFLECT )
58703  return this->reflect() == rhs.reflect();
58704 # else
58705  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( globalPriorityQuery == rhs.globalPriorityQuery );
58706 # endif
58707  }
58708 
58710  {
58711  return !operator==( rhs );
58712  }
58713 #endif
58714 
58715  public:
58716  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceGlobalPriorityQueryFeaturesKHR;
58717  void * pNext = {};
58718  VULKAN_HPP_NAMESPACE::Bool32 globalPriorityQuery = {};
58719  };
58720 
58721  template <>
58723  {
58725  };
58727 
58729  {
58731 
58732  static const bool allowDuplicate = false;
58733  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceGraphicsPipelineLibraryFeaturesEXT;
58734 
58735 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
58737  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
58738  : pNext( pNext_ )
58739  , graphicsPipelineLibrary( graphicsPipelineLibrary_ )
58740  {
58741  }
58742 
58744  PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT( PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
58745 
58747  : PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT( *reinterpret_cast<PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT const *>( &rhs ) )
58748  {
58749  }
58750 
58752 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
58753 
58755  {
58756  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT const *>( &rhs );
58757  return *this;
58758  }
58759 
58760 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
58762  {
58763  pNext = pNext_;
58764  return *this;
58765  }
58766 
58769  {
58770  graphicsPipelineLibrary = graphicsPipelineLibrary_;
58771  return *this;
58772  }
58773 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
58774 
58776  {
58777  return *reinterpret_cast<const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT *>( this );
58778  }
58779 
58781  {
58782  return *reinterpret_cast<VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT *>( this );
58783  }
58784 
58785 #if defined( VULKAN_HPP_USE_REFLECT )
58786 # if 14 <= VULKAN_HPP_CPP_VERSION
58787  auto
58788 # else
58789  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
58790 # endif
58791  reflect() const VULKAN_HPP_NOEXCEPT
58792  {
58793  return std::tie( sType, pNext, graphicsPipelineLibrary );
58794  }
58795 #endif
58796 
58797 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
58798  auto operator<=>( PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT const & ) const = default;
58799 #else
58801  {
58802 # if defined( VULKAN_HPP_USE_REFLECT )
58803  return this->reflect() == rhs.reflect();
58804 # else
58805  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( graphicsPipelineLibrary == rhs.graphicsPipelineLibrary );
58806 # endif
58807  }
58808 
58810  {
58811  return !operator==( rhs );
58812  }
58813 #endif
58814 
58815  public:
58816  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceGraphicsPipelineLibraryFeaturesEXT;
58817  void * pNext = {};
58818  VULKAN_HPP_NAMESPACE::Bool32 graphicsPipelineLibrary = {};
58819  };
58820 
58821  template <>
58823  {
58825  };
58826 
58828  {
58830 
58831  static const bool allowDuplicate = false;
58832  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceGraphicsPipelineLibraryPropertiesEXT;
58833 
58834 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
58837  VULKAN_HPP_NAMESPACE::Bool32 graphicsPipelineLibraryIndependentInterpolationDecoration_ = {},
58838  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
58839  : pNext( pNext_ )
58840  , graphicsPipelineLibraryFastLinking( graphicsPipelineLibraryFastLinking_ )
58841  , graphicsPipelineLibraryIndependentInterpolationDecoration( graphicsPipelineLibraryIndependentInterpolationDecoration_ )
58842  {
58843  }
58844 
58846  PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT( PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
58847 
58849  : PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT( *reinterpret_cast<PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT const *>( &rhs ) )
58850  {
58851  }
58852 
58855 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
58856 
58858  {
58859  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT const *>( &rhs );
58860  return *this;
58861  }
58862 
58863 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
58865  {
58866  pNext = pNext_;
58867  return *this;
58868  }
58869 
58872  {
58873  graphicsPipelineLibraryFastLinking = graphicsPipelineLibraryFastLinking_;
58874  return *this;
58875  }
58876 
58878  VULKAN_HPP_NAMESPACE::Bool32 graphicsPipelineLibraryIndependentInterpolationDecoration_ ) VULKAN_HPP_NOEXCEPT
58879  {
58880  graphicsPipelineLibraryIndependentInterpolationDecoration = graphicsPipelineLibraryIndependentInterpolationDecoration_;
58881  return *this;
58882  }
58883 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
58884 
58886  {
58887  return *reinterpret_cast<const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT *>( this );
58888  }
58889 
58891  {
58892  return *reinterpret_cast<VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT *>( this );
58893  }
58894 
58895 #if defined( VULKAN_HPP_USE_REFLECT )
58896 # if 14 <= VULKAN_HPP_CPP_VERSION
58897  auto
58898 # else
58899  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
58900 # endif
58901  reflect() const VULKAN_HPP_NOEXCEPT
58902  {
58903  return std::tie( sType, pNext, graphicsPipelineLibraryFastLinking, graphicsPipelineLibraryIndependentInterpolationDecoration );
58904  }
58905 #endif
58906 
58907 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
58908  auto operator<=>( PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT const & ) const = default;
58909 #else
58911  {
58912 # if defined( VULKAN_HPP_USE_REFLECT )
58913  return this->reflect() == rhs.reflect();
58914 # else
58915  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( graphicsPipelineLibraryFastLinking == rhs.graphicsPipelineLibraryFastLinking ) &&
58916  ( graphicsPipelineLibraryIndependentInterpolationDecoration == rhs.graphicsPipelineLibraryIndependentInterpolationDecoration );
58917 # endif
58918  }
58919 
58921  {
58922  return !operator==( rhs );
58923  }
58924 #endif
58925 
58926  public:
58927  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceGraphicsPipelineLibraryPropertiesEXT;
58928  void * pNext = {};
58929  VULKAN_HPP_NAMESPACE::Bool32 graphicsPipelineLibraryFastLinking = {};
58930  VULKAN_HPP_NAMESPACE::Bool32 graphicsPipelineLibraryIndependentInterpolationDecoration = {};
58931  };
58932 
58933  template <>
58935  {
58937  };
58938 
58940  {
58942 
58943  static const bool allowDuplicate = false;
58944  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceGroupProperties;
58945 
58946 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
58948  PhysicalDeviceGroupProperties( uint32_t physicalDeviceCount_ = {},
58949  std::array<VULKAN_HPP_NAMESPACE::PhysicalDevice, VK_MAX_DEVICE_GROUP_SIZE> const & physicalDevices_ = {},
58950  VULKAN_HPP_NAMESPACE::Bool32 subsetAllocation_ = {},
58951  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
58952  : pNext( pNext_ )
58953  , physicalDeviceCount( physicalDeviceCount_ )
58954  , physicalDevices( physicalDevices_ )
58955  , subsetAllocation( subsetAllocation_ )
58956  {
58957  }
58958 
58959  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceGroupProperties( PhysicalDeviceGroupProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
58960 
58962  : PhysicalDeviceGroupProperties( *reinterpret_cast<PhysicalDeviceGroupProperties const *>( &rhs ) )
58963  {
58964  }
58965 
58967 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
58968 
58970  {
58971  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties const *>( &rhs );
58972  return *this;
58973  }
58974 
58976  {
58977  return *reinterpret_cast<const VkPhysicalDeviceGroupProperties *>( this );
58978  }
58979 
58981  {
58982  return *reinterpret_cast<VkPhysicalDeviceGroupProperties *>( this );
58983  }
58984 
58985 #if defined( VULKAN_HPP_USE_REFLECT )
58986 # if 14 <= VULKAN_HPP_CPP_VERSION
58987  auto
58988 # else
58989  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
58990  void * const &,
58991  uint32_t const &,
58994 # endif
58995  reflect() const VULKAN_HPP_NOEXCEPT
58996  {
58997  return std::tie( sType, pNext, physicalDeviceCount, physicalDevices, subsetAllocation );
58998  }
58999 #endif
59000 
59001 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
59002  auto operator<=>( PhysicalDeviceGroupProperties const & ) const = default;
59003 #else
59005  {
59006 # if defined( VULKAN_HPP_USE_REFLECT )
59007  return this->reflect() == rhs.reflect();
59008 # else
59009  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( physicalDeviceCount == rhs.physicalDeviceCount ) &&
59010  ( physicalDevices == rhs.physicalDevices ) && ( subsetAllocation == rhs.subsetAllocation );
59011 # endif
59012  }
59013 
59015  {
59016  return !operator==( rhs );
59017  }
59018 #endif
59019 
59020  public:
59021  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceGroupProperties;
59022  void * pNext = {};
59023  uint32_t physicalDeviceCount = {};
59025  VULKAN_HPP_NAMESPACE::Bool32 subsetAllocation = {};
59026  };
59027 
59028  template <>
59030  {
59032  };
59034 
59036  {
59038 
59039  static const bool allowDuplicate = false;
59040  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceHostQueryResetFeatures;
59041 
59042 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
59044  : pNext( pNext_ )
59045  , hostQueryReset( hostQueryReset_ )
59046  {
59047  }
59048 
59049  VULKAN_HPP_CONSTEXPR PhysicalDeviceHostQueryResetFeatures( PhysicalDeviceHostQueryResetFeatures const & rhs ) VULKAN_HPP_NOEXCEPT = default;
59050 
59052  : PhysicalDeviceHostQueryResetFeatures( *reinterpret_cast<PhysicalDeviceHostQueryResetFeatures const *>( &rhs ) )
59053  {
59054  }
59055 
59057 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
59058 
59060  {
59061  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceHostQueryResetFeatures const *>( &rhs );
59062  return *this;
59063  }
59064 
59065 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
59067  {
59068  pNext = pNext_;
59069  return *this;
59070  }
59071 
59073  {
59074  hostQueryReset = hostQueryReset_;
59075  return *this;
59076  }
59077 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
59078 
59080  {
59081  return *reinterpret_cast<const VkPhysicalDeviceHostQueryResetFeatures *>( this );
59082  }
59083 
59085  {
59086  return *reinterpret_cast<VkPhysicalDeviceHostQueryResetFeatures *>( this );
59087  }
59088 
59089 #if defined( VULKAN_HPP_USE_REFLECT )
59090 # if 14 <= VULKAN_HPP_CPP_VERSION
59091  auto
59092 # else
59093  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
59094 # endif
59095  reflect() const VULKAN_HPP_NOEXCEPT
59096  {
59097  return std::tie( sType, pNext, hostQueryReset );
59098  }
59099 #endif
59100 
59101 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
59102  auto operator<=>( PhysicalDeviceHostQueryResetFeatures const & ) const = default;
59103 #else
59105  {
59106 # if defined( VULKAN_HPP_USE_REFLECT )
59107  return this->reflect() == rhs.reflect();
59108 # else
59109  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( hostQueryReset == rhs.hostQueryReset );
59110 # endif
59111  }
59112 
59114  {
59115  return !operator==( rhs );
59116  }
59117 #endif
59118 
59119  public:
59120  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceHostQueryResetFeatures;
59121  void * pNext = {};
59122  VULKAN_HPP_NAMESPACE::Bool32 hostQueryReset = {};
59123  };
59124 
59125  template <>
59127  {
59129  };
59131 
59133  {
59135 
59136  static const bool allowDuplicate = false;
59137  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceIdProperties;
59138 
59139 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
59140  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceIDProperties( std::array<uint8_t, VK_UUID_SIZE> const & deviceUUID_ = {},
59141  std::array<uint8_t, VK_UUID_SIZE> const & driverUUID_ = {},
59142  std::array<uint8_t, VK_LUID_SIZE> const & deviceLUID_ = {},
59143  uint32_t deviceNodeMask_ = {},
59144  VULKAN_HPP_NAMESPACE::Bool32 deviceLUIDValid_ = {},
59145  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
59146  : pNext( pNext_ )
59147  , deviceUUID( deviceUUID_ )
59148  , driverUUID( driverUUID_ )
59149  , deviceLUID( deviceLUID_ )
59150  , deviceNodeMask( deviceNodeMask_ )
59151  , deviceLUIDValid( deviceLUIDValid_ )
59152  {
59153  }
59154 
59155  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceIDProperties( PhysicalDeviceIDProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
59156 
59158  : PhysicalDeviceIDProperties( *reinterpret_cast<PhysicalDeviceIDProperties const *>( &rhs ) )
59159  {
59160  }
59161 
59162  PhysicalDeviceIDProperties & operator=( PhysicalDeviceIDProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
59163 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
59164 
59166  {
59167  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceIDProperties const *>( &rhs );
59168  return *this;
59169  }
59170 
59172  {
59173  return *reinterpret_cast<const VkPhysicalDeviceIDProperties *>( this );
59174  }
59175 
59177  {
59178  return *reinterpret_cast<VkPhysicalDeviceIDProperties *>( this );
59179  }
59180 
59181 #if defined( VULKAN_HPP_USE_REFLECT )
59182 # if 14 <= VULKAN_HPP_CPP_VERSION
59183  auto
59184 # else
59185  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
59186  void * const &,
59190  uint32_t const &,
59192 # endif
59193  reflect() const VULKAN_HPP_NOEXCEPT
59194  {
59195  return std::tie( sType, pNext, deviceUUID, driverUUID, deviceLUID, deviceNodeMask, deviceLUIDValid );
59196  }
59197 #endif
59198 
59199 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
59200  auto operator<=>( PhysicalDeviceIDProperties const & ) const = default;
59201 #else
59203  {
59204 # if defined( VULKAN_HPP_USE_REFLECT )
59205  return this->reflect() == rhs.reflect();
59206 # else
59207  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( deviceUUID == rhs.deviceUUID ) && ( driverUUID == rhs.driverUUID ) &&
59208  ( deviceLUID == rhs.deviceLUID ) && ( deviceNodeMask == rhs.deviceNodeMask ) && ( deviceLUIDValid == rhs.deviceLUIDValid );
59209 # endif
59210  }
59211 
59213  {
59214  return !operator==( rhs );
59215  }
59216 #endif
59217 
59218  public:
59219  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceIdProperties;
59220  void * pNext = {};
59224  uint32_t deviceNodeMask = {};
59225  VULKAN_HPP_NAMESPACE::Bool32 deviceLUIDValid = {};
59226  };
59227 
59228  template <>
59230  {
59232  };
59234 
59236  {
59238 
59239  static const bool allowDuplicate = false;
59240  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceImage2DViewOf3DFeaturesEXT;
59241 
59242 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
59244  VULKAN_HPP_NAMESPACE::Bool32 sampler2DViewOf3D_ = {},
59245  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
59246  : pNext( pNext_ )
59247  , image2DViewOf3D( image2DViewOf3D_ )
59248  , sampler2DViewOf3D( sampler2DViewOf3D_ )
59249  {
59250  }
59251 
59252  VULKAN_HPP_CONSTEXPR PhysicalDeviceImage2DViewOf3DFeaturesEXT( PhysicalDeviceImage2DViewOf3DFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
59253 
59255  : PhysicalDeviceImage2DViewOf3DFeaturesEXT( *reinterpret_cast<PhysicalDeviceImage2DViewOf3DFeaturesEXT const *>( &rhs ) )
59256  {
59257  }
59258 
59260 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
59261 
59263  {
59264  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceImage2DViewOf3DFeaturesEXT const *>( &rhs );
59265  return *this;
59266  }
59267 
59268 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
59270  {
59271  pNext = pNext_;
59272  return *this;
59273  }
59274 
59276  {
59277  image2DViewOf3D = image2DViewOf3D_;
59278  return *this;
59279  }
59280 
59283  {
59284  sampler2DViewOf3D = sampler2DViewOf3D_;
59285  return *this;
59286  }
59287 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
59288 
59290  {
59291  return *reinterpret_cast<const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT *>( this );
59292  }
59293 
59295  {
59296  return *reinterpret_cast<VkPhysicalDeviceImage2DViewOf3DFeaturesEXT *>( this );
59297  }
59298 
59299 #if defined( VULKAN_HPP_USE_REFLECT )
59300 # if 14 <= VULKAN_HPP_CPP_VERSION
59301  auto
59302 # else
59303  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
59304 # endif
59305  reflect() const VULKAN_HPP_NOEXCEPT
59306  {
59307  return std::tie( sType, pNext, image2DViewOf3D, sampler2DViewOf3D );
59308  }
59309 #endif
59310 
59311 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
59312  auto operator<=>( PhysicalDeviceImage2DViewOf3DFeaturesEXT const & ) const = default;
59313 #else
59315  {
59316 # if defined( VULKAN_HPP_USE_REFLECT )
59317  return this->reflect() == rhs.reflect();
59318 # else
59319  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( image2DViewOf3D == rhs.image2DViewOf3D ) && ( sampler2DViewOf3D == rhs.sampler2DViewOf3D );
59320 # endif
59321  }
59322 
59324  {
59325  return !operator==( rhs );
59326  }
59327 #endif
59328 
59329  public:
59330  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceImage2DViewOf3DFeaturesEXT;
59331  void * pNext = {};
59332  VULKAN_HPP_NAMESPACE::Bool32 image2DViewOf3D = {};
59333  VULKAN_HPP_NAMESPACE::Bool32 sampler2DViewOf3D = {};
59334  };
59335 
59336  template <>
59338  {
59340  };
59341 
59343  {
59345 
59346  static const bool allowDuplicate = false;
59347  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceImageCompressionControlFeaturesEXT;
59348 
59349 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
59351  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
59352  : pNext( pNext_ )
59353  , imageCompressionControl( imageCompressionControl_ )
59354  {
59355  }
59356 
59358  PhysicalDeviceImageCompressionControlFeaturesEXT( PhysicalDeviceImageCompressionControlFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
59359 
59361  : PhysicalDeviceImageCompressionControlFeaturesEXT( *reinterpret_cast<PhysicalDeviceImageCompressionControlFeaturesEXT const *>( &rhs ) )
59362  {
59363  }
59364 
59366 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
59367 
59369  {
59370  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageCompressionControlFeaturesEXT const *>( &rhs );
59371  return *this;
59372  }
59373 
59374 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
59376  {
59377  pNext = pNext_;
59378  return *this;
59379  }
59380 
59383  {
59384  imageCompressionControl = imageCompressionControl_;
59385  return *this;
59386  }
59387 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
59388 
59390  {
59391  return *reinterpret_cast<const VkPhysicalDeviceImageCompressionControlFeaturesEXT *>( this );
59392  }
59393 
59395  {
59396  return *reinterpret_cast<VkPhysicalDeviceImageCompressionControlFeaturesEXT *>( this );
59397  }
59398 
59399 #if defined( VULKAN_HPP_USE_REFLECT )
59400 # if 14 <= VULKAN_HPP_CPP_VERSION
59401  auto
59402 # else
59403  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
59404 # endif
59405  reflect() const VULKAN_HPP_NOEXCEPT
59406  {
59407  return std::tie( sType, pNext, imageCompressionControl );
59408  }
59409 #endif
59410 
59411 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
59412  auto operator<=>( PhysicalDeviceImageCompressionControlFeaturesEXT const & ) const = default;
59413 #else
59415  {
59416 # if defined( VULKAN_HPP_USE_REFLECT )
59417  return this->reflect() == rhs.reflect();
59418 # else
59419  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( imageCompressionControl == rhs.imageCompressionControl );
59420 # endif
59421  }
59422 
59424  {
59425  return !operator==( rhs );
59426  }
59427 #endif
59428 
59429  public:
59430  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceImageCompressionControlFeaturesEXT;
59431  void * pNext = {};
59432  VULKAN_HPP_NAMESPACE::Bool32 imageCompressionControl = {};
59433  };
59434 
59435  template <>
59437  {
59439  };
59440 
59442  {
59444 
59445  static const bool allowDuplicate = false;
59446  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceImageCompressionControlSwapchainFeaturesEXT;
59447 
59448 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
59450  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
59451  : pNext( pNext_ )
59452  , imageCompressionControlSwapchain( imageCompressionControlSwapchain_ )
59453  {
59454  }
59455 
59456  VULKAN_HPP_CONSTEXPR PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT( PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT const & rhs )
59457  VULKAN_HPP_NOEXCEPT = default;
59458 
59461  *reinterpret_cast<PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT const *>( &rhs ) )
59462  {
59463  }
59464 
59467 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
59468 
59471  {
59473  return *this;
59474  }
59475 
59476 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
59478  {
59479  pNext = pNext_;
59480  return *this;
59481  }
59482 
59485  {
59486  imageCompressionControlSwapchain = imageCompressionControlSwapchain_;
59487  return *this;
59488  }
59489 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
59490 
59492  {
59493  return *reinterpret_cast<const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT *>( this );
59494  }
59495 
59497  {
59499  }
59500 
59501 #if defined( VULKAN_HPP_USE_REFLECT )
59502 # if 14 <= VULKAN_HPP_CPP_VERSION
59503  auto
59504 # else
59505  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
59506 # endif
59507  reflect() const VULKAN_HPP_NOEXCEPT
59508  {
59509  return std::tie( sType, pNext, imageCompressionControlSwapchain );
59510  }
59511 #endif
59512 
59513 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
59514  auto operator<=>( PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT const & ) const = default;
59515 #else
59517  {
59518 # if defined( VULKAN_HPP_USE_REFLECT )
59519  return this->reflect() == rhs.reflect();
59520 # else
59521  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( imageCompressionControlSwapchain == rhs.imageCompressionControlSwapchain );
59522 # endif
59523  }
59524 
59526  {
59527  return !operator==( rhs );
59528  }
59529 #endif
59530 
59531  public:
59532  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceImageCompressionControlSwapchainFeaturesEXT;
59533  void * pNext = {};
59534  VULKAN_HPP_NAMESPACE::Bool32 imageCompressionControlSwapchain = {};
59535  };
59536 
59537  template <>
59539  {
59541  };
59542 
59544  {
59546 
59547  static const bool allowDuplicate = false;
59548  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceImageDrmFormatModifierInfoEXT;
59549 
59550 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
59552  PhysicalDeviceImageDrmFormatModifierInfoEXT( uint64_t drmFormatModifier_ = {},
59554  uint32_t queueFamilyIndexCount_ = {},
59555  const uint32_t * pQueueFamilyIndices_ = {},
59556  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
59557  : pNext( pNext_ )
59558  , drmFormatModifier( drmFormatModifier_ )
59559  , sharingMode( sharingMode_ )
59560  , queueFamilyIndexCount( queueFamilyIndexCount_ )
59561  , pQueueFamilyIndices( pQueueFamilyIndices_ )
59562  {
59563  }
59564 
59565  VULKAN_HPP_CONSTEXPR PhysicalDeviceImageDrmFormatModifierInfoEXT( PhysicalDeviceImageDrmFormatModifierInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
59566 
59568  : PhysicalDeviceImageDrmFormatModifierInfoEXT( *reinterpret_cast<PhysicalDeviceImageDrmFormatModifierInfoEXT const *>( &rhs ) )
59569  {
59570  }
59571 
59572 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
59573  PhysicalDeviceImageDrmFormatModifierInfoEXT( uint64_t drmFormatModifier_,
59574  VULKAN_HPP_NAMESPACE::SharingMode sharingMode_,
59576  const void * pNext_ = nullptr )
59577  : pNext( pNext_ )
59578  , drmFormatModifier( drmFormatModifier_ )
59579  , sharingMode( sharingMode_ )
59580  , queueFamilyIndexCount( static_cast<uint32_t>( queueFamilyIndices_.size() ) )
59581  , pQueueFamilyIndices( queueFamilyIndices_.data() )
59582  {
59583  }
59584 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
59585 
59587 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
59588 
59590  {
59591  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageDrmFormatModifierInfoEXT const *>( &rhs );
59592  return *this;
59593  }
59594 
59595 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
59597  {
59598  pNext = pNext_;
59599  return *this;
59600  }
59601 
59603  {
59604  drmFormatModifier = drmFormatModifier_;
59605  return *this;
59606  }
59607 
59609  {
59610  sharingMode = sharingMode_;
59611  return *this;
59612  }
59613 
59615  {
59616  queueFamilyIndexCount = queueFamilyIndexCount_;
59617  return *this;
59618  }
59619 
59621  {
59622  pQueueFamilyIndices = pQueueFamilyIndices_;
59623  return *this;
59624  }
59625 
59626 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
59629  {
59630  queueFamilyIndexCount = static_cast<uint32_t>( queueFamilyIndices_.size() );
59631  pQueueFamilyIndices = queueFamilyIndices_.data();
59632  return *this;
59633  }
59634 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
59635 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
59636 
59638  {
59639  return *reinterpret_cast<const VkPhysicalDeviceImageDrmFormatModifierInfoEXT *>( this );
59640  }
59641 
59643  {
59644  return *reinterpret_cast<VkPhysicalDeviceImageDrmFormatModifierInfoEXT *>( this );
59645  }
59646 
59647 #if defined( VULKAN_HPP_USE_REFLECT )
59648 # if 14 <= VULKAN_HPP_CPP_VERSION
59649  auto
59650 # else
59651  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
59652  const void * const &,
59653  uint64_t const &,
59655  uint32_t const &,
59656  const uint32_t * const &>
59657 # endif
59658  reflect() const VULKAN_HPP_NOEXCEPT
59659  {
59660  return std::tie( sType, pNext, drmFormatModifier, sharingMode, queueFamilyIndexCount, pQueueFamilyIndices );
59661  }
59662 #endif
59663 
59664 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
59665  auto operator<=>( PhysicalDeviceImageDrmFormatModifierInfoEXT const & ) const = default;
59666 #else
59668  {
59669 # if defined( VULKAN_HPP_USE_REFLECT )
59670  return this->reflect() == rhs.reflect();
59671 # else
59672  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( drmFormatModifier == rhs.drmFormatModifier ) && ( sharingMode == rhs.sharingMode ) &&
59673  ( queueFamilyIndexCount == rhs.queueFamilyIndexCount ) && ( pQueueFamilyIndices == rhs.pQueueFamilyIndices );
59674 # endif
59675  }
59676 
59678  {
59679  return !operator==( rhs );
59680  }
59681 #endif
59682 
59683  public:
59684  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceImageDrmFormatModifierInfoEXT;
59685  const void * pNext = {};
59686  uint64_t drmFormatModifier = {};
59688  uint32_t queueFamilyIndexCount = {};
59689  const uint32_t * pQueueFamilyIndices = {};
59690  };
59691 
59692  template <>
59694  {
59696  };
59697 
59699  {
59701 
59702  static const bool allowDuplicate = false;
59703  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceImageFormatInfo2;
59704 
59705 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
59711  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
59712  : pNext( pNext_ )
59713  , format( format_ )
59714  , type( type_ )
59715  , tiling( tiling_ )
59716  , usage( usage_ )
59717  , flags( flags_ )
59718  {
59719  }
59720 
59721  VULKAN_HPP_CONSTEXPR PhysicalDeviceImageFormatInfo2( PhysicalDeviceImageFormatInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
59722 
59724  : PhysicalDeviceImageFormatInfo2( *reinterpret_cast<PhysicalDeviceImageFormatInfo2 const *>( &rhs ) )
59725  {
59726  }
59727 
59729 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
59730 
59732  {
59733  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 const *>( &rhs );
59734  return *this;
59735  }
59736 
59737 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
59739  {
59740  pNext = pNext_;
59741  return *this;
59742  }
59743 
59745  {
59746  format = format_;
59747  return *this;
59748  }
59749 
59751  {
59752  type = type_;
59753  return *this;
59754  }
59755 
59757  {
59758  tiling = tiling_;
59759  return *this;
59760  }
59761 
59763  {
59764  usage = usage_;
59765  return *this;
59766  }
59767 
59769  {
59770  flags = flags_;
59771  return *this;
59772  }
59773 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
59774 
59776  {
59777  return *reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>( this );
59778  }
59779 
59781  {
59782  return *reinterpret_cast<VkPhysicalDeviceImageFormatInfo2 *>( this );
59783  }
59784 
59785 #if defined( VULKAN_HPP_USE_REFLECT )
59786 # if 14 <= VULKAN_HPP_CPP_VERSION
59787  auto
59788 # else
59789  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
59790  const void * const &,
59796 # endif
59797  reflect() const VULKAN_HPP_NOEXCEPT
59798  {
59799  return std::tie( sType, pNext, format, type, tiling, usage, flags );
59800  }
59801 #endif
59802 
59803 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
59804  auto operator<=>( PhysicalDeviceImageFormatInfo2 const & ) const = default;
59805 #else
59807  {
59808 # if defined( VULKAN_HPP_USE_REFLECT )
59809  return this->reflect() == rhs.reflect();
59810 # else
59811  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( format == rhs.format ) && ( type == rhs.type ) && ( tiling == rhs.tiling ) &&
59812  ( usage == rhs.usage ) && ( flags == rhs.flags );
59813 # endif
59814  }
59815 
59817  {
59818  return !operator==( rhs );
59819  }
59820 #endif
59821 
59822  public:
59823  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceImageFormatInfo2;
59824  const void * pNext = {};
59830  };
59831 
59832  template <>
59834  {
59836  };
59838 
59840  {
59842 
59843  static const bool allowDuplicate = false;
59844  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceImageProcessingFeaturesQCOM;
59845 
59846 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
59848  VULKAN_HPP_NAMESPACE::Bool32 textureBoxFilter_ = {},
59849  VULKAN_HPP_NAMESPACE::Bool32 textureBlockMatch_ = {},
59850  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
59851  : pNext( pNext_ )
59852  , textureSampleWeighted( textureSampleWeighted_ )
59853  , textureBoxFilter( textureBoxFilter_ )
59854  , textureBlockMatch( textureBlockMatch_ )
59855  {
59856  }
59857 
59858  VULKAN_HPP_CONSTEXPR PhysicalDeviceImageProcessingFeaturesQCOM( PhysicalDeviceImageProcessingFeaturesQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default;
59859 
59861  : PhysicalDeviceImageProcessingFeaturesQCOM( *reinterpret_cast<PhysicalDeviceImageProcessingFeaturesQCOM const *>( &rhs ) )
59862  {
59863  }
59864 
59866 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
59867 
59869  {
59870  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageProcessingFeaturesQCOM const *>( &rhs );
59871  return *this;
59872  }
59873 
59874 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
59876  {
59877  pNext = pNext_;
59878  return *this;
59879  }
59880 
59883  {
59884  textureSampleWeighted = textureSampleWeighted_;
59885  return *this;
59886  }
59887 
59890  {
59891  textureBoxFilter = textureBoxFilter_;
59892  return *this;
59893  }
59894 
59897  {
59898  textureBlockMatch = textureBlockMatch_;
59899  return *this;
59900  }
59901 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
59902 
59904  {
59905  return *reinterpret_cast<const VkPhysicalDeviceImageProcessingFeaturesQCOM *>( this );
59906  }
59907 
59909  {
59910  return *reinterpret_cast<VkPhysicalDeviceImageProcessingFeaturesQCOM *>( this );
59911  }
59912 
59913 #if defined( VULKAN_HPP_USE_REFLECT )
59914 # if 14 <= VULKAN_HPP_CPP_VERSION
59915  auto
59916 # else
59917  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
59918  void * const &,
59922 # endif
59923  reflect() const VULKAN_HPP_NOEXCEPT
59924  {
59925  return std::tie( sType, pNext, textureSampleWeighted, textureBoxFilter, textureBlockMatch );
59926  }
59927 #endif
59928 
59929 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
59930  auto operator<=>( PhysicalDeviceImageProcessingFeaturesQCOM const & ) const = default;
59931 #else
59933  {
59934 # if defined( VULKAN_HPP_USE_REFLECT )
59935  return this->reflect() == rhs.reflect();
59936 # else
59937  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( textureSampleWeighted == rhs.textureSampleWeighted ) &&
59938  ( textureBoxFilter == rhs.textureBoxFilter ) && ( textureBlockMatch == rhs.textureBlockMatch );
59939 # endif
59940  }
59941 
59943  {
59944  return !operator==( rhs );
59945  }
59946 #endif
59947 
59948  public:
59949  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceImageProcessingFeaturesQCOM;
59950  void * pNext = {};
59951  VULKAN_HPP_NAMESPACE::Bool32 textureSampleWeighted = {};
59952  VULKAN_HPP_NAMESPACE::Bool32 textureBoxFilter = {};
59953  VULKAN_HPP_NAMESPACE::Bool32 textureBlockMatch = {};
59954  };
59955 
59956  template <>
59958  {
59960  };
59961 
59963  {
59965 
59966  static const bool allowDuplicate = false;
59967  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceImageProcessingPropertiesQCOM;
59968 
59969 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
59971  VULKAN_HPP_NAMESPACE::Extent2D maxWeightFilterDimension_ = {},
59972  VULKAN_HPP_NAMESPACE::Extent2D maxBlockMatchRegion_ = {},
59973  VULKAN_HPP_NAMESPACE::Extent2D maxBoxFilterBlockSize_ = {},
59974  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
59975  : pNext( pNext_ )
59976  , maxWeightFilterPhases( maxWeightFilterPhases_ )
59977  , maxWeightFilterDimension( maxWeightFilterDimension_ )
59978  , maxBlockMatchRegion( maxBlockMatchRegion_ )
59979  , maxBoxFilterBlockSize( maxBoxFilterBlockSize_ )
59980  {
59981  }
59982 
59983  VULKAN_HPP_CONSTEXPR PhysicalDeviceImageProcessingPropertiesQCOM( PhysicalDeviceImageProcessingPropertiesQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default;
59984 
59986  : PhysicalDeviceImageProcessingPropertiesQCOM( *reinterpret_cast<PhysicalDeviceImageProcessingPropertiesQCOM const *>( &rhs ) )
59987  {
59988  }
59989 
59991 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
59992 
59994  {
59995  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageProcessingPropertiesQCOM const *>( &rhs );
59996  return *this;
59997  }
59998 
60000  {
60001  return *reinterpret_cast<const VkPhysicalDeviceImageProcessingPropertiesQCOM *>( this );
60002  }
60003 
60005  {
60006  return *reinterpret_cast<VkPhysicalDeviceImageProcessingPropertiesQCOM *>( this );
60007  }
60008 
60009 #if defined( VULKAN_HPP_USE_REFLECT )
60010 # if 14 <= VULKAN_HPP_CPP_VERSION
60011  auto
60012 # else
60013  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
60014  void * const &,
60015  uint32_t const &,
60019 # endif
60020  reflect() const VULKAN_HPP_NOEXCEPT
60021  {
60022  return std::tie( sType, pNext, maxWeightFilterPhases, maxWeightFilterDimension, maxBlockMatchRegion, maxBoxFilterBlockSize );
60023  }
60024 #endif
60025 
60026 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
60027  auto operator<=>( PhysicalDeviceImageProcessingPropertiesQCOM const & ) const = default;
60028 #else
60030  {
60031 # if defined( VULKAN_HPP_USE_REFLECT )
60032  return this->reflect() == rhs.reflect();
60033 # else
60034  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxWeightFilterPhases == rhs.maxWeightFilterPhases ) &&
60035  ( maxWeightFilterDimension == rhs.maxWeightFilterDimension ) && ( maxBlockMatchRegion == rhs.maxBlockMatchRegion ) &&
60036  ( maxBoxFilterBlockSize == rhs.maxBoxFilterBlockSize );
60037 # endif
60038  }
60039 
60041  {
60042  return !operator==( rhs );
60043  }
60044 #endif
60045 
60046  public:
60047  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceImageProcessingPropertiesQCOM;
60048  void * pNext = {};
60049  uint32_t maxWeightFilterPhases = {};
60050  VULKAN_HPP_NAMESPACE::Extent2D maxWeightFilterDimension = {};
60051  VULKAN_HPP_NAMESPACE::Extent2D maxBlockMatchRegion = {};
60052  VULKAN_HPP_NAMESPACE::Extent2D maxBoxFilterBlockSize = {};
60053  };
60054 
60055  template <>
60057  {
60059  };
60060 
60062  {
60064 
60065  static const bool allowDuplicate = false;
60066  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceImageRobustnessFeatures;
60067 
60068 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
60070  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
60071  : pNext( pNext_ )
60072  , robustImageAccess( robustImageAccess_ )
60073  {
60074  }
60075 
60076  VULKAN_HPP_CONSTEXPR PhysicalDeviceImageRobustnessFeatures( PhysicalDeviceImageRobustnessFeatures const & rhs ) VULKAN_HPP_NOEXCEPT = default;
60077 
60079  : PhysicalDeviceImageRobustnessFeatures( *reinterpret_cast<PhysicalDeviceImageRobustnessFeatures const *>( &rhs ) )
60080  {
60081  }
60082 
60084 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
60085 
60087  {
60088  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageRobustnessFeatures const *>( &rhs );
60089  return *this;
60090  }
60091 
60092 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
60094  {
60095  pNext = pNext_;
60096  return *this;
60097  }
60098 
60100  {
60101  robustImageAccess = robustImageAccess_;
60102  return *this;
60103  }
60104 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
60105 
60107  {
60108  return *reinterpret_cast<const VkPhysicalDeviceImageRobustnessFeatures *>( this );
60109  }
60110 
60112  {
60113  return *reinterpret_cast<VkPhysicalDeviceImageRobustnessFeatures *>( this );
60114  }
60115 
60116 #if defined( VULKAN_HPP_USE_REFLECT )
60117 # if 14 <= VULKAN_HPP_CPP_VERSION
60118  auto
60119 # else
60120  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
60121 # endif
60122  reflect() const VULKAN_HPP_NOEXCEPT
60123  {
60124  return std::tie( sType, pNext, robustImageAccess );
60125  }
60126 #endif
60127 
60128 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
60129  auto operator<=>( PhysicalDeviceImageRobustnessFeatures const & ) const = default;
60130 #else
60132  {
60133 # if defined( VULKAN_HPP_USE_REFLECT )
60134  return this->reflect() == rhs.reflect();
60135 # else
60136  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( robustImageAccess == rhs.robustImageAccess );
60137 # endif
60138  }
60139 
60141  {
60142  return !operator==( rhs );
60143  }
60144 #endif
60145 
60146  public:
60147  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceImageRobustnessFeatures;
60148  void * pNext = {};
60149  VULKAN_HPP_NAMESPACE::Bool32 robustImageAccess = {};
60150  };
60151 
60152  template <>
60154  {
60156  };
60158 
60160  {
60162 
60163  static const bool allowDuplicate = false;
60164  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceImageViewImageFormatInfoEXT;
60165 
60166 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
60169  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
60170  : pNext( pNext_ )
60171  , imageViewType( imageViewType_ )
60172  {
60173  }
60174 
60176 
60178  : PhysicalDeviceImageViewImageFormatInfoEXT( *reinterpret_cast<PhysicalDeviceImageViewImageFormatInfoEXT const *>( &rhs ) )
60179  {
60180  }
60181 
60183 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
60184 
60186  {
60187  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageViewImageFormatInfoEXT const *>( &rhs );
60188  return *this;
60189  }
60190 
60191 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
60193  {
60194  pNext = pNext_;
60195  return *this;
60196  }
60197 
60200  {
60201  imageViewType = imageViewType_;
60202  return *this;
60203  }
60204 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
60205 
60207  {
60208  return *reinterpret_cast<const VkPhysicalDeviceImageViewImageFormatInfoEXT *>( this );
60209  }
60210 
60212  {
60213  return *reinterpret_cast<VkPhysicalDeviceImageViewImageFormatInfoEXT *>( this );
60214  }
60215 
60216 #if defined( VULKAN_HPP_USE_REFLECT )
60217 # if 14 <= VULKAN_HPP_CPP_VERSION
60218  auto
60219 # else
60220  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::ImageViewType const &>
60221 # endif
60222  reflect() const VULKAN_HPP_NOEXCEPT
60223  {
60224  return std::tie( sType, pNext, imageViewType );
60225  }
60226 #endif
60227 
60228 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
60229  auto operator<=>( PhysicalDeviceImageViewImageFormatInfoEXT const & ) const = default;
60230 #else
60232  {
60233 # if defined( VULKAN_HPP_USE_REFLECT )
60234  return this->reflect() == rhs.reflect();
60235 # else
60236  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( imageViewType == rhs.imageViewType );
60237 # endif
60238  }
60239 
60241  {
60242  return !operator==( rhs );
60243  }
60244 #endif
60245 
60246  public:
60247  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceImageViewImageFormatInfoEXT;
60248  void * pNext = {};
60250  };
60251 
60252  template <>
60254  {
60256  };
60257 
60259  {
60261 
60262  static const bool allowDuplicate = false;
60263  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceImageViewMinLodFeaturesEXT;
60264 
60265 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
60267  : pNext( pNext_ )
60268  , minLod( minLod_ )
60269  {
60270  }
60271 
60272  VULKAN_HPP_CONSTEXPR PhysicalDeviceImageViewMinLodFeaturesEXT( PhysicalDeviceImageViewMinLodFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
60273 
60275  : PhysicalDeviceImageViewMinLodFeaturesEXT( *reinterpret_cast<PhysicalDeviceImageViewMinLodFeaturesEXT const *>( &rhs ) )
60276  {
60277  }
60278 
60280 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
60281 
60283  {
60284  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageViewMinLodFeaturesEXT const *>( &rhs );
60285  return *this;
60286  }
60287 
60288 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
60290  {
60291  pNext = pNext_;
60292  return *this;
60293  }
60294 
60296  {
60297  minLod = minLod_;
60298  return *this;
60299  }
60300 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
60301 
60303  {
60304  return *reinterpret_cast<const VkPhysicalDeviceImageViewMinLodFeaturesEXT *>( this );
60305  }
60306 
60308  {
60309  return *reinterpret_cast<VkPhysicalDeviceImageViewMinLodFeaturesEXT *>( this );
60310  }
60311 
60312 #if defined( VULKAN_HPP_USE_REFLECT )
60313 # if 14 <= VULKAN_HPP_CPP_VERSION
60314  auto
60315 # else
60316  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
60317 # endif
60318  reflect() const VULKAN_HPP_NOEXCEPT
60319  {
60320  return std::tie( sType, pNext, minLod );
60321  }
60322 #endif
60323 
60324 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
60325  auto operator<=>( PhysicalDeviceImageViewMinLodFeaturesEXT const & ) const = default;
60326 #else
60328  {
60329 # if defined( VULKAN_HPP_USE_REFLECT )
60330  return this->reflect() == rhs.reflect();
60331 # else
60332  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( minLod == rhs.minLod );
60333 # endif
60334  }
60335 
60337  {
60338  return !operator==( rhs );
60339  }
60340 #endif
60341 
60342  public:
60343  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceImageViewMinLodFeaturesEXT;
60344  void * pNext = {};
60346  };
60347 
60348  template <>
60350  {
60352  };
60353 
60355  {
60357 
60358  static const bool allowDuplicate = false;
60359  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceImagelessFramebufferFeatures;
60360 
60361 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
60363  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
60364  : pNext( pNext_ )
60365  , imagelessFramebuffer( imagelessFramebuffer_ )
60366  {
60367  }
60368 
60369  VULKAN_HPP_CONSTEXPR PhysicalDeviceImagelessFramebufferFeatures( PhysicalDeviceImagelessFramebufferFeatures const & rhs ) VULKAN_HPP_NOEXCEPT = default;
60370 
60372  : PhysicalDeviceImagelessFramebufferFeatures( *reinterpret_cast<PhysicalDeviceImagelessFramebufferFeatures const *>( &rhs ) )
60373  {
60374  }
60375 
60377 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
60378 
60380  {
60381  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceImagelessFramebufferFeatures const *>( &rhs );
60382  return *this;
60383  }
60384 
60385 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
60387  {
60388  pNext = pNext_;
60389  return *this;
60390  }
60391 
60394  {
60395  imagelessFramebuffer = imagelessFramebuffer_;
60396  return *this;
60397  }
60398 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
60399 
60401  {
60402  return *reinterpret_cast<const VkPhysicalDeviceImagelessFramebufferFeatures *>( this );
60403  }
60404 
60406  {
60407  return *reinterpret_cast<VkPhysicalDeviceImagelessFramebufferFeatures *>( this );
60408  }
60409 
60410 #if defined( VULKAN_HPP_USE_REFLECT )
60411 # if 14 <= VULKAN_HPP_CPP_VERSION
60412  auto
60413 # else
60414  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
60415 # endif
60416  reflect() const VULKAN_HPP_NOEXCEPT
60417  {
60418  return std::tie( sType, pNext, imagelessFramebuffer );
60419  }
60420 #endif
60421 
60422 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
60423  auto operator<=>( PhysicalDeviceImagelessFramebufferFeatures const & ) const = default;
60424 #else
60426  {
60427 # if defined( VULKAN_HPP_USE_REFLECT )
60428  return this->reflect() == rhs.reflect();
60429 # else
60430  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( imagelessFramebuffer == rhs.imagelessFramebuffer );
60431 # endif
60432  }
60433 
60435  {
60436  return !operator==( rhs );
60437  }
60438 #endif
60439 
60440  public:
60441  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceImagelessFramebufferFeatures;
60442  void * pNext = {};
60443  VULKAN_HPP_NAMESPACE::Bool32 imagelessFramebuffer = {};
60444  };
60445 
60446  template <>
60448  {
60450  };
60452 
60454  {
60456 
60457  static const bool allowDuplicate = false;
60458  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceIndexTypeUint8FeaturesEXT;
60459 
60460 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
60462  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
60463  : pNext( pNext_ )
60464  , indexTypeUint8( indexTypeUint8_ )
60465  {
60466  }
60467 
60468  VULKAN_HPP_CONSTEXPR PhysicalDeviceIndexTypeUint8FeaturesEXT( PhysicalDeviceIndexTypeUint8FeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
60469 
60471  : PhysicalDeviceIndexTypeUint8FeaturesEXT( *reinterpret_cast<PhysicalDeviceIndexTypeUint8FeaturesEXT const *>( &rhs ) )
60472  {
60473  }
60474 
60476 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
60477 
60479  {
60480  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceIndexTypeUint8FeaturesEXT const *>( &rhs );
60481  return *this;
60482  }
60483 
60484 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
60486  {
60487  pNext = pNext_;
60488  return *this;
60489  }
60490 
60492  {
60493  indexTypeUint8 = indexTypeUint8_;
60494  return *this;
60495  }
60496 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
60497 
60499  {
60500  return *reinterpret_cast<const VkPhysicalDeviceIndexTypeUint8FeaturesEXT *>( this );
60501  }
60502 
60504  {
60505  return *reinterpret_cast<VkPhysicalDeviceIndexTypeUint8FeaturesEXT *>( this );
60506  }
60507 
60508 #if defined( VULKAN_HPP_USE_REFLECT )
60509 # if 14 <= VULKAN_HPP_CPP_VERSION
60510  auto
60511 # else
60512  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
60513 # endif
60514  reflect() const VULKAN_HPP_NOEXCEPT
60515  {
60516  return std::tie( sType, pNext, indexTypeUint8 );
60517  }
60518 #endif
60519 
60520 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
60521  auto operator<=>( PhysicalDeviceIndexTypeUint8FeaturesEXT const & ) const = default;
60522 #else
60524  {
60525 # if defined( VULKAN_HPP_USE_REFLECT )
60526  return this->reflect() == rhs.reflect();
60527 # else
60528  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( indexTypeUint8 == rhs.indexTypeUint8 );
60529 # endif
60530  }
60531 
60533  {
60534  return !operator==( rhs );
60535  }
60536 #endif
60537 
60538  public:
60539  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceIndexTypeUint8FeaturesEXT;
60540  void * pNext = {};
60541  VULKAN_HPP_NAMESPACE::Bool32 indexTypeUint8 = {};
60542  };
60543 
60544  template <>
60546  {
60548  };
60549 
60551  {
60553 
60554  static const bool allowDuplicate = false;
60555  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceInheritedViewportScissorFeaturesNV;
60556 
60557 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
60559  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
60560  : pNext( pNext_ )
60561  , inheritedViewportScissor2D( inheritedViewportScissor2D_ )
60562  {
60563  }
60564 
60566  PhysicalDeviceInheritedViewportScissorFeaturesNV( PhysicalDeviceInheritedViewportScissorFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
60567 
60569  : PhysicalDeviceInheritedViewportScissorFeaturesNV( *reinterpret_cast<PhysicalDeviceInheritedViewportScissorFeaturesNV const *>( &rhs ) )
60570  {
60571  }
60572 
60574 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
60575 
60577  {
60578  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceInheritedViewportScissorFeaturesNV const *>( &rhs );
60579  return *this;
60580  }
60581 
60582 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
60584  {
60585  pNext = pNext_;
60586  return *this;
60587  }
60588 
60591  {
60592  inheritedViewportScissor2D = inheritedViewportScissor2D_;
60593  return *this;
60594  }
60595 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
60596 
60598  {
60599  return *reinterpret_cast<const VkPhysicalDeviceInheritedViewportScissorFeaturesNV *>( this );
60600  }
60601 
60603  {
60604  return *reinterpret_cast<VkPhysicalDeviceInheritedViewportScissorFeaturesNV *>( this );
60605  }
60606 
60607 #if defined( VULKAN_HPP_USE_REFLECT )
60608 # if 14 <= VULKAN_HPP_CPP_VERSION
60609  auto
60610 # else
60611  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
60612 # endif
60613  reflect() const VULKAN_HPP_NOEXCEPT
60614  {
60615  return std::tie( sType, pNext, inheritedViewportScissor2D );
60616  }
60617 #endif
60618 
60619 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
60620  auto operator<=>( PhysicalDeviceInheritedViewportScissorFeaturesNV const & ) const = default;
60621 #else
60623  {
60624 # if defined( VULKAN_HPP_USE_REFLECT )
60625  return this->reflect() == rhs.reflect();
60626 # else
60627  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( inheritedViewportScissor2D == rhs.inheritedViewportScissor2D );
60628 # endif
60629  }
60630 
60632  {
60633  return !operator==( rhs );
60634  }
60635 #endif
60636 
60637  public:
60638  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceInheritedViewportScissorFeaturesNV;
60639  void * pNext = {};
60640  VULKAN_HPP_NAMESPACE::Bool32 inheritedViewportScissor2D = {};
60641  };
60642 
60643  template <>
60645  {
60647  };
60648 
60650  {
60652 
60653  static const bool allowDuplicate = false;
60654  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceInlineUniformBlockFeatures;
60655 
60656 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
60658  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingInlineUniformBlockUpdateAfterBind_ = {},
60659  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
60660  : pNext( pNext_ )
60661  , inlineUniformBlock( inlineUniformBlock_ )
60662  , descriptorBindingInlineUniformBlockUpdateAfterBind( descriptorBindingInlineUniformBlockUpdateAfterBind_ )
60663  {
60664  }
60665 
60666  VULKAN_HPP_CONSTEXPR PhysicalDeviceInlineUniformBlockFeatures( PhysicalDeviceInlineUniformBlockFeatures const & rhs ) VULKAN_HPP_NOEXCEPT = default;
60667 
60669  : PhysicalDeviceInlineUniformBlockFeatures( *reinterpret_cast<PhysicalDeviceInlineUniformBlockFeatures const *>( &rhs ) )
60670  {
60671  }
60672 
60674 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
60675 
60677  {
60678  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceInlineUniformBlockFeatures const *>( &rhs );
60679  return *this;
60680  }
60681 
60682 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
60684  {
60685  pNext = pNext_;
60686  return *this;
60687  }
60688 
60691  {
60692  inlineUniformBlock = inlineUniformBlock_;
60693  return *this;
60694  }
60695 
60697  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingInlineUniformBlockUpdateAfterBind_ ) VULKAN_HPP_NOEXCEPT
60698  {
60699  descriptorBindingInlineUniformBlockUpdateAfterBind = descriptorBindingInlineUniformBlockUpdateAfterBind_;
60700  return *this;
60701  }
60702 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
60703 
60705  {
60706  return *reinterpret_cast<const VkPhysicalDeviceInlineUniformBlockFeatures *>( this );
60707  }
60708 
60710  {
60711  return *reinterpret_cast<VkPhysicalDeviceInlineUniformBlockFeatures *>( this );
60712  }
60713 
60714 #if defined( VULKAN_HPP_USE_REFLECT )
60715 # if 14 <= VULKAN_HPP_CPP_VERSION
60716  auto
60717 # else
60718  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
60719 # endif
60720  reflect() const VULKAN_HPP_NOEXCEPT
60721  {
60722  return std::tie( sType, pNext, inlineUniformBlock, descriptorBindingInlineUniformBlockUpdateAfterBind );
60723  }
60724 #endif
60725 
60726 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
60727  auto operator<=>( PhysicalDeviceInlineUniformBlockFeatures const & ) const = default;
60728 #else
60730  {
60731 # if defined( VULKAN_HPP_USE_REFLECT )
60732  return this->reflect() == rhs.reflect();
60733 # else
60734  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( inlineUniformBlock == rhs.inlineUniformBlock ) &&
60735  ( descriptorBindingInlineUniformBlockUpdateAfterBind == rhs.descriptorBindingInlineUniformBlockUpdateAfterBind );
60736 # endif
60737  }
60738 
60740  {
60741  return !operator==( rhs );
60742  }
60743 #endif
60744 
60745  public:
60746  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceInlineUniformBlockFeatures;
60747  void * pNext = {};
60748  VULKAN_HPP_NAMESPACE::Bool32 inlineUniformBlock = {};
60749  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingInlineUniformBlockUpdateAfterBind = {};
60750  };
60751 
60752  template <>
60754  {
60756  };
60758 
60760  {
60762 
60763  static const bool allowDuplicate = false;
60764  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceInlineUniformBlockProperties;
60765 
60766 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
60767  VULKAN_HPP_CONSTEXPR PhysicalDeviceInlineUniformBlockProperties( uint32_t maxInlineUniformBlockSize_ = {},
60768  uint32_t maxPerStageDescriptorInlineUniformBlocks_ = {},
60769  uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks_ = {},
60770  uint32_t maxDescriptorSetInlineUniformBlocks_ = {},
60771  uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks_ = {},
60772  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
60773  : pNext( pNext_ )
60774  , maxInlineUniformBlockSize( maxInlineUniformBlockSize_ )
60775  , maxPerStageDescriptorInlineUniformBlocks( maxPerStageDescriptorInlineUniformBlocks_ )
60776  , maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks( maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks_ )
60777  , maxDescriptorSetInlineUniformBlocks( maxDescriptorSetInlineUniformBlocks_ )
60778  , maxDescriptorSetUpdateAfterBindInlineUniformBlocks( maxDescriptorSetUpdateAfterBindInlineUniformBlocks_ )
60779  {
60780  }
60781 
60782  VULKAN_HPP_CONSTEXPR PhysicalDeviceInlineUniformBlockProperties( PhysicalDeviceInlineUniformBlockProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
60783 
60785  : PhysicalDeviceInlineUniformBlockProperties( *reinterpret_cast<PhysicalDeviceInlineUniformBlockProperties const *>( &rhs ) )
60786  {
60787  }
60788 
60790 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
60791 
60793  {
60794  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceInlineUniformBlockProperties const *>( &rhs );
60795  return *this;
60796  }
60797 
60799  {
60800  return *reinterpret_cast<const VkPhysicalDeviceInlineUniformBlockProperties *>( this );
60801  }
60802 
60804  {
60805  return *reinterpret_cast<VkPhysicalDeviceInlineUniformBlockProperties *>( this );
60806  }
60807 
60808 #if defined( VULKAN_HPP_USE_REFLECT )
60809 # if 14 <= VULKAN_HPP_CPP_VERSION
60810  auto
60811 # else
60812  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
60813  void * const &,
60814  uint32_t const &,
60815  uint32_t const &,
60816  uint32_t const &,
60817  uint32_t const &,
60818  uint32_t const &>
60819 # endif
60820  reflect() const VULKAN_HPP_NOEXCEPT
60821  {
60822  return std::tie( sType,
60823  pNext,
60824  maxInlineUniformBlockSize,
60825  maxPerStageDescriptorInlineUniformBlocks,
60826  maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks,
60827  maxDescriptorSetInlineUniformBlocks,
60828  maxDescriptorSetUpdateAfterBindInlineUniformBlocks );
60829  }
60830 #endif
60831 
60832 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
60833  auto operator<=>( PhysicalDeviceInlineUniformBlockProperties const & ) const = default;
60834 #else
60836  {
60837 # if defined( VULKAN_HPP_USE_REFLECT )
60838  return this->reflect() == rhs.reflect();
60839 # else
60840  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxInlineUniformBlockSize == rhs.maxInlineUniformBlockSize ) &&
60841  ( maxPerStageDescriptorInlineUniformBlocks == rhs.maxPerStageDescriptorInlineUniformBlocks ) &&
60842  ( maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks == rhs.maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks ) &&
60843  ( maxDescriptorSetInlineUniformBlocks == rhs.maxDescriptorSetInlineUniformBlocks ) &&
60844  ( maxDescriptorSetUpdateAfterBindInlineUniformBlocks == rhs.maxDescriptorSetUpdateAfterBindInlineUniformBlocks );
60845 # endif
60846  }
60847 
60849  {
60850  return !operator==( rhs );
60851  }
60852 #endif
60853 
60854  public:
60855  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceInlineUniformBlockProperties;
60856  void * pNext = {};
60857  uint32_t maxInlineUniformBlockSize = {};
60858  uint32_t maxPerStageDescriptorInlineUniformBlocks = {};
60859  uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = {};
60860  uint32_t maxDescriptorSetInlineUniformBlocks = {};
60861  uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks = {};
60862  };
60863 
60864  template <>
60866  {
60868  };
60870 
60872  {
60874 
60875  static const bool allowDuplicate = false;
60876  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceInvocationMaskFeaturesHUAWEI;
60877 
60878 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
60880  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
60881  : pNext( pNext_ )
60882  , invocationMask( invocationMask_ )
60883  {
60884  }
60885 
60886  VULKAN_HPP_CONSTEXPR PhysicalDeviceInvocationMaskFeaturesHUAWEI( PhysicalDeviceInvocationMaskFeaturesHUAWEI const & rhs ) VULKAN_HPP_NOEXCEPT = default;
60887 
60889  : PhysicalDeviceInvocationMaskFeaturesHUAWEI( *reinterpret_cast<PhysicalDeviceInvocationMaskFeaturesHUAWEI const *>( &rhs ) )
60890  {
60891  }
60892 
60894 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
60895 
60897  {
60898  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceInvocationMaskFeaturesHUAWEI const *>( &rhs );
60899  return *this;
60900  }
60901 
60902 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
60904  {
60905  pNext = pNext_;
60906  return *this;
60907  }
60908 
60910  {
60911  invocationMask = invocationMask_;
60912  return *this;
60913  }
60914 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
60915 
60917  {
60918  return *reinterpret_cast<const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI *>( this );
60919  }
60920 
60922  {
60923  return *reinterpret_cast<VkPhysicalDeviceInvocationMaskFeaturesHUAWEI *>( this );
60924  }
60925 
60926 #if defined( VULKAN_HPP_USE_REFLECT )
60927 # if 14 <= VULKAN_HPP_CPP_VERSION
60928  auto
60929 # else
60930  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
60931 # endif
60932  reflect() const VULKAN_HPP_NOEXCEPT
60933  {
60934  return std::tie( sType, pNext, invocationMask );
60935  }
60936 #endif
60937 
60938 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
60939  auto operator<=>( PhysicalDeviceInvocationMaskFeaturesHUAWEI const & ) const = default;
60940 #else
60942  {
60943 # if defined( VULKAN_HPP_USE_REFLECT )
60944  return this->reflect() == rhs.reflect();
60945 # else
60946  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( invocationMask == rhs.invocationMask );
60947 # endif
60948  }
60949 
60951  {
60952  return !operator==( rhs );
60953  }
60954 #endif
60955 
60956  public:
60957  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceInvocationMaskFeaturesHUAWEI;
60958  void * pNext = {};
60959  VULKAN_HPP_NAMESPACE::Bool32 invocationMask = {};
60960  };
60961 
60962  template <>
60964  {
60966  };
60967 
60969  {
60971 
60972  static const bool allowDuplicate = false;
60973  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceLegacyDitheringFeaturesEXT;
60974 
60975 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
60977  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
60978  : pNext( pNext_ )
60979  , legacyDithering( legacyDithering_ )
60980  {
60981  }
60982 
60983  VULKAN_HPP_CONSTEXPR PhysicalDeviceLegacyDitheringFeaturesEXT( PhysicalDeviceLegacyDitheringFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
60984 
60986  : PhysicalDeviceLegacyDitheringFeaturesEXT( *reinterpret_cast<PhysicalDeviceLegacyDitheringFeaturesEXT const *>( &rhs ) )
60987  {
60988  }
60989 
60991 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
60992 
60994  {
60995  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceLegacyDitheringFeaturesEXT const *>( &rhs );
60996  return *this;
60997  }
60998 
60999 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
61001  {
61002  pNext = pNext_;
61003  return *this;
61004  }
61005 
61007  {
61008  legacyDithering = legacyDithering_;
61009  return *this;
61010  }
61011 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
61012 
61014  {
61015  return *reinterpret_cast<const VkPhysicalDeviceLegacyDitheringFeaturesEXT *>( this );
61016  }
61017 
61019  {
61020  return *reinterpret_cast<VkPhysicalDeviceLegacyDitheringFeaturesEXT *>( this );
61021  }
61022 
61023 #if defined( VULKAN_HPP_USE_REFLECT )
61024 # if 14 <= VULKAN_HPP_CPP_VERSION
61025  auto
61026 # else
61027  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
61028 # endif
61029  reflect() const VULKAN_HPP_NOEXCEPT
61030  {
61031  return std::tie( sType, pNext, legacyDithering );
61032  }
61033 #endif
61034 
61035 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
61036  auto operator<=>( PhysicalDeviceLegacyDitheringFeaturesEXT const & ) const = default;
61037 #else
61039  {
61040 # if defined( VULKAN_HPP_USE_REFLECT )
61041  return this->reflect() == rhs.reflect();
61042 # else
61043  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( legacyDithering == rhs.legacyDithering );
61044 # endif
61045  }
61046 
61048  {
61049  return !operator==( rhs );
61050  }
61051 #endif
61052 
61053  public:
61054  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceLegacyDitheringFeaturesEXT;
61055  void * pNext = {};
61056  VULKAN_HPP_NAMESPACE::Bool32 legacyDithering = {};
61057  };
61058 
61059  template <>
61061  {
61063  };
61064 
61066  {
61068 
61069 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
61070  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceLimits( uint32_t maxImageDimension1D_ = {},
61071  uint32_t maxImageDimension2D_ = {},
61072  uint32_t maxImageDimension3D_ = {},
61073  uint32_t maxImageDimensionCube_ = {},
61074  uint32_t maxImageArrayLayers_ = {},
61075  uint32_t maxTexelBufferElements_ = {},
61076  uint32_t maxUniformBufferRange_ = {},
61077  uint32_t maxStorageBufferRange_ = {},
61078  uint32_t maxPushConstantsSize_ = {},
61079  uint32_t maxMemoryAllocationCount_ = {},
61080  uint32_t maxSamplerAllocationCount_ = {},
61081  VULKAN_HPP_NAMESPACE::DeviceSize bufferImageGranularity_ = {},
61082  VULKAN_HPP_NAMESPACE::DeviceSize sparseAddressSpaceSize_ = {},
61083  uint32_t maxBoundDescriptorSets_ = {},
61084  uint32_t maxPerStageDescriptorSamplers_ = {},
61085  uint32_t maxPerStageDescriptorUniformBuffers_ = {},
61086  uint32_t maxPerStageDescriptorStorageBuffers_ = {},
61087  uint32_t maxPerStageDescriptorSampledImages_ = {},
61088  uint32_t maxPerStageDescriptorStorageImages_ = {},
61089  uint32_t maxPerStageDescriptorInputAttachments_ = {},
61090  uint32_t maxPerStageResources_ = {},
61091  uint32_t maxDescriptorSetSamplers_ = {},
61092  uint32_t maxDescriptorSetUniformBuffers_ = {},
61093  uint32_t maxDescriptorSetUniformBuffersDynamic_ = {},
61094  uint32_t maxDescriptorSetStorageBuffers_ = {},
61095  uint32_t maxDescriptorSetStorageBuffersDynamic_ = {},
61096  uint32_t maxDescriptorSetSampledImages_ = {},
61097  uint32_t maxDescriptorSetStorageImages_ = {},
61098  uint32_t maxDescriptorSetInputAttachments_ = {},
61099  uint32_t maxVertexInputAttributes_ = {},
61100  uint32_t maxVertexInputBindings_ = {},
61101  uint32_t maxVertexInputAttributeOffset_ = {},
61102  uint32_t maxVertexInputBindingStride_ = {},
61103  uint32_t maxVertexOutputComponents_ = {},
61104  uint32_t maxTessellationGenerationLevel_ = {},
61105  uint32_t maxTessellationPatchSize_ = {},
61106  uint32_t maxTessellationControlPerVertexInputComponents_ = {},
61107  uint32_t maxTessellationControlPerVertexOutputComponents_ = {},
61108  uint32_t maxTessellationControlPerPatchOutputComponents_ = {},
61109  uint32_t maxTessellationControlTotalOutputComponents_ = {},
61110  uint32_t maxTessellationEvaluationInputComponents_ = {},
61111  uint32_t maxTessellationEvaluationOutputComponents_ = {},
61112  uint32_t maxGeometryShaderInvocations_ = {},
61113  uint32_t maxGeometryInputComponents_ = {},
61114  uint32_t maxGeometryOutputComponents_ = {},
61115  uint32_t maxGeometryOutputVertices_ = {},
61116  uint32_t maxGeometryTotalOutputComponents_ = {},
61117  uint32_t maxFragmentInputComponents_ = {},
61118  uint32_t maxFragmentOutputAttachments_ = {},
61119  uint32_t maxFragmentDualSrcAttachments_ = {},
61120  uint32_t maxFragmentCombinedOutputResources_ = {},
61121  uint32_t maxComputeSharedMemorySize_ = {},
61122  std::array<uint32_t, 3> const & maxComputeWorkGroupCount_ = {},
61123  uint32_t maxComputeWorkGroupInvocations_ = {},
61124  std::array<uint32_t, 3> const & maxComputeWorkGroupSize_ = {},
61125  uint32_t subPixelPrecisionBits_ = {},
61126  uint32_t subTexelPrecisionBits_ = {},
61127  uint32_t mipmapPrecisionBits_ = {},
61128  uint32_t maxDrawIndexedIndexValue_ = {},
61129  uint32_t maxDrawIndirectCount_ = {},
61130  float maxSamplerLodBias_ = {},
61131  float maxSamplerAnisotropy_ = {},
61132  uint32_t maxViewports_ = {},
61133  std::array<uint32_t, 2> const & maxViewportDimensions_ = {},
61134  std::array<float, 2> const & viewportBoundsRange_ = {},
61135  uint32_t viewportSubPixelBits_ = {},
61136  size_t minMemoryMapAlignment_ = {},
61137  VULKAN_HPP_NAMESPACE::DeviceSize minTexelBufferOffsetAlignment_ = {},
61138  VULKAN_HPP_NAMESPACE::DeviceSize minUniformBufferOffsetAlignment_ = {},
61139  VULKAN_HPP_NAMESPACE::DeviceSize minStorageBufferOffsetAlignment_ = {},
61140  int32_t minTexelOffset_ = {},
61141  uint32_t maxTexelOffset_ = {},
61142  int32_t minTexelGatherOffset_ = {},
61143  uint32_t maxTexelGatherOffset_ = {},
61144  float minInterpolationOffset_ = {},
61145  float maxInterpolationOffset_ = {},
61146  uint32_t subPixelInterpolationOffsetBits_ = {},
61147  uint32_t maxFramebufferWidth_ = {},
61148  uint32_t maxFramebufferHeight_ = {},
61149  uint32_t maxFramebufferLayers_ = {},
61150  VULKAN_HPP_NAMESPACE::SampleCountFlags framebufferColorSampleCounts_ = {},
61151  VULKAN_HPP_NAMESPACE::SampleCountFlags framebufferDepthSampleCounts_ = {},
61152  VULKAN_HPP_NAMESPACE::SampleCountFlags framebufferStencilSampleCounts_ = {},
61153  VULKAN_HPP_NAMESPACE::SampleCountFlags framebufferNoAttachmentsSampleCounts_ = {},
61154  uint32_t maxColorAttachments_ = {},
61155  VULKAN_HPP_NAMESPACE::SampleCountFlags sampledImageColorSampleCounts_ = {},
61156  VULKAN_HPP_NAMESPACE::SampleCountFlags sampledImageIntegerSampleCounts_ = {},
61157  VULKAN_HPP_NAMESPACE::SampleCountFlags sampledImageDepthSampleCounts_ = {},
61158  VULKAN_HPP_NAMESPACE::SampleCountFlags sampledImageStencilSampleCounts_ = {},
61159  VULKAN_HPP_NAMESPACE::SampleCountFlags storageImageSampleCounts_ = {},
61160  uint32_t maxSampleMaskWords_ = {},
61161  VULKAN_HPP_NAMESPACE::Bool32 timestampComputeAndGraphics_ = {},
61162  float timestampPeriod_ = {},
61163  uint32_t maxClipDistances_ = {},
61164  uint32_t maxCullDistances_ = {},
61165  uint32_t maxCombinedClipAndCullDistances_ = {},
61166  uint32_t discreteQueuePriorities_ = {},
61167  std::array<float, 2> const & pointSizeRange_ = {},
61168  std::array<float, 2> const & lineWidthRange_ = {},
61169  float pointSizeGranularity_ = {},
61170  float lineWidthGranularity_ = {},
61171  VULKAN_HPP_NAMESPACE::Bool32 strictLines_ = {},
61172  VULKAN_HPP_NAMESPACE::Bool32 standardSampleLocations_ = {},
61173  VULKAN_HPP_NAMESPACE::DeviceSize optimalBufferCopyOffsetAlignment_ = {},
61174  VULKAN_HPP_NAMESPACE::DeviceSize optimalBufferCopyRowPitchAlignment_ = {},
61175  VULKAN_HPP_NAMESPACE::DeviceSize nonCoherentAtomSize_ = {} ) VULKAN_HPP_NOEXCEPT
61176  : maxImageDimension1D( maxImageDimension1D_ )
61177  , maxImageDimension2D( maxImageDimension2D_ )
61178  , maxImageDimension3D( maxImageDimension3D_ )
61179  , maxImageDimensionCube( maxImageDimensionCube_ )
61180  , maxImageArrayLayers( maxImageArrayLayers_ )
61181  , maxTexelBufferElements( maxTexelBufferElements_ )
61182  , maxUniformBufferRange( maxUniformBufferRange_ )
61183  , maxStorageBufferRange( maxStorageBufferRange_ )
61184  , maxPushConstantsSize( maxPushConstantsSize_ )
61185  , maxMemoryAllocationCount( maxMemoryAllocationCount_ )
61186  , maxSamplerAllocationCount( maxSamplerAllocationCount_ )
61187  , bufferImageGranularity( bufferImageGranularity_ )
61188  , sparseAddressSpaceSize( sparseAddressSpaceSize_ )
61189  , maxBoundDescriptorSets( maxBoundDescriptorSets_ )
61190  , maxPerStageDescriptorSamplers( maxPerStageDescriptorSamplers_ )
61191  , maxPerStageDescriptorUniformBuffers( maxPerStageDescriptorUniformBuffers_ )
61192  , maxPerStageDescriptorStorageBuffers( maxPerStageDescriptorStorageBuffers_ )
61193  , maxPerStageDescriptorSampledImages( maxPerStageDescriptorSampledImages_ )
61194  , maxPerStageDescriptorStorageImages( maxPerStageDescriptorStorageImages_ )
61195  , maxPerStageDescriptorInputAttachments( maxPerStageDescriptorInputAttachments_ )
61196  , maxPerStageResources( maxPerStageResources_ )
61197  , maxDescriptorSetSamplers( maxDescriptorSetSamplers_ )
61198  , maxDescriptorSetUniformBuffers( maxDescriptorSetUniformBuffers_ )
61199  , maxDescriptorSetUniformBuffersDynamic( maxDescriptorSetUniformBuffersDynamic_ )
61200  , maxDescriptorSetStorageBuffers( maxDescriptorSetStorageBuffers_ )
61201  , maxDescriptorSetStorageBuffersDynamic( maxDescriptorSetStorageBuffersDynamic_ )
61202  , maxDescriptorSetSampledImages( maxDescriptorSetSampledImages_ )
61203  , maxDescriptorSetStorageImages( maxDescriptorSetStorageImages_ )
61204  , maxDescriptorSetInputAttachments( maxDescriptorSetInputAttachments_ )
61205  , maxVertexInputAttributes( maxVertexInputAttributes_ )
61206  , maxVertexInputBindings( maxVertexInputBindings_ )
61207  , maxVertexInputAttributeOffset( maxVertexInputAttributeOffset_ )
61208  , maxVertexInputBindingStride( maxVertexInputBindingStride_ )
61209  , maxVertexOutputComponents( maxVertexOutputComponents_ )
61210  , maxTessellationGenerationLevel( maxTessellationGenerationLevel_ )
61211  , maxTessellationPatchSize( maxTessellationPatchSize_ )
61212  , maxTessellationControlPerVertexInputComponents( maxTessellationControlPerVertexInputComponents_ )
61213  , maxTessellationControlPerVertexOutputComponents( maxTessellationControlPerVertexOutputComponents_ )
61214  , maxTessellationControlPerPatchOutputComponents( maxTessellationControlPerPatchOutputComponents_ )
61215  , maxTessellationControlTotalOutputComponents( maxTessellationControlTotalOutputComponents_ )
61216  , maxTessellationEvaluationInputComponents( maxTessellationEvaluationInputComponents_ )
61217  , maxTessellationEvaluationOutputComponents( maxTessellationEvaluationOutputComponents_ )
61218  , maxGeometryShaderInvocations( maxGeometryShaderInvocations_ )
61219  , maxGeometryInputComponents( maxGeometryInputComponents_ )
61220  , maxGeometryOutputComponents( maxGeometryOutputComponents_ )
61221  , maxGeometryOutputVertices( maxGeometryOutputVertices_ )
61222  , maxGeometryTotalOutputComponents( maxGeometryTotalOutputComponents_ )
61223  , maxFragmentInputComponents( maxFragmentInputComponents_ )
61224  , maxFragmentOutputAttachments( maxFragmentOutputAttachments_ )
61225  , maxFragmentDualSrcAttachments( maxFragmentDualSrcAttachments_ )
61226  , maxFragmentCombinedOutputResources( maxFragmentCombinedOutputResources_ )
61227  , maxComputeSharedMemorySize( maxComputeSharedMemorySize_ )
61228  , maxComputeWorkGroupCount( maxComputeWorkGroupCount_ )
61229  , maxComputeWorkGroupInvocations( maxComputeWorkGroupInvocations_ )
61230  , maxComputeWorkGroupSize( maxComputeWorkGroupSize_ )
61231  , subPixelPrecisionBits( subPixelPrecisionBits_ )
61232  , subTexelPrecisionBits( subTexelPrecisionBits_ )
61233  , mipmapPrecisionBits( mipmapPrecisionBits_ )
61234  , maxDrawIndexedIndexValue( maxDrawIndexedIndexValue_ )
61235  , maxDrawIndirectCount( maxDrawIndirectCount_ )
61236  , maxSamplerLodBias( maxSamplerLodBias_ )
61237  , maxSamplerAnisotropy( maxSamplerAnisotropy_ )
61238  , maxViewports( maxViewports_ )
61239  , maxViewportDimensions( maxViewportDimensions_ )
61240  , viewportBoundsRange( viewportBoundsRange_ )
61241  , viewportSubPixelBits( viewportSubPixelBits_ )
61242  , minMemoryMapAlignment( minMemoryMapAlignment_ )
61243  , minTexelBufferOffsetAlignment( minTexelBufferOffsetAlignment_ )
61244  , minUniformBufferOffsetAlignment( minUniformBufferOffsetAlignment_ )
61245  , minStorageBufferOffsetAlignment( minStorageBufferOffsetAlignment_ )
61246  , minTexelOffset( minTexelOffset_ )
61247  , maxTexelOffset( maxTexelOffset_ )
61248  , minTexelGatherOffset( minTexelGatherOffset_ )
61249  , maxTexelGatherOffset( maxTexelGatherOffset_ )
61250  , minInterpolationOffset( minInterpolationOffset_ )
61251  , maxInterpolationOffset( maxInterpolationOffset_ )
61252  , subPixelInterpolationOffsetBits( subPixelInterpolationOffsetBits_ )
61253  , maxFramebufferWidth( maxFramebufferWidth_ )
61254  , maxFramebufferHeight( maxFramebufferHeight_ )
61255  , maxFramebufferLayers( maxFramebufferLayers_ )
61256  , framebufferColorSampleCounts( framebufferColorSampleCounts_ )
61257  , framebufferDepthSampleCounts( framebufferDepthSampleCounts_ )
61258  , framebufferStencilSampleCounts( framebufferStencilSampleCounts_ )
61259  , framebufferNoAttachmentsSampleCounts( framebufferNoAttachmentsSampleCounts_ )
61260  , maxColorAttachments( maxColorAttachments_ )
61261  , sampledImageColorSampleCounts( sampledImageColorSampleCounts_ )
61262  , sampledImageIntegerSampleCounts( sampledImageIntegerSampleCounts_ )
61263  , sampledImageDepthSampleCounts( sampledImageDepthSampleCounts_ )
61264  , sampledImageStencilSampleCounts( sampledImageStencilSampleCounts_ )
61265  , storageImageSampleCounts( storageImageSampleCounts_ )
61266  , maxSampleMaskWords( maxSampleMaskWords_ )
61267  , timestampComputeAndGraphics( timestampComputeAndGraphics_ )
61268  , timestampPeriod( timestampPeriod_ )
61269  , maxClipDistances( maxClipDistances_ )
61270  , maxCullDistances( maxCullDistances_ )
61271  , maxCombinedClipAndCullDistances( maxCombinedClipAndCullDistances_ )
61272  , discreteQueuePriorities( discreteQueuePriorities_ )
61273  , pointSizeRange( pointSizeRange_ )
61274  , lineWidthRange( lineWidthRange_ )
61275  , pointSizeGranularity( pointSizeGranularity_ )
61276  , lineWidthGranularity( lineWidthGranularity_ )
61277  , strictLines( strictLines_ )
61278  , standardSampleLocations( standardSampleLocations_ )
61279  , optimalBufferCopyOffsetAlignment( optimalBufferCopyOffsetAlignment_ )
61280  , optimalBufferCopyRowPitchAlignment( optimalBufferCopyRowPitchAlignment_ )
61281  , nonCoherentAtomSize( nonCoherentAtomSize_ )
61282  {
61283  }
61284 
61285  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceLimits( PhysicalDeviceLimits const & rhs ) VULKAN_HPP_NOEXCEPT = default;
61286 
61288  : PhysicalDeviceLimits( *reinterpret_cast<PhysicalDeviceLimits const *>( &rhs ) )
61289  {
61290  }
61291 
61292  PhysicalDeviceLimits & operator=( PhysicalDeviceLimits const & rhs ) VULKAN_HPP_NOEXCEPT = default;
61293 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
61294 
61296  {
61297  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceLimits const *>( &rhs );
61298  return *this;
61299  }
61300 
61302  {
61303  return *reinterpret_cast<const VkPhysicalDeviceLimits *>( this );
61304  }
61305 
61307  {
61308  return *reinterpret_cast<VkPhysicalDeviceLimits *>( this );
61309  }
61310 
61311 #if defined( VULKAN_HPP_USE_REFLECT )
61312 # if 14 <= VULKAN_HPP_CPP_VERSION
61313  auto
61314 # else
61315  std::tuple<uint32_t const &,
61316  uint32_t const &,
61317  uint32_t const &,
61318  uint32_t const &,
61319  uint32_t const &,
61320  uint32_t const &,
61321  uint32_t const &,
61322  uint32_t const &,
61323  uint32_t const &,
61324  uint32_t const &,
61325  uint32_t const &,
61328  uint32_t const &,
61329  uint32_t const &,
61330  uint32_t const &,
61331  uint32_t const &,
61332  uint32_t const &,
61333  uint32_t const &,
61334  uint32_t const &,
61335  uint32_t const &,
61336  uint32_t const &,
61337  uint32_t const &,
61338  uint32_t const &,
61339  uint32_t const &,
61340  uint32_t const &,
61341  uint32_t const &,
61342  uint32_t const &,
61343  uint32_t const &,
61344  uint32_t const &,
61345  uint32_t const &,
61346  uint32_t const &,
61347  uint32_t const &,
61348  uint32_t const &,
61349  uint32_t const &,
61350  uint32_t const &,
61351  uint32_t const &,
61352  uint32_t const &,
61353  uint32_t const &,
61354  uint32_t const &,
61355  uint32_t const &,
61356  uint32_t const &,
61357  uint32_t const &,
61358  uint32_t const &,
61359  uint32_t const &,
61360  uint32_t const &,
61361  uint32_t const &,
61362  uint32_t const &,
61363  uint32_t const &,
61364  uint32_t const &,
61365  uint32_t const &,
61366  uint32_t const &,
61368  uint32_t const &,
61370  uint32_t const &,
61371  uint32_t const &,
61372  uint32_t const &,
61373  uint32_t const &,
61374  uint32_t const &,
61375  float const &,
61376  float const &,
61377  uint32_t const &,
61380  uint32_t const &,
61381  size_t const &,
61385  int32_t const &,
61386  uint32_t const &,
61387  int32_t const &,
61388  uint32_t const &,
61389  float const &,
61390  float const &,
61391  uint32_t const &,
61392  uint32_t const &,
61393  uint32_t const &,
61394  uint32_t const &,
61399  uint32_t const &,
61405  uint32_t const &,
61407  float const &,
61408  uint32_t const &,
61409  uint32_t const &,
61410  uint32_t const &,
61411  uint32_t const &,
61414  float const &,
61415  float const &,
61421 # endif
61422  reflect() const VULKAN_HPP_NOEXCEPT
61423  {
61424  return std::tie( maxImageDimension1D,
61425  maxImageDimension2D,
61426  maxImageDimension3D,
61427  maxImageDimensionCube,
61428  maxImageArrayLayers,
61429  maxTexelBufferElements,
61430  maxUniformBufferRange,
61431  maxStorageBufferRange,
61432  maxPushConstantsSize,
61433  maxMemoryAllocationCount,
61434  maxSamplerAllocationCount,
61435  bufferImageGranularity,
61436  sparseAddressSpaceSize,
61437  maxBoundDescriptorSets,
61438  maxPerStageDescriptorSamplers,
61439  maxPerStageDescriptorUniformBuffers,
61440  maxPerStageDescriptorStorageBuffers,
61441  maxPerStageDescriptorSampledImages,
61442  maxPerStageDescriptorStorageImages,
61443  maxPerStageDescriptorInputAttachments,
61444  maxPerStageResources,
61445  maxDescriptorSetSamplers,
61446  maxDescriptorSetUniformBuffers,
61447  maxDescriptorSetUniformBuffersDynamic,
61448  maxDescriptorSetStorageBuffers,
61449  maxDescriptorSetStorageBuffersDynamic,
61450  maxDescriptorSetSampledImages,
61451  maxDescriptorSetStorageImages,
61452  maxDescriptorSetInputAttachments,
61453  maxVertexInputAttributes,
61454  maxVertexInputBindings,
61455  maxVertexInputAttributeOffset,
61456  maxVertexInputBindingStride,
61457  maxVertexOutputComponents,
61458  maxTessellationGenerationLevel,
61459  maxTessellationPatchSize,
61460  maxTessellationControlPerVertexInputComponents,
61461  maxTessellationControlPerVertexOutputComponents,
61462  maxTessellationControlPerPatchOutputComponents,
61463  maxTessellationControlTotalOutputComponents,
61464  maxTessellationEvaluationInputComponents,
61465  maxTessellationEvaluationOutputComponents,
61466  maxGeometryShaderInvocations,
61467  maxGeometryInputComponents,
61468  maxGeometryOutputComponents,
61469  maxGeometryOutputVertices,
61470  maxGeometryTotalOutputComponents,
61471  maxFragmentInputComponents,
61472  maxFragmentOutputAttachments,
61473  maxFragmentDualSrcAttachments,
61474  maxFragmentCombinedOutputResources,
61475  maxComputeSharedMemorySize,
61476  maxComputeWorkGroupCount,
61477  maxComputeWorkGroupInvocations,
61478  maxComputeWorkGroupSize,
61479  subPixelPrecisionBits,
61480  subTexelPrecisionBits,
61481  mipmapPrecisionBits,
61482  maxDrawIndexedIndexValue,
61483  maxDrawIndirectCount,
61484  maxSamplerLodBias,
61485  maxSamplerAnisotropy,
61486  maxViewports,
61487  maxViewportDimensions,
61488  viewportBoundsRange,
61489  viewportSubPixelBits,
61490  minMemoryMapAlignment,
61491  minTexelBufferOffsetAlignment,
61492  minUniformBufferOffsetAlignment,
61493  minStorageBufferOffsetAlignment,
61494  minTexelOffset,
61495  maxTexelOffset,
61496  minTexelGatherOffset,
61497  maxTexelGatherOffset,
61498  minInterpolationOffset,
61499  maxInterpolationOffset,
61500  subPixelInterpolationOffsetBits,
61501  maxFramebufferWidth,
61502  maxFramebufferHeight,
61503  maxFramebufferLayers,
61504  framebufferColorSampleCounts,
61505  framebufferDepthSampleCounts,
61506  framebufferStencilSampleCounts,
61507  framebufferNoAttachmentsSampleCounts,
61508  maxColorAttachments,
61509  sampledImageColorSampleCounts,
61510  sampledImageIntegerSampleCounts,
61511  sampledImageDepthSampleCounts,
61512  sampledImageStencilSampleCounts,
61513  storageImageSampleCounts,
61514  maxSampleMaskWords,
61515  timestampComputeAndGraphics,
61516  timestampPeriod,
61517  maxClipDistances,
61518  maxCullDistances,
61519  maxCombinedClipAndCullDistances,
61520  discreteQueuePriorities,
61521  pointSizeRange,
61522  lineWidthRange,
61523  pointSizeGranularity,
61524  lineWidthGranularity,
61525  strictLines,
61526  standardSampleLocations,
61527  optimalBufferCopyOffsetAlignment,
61528  optimalBufferCopyRowPitchAlignment,
61529  nonCoherentAtomSize );
61530  }
61531 #endif
61532 
61533 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
61534  auto operator<=>( PhysicalDeviceLimits const & ) const = default;
61535 #else
61537  {
61538 # if defined( VULKAN_HPP_USE_REFLECT )
61539  return this->reflect() == rhs.reflect();
61540 # else
61541  return ( maxImageDimension1D == rhs.maxImageDimension1D ) && ( maxImageDimension2D == rhs.maxImageDimension2D ) &&
61542  ( maxImageDimension3D == rhs.maxImageDimension3D ) && ( maxImageDimensionCube == rhs.maxImageDimensionCube ) &&
61543  ( maxImageArrayLayers == rhs.maxImageArrayLayers ) && ( maxTexelBufferElements == rhs.maxTexelBufferElements ) &&
61544  ( maxUniformBufferRange == rhs.maxUniformBufferRange ) && ( maxStorageBufferRange == rhs.maxStorageBufferRange ) &&
61545  ( maxPushConstantsSize == rhs.maxPushConstantsSize ) && ( maxMemoryAllocationCount == rhs.maxMemoryAllocationCount ) &&
61546  ( maxSamplerAllocationCount == rhs.maxSamplerAllocationCount ) && ( bufferImageGranularity == rhs.bufferImageGranularity ) &&
61547  ( sparseAddressSpaceSize == rhs.sparseAddressSpaceSize ) && ( maxBoundDescriptorSets == rhs.maxBoundDescriptorSets ) &&
61548  ( maxPerStageDescriptorSamplers == rhs.maxPerStageDescriptorSamplers ) &&
61549  ( maxPerStageDescriptorUniformBuffers == rhs.maxPerStageDescriptorUniformBuffers ) &&
61550  ( maxPerStageDescriptorStorageBuffers == rhs.maxPerStageDescriptorStorageBuffers ) &&
61551  ( maxPerStageDescriptorSampledImages == rhs.maxPerStageDescriptorSampledImages ) &&
61552  ( maxPerStageDescriptorStorageImages == rhs.maxPerStageDescriptorStorageImages ) &&
61553  ( maxPerStageDescriptorInputAttachments == rhs.maxPerStageDescriptorInputAttachments ) && ( maxPerStageResources == rhs.maxPerStageResources ) &&
61554  ( maxDescriptorSetSamplers == rhs.maxDescriptorSetSamplers ) && ( maxDescriptorSetUniformBuffers == rhs.maxDescriptorSetUniformBuffers ) &&
61555  ( maxDescriptorSetUniformBuffersDynamic == rhs.maxDescriptorSetUniformBuffersDynamic ) &&
61556  ( maxDescriptorSetStorageBuffers == rhs.maxDescriptorSetStorageBuffers ) &&
61557  ( maxDescriptorSetStorageBuffersDynamic == rhs.maxDescriptorSetStorageBuffersDynamic ) &&
61558  ( maxDescriptorSetSampledImages == rhs.maxDescriptorSetSampledImages ) && ( maxDescriptorSetStorageImages == rhs.maxDescriptorSetStorageImages ) &&
61559  ( maxDescriptorSetInputAttachments == rhs.maxDescriptorSetInputAttachments ) && ( maxVertexInputAttributes == rhs.maxVertexInputAttributes ) &&
61560  ( maxVertexInputBindings == rhs.maxVertexInputBindings ) && ( maxVertexInputAttributeOffset == rhs.maxVertexInputAttributeOffset ) &&
61561  ( maxVertexInputBindingStride == rhs.maxVertexInputBindingStride ) && ( maxVertexOutputComponents == rhs.maxVertexOutputComponents ) &&
61562  ( maxTessellationGenerationLevel == rhs.maxTessellationGenerationLevel ) && ( maxTessellationPatchSize == rhs.maxTessellationPatchSize ) &&
61563  ( maxTessellationControlPerVertexInputComponents == rhs.maxTessellationControlPerVertexInputComponents ) &&
61564  ( maxTessellationControlPerVertexOutputComponents == rhs.maxTessellationControlPerVertexOutputComponents ) &&
61565  ( maxTessellationControlPerPatchOutputComponents == rhs.maxTessellationControlPerPatchOutputComponents ) &&
61566  ( maxTessellationControlTotalOutputComponents == rhs.maxTessellationControlTotalOutputComponents ) &&
61567  ( maxTessellationEvaluationInputComponents == rhs.maxTessellationEvaluationInputComponents ) &&
61568  ( maxTessellationEvaluationOutputComponents == rhs.maxTessellationEvaluationOutputComponents ) &&
61569  ( maxGeometryShaderInvocations == rhs.maxGeometryShaderInvocations ) && ( maxGeometryInputComponents == rhs.maxGeometryInputComponents ) &&
61570  ( maxGeometryOutputComponents == rhs.maxGeometryOutputComponents ) && ( maxGeometryOutputVertices == rhs.maxGeometryOutputVertices ) &&
61571  ( maxGeometryTotalOutputComponents == rhs.maxGeometryTotalOutputComponents ) && ( maxFragmentInputComponents == rhs.maxFragmentInputComponents ) &&
61572  ( maxFragmentOutputAttachments == rhs.maxFragmentOutputAttachments ) && ( maxFragmentDualSrcAttachments == rhs.maxFragmentDualSrcAttachments ) &&
61573  ( maxFragmentCombinedOutputResources == rhs.maxFragmentCombinedOutputResources ) &&
61574  ( maxComputeSharedMemorySize == rhs.maxComputeSharedMemorySize ) && ( maxComputeWorkGroupCount == rhs.maxComputeWorkGroupCount ) &&
61575  ( maxComputeWorkGroupInvocations == rhs.maxComputeWorkGroupInvocations ) && ( maxComputeWorkGroupSize == rhs.maxComputeWorkGroupSize ) &&
61576  ( subPixelPrecisionBits == rhs.subPixelPrecisionBits ) && ( subTexelPrecisionBits == rhs.subTexelPrecisionBits ) &&
61577  ( mipmapPrecisionBits == rhs.mipmapPrecisionBits ) && ( maxDrawIndexedIndexValue == rhs.maxDrawIndexedIndexValue ) &&
61578  ( maxDrawIndirectCount == rhs.maxDrawIndirectCount ) && ( maxSamplerLodBias == rhs.maxSamplerLodBias ) &&
61579  ( maxSamplerAnisotropy == rhs.maxSamplerAnisotropy ) && ( maxViewports == rhs.maxViewports ) &&
61580  ( maxViewportDimensions == rhs.maxViewportDimensions ) && ( viewportBoundsRange == rhs.viewportBoundsRange ) &&
61581  ( viewportSubPixelBits == rhs.viewportSubPixelBits ) && ( minMemoryMapAlignment == rhs.minMemoryMapAlignment ) &&
61582  ( minTexelBufferOffsetAlignment == rhs.minTexelBufferOffsetAlignment ) &&
61583  ( minUniformBufferOffsetAlignment == rhs.minUniformBufferOffsetAlignment ) &&
61584  ( minStorageBufferOffsetAlignment == rhs.minStorageBufferOffsetAlignment ) && ( minTexelOffset == rhs.minTexelOffset ) &&
61585  ( maxTexelOffset == rhs.maxTexelOffset ) && ( minTexelGatherOffset == rhs.minTexelGatherOffset ) &&
61586  ( maxTexelGatherOffset == rhs.maxTexelGatherOffset ) && ( minInterpolationOffset == rhs.minInterpolationOffset ) &&
61587  ( maxInterpolationOffset == rhs.maxInterpolationOffset ) && ( subPixelInterpolationOffsetBits == rhs.subPixelInterpolationOffsetBits ) &&
61588  ( maxFramebufferWidth == rhs.maxFramebufferWidth ) && ( maxFramebufferHeight == rhs.maxFramebufferHeight ) &&
61589  ( maxFramebufferLayers == rhs.maxFramebufferLayers ) && ( framebufferColorSampleCounts == rhs.framebufferColorSampleCounts ) &&
61590  ( framebufferDepthSampleCounts == rhs.framebufferDepthSampleCounts ) && ( framebufferStencilSampleCounts == rhs.framebufferStencilSampleCounts ) &&
61591  ( framebufferNoAttachmentsSampleCounts == rhs.framebufferNoAttachmentsSampleCounts ) && ( maxColorAttachments == rhs.maxColorAttachments ) &&
61592  ( sampledImageColorSampleCounts == rhs.sampledImageColorSampleCounts ) &&
61593  ( sampledImageIntegerSampleCounts == rhs.sampledImageIntegerSampleCounts ) &&
61594  ( sampledImageDepthSampleCounts == rhs.sampledImageDepthSampleCounts ) &&
61595  ( sampledImageStencilSampleCounts == rhs.sampledImageStencilSampleCounts ) && ( storageImageSampleCounts == rhs.storageImageSampleCounts ) &&
61596  ( maxSampleMaskWords == rhs.maxSampleMaskWords ) && ( timestampComputeAndGraphics == rhs.timestampComputeAndGraphics ) &&
61597  ( timestampPeriod == rhs.timestampPeriod ) && ( maxClipDistances == rhs.maxClipDistances ) && ( maxCullDistances == rhs.maxCullDistances ) &&
61598  ( maxCombinedClipAndCullDistances == rhs.maxCombinedClipAndCullDistances ) && ( discreteQueuePriorities == rhs.discreteQueuePriorities ) &&
61599  ( pointSizeRange == rhs.pointSizeRange ) && ( lineWidthRange == rhs.lineWidthRange ) && ( pointSizeGranularity == rhs.pointSizeGranularity ) &&
61600  ( lineWidthGranularity == rhs.lineWidthGranularity ) && ( strictLines == rhs.strictLines ) &&
61601  ( standardSampleLocations == rhs.standardSampleLocations ) && ( optimalBufferCopyOffsetAlignment == rhs.optimalBufferCopyOffsetAlignment ) &&
61602  ( optimalBufferCopyRowPitchAlignment == rhs.optimalBufferCopyRowPitchAlignment ) && ( nonCoherentAtomSize == rhs.nonCoherentAtomSize );
61603 # endif
61604  }
61605 
61607  {
61608  return !operator==( rhs );
61609  }
61610 #endif
61611 
61612  public:
61613  uint32_t maxImageDimension1D = {};
61614  uint32_t maxImageDimension2D = {};
61615  uint32_t maxImageDimension3D = {};
61616  uint32_t maxImageDimensionCube = {};
61617  uint32_t maxImageArrayLayers = {};
61618  uint32_t maxTexelBufferElements = {};
61619  uint32_t maxUniformBufferRange = {};
61620  uint32_t maxStorageBufferRange = {};
61621  uint32_t maxPushConstantsSize = {};
61622  uint32_t maxMemoryAllocationCount = {};
61623  uint32_t maxSamplerAllocationCount = {};
61624  VULKAN_HPP_NAMESPACE::DeviceSize bufferImageGranularity = {};
61625  VULKAN_HPP_NAMESPACE::DeviceSize sparseAddressSpaceSize = {};
61626  uint32_t maxBoundDescriptorSets = {};
61627  uint32_t maxPerStageDescriptorSamplers = {};
61628  uint32_t maxPerStageDescriptorUniformBuffers = {};
61629  uint32_t maxPerStageDescriptorStorageBuffers = {};
61630  uint32_t maxPerStageDescriptorSampledImages = {};
61631  uint32_t maxPerStageDescriptorStorageImages = {};
61632  uint32_t maxPerStageDescriptorInputAttachments = {};
61633  uint32_t maxPerStageResources = {};
61634  uint32_t maxDescriptorSetSamplers = {};
61635  uint32_t maxDescriptorSetUniformBuffers = {};
61636  uint32_t maxDescriptorSetUniformBuffersDynamic = {};
61637  uint32_t maxDescriptorSetStorageBuffers = {};
61638  uint32_t maxDescriptorSetStorageBuffersDynamic = {};
61639  uint32_t maxDescriptorSetSampledImages = {};
61640  uint32_t maxDescriptorSetStorageImages = {};
61641  uint32_t maxDescriptorSetInputAttachments = {};
61642  uint32_t maxVertexInputAttributes = {};
61643  uint32_t maxVertexInputBindings = {};
61644  uint32_t maxVertexInputAttributeOffset = {};
61645  uint32_t maxVertexInputBindingStride = {};
61646  uint32_t maxVertexOutputComponents = {};
61647  uint32_t maxTessellationGenerationLevel = {};
61648  uint32_t maxTessellationPatchSize = {};
61649  uint32_t maxTessellationControlPerVertexInputComponents = {};
61650  uint32_t maxTessellationControlPerVertexOutputComponents = {};
61651  uint32_t maxTessellationControlPerPatchOutputComponents = {};
61652  uint32_t maxTessellationControlTotalOutputComponents = {};
61653  uint32_t maxTessellationEvaluationInputComponents = {};
61654  uint32_t maxTessellationEvaluationOutputComponents = {};
61655  uint32_t maxGeometryShaderInvocations = {};
61656  uint32_t maxGeometryInputComponents = {};
61657  uint32_t maxGeometryOutputComponents = {};
61658  uint32_t maxGeometryOutputVertices = {};
61659  uint32_t maxGeometryTotalOutputComponents = {};
61660  uint32_t maxFragmentInputComponents = {};
61661  uint32_t maxFragmentOutputAttachments = {};
61662  uint32_t maxFragmentDualSrcAttachments = {};
61663  uint32_t maxFragmentCombinedOutputResources = {};
61664  uint32_t maxComputeSharedMemorySize = {};
61666  uint32_t maxComputeWorkGroupInvocations = {};
61668  uint32_t subPixelPrecisionBits = {};
61669  uint32_t subTexelPrecisionBits = {};
61670  uint32_t mipmapPrecisionBits = {};
61671  uint32_t maxDrawIndexedIndexValue = {};
61672  uint32_t maxDrawIndirectCount = {};
61673  float maxSamplerLodBias = {};
61674  float maxSamplerAnisotropy = {};
61675  uint32_t maxViewports = {};
61678  uint32_t viewportSubPixelBits = {};
61679  size_t minMemoryMapAlignment = {};
61680  VULKAN_HPP_NAMESPACE::DeviceSize minTexelBufferOffsetAlignment = {};
61681  VULKAN_HPP_NAMESPACE::DeviceSize minUniformBufferOffsetAlignment = {};
61682  VULKAN_HPP_NAMESPACE::DeviceSize minStorageBufferOffsetAlignment = {};
61683  int32_t minTexelOffset = {};
61684  uint32_t maxTexelOffset = {};
61685  int32_t minTexelGatherOffset = {};
61686  uint32_t maxTexelGatherOffset = {};
61687  float minInterpolationOffset = {};
61688  float maxInterpolationOffset = {};
61689  uint32_t subPixelInterpolationOffsetBits = {};
61690  uint32_t maxFramebufferWidth = {};
61691  uint32_t maxFramebufferHeight = {};
61692  uint32_t maxFramebufferLayers = {};
61693  VULKAN_HPP_NAMESPACE::SampleCountFlags framebufferColorSampleCounts = {};
61694  VULKAN_HPP_NAMESPACE::SampleCountFlags framebufferDepthSampleCounts = {};
61695  VULKAN_HPP_NAMESPACE::SampleCountFlags framebufferStencilSampleCounts = {};
61696  VULKAN_HPP_NAMESPACE::SampleCountFlags framebufferNoAttachmentsSampleCounts = {};
61697  uint32_t maxColorAttachments = {};
61698  VULKAN_HPP_NAMESPACE::SampleCountFlags sampledImageColorSampleCounts = {};
61699  VULKAN_HPP_NAMESPACE::SampleCountFlags sampledImageIntegerSampleCounts = {};
61700  VULKAN_HPP_NAMESPACE::SampleCountFlags sampledImageDepthSampleCounts = {};
61701  VULKAN_HPP_NAMESPACE::SampleCountFlags sampledImageStencilSampleCounts = {};
61702  VULKAN_HPP_NAMESPACE::SampleCountFlags storageImageSampleCounts = {};
61703  uint32_t maxSampleMaskWords = {};
61704  VULKAN_HPP_NAMESPACE::Bool32 timestampComputeAndGraphics = {};
61705  float timestampPeriod = {};
61706  uint32_t maxClipDistances = {};
61707  uint32_t maxCullDistances = {};
61708  uint32_t maxCombinedClipAndCullDistances = {};
61709  uint32_t discreteQueuePriorities = {};
61712  float pointSizeGranularity = {};
61713  float lineWidthGranularity = {};
61715  VULKAN_HPP_NAMESPACE::Bool32 standardSampleLocations = {};
61716  VULKAN_HPP_NAMESPACE::DeviceSize optimalBufferCopyOffsetAlignment = {};
61717  VULKAN_HPP_NAMESPACE::DeviceSize optimalBufferCopyRowPitchAlignment = {};
61718  VULKAN_HPP_NAMESPACE::DeviceSize nonCoherentAtomSize = {};
61719  };
61720 
61722  {
61724 
61725  static const bool allowDuplicate = false;
61726  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceLineRasterizationFeaturesEXT;
61727 
61728 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
61730  VULKAN_HPP_NAMESPACE::Bool32 bresenhamLines_ = {},
61731  VULKAN_HPP_NAMESPACE::Bool32 smoothLines_ = {},
61732  VULKAN_HPP_NAMESPACE::Bool32 stippledRectangularLines_ = {},
61733  VULKAN_HPP_NAMESPACE::Bool32 stippledBresenhamLines_ = {},
61734  VULKAN_HPP_NAMESPACE::Bool32 stippledSmoothLines_ = {},
61735  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
61736  : pNext( pNext_ )
61737  , rectangularLines( rectangularLines_ )
61738  , bresenhamLines( bresenhamLines_ )
61739  , smoothLines( smoothLines_ )
61740  , stippledRectangularLines( stippledRectangularLines_ )
61741  , stippledBresenhamLines( stippledBresenhamLines_ )
61742  , stippledSmoothLines( stippledSmoothLines_ )
61743  {
61744  }
61745 
61746  VULKAN_HPP_CONSTEXPR PhysicalDeviceLineRasterizationFeaturesEXT( PhysicalDeviceLineRasterizationFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
61747 
61749  : PhysicalDeviceLineRasterizationFeaturesEXT( *reinterpret_cast<PhysicalDeviceLineRasterizationFeaturesEXT const *>( &rhs ) )
61750  {
61751  }
61752 
61754 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
61755 
61757  {
61758  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationFeaturesEXT const *>( &rhs );
61759  return *this;
61760  }
61761 
61762 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
61764  {
61765  pNext = pNext_;
61766  return *this;
61767  }
61768 
61771  {
61772  rectangularLines = rectangularLines_;
61773  return *this;
61774  }
61775 
61777  {
61778  bresenhamLines = bresenhamLines_;
61779  return *this;
61780  }
61781 
61783  {
61784  smoothLines = smoothLines_;
61785  return *this;
61786  }
61787 
61790  {
61791  stippledRectangularLines = stippledRectangularLines_;
61792  return *this;
61793  }
61794 
61797  {
61798  stippledBresenhamLines = stippledBresenhamLines_;
61799  return *this;
61800  }
61801 
61804  {
61805  stippledSmoothLines = stippledSmoothLines_;
61806  return *this;
61807  }
61808 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
61809 
61811  {
61812  return *reinterpret_cast<const VkPhysicalDeviceLineRasterizationFeaturesEXT *>( this );
61813  }
61814 
61816  {
61817  return *reinterpret_cast<VkPhysicalDeviceLineRasterizationFeaturesEXT *>( this );
61818  }
61819 
61820 #if defined( VULKAN_HPP_USE_REFLECT )
61821 # if 14 <= VULKAN_HPP_CPP_VERSION
61822  auto
61823 # else
61824  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
61825  void * const &,
61832 # endif
61833  reflect() const VULKAN_HPP_NOEXCEPT
61834  {
61835  return std::tie( sType, pNext, rectangularLines, bresenhamLines, smoothLines, stippledRectangularLines, stippledBresenhamLines, stippledSmoothLines );
61836  }
61837 #endif
61838 
61839 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
61840  auto operator<=>( PhysicalDeviceLineRasterizationFeaturesEXT const & ) const = default;
61841 #else
61843  {
61844 # if defined( VULKAN_HPP_USE_REFLECT )
61845  return this->reflect() == rhs.reflect();
61846 # else
61847  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( rectangularLines == rhs.rectangularLines ) && ( bresenhamLines == rhs.bresenhamLines ) &&
61848  ( smoothLines == rhs.smoothLines ) && ( stippledRectangularLines == rhs.stippledRectangularLines ) &&
61849  ( stippledBresenhamLines == rhs.stippledBresenhamLines ) && ( stippledSmoothLines == rhs.stippledSmoothLines );
61850 # endif
61851  }
61852 
61854  {
61855  return !operator==( rhs );
61856  }
61857 #endif
61858 
61859  public:
61860  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceLineRasterizationFeaturesEXT;
61861  void * pNext = {};
61862  VULKAN_HPP_NAMESPACE::Bool32 rectangularLines = {};
61863  VULKAN_HPP_NAMESPACE::Bool32 bresenhamLines = {};
61865  VULKAN_HPP_NAMESPACE::Bool32 stippledRectangularLines = {};
61866  VULKAN_HPP_NAMESPACE::Bool32 stippledBresenhamLines = {};
61867  VULKAN_HPP_NAMESPACE::Bool32 stippledSmoothLines = {};
61868  };
61869 
61870  template <>
61872  {
61874  };
61875 
61877  {
61879 
61880  static const bool allowDuplicate = false;
61881  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceLineRasterizationPropertiesEXT;
61882 
61883 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
61884  VULKAN_HPP_CONSTEXPR PhysicalDeviceLineRasterizationPropertiesEXT( uint32_t lineSubPixelPrecisionBits_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
61885  : pNext( pNext_ )
61886  , lineSubPixelPrecisionBits( lineSubPixelPrecisionBits_ )
61887  {
61888  }
61889 
61890  VULKAN_HPP_CONSTEXPR PhysicalDeviceLineRasterizationPropertiesEXT( PhysicalDeviceLineRasterizationPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
61891 
61893  : PhysicalDeviceLineRasterizationPropertiesEXT( *reinterpret_cast<PhysicalDeviceLineRasterizationPropertiesEXT const *>( &rhs ) )
61894  {
61895  }
61896 
61898 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
61899 
61901  {
61902  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationPropertiesEXT const *>( &rhs );
61903  return *this;
61904  }
61905 
61907  {
61908  return *reinterpret_cast<const VkPhysicalDeviceLineRasterizationPropertiesEXT *>( this );
61909  }
61910 
61912  {
61913  return *reinterpret_cast<VkPhysicalDeviceLineRasterizationPropertiesEXT *>( this );
61914  }
61915 
61916 #if defined( VULKAN_HPP_USE_REFLECT )
61917 # if 14 <= VULKAN_HPP_CPP_VERSION
61918  auto
61919 # else
61920  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, uint32_t const &>
61921 # endif
61922  reflect() const VULKAN_HPP_NOEXCEPT
61923  {
61924  return std::tie( sType, pNext, lineSubPixelPrecisionBits );
61925  }
61926 #endif
61927 
61928 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
61929  auto operator<=>( PhysicalDeviceLineRasterizationPropertiesEXT const & ) const = default;
61930 #else
61932  {
61933 # if defined( VULKAN_HPP_USE_REFLECT )
61934  return this->reflect() == rhs.reflect();
61935 # else
61936  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( lineSubPixelPrecisionBits == rhs.lineSubPixelPrecisionBits );
61937 # endif
61938  }
61939 
61941  {
61942  return !operator==( rhs );
61943  }
61944 #endif
61945 
61946  public:
61947  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceLineRasterizationPropertiesEXT;
61948  void * pNext = {};
61949  uint32_t lineSubPixelPrecisionBits = {};
61950  };
61951 
61952  template <>
61954  {
61956  };
61957 
61959  {
61961 
61962  static const bool allowDuplicate = false;
61963  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceLinearColorAttachmentFeaturesNV;
61964 
61965 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
61967  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
61968  : pNext( pNext_ )
61969  , linearColorAttachment( linearColorAttachment_ )
61970  {
61971  }
61972 
61974  PhysicalDeviceLinearColorAttachmentFeaturesNV( PhysicalDeviceLinearColorAttachmentFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
61975 
61977  : PhysicalDeviceLinearColorAttachmentFeaturesNV( *reinterpret_cast<PhysicalDeviceLinearColorAttachmentFeaturesNV const *>( &rhs ) )
61978  {
61979  }
61980 
61982 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
61983 
61985  {
61986  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceLinearColorAttachmentFeaturesNV const *>( &rhs );
61987  return *this;
61988  }
61989 
61990 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
61992  {
61993  pNext = pNext_;
61994  return *this;
61995  }
61996 
61999  {
62000  linearColorAttachment = linearColorAttachment_;
62001  return *this;
62002  }
62003 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
62004 
62006  {
62007  return *reinterpret_cast<const VkPhysicalDeviceLinearColorAttachmentFeaturesNV *>( this );
62008  }
62009 
62011  {
62012  return *reinterpret_cast<VkPhysicalDeviceLinearColorAttachmentFeaturesNV *>( this );
62013  }
62014 
62015 #if defined( VULKAN_HPP_USE_REFLECT )
62016 # if 14 <= VULKAN_HPP_CPP_VERSION
62017  auto
62018 # else
62019  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
62020 # endif
62021  reflect() const VULKAN_HPP_NOEXCEPT
62022  {
62023  return std::tie( sType, pNext, linearColorAttachment );
62024  }
62025 #endif
62026 
62027 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
62028  auto operator<=>( PhysicalDeviceLinearColorAttachmentFeaturesNV const & ) const = default;
62029 #else
62031  {
62032 # if defined( VULKAN_HPP_USE_REFLECT )
62033  return this->reflect() == rhs.reflect();
62034 # else
62035  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( linearColorAttachment == rhs.linearColorAttachment );
62036 # endif
62037  }
62038 
62040  {
62041  return !operator==( rhs );
62042  }
62043 #endif
62044 
62045  public:
62046  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceLinearColorAttachmentFeaturesNV;
62047  void * pNext = {};
62048  VULKAN_HPP_NAMESPACE::Bool32 linearColorAttachment = {};
62049  };
62050 
62051  template <>
62053  {
62055  };
62056 
62058  {
62060 
62061  static const bool allowDuplicate = false;
62062  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceMaintenance3Properties;
62063 
62064 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
62065  VULKAN_HPP_CONSTEXPR PhysicalDeviceMaintenance3Properties( uint32_t maxPerSetDescriptors_ = {},
62066  VULKAN_HPP_NAMESPACE::DeviceSize maxMemoryAllocationSize_ = {},
62067  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
62068  : pNext( pNext_ )
62069  , maxPerSetDescriptors( maxPerSetDescriptors_ )
62070  , maxMemoryAllocationSize( maxMemoryAllocationSize_ )
62071  {
62072  }
62073 
62074  VULKAN_HPP_CONSTEXPR PhysicalDeviceMaintenance3Properties( PhysicalDeviceMaintenance3Properties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
62075 
62077  : PhysicalDeviceMaintenance3Properties( *reinterpret_cast<PhysicalDeviceMaintenance3Properties const *>( &rhs ) )
62078  {
62079  }
62080 
62082 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
62083 
62085  {
62086  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceMaintenance3Properties const *>( &rhs );
62087  return *this;
62088  }
62089 
62091  {
62092  return *reinterpret_cast<const VkPhysicalDeviceMaintenance3Properties *>( this );
62093  }
62094 
62096  {
62097  return *reinterpret_cast<VkPhysicalDeviceMaintenance3Properties *>( this );
62098  }
62099 
62100 #if defined( VULKAN_HPP_USE_REFLECT )
62101 # if 14 <= VULKAN_HPP_CPP_VERSION
62102  auto
62103 # else
62104  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, uint32_t const &, VULKAN_HPP_NAMESPACE::DeviceSize const &>
62105 # endif
62106  reflect() const VULKAN_HPP_NOEXCEPT
62107  {
62108  return std::tie( sType, pNext, maxPerSetDescriptors, maxMemoryAllocationSize );
62109  }
62110 #endif
62111 
62112 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
62113  auto operator<=>( PhysicalDeviceMaintenance3Properties const & ) const = default;
62114 #else
62116  {
62117 # if defined( VULKAN_HPP_USE_REFLECT )
62118  return this->reflect() == rhs.reflect();
62119 # else
62120  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxPerSetDescriptors == rhs.maxPerSetDescriptors ) &&
62121  ( maxMemoryAllocationSize == rhs.maxMemoryAllocationSize );
62122 # endif
62123  }
62124 
62126  {
62127  return !operator==( rhs );
62128  }
62129 #endif
62130 
62131  public:
62132  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceMaintenance3Properties;
62133  void * pNext = {};
62134  uint32_t maxPerSetDescriptors = {};
62135  VULKAN_HPP_NAMESPACE::DeviceSize maxMemoryAllocationSize = {};
62136  };
62137 
62138  template <>
62140  {
62142  };
62144 
62146  {
62148 
62149  static const bool allowDuplicate = false;
62150  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceMaintenance4Features;
62151 
62152 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
62154  : pNext( pNext_ )
62155  , maintenance4( maintenance4_ )
62156  {
62157  }
62158 
62159  VULKAN_HPP_CONSTEXPR PhysicalDeviceMaintenance4Features( PhysicalDeviceMaintenance4Features const & rhs ) VULKAN_HPP_NOEXCEPT = default;
62160 
62162  : PhysicalDeviceMaintenance4Features( *reinterpret_cast<PhysicalDeviceMaintenance4Features const *>( &rhs ) )
62163  {
62164  }
62165 
62167 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
62168 
62170  {
62171  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceMaintenance4Features const *>( &rhs );
62172  return *this;
62173  }
62174 
62175 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
62177  {
62178  pNext = pNext_;
62179  return *this;
62180  }
62181 
62183  {
62184  maintenance4 = maintenance4_;
62185  return *this;
62186  }
62187 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
62188 
62190  {
62191  return *reinterpret_cast<const VkPhysicalDeviceMaintenance4Features *>( this );
62192  }
62193 
62195  {
62196  return *reinterpret_cast<VkPhysicalDeviceMaintenance4Features *>( this );
62197  }
62198 
62199 #if defined( VULKAN_HPP_USE_REFLECT )
62200 # if 14 <= VULKAN_HPP_CPP_VERSION
62201  auto
62202 # else
62203  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
62204 # endif
62205  reflect() const VULKAN_HPP_NOEXCEPT
62206  {
62207  return std::tie( sType, pNext, maintenance4 );
62208  }
62209 #endif
62210 
62211 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
62212  auto operator<=>( PhysicalDeviceMaintenance4Features const & ) const = default;
62213 #else
62215  {
62216 # if defined( VULKAN_HPP_USE_REFLECT )
62217  return this->reflect() == rhs.reflect();
62218 # else
62219  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maintenance4 == rhs.maintenance4 );
62220 # endif
62221  }
62222 
62224  {
62225  return !operator==( rhs );
62226  }
62227 #endif
62228 
62229  public:
62230  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceMaintenance4Features;
62231  void * pNext = {};
62232  VULKAN_HPP_NAMESPACE::Bool32 maintenance4 = {};
62233  };
62234 
62235  template <>
62237  {
62239  };
62241 
62243  {
62245 
62246  static const bool allowDuplicate = false;
62247  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceMaintenance4Properties;
62248 
62249 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
62251  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
62252  : pNext( pNext_ )
62253  , maxBufferSize( maxBufferSize_ )
62254  {
62255  }
62256 
62257  VULKAN_HPP_CONSTEXPR PhysicalDeviceMaintenance4Properties( PhysicalDeviceMaintenance4Properties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
62258 
62260  : PhysicalDeviceMaintenance4Properties( *reinterpret_cast<PhysicalDeviceMaintenance4Properties const *>( &rhs ) )
62261  {
62262  }
62263 
62265 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
62266 
62268  {
62269  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceMaintenance4Properties const *>( &rhs );
62270  return *this;
62271  }
62272 
62274  {
62275  return *reinterpret_cast<const VkPhysicalDeviceMaintenance4Properties *>( this );
62276  }
62277 
62279  {
62280  return *reinterpret_cast<VkPhysicalDeviceMaintenance4Properties *>( this );
62281  }
62282 
62283 #if defined( VULKAN_HPP_USE_REFLECT )
62284 # if 14 <= VULKAN_HPP_CPP_VERSION
62285  auto
62286 # else
62287  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::DeviceSize const &>
62288 # endif
62289  reflect() const VULKAN_HPP_NOEXCEPT
62290  {
62291  return std::tie( sType, pNext, maxBufferSize );
62292  }
62293 #endif
62294 
62295 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
62296  auto operator<=>( PhysicalDeviceMaintenance4Properties const & ) const = default;
62297 #else
62299  {
62300 # if defined( VULKAN_HPP_USE_REFLECT )
62301  return this->reflect() == rhs.reflect();
62302 # else
62303  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxBufferSize == rhs.maxBufferSize );
62304 # endif
62305  }
62306 
62308  {
62309  return !operator==( rhs );
62310  }
62311 #endif
62312 
62313  public:
62314  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceMaintenance4Properties;
62315  void * pNext = {};
62317  };
62318 
62319  template <>
62321  {
62323  };
62325 
62327  {
62329 
62330  static const bool allowDuplicate = false;
62331  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceMemoryBudgetPropertiesEXT;
62332 
62333 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
62334  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMemoryBudgetPropertiesEXT( std::array<VULKAN_HPP_NAMESPACE::DeviceSize, VK_MAX_MEMORY_HEAPS> const & heapBudget_ = {},
62335  std::array<VULKAN_HPP_NAMESPACE::DeviceSize, VK_MAX_MEMORY_HEAPS> const & heapUsage_ = {},
62336  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
62337  : pNext( pNext_ )
62338  , heapBudget( heapBudget_ )
62339  , heapUsage( heapUsage_ )
62340  {
62341  }
62342 
62343  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMemoryBudgetPropertiesEXT( PhysicalDeviceMemoryBudgetPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
62344 
62346  : PhysicalDeviceMemoryBudgetPropertiesEXT( *reinterpret_cast<PhysicalDeviceMemoryBudgetPropertiesEXT const *>( &rhs ) )
62347  {
62348  }
62349 
62351 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
62352 
62354  {
62355  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryBudgetPropertiesEXT const *>( &rhs );
62356  return *this;
62357  }
62358 
62360  {
62361  return *reinterpret_cast<const VkPhysicalDeviceMemoryBudgetPropertiesEXT *>( this );
62362  }
62363 
62365  {
62366  return *reinterpret_cast<VkPhysicalDeviceMemoryBudgetPropertiesEXT *>( this );
62367  }
62368 
62369 #if defined( VULKAN_HPP_USE_REFLECT )
62370 # if 14 <= VULKAN_HPP_CPP_VERSION
62371  auto
62372 # else
62373  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
62374  void * const &,
62377 # endif
62378  reflect() const VULKAN_HPP_NOEXCEPT
62379  {
62380  return std::tie( sType, pNext, heapBudget, heapUsage );
62381  }
62382 #endif
62383 
62384 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
62385  auto operator<=>( PhysicalDeviceMemoryBudgetPropertiesEXT const & ) const = default;
62386 #else
62388  {
62389 # if defined( VULKAN_HPP_USE_REFLECT )
62390  return this->reflect() == rhs.reflect();
62391 # else
62392  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( heapBudget == rhs.heapBudget ) && ( heapUsage == rhs.heapUsage );
62393 # endif
62394  }
62395 
62397  {
62398  return !operator==( rhs );
62399  }
62400 #endif
62401 
62402  public:
62403  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceMemoryBudgetPropertiesEXT;
62404  void * pNext = {};
62407  };
62408 
62409  template <>
62411  {
62413  };
62414 
62416  {
62418 
62419  static const bool allowDuplicate = false;
62420  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceMemoryDecompressionFeaturesNV;
62421 
62422 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
62424  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
62425  : pNext( pNext_ )
62426  , memoryDecompression( memoryDecompression_ )
62427  {
62428  }
62429 
62430  VULKAN_HPP_CONSTEXPR PhysicalDeviceMemoryDecompressionFeaturesNV( PhysicalDeviceMemoryDecompressionFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
62431 
62433  : PhysicalDeviceMemoryDecompressionFeaturesNV( *reinterpret_cast<PhysicalDeviceMemoryDecompressionFeaturesNV const *>( &rhs ) )
62434  {
62435  }
62436 
62438 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
62439 
62441  {
62442  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryDecompressionFeaturesNV const *>( &rhs );
62443  return *this;
62444  }
62445 
62446 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
62448  {
62449  pNext = pNext_;
62450  return *this;
62451  }
62452 
62455  {
62456  memoryDecompression = memoryDecompression_;
62457  return *this;
62458  }
62459 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
62460 
62462  {
62463  return *reinterpret_cast<const VkPhysicalDeviceMemoryDecompressionFeaturesNV *>( this );
62464  }
62465 
62467  {
62468  return *reinterpret_cast<VkPhysicalDeviceMemoryDecompressionFeaturesNV *>( this );
62469  }
62470 
62471 #if defined( VULKAN_HPP_USE_REFLECT )
62472 # if 14 <= VULKAN_HPP_CPP_VERSION
62473  auto
62474 # else
62475  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
62476 # endif
62477  reflect() const VULKAN_HPP_NOEXCEPT
62478  {
62479  return std::tie( sType, pNext, memoryDecompression );
62480  }
62481 #endif
62482 
62483 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
62484  auto operator<=>( PhysicalDeviceMemoryDecompressionFeaturesNV const & ) const = default;
62485 #else
62487  {
62488 # if defined( VULKAN_HPP_USE_REFLECT )
62489  return this->reflect() == rhs.reflect();
62490 # else
62491  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memoryDecompression == rhs.memoryDecompression );
62492 # endif
62493  }
62494 
62496  {
62497  return !operator==( rhs );
62498  }
62499 #endif
62500 
62501  public:
62502  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceMemoryDecompressionFeaturesNV;
62503  void * pNext = {};
62504  VULKAN_HPP_NAMESPACE::Bool32 memoryDecompression = {};
62505  };
62506 
62507  template <>
62509  {
62511  };
62512 
62514  {
62516 
62517  static const bool allowDuplicate = false;
62518  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceMemoryDecompressionPropertiesNV;
62519 
62520 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
62522  uint64_t maxDecompressionIndirectCount_ = {},
62523  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
62524  : pNext( pNext_ )
62525  , decompressionMethods( decompressionMethods_ )
62526  , maxDecompressionIndirectCount( maxDecompressionIndirectCount_ )
62527  {
62528  }
62529 
62531  PhysicalDeviceMemoryDecompressionPropertiesNV( PhysicalDeviceMemoryDecompressionPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
62532 
62534  : PhysicalDeviceMemoryDecompressionPropertiesNV( *reinterpret_cast<PhysicalDeviceMemoryDecompressionPropertiesNV const *>( &rhs ) )
62535  {
62536  }
62537 
62539 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
62540 
62542  {
62543  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryDecompressionPropertiesNV const *>( &rhs );
62544  return *this;
62545  }
62546 
62548  {
62549  return *reinterpret_cast<const VkPhysicalDeviceMemoryDecompressionPropertiesNV *>( this );
62550  }
62551 
62553  {
62554  return *reinterpret_cast<VkPhysicalDeviceMemoryDecompressionPropertiesNV *>( this );
62555  }
62556 
62557 #if defined( VULKAN_HPP_USE_REFLECT )
62558 # if 14 <= VULKAN_HPP_CPP_VERSION
62559  auto
62560 # else
62561  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::MemoryDecompressionMethodFlagsNV const &, uint64_t const &>
62562 # endif
62563  reflect() const VULKAN_HPP_NOEXCEPT
62564  {
62565  return std::tie( sType, pNext, decompressionMethods, maxDecompressionIndirectCount );
62566  }
62567 #endif
62568 
62569 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
62570  auto operator<=>( PhysicalDeviceMemoryDecompressionPropertiesNV const & ) const = default;
62571 #else
62573  {
62574 # if defined( VULKAN_HPP_USE_REFLECT )
62575  return this->reflect() == rhs.reflect();
62576 # else
62577  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( decompressionMethods == rhs.decompressionMethods ) &&
62578  ( maxDecompressionIndirectCount == rhs.maxDecompressionIndirectCount );
62579 # endif
62580  }
62581 
62583  {
62584  return !operator==( rhs );
62585  }
62586 #endif
62587 
62588  public:
62589  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceMemoryDecompressionPropertiesNV;
62590  void * pNext = {};
62592  uint64_t maxDecompressionIndirectCount = {};
62593  };
62594 
62595  template <>
62597  {
62599  };
62600 
62602  {
62604 
62605  static const bool allowDuplicate = false;
62606  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceMemoryPriorityFeaturesEXT;
62607 
62608 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
62610  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
62611  : pNext( pNext_ )
62612  , memoryPriority( memoryPriority_ )
62613  {
62614  }
62615 
62616  VULKAN_HPP_CONSTEXPR PhysicalDeviceMemoryPriorityFeaturesEXT( PhysicalDeviceMemoryPriorityFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
62617 
62619  : PhysicalDeviceMemoryPriorityFeaturesEXT( *reinterpret_cast<PhysicalDeviceMemoryPriorityFeaturesEXT const *>( &rhs ) )
62620  {
62621  }
62622 
62624 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
62625 
62627  {
62628  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryPriorityFeaturesEXT const *>( &rhs );
62629  return *this;
62630  }
62631 
62632 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
62634  {
62635  pNext = pNext_;
62636  return *this;
62637  }
62638 
62640  {
62641  memoryPriority = memoryPriority_;
62642  return *this;
62643  }
62644 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
62645 
62647  {
62648  return *reinterpret_cast<const VkPhysicalDeviceMemoryPriorityFeaturesEXT *>( this );
62649  }
62650 
62652  {
62653  return *reinterpret_cast<VkPhysicalDeviceMemoryPriorityFeaturesEXT *>( this );
62654  }
62655 
62656 #if defined( VULKAN_HPP_USE_REFLECT )
62657 # if 14 <= VULKAN_HPP_CPP_VERSION
62658  auto
62659 # else
62660  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
62661 # endif
62662  reflect() const VULKAN_HPP_NOEXCEPT
62663  {
62664  return std::tie( sType, pNext, memoryPriority );
62665  }
62666 #endif
62667 
62668 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
62669  auto operator<=>( PhysicalDeviceMemoryPriorityFeaturesEXT const & ) const = default;
62670 #else
62672  {
62673 # if defined( VULKAN_HPP_USE_REFLECT )
62674  return this->reflect() == rhs.reflect();
62675 # else
62676  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memoryPriority == rhs.memoryPriority );
62677 # endif
62678  }
62679 
62681  {
62682  return !operator==( rhs );
62683  }
62684 #endif
62685 
62686  public:
62687  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceMemoryPriorityFeaturesEXT;
62688  void * pNext = {};
62689  VULKAN_HPP_NAMESPACE::Bool32 memoryPriority = {};
62690  };
62691 
62692  template <>
62694  {
62696  };
62697 
62699  {
62701 
62702 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
62704  PhysicalDeviceMemoryProperties( uint32_t memoryTypeCount_ = {},
62705  std::array<VULKAN_HPP_NAMESPACE::MemoryType, VK_MAX_MEMORY_TYPES> const & memoryTypes_ = {},
62706  uint32_t memoryHeapCount_ = {},
62707  std::array<VULKAN_HPP_NAMESPACE::MemoryHeap, VK_MAX_MEMORY_HEAPS> const & memoryHeaps_ = {} ) VULKAN_HPP_NOEXCEPT
62708  : memoryTypeCount( memoryTypeCount_ )
62709  , memoryTypes( memoryTypes_ )
62710  , memoryHeapCount( memoryHeapCount_ )
62711  , memoryHeaps( memoryHeaps_ )
62712  {
62713  }
62714 
62715  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMemoryProperties( PhysicalDeviceMemoryProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
62716 
62718  : PhysicalDeviceMemoryProperties( *reinterpret_cast<PhysicalDeviceMemoryProperties const *>( &rhs ) )
62719  {
62720  }
62721 
62723 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
62724 
62726  {
62727  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties const *>( &rhs );
62728  return *this;
62729  }
62730 
62732  {
62733  return *reinterpret_cast<const VkPhysicalDeviceMemoryProperties *>( this );
62734  }
62735 
62737  {
62738  return *reinterpret_cast<VkPhysicalDeviceMemoryProperties *>( this );
62739  }
62740 
62741 #if defined( VULKAN_HPP_USE_REFLECT )
62742 # if 14 <= VULKAN_HPP_CPP_VERSION
62743  auto
62744 # else
62745  std::tuple<uint32_t const &,
62747  uint32_t const &,
62749 # endif
62750  reflect() const VULKAN_HPP_NOEXCEPT
62751  {
62752  return std::tie( memoryTypeCount, memoryTypes, memoryHeapCount, memoryHeaps );
62753  }
62754 #endif
62755 
62756 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
62757  auto operator<=>( PhysicalDeviceMemoryProperties const & ) const = default;
62758 #else
62760  {
62761 # if defined( VULKAN_HPP_USE_REFLECT )
62762  return this->reflect() == rhs.reflect();
62763 # else
62764  return ( memoryTypeCount == rhs.memoryTypeCount ) && ( memoryTypes == rhs.memoryTypes ) && ( memoryHeapCount == rhs.memoryHeapCount ) &&
62765  ( memoryHeaps == rhs.memoryHeaps );
62766 # endif
62767  }
62768 
62770  {
62771  return !operator==( rhs );
62772  }
62773 #endif
62774 
62775  public:
62776  uint32_t memoryTypeCount = {};
62778  uint32_t memoryHeapCount = {};
62780  };
62781 
62783  {
62785 
62786  static const bool allowDuplicate = false;
62787  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceMemoryProperties2;
62788 
62789 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
62791  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
62792  : pNext( pNext_ )
62793  , memoryProperties( memoryProperties_ )
62794  {
62795  }
62796 
62797  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMemoryProperties2( PhysicalDeviceMemoryProperties2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
62798 
62800  : PhysicalDeviceMemoryProperties2( *reinterpret_cast<PhysicalDeviceMemoryProperties2 const *>( &rhs ) )
62801  {
62802  }
62803 
62805 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
62806 
62808  {
62809  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 const *>( &rhs );
62810  return *this;
62811  }
62812 
62814  {
62815  return *reinterpret_cast<const VkPhysicalDeviceMemoryProperties2 *>( this );
62816  }
62817 
62819  {
62820  return *reinterpret_cast<VkPhysicalDeviceMemoryProperties2 *>( this );
62821  }
62822 
62823 #if defined( VULKAN_HPP_USE_REFLECT )
62824 # if 14 <= VULKAN_HPP_CPP_VERSION
62825  auto
62826 # else
62827  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties const &>
62828 # endif
62829  reflect() const VULKAN_HPP_NOEXCEPT
62830  {
62831  return std::tie( sType, pNext, memoryProperties );
62832  }
62833 #endif
62834 
62835 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
62836  auto operator<=>( PhysicalDeviceMemoryProperties2 const & ) const = default;
62837 #else
62839  {
62840 # if defined( VULKAN_HPP_USE_REFLECT )
62841  return this->reflect() == rhs.reflect();
62842 # else
62843  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memoryProperties == rhs.memoryProperties );
62844 # endif
62845  }
62846 
62848  {
62849  return !operator==( rhs );
62850  }
62851 #endif
62852 
62853  public:
62854  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceMemoryProperties2;
62855  void * pNext = {};
62857  };
62858 
62859  template <>
62861  {
62863  };
62865 
62867  {
62869 
62870  static const bool allowDuplicate = false;
62871  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceMeshShaderFeaturesEXT;
62872 
62873 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
62875  VULKAN_HPP_NAMESPACE::Bool32 meshShader_ = {},
62876  VULKAN_HPP_NAMESPACE::Bool32 multiviewMeshShader_ = {},
62877  VULKAN_HPP_NAMESPACE::Bool32 primitiveFragmentShadingRateMeshShader_ = {},
62878  VULKAN_HPP_NAMESPACE::Bool32 meshShaderQueries_ = {},
62879  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
62880  : pNext( pNext_ )
62881  , taskShader( taskShader_ )
62882  , meshShader( meshShader_ )
62883  , multiviewMeshShader( multiviewMeshShader_ )
62884  , primitiveFragmentShadingRateMeshShader( primitiveFragmentShadingRateMeshShader_ )
62885  , meshShaderQueries( meshShaderQueries_ )
62886  {
62887  }
62888 
62889  VULKAN_HPP_CONSTEXPR PhysicalDeviceMeshShaderFeaturesEXT( PhysicalDeviceMeshShaderFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
62890 
62892  : PhysicalDeviceMeshShaderFeaturesEXT( *reinterpret_cast<PhysicalDeviceMeshShaderFeaturesEXT const *>( &rhs ) )
62893  {
62894  }
62895 
62897 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
62898 
62900  {
62901  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceMeshShaderFeaturesEXT const *>( &rhs );
62902  return *this;
62903  }
62904 
62905 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
62907  {
62908  pNext = pNext_;
62909  return *this;
62910  }
62911 
62913  {
62914  taskShader = taskShader_;
62915  return *this;
62916  }
62917 
62919  {
62920  meshShader = meshShader_;
62921  return *this;
62922  }
62923 
62926  {
62927  multiviewMeshShader = multiviewMeshShader_;
62928  return *this;
62929  }
62930 
62933  {
62934  primitiveFragmentShadingRateMeshShader = primitiveFragmentShadingRateMeshShader_;
62935  return *this;
62936  }
62937 
62939  {
62940  meshShaderQueries = meshShaderQueries_;
62941  return *this;
62942  }
62943 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
62944 
62946  {
62947  return *reinterpret_cast<const VkPhysicalDeviceMeshShaderFeaturesEXT *>( this );
62948  }
62949 
62951  {
62952  return *reinterpret_cast<VkPhysicalDeviceMeshShaderFeaturesEXT *>( this );
62953  }
62954 
62955 #if defined( VULKAN_HPP_USE_REFLECT )
62956 # if 14 <= VULKAN_HPP_CPP_VERSION
62957  auto
62958 # else
62959  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
62960  void * const &,
62966 # endif
62967  reflect() const VULKAN_HPP_NOEXCEPT
62968  {
62969  return std::tie( sType, pNext, taskShader, meshShader, multiviewMeshShader, primitiveFragmentShadingRateMeshShader, meshShaderQueries );
62970  }
62971 #endif
62972 
62973 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
62974  auto operator<=>( PhysicalDeviceMeshShaderFeaturesEXT const & ) const = default;
62975 #else
62977  {
62978 # if defined( VULKAN_HPP_USE_REFLECT )
62979  return this->reflect() == rhs.reflect();
62980 # else
62981  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( taskShader == rhs.taskShader ) && ( meshShader == rhs.meshShader ) &&
62982  ( multiviewMeshShader == rhs.multiviewMeshShader ) && ( primitiveFragmentShadingRateMeshShader == rhs.primitiveFragmentShadingRateMeshShader ) &&
62983  ( meshShaderQueries == rhs.meshShaderQueries );
62984 # endif
62985  }
62986 
62988  {
62989  return !operator==( rhs );
62990  }
62991 #endif
62992 
62993  public:
62994  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceMeshShaderFeaturesEXT;
62995  void * pNext = {};
62998  VULKAN_HPP_NAMESPACE::Bool32 multiviewMeshShader = {};
62999  VULKAN_HPP_NAMESPACE::Bool32 primitiveFragmentShadingRateMeshShader = {};
63000  VULKAN_HPP_NAMESPACE::Bool32 meshShaderQueries = {};
63001  };
63002 
63003  template <>
63005  {
63007  };
63008 
63010  {
63012 
63013  static const bool allowDuplicate = false;
63014  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceMeshShaderFeaturesNV;
63015 
63016 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
63018  VULKAN_HPP_NAMESPACE::Bool32 meshShader_ = {},
63019  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
63020  : pNext( pNext_ )
63021  , taskShader( taskShader_ )
63022  , meshShader( meshShader_ )
63023  {
63024  }
63025 
63026  VULKAN_HPP_CONSTEXPR PhysicalDeviceMeshShaderFeaturesNV( PhysicalDeviceMeshShaderFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
63027 
63029  : PhysicalDeviceMeshShaderFeaturesNV( *reinterpret_cast<PhysicalDeviceMeshShaderFeaturesNV const *>( &rhs ) )
63030  {
63031  }
63032 
63034 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
63035 
63037  {
63038  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceMeshShaderFeaturesNV const *>( &rhs );
63039  return *this;
63040  }
63041 
63042 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
63044  {
63045  pNext = pNext_;
63046  return *this;
63047  }
63048 
63050  {
63051  taskShader = taskShader_;
63052  return *this;
63053  }
63054 
63056  {
63057  meshShader = meshShader_;
63058  return *this;
63059  }
63060 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
63061 
63063  {
63064  return *reinterpret_cast<const VkPhysicalDeviceMeshShaderFeaturesNV *>( this );
63065  }
63066 
63068  {
63069  return *reinterpret_cast<VkPhysicalDeviceMeshShaderFeaturesNV *>( this );
63070  }
63071 
63072 #if defined( VULKAN_HPP_USE_REFLECT )
63073 # if 14 <= VULKAN_HPP_CPP_VERSION
63074  auto
63075 # else
63076  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
63077 # endif
63078  reflect() const VULKAN_HPP_NOEXCEPT
63079  {
63080  return std::tie( sType, pNext, taskShader, meshShader );
63081  }
63082 #endif
63083 
63084 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
63085  auto operator<=>( PhysicalDeviceMeshShaderFeaturesNV const & ) const = default;
63086 #else
63088  {
63089 # if defined( VULKAN_HPP_USE_REFLECT )
63090  return this->reflect() == rhs.reflect();
63091 # else
63092  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( taskShader == rhs.taskShader ) && ( meshShader == rhs.meshShader );
63093 # endif
63094  }
63095 
63097  {
63098  return !operator==( rhs );
63099  }
63100 #endif
63101 
63102  public:
63103  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceMeshShaderFeaturesNV;
63104  void * pNext = {};
63107  };
63108 
63109  template <>
63111  {
63113  };
63114 
63116  {
63118 
63119  static const bool allowDuplicate = false;
63120  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceMeshShaderPropertiesEXT;
63121 
63122 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
63123  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMeshShaderPropertiesEXT( uint32_t maxTaskWorkGroupTotalCount_ = {},
63124  std::array<uint32_t, 3> const & maxTaskWorkGroupCount_ = {},
63125  uint32_t maxTaskWorkGroupInvocations_ = {},
63126  std::array<uint32_t, 3> const & maxTaskWorkGroupSize_ = {},
63127  uint32_t maxTaskPayloadSize_ = {},
63128  uint32_t maxTaskSharedMemorySize_ = {},
63129  uint32_t maxTaskPayloadAndSharedMemorySize_ = {},
63130  uint32_t maxMeshWorkGroupTotalCount_ = {},
63131  std::array<uint32_t, 3> const & maxMeshWorkGroupCount_ = {},
63132  uint32_t maxMeshWorkGroupInvocations_ = {},
63133  std::array<uint32_t, 3> const & maxMeshWorkGroupSize_ = {},
63134  uint32_t maxMeshSharedMemorySize_ = {},
63135  uint32_t maxMeshPayloadAndSharedMemorySize_ = {},
63136  uint32_t maxMeshOutputMemorySize_ = {},
63137  uint32_t maxMeshPayloadAndOutputMemorySize_ = {},
63138  uint32_t maxMeshOutputComponents_ = {},
63139  uint32_t maxMeshOutputVertices_ = {},
63140  uint32_t maxMeshOutputPrimitives_ = {},
63141  uint32_t maxMeshOutputLayers_ = {},
63142  uint32_t maxMeshMultiviewViewCount_ = {},
63143  uint32_t meshOutputPerVertexGranularity_ = {},
63144  uint32_t meshOutputPerPrimitiveGranularity_ = {},
63145  uint32_t maxPreferredTaskWorkGroupInvocations_ = {},
63146  uint32_t maxPreferredMeshWorkGroupInvocations_ = {},
63147  VULKAN_HPP_NAMESPACE::Bool32 prefersLocalInvocationVertexOutput_ = {},
63148  VULKAN_HPP_NAMESPACE::Bool32 prefersLocalInvocationPrimitiveOutput_ = {},
63149  VULKAN_HPP_NAMESPACE::Bool32 prefersCompactVertexOutput_ = {},
63150  VULKAN_HPP_NAMESPACE::Bool32 prefersCompactPrimitiveOutput_ = {},
63151  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
63152  : pNext( pNext_ )
63153  , maxTaskWorkGroupTotalCount( maxTaskWorkGroupTotalCount_ )
63154  , maxTaskWorkGroupCount( maxTaskWorkGroupCount_ )
63155  , maxTaskWorkGroupInvocations( maxTaskWorkGroupInvocations_ )
63156  , maxTaskWorkGroupSize( maxTaskWorkGroupSize_ )
63157  , maxTaskPayloadSize( maxTaskPayloadSize_ )
63158  , maxTaskSharedMemorySize( maxTaskSharedMemorySize_ )
63159  , maxTaskPayloadAndSharedMemorySize( maxTaskPayloadAndSharedMemorySize_ )
63160  , maxMeshWorkGroupTotalCount( maxMeshWorkGroupTotalCount_ )
63161  , maxMeshWorkGroupCount( maxMeshWorkGroupCount_ )
63162  , maxMeshWorkGroupInvocations( maxMeshWorkGroupInvocations_ )
63163  , maxMeshWorkGroupSize( maxMeshWorkGroupSize_ )
63164  , maxMeshSharedMemorySize( maxMeshSharedMemorySize_ )
63165  , maxMeshPayloadAndSharedMemorySize( maxMeshPayloadAndSharedMemorySize_ )
63166  , maxMeshOutputMemorySize( maxMeshOutputMemorySize_ )
63167  , maxMeshPayloadAndOutputMemorySize( maxMeshPayloadAndOutputMemorySize_ )
63168  , maxMeshOutputComponents( maxMeshOutputComponents_ )
63169  , maxMeshOutputVertices( maxMeshOutputVertices_ )
63170  , maxMeshOutputPrimitives( maxMeshOutputPrimitives_ )
63171  , maxMeshOutputLayers( maxMeshOutputLayers_ )
63172  , maxMeshMultiviewViewCount( maxMeshMultiviewViewCount_ )
63173  , meshOutputPerVertexGranularity( meshOutputPerVertexGranularity_ )
63174  , meshOutputPerPrimitiveGranularity( meshOutputPerPrimitiveGranularity_ )
63175  , maxPreferredTaskWorkGroupInvocations( maxPreferredTaskWorkGroupInvocations_ )
63176  , maxPreferredMeshWorkGroupInvocations( maxPreferredMeshWorkGroupInvocations_ )
63177  , prefersLocalInvocationVertexOutput( prefersLocalInvocationVertexOutput_ )
63178  , prefersLocalInvocationPrimitiveOutput( prefersLocalInvocationPrimitiveOutput_ )
63179  , prefersCompactVertexOutput( prefersCompactVertexOutput_ )
63180  , prefersCompactPrimitiveOutput( prefersCompactPrimitiveOutput_ )
63181  {
63182  }
63183 
63184  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMeshShaderPropertiesEXT( PhysicalDeviceMeshShaderPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
63185 
63187  : PhysicalDeviceMeshShaderPropertiesEXT( *reinterpret_cast<PhysicalDeviceMeshShaderPropertiesEXT const *>( &rhs ) )
63188  {
63189  }
63190 
63192 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
63193 
63195  {
63196  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceMeshShaderPropertiesEXT const *>( &rhs );
63197  return *this;
63198  }
63199 
63201  {
63202  return *reinterpret_cast<const VkPhysicalDeviceMeshShaderPropertiesEXT *>( this );
63203  }
63204 
63206  {
63207  return *reinterpret_cast<VkPhysicalDeviceMeshShaderPropertiesEXT *>( this );
63208  }
63209 
63210 #if defined( VULKAN_HPP_USE_REFLECT )
63211 # if 14 <= VULKAN_HPP_CPP_VERSION
63212  auto
63213 # else
63214  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
63215  void * const &,
63216  uint32_t const &,
63218  uint32_t const &,
63220  uint32_t const &,
63221  uint32_t const &,
63222  uint32_t const &,
63223  uint32_t const &,
63225  uint32_t const &,
63227  uint32_t const &,
63228  uint32_t const &,
63229  uint32_t const &,
63230  uint32_t const &,
63231  uint32_t const &,
63232  uint32_t const &,
63233  uint32_t const &,
63234  uint32_t const &,
63235  uint32_t const &,
63236  uint32_t const &,
63237  uint32_t const &,
63238  uint32_t const &,
63239  uint32_t const &,
63244 # endif
63245  reflect() const VULKAN_HPP_NOEXCEPT
63246  {
63247  return std::tie( sType,
63248  pNext,
63249  maxTaskWorkGroupTotalCount,
63250  maxTaskWorkGroupCount,
63251  maxTaskWorkGroupInvocations,
63252  maxTaskWorkGroupSize,
63253  maxTaskPayloadSize,
63254  maxTaskSharedMemorySize,
63255  maxTaskPayloadAndSharedMemorySize,
63256  maxMeshWorkGroupTotalCount,
63257  maxMeshWorkGroupCount,
63258  maxMeshWorkGroupInvocations,
63259  maxMeshWorkGroupSize,
63260  maxMeshSharedMemorySize,
63261  maxMeshPayloadAndSharedMemorySize,
63262  maxMeshOutputMemorySize,
63263  maxMeshPayloadAndOutputMemorySize,
63264  maxMeshOutputComponents,
63265  maxMeshOutputVertices,
63266  maxMeshOutputPrimitives,
63267  maxMeshOutputLayers,
63268  maxMeshMultiviewViewCount,
63269  meshOutputPerVertexGranularity,
63270  meshOutputPerPrimitiveGranularity,
63271  maxPreferredTaskWorkGroupInvocations,
63272  maxPreferredMeshWorkGroupInvocations,
63273  prefersLocalInvocationVertexOutput,
63274  prefersLocalInvocationPrimitiveOutput,
63275  prefersCompactVertexOutput,
63276  prefersCompactPrimitiveOutput );
63277  }
63278 #endif
63279 
63280 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
63281  auto operator<=>( PhysicalDeviceMeshShaderPropertiesEXT const & ) const = default;
63282 #else
63284  {
63285 # if defined( VULKAN_HPP_USE_REFLECT )
63286  return this->reflect() == rhs.reflect();
63287 # else
63288  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxTaskWorkGroupTotalCount == rhs.maxTaskWorkGroupTotalCount ) &&
63289  ( maxTaskWorkGroupCount == rhs.maxTaskWorkGroupCount ) && ( maxTaskWorkGroupInvocations == rhs.maxTaskWorkGroupInvocations ) &&
63290  ( maxTaskWorkGroupSize == rhs.maxTaskWorkGroupSize ) && ( maxTaskPayloadSize == rhs.maxTaskPayloadSize ) &&
63291  ( maxTaskSharedMemorySize == rhs.maxTaskSharedMemorySize ) && ( maxTaskPayloadAndSharedMemorySize == rhs.maxTaskPayloadAndSharedMemorySize ) &&
63292  ( maxMeshWorkGroupTotalCount == rhs.maxMeshWorkGroupTotalCount ) && ( maxMeshWorkGroupCount == rhs.maxMeshWorkGroupCount ) &&
63293  ( maxMeshWorkGroupInvocations == rhs.maxMeshWorkGroupInvocations ) && ( maxMeshWorkGroupSize == rhs.maxMeshWorkGroupSize ) &&
63294  ( maxMeshSharedMemorySize == rhs.maxMeshSharedMemorySize ) && ( maxMeshPayloadAndSharedMemorySize == rhs.maxMeshPayloadAndSharedMemorySize ) &&
63295  ( maxMeshOutputMemorySize == rhs.maxMeshOutputMemorySize ) && ( maxMeshPayloadAndOutputMemorySize == rhs.maxMeshPayloadAndOutputMemorySize ) &&
63296  ( maxMeshOutputComponents == rhs.maxMeshOutputComponents ) && ( maxMeshOutputVertices == rhs.maxMeshOutputVertices ) &&
63297  ( maxMeshOutputPrimitives == rhs.maxMeshOutputPrimitives ) && ( maxMeshOutputLayers == rhs.maxMeshOutputLayers ) &&
63298  ( maxMeshMultiviewViewCount == rhs.maxMeshMultiviewViewCount ) && ( meshOutputPerVertexGranularity == rhs.meshOutputPerVertexGranularity ) &&
63299  ( meshOutputPerPrimitiveGranularity == rhs.meshOutputPerPrimitiveGranularity ) &&
63300  ( maxPreferredTaskWorkGroupInvocations == rhs.maxPreferredTaskWorkGroupInvocations ) &&
63301  ( maxPreferredMeshWorkGroupInvocations == rhs.maxPreferredMeshWorkGroupInvocations ) &&
63302  ( prefersLocalInvocationVertexOutput == rhs.prefersLocalInvocationVertexOutput ) &&
63303  ( prefersLocalInvocationPrimitiveOutput == rhs.prefersLocalInvocationPrimitiveOutput ) &&
63304  ( prefersCompactVertexOutput == rhs.prefersCompactVertexOutput ) && ( prefersCompactPrimitiveOutput == rhs.prefersCompactPrimitiveOutput );
63305 # endif
63306  }
63307 
63309  {
63310  return !operator==( rhs );
63311  }
63312 #endif
63313 
63314  public:
63315  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceMeshShaderPropertiesEXT;
63316  void * pNext = {};
63317  uint32_t maxTaskWorkGroupTotalCount = {};
63319  uint32_t maxTaskWorkGroupInvocations = {};
63321  uint32_t maxTaskPayloadSize = {};
63322  uint32_t maxTaskSharedMemorySize = {};
63323  uint32_t maxTaskPayloadAndSharedMemorySize = {};
63324  uint32_t maxMeshWorkGroupTotalCount = {};
63326  uint32_t maxMeshWorkGroupInvocations = {};
63328  uint32_t maxMeshSharedMemorySize = {};
63329  uint32_t maxMeshPayloadAndSharedMemorySize = {};
63330  uint32_t maxMeshOutputMemorySize = {};
63331  uint32_t maxMeshPayloadAndOutputMemorySize = {};
63332  uint32_t maxMeshOutputComponents = {};
63333  uint32_t maxMeshOutputVertices = {};
63334  uint32_t maxMeshOutputPrimitives = {};
63335  uint32_t maxMeshOutputLayers = {};
63336  uint32_t maxMeshMultiviewViewCount = {};
63337  uint32_t meshOutputPerVertexGranularity = {};
63338  uint32_t meshOutputPerPrimitiveGranularity = {};
63339  uint32_t maxPreferredTaskWorkGroupInvocations = {};
63340  uint32_t maxPreferredMeshWorkGroupInvocations = {};
63341  VULKAN_HPP_NAMESPACE::Bool32 prefersLocalInvocationVertexOutput = {};
63342  VULKAN_HPP_NAMESPACE::Bool32 prefersLocalInvocationPrimitiveOutput = {};
63343  VULKAN_HPP_NAMESPACE::Bool32 prefersCompactVertexOutput = {};
63344  VULKAN_HPP_NAMESPACE::Bool32 prefersCompactPrimitiveOutput = {};
63345  };
63346 
63347  template <>
63349  {
63351  };
63352 
63354  {
63356 
63357  static const bool allowDuplicate = false;
63358  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceMeshShaderPropertiesNV;
63359 
63360 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
63361  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMeshShaderPropertiesNV( uint32_t maxDrawMeshTasksCount_ = {},
63362  uint32_t maxTaskWorkGroupInvocations_ = {},
63363  std::array<uint32_t, 3> const & maxTaskWorkGroupSize_ = {},
63364  uint32_t maxTaskTotalMemorySize_ = {},
63365  uint32_t maxTaskOutputCount_ = {},
63366  uint32_t maxMeshWorkGroupInvocations_ = {},
63367  std::array<uint32_t, 3> const & maxMeshWorkGroupSize_ = {},
63368  uint32_t maxMeshTotalMemorySize_ = {},
63369  uint32_t maxMeshOutputVertices_ = {},
63370  uint32_t maxMeshOutputPrimitives_ = {},
63371  uint32_t maxMeshMultiviewViewCount_ = {},
63372  uint32_t meshOutputPerVertexGranularity_ = {},
63373  uint32_t meshOutputPerPrimitiveGranularity_ = {},
63374  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
63375  : pNext( pNext_ )
63376  , maxDrawMeshTasksCount( maxDrawMeshTasksCount_ )
63377  , maxTaskWorkGroupInvocations( maxTaskWorkGroupInvocations_ )
63378  , maxTaskWorkGroupSize( maxTaskWorkGroupSize_ )
63379  , maxTaskTotalMemorySize( maxTaskTotalMemorySize_ )
63380  , maxTaskOutputCount( maxTaskOutputCount_ )
63381  , maxMeshWorkGroupInvocations( maxMeshWorkGroupInvocations_ )
63382  , maxMeshWorkGroupSize( maxMeshWorkGroupSize_ )
63383  , maxMeshTotalMemorySize( maxMeshTotalMemorySize_ )
63384  , maxMeshOutputVertices( maxMeshOutputVertices_ )
63385  , maxMeshOutputPrimitives( maxMeshOutputPrimitives_ )
63386  , maxMeshMultiviewViewCount( maxMeshMultiviewViewCount_ )
63387  , meshOutputPerVertexGranularity( meshOutputPerVertexGranularity_ )
63388  , meshOutputPerPrimitiveGranularity( meshOutputPerPrimitiveGranularity_ )
63389  {
63390  }
63391 
63392  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMeshShaderPropertiesNV( PhysicalDeviceMeshShaderPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
63393 
63395  : PhysicalDeviceMeshShaderPropertiesNV( *reinterpret_cast<PhysicalDeviceMeshShaderPropertiesNV const *>( &rhs ) )
63396  {
63397  }
63398 
63400 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
63401 
63403  {
63404  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceMeshShaderPropertiesNV const *>( &rhs );
63405  return *this;
63406  }
63407 
63409  {
63410  return *reinterpret_cast<const VkPhysicalDeviceMeshShaderPropertiesNV *>( this );
63411  }
63412 
63414  {
63415  return *reinterpret_cast<VkPhysicalDeviceMeshShaderPropertiesNV *>( this );
63416  }
63417 
63418 #if defined( VULKAN_HPP_USE_REFLECT )
63419 # if 14 <= VULKAN_HPP_CPP_VERSION
63420  auto
63421 # else
63422  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
63423  void * const &,
63424  uint32_t const &,
63425  uint32_t const &,
63427  uint32_t const &,
63428  uint32_t const &,
63429  uint32_t const &,
63431  uint32_t const &,
63432  uint32_t const &,
63433  uint32_t const &,
63434  uint32_t const &,
63435  uint32_t const &,
63436  uint32_t const &>
63437 # endif
63438  reflect() const VULKAN_HPP_NOEXCEPT
63439  {
63440  return std::tie( sType,
63441  pNext,
63442  maxDrawMeshTasksCount,
63443  maxTaskWorkGroupInvocations,
63444  maxTaskWorkGroupSize,
63445  maxTaskTotalMemorySize,
63446  maxTaskOutputCount,
63447  maxMeshWorkGroupInvocations,
63448  maxMeshWorkGroupSize,
63449  maxMeshTotalMemorySize,
63450  maxMeshOutputVertices,
63451  maxMeshOutputPrimitives,
63452  maxMeshMultiviewViewCount,
63453  meshOutputPerVertexGranularity,
63454  meshOutputPerPrimitiveGranularity );
63455  }
63456 #endif
63457 
63458 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
63459  auto operator<=>( PhysicalDeviceMeshShaderPropertiesNV const & ) const = default;
63460 #else
63462  {
63463 # if defined( VULKAN_HPP_USE_REFLECT )
63464  return this->reflect() == rhs.reflect();
63465 # else
63466  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxDrawMeshTasksCount == rhs.maxDrawMeshTasksCount ) &&
63467  ( maxTaskWorkGroupInvocations == rhs.maxTaskWorkGroupInvocations ) && ( maxTaskWorkGroupSize == rhs.maxTaskWorkGroupSize ) &&
63468  ( maxTaskTotalMemorySize == rhs.maxTaskTotalMemorySize ) && ( maxTaskOutputCount == rhs.maxTaskOutputCount ) &&
63469  ( maxMeshWorkGroupInvocations == rhs.maxMeshWorkGroupInvocations ) && ( maxMeshWorkGroupSize == rhs.maxMeshWorkGroupSize ) &&
63470  ( maxMeshTotalMemorySize == rhs.maxMeshTotalMemorySize ) && ( maxMeshOutputVertices == rhs.maxMeshOutputVertices ) &&
63471  ( maxMeshOutputPrimitives == rhs.maxMeshOutputPrimitives ) && ( maxMeshMultiviewViewCount == rhs.maxMeshMultiviewViewCount ) &&
63472  ( meshOutputPerVertexGranularity == rhs.meshOutputPerVertexGranularity ) &&
63473  ( meshOutputPerPrimitiveGranularity == rhs.meshOutputPerPrimitiveGranularity );
63474 # endif
63475  }
63476 
63478  {
63479  return !operator==( rhs );
63480  }
63481 #endif
63482 
63483  public:
63484  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceMeshShaderPropertiesNV;
63485  void * pNext = {};
63486  uint32_t maxDrawMeshTasksCount = {};
63487  uint32_t maxTaskWorkGroupInvocations = {};
63489  uint32_t maxTaskTotalMemorySize = {};
63490  uint32_t maxTaskOutputCount = {};
63491  uint32_t maxMeshWorkGroupInvocations = {};
63493  uint32_t maxMeshTotalMemorySize = {};
63494  uint32_t maxMeshOutputVertices = {};
63495  uint32_t maxMeshOutputPrimitives = {};
63496  uint32_t maxMeshMultiviewViewCount = {};
63497  uint32_t meshOutputPerVertexGranularity = {};
63498  uint32_t meshOutputPerPrimitiveGranularity = {};
63499  };
63500 
63501  template <>
63503  {
63505  };
63506 
63508  {
63510 
63511  static const bool allowDuplicate = false;
63512  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceMultiDrawFeaturesEXT;
63513 
63514 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
63516  : pNext( pNext_ )
63517  , multiDraw( multiDraw_ )
63518  {
63519  }
63520 
63521  VULKAN_HPP_CONSTEXPR PhysicalDeviceMultiDrawFeaturesEXT( PhysicalDeviceMultiDrawFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
63522 
63524  : PhysicalDeviceMultiDrawFeaturesEXT( *reinterpret_cast<PhysicalDeviceMultiDrawFeaturesEXT const *>( &rhs ) )
63525  {
63526  }
63527 
63529 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
63530 
63532  {
63533  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiDrawFeaturesEXT const *>( &rhs );
63534  return *this;
63535  }
63536 
63537 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
63539  {
63540  pNext = pNext_;
63541  return *this;
63542  }
63543 
63545  {
63546  multiDraw = multiDraw_;
63547  return *this;
63548  }
63549 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
63550 
63552  {
63553  return *reinterpret_cast<const VkPhysicalDeviceMultiDrawFeaturesEXT *>( this );
63554  }
63555 
63557  {
63558  return *reinterpret_cast<VkPhysicalDeviceMultiDrawFeaturesEXT *>( this );
63559  }
63560 
63561 #if defined( VULKAN_HPP_USE_REFLECT )
63562 # if 14 <= VULKAN_HPP_CPP_VERSION
63563  auto
63564 # else
63565  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
63566 # endif
63567  reflect() const VULKAN_HPP_NOEXCEPT
63568  {
63569  return std::tie( sType, pNext, multiDraw );
63570  }
63571 #endif
63572 
63573 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
63574  auto operator<=>( PhysicalDeviceMultiDrawFeaturesEXT const & ) const = default;
63575 #else
63577  {
63578 # if defined( VULKAN_HPP_USE_REFLECT )
63579  return this->reflect() == rhs.reflect();
63580 # else
63581  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( multiDraw == rhs.multiDraw );
63582 # endif
63583  }
63584 
63586  {
63587  return !operator==( rhs );
63588  }
63589 #endif
63590 
63591  public:
63592  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceMultiDrawFeaturesEXT;
63593  void * pNext = {};
63595  };
63596 
63597  template <>
63599  {
63601  };
63602 
63604  {
63606 
63607  static const bool allowDuplicate = false;
63608  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceMultiDrawPropertiesEXT;
63609 
63610 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
63611  VULKAN_HPP_CONSTEXPR PhysicalDeviceMultiDrawPropertiesEXT( uint32_t maxMultiDrawCount_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
63612  : pNext( pNext_ )
63613  , maxMultiDrawCount( maxMultiDrawCount_ )
63614  {
63615  }
63616 
63617  VULKAN_HPP_CONSTEXPR PhysicalDeviceMultiDrawPropertiesEXT( PhysicalDeviceMultiDrawPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
63618 
63620  : PhysicalDeviceMultiDrawPropertiesEXT( *reinterpret_cast<PhysicalDeviceMultiDrawPropertiesEXT const *>( &rhs ) )
63621  {
63622  }
63623 
63625 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
63626 
63628  {
63629  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiDrawPropertiesEXT const *>( &rhs );
63630  return *this;
63631  }
63632 
63634  {
63635  return *reinterpret_cast<const VkPhysicalDeviceMultiDrawPropertiesEXT *>( this );
63636  }
63637 
63639  {
63640  return *reinterpret_cast<VkPhysicalDeviceMultiDrawPropertiesEXT *>( this );
63641  }
63642 
63643 #if defined( VULKAN_HPP_USE_REFLECT )
63644 # if 14 <= VULKAN_HPP_CPP_VERSION
63645  auto
63646 # else
63647  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, uint32_t const &>
63648 # endif
63649  reflect() const VULKAN_HPP_NOEXCEPT
63650  {
63651  return std::tie( sType, pNext, maxMultiDrawCount );
63652  }
63653 #endif
63654 
63655 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
63656  auto operator<=>( PhysicalDeviceMultiDrawPropertiesEXT const & ) const = default;
63657 #else
63659  {
63660 # if defined( VULKAN_HPP_USE_REFLECT )
63661  return this->reflect() == rhs.reflect();
63662 # else
63663  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxMultiDrawCount == rhs.maxMultiDrawCount );
63664 # endif
63665  }
63666 
63668  {
63669  return !operator==( rhs );
63670  }
63671 #endif
63672 
63673  public:
63674  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceMultiDrawPropertiesEXT;
63675  void * pNext = {};
63676  uint32_t maxMultiDrawCount = {};
63677  };
63678 
63679  template <>
63681  {
63683  };
63684 
63686  {
63688 
63689  static const bool allowDuplicate = false;
63690  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT;
63691 
63692 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
63694  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
63695  : pNext( pNext_ )
63696  , multisampledRenderToSingleSampled( multisampledRenderToSingleSampled_ )
63697  {
63698  }
63699 
63700  VULKAN_HPP_CONSTEXPR PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT( PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT const & rhs )
63701  VULKAN_HPP_NOEXCEPT = default;
63702 
63705  *reinterpret_cast<PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT const *>( &rhs ) )
63706  {
63707  }
63708 
63711 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
63712 
63715  {
63717  return *this;
63718  }
63719 
63720 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
63722  {
63723  pNext = pNext_;
63724  return *this;
63725  }
63726 
63729  {
63730  multisampledRenderToSingleSampled = multisampledRenderToSingleSampled_;
63731  return *this;
63732  }
63733 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
63734 
63736  {
63737  return *reinterpret_cast<const VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT *>( this );
63738  }
63739 
63741  {
63743  }
63744 
63745 #if defined( VULKAN_HPP_USE_REFLECT )
63746 # if 14 <= VULKAN_HPP_CPP_VERSION
63747  auto
63748 # else
63749  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
63750 # endif
63751  reflect() const VULKAN_HPP_NOEXCEPT
63752  {
63753  return std::tie( sType, pNext, multisampledRenderToSingleSampled );
63754  }
63755 #endif
63756 
63757 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
63758  auto operator<=>( PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT const & ) const = default;
63759 #else
63761  {
63762 # if defined( VULKAN_HPP_USE_REFLECT )
63763  return this->reflect() == rhs.reflect();
63764 # else
63765  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( multisampledRenderToSingleSampled == rhs.multisampledRenderToSingleSampled );
63766 # endif
63767  }
63768 
63770  {
63771  return !operator==( rhs );
63772  }
63773 #endif
63774 
63775  public:
63776  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT;
63777  void * pNext = {};
63778  VULKAN_HPP_NAMESPACE::Bool32 multisampledRenderToSingleSampled = {};
63779  };
63780 
63781  template <>
63783  {
63785  };
63786 
63788  {
63790 
63791  static const bool allowDuplicate = false;
63792  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceMultiviewFeatures;
63793 
63794 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
63796  VULKAN_HPP_NAMESPACE::Bool32 multiviewGeometryShader_ = {},
63797  VULKAN_HPP_NAMESPACE::Bool32 multiviewTessellationShader_ = {},
63798  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
63799  : pNext( pNext_ )
63800  , multiview( multiview_ )
63801  , multiviewGeometryShader( multiviewGeometryShader_ )
63802  , multiviewTessellationShader( multiviewTessellationShader_ )
63803  {
63804  }
63805 
63806  VULKAN_HPP_CONSTEXPR PhysicalDeviceMultiviewFeatures( PhysicalDeviceMultiviewFeatures const & rhs ) VULKAN_HPP_NOEXCEPT = default;
63807 
63809  : PhysicalDeviceMultiviewFeatures( *reinterpret_cast<PhysicalDeviceMultiviewFeatures const *>( &rhs ) )
63810  {
63811  }
63812 
63814 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
63815 
63817  {
63818  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewFeatures const *>( &rhs );
63819  return *this;
63820  }
63821 
63822 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
63824  {
63825  pNext = pNext_;
63826  return *this;
63827  }
63828 
63830  {
63831  multiview = multiview_;
63832  return *this;
63833  }
63834 
63837  {
63838  multiviewGeometryShader = multiviewGeometryShader_;
63839  return *this;
63840  }
63841 
63844  {
63845  multiviewTessellationShader = multiviewTessellationShader_;
63846  return *this;
63847  }
63848 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
63849 
63851  {
63852  return *reinterpret_cast<const VkPhysicalDeviceMultiviewFeatures *>( this );
63853  }
63854 
63856  {
63857  return *reinterpret_cast<VkPhysicalDeviceMultiviewFeatures *>( this );
63858  }
63859 
63860 #if defined( VULKAN_HPP_USE_REFLECT )
63861 # if 14 <= VULKAN_HPP_CPP_VERSION
63862  auto
63863 # else
63864  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
63865  void * const &,
63869 # endif
63870  reflect() const VULKAN_HPP_NOEXCEPT
63871  {
63872  return std::tie( sType, pNext, multiview, multiviewGeometryShader, multiviewTessellationShader );
63873  }
63874 #endif
63875 
63876 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
63877  auto operator<=>( PhysicalDeviceMultiviewFeatures const & ) const = default;
63878 #else
63880  {
63881 # if defined( VULKAN_HPP_USE_REFLECT )
63882  return this->reflect() == rhs.reflect();
63883 # else
63884  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( multiview == rhs.multiview ) && ( multiviewGeometryShader == rhs.multiviewGeometryShader ) &&
63885  ( multiviewTessellationShader == rhs.multiviewTessellationShader );
63886 # endif
63887  }
63888 
63890  {
63891  return !operator==( rhs );
63892  }
63893 #endif
63894 
63895  public:
63896  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceMultiviewFeatures;
63897  void * pNext = {};
63899  VULKAN_HPP_NAMESPACE::Bool32 multiviewGeometryShader = {};
63900  VULKAN_HPP_NAMESPACE::Bool32 multiviewTessellationShader = {};
63901  };
63902 
63903  template <>
63905  {
63907  };
63909 
63911  {
63913 
63914  static const bool allowDuplicate = false;
63915  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
63916 
63917 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
63919  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
63920  : pNext( pNext_ )
63921  , perViewPositionAllComponents( perViewPositionAllComponents_ )
63922  {
63923  }
63924 
63926  PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX( PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX const & rhs ) VULKAN_HPP_NOEXCEPT = default;
63927 
63929  : PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX( *reinterpret_cast<PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX const *>( &rhs ) )
63930  {
63931  }
63932 
63935 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
63936 
63938  {
63939  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX const *>( &rhs );
63940  return *this;
63941  }
63942 
63944  {
63945  return *reinterpret_cast<const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX *>( this );
63946  }
63947 
63949  {
63950  return *reinterpret_cast<VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX *>( this );
63951  }
63952 
63953 #if defined( VULKAN_HPP_USE_REFLECT )
63954 # if 14 <= VULKAN_HPP_CPP_VERSION
63955  auto
63956 # else
63957  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
63958 # endif
63959  reflect() const VULKAN_HPP_NOEXCEPT
63960  {
63961  return std::tie( sType, pNext, perViewPositionAllComponents );
63962  }
63963 #endif
63964 
63965 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
63966  auto operator<=>( PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX const & ) const = default;
63967 #else
63969  {
63970 # if defined( VULKAN_HPP_USE_REFLECT )
63971  return this->reflect() == rhs.reflect();
63972 # else
63973  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( perViewPositionAllComponents == rhs.perViewPositionAllComponents );
63974 # endif
63975  }
63976 
63978  {
63979  return !operator==( rhs );
63980  }
63981 #endif
63982 
63983  public:
63984  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
63985  void * pNext = {};
63986  VULKAN_HPP_NAMESPACE::Bool32 perViewPositionAllComponents = {};
63987  };
63988 
63989  template <>
63991  {
63993  };
63994 
63996  {
63998 
63999  static const bool allowDuplicate = false;
64000  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM;
64001 
64002 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
64004  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
64005  : pNext( pNext_ )
64006  , multiviewPerViewViewports( multiviewPerViewViewports_ )
64007  {
64008  }
64009 
64011  PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM( PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default;
64012 
64014  : PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM( *reinterpret_cast<PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM const *>( &rhs ) )
64015  {
64016  }
64017 
64020 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
64021 
64023  {
64024  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM const *>( &rhs );
64025  return *this;
64026  }
64027 
64028 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
64030  {
64031  pNext = pNext_;
64032  return *this;
64033  }
64034 
64037  {
64038  multiviewPerViewViewports = multiviewPerViewViewports_;
64039  return *this;
64040  }
64041 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
64042 
64044  {
64045  return *reinterpret_cast<const VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM *>( this );
64046  }
64047 
64049  {
64050  return *reinterpret_cast<VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM *>( this );
64051  }
64052 
64053 #if defined( VULKAN_HPP_USE_REFLECT )
64054 # if 14 <= VULKAN_HPP_CPP_VERSION
64055  auto
64056 # else
64057  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
64058 # endif
64059  reflect() const VULKAN_HPP_NOEXCEPT
64060  {
64061  return std::tie( sType, pNext, multiviewPerViewViewports );
64062  }
64063 #endif
64064 
64065 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
64066  auto operator<=>( PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM const & ) const = default;
64067 #else
64069  {
64070 # if defined( VULKAN_HPP_USE_REFLECT )
64071  return this->reflect() == rhs.reflect();
64072 # else
64073  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( multiviewPerViewViewports == rhs.multiviewPerViewViewports );
64074 # endif
64075  }
64076 
64078  {
64079  return !operator==( rhs );
64080  }
64081 #endif
64082 
64083  public:
64084  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM;
64085  void * pNext = {};
64086  VULKAN_HPP_NAMESPACE::Bool32 multiviewPerViewViewports = {};
64087  };
64088 
64089  template <>
64091  {
64093  };
64094 
64096  {
64098 
64099  static const bool allowDuplicate = false;
64100  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceMultiviewProperties;
64101 
64102 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
64103  VULKAN_HPP_CONSTEXPR PhysicalDeviceMultiviewProperties( uint32_t maxMultiviewViewCount_ = {},
64104  uint32_t maxMultiviewInstanceIndex_ = {},
64105  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
64106  : pNext( pNext_ )
64107  , maxMultiviewViewCount( maxMultiviewViewCount_ )
64108  , maxMultiviewInstanceIndex( maxMultiviewInstanceIndex_ )
64109  {
64110  }
64111 
64112  VULKAN_HPP_CONSTEXPR PhysicalDeviceMultiviewProperties( PhysicalDeviceMultiviewProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
64113 
64115  : PhysicalDeviceMultiviewProperties( *reinterpret_cast<PhysicalDeviceMultiviewProperties const *>( &rhs ) )
64116  {
64117  }
64118 
64120 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
64121 
64123  {
64124  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewProperties const *>( &rhs );
64125  return *this;
64126  }
64127 
64129  {
64130  return *reinterpret_cast<const VkPhysicalDeviceMultiviewProperties *>( this );
64131  }
64132 
64134  {
64135  return *reinterpret_cast<VkPhysicalDeviceMultiviewProperties *>( this );
64136  }
64137 
64138 #if defined( VULKAN_HPP_USE_REFLECT )
64139 # if 14 <= VULKAN_HPP_CPP_VERSION
64140  auto
64141 # else
64142  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, uint32_t const &, uint32_t const &>
64143 # endif
64144  reflect() const VULKAN_HPP_NOEXCEPT
64145  {
64146  return std::tie( sType, pNext, maxMultiviewViewCount, maxMultiviewInstanceIndex );
64147  }
64148 #endif
64149 
64150 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
64151  auto operator<=>( PhysicalDeviceMultiviewProperties const & ) const = default;
64152 #else
64154  {
64155 # if defined( VULKAN_HPP_USE_REFLECT )
64156  return this->reflect() == rhs.reflect();
64157 # else
64158  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxMultiviewViewCount == rhs.maxMultiviewViewCount ) &&
64159  ( maxMultiviewInstanceIndex == rhs.maxMultiviewInstanceIndex );
64160 # endif
64161  }
64162 
64164  {
64165  return !operator==( rhs );
64166  }
64167 #endif
64168 
64169  public:
64170  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceMultiviewProperties;
64171  void * pNext = {};
64172  uint32_t maxMultiviewViewCount = {};
64173  uint32_t maxMultiviewInstanceIndex = {};
64174  };
64175 
64176  template <>
64178  {
64180  };
64182 
64184  {
64186 
64187  static const bool allowDuplicate = false;
64188  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceMutableDescriptorTypeFeaturesEXT;
64189 
64190 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
64192  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
64193  : pNext( pNext_ )
64194  , mutableDescriptorType( mutableDescriptorType_ )
64195  {
64196  }
64197 
64199  PhysicalDeviceMutableDescriptorTypeFeaturesEXT( PhysicalDeviceMutableDescriptorTypeFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
64200 
64202  : PhysicalDeviceMutableDescriptorTypeFeaturesEXT( *reinterpret_cast<PhysicalDeviceMutableDescriptorTypeFeaturesEXT const *>( &rhs ) )
64203  {
64204  }
64205 
64207 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
64208 
64210  {
64211  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceMutableDescriptorTypeFeaturesEXT const *>( &rhs );
64212  return *this;
64213  }
64214 
64215 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
64217  {
64218  pNext = pNext_;
64219  return *this;
64220  }
64221 
64224  {
64225  mutableDescriptorType = mutableDescriptorType_;
64226  return *this;
64227  }
64228 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
64229 
64231  {
64232  return *reinterpret_cast<const VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT *>( this );
64233  }
64234 
64236  {
64237  return *reinterpret_cast<VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT *>( this );
64238  }
64239 
64240 #if defined( VULKAN_HPP_USE_REFLECT )
64241 # if 14 <= VULKAN_HPP_CPP_VERSION
64242  auto
64243 # else
64244  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
64245 # endif
64246  reflect() const VULKAN_HPP_NOEXCEPT
64247  {
64248  return std::tie( sType, pNext, mutableDescriptorType );
64249  }
64250 #endif
64251 
64252 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
64253  auto operator<=>( PhysicalDeviceMutableDescriptorTypeFeaturesEXT const & ) const = default;
64254 #else
64256  {
64257 # if defined( VULKAN_HPP_USE_REFLECT )
64258  return this->reflect() == rhs.reflect();
64259 # else
64260  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( mutableDescriptorType == rhs.mutableDescriptorType );
64261 # endif
64262  }
64263 
64265  {
64266  return !operator==( rhs );
64267  }
64268 #endif
64269 
64270  public:
64271  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceMutableDescriptorTypeFeaturesEXT;
64272  void * pNext = {};
64273  VULKAN_HPP_NAMESPACE::Bool32 mutableDescriptorType = {};
64274  };
64275 
64276  template <>
64278  {
64280  };
64282 
64284  {
64286 
64287  static const bool allowDuplicate = false;
64288  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceNonSeamlessCubeMapFeaturesEXT;
64289 
64290 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
64292  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
64293  : pNext( pNext_ )
64294  , nonSeamlessCubeMap( nonSeamlessCubeMap_ )
64295  {
64296  }
64297 
64298  VULKAN_HPP_CONSTEXPR PhysicalDeviceNonSeamlessCubeMapFeaturesEXT( PhysicalDeviceNonSeamlessCubeMapFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
64299 
64301  : PhysicalDeviceNonSeamlessCubeMapFeaturesEXT( *reinterpret_cast<PhysicalDeviceNonSeamlessCubeMapFeaturesEXT const *>( &rhs ) )
64302  {
64303  }
64304 
64306 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
64307 
64309  {
64310  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceNonSeamlessCubeMapFeaturesEXT const *>( &rhs );
64311  return *this;
64312  }
64313 
64314 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
64316  {
64317  pNext = pNext_;
64318  return *this;
64319  }
64320 
64323  {
64324  nonSeamlessCubeMap = nonSeamlessCubeMap_;
64325  return *this;
64326  }
64327 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
64328 
64330  {
64331  return *reinterpret_cast<const VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT *>( this );
64332  }
64333 
64335  {
64336  return *reinterpret_cast<VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT *>( this );
64337  }
64338 
64339 #if defined( VULKAN_HPP_USE_REFLECT )
64340 # if 14 <= VULKAN_HPP_CPP_VERSION
64341  auto
64342 # else
64343  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
64344 # endif
64345  reflect() const VULKAN_HPP_NOEXCEPT
64346  {
64347  return std::tie( sType, pNext, nonSeamlessCubeMap );
64348  }
64349 #endif
64350 
64351 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
64352  auto operator<=>( PhysicalDeviceNonSeamlessCubeMapFeaturesEXT const & ) const = default;
64353 #else
64355  {
64356 # if defined( VULKAN_HPP_USE_REFLECT )
64357  return this->reflect() == rhs.reflect();
64358 # else
64359  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( nonSeamlessCubeMap == rhs.nonSeamlessCubeMap );
64360 # endif
64361  }
64362 
64364  {
64365  return !operator==( rhs );
64366  }
64367 #endif
64368 
64369  public:
64370  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceNonSeamlessCubeMapFeaturesEXT;
64371  void * pNext = {};
64372  VULKAN_HPP_NAMESPACE::Bool32 nonSeamlessCubeMap = {};
64373  };
64374 
64375  template <>
64377  {
64379  };
64380 
64382  {
64384 
64385  static const bool allowDuplicate = false;
64386  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceOpacityMicromapFeaturesEXT;
64387 
64388 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
64390  VULKAN_HPP_NAMESPACE::Bool32 micromapCaptureReplay_ = {},
64391  VULKAN_HPP_NAMESPACE::Bool32 micromapHostCommands_ = {},
64392  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
64393  : pNext( pNext_ )
64394  , micromap( micromap_ )
64395  , micromapCaptureReplay( micromapCaptureReplay_ )
64396  , micromapHostCommands( micromapHostCommands_ )
64397  {
64398  }
64399 
64400  VULKAN_HPP_CONSTEXPR PhysicalDeviceOpacityMicromapFeaturesEXT( PhysicalDeviceOpacityMicromapFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
64401 
64403  : PhysicalDeviceOpacityMicromapFeaturesEXT( *reinterpret_cast<PhysicalDeviceOpacityMicromapFeaturesEXT const *>( &rhs ) )
64404  {
64405  }
64406 
64408 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
64409 
64411  {
64412  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceOpacityMicromapFeaturesEXT const *>( &rhs );
64413  return *this;
64414  }
64415 
64416 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
64418  {
64419  pNext = pNext_;
64420  return *this;
64421  }
64422 
64424  {
64425  micromap = micromap_;
64426  return *this;
64427  }
64428 
64431  {
64432  micromapCaptureReplay = micromapCaptureReplay_;
64433  return *this;
64434  }
64435 
64438  {
64439  micromapHostCommands = micromapHostCommands_;
64440  return *this;
64441  }
64442 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
64443 
64445  {
64446  return *reinterpret_cast<const VkPhysicalDeviceOpacityMicromapFeaturesEXT *>( this );
64447  }
64448 
64450  {
64451  return *reinterpret_cast<VkPhysicalDeviceOpacityMicromapFeaturesEXT *>( this );
64452  }
64453 
64454 #if defined( VULKAN_HPP_USE_REFLECT )
64455 # if 14 <= VULKAN_HPP_CPP_VERSION
64456  auto
64457 # else
64458  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
64459  void * const &,
64463 # endif
64464  reflect() const VULKAN_HPP_NOEXCEPT
64465  {
64466  return std::tie( sType, pNext, micromap, micromapCaptureReplay, micromapHostCommands );
64467  }
64468 #endif
64469 
64470 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
64471  auto operator<=>( PhysicalDeviceOpacityMicromapFeaturesEXT const & ) const = default;
64472 #else
64474  {
64475 # if defined( VULKAN_HPP_USE_REFLECT )
64476  return this->reflect() == rhs.reflect();
64477 # else
64478  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( micromap == rhs.micromap ) && ( micromapCaptureReplay == rhs.micromapCaptureReplay ) &&
64479  ( micromapHostCommands == rhs.micromapHostCommands );
64480 # endif
64481  }
64482 
64484  {
64485  return !operator==( rhs );
64486  }
64487 #endif
64488 
64489  public:
64490  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceOpacityMicromapFeaturesEXT;
64491  void * pNext = {};
64493  VULKAN_HPP_NAMESPACE::Bool32 micromapCaptureReplay = {};
64494  VULKAN_HPP_NAMESPACE::Bool32 micromapHostCommands = {};
64495  };
64496 
64497  template <>
64499  {
64501  };
64502 
64504  {
64506 
64507  static const bool allowDuplicate = false;
64508  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceOpacityMicromapPropertiesEXT;
64509 
64510 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
64511  VULKAN_HPP_CONSTEXPR PhysicalDeviceOpacityMicromapPropertiesEXT( uint32_t maxOpacity2StateSubdivisionLevel_ = {},
64512  uint32_t maxOpacity4StateSubdivisionLevel_ = {},
64513  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
64514  : pNext( pNext_ )
64515  , maxOpacity2StateSubdivisionLevel( maxOpacity2StateSubdivisionLevel_ )
64516  , maxOpacity4StateSubdivisionLevel( maxOpacity4StateSubdivisionLevel_ )
64517  {
64518  }
64519 
64520  VULKAN_HPP_CONSTEXPR PhysicalDeviceOpacityMicromapPropertiesEXT( PhysicalDeviceOpacityMicromapPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
64521 
64523  : PhysicalDeviceOpacityMicromapPropertiesEXT( *reinterpret_cast<PhysicalDeviceOpacityMicromapPropertiesEXT const *>( &rhs ) )
64524  {
64525  }
64526 
64528 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
64529 
64531  {
64532  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceOpacityMicromapPropertiesEXT const *>( &rhs );
64533  return *this;
64534  }
64535 
64537  {
64538  return *reinterpret_cast<const VkPhysicalDeviceOpacityMicromapPropertiesEXT *>( this );
64539  }
64540 
64542  {
64543  return *reinterpret_cast<VkPhysicalDeviceOpacityMicromapPropertiesEXT *>( this );
64544  }
64545 
64546 #if defined( VULKAN_HPP_USE_REFLECT )
64547 # if 14 <= VULKAN_HPP_CPP_VERSION
64548  auto
64549 # else
64550  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, uint32_t const &, uint32_t const &>
64551 # endif
64552  reflect() const VULKAN_HPP_NOEXCEPT
64553  {
64554  return std::tie( sType, pNext, maxOpacity2StateSubdivisionLevel, maxOpacity4StateSubdivisionLevel );
64555  }
64556 #endif
64557 
64558 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
64559  auto operator<=>( PhysicalDeviceOpacityMicromapPropertiesEXT const & ) const = default;
64560 #else
64562  {
64563 # if defined( VULKAN_HPP_USE_REFLECT )
64564  return this->reflect() == rhs.reflect();
64565 # else
64566  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxOpacity2StateSubdivisionLevel == rhs.maxOpacity2StateSubdivisionLevel ) &&
64567  ( maxOpacity4StateSubdivisionLevel == rhs.maxOpacity4StateSubdivisionLevel );
64568 # endif
64569  }
64570 
64572  {
64573  return !operator==( rhs );
64574  }
64575 #endif
64576 
64577  public:
64578  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceOpacityMicromapPropertiesEXT;
64579  void * pNext = {};
64580  uint32_t maxOpacity2StateSubdivisionLevel = {};
64581  uint32_t maxOpacity4StateSubdivisionLevel = {};
64582  };
64583 
64584  template <>
64586  {
64588  };
64589 
64591  {
64593 
64594  static const bool allowDuplicate = false;
64595  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceOpticalFlowFeaturesNV;
64596 
64597 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
64599  : pNext( pNext_ )
64600  , opticalFlow( opticalFlow_ )
64601  {
64602  }
64603 
64604  VULKAN_HPP_CONSTEXPR PhysicalDeviceOpticalFlowFeaturesNV( PhysicalDeviceOpticalFlowFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
64605 
64607  : PhysicalDeviceOpticalFlowFeaturesNV( *reinterpret_cast<PhysicalDeviceOpticalFlowFeaturesNV const *>( &rhs ) )
64608  {
64609  }
64610 
64612 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
64613 
64615  {
64616  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceOpticalFlowFeaturesNV const *>( &rhs );
64617  return *this;
64618  }
64619 
64620 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
64622  {
64623  pNext = pNext_;
64624  return *this;
64625  }
64626 
64628  {
64629  opticalFlow = opticalFlow_;
64630  return *this;
64631  }
64632 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
64633 
64635  {
64636  return *reinterpret_cast<const VkPhysicalDeviceOpticalFlowFeaturesNV *>( this );
64637  }
64638 
64640  {
64641  return *reinterpret_cast<VkPhysicalDeviceOpticalFlowFeaturesNV *>( this );
64642  }
64643 
64644 #if defined( VULKAN_HPP_USE_REFLECT )
64645 # if 14 <= VULKAN_HPP_CPP_VERSION
64646  auto
64647 # else
64648  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
64649 # endif
64650  reflect() const VULKAN_HPP_NOEXCEPT
64651  {
64652  return std::tie( sType, pNext, opticalFlow );
64653  }
64654 #endif
64655 
64656 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
64657  auto operator<=>( PhysicalDeviceOpticalFlowFeaturesNV const & ) const = default;
64658 #else
64660  {
64661 # if defined( VULKAN_HPP_USE_REFLECT )
64662  return this->reflect() == rhs.reflect();
64663 # else
64664  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( opticalFlow == rhs.opticalFlow );
64665 # endif
64666  }
64667 
64669  {
64670  return !operator==( rhs );
64671  }
64672 #endif
64673 
64674  public:
64675  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceOpticalFlowFeaturesNV;
64676  void * pNext = {};
64678  };
64679 
64680  template <>
64682  {
64684  };
64685 
64687  {
64689 
64690  static const bool allowDuplicate = false;
64691  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceOpticalFlowPropertiesNV;
64692 
64693 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
64695  VULKAN_HPP_NAMESPACE::OpticalFlowGridSizeFlagsNV supportedHintGridSizes_ = {},
64696  VULKAN_HPP_NAMESPACE::Bool32 hintSupported_ = {},
64697  VULKAN_HPP_NAMESPACE::Bool32 costSupported_ = {},
64698  VULKAN_HPP_NAMESPACE::Bool32 bidirectionalFlowSupported_ = {},
64699  VULKAN_HPP_NAMESPACE::Bool32 globalFlowSupported_ = {},
64700  uint32_t minWidth_ = {},
64701  uint32_t minHeight_ = {},
64702  uint32_t maxWidth_ = {},
64703  uint32_t maxHeight_ = {},
64704  uint32_t maxNumRegionsOfInterest_ = {},
64705  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
64706  : pNext( pNext_ )
64707  , supportedOutputGridSizes( supportedOutputGridSizes_ )
64708  , supportedHintGridSizes( supportedHintGridSizes_ )
64709  , hintSupported( hintSupported_ )
64710  , costSupported( costSupported_ )
64711  , bidirectionalFlowSupported( bidirectionalFlowSupported_ )
64712  , globalFlowSupported( globalFlowSupported_ )
64713  , minWidth( minWidth_ )
64714  , minHeight( minHeight_ )
64715  , maxWidth( maxWidth_ )
64716  , maxHeight( maxHeight_ )
64717  , maxNumRegionsOfInterest( maxNumRegionsOfInterest_ )
64718  {
64719  }
64720 
64721  VULKAN_HPP_CONSTEXPR PhysicalDeviceOpticalFlowPropertiesNV( PhysicalDeviceOpticalFlowPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
64722 
64724  : PhysicalDeviceOpticalFlowPropertiesNV( *reinterpret_cast<PhysicalDeviceOpticalFlowPropertiesNV const *>( &rhs ) )
64725  {
64726  }
64727 
64729 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
64730 
64732  {
64733  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceOpticalFlowPropertiesNV const *>( &rhs );
64734  return *this;
64735  }
64736 
64738  {
64739  return *reinterpret_cast<const VkPhysicalDeviceOpticalFlowPropertiesNV *>( this );
64740  }
64741 
64743  {
64744  return *reinterpret_cast<VkPhysicalDeviceOpticalFlowPropertiesNV *>( this );
64745  }
64746 
64747 #if defined( VULKAN_HPP_USE_REFLECT )
64748 # if 14 <= VULKAN_HPP_CPP_VERSION
64749  auto
64750 # else
64751  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
64752  void * const &,
64759  uint32_t const &,
64760  uint32_t const &,
64761  uint32_t const &,
64762  uint32_t const &,
64763  uint32_t const &>
64764 # endif
64765  reflect() const VULKAN_HPP_NOEXCEPT
64766  {
64767  return std::tie( sType,
64768  pNext,
64769  supportedOutputGridSizes,
64770  supportedHintGridSizes,
64771  hintSupported,
64772  costSupported,
64773  bidirectionalFlowSupported,
64774  globalFlowSupported,
64775  minWidth,
64776  minHeight,
64777  maxWidth,
64778  maxHeight,
64779  maxNumRegionsOfInterest );
64780  }
64781 #endif
64782 
64783 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
64784  auto operator<=>( PhysicalDeviceOpticalFlowPropertiesNV const & ) const = default;
64785 #else
64787  {
64788 # if defined( VULKAN_HPP_USE_REFLECT )
64789  return this->reflect() == rhs.reflect();
64790 # else
64791  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( supportedOutputGridSizes == rhs.supportedOutputGridSizes ) &&
64792  ( supportedHintGridSizes == rhs.supportedHintGridSizes ) && ( hintSupported == rhs.hintSupported ) && ( costSupported == rhs.costSupported ) &&
64793  ( bidirectionalFlowSupported == rhs.bidirectionalFlowSupported ) && ( globalFlowSupported == rhs.globalFlowSupported ) &&
64794  ( minWidth == rhs.minWidth ) && ( minHeight == rhs.minHeight ) && ( maxWidth == rhs.maxWidth ) && ( maxHeight == rhs.maxHeight ) &&
64795  ( maxNumRegionsOfInterest == rhs.maxNumRegionsOfInterest );
64796 # endif
64797  }
64798 
64800  {
64801  return !operator==( rhs );
64802  }
64803 #endif
64804 
64805  public:
64806  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceOpticalFlowPropertiesNV;
64807  void * pNext = {};
64810  VULKAN_HPP_NAMESPACE::Bool32 hintSupported = {};
64811  VULKAN_HPP_NAMESPACE::Bool32 costSupported = {};
64812  VULKAN_HPP_NAMESPACE::Bool32 bidirectionalFlowSupported = {};
64813  VULKAN_HPP_NAMESPACE::Bool32 globalFlowSupported = {};
64814  uint32_t minWidth = {};
64815  uint32_t minHeight = {};
64816  uint32_t maxWidth = {};
64817  uint32_t maxHeight = {};
64818  uint32_t maxNumRegionsOfInterest = {};
64819  };
64820 
64821  template <>
64823  {
64825  };
64826 
64828  {
64830 
64831  static const bool allowDuplicate = false;
64832  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevicePciBusInfoPropertiesEXT;
64833 
64834 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
64836  uint32_t pciDomain_ = {}, uint32_t pciBus_ = {}, uint32_t pciDevice_ = {}, uint32_t pciFunction_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
64837  : pNext( pNext_ )
64838  , pciDomain( pciDomain_ )
64839  , pciBus( pciBus_ )
64840  , pciDevice( pciDevice_ )
64841  , pciFunction( pciFunction_ )
64842  {
64843  }
64844 
64845  VULKAN_HPP_CONSTEXPR PhysicalDevicePCIBusInfoPropertiesEXT( PhysicalDevicePCIBusInfoPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
64846 
64848  : PhysicalDevicePCIBusInfoPropertiesEXT( *reinterpret_cast<PhysicalDevicePCIBusInfoPropertiesEXT const *>( &rhs ) )
64849  {
64850  }
64851 
64853 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
64854 
64856  {
64857  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDevicePCIBusInfoPropertiesEXT const *>( &rhs );
64858  return *this;
64859  }
64860 
64862  {
64863  return *reinterpret_cast<const VkPhysicalDevicePCIBusInfoPropertiesEXT *>( this );
64864  }
64865 
64867  {
64868  return *reinterpret_cast<VkPhysicalDevicePCIBusInfoPropertiesEXT *>( this );
64869  }
64870 
64871 #if defined( VULKAN_HPP_USE_REFLECT )
64872 # if 14 <= VULKAN_HPP_CPP_VERSION
64873  auto
64874 # else
64875  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, uint32_t const &, uint32_t const &, uint32_t const &, uint32_t const &>
64876 # endif
64877  reflect() const VULKAN_HPP_NOEXCEPT
64878  {
64879  return std::tie( sType, pNext, pciDomain, pciBus, pciDevice, pciFunction );
64880  }
64881 #endif
64882 
64883 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
64884  auto operator<=>( PhysicalDevicePCIBusInfoPropertiesEXT const & ) const = default;
64885 #else
64887  {
64888 # if defined( VULKAN_HPP_USE_REFLECT )
64889  return this->reflect() == rhs.reflect();
64890 # else
64891  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pciDomain == rhs.pciDomain ) && ( pciBus == rhs.pciBus ) && ( pciDevice == rhs.pciDevice ) &&
64892  ( pciFunction == rhs.pciFunction );
64893 # endif
64894  }
64895 
64897  {
64898  return !operator==( rhs );
64899  }
64900 #endif
64901 
64902  public:
64903  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDevicePciBusInfoPropertiesEXT;
64904  void * pNext = {};
64905  uint32_t pciDomain = {};
64906  uint32_t pciBus = {};
64907  uint32_t pciDevice = {};
64908  uint32_t pciFunction = {};
64909  };
64910 
64911  template <>
64913  {
64915  };
64916 
64918  {
64920 
64921  static const bool allowDuplicate = false;
64922  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevicePageableDeviceLocalMemoryFeaturesEXT;
64923 
64924 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
64926  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
64927  : pNext( pNext_ )
64928  , pageableDeviceLocalMemory( pageableDeviceLocalMemory_ )
64929  {
64930  }
64931 
64933  PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT( PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
64934 
64936  : PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT( *reinterpret_cast<PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT const *>( &rhs ) )
64937  {
64938  }
64939 
64942 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
64943 
64945  {
64946  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT const *>( &rhs );
64947  return *this;
64948  }
64949 
64950 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
64952  {
64953  pNext = pNext_;
64954  return *this;
64955  }
64956 
64959  {
64960  pageableDeviceLocalMemory = pageableDeviceLocalMemory_;
64961  return *this;
64962  }
64963 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
64964 
64966  {
64967  return *reinterpret_cast<const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT *>( this );
64968  }
64969 
64971  {
64972  return *reinterpret_cast<VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT *>( this );
64973  }
64974 
64975 #if defined( VULKAN_HPP_USE_REFLECT )
64976 # if 14 <= VULKAN_HPP_CPP_VERSION
64977  auto
64978 # else
64979  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
64980 # endif
64981  reflect() const VULKAN_HPP_NOEXCEPT
64982  {
64983  return std::tie( sType, pNext, pageableDeviceLocalMemory );
64984  }
64985 #endif
64986 
64987 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
64988  auto operator<=>( PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT const & ) const = default;
64989 #else
64991  {
64992 # if defined( VULKAN_HPP_USE_REFLECT )
64993  return this->reflect() == rhs.reflect();
64994 # else
64995  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pageableDeviceLocalMemory == rhs.pageableDeviceLocalMemory );
64996 # endif
64997  }
64998 
65000  {
65001  return !operator==( rhs );
65002  }
65003 #endif
65004 
65005  public:
65006  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDevicePageableDeviceLocalMemoryFeaturesEXT;
65007  void * pNext = {};
65008  VULKAN_HPP_NAMESPACE::Bool32 pageableDeviceLocalMemory = {};
65009  };
65010 
65011  template <>
65013  {
65015  };
65016 
65018  {
65020 
65021  static const bool allowDuplicate = false;
65022  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevicePerformanceQueryFeaturesKHR;
65023 
65024 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
65026  VULKAN_HPP_NAMESPACE::Bool32 performanceCounterMultipleQueryPools_ = {},
65027  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
65028  : pNext( pNext_ )
65029  , performanceCounterQueryPools( performanceCounterQueryPools_ )
65030  , performanceCounterMultipleQueryPools( performanceCounterMultipleQueryPools_ )
65031  {
65032  }
65033 
65034  VULKAN_HPP_CONSTEXPR PhysicalDevicePerformanceQueryFeaturesKHR( PhysicalDevicePerformanceQueryFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
65035 
65037  : PhysicalDevicePerformanceQueryFeaturesKHR( *reinterpret_cast<PhysicalDevicePerformanceQueryFeaturesKHR const *>( &rhs ) )
65038  {
65039  }
65040 
65042 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
65043 
65045  {
65046  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDevicePerformanceQueryFeaturesKHR const *>( &rhs );
65047  return *this;
65048  }
65049 
65050 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
65052  {
65053  pNext = pNext_;
65054  return *this;
65055  }
65056 
65059  {
65060  performanceCounterQueryPools = performanceCounterQueryPools_;
65061  return *this;
65062  }
65063 
65066  {
65067  performanceCounterMultipleQueryPools = performanceCounterMultipleQueryPools_;
65068  return *this;
65069  }
65070 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
65071 
65073  {
65074  return *reinterpret_cast<const VkPhysicalDevicePerformanceQueryFeaturesKHR *>( this );
65075  }
65076 
65078  {
65079  return *reinterpret_cast<VkPhysicalDevicePerformanceQueryFeaturesKHR *>( this );
65080  }
65081 
65082 #if defined( VULKAN_HPP_USE_REFLECT )
65083 # if 14 <= VULKAN_HPP_CPP_VERSION
65084  auto
65085 # else
65086  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
65087 # endif
65088  reflect() const VULKAN_HPP_NOEXCEPT
65089  {
65090  return std::tie( sType, pNext, performanceCounterQueryPools, performanceCounterMultipleQueryPools );
65091  }
65092 #endif
65093 
65094 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
65095  auto operator<=>( PhysicalDevicePerformanceQueryFeaturesKHR const & ) const = default;
65096 #else
65098  {
65099 # if defined( VULKAN_HPP_USE_REFLECT )
65100  return this->reflect() == rhs.reflect();
65101 # else
65102  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( performanceCounterQueryPools == rhs.performanceCounterQueryPools ) &&
65103  ( performanceCounterMultipleQueryPools == rhs.performanceCounterMultipleQueryPools );
65104 # endif
65105  }
65106 
65108  {
65109  return !operator==( rhs );
65110  }
65111 #endif
65112 
65113  public:
65114  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDevicePerformanceQueryFeaturesKHR;
65115  void * pNext = {};
65116  VULKAN_HPP_NAMESPACE::Bool32 performanceCounterQueryPools = {};
65117  VULKAN_HPP_NAMESPACE::Bool32 performanceCounterMultipleQueryPools = {};
65118  };
65119 
65120  template <>
65122  {
65124  };
65125 
65127  {
65129 
65130  static const bool allowDuplicate = false;
65131  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevicePerformanceQueryPropertiesKHR;
65132 
65133 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
65135  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
65136  : pNext( pNext_ )
65137  , allowCommandBufferQueryCopies( allowCommandBufferQueryCopies_ )
65138  {
65139  }
65140 
65141  VULKAN_HPP_CONSTEXPR PhysicalDevicePerformanceQueryPropertiesKHR( PhysicalDevicePerformanceQueryPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
65142 
65144  : PhysicalDevicePerformanceQueryPropertiesKHR( *reinterpret_cast<PhysicalDevicePerformanceQueryPropertiesKHR const *>( &rhs ) )
65145  {
65146  }
65147 
65149 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
65150 
65152  {
65153  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDevicePerformanceQueryPropertiesKHR const *>( &rhs );
65154  return *this;
65155  }
65156 
65158  {
65159  return *reinterpret_cast<const VkPhysicalDevicePerformanceQueryPropertiesKHR *>( this );
65160  }
65161 
65163  {
65164  return *reinterpret_cast<VkPhysicalDevicePerformanceQueryPropertiesKHR *>( this );
65165  }
65166 
65167 #if defined( VULKAN_HPP_USE_REFLECT )
65168 # if 14 <= VULKAN_HPP_CPP_VERSION
65169  auto
65170 # else
65171  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
65172 # endif
65173  reflect() const VULKAN_HPP_NOEXCEPT
65174  {
65175  return std::tie( sType, pNext, allowCommandBufferQueryCopies );
65176  }
65177 #endif
65178 
65179 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
65180  auto operator<=>( PhysicalDevicePerformanceQueryPropertiesKHR const & ) const = default;
65181 #else
65183  {
65184 # if defined( VULKAN_HPP_USE_REFLECT )
65185  return this->reflect() == rhs.reflect();
65186 # else
65187  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( allowCommandBufferQueryCopies == rhs.allowCommandBufferQueryCopies );
65188 # endif
65189  }
65190 
65192  {
65193  return !operator==( rhs );
65194  }
65195 #endif
65196 
65197  public:
65198  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDevicePerformanceQueryPropertiesKHR;
65199  void * pNext = {};
65200  VULKAN_HPP_NAMESPACE::Bool32 allowCommandBufferQueryCopies = {};
65201  };
65202 
65203  template <>
65205  {
65207  };
65208 
65210  {
65212 
65213  static const bool allowDuplicate = false;
65214  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevicePipelineCreationCacheControlFeatures;
65215 
65216 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
65218  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
65219  : pNext( pNext_ )
65220  , pipelineCreationCacheControl( pipelineCreationCacheControl_ )
65221  {
65222  }
65223 
65225  PhysicalDevicePipelineCreationCacheControlFeatures( PhysicalDevicePipelineCreationCacheControlFeatures const & rhs ) VULKAN_HPP_NOEXCEPT = default;
65226 
65228  : PhysicalDevicePipelineCreationCacheControlFeatures( *reinterpret_cast<PhysicalDevicePipelineCreationCacheControlFeatures const *>( &rhs ) )
65229  {
65230  }
65231 
65234 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
65235 
65237  {
65238  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDevicePipelineCreationCacheControlFeatures const *>( &rhs );
65239  return *this;
65240  }
65241 
65242 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
65244  {
65245  pNext = pNext_;
65246  return *this;
65247  }
65248 
65251  {
65252  pipelineCreationCacheControl = pipelineCreationCacheControl_;
65253  return *this;
65254  }
65255 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
65256 
65258  {
65259  return *reinterpret_cast<const VkPhysicalDevicePipelineCreationCacheControlFeatures *>( this );
65260  }
65261 
65263  {
65264  return *reinterpret_cast<VkPhysicalDevicePipelineCreationCacheControlFeatures *>( this );
65265  }
65266 
65267 #if defined( VULKAN_HPP_USE_REFLECT )
65268 # if 14 <= VULKAN_HPP_CPP_VERSION
65269  auto
65270 # else
65271  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
65272 # endif
65273  reflect() const VULKAN_HPP_NOEXCEPT
65274  {
65275  return std::tie( sType, pNext, pipelineCreationCacheControl );
65276  }
65277 #endif
65278 
65279 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
65280  auto operator<=>( PhysicalDevicePipelineCreationCacheControlFeatures const & ) const = default;
65281 #else
65283  {
65284 # if defined( VULKAN_HPP_USE_REFLECT )
65285  return this->reflect() == rhs.reflect();
65286 # else
65287  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pipelineCreationCacheControl == rhs.pipelineCreationCacheControl );
65288 # endif
65289  }
65290 
65292  {
65293  return !operator==( rhs );
65294  }
65295 #endif
65296 
65297  public:
65298  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDevicePipelineCreationCacheControlFeatures;
65299  void * pNext = {};
65300  VULKAN_HPP_NAMESPACE::Bool32 pipelineCreationCacheControl = {};
65301  };
65302 
65303  template <>
65305  {
65307  };
65309 
65311  {
65313 
65314  static const bool allowDuplicate = false;
65315  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
65316 
65317 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
65319  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
65320  : pNext( pNext_ )
65321  , pipelineExecutableInfo( pipelineExecutableInfo_ )
65322  {
65323  }
65324 
65326  PhysicalDevicePipelineExecutablePropertiesFeaturesKHR( PhysicalDevicePipelineExecutablePropertiesFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
65327 
65329  : PhysicalDevicePipelineExecutablePropertiesFeaturesKHR( *reinterpret_cast<PhysicalDevicePipelineExecutablePropertiesFeaturesKHR const *>( &rhs ) )
65330  {
65331  }
65332 
65335 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
65336 
65338  {
65339  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDevicePipelineExecutablePropertiesFeaturesKHR const *>( &rhs );
65340  return *this;
65341  }
65342 
65343 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
65345  {
65346  pNext = pNext_;
65347  return *this;
65348  }
65349 
65352  {
65353  pipelineExecutableInfo = pipelineExecutableInfo_;
65354  return *this;
65355  }
65356 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
65357 
65359  {
65360  return *reinterpret_cast<const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR *>( this );
65361  }
65362 
65364  {
65365  return *reinterpret_cast<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR *>( this );
65366  }
65367 
65368 #if defined( VULKAN_HPP_USE_REFLECT )
65369 # if 14 <= VULKAN_HPP_CPP_VERSION
65370  auto
65371 # else
65372  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
65373 # endif
65374  reflect() const VULKAN_HPP_NOEXCEPT
65375  {
65376  return std::tie( sType, pNext, pipelineExecutableInfo );
65377  }
65378 #endif
65379 
65380 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
65381  auto operator<=>( PhysicalDevicePipelineExecutablePropertiesFeaturesKHR const & ) const = default;
65382 #else
65384  {
65385 # if defined( VULKAN_HPP_USE_REFLECT )
65386  return this->reflect() == rhs.reflect();
65387 # else
65388  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pipelineExecutableInfo == rhs.pipelineExecutableInfo );
65389 # endif
65390  }
65391 
65393  {
65394  return !operator==( rhs );
65395  }
65396 #endif
65397 
65398  public:
65399  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
65400  void * pNext = {};
65401  VULKAN_HPP_NAMESPACE::Bool32 pipelineExecutableInfo = {};
65402  };
65403 
65404  template <>
65406  {
65408  };
65409 
65411  {
65413 
65414  static const bool allowDuplicate = false;
65415  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevicePipelinePropertiesFeaturesEXT;
65416 
65417 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
65419  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
65420  : pNext( pNext_ )
65421  , pipelinePropertiesIdentifier( pipelinePropertiesIdentifier_ )
65422  {
65423  }
65424 
65425  VULKAN_HPP_CONSTEXPR PhysicalDevicePipelinePropertiesFeaturesEXT( PhysicalDevicePipelinePropertiesFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
65426 
65428  : PhysicalDevicePipelinePropertiesFeaturesEXT( *reinterpret_cast<PhysicalDevicePipelinePropertiesFeaturesEXT const *>( &rhs ) )
65429  {
65430  }
65431 
65433 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
65434 
65436  {
65437  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDevicePipelinePropertiesFeaturesEXT const *>( &rhs );
65438  return *this;
65439  }
65440 
65441 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
65443  {
65444  pNext = pNext_;
65445  return *this;
65446  }
65447 
65450  {
65451  pipelinePropertiesIdentifier = pipelinePropertiesIdentifier_;
65452  return *this;
65453  }
65454 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
65455 
65457  {
65458  return *reinterpret_cast<const VkPhysicalDevicePipelinePropertiesFeaturesEXT *>( this );
65459  }
65460 
65462  {
65463  return *reinterpret_cast<VkPhysicalDevicePipelinePropertiesFeaturesEXT *>( this );
65464  }
65465 
65466 #if defined( VULKAN_HPP_USE_REFLECT )
65467 # if 14 <= VULKAN_HPP_CPP_VERSION
65468  auto
65469 # else
65470  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
65471 # endif
65472  reflect() const VULKAN_HPP_NOEXCEPT
65473  {
65474  return std::tie( sType, pNext, pipelinePropertiesIdentifier );
65475  }
65476 #endif
65477 
65478 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
65479  auto operator<=>( PhysicalDevicePipelinePropertiesFeaturesEXT const & ) const = default;
65480 #else
65482  {
65483 # if defined( VULKAN_HPP_USE_REFLECT )
65484  return this->reflect() == rhs.reflect();
65485 # else
65486  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pipelinePropertiesIdentifier == rhs.pipelinePropertiesIdentifier );
65487 # endif
65488  }
65489 
65491  {
65492  return !operator==( rhs );
65493  }
65494 #endif
65495 
65496  public:
65497  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDevicePipelinePropertiesFeaturesEXT;
65498  void * pNext = {};
65499  VULKAN_HPP_NAMESPACE::Bool32 pipelinePropertiesIdentifier = {};
65500  };
65501 
65502  template <>
65504  {
65506  };
65507 
65509  {
65511 
65512  static const bool allowDuplicate = false;
65513  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevicePipelineProtectedAccessFeaturesEXT;
65514 
65515 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
65517  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
65518  : pNext( pNext_ )
65519  , pipelineProtectedAccess( pipelineProtectedAccess_ )
65520  {
65521  }
65522 
65524  PhysicalDevicePipelineProtectedAccessFeaturesEXT( PhysicalDevicePipelineProtectedAccessFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
65525 
65527  : PhysicalDevicePipelineProtectedAccessFeaturesEXT( *reinterpret_cast<PhysicalDevicePipelineProtectedAccessFeaturesEXT const *>( &rhs ) )
65528  {
65529  }
65530 
65532 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
65533 
65535  {
65536  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDevicePipelineProtectedAccessFeaturesEXT const *>( &rhs );
65537  return *this;
65538  }
65539 
65540 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
65542  {
65543  pNext = pNext_;
65544  return *this;
65545  }
65546 
65549  {
65550  pipelineProtectedAccess = pipelineProtectedAccess_;
65551  return *this;
65552  }
65553 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
65554 
65556  {
65557  return *reinterpret_cast<const VkPhysicalDevicePipelineProtectedAccessFeaturesEXT *>( this );
65558  }
65559 
65561  {
65562  return *reinterpret_cast<VkPhysicalDevicePipelineProtectedAccessFeaturesEXT *>( this );
65563  }
65564 
65565 #if defined( VULKAN_HPP_USE_REFLECT )
65566 # if 14 <= VULKAN_HPP_CPP_VERSION
65567  auto
65568 # else
65569  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
65570 # endif
65571  reflect() const VULKAN_HPP_NOEXCEPT
65572  {
65573  return std::tie( sType, pNext, pipelineProtectedAccess );
65574  }
65575 #endif
65576 
65577 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
65578  auto operator<=>( PhysicalDevicePipelineProtectedAccessFeaturesEXT const & ) const = default;
65579 #else
65581  {
65582 # if defined( VULKAN_HPP_USE_REFLECT )
65583  return this->reflect() == rhs.reflect();
65584 # else
65585  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pipelineProtectedAccess == rhs.pipelineProtectedAccess );
65586 # endif
65587  }
65588 
65590  {
65591  return !operator==( rhs );
65592  }
65593 #endif
65594 
65595  public:
65596  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDevicePipelineProtectedAccessFeaturesEXT;
65597  void * pNext = {};
65598  VULKAN_HPP_NAMESPACE::Bool32 pipelineProtectedAccess = {};
65599  };
65600 
65601  template <>
65603  {
65605  };
65606 
65608  {
65610 
65611  static const bool allowDuplicate = false;
65612  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevicePipelineRobustnessFeaturesEXT;
65613 
65614 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
65616  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
65617  : pNext( pNext_ )
65618  , pipelineRobustness( pipelineRobustness_ )
65619  {
65620  }
65621 
65622  VULKAN_HPP_CONSTEXPR PhysicalDevicePipelineRobustnessFeaturesEXT( PhysicalDevicePipelineRobustnessFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
65623 
65625  : PhysicalDevicePipelineRobustnessFeaturesEXT( *reinterpret_cast<PhysicalDevicePipelineRobustnessFeaturesEXT const *>( &rhs ) )
65626  {
65627  }
65628 
65630 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
65631 
65633  {
65634  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDevicePipelineRobustnessFeaturesEXT const *>( &rhs );
65635  return *this;
65636  }
65637 
65638 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
65640  {
65641  pNext = pNext_;
65642  return *this;
65643  }
65644 
65647  {
65648  pipelineRobustness = pipelineRobustness_;
65649  return *this;
65650  }
65651 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
65652 
65654  {
65655  return *reinterpret_cast<const VkPhysicalDevicePipelineRobustnessFeaturesEXT *>( this );
65656  }
65657 
65659  {
65660  return *reinterpret_cast<VkPhysicalDevicePipelineRobustnessFeaturesEXT *>( this );
65661  }
65662 
65663 #if defined( VULKAN_HPP_USE_REFLECT )
65664 # if 14 <= VULKAN_HPP_CPP_VERSION
65665  auto
65666 # else
65667  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
65668 # endif
65669  reflect() const VULKAN_HPP_NOEXCEPT
65670  {
65671  return std::tie( sType, pNext, pipelineRobustness );
65672  }
65673 #endif
65674 
65675 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
65676  auto operator<=>( PhysicalDevicePipelineRobustnessFeaturesEXT const & ) const = default;
65677 #else
65679  {
65680 # if defined( VULKAN_HPP_USE_REFLECT )
65681  return this->reflect() == rhs.reflect();
65682 # else
65683  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pipelineRobustness == rhs.pipelineRobustness );
65684 # endif
65685  }
65686 
65688  {
65689  return !operator==( rhs );
65690  }
65691 #endif
65692 
65693  public:
65694  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDevicePipelineRobustnessFeaturesEXT;
65695  void * pNext = {};
65696  VULKAN_HPP_NAMESPACE::Bool32 pipelineRobustness = {};
65697  };
65698 
65699  template <>
65701  {
65703  };
65704 
65706  {
65708 
65709  static const bool allowDuplicate = false;
65710  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevicePipelineRobustnessPropertiesEXT;
65711 
65712 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
65716  VULKAN_HPP_NAMESPACE::PipelineRobustnessBufferBehaviorEXT defaultRobustnessUniformBuffers_ =
65718  VULKAN_HPP_NAMESPACE::PipelineRobustnessBufferBehaviorEXT defaultRobustnessVertexInputs_ =
65722  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
65723  : pNext( pNext_ )
65724  , defaultRobustnessStorageBuffers( defaultRobustnessStorageBuffers_ )
65725  , defaultRobustnessUniformBuffers( defaultRobustnessUniformBuffers_ )
65726  , defaultRobustnessVertexInputs( defaultRobustnessVertexInputs_ )
65727  , defaultRobustnessImages( defaultRobustnessImages_ )
65728  {
65729  }
65730 
65733 
65735  : PhysicalDevicePipelineRobustnessPropertiesEXT( *reinterpret_cast<PhysicalDevicePipelineRobustnessPropertiesEXT const *>( &rhs ) )
65736  {
65737  }
65738 
65740 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
65741 
65743  {
65744  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDevicePipelineRobustnessPropertiesEXT const *>( &rhs );
65745  return *this;
65746  }
65747 
65749  {
65750  return *reinterpret_cast<const VkPhysicalDevicePipelineRobustnessPropertiesEXT *>( this );
65751  }
65752 
65754  {
65755  return *reinterpret_cast<VkPhysicalDevicePipelineRobustnessPropertiesEXT *>( this );
65756  }
65757 
65758 #if defined( VULKAN_HPP_USE_REFLECT )
65759 # if 14 <= VULKAN_HPP_CPP_VERSION
65760  auto
65761 # else
65762  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
65763  void * const &,
65768 # endif
65769  reflect() const VULKAN_HPP_NOEXCEPT
65770  {
65771  return std::tie( sType, pNext, defaultRobustnessStorageBuffers, defaultRobustnessUniformBuffers, defaultRobustnessVertexInputs, defaultRobustnessImages );
65772  }
65773 #endif
65774 
65775 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
65776  auto operator<=>( PhysicalDevicePipelineRobustnessPropertiesEXT const & ) const = default;
65777 #else
65779  {
65780 # if defined( VULKAN_HPP_USE_REFLECT )
65781  return this->reflect() == rhs.reflect();
65782 # else
65783  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( defaultRobustnessStorageBuffers == rhs.defaultRobustnessStorageBuffers ) &&
65784  ( defaultRobustnessUniformBuffers == rhs.defaultRobustnessUniformBuffers ) &&
65785  ( defaultRobustnessVertexInputs == rhs.defaultRobustnessVertexInputs ) && ( defaultRobustnessImages == rhs.defaultRobustnessImages );
65786 # endif
65787  }
65788 
65790  {
65791  return !operator==( rhs );
65792  }
65793 #endif
65794 
65795  public:
65796  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDevicePipelineRobustnessPropertiesEXT;
65797  void * pNext = {};
65805  };
65806 
65807  template <>
65809  {
65811  };
65812 
65814  {
65816 
65817  static const bool allowDuplicate = false;
65818  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevicePointClippingProperties;
65819 
65820 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
65823  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
65824  : pNext( pNext_ )
65825  , pointClippingBehavior( pointClippingBehavior_ )
65826  {
65827  }
65828 
65830 
65832  : PhysicalDevicePointClippingProperties( *reinterpret_cast<PhysicalDevicePointClippingProperties const *>( &rhs ) )
65833  {
65834  }
65835 
65837 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
65838 
65840  {
65841  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDevicePointClippingProperties const *>( &rhs );
65842  return *this;
65843  }
65844 
65846  {
65847  return *reinterpret_cast<const VkPhysicalDevicePointClippingProperties *>( this );
65848  }
65849 
65851  {
65852  return *reinterpret_cast<VkPhysicalDevicePointClippingProperties *>( this );
65853  }
65854 
65855 #if defined( VULKAN_HPP_USE_REFLECT )
65856 # if 14 <= VULKAN_HPP_CPP_VERSION
65857  auto
65858 # else
65859  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::PointClippingBehavior const &>
65860 # endif
65861  reflect() const VULKAN_HPP_NOEXCEPT
65862  {
65863  return std::tie( sType, pNext, pointClippingBehavior );
65864  }
65865 #endif
65866 
65867 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
65868  auto operator<=>( PhysicalDevicePointClippingProperties const & ) const = default;
65869 #else
65871  {
65872 # if defined( VULKAN_HPP_USE_REFLECT )
65873  return this->reflect() == rhs.reflect();
65874 # else
65875  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pointClippingBehavior == rhs.pointClippingBehavior );
65876 # endif
65877  }
65878 
65880  {
65881  return !operator==( rhs );
65882  }
65883 #endif
65884 
65885  public:
65886  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDevicePointClippingProperties;
65887  void * pNext = {};
65889  };
65890 
65891  template <>
65893  {
65895  };
65897 
65898 #if defined( VK_ENABLE_BETA_EXTENSIONS )
65899  struct PhysicalDevicePortabilitySubsetFeaturesKHR
65900  {
65902 
65903  static const bool allowDuplicate = false;
65904  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevicePortabilitySubsetFeaturesKHR;
65905 
65906 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
65907  VULKAN_HPP_CONSTEXPR PhysicalDevicePortabilitySubsetFeaturesKHR( VULKAN_HPP_NAMESPACE::Bool32 constantAlphaColorBlendFactors_ = {},
65908  VULKAN_HPP_NAMESPACE::Bool32 events_ = {},
65909  VULKAN_HPP_NAMESPACE::Bool32 imageViewFormatReinterpretation_ = {},
65910  VULKAN_HPP_NAMESPACE::Bool32 imageViewFormatSwizzle_ = {},
65911  VULKAN_HPP_NAMESPACE::Bool32 imageView2DOn3DImage_ = {},
65912  VULKAN_HPP_NAMESPACE::Bool32 multisampleArrayImage_ = {},
65913  VULKAN_HPP_NAMESPACE::Bool32 mutableComparisonSamplers_ = {},
65914  VULKAN_HPP_NAMESPACE::Bool32 pointPolygons_ = {},
65915  VULKAN_HPP_NAMESPACE::Bool32 samplerMipLodBias_ = {},
65916  VULKAN_HPP_NAMESPACE::Bool32 separateStencilMaskRef_ = {},
65917  VULKAN_HPP_NAMESPACE::Bool32 shaderSampleRateInterpolationFunctions_ = {},
65918  VULKAN_HPP_NAMESPACE::Bool32 tessellationIsolines_ = {},
65919  VULKAN_HPP_NAMESPACE::Bool32 tessellationPointMode_ = {},
65920  VULKAN_HPP_NAMESPACE::Bool32 triangleFans_ = {},
65921  VULKAN_HPP_NAMESPACE::Bool32 vertexAttributeAccessBeyondStride_ = {},
65922  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
65923  : pNext( pNext_ )
65924  , constantAlphaColorBlendFactors( constantAlphaColorBlendFactors_ )
65925  , events( events_ )
65926  , imageViewFormatReinterpretation( imageViewFormatReinterpretation_ )
65927  , imageViewFormatSwizzle( imageViewFormatSwizzle_ )
65928  , imageView2DOn3DImage( imageView2DOn3DImage_ )
65929  , multisampleArrayImage( multisampleArrayImage_ )
65930  , mutableComparisonSamplers( mutableComparisonSamplers_ )
65931  , pointPolygons( pointPolygons_ )
65932  , samplerMipLodBias( samplerMipLodBias_ )
65933  , separateStencilMaskRef( separateStencilMaskRef_ )
65934  , shaderSampleRateInterpolationFunctions( shaderSampleRateInterpolationFunctions_ )
65935  , tessellationIsolines( tessellationIsolines_ )
65936  , tessellationPointMode( tessellationPointMode_ )
65937  , triangleFans( triangleFans_ )
65938  , vertexAttributeAccessBeyondStride( vertexAttributeAccessBeyondStride_ )
65939  {
65940  }
65941 
65942  VULKAN_HPP_CONSTEXPR PhysicalDevicePortabilitySubsetFeaturesKHR( PhysicalDevicePortabilitySubsetFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
65943 
65944  PhysicalDevicePortabilitySubsetFeaturesKHR( VkPhysicalDevicePortabilitySubsetFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
65945  : PhysicalDevicePortabilitySubsetFeaturesKHR( *reinterpret_cast<PhysicalDevicePortabilitySubsetFeaturesKHR const *>( &rhs ) )
65946  {
65947  }
65948 
65949  PhysicalDevicePortabilitySubsetFeaturesKHR & operator=( PhysicalDevicePortabilitySubsetFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
65950 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
65951 
65952  PhysicalDevicePortabilitySubsetFeaturesKHR & operator=( VkPhysicalDevicePortabilitySubsetFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
65953  {
65954  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDevicePortabilitySubsetFeaturesKHR const *>( &rhs );
65955  return *this;
65956  }
65957 
65958 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
65959  VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePortabilitySubsetFeaturesKHR & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
65960  {
65961  pNext = pNext_;
65962  return *this;
65963  }
65964 
65965  VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePortabilitySubsetFeaturesKHR &
65966  setConstantAlphaColorBlendFactors( VULKAN_HPP_NAMESPACE::Bool32 constantAlphaColorBlendFactors_ ) VULKAN_HPP_NOEXCEPT
65967  {
65968  constantAlphaColorBlendFactors = constantAlphaColorBlendFactors_;
65969  return *this;
65970  }
65971 
65972  VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePortabilitySubsetFeaturesKHR & setEvents( VULKAN_HPP_NAMESPACE::Bool32 events_ ) VULKAN_HPP_NOEXCEPT
65973  {
65974  events = events_;
65975  return *this;
65976  }
65977 
65978  VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePortabilitySubsetFeaturesKHR &
65979  setImageViewFormatReinterpretation( VULKAN_HPP_NAMESPACE::Bool32 imageViewFormatReinterpretation_ ) VULKAN_HPP_NOEXCEPT
65980  {
65981  imageViewFormatReinterpretation = imageViewFormatReinterpretation_;
65982  return *this;
65983  }
65984 
65985  VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePortabilitySubsetFeaturesKHR &
65986  setImageViewFormatSwizzle( VULKAN_HPP_NAMESPACE::Bool32 imageViewFormatSwizzle_ ) VULKAN_HPP_NOEXCEPT
65987  {
65988  imageViewFormatSwizzle = imageViewFormatSwizzle_;
65989  return *this;
65990  }
65991 
65992  VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePortabilitySubsetFeaturesKHR &
65993  setImageView2DOn3DImage( VULKAN_HPP_NAMESPACE::Bool32 imageView2DOn3DImage_ ) VULKAN_HPP_NOEXCEPT
65994  {
65995  imageView2DOn3DImage = imageView2DOn3DImage_;
65996  return *this;
65997  }
65998 
65999  VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePortabilitySubsetFeaturesKHR &
66000  setMultisampleArrayImage( VULKAN_HPP_NAMESPACE::Bool32 multisampleArrayImage_ ) VULKAN_HPP_NOEXCEPT
66001  {
66002  multisampleArrayImage = multisampleArrayImage_;
66003  return *this;
66004  }
66005 
66006  VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePortabilitySubsetFeaturesKHR &
66007  setMutableComparisonSamplers( VULKAN_HPP_NAMESPACE::Bool32 mutableComparisonSamplers_ ) VULKAN_HPP_NOEXCEPT
66008  {
66009  mutableComparisonSamplers = mutableComparisonSamplers_;
66010  return *this;
66011  }
66012 
66013  VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePortabilitySubsetFeaturesKHR & setPointPolygons( VULKAN_HPP_NAMESPACE::Bool32 pointPolygons_ ) VULKAN_HPP_NOEXCEPT
66014  {
66015  pointPolygons = pointPolygons_;
66016  return *this;
66017  }
66018 
66019  VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePortabilitySubsetFeaturesKHR &
66020  setSamplerMipLodBias( VULKAN_HPP_NAMESPACE::Bool32 samplerMipLodBias_ ) VULKAN_HPP_NOEXCEPT
66021  {
66022  samplerMipLodBias = samplerMipLodBias_;
66023  return *this;
66024  }
66025 
66026  VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePortabilitySubsetFeaturesKHR &
66027  setSeparateStencilMaskRef( VULKAN_HPP_NAMESPACE::Bool32 separateStencilMaskRef_ ) VULKAN_HPP_NOEXCEPT
66028  {
66029  separateStencilMaskRef = separateStencilMaskRef_;
66030  return *this;
66031  }
66032 
66033  VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePortabilitySubsetFeaturesKHR &
66034  setShaderSampleRateInterpolationFunctions( VULKAN_HPP_NAMESPACE::Bool32 shaderSampleRateInterpolationFunctions_ ) VULKAN_HPP_NOEXCEPT
66035  {
66036  shaderSampleRateInterpolationFunctions = shaderSampleRateInterpolationFunctions_;
66037  return *this;
66038  }
66039 
66040  VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePortabilitySubsetFeaturesKHR &
66041  setTessellationIsolines( VULKAN_HPP_NAMESPACE::Bool32 tessellationIsolines_ ) VULKAN_HPP_NOEXCEPT
66042  {
66043  tessellationIsolines = tessellationIsolines_;
66044  return *this;
66045  }
66046 
66047  VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePortabilitySubsetFeaturesKHR &
66048  setTessellationPointMode( VULKAN_HPP_NAMESPACE::Bool32 tessellationPointMode_ ) VULKAN_HPP_NOEXCEPT
66049  {
66050  tessellationPointMode = tessellationPointMode_;
66051  return *this;
66052  }
66053 
66054  VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePortabilitySubsetFeaturesKHR & setTriangleFans( VULKAN_HPP_NAMESPACE::Bool32 triangleFans_ ) VULKAN_HPP_NOEXCEPT
66055  {
66056  triangleFans = triangleFans_;
66057  return *this;
66058  }
66059 
66060  VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePortabilitySubsetFeaturesKHR &
66061  setVertexAttributeAccessBeyondStride( VULKAN_HPP_NAMESPACE::Bool32 vertexAttributeAccessBeyondStride_ ) VULKAN_HPP_NOEXCEPT
66062  {
66063  vertexAttributeAccessBeyondStride = vertexAttributeAccessBeyondStride_;
66064  return *this;
66065  }
66066 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
66067 
66069  {
66070  return *reinterpret_cast<const VkPhysicalDevicePortabilitySubsetFeaturesKHR *>( this );
66071  }
66072 
66074  {
66075  return *reinterpret_cast<VkPhysicalDevicePortabilitySubsetFeaturesKHR *>( this );
66076  }
66077 
66078 # if defined( VULKAN_HPP_USE_REFLECT )
66079 # if 14 <= VULKAN_HPP_CPP_VERSION
66080  auto
66081 # else
66082  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
66083  void * const &,
66099 # endif
66100  reflect() const VULKAN_HPP_NOEXCEPT
66101  {
66102  return std::tie( sType,
66103  pNext,
66104  constantAlphaColorBlendFactors,
66105  events,
66106  imageViewFormatReinterpretation,
66107  imageViewFormatSwizzle,
66108  imageView2DOn3DImage,
66109  multisampleArrayImage,
66110  mutableComparisonSamplers,
66111  pointPolygons,
66112  samplerMipLodBias,
66113  separateStencilMaskRef,
66114  shaderSampleRateInterpolationFunctions,
66115  tessellationIsolines,
66116  tessellationPointMode,
66117  triangleFans,
66118  vertexAttributeAccessBeyondStride );
66119  }
66120 # endif
66121 
66122 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
66123  auto operator<=>( PhysicalDevicePortabilitySubsetFeaturesKHR const & ) const = default;
66124 # else
66125  bool operator==( PhysicalDevicePortabilitySubsetFeaturesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
66126  {
66127 # if defined( VULKAN_HPP_USE_REFLECT )
66128  return this->reflect() == rhs.reflect();
66129 # else
66130  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( constantAlphaColorBlendFactors == rhs.constantAlphaColorBlendFactors ) &&
66131  ( events == rhs.events ) && ( imageViewFormatReinterpretation == rhs.imageViewFormatReinterpretation ) &&
66132  ( imageViewFormatSwizzle == rhs.imageViewFormatSwizzle ) && ( imageView2DOn3DImage == rhs.imageView2DOn3DImage ) &&
66133  ( multisampleArrayImage == rhs.multisampleArrayImage ) && ( mutableComparisonSamplers == rhs.mutableComparisonSamplers ) &&
66134  ( pointPolygons == rhs.pointPolygons ) && ( samplerMipLodBias == rhs.samplerMipLodBias ) &&
66135  ( separateStencilMaskRef == rhs.separateStencilMaskRef ) &&
66136  ( shaderSampleRateInterpolationFunctions == rhs.shaderSampleRateInterpolationFunctions ) && ( tessellationIsolines == rhs.tessellationIsolines ) &&
66137  ( tessellationPointMode == rhs.tessellationPointMode ) && ( triangleFans == rhs.triangleFans ) &&
66138  ( vertexAttributeAccessBeyondStride == rhs.vertexAttributeAccessBeyondStride );
66139 # endif
66140  }
66141 
66142  bool operator!=( PhysicalDevicePortabilitySubsetFeaturesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
66143  {
66144  return !operator==( rhs );
66145  }
66146 # endif
66147 
66148  public:
66149  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDevicePortabilitySubsetFeaturesKHR;
66150  void * pNext = {};
66151  VULKAN_HPP_NAMESPACE::Bool32 constantAlphaColorBlendFactors = {};
66152  VULKAN_HPP_NAMESPACE::Bool32 events = {};
66153  VULKAN_HPP_NAMESPACE::Bool32 imageViewFormatReinterpretation = {};
66154  VULKAN_HPP_NAMESPACE::Bool32 imageViewFormatSwizzle = {};
66155  VULKAN_HPP_NAMESPACE::Bool32 imageView2DOn3DImage = {};
66156  VULKAN_HPP_NAMESPACE::Bool32 multisampleArrayImage = {};
66157  VULKAN_HPP_NAMESPACE::Bool32 mutableComparisonSamplers = {};
66158  VULKAN_HPP_NAMESPACE::Bool32 pointPolygons = {};
66159  VULKAN_HPP_NAMESPACE::Bool32 samplerMipLodBias = {};
66160  VULKAN_HPP_NAMESPACE::Bool32 separateStencilMaskRef = {};
66161  VULKAN_HPP_NAMESPACE::Bool32 shaderSampleRateInterpolationFunctions = {};
66162  VULKAN_HPP_NAMESPACE::Bool32 tessellationIsolines = {};
66163  VULKAN_HPP_NAMESPACE::Bool32 tessellationPointMode = {};
66164  VULKAN_HPP_NAMESPACE::Bool32 triangleFans = {};
66165  VULKAN_HPP_NAMESPACE::Bool32 vertexAttributeAccessBeyondStride = {};
66166  };
66167 
66168  template <>
66169  struct CppType<StructureType, StructureType::ePhysicalDevicePortabilitySubsetFeaturesKHR>
66170  {
66171  using Type = PhysicalDevicePortabilitySubsetFeaturesKHR;
66172  };
66173 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
66174 
66175 #if defined( VK_ENABLE_BETA_EXTENSIONS )
66176  struct PhysicalDevicePortabilitySubsetPropertiesKHR
66177  {
66179 
66180  static const bool allowDuplicate = false;
66181  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevicePortabilitySubsetPropertiesKHR;
66182 
66183 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
66184  VULKAN_HPP_CONSTEXPR PhysicalDevicePortabilitySubsetPropertiesKHR( uint32_t minVertexInputBindingStrideAlignment_ = {},
66185  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
66186  : pNext( pNext_ )
66187  , minVertexInputBindingStrideAlignment( minVertexInputBindingStrideAlignment_ )
66188  {
66189  }
66190 
66191  VULKAN_HPP_CONSTEXPR PhysicalDevicePortabilitySubsetPropertiesKHR( PhysicalDevicePortabilitySubsetPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
66192 
66193  PhysicalDevicePortabilitySubsetPropertiesKHR( VkPhysicalDevicePortabilitySubsetPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
66194  : PhysicalDevicePortabilitySubsetPropertiesKHR( *reinterpret_cast<PhysicalDevicePortabilitySubsetPropertiesKHR const *>( &rhs ) )
66195  {
66196  }
66197 
66198  PhysicalDevicePortabilitySubsetPropertiesKHR & operator=( PhysicalDevicePortabilitySubsetPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
66199 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
66200 
66201  PhysicalDevicePortabilitySubsetPropertiesKHR & operator=( VkPhysicalDevicePortabilitySubsetPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
66202  {
66203  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDevicePortabilitySubsetPropertiesKHR const *>( &rhs );
66204  return *this;
66205  }
66206 
66207 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
66208  VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePortabilitySubsetPropertiesKHR & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
66209  {
66210  pNext = pNext_;
66211  return *this;
66212  }
66213 
66214  VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePortabilitySubsetPropertiesKHR &
66215  setMinVertexInputBindingStrideAlignment( uint32_t minVertexInputBindingStrideAlignment_ ) VULKAN_HPP_NOEXCEPT
66216  {
66217  minVertexInputBindingStrideAlignment = minVertexInputBindingStrideAlignment_;
66218  return *this;
66219  }
66220 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
66221 
66223  {
66224  return *reinterpret_cast<const VkPhysicalDevicePortabilitySubsetPropertiesKHR *>( this );
66225  }
66226 
66228  {
66229  return *reinterpret_cast<VkPhysicalDevicePortabilitySubsetPropertiesKHR *>( this );
66230  }
66231 
66232 # if defined( VULKAN_HPP_USE_REFLECT )
66233 # if 14 <= VULKAN_HPP_CPP_VERSION
66234  auto
66235 # else
66236  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, uint32_t const &>
66237 # endif
66238  reflect() const VULKAN_HPP_NOEXCEPT
66239  {
66240  return std::tie( sType, pNext, minVertexInputBindingStrideAlignment );
66241  }
66242 # endif
66243 
66244 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
66245  auto operator<=>( PhysicalDevicePortabilitySubsetPropertiesKHR const & ) const = default;
66246 # else
66247  bool operator==( PhysicalDevicePortabilitySubsetPropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
66248  {
66249 # if defined( VULKAN_HPP_USE_REFLECT )
66250  return this->reflect() == rhs.reflect();
66251 # else
66252  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( minVertexInputBindingStrideAlignment == rhs.minVertexInputBindingStrideAlignment );
66253 # endif
66254  }
66255 
66256  bool operator!=( PhysicalDevicePortabilitySubsetPropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
66257  {
66258  return !operator==( rhs );
66259  }
66260 # endif
66261 
66262  public:
66263  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDevicePortabilitySubsetPropertiesKHR;
66264  void * pNext = {};
66265  uint32_t minVertexInputBindingStrideAlignment = {};
66266  };
66267 
66268  template <>
66269  struct CppType<StructureType, StructureType::ePhysicalDevicePortabilitySubsetPropertiesKHR>
66270  {
66271  using Type = PhysicalDevicePortabilitySubsetPropertiesKHR;
66272  };
66273 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
66274 
66276  {
66278 
66279  static const bool allowDuplicate = false;
66280  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevicePresentBarrierFeaturesNV;
66281 
66282 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
66284  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
66285  : pNext( pNext_ )
66286  , presentBarrier( presentBarrier_ )
66287  {
66288  }
66289 
66290  VULKAN_HPP_CONSTEXPR PhysicalDevicePresentBarrierFeaturesNV( PhysicalDevicePresentBarrierFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
66291 
66293  : PhysicalDevicePresentBarrierFeaturesNV( *reinterpret_cast<PhysicalDevicePresentBarrierFeaturesNV const *>( &rhs ) )
66294  {
66295  }
66296 
66298 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
66299 
66301  {
66302  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDevicePresentBarrierFeaturesNV const *>( &rhs );
66303  return *this;
66304  }
66305 
66306 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
66308  {
66309  pNext = pNext_;
66310  return *this;
66311  }
66312 
66314  {
66315  presentBarrier = presentBarrier_;
66316  return *this;
66317  }
66318 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
66319 
66321  {
66322  return *reinterpret_cast<const VkPhysicalDevicePresentBarrierFeaturesNV *>( this );
66323  }
66324 
66326  {
66327  return *reinterpret_cast<VkPhysicalDevicePresentBarrierFeaturesNV *>( this );
66328  }
66329 
66330 #if defined( VULKAN_HPP_USE_REFLECT )
66331 # if 14 <= VULKAN_HPP_CPP_VERSION
66332  auto
66333 # else
66334  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
66335 # endif
66336  reflect() const VULKAN_HPP_NOEXCEPT
66337  {
66338  return std::tie( sType, pNext, presentBarrier );
66339  }
66340 #endif
66341 
66342 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
66343  auto operator<=>( PhysicalDevicePresentBarrierFeaturesNV const & ) const = default;
66344 #else
66346  {
66347 # if defined( VULKAN_HPP_USE_REFLECT )
66348  return this->reflect() == rhs.reflect();
66349 # else
66350  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( presentBarrier == rhs.presentBarrier );
66351 # endif
66352  }
66353 
66355  {
66356  return !operator==( rhs );
66357  }
66358 #endif
66359 
66360  public:
66361  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDevicePresentBarrierFeaturesNV;
66362  void * pNext = {};
66363  VULKAN_HPP_NAMESPACE::Bool32 presentBarrier = {};
66364  };
66365 
66366  template <>
66368  {
66370  };
66371 
66373  {
66375 
66376  static const bool allowDuplicate = false;
66377  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevicePresentIdFeaturesKHR;
66378 
66379 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
66381  : pNext( pNext_ )
66382  , presentId( presentId_ )
66383  {
66384  }
66385 
66386  VULKAN_HPP_CONSTEXPR PhysicalDevicePresentIdFeaturesKHR( PhysicalDevicePresentIdFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
66387 
66389  : PhysicalDevicePresentIdFeaturesKHR( *reinterpret_cast<PhysicalDevicePresentIdFeaturesKHR const *>( &rhs ) )
66390  {
66391  }
66392 
66394 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
66395 
66397  {
66398  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDevicePresentIdFeaturesKHR const *>( &rhs );
66399  return *this;
66400  }
66401 
66402 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
66404  {
66405  pNext = pNext_;
66406  return *this;
66407  }
66408 
66410  {
66411  presentId = presentId_;
66412  return *this;
66413  }
66414 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
66415 
66417  {
66418  return *reinterpret_cast<const VkPhysicalDevicePresentIdFeaturesKHR *>( this );
66419  }
66420 
66422  {
66423  return *reinterpret_cast<VkPhysicalDevicePresentIdFeaturesKHR *>( this );
66424  }
66425 
66426 #if defined( VULKAN_HPP_USE_REFLECT )
66427 # if 14 <= VULKAN_HPP_CPP_VERSION
66428  auto
66429 # else
66430  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
66431 # endif
66432  reflect() const VULKAN_HPP_NOEXCEPT
66433  {
66434  return std::tie( sType, pNext, presentId );
66435  }
66436 #endif
66437 
66438 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
66439  auto operator<=>( PhysicalDevicePresentIdFeaturesKHR const & ) const = default;
66440 #else
66442  {
66443 # if defined( VULKAN_HPP_USE_REFLECT )
66444  return this->reflect() == rhs.reflect();
66445 # else
66446  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( presentId == rhs.presentId );
66447 # endif
66448  }
66449 
66451  {
66452  return !operator==( rhs );
66453  }
66454 #endif
66455 
66456  public:
66457  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDevicePresentIdFeaturesKHR;
66458  void * pNext = {};
66460  };
66461 
66462  template <>
66464  {
66466  };
66467 
66469  {
66471 
66472  static const bool allowDuplicate = false;
66473  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevicePresentWaitFeaturesKHR;
66474 
66475 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
66477  : pNext( pNext_ )
66478  , presentWait( presentWait_ )
66479  {
66480  }
66481 
66482  VULKAN_HPP_CONSTEXPR PhysicalDevicePresentWaitFeaturesKHR( PhysicalDevicePresentWaitFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
66483 
66485  : PhysicalDevicePresentWaitFeaturesKHR( *reinterpret_cast<PhysicalDevicePresentWaitFeaturesKHR const *>( &rhs ) )
66486  {
66487  }
66488 
66490 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
66491 
66493  {
66494  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDevicePresentWaitFeaturesKHR const *>( &rhs );
66495  return *this;
66496  }
66497 
66498 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
66500  {
66501  pNext = pNext_;
66502  return *this;
66503  }
66504 
66506  {
66507  presentWait = presentWait_;
66508  return *this;
66509  }
66510 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
66511 
66513  {
66514  return *reinterpret_cast<const VkPhysicalDevicePresentWaitFeaturesKHR *>( this );
66515  }
66516 
66518  {
66519  return *reinterpret_cast<VkPhysicalDevicePresentWaitFeaturesKHR *>( this );
66520  }
66521 
66522 #if defined( VULKAN_HPP_USE_REFLECT )
66523 # if 14 <= VULKAN_HPP_CPP_VERSION
66524  auto
66525 # else
66526  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
66527 # endif
66528  reflect() const VULKAN_HPP_NOEXCEPT
66529  {
66530  return std::tie( sType, pNext, presentWait );
66531  }
66532 #endif
66533 
66534 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
66535  auto operator<=>( PhysicalDevicePresentWaitFeaturesKHR const & ) const = default;
66536 #else
66538  {
66539 # if defined( VULKAN_HPP_USE_REFLECT )
66540  return this->reflect() == rhs.reflect();
66541 # else
66542  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( presentWait == rhs.presentWait );
66543 # endif
66544  }
66545 
66547  {
66548  return !operator==( rhs );
66549  }
66550 #endif
66551 
66552  public:
66553  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDevicePresentWaitFeaturesKHR;
66554  void * pNext = {};
66556  };
66557 
66558  template <>
66560  {
66562  };
66563 
66565  {
66567 
66568  static const bool allowDuplicate = false;
66569  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevicePrimitiveTopologyListRestartFeaturesEXT;
66570 
66571 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
66573  VULKAN_HPP_NAMESPACE::Bool32 primitiveTopologyPatchListRestart_ = {},
66574  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
66575  : pNext( pNext_ )
66576  , primitiveTopologyListRestart( primitiveTopologyListRestart_ )
66577  , primitiveTopologyPatchListRestart( primitiveTopologyPatchListRestart_ )
66578  {
66579  }
66580 
66582  PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT( PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
66583 
66585  : PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT( *reinterpret_cast<PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT const *>( &rhs ) )
66586  {
66587  }
66588 
66591 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
66592 
66594  {
66595  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT const *>( &rhs );
66596  return *this;
66597  }
66598 
66599 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
66601  {
66602  pNext = pNext_;
66603  return *this;
66604  }
66605 
66608  {
66609  primitiveTopologyListRestart = primitiveTopologyListRestart_;
66610  return *this;
66611  }
66612 
66615  {
66616  primitiveTopologyPatchListRestart = primitiveTopologyPatchListRestart_;
66617  return *this;
66618  }
66619 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
66620 
66622  {
66623  return *reinterpret_cast<const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT *>( this );
66624  }
66625 
66627  {
66628  return *reinterpret_cast<VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT *>( this );
66629  }
66630 
66631 #if defined( VULKAN_HPP_USE_REFLECT )
66632 # if 14 <= VULKAN_HPP_CPP_VERSION
66633  auto
66634 # else
66635  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
66636 # endif
66637  reflect() const VULKAN_HPP_NOEXCEPT
66638  {
66639  return std::tie( sType, pNext, primitiveTopologyListRestart, primitiveTopologyPatchListRestart );
66640  }
66641 #endif
66642 
66643 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
66644  auto operator<=>( PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT const & ) const = default;
66645 #else
66647  {
66648 # if defined( VULKAN_HPP_USE_REFLECT )
66649  return this->reflect() == rhs.reflect();
66650 # else
66651  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( primitiveTopologyListRestart == rhs.primitiveTopologyListRestart ) &&
66652  ( primitiveTopologyPatchListRestart == rhs.primitiveTopologyPatchListRestart );
66653 # endif
66654  }
66655 
66657  {
66658  return !operator==( rhs );
66659  }
66660 #endif
66661 
66662  public:
66663  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDevicePrimitiveTopologyListRestartFeaturesEXT;
66664  void * pNext = {};
66665  VULKAN_HPP_NAMESPACE::Bool32 primitiveTopologyListRestart = {};
66666  VULKAN_HPP_NAMESPACE::Bool32 primitiveTopologyPatchListRestart = {};
66667  };
66668 
66669  template <>
66671  {
66673  };
66674 
66676  {
66678 
66679  static const bool allowDuplicate = false;
66680  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevicePrimitivesGeneratedQueryFeaturesEXT;
66681 
66682 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
66684  VULKAN_HPP_NAMESPACE::Bool32 primitivesGeneratedQueryWithRasterizerDiscard_ = {},
66685  VULKAN_HPP_NAMESPACE::Bool32 primitivesGeneratedQueryWithNonZeroStreams_ = {},
66686  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
66687  : pNext( pNext_ )
66688  , primitivesGeneratedQuery( primitivesGeneratedQuery_ )
66689  , primitivesGeneratedQueryWithRasterizerDiscard( primitivesGeneratedQueryWithRasterizerDiscard_ )
66690  , primitivesGeneratedQueryWithNonZeroStreams( primitivesGeneratedQueryWithNonZeroStreams_ )
66691  {
66692  }
66693 
66695  PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT( PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
66696 
66698  : PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT( *reinterpret_cast<PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT const *>( &rhs ) )
66699  {
66700  }
66701 
66704 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
66705 
66707  {
66708  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT const *>( &rhs );
66709  return *this;
66710  }
66711 
66712 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
66714  {
66715  pNext = pNext_;
66716  return *this;
66717  }
66718 
66721  {
66722  primitivesGeneratedQuery = primitivesGeneratedQuery_;
66723  return *this;
66724  }
66725 
66728  {
66729  primitivesGeneratedQueryWithRasterizerDiscard = primitivesGeneratedQueryWithRasterizerDiscard_;
66730  return *this;
66731  }
66732 
66735  {
66736  primitivesGeneratedQueryWithNonZeroStreams = primitivesGeneratedQueryWithNonZeroStreams_;
66737  return *this;
66738  }
66739 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
66740 
66742  {
66743  return *reinterpret_cast<const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT *>( this );
66744  }
66745 
66747  {
66748  return *reinterpret_cast<VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT *>( this );
66749  }
66750 
66751 #if defined( VULKAN_HPP_USE_REFLECT )
66752 # if 14 <= VULKAN_HPP_CPP_VERSION
66753  auto
66754 # else
66755  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
66756  void * const &,
66760 # endif
66761  reflect() const VULKAN_HPP_NOEXCEPT
66762  {
66763  return std::tie( sType, pNext, primitivesGeneratedQuery, primitivesGeneratedQueryWithRasterizerDiscard, primitivesGeneratedQueryWithNonZeroStreams );
66764  }
66765 #endif
66766 
66767 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
66768  auto operator<=>( PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT const & ) const = default;
66769 #else
66771  {
66772 # if defined( VULKAN_HPP_USE_REFLECT )
66773  return this->reflect() == rhs.reflect();
66774 # else
66775  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( primitivesGeneratedQuery == rhs.primitivesGeneratedQuery ) &&
66776  ( primitivesGeneratedQueryWithRasterizerDiscard == rhs.primitivesGeneratedQueryWithRasterizerDiscard ) &&
66777  ( primitivesGeneratedQueryWithNonZeroStreams == rhs.primitivesGeneratedQueryWithNonZeroStreams );
66778 # endif
66779  }
66780 
66782  {
66783  return !operator==( rhs );
66784  }
66785 #endif
66786 
66787  public:
66788  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDevicePrimitivesGeneratedQueryFeaturesEXT;
66789  void * pNext = {};
66790  VULKAN_HPP_NAMESPACE::Bool32 primitivesGeneratedQuery = {};
66791  VULKAN_HPP_NAMESPACE::Bool32 primitivesGeneratedQueryWithRasterizerDiscard = {};
66792  VULKAN_HPP_NAMESPACE::Bool32 primitivesGeneratedQueryWithNonZeroStreams = {};
66793  };
66794 
66795  template <>
66797  {
66799  };
66800 
66802  {
66804 
66805  static const bool allowDuplicate = false;
66806  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevicePrivateDataFeatures;
66807 
66808 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
66810  : pNext( pNext_ )
66811  , privateData( privateData_ )
66812  {
66813  }
66814 
66815  VULKAN_HPP_CONSTEXPR PhysicalDevicePrivateDataFeatures( PhysicalDevicePrivateDataFeatures const & rhs ) VULKAN_HPP_NOEXCEPT = default;
66816 
66818  : PhysicalDevicePrivateDataFeatures( *reinterpret_cast<PhysicalDevicePrivateDataFeatures const *>( &rhs ) )
66819  {
66820  }
66821 
66823 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
66824 
66826  {
66827  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDevicePrivateDataFeatures const *>( &rhs );
66828  return *this;
66829  }
66830 
66831 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
66833  {
66834  pNext = pNext_;
66835  return *this;
66836  }
66837 
66839  {
66840  privateData = privateData_;
66841  return *this;
66842  }
66843 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
66844 
66846  {
66847  return *reinterpret_cast<const VkPhysicalDevicePrivateDataFeatures *>( this );
66848  }
66849 
66851  {
66852  return *reinterpret_cast<VkPhysicalDevicePrivateDataFeatures *>( this );
66853  }
66854 
66855 #if defined( VULKAN_HPP_USE_REFLECT )
66856 # if 14 <= VULKAN_HPP_CPP_VERSION
66857  auto
66858 # else
66859  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
66860 # endif
66861  reflect() const VULKAN_HPP_NOEXCEPT
66862  {
66863  return std::tie( sType, pNext, privateData );
66864  }
66865 #endif
66866 
66867 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
66868  auto operator<=>( PhysicalDevicePrivateDataFeatures const & ) const = default;
66869 #else
66871  {
66872 # if defined( VULKAN_HPP_USE_REFLECT )
66873  return this->reflect() == rhs.reflect();
66874 # else
66875  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( privateData == rhs.privateData );
66876 # endif
66877  }
66878 
66880  {
66881  return !operator==( rhs );
66882  }
66883 #endif
66884 
66885  public:
66886  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDevicePrivateDataFeatures;
66887  void * pNext = {};
66889  };
66890 
66891  template <>
66893  {
66895  };
66897 
66899  {
66901 
66902 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
66904  VULKAN_HPP_NAMESPACE::Bool32 residencyStandard2DMultisampleBlockShape_ = {},
66905  VULKAN_HPP_NAMESPACE::Bool32 residencyStandard3DBlockShape_ = {},
66906  VULKAN_HPP_NAMESPACE::Bool32 residencyAlignedMipSize_ = {},
66907  VULKAN_HPP_NAMESPACE::Bool32 residencyNonResidentStrict_ = {} ) VULKAN_HPP_NOEXCEPT
66908  : residencyStandard2DBlockShape( residencyStandard2DBlockShape_ )
66909  , residencyStandard2DMultisampleBlockShape( residencyStandard2DMultisampleBlockShape_ )
66910  , residencyStandard3DBlockShape( residencyStandard3DBlockShape_ )
66911  , residencyAlignedMipSize( residencyAlignedMipSize_ )
66912  , residencyNonResidentStrict( residencyNonResidentStrict_ )
66913  {
66914  }
66915 
66916  VULKAN_HPP_CONSTEXPR PhysicalDeviceSparseProperties( PhysicalDeviceSparseProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
66917 
66919  : PhysicalDeviceSparseProperties( *reinterpret_cast<PhysicalDeviceSparseProperties const *>( &rhs ) )
66920  {
66921  }
66922 
66924 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
66925 
66927  {
66928  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseProperties const *>( &rhs );
66929  return *this;
66930  }
66931 
66933  {
66934  return *reinterpret_cast<const VkPhysicalDeviceSparseProperties *>( this );
66935  }
66936 
66938  {
66939  return *reinterpret_cast<VkPhysicalDeviceSparseProperties *>( this );
66940  }
66941 
66942 #if defined( VULKAN_HPP_USE_REFLECT )
66943 # if 14 <= VULKAN_HPP_CPP_VERSION
66944  auto
66945 # else
66946  std::tuple<VULKAN_HPP_NAMESPACE::Bool32 const &,
66951 # endif
66952  reflect() const VULKAN_HPP_NOEXCEPT
66953  {
66954  return std::tie( residencyStandard2DBlockShape,
66955  residencyStandard2DMultisampleBlockShape,
66956  residencyStandard3DBlockShape,
66957  residencyAlignedMipSize,
66958  residencyNonResidentStrict );
66959  }
66960 #endif
66961 
66962 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
66963  auto operator<=>( PhysicalDeviceSparseProperties const & ) const = default;
66964 #else
66966  {
66967 # if defined( VULKAN_HPP_USE_REFLECT )
66968  return this->reflect() == rhs.reflect();
66969 # else
66970  return ( residencyStandard2DBlockShape == rhs.residencyStandard2DBlockShape ) &&
66971  ( residencyStandard2DMultisampleBlockShape == rhs.residencyStandard2DMultisampleBlockShape ) &&
66972  ( residencyStandard3DBlockShape == rhs.residencyStandard3DBlockShape ) && ( residencyAlignedMipSize == rhs.residencyAlignedMipSize ) &&
66973  ( residencyNonResidentStrict == rhs.residencyNonResidentStrict );
66974 # endif
66975  }
66976 
66978  {
66979  return !operator==( rhs );
66980  }
66981 #endif
66982 
66983  public:
66984  VULKAN_HPP_NAMESPACE::Bool32 residencyStandard2DBlockShape = {};
66985  VULKAN_HPP_NAMESPACE::Bool32 residencyStandard2DMultisampleBlockShape = {};
66986  VULKAN_HPP_NAMESPACE::Bool32 residencyStandard3DBlockShape = {};
66987  VULKAN_HPP_NAMESPACE::Bool32 residencyAlignedMipSize = {};
66988  VULKAN_HPP_NAMESPACE::Bool32 residencyNonResidentStrict = {};
66989  };
66990 
66992  {
66994 
66995 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
66997  uint32_t driverVersion_ = {},
66998  uint32_t vendorID_ = {},
66999  uint32_t deviceID_ = {},
67001  std::array<char, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE> const & deviceName_ = {},
67002  std::array<uint8_t, VK_UUID_SIZE> const & pipelineCacheUUID_ = {},
67005  : apiVersion( apiVersion_ )
67006  , driverVersion( driverVersion_ )
67007  , vendorID( vendorID_ )
67008  , deviceID( deviceID_ )
67009  , deviceType( deviceType_ )
67010  , deviceName( deviceName_ )
67011  , pipelineCacheUUID( pipelineCacheUUID_ )
67012  , limits( limits_ )
67013  , sparseProperties( sparseProperties_ )
67014  {
67015  }
67016 
67017  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceProperties( PhysicalDeviceProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
67018 
67020  : PhysicalDeviceProperties( *reinterpret_cast<PhysicalDeviceProperties const *>( &rhs ) )
67021  {
67022  }
67023 
67024  PhysicalDeviceProperties & operator=( PhysicalDeviceProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
67025 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
67026 
67028  {
67029  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties const *>( &rhs );
67030  return *this;
67031  }
67032 
67034  {
67035  return *reinterpret_cast<const VkPhysicalDeviceProperties *>( this );
67036  }
67037 
67039  {
67040  return *reinterpret_cast<VkPhysicalDeviceProperties *>( this );
67041  }
67042 
67043 #if defined( VULKAN_HPP_USE_REFLECT )
67044 # if 14 <= VULKAN_HPP_CPP_VERSION
67045  auto
67046 # else
67047  std::tuple<uint32_t const &,
67048  uint32_t const &,
67049  uint32_t const &,
67050  uint32_t const &,
67056 # endif
67057  reflect() const VULKAN_HPP_NOEXCEPT
67058  {
67059  return std::tie( apiVersion, driverVersion, vendorID, deviceID, deviceType, deviceName, pipelineCacheUUID, limits, sparseProperties );
67060  }
67061 #endif
67062 
67063 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
67064  auto operator<=>( PhysicalDeviceProperties const & ) const = default;
67065 #else
67067  {
67068 # if defined( VULKAN_HPP_USE_REFLECT )
67069  return this->reflect() == rhs.reflect();
67070 # else
67071  return ( apiVersion == rhs.apiVersion ) && ( driverVersion == rhs.driverVersion ) && ( vendorID == rhs.vendorID ) && ( deviceID == rhs.deviceID ) &&
67072  ( deviceType == rhs.deviceType ) && ( deviceName == rhs.deviceName ) && ( pipelineCacheUUID == rhs.pipelineCacheUUID ) &&
67073  ( limits == rhs.limits ) && ( sparseProperties == rhs.sparseProperties );
67074 # endif
67075  }
67076 
67078  {
67079  return !operator==( rhs );
67080  }
67081 #endif
67082 
67083  public:
67084  uint32_t apiVersion = {};
67085  uint32_t driverVersion = {};
67086  uint32_t vendorID = {};
67087  uint32_t deviceID = {};
67093  };
67094 
67096  {
67098 
67099  static const bool allowDuplicate = false;
67100  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceProperties2;
67101 
67102 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
67104  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
67105  : pNext( pNext_ )
67106  , properties( properties_ )
67107  {
67108  }
67109 
67110  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceProperties2( PhysicalDeviceProperties2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
67111 
67113  : PhysicalDeviceProperties2( *reinterpret_cast<PhysicalDeviceProperties2 const *>( &rhs ) )
67114  {
67115  }
67116 
67117  PhysicalDeviceProperties2 & operator=( PhysicalDeviceProperties2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
67118 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
67119 
67121  {
67122  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 const *>( &rhs );
67123  return *this;
67124  }
67125 
67127  {
67128  return *reinterpret_cast<const VkPhysicalDeviceProperties2 *>( this );
67129  }
67130 
67132  {
67133  return *reinterpret_cast<VkPhysicalDeviceProperties2 *>( this );
67134  }
67135 
67136 #if defined( VULKAN_HPP_USE_REFLECT )
67137 # if 14 <= VULKAN_HPP_CPP_VERSION
67138  auto
67139 # else
67140  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties const &>
67141 # endif
67142  reflect() const VULKAN_HPP_NOEXCEPT
67143  {
67144  return std::tie( sType, pNext, properties );
67145  }
67146 #endif
67147 
67148 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
67149  auto operator<=>( PhysicalDeviceProperties2 const & ) const = default;
67150 #else
67152  {
67153 # if defined( VULKAN_HPP_USE_REFLECT )
67154  return this->reflect() == rhs.reflect();
67155 # else
67156  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( properties == rhs.properties );
67157 # endif
67158  }
67159 
67161  {
67162  return !operator==( rhs );
67163  }
67164 #endif
67165 
67166  public:
67167  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceProperties2;
67168  void * pNext = {};
67170  };
67171 
67172  template <>
67174  {
67176  };
67178 
67180  {
67182 
67183  static const bool allowDuplicate = false;
67184  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceProtectedMemoryFeatures;
67185 
67186 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
67188  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
67189  : pNext( pNext_ )
67190  , protectedMemory( protectedMemory_ )
67191  {
67192  }
67193 
67194  VULKAN_HPP_CONSTEXPR PhysicalDeviceProtectedMemoryFeatures( PhysicalDeviceProtectedMemoryFeatures const & rhs ) VULKAN_HPP_NOEXCEPT = default;
67195 
67197  : PhysicalDeviceProtectedMemoryFeatures( *reinterpret_cast<PhysicalDeviceProtectedMemoryFeatures const *>( &rhs ) )
67198  {
67199  }
67200 
67202 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
67203 
67205  {
67206  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceProtectedMemoryFeatures const *>( &rhs );
67207  return *this;
67208  }
67209 
67210 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
67212  {
67213  pNext = pNext_;
67214  return *this;
67215  }
67216 
67218  {
67219  protectedMemory = protectedMemory_;
67220  return *this;
67221  }
67222 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
67223 
67225  {
67226  return *reinterpret_cast<const VkPhysicalDeviceProtectedMemoryFeatures *>( this );
67227  }
67228 
67230  {
67231  return *reinterpret_cast<VkPhysicalDeviceProtectedMemoryFeatures *>( this );
67232  }
67233 
67234 #if defined( VULKAN_HPP_USE_REFLECT )
67235 # if 14 <= VULKAN_HPP_CPP_VERSION
67236  auto
67237 # else
67238  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
67239 # endif
67240  reflect() const VULKAN_HPP_NOEXCEPT
67241  {
67242  return std::tie( sType, pNext, protectedMemory );
67243  }
67244 #endif
67245 
67246 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
67247  auto operator<=>( PhysicalDeviceProtectedMemoryFeatures const & ) const = default;
67248 #else
67250  {
67251 # if defined( VULKAN_HPP_USE_REFLECT )
67252  return this->reflect() == rhs.reflect();
67253 # else
67254  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( protectedMemory == rhs.protectedMemory );
67255 # endif
67256  }
67257 
67259  {
67260  return !operator==( rhs );
67261  }
67262 #endif
67263 
67264  public:
67265  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceProtectedMemoryFeatures;
67266  void * pNext = {};
67267  VULKAN_HPP_NAMESPACE::Bool32 protectedMemory = {};
67268  };
67269 
67270  template <>
67272  {
67274  };
67275 
67277  {
67279 
67280  static const bool allowDuplicate = false;
67281  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceProtectedMemoryProperties;
67282 
67283 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
67285  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
67286  : pNext( pNext_ )
67287  , protectedNoFault( protectedNoFault_ )
67288  {
67289  }
67290 
67291  VULKAN_HPP_CONSTEXPR PhysicalDeviceProtectedMemoryProperties( PhysicalDeviceProtectedMemoryProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
67292 
67294  : PhysicalDeviceProtectedMemoryProperties( *reinterpret_cast<PhysicalDeviceProtectedMemoryProperties const *>( &rhs ) )
67295  {
67296  }
67297 
67299 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
67300 
67302  {
67303  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceProtectedMemoryProperties const *>( &rhs );
67304  return *this;
67305  }
67306 
67308  {
67309  return *reinterpret_cast<const VkPhysicalDeviceProtectedMemoryProperties *>( this );
67310  }
67311 
67313  {
67314  return *reinterpret_cast<VkPhysicalDeviceProtectedMemoryProperties *>( this );
67315  }
67316 
67317 #if defined( VULKAN_HPP_USE_REFLECT )
67318 # if 14 <= VULKAN_HPP_CPP_VERSION
67319  auto
67320 # else
67321  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
67322 # endif
67323  reflect() const VULKAN_HPP_NOEXCEPT
67324  {
67325  return std::tie( sType, pNext, protectedNoFault );
67326  }
67327 #endif
67328 
67329 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
67330  auto operator<=>( PhysicalDeviceProtectedMemoryProperties const & ) const = default;
67331 #else
67333  {
67334 # if defined( VULKAN_HPP_USE_REFLECT )
67335  return this->reflect() == rhs.reflect();
67336 # else
67337  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( protectedNoFault == rhs.protectedNoFault );
67338 # endif
67339  }
67340 
67342  {
67343  return !operator==( rhs );
67344  }
67345 #endif
67346 
67347  public:
67348  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceProtectedMemoryProperties;
67349  void * pNext = {};
67350  VULKAN_HPP_NAMESPACE::Bool32 protectedNoFault = {};
67351  };
67352 
67353  template <>
67355  {
67357  };
67358 
67360  {
67362 
67363  static const bool allowDuplicate = false;
67364  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceProvokingVertexFeaturesEXT;
67365 
67366 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
67368  VULKAN_HPP_NAMESPACE::Bool32 transformFeedbackPreservesProvokingVertex_ = {},
67369  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
67370  : pNext( pNext_ )
67371  , provokingVertexLast( provokingVertexLast_ )
67372  , transformFeedbackPreservesProvokingVertex( transformFeedbackPreservesProvokingVertex_ )
67373  {
67374  }
67375 
67376  VULKAN_HPP_CONSTEXPR PhysicalDeviceProvokingVertexFeaturesEXT( PhysicalDeviceProvokingVertexFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
67377 
67379  : PhysicalDeviceProvokingVertexFeaturesEXT( *reinterpret_cast<PhysicalDeviceProvokingVertexFeaturesEXT const *>( &rhs ) )
67380  {
67381  }
67382 
67384 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
67385 
67387  {
67388  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceProvokingVertexFeaturesEXT const *>( &rhs );
67389  return *this;
67390  }
67391 
67392 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
67394  {
67395  pNext = pNext_;
67396  return *this;
67397  }
67398 
67401  {
67402  provokingVertexLast = provokingVertexLast_;
67403  return *this;
67404  }
67405 
67408  {
67409  transformFeedbackPreservesProvokingVertex = transformFeedbackPreservesProvokingVertex_;
67410  return *this;
67411  }
67412 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
67413 
67415  {
67416  return *reinterpret_cast<const VkPhysicalDeviceProvokingVertexFeaturesEXT *>( this );
67417  }
67418 
67420  {
67421  return *reinterpret_cast<VkPhysicalDeviceProvokingVertexFeaturesEXT *>( this );
67422  }
67423 
67424 #if defined( VULKAN_HPP_USE_REFLECT )
67425 # if 14 <= VULKAN_HPP_CPP_VERSION
67426  auto
67427 # else
67428  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
67429 # endif
67430  reflect() const VULKAN_HPP_NOEXCEPT
67431  {
67432  return std::tie( sType, pNext, provokingVertexLast, transformFeedbackPreservesProvokingVertex );
67433  }
67434 #endif
67435 
67436 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
67437  auto operator<=>( PhysicalDeviceProvokingVertexFeaturesEXT const & ) const = default;
67438 #else
67440  {
67441 # if defined( VULKAN_HPP_USE_REFLECT )
67442  return this->reflect() == rhs.reflect();
67443 # else
67444  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( provokingVertexLast == rhs.provokingVertexLast ) &&
67445  ( transformFeedbackPreservesProvokingVertex == rhs.transformFeedbackPreservesProvokingVertex );
67446 # endif
67447  }
67448 
67450  {
67451  return !operator==( rhs );
67452  }
67453 #endif
67454 
67455  public:
67456  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceProvokingVertexFeaturesEXT;
67457  void * pNext = {};
67458  VULKAN_HPP_NAMESPACE::Bool32 provokingVertexLast = {};
67459  VULKAN_HPP_NAMESPACE::Bool32 transformFeedbackPreservesProvokingVertex = {};
67460  };
67461 
67462  template <>
67464  {
67466  };
67467 
67469  {
67471 
67472  static const bool allowDuplicate = false;
67473  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceProvokingVertexPropertiesEXT;
67474 
67475 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
67477  VULKAN_HPP_NAMESPACE::Bool32 transformFeedbackPreservesTriangleFanProvokingVertex_ = {},
67478  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
67479  : pNext( pNext_ )
67480  , provokingVertexModePerPipeline( provokingVertexModePerPipeline_ )
67481  , transformFeedbackPreservesTriangleFanProvokingVertex( transformFeedbackPreservesTriangleFanProvokingVertex_ )
67482  {
67483  }
67484 
67485  VULKAN_HPP_CONSTEXPR PhysicalDeviceProvokingVertexPropertiesEXT( PhysicalDeviceProvokingVertexPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
67486 
67488  : PhysicalDeviceProvokingVertexPropertiesEXT( *reinterpret_cast<PhysicalDeviceProvokingVertexPropertiesEXT const *>( &rhs ) )
67489  {
67490  }
67491 
67493 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
67494 
67496  {
67497  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceProvokingVertexPropertiesEXT const *>( &rhs );
67498  return *this;
67499  }
67500 
67502  {
67503  return *reinterpret_cast<const VkPhysicalDeviceProvokingVertexPropertiesEXT *>( this );
67504  }
67505 
67507  {
67508  return *reinterpret_cast<VkPhysicalDeviceProvokingVertexPropertiesEXT *>( this );
67509  }
67510 
67511 #if defined( VULKAN_HPP_USE_REFLECT )
67512 # if 14 <= VULKAN_HPP_CPP_VERSION
67513  auto
67514 # else
67515  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
67516 # endif
67517  reflect() const VULKAN_HPP_NOEXCEPT
67518  {
67519  return std::tie( sType, pNext, provokingVertexModePerPipeline, transformFeedbackPreservesTriangleFanProvokingVertex );
67520  }
67521 #endif
67522 
67523 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
67524  auto operator<=>( PhysicalDeviceProvokingVertexPropertiesEXT const & ) const = default;
67525 #else
67527  {
67528 # if defined( VULKAN_HPP_USE_REFLECT )
67529  return this->reflect() == rhs.reflect();
67530 # else
67531  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( provokingVertexModePerPipeline == rhs.provokingVertexModePerPipeline ) &&
67532  ( transformFeedbackPreservesTriangleFanProvokingVertex == rhs.transformFeedbackPreservesTriangleFanProvokingVertex );
67533 # endif
67534  }
67535 
67537  {
67538  return !operator==( rhs );
67539  }
67540 #endif
67541 
67542  public:
67543  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceProvokingVertexPropertiesEXT;
67544  void * pNext = {};
67545  VULKAN_HPP_NAMESPACE::Bool32 provokingVertexModePerPipeline = {};
67546  VULKAN_HPP_NAMESPACE::Bool32 transformFeedbackPreservesTriangleFanProvokingVertex = {};
67547  };
67548 
67549  template <>
67551  {
67553  };
67554 
67556  {
67558 
67559  static const bool allowDuplicate = false;
67560  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevicePushDescriptorPropertiesKHR;
67561 
67562 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
67563  VULKAN_HPP_CONSTEXPR PhysicalDevicePushDescriptorPropertiesKHR( uint32_t maxPushDescriptors_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
67564  : pNext( pNext_ )
67565  , maxPushDescriptors( maxPushDescriptors_ )
67566  {
67567  }
67568 
67569  VULKAN_HPP_CONSTEXPR PhysicalDevicePushDescriptorPropertiesKHR( PhysicalDevicePushDescriptorPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
67570 
67572  : PhysicalDevicePushDescriptorPropertiesKHR( *reinterpret_cast<PhysicalDevicePushDescriptorPropertiesKHR const *>( &rhs ) )
67573  {
67574  }
67575 
67577 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
67578 
67580  {
67581  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDevicePushDescriptorPropertiesKHR const *>( &rhs );
67582  return *this;
67583  }
67584 
67586  {
67587  return *reinterpret_cast<const VkPhysicalDevicePushDescriptorPropertiesKHR *>( this );
67588  }
67589 
67591  {
67592  return *reinterpret_cast<VkPhysicalDevicePushDescriptorPropertiesKHR *>( this );
67593  }
67594 
67595 #if defined( VULKAN_HPP_USE_REFLECT )
67596 # if 14 <= VULKAN_HPP_CPP_VERSION
67597  auto
67598 # else
67599  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, uint32_t const &>
67600 # endif
67601  reflect() const VULKAN_HPP_NOEXCEPT
67602  {
67603  return std::tie( sType, pNext, maxPushDescriptors );
67604  }
67605 #endif
67606 
67607 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
67608  auto operator<=>( PhysicalDevicePushDescriptorPropertiesKHR const & ) const = default;
67609 #else
67611  {
67612 # if defined( VULKAN_HPP_USE_REFLECT )
67613  return this->reflect() == rhs.reflect();
67614 # else
67615  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxPushDescriptors == rhs.maxPushDescriptors );
67616 # endif
67617  }
67618 
67620  {
67621  return !operator==( rhs );
67622  }
67623 #endif
67624 
67625  public:
67626  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDevicePushDescriptorPropertiesKHR;
67627  void * pNext = {};
67628  uint32_t maxPushDescriptors = {};
67629  };
67630 
67631  template <>
67633  {
67635  };
67636 
67638  {
67640 
67641  static const bool allowDuplicate = false;
67642  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceRgba10X6FormatsFeaturesEXT;
67643 
67644 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
67646  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
67647  : pNext( pNext_ )
67648  , formatRgba10x6WithoutYCbCrSampler( formatRgba10x6WithoutYCbCrSampler_ )
67649  {
67650  }
67651 
67652  VULKAN_HPP_CONSTEXPR PhysicalDeviceRGBA10X6FormatsFeaturesEXT( PhysicalDeviceRGBA10X6FormatsFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
67653 
67655  : PhysicalDeviceRGBA10X6FormatsFeaturesEXT( *reinterpret_cast<PhysicalDeviceRGBA10X6FormatsFeaturesEXT const *>( &rhs ) )
67656  {
67657  }
67658 
67660 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
67661 
67663  {
67664  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceRGBA10X6FormatsFeaturesEXT const *>( &rhs );
67665  return *this;
67666  }
67667 
67668 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
67670  {
67671  pNext = pNext_;
67672  return *this;
67673  }
67674 
67677  {
67678  formatRgba10x6WithoutYCbCrSampler = formatRgba10x6WithoutYCbCrSampler_;
67679  return *this;
67680  }
67681 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
67682 
67684  {
67685  return *reinterpret_cast<const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT *>( this );
67686  }
67687 
67689  {
67690  return *reinterpret_cast<VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT *>( this );
67691  }
67692 
67693 #if defined( VULKAN_HPP_USE_REFLECT )
67694 # if 14 <= VULKAN_HPP_CPP_VERSION
67695  auto
67696 # else
67697  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
67698 # endif
67699  reflect() const VULKAN_HPP_NOEXCEPT
67700  {
67701  return std::tie( sType, pNext, formatRgba10x6WithoutYCbCrSampler );
67702  }
67703 #endif
67704 
67705 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
67706  auto operator<=>( PhysicalDeviceRGBA10X6FormatsFeaturesEXT const & ) const = default;
67707 #else
67709  {
67710 # if defined( VULKAN_HPP_USE_REFLECT )
67711  return this->reflect() == rhs.reflect();
67712 # else
67713  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( formatRgba10x6WithoutYCbCrSampler == rhs.formatRgba10x6WithoutYCbCrSampler );
67714 # endif
67715  }
67716 
67718  {
67719  return !operator==( rhs );
67720  }
67721 #endif
67722 
67723  public:
67724  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceRgba10X6FormatsFeaturesEXT;
67725  void * pNext = {};
67726  VULKAN_HPP_NAMESPACE::Bool32 formatRgba10x6WithoutYCbCrSampler = {};
67727  };
67728 
67729  template <>
67731  {
67733  };
67734 
67736  {
67738 
67739  static const bool allowDuplicate = false;
67740  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT;
67741 
67742 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
67745  VULKAN_HPP_NAMESPACE::Bool32 rasterizationOrderDepthAttachmentAccess_ = {},
67746  VULKAN_HPP_NAMESPACE::Bool32 rasterizationOrderStencilAttachmentAccess_ = {},
67747  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
67748  : pNext( pNext_ )
67749  , rasterizationOrderColorAttachmentAccess( rasterizationOrderColorAttachmentAccess_ )
67750  , rasterizationOrderDepthAttachmentAccess( rasterizationOrderDepthAttachmentAccess_ )
67751  , rasterizationOrderStencilAttachmentAccess( rasterizationOrderStencilAttachmentAccess_ )
67752  {
67753  }
67754 
67755  VULKAN_HPP_CONSTEXPR PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT( PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT const & rhs )
67756  VULKAN_HPP_NOEXCEPT = default;
67757 
67760  *reinterpret_cast<PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT const *>( &rhs ) )
67761  {
67762  }
67763 
67766 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
67767 
67770  {
67772  return *this;
67773  }
67774 
67775 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
67777  {
67778  pNext = pNext_;
67779  return *this;
67780  }
67781 
67784  {
67785  rasterizationOrderColorAttachmentAccess = rasterizationOrderColorAttachmentAccess_;
67786  return *this;
67787  }
67788 
67791  {
67792  rasterizationOrderDepthAttachmentAccess = rasterizationOrderDepthAttachmentAccess_;
67793  return *this;
67794  }
67795 
67798  {
67799  rasterizationOrderStencilAttachmentAccess = rasterizationOrderStencilAttachmentAccess_;
67800  return *this;
67801  }
67802 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
67803 
67805  {
67806  return *reinterpret_cast<const VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT *>( this );
67807  }
67808 
67810  {
67812  }
67813 
67814 #if defined( VULKAN_HPP_USE_REFLECT )
67815 # if 14 <= VULKAN_HPP_CPP_VERSION
67816  auto
67817 # else
67818  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
67819  void * const &,
67823 # endif
67824  reflect() const VULKAN_HPP_NOEXCEPT
67825  {
67826  return std::tie(
67827  sType, pNext, rasterizationOrderColorAttachmentAccess, rasterizationOrderDepthAttachmentAccess, rasterizationOrderStencilAttachmentAccess );
67828  }
67829 #endif
67830 
67831 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
67832  auto operator<=>( PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT const & ) const = default;
67833 #else
67835  {
67836 # if defined( VULKAN_HPP_USE_REFLECT )
67837  return this->reflect() == rhs.reflect();
67838 # else
67839  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( rasterizationOrderColorAttachmentAccess == rhs.rasterizationOrderColorAttachmentAccess ) &&
67840  ( rasterizationOrderDepthAttachmentAccess == rhs.rasterizationOrderDepthAttachmentAccess ) &&
67841  ( rasterizationOrderStencilAttachmentAccess == rhs.rasterizationOrderStencilAttachmentAccess );
67842 # endif
67843  }
67844 
67846  {
67847  return !operator==( rhs );
67848  }
67849 #endif
67850 
67851  public:
67852  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT;
67853  void * pNext = {};
67854  VULKAN_HPP_NAMESPACE::Bool32 rasterizationOrderColorAttachmentAccess = {};
67855  VULKAN_HPP_NAMESPACE::Bool32 rasterizationOrderDepthAttachmentAccess = {};
67856  VULKAN_HPP_NAMESPACE::Bool32 rasterizationOrderStencilAttachmentAccess = {};
67857  };
67858 
67859  template <>
67861  {
67863  };
67865 
67867  {
67869 
67870  static const bool allowDuplicate = false;
67871  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceRayQueryFeaturesKHR;
67872 
67873 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
67875  : pNext( pNext_ )
67876  , rayQuery( rayQuery_ )
67877  {
67878  }
67879 
67880  VULKAN_HPP_CONSTEXPR PhysicalDeviceRayQueryFeaturesKHR( PhysicalDeviceRayQueryFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
67881 
67883  : PhysicalDeviceRayQueryFeaturesKHR( *reinterpret_cast<PhysicalDeviceRayQueryFeaturesKHR const *>( &rhs ) )
67884  {
67885  }
67886 
67888 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
67889 
67891  {
67892  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayQueryFeaturesKHR const *>( &rhs );
67893  return *this;
67894  }
67895 
67896 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
67898  {
67899  pNext = pNext_;
67900  return *this;
67901  }
67902 
67904  {
67905  rayQuery = rayQuery_;
67906  return *this;
67907  }
67908 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
67909 
67911  {
67912  return *reinterpret_cast<const VkPhysicalDeviceRayQueryFeaturesKHR *>( this );
67913  }
67914 
67916  {
67917  return *reinterpret_cast<VkPhysicalDeviceRayQueryFeaturesKHR *>( this );
67918  }
67919 
67920 #if defined( VULKAN_HPP_USE_REFLECT )
67921 # if 14 <= VULKAN_HPP_CPP_VERSION
67922  auto
67923 # else
67924  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
67925 # endif
67926  reflect() const VULKAN_HPP_NOEXCEPT
67927  {
67928  return std::tie( sType, pNext, rayQuery );
67929  }
67930 #endif
67931 
67932 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
67933  auto operator<=>( PhysicalDeviceRayQueryFeaturesKHR const & ) const = default;
67934 #else
67936  {
67937 # if defined( VULKAN_HPP_USE_REFLECT )
67938  return this->reflect() == rhs.reflect();
67939 # else
67940  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( rayQuery == rhs.rayQuery );
67941 # endif
67942  }
67943 
67945  {
67946  return !operator==( rhs );
67947  }
67948 #endif
67949 
67950  public:
67951  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceRayQueryFeaturesKHR;
67952  void * pNext = {};
67954  };
67955 
67956  template <>
67958  {
67960  };
67961 
67963  {
67965 
67966  static const bool allowDuplicate = false;
67967  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceRayTracingInvocationReorderFeaturesNV;
67968 
67969 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
67971  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
67972  : pNext( pNext_ )
67973  , rayTracingInvocationReorder( rayTracingInvocationReorder_ )
67974  {
67975  }
67976 
67978  PhysicalDeviceRayTracingInvocationReorderFeaturesNV( PhysicalDeviceRayTracingInvocationReorderFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
67979 
67981  : PhysicalDeviceRayTracingInvocationReorderFeaturesNV( *reinterpret_cast<PhysicalDeviceRayTracingInvocationReorderFeaturesNV const *>( &rhs ) )
67982  {
67983  }
67984 
67987 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
67988 
67990  {
67991  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderFeaturesNV const *>( &rhs );
67992  return *this;
67993  }
67994 
67995 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
67997  {
67998  pNext = pNext_;
67999  return *this;
68000  }
68001 
68004  {
68005  rayTracingInvocationReorder = rayTracingInvocationReorder_;
68006  return *this;
68007  }
68008 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
68009 
68011  {
68012  return *reinterpret_cast<const VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV *>( this );
68013  }
68014 
68016  {
68017  return *reinterpret_cast<VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV *>( this );
68018  }
68019 
68020 #if defined( VULKAN_HPP_USE_REFLECT )
68021 # if 14 <= VULKAN_HPP_CPP_VERSION
68022  auto
68023 # else
68024  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
68025 # endif
68026  reflect() const VULKAN_HPP_NOEXCEPT
68027  {
68028  return std::tie( sType, pNext, rayTracingInvocationReorder );
68029  }
68030 #endif
68031 
68032 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
68033  auto operator<=>( PhysicalDeviceRayTracingInvocationReorderFeaturesNV const & ) const = default;
68034 #else
68036  {
68037 # if defined( VULKAN_HPP_USE_REFLECT )
68038  return this->reflect() == rhs.reflect();
68039 # else
68040  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( rayTracingInvocationReorder == rhs.rayTracingInvocationReorder );
68041 # endif
68042  }
68043 
68045  {
68046  return !operator==( rhs );
68047  }
68048 #endif
68049 
68050  public:
68051  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceRayTracingInvocationReorderFeaturesNV;
68052  void * pNext = {};
68053  VULKAN_HPP_NAMESPACE::Bool32 rayTracingInvocationReorder = {};
68054  };
68055 
68056  template <>
68058  {
68060  };
68061 
68063  {
68065 
68066  static const bool allowDuplicate = false;
68067  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceRayTracingInvocationReorderPropertiesNV;
68068 
68069 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
68071  VULKAN_HPP_NAMESPACE::RayTracingInvocationReorderModeNV rayTracingInvocationReorderReorderingHint_ =
68073  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
68074  : pNext( pNext_ )
68075  , rayTracingInvocationReorderReorderingHint( rayTracingInvocationReorderReorderingHint_ )
68076  {
68077  }
68078 
68081 
68083  : PhysicalDeviceRayTracingInvocationReorderPropertiesNV( *reinterpret_cast<PhysicalDeviceRayTracingInvocationReorderPropertiesNV const *>( &rhs ) )
68084  {
68085  }
68086 
68089 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
68090 
68092  {
68093  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderPropertiesNV const *>( &rhs );
68094  return *this;
68095  }
68096 
68098  {
68099  return *reinterpret_cast<const VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV *>( this );
68100  }
68101 
68103  {
68104  return *reinterpret_cast<VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV *>( this );
68105  }
68106 
68107 #if defined( VULKAN_HPP_USE_REFLECT )
68108 # if 14 <= VULKAN_HPP_CPP_VERSION
68109  auto
68110 # else
68111  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::RayTracingInvocationReorderModeNV const &>
68112 # endif
68113  reflect() const VULKAN_HPP_NOEXCEPT
68114  {
68115  return std::tie( sType, pNext, rayTracingInvocationReorderReorderingHint );
68116  }
68117 #endif
68118 
68119 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
68120  auto operator<=>( PhysicalDeviceRayTracingInvocationReorderPropertiesNV const & ) const = default;
68121 #else
68123  {
68124 # if defined( VULKAN_HPP_USE_REFLECT )
68125  return this->reflect() == rhs.reflect();
68126 # else
68127  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( rayTracingInvocationReorderReorderingHint == rhs.rayTracingInvocationReorderReorderingHint );
68128 # endif
68129  }
68130 
68132  {
68133  return !operator==( rhs );
68134  }
68135 #endif
68136 
68137  public:
68138  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceRayTracingInvocationReorderPropertiesNV;
68139  void * pNext = {};
68140  VULKAN_HPP_NAMESPACE::RayTracingInvocationReorderModeNV rayTracingInvocationReorderReorderingHint =
68142  };
68143 
68144  template <>
68146  {
68148  };
68149 
68151  {
68153 
68154  static const bool allowDuplicate = false;
68155  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceRayTracingMaintenance1FeaturesKHR;
68156 
68157 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
68159  VULKAN_HPP_NAMESPACE::Bool32 rayTracingPipelineTraceRaysIndirect2_ = {},
68160  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
68161  : pNext( pNext_ )
68162  , rayTracingMaintenance1( rayTracingMaintenance1_ )
68163  , rayTracingPipelineTraceRaysIndirect2( rayTracingPipelineTraceRaysIndirect2_ )
68164  {
68165  }
68166 
68168  PhysicalDeviceRayTracingMaintenance1FeaturesKHR( PhysicalDeviceRayTracingMaintenance1FeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
68169 
68171  : PhysicalDeviceRayTracingMaintenance1FeaturesKHR( *reinterpret_cast<PhysicalDeviceRayTracingMaintenance1FeaturesKHR const *>( &rhs ) )
68172  {
68173  }
68174 
68176 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
68177 
68179  {
68180  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingMaintenance1FeaturesKHR const *>( &rhs );
68181  return *this;
68182  }
68183 
68184 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
68186  {
68187  pNext = pNext_;
68188  return *this;
68189  }
68190 
68193  {
68194  rayTracingMaintenance1 = rayTracingMaintenance1_;
68195  return *this;
68196  }
68197 
68200  {
68201  rayTracingPipelineTraceRaysIndirect2 = rayTracingPipelineTraceRaysIndirect2_;
68202  return *this;
68203  }
68204 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
68205 
68207  {
68208  return *reinterpret_cast<const VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR *>( this );
68209  }
68210 
68212  {
68213  return *reinterpret_cast<VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR *>( this );
68214  }
68215 
68216 #if defined( VULKAN_HPP_USE_REFLECT )
68217 # if 14 <= VULKAN_HPP_CPP_VERSION
68218  auto
68219 # else
68220  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
68221 # endif
68222  reflect() const VULKAN_HPP_NOEXCEPT
68223  {
68224  return std::tie( sType, pNext, rayTracingMaintenance1, rayTracingPipelineTraceRaysIndirect2 );
68225  }
68226 #endif
68227 
68228 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
68229  auto operator<=>( PhysicalDeviceRayTracingMaintenance1FeaturesKHR const & ) const = default;
68230 #else
68232  {
68233 # if defined( VULKAN_HPP_USE_REFLECT )
68234  return this->reflect() == rhs.reflect();
68235 # else
68236  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( rayTracingMaintenance1 == rhs.rayTracingMaintenance1 ) &&
68237  ( rayTracingPipelineTraceRaysIndirect2 == rhs.rayTracingPipelineTraceRaysIndirect2 );
68238 # endif
68239  }
68240 
68242  {
68243  return !operator==( rhs );
68244  }
68245 #endif
68246 
68247  public:
68248  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceRayTracingMaintenance1FeaturesKHR;
68249  void * pNext = {};
68250  VULKAN_HPP_NAMESPACE::Bool32 rayTracingMaintenance1 = {};
68251  VULKAN_HPP_NAMESPACE::Bool32 rayTracingPipelineTraceRaysIndirect2 = {};
68252  };
68253 
68254  template <>
68256  {
68258  };
68259 
68261  {
68263 
68264  static const bool allowDuplicate = false;
68265  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceRayTracingMotionBlurFeaturesNV;
68266 
68267 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
68269  VULKAN_HPP_NAMESPACE::Bool32 rayTracingMotionBlurPipelineTraceRaysIndirect_ = {},
68270  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
68271  : pNext( pNext_ )
68272  , rayTracingMotionBlur( rayTracingMotionBlur_ )
68273  , rayTracingMotionBlurPipelineTraceRaysIndirect( rayTracingMotionBlurPipelineTraceRaysIndirect_ )
68274  {
68275  }
68276 
68277  VULKAN_HPP_CONSTEXPR PhysicalDeviceRayTracingMotionBlurFeaturesNV( PhysicalDeviceRayTracingMotionBlurFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
68278 
68280  : PhysicalDeviceRayTracingMotionBlurFeaturesNV( *reinterpret_cast<PhysicalDeviceRayTracingMotionBlurFeaturesNV const *>( &rhs ) )
68281  {
68282  }
68283 
68285 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
68286 
68288  {
68289  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingMotionBlurFeaturesNV const *>( &rhs );
68290  return *this;
68291  }
68292 
68293 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
68295  {
68296  pNext = pNext_;
68297  return *this;
68298  }
68299 
68302  {
68303  rayTracingMotionBlur = rayTracingMotionBlur_;
68304  return *this;
68305  }
68306 
68309  {
68310  rayTracingMotionBlurPipelineTraceRaysIndirect = rayTracingMotionBlurPipelineTraceRaysIndirect_;
68311  return *this;
68312  }
68313 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
68314 
68316  {
68317  return *reinterpret_cast<const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV *>( this );
68318  }
68319 
68321  {
68322  return *reinterpret_cast<VkPhysicalDeviceRayTracingMotionBlurFeaturesNV *>( this );
68323  }
68324 
68325 #if defined( VULKAN_HPP_USE_REFLECT )
68326 # if 14 <= VULKAN_HPP_CPP_VERSION
68327  auto
68328 # else
68329  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
68330 # endif
68331  reflect() const VULKAN_HPP_NOEXCEPT
68332  {
68333  return std::tie( sType, pNext, rayTracingMotionBlur, rayTracingMotionBlurPipelineTraceRaysIndirect );
68334  }
68335 #endif
68336 
68337 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
68338  auto operator<=>( PhysicalDeviceRayTracingMotionBlurFeaturesNV const & ) const = default;
68339 #else
68341  {
68342 # if defined( VULKAN_HPP_USE_REFLECT )
68343  return this->reflect() == rhs.reflect();
68344 # else
68345  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( rayTracingMotionBlur == rhs.rayTracingMotionBlur ) &&
68346  ( rayTracingMotionBlurPipelineTraceRaysIndirect == rhs.rayTracingMotionBlurPipelineTraceRaysIndirect );
68347 # endif
68348  }
68349 
68351  {
68352  return !operator==( rhs );
68353  }
68354 #endif
68355 
68356  public:
68357  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceRayTracingMotionBlurFeaturesNV;
68358  void * pNext = {};
68359  VULKAN_HPP_NAMESPACE::Bool32 rayTracingMotionBlur = {};
68360  VULKAN_HPP_NAMESPACE::Bool32 rayTracingMotionBlurPipelineTraceRaysIndirect = {};
68361  };
68362 
68363  template <>
68365  {
68367  };
68368 
68370  {
68372 
68373  static const bool allowDuplicate = false;
68374  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceRayTracingPipelineFeaturesKHR;
68375 
68376 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
68378  VULKAN_HPP_NAMESPACE::Bool32 rayTracingPipelineShaderGroupHandleCaptureReplay_ = {},
68379  VULKAN_HPP_NAMESPACE::Bool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed_ = {},
68380  VULKAN_HPP_NAMESPACE::Bool32 rayTracingPipelineTraceRaysIndirect_ = {},
68381  VULKAN_HPP_NAMESPACE::Bool32 rayTraversalPrimitiveCulling_ = {},
68382  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
68383  : pNext( pNext_ )
68384  , rayTracingPipeline( rayTracingPipeline_ )
68385  , rayTracingPipelineShaderGroupHandleCaptureReplay( rayTracingPipelineShaderGroupHandleCaptureReplay_ )
68386  , rayTracingPipelineShaderGroupHandleCaptureReplayMixed( rayTracingPipelineShaderGroupHandleCaptureReplayMixed_ )
68387  , rayTracingPipelineTraceRaysIndirect( rayTracingPipelineTraceRaysIndirect_ )
68388  , rayTraversalPrimitiveCulling( rayTraversalPrimitiveCulling_ )
68389  {
68390  }
68391 
68392  VULKAN_HPP_CONSTEXPR PhysicalDeviceRayTracingPipelineFeaturesKHR( PhysicalDeviceRayTracingPipelineFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
68393 
68395  : PhysicalDeviceRayTracingPipelineFeaturesKHR( *reinterpret_cast<PhysicalDeviceRayTracingPipelineFeaturesKHR const *>( &rhs ) )
68396  {
68397  }
68398 
68400 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
68401 
68403  {
68404  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPipelineFeaturesKHR const *>( &rhs );
68405  return *this;
68406  }
68407 
68408 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
68410  {
68411  pNext = pNext_;
68412  return *this;
68413  }
68414 
68417  {
68418  rayTracingPipeline = rayTracingPipeline_;
68419  return *this;
68420  }
68421 
68424  {
68425  rayTracingPipelineShaderGroupHandleCaptureReplay = rayTracingPipelineShaderGroupHandleCaptureReplay_;
68426  return *this;
68427  }
68428 
68430  VULKAN_HPP_NAMESPACE::Bool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed_ ) VULKAN_HPP_NOEXCEPT
68431  {
68432  rayTracingPipelineShaderGroupHandleCaptureReplayMixed = rayTracingPipelineShaderGroupHandleCaptureReplayMixed_;
68433  return *this;
68434  }
68435 
68438  {
68439  rayTracingPipelineTraceRaysIndirect = rayTracingPipelineTraceRaysIndirect_;
68440  return *this;
68441  }
68442 
68445  {
68446  rayTraversalPrimitiveCulling = rayTraversalPrimitiveCulling_;
68447  return *this;
68448  }
68449 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
68450 
68452  {
68453  return *reinterpret_cast<const VkPhysicalDeviceRayTracingPipelineFeaturesKHR *>( this );
68454  }
68455 
68457  {
68458  return *reinterpret_cast<VkPhysicalDeviceRayTracingPipelineFeaturesKHR *>( this );
68459  }
68460 
68461 #if defined( VULKAN_HPP_USE_REFLECT )
68462 # if 14 <= VULKAN_HPP_CPP_VERSION
68463  auto
68464 # else
68465  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
68466  void * const &,
68472 # endif
68473  reflect() const VULKAN_HPP_NOEXCEPT
68474  {
68475  return std::tie( sType,
68476  pNext,
68477  rayTracingPipeline,
68478  rayTracingPipelineShaderGroupHandleCaptureReplay,
68479  rayTracingPipelineShaderGroupHandleCaptureReplayMixed,
68480  rayTracingPipelineTraceRaysIndirect,
68481  rayTraversalPrimitiveCulling );
68482  }
68483 #endif
68484 
68485 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
68486  auto operator<=>( PhysicalDeviceRayTracingPipelineFeaturesKHR const & ) const = default;
68487 #else
68489  {
68490 # if defined( VULKAN_HPP_USE_REFLECT )
68491  return this->reflect() == rhs.reflect();
68492 # else
68493  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( rayTracingPipeline == rhs.rayTracingPipeline ) &&
68494  ( rayTracingPipelineShaderGroupHandleCaptureReplay == rhs.rayTracingPipelineShaderGroupHandleCaptureReplay ) &&
68495  ( rayTracingPipelineShaderGroupHandleCaptureReplayMixed == rhs.rayTracingPipelineShaderGroupHandleCaptureReplayMixed ) &&
68496  ( rayTracingPipelineTraceRaysIndirect == rhs.rayTracingPipelineTraceRaysIndirect ) &&
68497  ( rayTraversalPrimitiveCulling == rhs.rayTraversalPrimitiveCulling );
68498 # endif
68499  }
68500 
68502  {
68503  return !operator==( rhs );
68504  }
68505 #endif
68506 
68507  public:
68508  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceRayTracingPipelineFeaturesKHR;
68509  void * pNext = {};
68510  VULKAN_HPP_NAMESPACE::Bool32 rayTracingPipeline = {};
68511  VULKAN_HPP_NAMESPACE::Bool32 rayTracingPipelineShaderGroupHandleCaptureReplay = {};
68512  VULKAN_HPP_NAMESPACE::Bool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed = {};
68513  VULKAN_HPP_NAMESPACE::Bool32 rayTracingPipelineTraceRaysIndirect = {};
68514  VULKAN_HPP_NAMESPACE::Bool32 rayTraversalPrimitiveCulling = {};
68515  };
68516 
68517  template <>
68519  {
68521  };
68522 
68524  {
68526 
68527  static const bool allowDuplicate = false;
68528  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceRayTracingPipelinePropertiesKHR;
68529 
68530 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
68532  uint32_t maxRayRecursionDepth_ = {},
68533  uint32_t maxShaderGroupStride_ = {},
68534  uint32_t shaderGroupBaseAlignment_ = {},
68535  uint32_t shaderGroupHandleCaptureReplaySize_ = {},
68536  uint32_t maxRayDispatchInvocationCount_ = {},
68537  uint32_t shaderGroupHandleAlignment_ = {},
68538  uint32_t maxRayHitAttributeSize_ = {},
68539  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
68540  : pNext( pNext_ )
68541  , shaderGroupHandleSize( shaderGroupHandleSize_ )
68542  , maxRayRecursionDepth( maxRayRecursionDepth_ )
68543  , maxShaderGroupStride( maxShaderGroupStride_ )
68544  , shaderGroupBaseAlignment( shaderGroupBaseAlignment_ )
68545  , shaderGroupHandleCaptureReplaySize( shaderGroupHandleCaptureReplaySize_ )
68546  , maxRayDispatchInvocationCount( maxRayDispatchInvocationCount_ )
68547  , shaderGroupHandleAlignment( shaderGroupHandleAlignment_ )
68548  , maxRayHitAttributeSize( maxRayHitAttributeSize_ )
68549  {
68550  }
68551 
68553  PhysicalDeviceRayTracingPipelinePropertiesKHR( PhysicalDeviceRayTracingPipelinePropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
68554 
68556  : PhysicalDeviceRayTracingPipelinePropertiesKHR( *reinterpret_cast<PhysicalDeviceRayTracingPipelinePropertiesKHR const *>( &rhs ) )
68557  {
68558  }
68559 
68561 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
68562 
68564  {
68565  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPipelinePropertiesKHR const *>( &rhs );
68566  return *this;
68567  }
68568 
68570  {
68571  return *reinterpret_cast<const VkPhysicalDeviceRayTracingPipelinePropertiesKHR *>( this );
68572  }
68573 
68575  {
68576  return *reinterpret_cast<VkPhysicalDeviceRayTracingPipelinePropertiesKHR *>( this );
68577  }
68578 
68579 #if defined( VULKAN_HPP_USE_REFLECT )
68580 # if 14 <= VULKAN_HPP_CPP_VERSION
68581  auto
68582 # else
68583  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
68584  void * const &,
68585  uint32_t const &,
68586  uint32_t const &,
68587  uint32_t const &,
68588  uint32_t const &,
68589  uint32_t const &,
68590  uint32_t const &,
68591  uint32_t const &,
68592  uint32_t const &>
68593 # endif
68594  reflect() const VULKAN_HPP_NOEXCEPT
68595  {
68596  return std::tie( sType,
68597  pNext,
68598  shaderGroupHandleSize,
68599  maxRayRecursionDepth,
68600  maxShaderGroupStride,
68601  shaderGroupBaseAlignment,
68602  shaderGroupHandleCaptureReplaySize,
68603  maxRayDispatchInvocationCount,
68604  shaderGroupHandleAlignment,
68605  maxRayHitAttributeSize );
68606  }
68607 #endif
68608 
68609 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
68610  auto operator<=>( PhysicalDeviceRayTracingPipelinePropertiesKHR const & ) const = default;
68611 #else
68613  {
68614 # if defined( VULKAN_HPP_USE_REFLECT )
68615  return this->reflect() == rhs.reflect();
68616 # else
68617  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderGroupHandleSize == rhs.shaderGroupHandleSize ) &&
68618  ( maxRayRecursionDepth == rhs.maxRayRecursionDepth ) && ( maxShaderGroupStride == rhs.maxShaderGroupStride ) &&
68619  ( shaderGroupBaseAlignment == rhs.shaderGroupBaseAlignment ) && ( shaderGroupHandleCaptureReplaySize == rhs.shaderGroupHandleCaptureReplaySize ) &&
68620  ( maxRayDispatchInvocationCount == rhs.maxRayDispatchInvocationCount ) && ( shaderGroupHandleAlignment == rhs.shaderGroupHandleAlignment ) &&
68621  ( maxRayHitAttributeSize == rhs.maxRayHitAttributeSize );
68622 # endif
68623  }
68624 
68626  {
68627  return !operator==( rhs );
68628  }
68629 #endif
68630 
68631  public:
68632  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceRayTracingPipelinePropertiesKHR;
68633  void * pNext = {};
68634  uint32_t shaderGroupHandleSize = {};
68635  uint32_t maxRayRecursionDepth = {};
68636  uint32_t maxShaderGroupStride = {};
68637  uint32_t shaderGroupBaseAlignment = {};
68638  uint32_t shaderGroupHandleCaptureReplaySize = {};
68639  uint32_t maxRayDispatchInvocationCount = {};
68640  uint32_t shaderGroupHandleAlignment = {};
68641  uint32_t maxRayHitAttributeSize = {};
68642  };
68643 
68644  template <>
68646  {
68648  };
68649 
68651  {
68653 
68654  static const bool allowDuplicate = false;
68655  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceRayTracingPropertiesNV;
68656 
68657 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
68658  VULKAN_HPP_CONSTEXPR PhysicalDeviceRayTracingPropertiesNV( uint32_t shaderGroupHandleSize_ = {},
68659  uint32_t maxRecursionDepth_ = {},
68660  uint32_t maxShaderGroupStride_ = {},
68661  uint32_t shaderGroupBaseAlignment_ = {},
68662  uint64_t maxGeometryCount_ = {},
68663  uint64_t maxInstanceCount_ = {},
68664  uint64_t maxTriangleCount_ = {},
68665  uint32_t maxDescriptorSetAccelerationStructures_ = {},
68666  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
68667  : pNext( pNext_ )
68668  , shaderGroupHandleSize( shaderGroupHandleSize_ )
68669  , maxRecursionDepth( maxRecursionDepth_ )
68670  , maxShaderGroupStride( maxShaderGroupStride_ )
68671  , shaderGroupBaseAlignment( shaderGroupBaseAlignment_ )
68672  , maxGeometryCount( maxGeometryCount_ )
68673  , maxInstanceCount( maxInstanceCount_ )
68674  , maxTriangleCount( maxTriangleCount_ )
68675  , maxDescriptorSetAccelerationStructures( maxDescriptorSetAccelerationStructures_ )
68676  {
68677  }
68678 
68679  VULKAN_HPP_CONSTEXPR PhysicalDeviceRayTracingPropertiesNV( PhysicalDeviceRayTracingPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
68680 
68682  : PhysicalDeviceRayTracingPropertiesNV( *reinterpret_cast<PhysicalDeviceRayTracingPropertiesNV const *>( &rhs ) )
68683  {
68684  }
68685 
68687 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
68688 
68690  {
68691  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPropertiesNV const *>( &rhs );
68692  return *this;
68693  }
68694 
68696  {
68697  return *reinterpret_cast<const VkPhysicalDeviceRayTracingPropertiesNV *>( this );
68698  }
68699 
68701  {
68702  return *reinterpret_cast<VkPhysicalDeviceRayTracingPropertiesNV *>( this );
68703  }
68704 
68705 #if defined( VULKAN_HPP_USE_REFLECT )
68706 # if 14 <= VULKAN_HPP_CPP_VERSION
68707  auto
68708 # else
68709  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
68710  void * const &,
68711  uint32_t const &,
68712  uint32_t const &,
68713  uint32_t const &,
68714  uint32_t const &,
68715  uint64_t const &,
68716  uint64_t const &,
68717  uint64_t const &,
68718  uint32_t const &>
68719 # endif
68720  reflect() const VULKAN_HPP_NOEXCEPT
68721  {
68722  return std::tie( sType,
68723  pNext,
68724  shaderGroupHandleSize,
68725  maxRecursionDepth,
68726  maxShaderGroupStride,
68727  shaderGroupBaseAlignment,
68728  maxGeometryCount,
68729  maxInstanceCount,
68730  maxTriangleCount,
68731  maxDescriptorSetAccelerationStructures );
68732  }
68733 #endif
68734 
68735 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
68736  auto operator<=>( PhysicalDeviceRayTracingPropertiesNV const & ) const = default;
68737 #else
68739  {
68740 # if defined( VULKAN_HPP_USE_REFLECT )
68741  return this->reflect() == rhs.reflect();
68742 # else
68743  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderGroupHandleSize == rhs.shaderGroupHandleSize ) &&
68744  ( maxRecursionDepth == rhs.maxRecursionDepth ) && ( maxShaderGroupStride == rhs.maxShaderGroupStride ) &&
68745  ( shaderGroupBaseAlignment == rhs.shaderGroupBaseAlignment ) && ( maxGeometryCount == rhs.maxGeometryCount ) &&
68746  ( maxInstanceCount == rhs.maxInstanceCount ) && ( maxTriangleCount == rhs.maxTriangleCount ) &&
68747  ( maxDescriptorSetAccelerationStructures == rhs.maxDescriptorSetAccelerationStructures );
68748 # endif
68749  }
68750 
68752  {
68753  return !operator==( rhs );
68754  }
68755 #endif
68756 
68757  public:
68758  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceRayTracingPropertiesNV;
68759  void * pNext = {};
68760  uint32_t shaderGroupHandleSize = {};
68761  uint32_t maxRecursionDepth = {};
68762  uint32_t maxShaderGroupStride = {};
68763  uint32_t shaderGroupBaseAlignment = {};
68764  uint64_t maxGeometryCount = {};
68765  uint64_t maxInstanceCount = {};
68766  uint64_t maxTriangleCount = {};
68767  uint32_t maxDescriptorSetAccelerationStructures = {};
68768  };
68769 
68770  template <>
68772  {
68774  };
68775 
68777  {
68779 
68780  static const bool allowDuplicate = false;
68781  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceRepresentativeFragmentTestFeaturesNV;
68782 
68783 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
68785  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
68786  : pNext( pNext_ )
68787  , representativeFragmentTest( representativeFragmentTest_ )
68788  {
68789  }
68790 
68792  PhysicalDeviceRepresentativeFragmentTestFeaturesNV( PhysicalDeviceRepresentativeFragmentTestFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
68793 
68795  : PhysicalDeviceRepresentativeFragmentTestFeaturesNV( *reinterpret_cast<PhysicalDeviceRepresentativeFragmentTestFeaturesNV const *>( &rhs ) )
68796  {
68797  }
68798 
68801 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
68802 
68804  {
68805  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceRepresentativeFragmentTestFeaturesNV const *>( &rhs );
68806  return *this;
68807  }
68808 
68809 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
68811  {
68812  pNext = pNext_;
68813  return *this;
68814  }
68815 
68818  {
68819  representativeFragmentTest = representativeFragmentTest_;
68820  return *this;
68821  }
68822 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
68823 
68825  {
68826  return *reinterpret_cast<const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV *>( this );
68827  }
68828 
68830  {
68831  return *reinterpret_cast<VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV *>( this );
68832  }
68833 
68834 #if defined( VULKAN_HPP_USE_REFLECT )
68835 # if 14 <= VULKAN_HPP_CPP_VERSION
68836  auto
68837 # else
68838  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
68839 # endif
68840  reflect() const VULKAN_HPP_NOEXCEPT
68841  {
68842  return std::tie( sType, pNext, representativeFragmentTest );
68843  }
68844 #endif
68845 
68846 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
68847  auto operator<=>( PhysicalDeviceRepresentativeFragmentTestFeaturesNV const & ) const = default;
68848 #else
68850  {
68851 # if defined( VULKAN_HPP_USE_REFLECT )
68852  return this->reflect() == rhs.reflect();
68853 # else
68854  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( representativeFragmentTest == rhs.representativeFragmentTest );
68855 # endif
68856  }
68857 
68859  {
68860  return !operator==( rhs );
68861  }
68862 #endif
68863 
68864  public:
68865  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceRepresentativeFragmentTestFeaturesNV;
68866  void * pNext = {};
68867  VULKAN_HPP_NAMESPACE::Bool32 representativeFragmentTest = {};
68868  };
68869 
68870  template <>
68872  {
68874  };
68875 
68877  {
68879 
68880  static const bool allowDuplicate = false;
68881  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceRobustness2FeaturesEXT;
68882 
68883 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
68885  VULKAN_HPP_NAMESPACE::Bool32 robustImageAccess2_ = {},
68886  VULKAN_HPP_NAMESPACE::Bool32 nullDescriptor_ = {},
68887  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
68888  : pNext( pNext_ )
68889  , robustBufferAccess2( robustBufferAccess2_ )
68890  , robustImageAccess2( robustImageAccess2_ )
68891  , nullDescriptor( nullDescriptor_ )
68892  {
68893  }
68894 
68895  VULKAN_HPP_CONSTEXPR PhysicalDeviceRobustness2FeaturesEXT( PhysicalDeviceRobustness2FeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
68896 
68898  : PhysicalDeviceRobustness2FeaturesEXT( *reinterpret_cast<PhysicalDeviceRobustness2FeaturesEXT const *>( &rhs ) )
68899  {
68900  }
68901 
68903 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
68904 
68906  {
68907  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceRobustness2FeaturesEXT const *>( &rhs );
68908  return *this;
68909  }
68910 
68911 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
68913  {
68914  pNext = pNext_;
68915  return *this;
68916  }
68917 
68920  {
68921  robustBufferAccess2 = robustBufferAccess2_;
68922  return *this;
68923  }
68924 
68926  {
68927  robustImageAccess2 = robustImageAccess2_;
68928  return *this;
68929  }
68930 
68932  {
68933  nullDescriptor = nullDescriptor_;
68934  return *this;
68935  }
68936 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
68937 
68939  {
68940  return *reinterpret_cast<const VkPhysicalDeviceRobustness2FeaturesEXT *>( this );
68941  }
68942 
68944  {
68945  return *reinterpret_cast<VkPhysicalDeviceRobustness2FeaturesEXT *>( this );
68946  }
68947 
68948 #if defined( VULKAN_HPP_USE_REFLECT )
68949 # if 14 <= VULKAN_HPP_CPP_VERSION
68950  auto
68951 # else
68952  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
68953  void * const &,
68957 # endif
68958  reflect() const VULKAN_HPP_NOEXCEPT
68959  {
68960  return std::tie( sType, pNext, robustBufferAccess2, robustImageAccess2, nullDescriptor );
68961  }
68962 #endif
68963 
68964 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
68965  auto operator<=>( PhysicalDeviceRobustness2FeaturesEXT const & ) const = default;
68966 #else
68968  {
68969 # if defined( VULKAN_HPP_USE_REFLECT )
68970  return this->reflect() == rhs.reflect();
68971 # else
68972  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( robustBufferAccess2 == rhs.robustBufferAccess2 ) &&
68973  ( robustImageAccess2 == rhs.robustImageAccess2 ) && ( nullDescriptor == rhs.nullDescriptor );
68974 # endif
68975  }
68976 
68978  {
68979  return !operator==( rhs );
68980  }
68981 #endif
68982 
68983  public:
68984  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceRobustness2FeaturesEXT;
68985  void * pNext = {};
68986  VULKAN_HPP_NAMESPACE::Bool32 robustBufferAccess2 = {};
68987  VULKAN_HPP_NAMESPACE::Bool32 robustImageAccess2 = {};
68988  VULKAN_HPP_NAMESPACE::Bool32 nullDescriptor = {};
68989  };
68990 
68991  template <>
68993  {
68995  };
68996 
68998  {
69000 
69001  static const bool allowDuplicate = false;
69002  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceRobustness2PropertiesEXT;
69003 
69004 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
69006  VULKAN_HPP_NAMESPACE::DeviceSize robustUniformBufferAccessSizeAlignment_ = {},
69007  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
69008  : pNext( pNext_ )
69009  , robustStorageBufferAccessSizeAlignment( robustStorageBufferAccessSizeAlignment_ )
69010  , robustUniformBufferAccessSizeAlignment( robustUniformBufferAccessSizeAlignment_ )
69011  {
69012  }
69013 
69014  VULKAN_HPP_CONSTEXPR PhysicalDeviceRobustness2PropertiesEXT( PhysicalDeviceRobustness2PropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
69015 
69017  : PhysicalDeviceRobustness2PropertiesEXT( *reinterpret_cast<PhysicalDeviceRobustness2PropertiesEXT const *>( &rhs ) )
69018  {
69019  }
69020 
69022 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
69023 
69025  {
69026  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceRobustness2PropertiesEXT const *>( &rhs );
69027  return *this;
69028  }
69029 
69031  {
69032  return *reinterpret_cast<const VkPhysicalDeviceRobustness2PropertiesEXT *>( this );
69033  }
69034 
69036  {
69037  return *reinterpret_cast<VkPhysicalDeviceRobustness2PropertiesEXT *>( this );
69038  }
69039 
69040 #if defined( VULKAN_HPP_USE_REFLECT )
69041 # if 14 <= VULKAN_HPP_CPP_VERSION
69042  auto
69043 # else
69044  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::DeviceSize const &, VULKAN_HPP_NAMESPACE::DeviceSize const &>
69045 # endif
69046  reflect() const VULKAN_HPP_NOEXCEPT
69047  {
69048  return std::tie( sType, pNext, robustStorageBufferAccessSizeAlignment, robustUniformBufferAccessSizeAlignment );
69049  }
69050 #endif
69051 
69052 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
69053  auto operator<=>( PhysicalDeviceRobustness2PropertiesEXT const & ) const = default;
69054 #else
69056  {
69057 # if defined( VULKAN_HPP_USE_REFLECT )
69058  return this->reflect() == rhs.reflect();
69059 # else
69060  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( robustStorageBufferAccessSizeAlignment == rhs.robustStorageBufferAccessSizeAlignment ) &&
69061  ( robustUniformBufferAccessSizeAlignment == rhs.robustUniformBufferAccessSizeAlignment );
69062 # endif
69063  }
69064 
69066  {
69067  return !operator==( rhs );
69068  }
69069 #endif
69070 
69071  public:
69072  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceRobustness2PropertiesEXT;
69073  void * pNext = {};
69074  VULKAN_HPP_NAMESPACE::DeviceSize robustStorageBufferAccessSizeAlignment = {};
69075  VULKAN_HPP_NAMESPACE::DeviceSize robustUniformBufferAccessSizeAlignment = {};
69076  };
69077 
69078  template <>
69080  {
69082  };
69083 
69085  {
69087 
69088  static const bool allowDuplicate = false;
69089  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceSampleLocationsPropertiesEXT;
69090 
69091 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
69093  VULKAN_HPP_NAMESPACE::Extent2D maxSampleLocationGridSize_ = {},
69094  std::array<float, 2> const & sampleLocationCoordinateRange_ = {},
69095  uint32_t sampleLocationSubPixelBits_ = {},
69096  VULKAN_HPP_NAMESPACE::Bool32 variableSampleLocations_ = {},
69097  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
69098  : pNext( pNext_ )
69099  , sampleLocationSampleCounts( sampleLocationSampleCounts_ )
69100  , maxSampleLocationGridSize( maxSampleLocationGridSize_ )
69101  , sampleLocationCoordinateRange( sampleLocationCoordinateRange_ )
69102  , sampleLocationSubPixelBits( sampleLocationSubPixelBits_ )
69103  , variableSampleLocations( variableSampleLocations_ )
69104  {
69105  }
69106 
69107  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSampleLocationsPropertiesEXT( PhysicalDeviceSampleLocationsPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
69108 
69110  : PhysicalDeviceSampleLocationsPropertiesEXT( *reinterpret_cast<PhysicalDeviceSampleLocationsPropertiesEXT const *>( &rhs ) )
69111  {
69112  }
69113 
69115 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
69116 
69118  {
69119  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceSampleLocationsPropertiesEXT const *>( &rhs );
69120  return *this;
69121  }
69122 
69124  {
69125  return *reinterpret_cast<const VkPhysicalDeviceSampleLocationsPropertiesEXT *>( this );
69126  }
69127 
69129  {
69130  return *reinterpret_cast<VkPhysicalDeviceSampleLocationsPropertiesEXT *>( this );
69131  }
69132 
69133 #if defined( VULKAN_HPP_USE_REFLECT )
69134 # if 14 <= VULKAN_HPP_CPP_VERSION
69135  auto
69136 # else
69137  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
69138  void * const &,
69142  uint32_t const &,
69144 # endif
69145  reflect() const VULKAN_HPP_NOEXCEPT
69146  {
69147  return std::tie( sType,
69148  pNext,
69149  sampleLocationSampleCounts,
69150  maxSampleLocationGridSize,
69151  sampleLocationCoordinateRange,
69152  sampleLocationSubPixelBits,
69153  variableSampleLocations );
69154  }
69155 #endif
69156 
69157 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
69158  auto operator<=>( PhysicalDeviceSampleLocationsPropertiesEXT const & ) const = default;
69159 #else
69161  {
69162 # if defined( VULKAN_HPP_USE_REFLECT )
69163  return this->reflect() == rhs.reflect();
69164 # else
69165  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( sampleLocationSampleCounts == rhs.sampleLocationSampleCounts ) &&
69166  ( maxSampleLocationGridSize == rhs.maxSampleLocationGridSize ) && ( sampleLocationCoordinateRange == rhs.sampleLocationCoordinateRange ) &&
69167  ( sampleLocationSubPixelBits == rhs.sampleLocationSubPixelBits ) && ( variableSampleLocations == rhs.variableSampleLocations );
69168 # endif
69169  }
69170 
69172  {
69173  return !operator==( rhs );
69174  }
69175 #endif
69176 
69177  public:
69178  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceSampleLocationsPropertiesEXT;
69179  void * pNext = {};
69180  VULKAN_HPP_NAMESPACE::SampleCountFlags sampleLocationSampleCounts = {};
69181  VULKAN_HPP_NAMESPACE::Extent2D maxSampleLocationGridSize = {};
69182  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<float, 2> sampleLocationCoordinateRange = {};
69183  uint32_t sampleLocationSubPixelBits = {};
69184  VULKAN_HPP_NAMESPACE::Bool32 variableSampleLocations = {};
69185  };
69186 
69187  template <>
69189  {
69191  };
69192 
69194  {
69196 
69197  static const bool allowDuplicate = false;
69198  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceSamplerFilterMinmaxProperties;
69199 
69200 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
69202  VULKAN_HPP_NAMESPACE::Bool32 filterMinmaxImageComponentMapping_ = {},
69203  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
69204  : pNext( pNext_ )
69205  , filterMinmaxSingleComponentFormats( filterMinmaxSingleComponentFormats_ )
69206  , filterMinmaxImageComponentMapping( filterMinmaxImageComponentMapping_ )
69207  {
69208  }
69209 
69210  VULKAN_HPP_CONSTEXPR PhysicalDeviceSamplerFilterMinmaxProperties( PhysicalDeviceSamplerFilterMinmaxProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
69211 
69213  : PhysicalDeviceSamplerFilterMinmaxProperties( *reinterpret_cast<PhysicalDeviceSamplerFilterMinmaxProperties const *>( &rhs ) )
69214  {
69215  }
69216 
69218 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
69219 
69221  {
69222  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceSamplerFilterMinmaxProperties const *>( &rhs );
69223  return *this;
69224  }
69225 
69227  {
69228  return *reinterpret_cast<const VkPhysicalDeviceSamplerFilterMinmaxProperties *>( this );
69229  }
69230 
69232  {
69233  return *reinterpret_cast<VkPhysicalDeviceSamplerFilterMinmaxProperties *>( this );
69234  }
69235 
69236 #if defined( VULKAN_HPP_USE_REFLECT )
69237 # if 14 <= VULKAN_HPP_CPP_VERSION
69238  auto
69239 # else
69240  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
69241 # endif
69242  reflect() const VULKAN_HPP_NOEXCEPT
69243  {
69244  return std::tie( sType, pNext, filterMinmaxSingleComponentFormats, filterMinmaxImageComponentMapping );
69245  }
69246 #endif
69247 
69248 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
69249  auto operator<=>( PhysicalDeviceSamplerFilterMinmaxProperties const & ) const = default;
69250 #else
69252  {
69253 # if defined( VULKAN_HPP_USE_REFLECT )
69254  return this->reflect() == rhs.reflect();
69255 # else
69256  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( filterMinmaxSingleComponentFormats == rhs.filterMinmaxSingleComponentFormats ) &&
69257  ( filterMinmaxImageComponentMapping == rhs.filterMinmaxImageComponentMapping );
69258 # endif
69259  }
69260 
69262  {
69263  return !operator==( rhs );
69264  }
69265 #endif
69266 
69267  public:
69268  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceSamplerFilterMinmaxProperties;
69269  void * pNext = {};
69270  VULKAN_HPP_NAMESPACE::Bool32 filterMinmaxSingleComponentFormats = {};
69271  VULKAN_HPP_NAMESPACE::Bool32 filterMinmaxImageComponentMapping = {};
69272  };
69273 
69274  template <>
69276  {
69278  };
69280 
69282  {
69284 
69285  static const bool allowDuplicate = false;
69286  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceSamplerYcbcrConversionFeatures;
69287 
69288 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
69290  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
69291  : pNext( pNext_ )
69292  , samplerYcbcrConversion( samplerYcbcrConversion_ )
69293  {
69294  }
69295 
69296  VULKAN_HPP_CONSTEXPR PhysicalDeviceSamplerYcbcrConversionFeatures( PhysicalDeviceSamplerYcbcrConversionFeatures const & rhs ) VULKAN_HPP_NOEXCEPT = default;
69297 
69299  : PhysicalDeviceSamplerYcbcrConversionFeatures( *reinterpret_cast<PhysicalDeviceSamplerYcbcrConversionFeatures const *>( &rhs ) )
69300  {
69301  }
69302 
69304 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
69305 
69307  {
69308  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceSamplerYcbcrConversionFeatures const *>( &rhs );
69309  return *this;
69310  }
69311 
69312 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
69314  {
69315  pNext = pNext_;
69316  return *this;
69317  }
69318 
69321  {
69322  samplerYcbcrConversion = samplerYcbcrConversion_;
69323  return *this;
69324  }
69325 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
69326 
69328  {
69329  return *reinterpret_cast<const VkPhysicalDeviceSamplerYcbcrConversionFeatures *>( this );
69330  }
69331 
69333  {
69334  return *reinterpret_cast<VkPhysicalDeviceSamplerYcbcrConversionFeatures *>( this );
69335  }
69336 
69337 #if defined( VULKAN_HPP_USE_REFLECT )
69338 # if 14 <= VULKAN_HPP_CPP_VERSION
69339  auto
69340 # else
69341  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
69342 # endif
69343  reflect() const VULKAN_HPP_NOEXCEPT
69344  {
69345  return std::tie( sType, pNext, samplerYcbcrConversion );
69346  }
69347 #endif
69348 
69349 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
69350  auto operator<=>( PhysicalDeviceSamplerYcbcrConversionFeatures const & ) const = default;
69351 #else
69353  {
69354 # if defined( VULKAN_HPP_USE_REFLECT )
69355  return this->reflect() == rhs.reflect();
69356 # else
69357  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( samplerYcbcrConversion == rhs.samplerYcbcrConversion );
69358 # endif
69359  }
69360 
69362  {
69363  return !operator==( rhs );
69364  }
69365 #endif
69366 
69367  public:
69368  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceSamplerYcbcrConversionFeatures;
69369  void * pNext = {};
69370  VULKAN_HPP_NAMESPACE::Bool32 samplerYcbcrConversion = {};
69371  };
69372 
69373  template <>
69375  {
69377  };
69379 
69381  {
69383 
69384  static const bool allowDuplicate = false;
69385  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceScalarBlockLayoutFeatures;
69386 
69387 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
69389  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
69390  : pNext( pNext_ )
69391  , scalarBlockLayout( scalarBlockLayout_ )
69392  {
69393  }
69394 
69395  VULKAN_HPP_CONSTEXPR PhysicalDeviceScalarBlockLayoutFeatures( PhysicalDeviceScalarBlockLayoutFeatures const & rhs ) VULKAN_HPP_NOEXCEPT = default;
69396 
69398  : PhysicalDeviceScalarBlockLayoutFeatures( *reinterpret_cast<PhysicalDeviceScalarBlockLayoutFeatures const *>( &rhs ) )
69399  {
69400  }
69401 
69403 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
69404 
69406  {
69407  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceScalarBlockLayoutFeatures const *>( &rhs );
69408  return *this;
69409  }
69410 
69411 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
69413  {
69414  pNext = pNext_;
69415  return *this;
69416  }
69417 
69420  {
69421  scalarBlockLayout = scalarBlockLayout_;
69422  return *this;
69423  }
69424 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
69425 
69427  {
69428  return *reinterpret_cast<const VkPhysicalDeviceScalarBlockLayoutFeatures *>( this );
69429  }
69430 
69432  {
69433  return *reinterpret_cast<VkPhysicalDeviceScalarBlockLayoutFeatures *>( this );
69434  }
69435 
69436 #if defined( VULKAN_HPP_USE_REFLECT )
69437 # if 14 <= VULKAN_HPP_CPP_VERSION
69438  auto
69439 # else
69440  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
69441 # endif
69442  reflect() const VULKAN_HPP_NOEXCEPT
69443  {
69444  return std::tie( sType, pNext, scalarBlockLayout );
69445  }
69446 #endif
69447 
69448 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
69449  auto operator<=>( PhysicalDeviceScalarBlockLayoutFeatures const & ) const = default;
69450 #else
69452  {
69453 # if defined( VULKAN_HPP_USE_REFLECT )
69454  return this->reflect() == rhs.reflect();
69455 # else
69456  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( scalarBlockLayout == rhs.scalarBlockLayout );
69457 # endif
69458  }
69459 
69461  {
69462  return !operator==( rhs );
69463  }
69464 #endif
69465 
69466  public:
69467  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceScalarBlockLayoutFeatures;
69468  void * pNext = {};
69469  VULKAN_HPP_NAMESPACE::Bool32 scalarBlockLayout = {};
69470  };
69471 
69472  template <>
69474  {
69476  };
69478 
69480  {
69482 
69483  static const bool allowDuplicate = false;
69484  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceSeparateDepthStencilLayoutsFeatures;
69485 
69486 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
69488  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
69489  : pNext( pNext_ )
69490  , separateDepthStencilLayouts( separateDepthStencilLayouts_ )
69491  {
69492  }
69493 
69495  PhysicalDeviceSeparateDepthStencilLayoutsFeatures( PhysicalDeviceSeparateDepthStencilLayoutsFeatures const & rhs ) VULKAN_HPP_NOEXCEPT = default;
69496 
69498  : PhysicalDeviceSeparateDepthStencilLayoutsFeatures( *reinterpret_cast<PhysicalDeviceSeparateDepthStencilLayoutsFeatures const *>( &rhs ) )
69499  {
69500  }
69501 
69504 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
69505 
69507  {
69508  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceSeparateDepthStencilLayoutsFeatures const *>( &rhs );
69509  return *this;
69510  }
69511 
69512 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
69514  {
69515  pNext = pNext_;
69516  return *this;
69517  }
69518 
69521  {
69522  separateDepthStencilLayouts = separateDepthStencilLayouts_;
69523  return *this;
69524  }
69525 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
69526 
69528  {
69529  return *reinterpret_cast<const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *>( this );
69530  }
69531 
69533  {
69534  return *reinterpret_cast<VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *>( this );
69535  }
69536 
69537 #if defined( VULKAN_HPP_USE_REFLECT )
69538 # if 14 <= VULKAN_HPP_CPP_VERSION
69539  auto
69540 # else
69541  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
69542 # endif
69543  reflect() const VULKAN_HPP_NOEXCEPT
69544  {
69545  return std::tie( sType, pNext, separateDepthStencilLayouts );
69546  }
69547 #endif
69548 
69549 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
69550  auto operator<=>( PhysicalDeviceSeparateDepthStencilLayoutsFeatures const & ) const = default;
69551 #else
69553  {
69554 # if defined( VULKAN_HPP_USE_REFLECT )
69555  return this->reflect() == rhs.reflect();
69556 # else
69557  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( separateDepthStencilLayouts == rhs.separateDepthStencilLayouts );
69558 # endif
69559  }
69560 
69562  {
69563  return !operator==( rhs );
69564  }
69565 #endif
69566 
69567  public:
69568  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceSeparateDepthStencilLayoutsFeatures;
69569  void * pNext = {};
69570  VULKAN_HPP_NAMESPACE::Bool32 separateDepthStencilLayouts = {};
69571  };
69572 
69573  template <>
69575  {
69577  };
69579 
69581  {
69583 
69584  static const bool allowDuplicate = false;
69585  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderAtomicFloat2FeaturesEXT;
69586 
69587 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
69589  VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat16AtomicAdd_ = {},
69590  VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat16AtomicMinMax_ = {},
69591  VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat32AtomicMinMax_ = {},
69592  VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat64AtomicMinMax_ = {},
69593  VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat16Atomics_ = {},
69594  VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat16AtomicAdd_ = {},
69595  VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat16AtomicMinMax_ = {},
69596  VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat32AtomicMinMax_ = {},
69597  VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat64AtomicMinMax_ = {},
69598  VULKAN_HPP_NAMESPACE::Bool32 shaderImageFloat32AtomicMinMax_ = {},
69599  VULKAN_HPP_NAMESPACE::Bool32 sparseImageFloat32AtomicMinMax_ = {},
69600  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
69601  : pNext( pNext_ )
69602  , shaderBufferFloat16Atomics( shaderBufferFloat16Atomics_ )
69603  , shaderBufferFloat16AtomicAdd( shaderBufferFloat16AtomicAdd_ )
69604  , shaderBufferFloat16AtomicMinMax( shaderBufferFloat16AtomicMinMax_ )
69605  , shaderBufferFloat32AtomicMinMax( shaderBufferFloat32AtomicMinMax_ )
69606  , shaderBufferFloat64AtomicMinMax( shaderBufferFloat64AtomicMinMax_ )
69607  , shaderSharedFloat16Atomics( shaderSharedFloat16Atomics_ )
69608  , shaderSharedFloat16AtomicAdd( shaderSharedFloat16AtomicAdd_ )
69609  , shaderSharedFloat16AtomicMinMax( shaderSharedFloat16AtomicMinMax_ )
69610  , shaderSharedFloat32AtomicMinMax( shaderSharedFloat32AtomicMinMax_ )
69611  , shaderSharedFloat64AtomicMinMax( shaderSharedFloat64AtomicMinMax_ )
69612  , shaderImageFloat32AtomicMinMax( shaderImageFloat32AtomicMinMax_ )
69613  , sparseImageFloat32AtomicMinMax( sparseImageFloat32AtomicMinMax_ )
69614  {
69615  }
69616 
69617  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderAtomicFloat2FeaturesEXT( PhysicalDeviceShaderAtomicFloat2FeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
69618 
69620  : PhysicalDeviceShaderAtomicFloat2FeaturesEXT( *reinterpret_cast<PhysicalDeviceShaderAtomicFloat2FeaturesEXT const *>( &rhs ) )
69621  {
69622  }
69623 
69625 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
69626 
69628  {
69629  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderAtomicFloat2FeaturesEXT const *>( &rhs );
69630  return *this;
69631  }
69632 
69633 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
69635  {
69636  pNext = pNext_;
69637  return *this;
69638  }
69639 
69642  {
69643  shaderBufferFloat16Atomics = shaderBufferFloat16Atomics_;
69644  return *this;
69645  }
69646 
69649  {
69650  shaderBufferFloat16AtomicAdd = shaderBufferFloat16AtomicAdd_;
69651  return *this;
69652  }
69653 
69656  {
69657  shaderBufferFloat16AtomicMinMax = shaderBufferFloat16AtomicMinMax_;
69658  return *this;
69659  }
69660 
69663  {
69664  shaderBufferFloat32AtomicMinMax = shaderBufferFloat32AtomicMinMax_;
69665  return *this;
69666  }
69667 
69670  {
69671  shaderBufferFloat64AtomicMinMax = shaderBufferFloat64AtomicMinMax_;
69672  return *this;
69673  }
69674 
69677  {
69678  shaderSharedFloat16Atomics = shaderSharedFloat16Atomics_;
69679  return *this;
69680  }
69681 
69684  {
69685  shaderSharedFloat16AtomicAdd = shaderSharedFloat16AtomicAdd_;
69686  return *this;
69687  }
69688 
69691  {
69692  shaderSharedFloat16AtomicMinMax = shaderSharedFloat16AtomicMinMax_;
69693  return *this;
69694  }
69695 
69698  {
69699  shaderSharedFloat32AtomicMinMax = shaderSharedFloat32AtomicMinMax_;
69700  return *this;
69701  }
69702 
69705  {
69706  shaderSharedFloat64AtomicMinMax = shaderSharedFloat64AtomicMinMax_;
69707  return *this;
69708  }
69709 
69712  {
69713  shaderImageFloat32AtomicMinMax = shaderImageFloat32AtomicMinMax_;
69714  return *this;
69715  }
69716 
69719  {
69720  sparseImageFloat32AtomicMinMax = sparseImageFloat32AtomicMinMax_;
69721  return *this;
69722  }
69723 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
69724 
69726  {
69727  return *reinterpret_cast<const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT *>( this );
69728  }
69729 
69731  {
69732  return *reinterpret_cast<VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT *>( this );
69733  }
69734 
69735 #if defined( VULKAN_HPP_USE_REFLECT )
69736 # if 14 <= VULKAN_HPP_CPP_VERSION
69737  auto
69738 # else
69739  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
69740  void * const &,
69753 # endif
69754  reflect() const VULKAN_HPP_NOEXCEPT
69755  {
69756  return std::tie( sType,
69757  pNext,
69758  shaderBufferFloat16Atomics,
69759  shaderBufferFloat16AtomicAdd,
69760  shaderBufferFloat16AtomicMinMax,
69761  shaderBufferFloat32AtomicMinMax,
69762  shaderBufferFloat64AtomicMinMax,
69763  shaderSharedFloat16Atomics,
69764  shaderSharedFloat16AtomicAdd,
69765  shaderSharedFloat16AtomicMinMax,
69766  shaderSharedFloat32AtomicMinMax,
69767  shaderSharedFloat64AtomicMinMax,
69768  shaderImageFloat32AtomicMinMax,
69769  sparseImageFloat32AtomicMinMax );
69770  }
69771 #endif
69772 
69773 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
69774  auto operator<=>( PhysicalDeviceShaderAtomicFloat2FeaturesEXT const & ) const = default;
69775 #else
69777  {
69778 # if defined( VULKAN_HPP_USE_REFLECT )
69779  return this->reflect() == rhs.reflect();
69780 # else
69781  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderBufferFloat16Atomics == rhs.shaderBufferFloat16Atomics ) &&
69782  ( shaderBufferFloat16AtomicAdd == rhs.shaderBufferFloat16AtomicAdd ) &&
69783  ( shaderBufferFloat16AtomicMinMax == rhs.shaderBufferFloat16AtomicMinMax ) &&
69784  ( shaderBufferFloat32AtomicMinMax == rhs.shaderBufferFloat32AtomicMinMax ) &&
69785  ( shaderBufferFloat64AtomicMinMax == rhs.shaderBufferFloat64AtomicMinMax ) && ( shaderSharedFloat16Atomics == rhs.shaderSharedFloat16Atomics ) &&
69786  ( shaderSharedFloat16AtomicAdd == rhs.shaderSharedFloat16AtomicAdd ) &&
69787  ( shaderSharedFloat16AtomicMinMax == rhs.shaderSharedFloat16AtomicMinMax ) &&
69788  ( shaderSharedFloat32AtomicMinMax == rhs.shaderSharedFloat32AtomicMinMax ) &&
69789  ( shaderSharedFloat64AtomicMinMax == rhs.shaderSharedFloat64AtomicMinMax ) &&
69790  ( shaderImageFloat32AtomicMinMax == rhs.shaderImageFloat32AtomicMinMax ) &&
69791  ( sparseImageFloat32AtomicMinMax == rhs.sparseImageFloat32AtomicMinMax );
69792 # endif
69793  }
69794 
69796  {
69797  return !operator==( rhs );
69798  }
69799 #endif
69800 
69801  public:
69802  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderAtomicFloat2FeaturesEXT;
69803  void * pNext = {};
69804  VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat16Atomics = {};
69805  VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat16AtomicAdd = {};
69806  VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat16AtomicMinMax = {};
69807  VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat32AtomicMinMax = {};
69808  VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat64AtomicMinMax = {};
69809  VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat16Atomics = {};
69810  VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat16AtomicAdd = {};
69811  VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat16AtomicMinMax = {};
69812  VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat32AtomicMinMax = {};
69813  VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat64AtomicMinMax = {};
69814  VULKAN_HPP_NAMESPACE::Bool32 shaderImageFloat32AtomicMinMax = {};
69815  VULKAN_HPP_NAMESPACE::Bool32 sparseImageFloat32AtomicMinMax = {};
69816  };
69817 
69818  template <>
69820  {
69822  };
69823 
69825  {
69827 
69828  static const bool allowDuplicate = false;
69829  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderAtomicFloatFeaturesEXT;
69830 
69831 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
69833  VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat32AtomicAdd_ = {},
69834  VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat64Atomics_ = {},
69835  VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat64AtomicAdd_ = {},
69836  VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat32Atomics_ = {},
69837  VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat32AtomicAdd_ = {},
69838  VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat64Atomics_ = {},
69839  VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat64AtomicAdd_ = {},
69840  VULKAN_HPP_NAMESPACE::Bool32 shaderImageFloat32Atomics_ = {},
69841  VULKAN_HPP_NAMESPACE::Bool32 shaderImageFloat32AtomicAdd_ = {},
69842  VULKAN_HPP_NAMESPACE::Bool32 sparseImageFloat32Atomics_ = {},
69843  VULKAN_HPP_NAMESPACE::Bool32 sparseImageFloat32AtomicAdd_ = {},
69844  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
69845  : pNext( pNext_ )
69846  , shaderBufferFloat32Atomics( shaderBufferFloat32Atomics_ )
69847  , shaderBufferFloat32AtomicAdd( shaderBufferFloat32AtomicAdd_ )
69848  , shaderBufferFloat64Atomics( shaderBufferFloat64Atomics_ )
69849  , shaderBufferFloat64AtomicAdd( shaderBufferFloat64AtomicAdd_ )
69850  , shaderSharedFloat32Atomics( shaderSharedFloat32Atomics_ )
69851  , shaderSharedFloat32AtomicAdd( shaderSharedFloat32AtomicAdd_ )
69852  , shaderSharedFloat64Atomics( shaderSharedFloat64Atomics_ )
69853  , shaderSharedFloat64AtomicAdd( shaderSharedFloat64AtomicAdd_ )
69854  , shaderImageFloat32Atomics( shaderImageFloat32Atomics_ )
69855  , shaderImageFloat32AtomicAdd( shaderImageFloat32AtomicAdd_ )
69856  , sparseImageFloat32Atomics( sparseImageFloat32Atomics_ )
69857  , sparseImageFloat32AtomicAdd( sparseImageFloat32AtomicAdd_ )
69858  {
69859  }
69860 
69861  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderAtomicFloatFeaturesEXT( PhysicalDeviceShaderAtomicFloatFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
69862 
69864  : PhysicalDeviceShaderAtomicFloatFeaturesEXT( *reinterpret_cast<PhysicalDeviceShaderAtomicFloatFeaturesEXT const *>( &rhs ) )
69865  {
69866  }
69867 
69869 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
69870 
69872  {
69873  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderAtomicFloatFeaturesEXT const *>( &rhs );
69874  return *this;
69875  }
69876 
69877 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
69879  {
69880  pNext = pNext_;
69881  return *this;
69882  }
69883 
69886  {
69887  shaderBufferFloat32Atomics = shaderBufferFloat32Atomics_;
69888  return *this;
69889  }
69890 
69893  {
69894  shaderBufferFloat32AtomicAdd = shaderBufferFloat32AtomicAdd_;
69895  return *this;
69896  }
69897 
69900  {
69901  shaderBufferFloat64Atomics = shaderBufferFloat64Atomics_;
69902  return *this;
69903  }
69904 
69907  {
69908  shaderBufferFloat64AtomicAdd = shaderBufferFloat64AtomicAdd_;
69909  return *this;
69910  }
69911 
69914  {
69915  shaderSharedFloat32Atomics = shaderSharedFloat32Atomics_;
69916  return *this;
69917  }
69918 
69921  {
69922  shaderSharedFloat32AtomicAdd = shaderSharedFloat32AtomicAdd_;
69923  return *this;
69924  }
69925 
69928  {
69929  shaderSharedFloat64Atomics = shaderSharedFloat64Atomics_;
69930  return *this;
69931  }
69932 
69935  {
69936  shaderSharedFloat64AtomicAdd = shaderSharedFloat64AtomicAdd_;
69937  return *this;
69938  }
69939 
69942  {
69943  shaderImageFloat32Atomics = shaderImageFloat32Atomics_;
69944  return *this;
69945  }
69946 
69949  {
69950  shaderImageFloat32AtomicAdd = shaderImageFloat32AtomicAdd_;
69951  return *this;
69952  }
69953 
69956  {
69957  sparseImageFloat32Atomics = sparseImageFloat32Atomics_;
69958  return *this;
69959  }
69960 
69963  {
69964  sparseImageFloat32AtomicAdd = sparseImageFloat32AtomicAdd_;
69965  return *this;
69966  }
69967 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
69968 
69970  {
69971  return *reinterpret_cast<const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT *>( this );
69972  }
69973 
69975  {
69976  return *reinterpret_cast<VkPhysicalDeviceShaderAtomicFloatFeaturesEXT *>( this );
69977  }
69978 
69979 #if defined( VULKAN_HPP_USE_REFLECT )
69980 # if 14 <= VULKAN_HPP_CPP_VERSION
69981  auto
69982 # else
69983  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
69984  void * const &,
69997 # endif
69998  reflect() const VULKAN_HPP_NOEXCEPT
69999  {
70000  return std::tie( sType,
70001  pNext,
70002  shaderBufferFloat32Atomics,
70003  shaderBufferFloat32AtomicAdd,
70004  shaderBufferFloat64Atomics,
70005  shaderBufferFloat64AtomicAdd,
70006  shaderSharedFloat32Atomics,
70007  shaderSharedFloat32AtomicAdd,
70008  shaderSharedFloat64Atomics,
70009  shaderSharedFloat64AtomicAdd,
70010  shaderImageFloat32Atomics,
70011  shaderImageFloat32AtomicAdd,
70012  sparseImageFloat32Atomics,
70013  sparseImageFloat32AtomicAdd );
70014  }
70015 #endif
70016 
70017 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
70018  auto operator<=>( PhysicalDeviceShaderAtomicFloatFeaturesEXT const & ) const = default;
70019 #else
70021  {
70022 # if defined( VULKAN_HPP_USE_REFLECT )
70023  return this->reflect() == rhs.reflect();
70024 # else
70025  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderBufferFloat32Atomics == rhs.shaderBufferFloat32Atomics ) &&
70026  ( shaderBufferFloat32AtomicAdd == rhs.shaderBufferFloat32AtomicAdd ) && ( shaderBufferFloat64Atomics == rhs.shaderBufferFloat64Atomics ) &&
70027  ( shaderBufferFloat64AtomicAdd == rhs.shaderBufferFloat64AtomicAdd ) && ( shaderSharedFloat32Atomics == rhs.shaderSharedFloat32Atomics ) &&
70028  ( shaderSharedFloat32AtomicAdd == rhs.shaderSharedFloat32AtomicAdd ) && ( shaderSharedFloat64Atomics == rhs.shaderSharedFloat64Atomics ) &&
70029  ( shaderSharedFloat64AtomicAdd == rhs.shaderSharedFloat64AtomicAdd ) && ( shaderImageFloat32Atomics == rhs.shaderImageFloat32Atomics ) &&
70030  ( shaderImageFloat32AtomicAdd == rhs.shaderImageFloat32AtomicAdd ) && ( sparseImageFloat32Atomics == rhs.sparseImageFloat32Atomics ) &&
70031  ( sparseImageFloat32AtomicAdd == rhs.sparseImageFloat32AtomicAdd );
70032 # endif
70033  }
70034 
70036  {
70037  return !operator==( rhs );
70038  }
70039 #endif
70040 
70041  public:
70042  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderAtomicFloatFeaturesEXT;
70043  void * pNext = {};
70044  VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat32Atomics = {};
70045  VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat32AtomicAdd = {};
70046  VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat64Atomics = {};
70047  VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat64AtomicAdd = {};
70048  VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat32Atomics = {};
70049  VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat32AtomicAdd = {};
70050  VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat64Atomics = {};
70051  VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat64AtomicAdd = {};
70052  VULKAN_HPP_NAMESPACE::Bool32 shaderImageFloat32Atomics = {};
70053  VULKAN_HPP_NAMESPACE::Bool32 shaderImageFloat32AtomicAdd = {};
70054  VULKAN_HPP_NAMESPACE::Bool32 sparseImageFloat32Atomics = {};
70055  VULKAN_HPP_NAMESPACE::Bool32 sparseImageFloat32AtomicAdd = {};
70056  };
70057 
70058  template <>
70060  {
70062  };
70063 
70065  {
70067 
70068  static const bool allowDuplicate = false;
70069  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderAtomicInt64Features;
70070 
70071 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
70073  VULKAN_HPP_NAMESPACE::Bool32 shaderSharedInt64Atomics_ = {},
70074  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
70075  : pNext( pNext_ )
70076  , shaderBufferInt64Atomics( shaderBufferInt64Atomics_ )
70077  , shaderSharedInt64Atomics( shaderSharedInt64Atomics_ )
70078  {
70079  }
70080 
70081  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderAtomicInt64Features( PhysicalDeviceShaderAtomicInt64Features const & rhs ) VULKAN_HPP_NOEXCEPT = default;
70082 
70084  : PhysicalDeviceShaderAtomicInt64Features( *reinterpret_cast<PhysicalDeviceShaderAtomicInt64Features const *>( &rhs ) )
70085  {
70086  }
70087 
70089 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
70090 
70092  {
70093  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderAtomicInt64Features const *>( &rhs );
70094  return *this;
70095  }
70096 
70097 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
70099  {
70100  pNext = pNext_;
70101  return *this;
70102  }
70103 
70106  {
70107  shaderBufferInt64Atomics = shaderBufferInt64Atomics_;
70108  return *this;
70109  }
70110 
70113  {
70114  shaderSharedInt64Atomics = shaderSharedInt64Atomics_;
70115  return *this;
70116  }
70117 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
70118 
70120  {
70121  return *reinterpret_cast<const VkPhysicalDeviceShaderAtomicInt64Features *>( this );
70122  }
70123 
70125  {
70126  return *reinterpret_cast<VkPhysicalDeviceShaderAtomicInt64Features *>( this );
70127  }
70128 
70129 #if defined( VULKAN_HPP_USE_REFLECT )
70130 # if 14 <= VULKAN_HPP_CPP_VERSION
70131  auto
70132 # else
70133  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
70134 # endif
70135  reflect() const VULKAN_HPP_NOEXCEPT
70136  {
70137  return std::tie( sType, pNext, shaderBufferInt64Atomics, shaderSharedInt64Atomics );
70138  }
70139 #endif
70140 
70141 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
70142  auto operator<=>( PhysicalDeviceShaderAtomicInt64Features const & ) const = default;
70143 #else
70145  {
70146 # if defined( VULKAN_HPP_USE_REFLECT )
70147  return this->reflect() == rhs.reflect();
70148 # else
70149  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderBufferInt64Atomics == rhs.shaderBufferInt64Atomics ) &&
70150  ( shaderSharedInt64Atomics == rhs.shaderSharedInt64Atomics );
70151 # endif
70152  }
70153 
70155  {
70156  return !operator==( rhs );
70157  }
70158 #endif
70159 
70160  public:
70161  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderAtomicInt64Features;
70162  void * pNext = {};
70163  VULKAN_HPP_NAMESPACE::Bool32 shaderBufferInt64Atomics = {};
70164  VULKAN_HPP_NAMESPACE::Bool32 shaderSharedInt64Atomics = {};
70165  };
70166 
70167  template <>
70169  {
70171  };
70173 
70175  {
70177 
70178  static const bool allowDuplicate = false;
70179  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderClockFeaturesKHR;
70180 
70181 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
70183  VULKAN_HPP_NAMESPACE::Bool32 shaderDeviceClock_ = {},
70184  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
70185  : pNext( pNext_ )
70186  , shaderSubgroupClock( shaderSubgroupClock_ )
70187  , shaderDeviceClock( shaderDeviceClock_ )
70188  {
70189  }
70190 
70191  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderClockFeaturesKHR( PhysicalDeviceShaderClockFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
70192 
70194  : PhysicalDeviceShaderClockFeaturesKHR( *reinterpret_cast<PhysicalDeviceShaderClockFeaturesKHR const *>( &rhs ) )
70195  {
70196  }
70197 
70199 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
70200 
70202  {
70203  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderClockFeaturesKHR const *>( &rhs );
70204  return *this;
70205  }
70206 
70207 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
70209  {
70210  pNext = pNext_;
70211  return *this;
70212  }
70213 
70216  {
70217  shaderSubgroupClock = shaderSubgroupClock_;
70218  return *this;
70219  }
70220 
70222  {
70223  shaderDeviceClock = shaderDeviceClock_;
70224  return *this;
70225  }
70226 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
70227 
70229  {
70230  return *reinterpret_cast<const VkPhysicalDeviceShaderClockFeaturesKHR *>( this );
70231  }
70232 
70234  {
70235  return *reinterpret_cast<VkPhysicalDeviceShaderClockFeaturesKHR *>( this );
70236  }
70237 
70238 #if defined( VULKAN_HPP_USE_REFLECT )
70239 # if 14 <= VULKAN_HPP_CPP_VERSION
70240  auto
70241 # else
70242  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
70243 # endif
70244  reflect() const VULKAN_HPP_NOEXCEPT
70245  {
70246  return std::tie( sType, pNext, shaderSubgroupClock, shaderDeviceClock );
70247  }
70248 #endif
70249 
70250 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
70251  auto operator<=>( PhysicalDeviceShaderClockFeaturesKHR const & ) const = default;
70252 #else
70254  {
70255 # if defined( VULKAN_HPP_USE_REFLECT )
70256  return this->reflect() == rhs.reflect();
70257 # else
70258  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderSubgroupClock == rhs.shaderSubgroupClock ) &&
70259  ( shaderDeviceClock == rhs.shaderDeviceClock );
70260 # endif
70261  }
70262 
70264  {
70265  return !operator==( rhs );
70266  }
70267 #endif
70268 
70269  public:
70270  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderClockFeaturesKHR;
70271  void * pNext = {};
70272  VULKAN_HPP_NAMESPACE::Bool32 shaderSubgroupClock = {};
70273  VULKAN_HPP_NAMESPACE::Bool32 shaderDeviceClock = {};
70274  };
70275 
70276  template <>
70278  {
70280  };
70281 
70283  {
70285 
70286  static const bool allowDuplicate = false;
70287  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderCoreBuiltinsFeaturesARM;
70288 
70289 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
70291  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
70292  : pNext( pNext_ )
70293  , shaderCoreBuiltins( shaderCoreBuiltins_ )
70294  {
70295  }
70296 
70297  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderCoreBuiltinsFeaturesARM( PhysicalDeviceShaderCoreBuiltinsFeaturesARM const & rhs ) VULKAN_HPP_NOEXCEPT = default;
70298 
70300  : PhysicalDeviceShaderCoreBuiltinsFeaturesARM( *reinterpret_cast<PhysicalDeviceShaderCoreBuiltinsFeaturesARM const *>( &rhs ) )
70301  {
70302  }
70303 
70305 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
70306 
70308  {
70309  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCoreBuiltinsFeaturesARM const *>( &rhs );
70310  return *this;
70311  }
70312 
70313 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
70315  {
70316  pNext = pNext_;
70317  return *this;
70318  }
70319 
70322  {
70323  shaderCoreBuiltins = shaderCoreBuiltins_;
70324  return *this;
70325  }
70326 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
70327 
70329  {
70330  return *reinterpret_cast<const VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM *>( this );
70331  }
70332 
70334  {
70335  return *reinterpret_cast<VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM *>( this );
70336  }
70337 
70338 #if defined( VULKAN_HPP_USE_REFLECT )
70339 # if 14 <= VULKAN_HPP_CPP_VERSION
70340  auto
70341 # else
70342  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
70343 # endif
70344  reflect() const VULKAN_HPP_NOEXCEPT
70345  {
70346  return std::tie( sType, pNext, shaderCoreBuiltins );
70347  }
70348 #endif
70349 
70350 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
70351  auto operator<=>( PhysicalDeviceShaderCoreBuiltinsFeaturesARM const & ) const = default;
70352 #else
70354  {
70355 # if defined( VULKAN_HPP_USE_REFLECT )
70356  return this->reflect() == rhs.reflect();
70357 # else
70358  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderCoreBuiltins == rhs.shaderCoreBuiltins );
70359 # endif
70360  }
70361 
70363  {
70364  return !operator==( rhs );
70365  }
70366 #endif
70367 
70368  public:
70369  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderCoreBuiltinsFeaturesARM;
70370  void * pNext = {};
70371  VULKAN_HPP_NAMESPACE::Bool32 shaderCoreBuiltins = {};
70372  };
70373 
70374  template <>
70376  {
70378  };
70379 
70381  {
70383 
70384  static const bool allowDuplicate = false;
70385  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderCoreBuiltinsPropertiesARM;
70386 
70387 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
70389  uint32_t shaderCoreCount_ = {},
70390  uint32_t shaderWarpsPerCore_ = {},
70391  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
70392  : pNext( pNext_ )
70393  , shaderCoreMask( shaderCoreMask_ )
70394  , shaderCoreCount( shaderCoreCount_ )
70395  , shaderWarpsPerCore( shaderWarpsPerCore_ )
70396  {
70397  }
70398 
70400  PhysicalDeviceShaderCoreBuiltinsPropertiesARM( PhysicalDeviceShaderCoreBuiltinsPropertiesARM const & rhs ) VULKAN_HPP_NOEXCEPT = default;
70401 
70403  : PhysicalDeviceShaderCoreBuiltinsPropertiesARM( *reinterpret_cast<PhysicalDeviceShaderCoreBuiltinsPropertiesARM const *>( &rhs ) )
70404  {
70405  }
70406 
70408 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
70409 
70411  {
70412  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCoreBuiltinsPropertiesARM const *>( &rhs );
70413  return *this;
70414  }
70415 
70417  {
70418  return *reinterpret_cast<const VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM *>( this );
70419  }
70420 
70422  {
70423  return *reinterpret_cast<VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM *>( this );
70424  }
70425 
70426 #if defined( VULKAN_HPP_USE_REFLECT )
70427 # if 14 <= VULKAN_HPP_CPP_VERSION
70428  auto
70429 # else
70430  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, uint64_t const &, uint32_t const &, uint32_t const &>
70431 # endif
70432  reflect() const VULKAN_HPP_NOEXCEPT
70433  {
70434  return std::tie( sType, pNext, shaderCoreMask, shaderCoreCount, shaderWarpsPerCore );
70435  }
70436 #endif
70437 
70438 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
70439  auto operator<=>( PhysicalDeviceShaderCoreBuiltinsPropertiesARM const & ) const = default;
70440 #else
70442  {
70443 # if defined( VULKAN_HPP_USE_REFLECT )
70444  return this->reflect() == rhs.reflect();
70445 # else
70446  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderCoreMask == rhs.shaderCoreMask ) && ( shaderCoreCount == rhs.shaderCoreCount ) &&
70447  ( shaderWarpsPerCore == rhs.shaderWarpsPerCore );
70448 # endif
70449  }
70450 
70452  {
70453  return !operator==( rhs );
70454  }
70455 #endif
70456 
70457  public:
70458  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderCoreBuiltinsPropertiesARM;
70459  void * pNext = {};
70460  uint64_t shaderCoreMask = {};
70461  uint32_t shaderCoreCount = {};
70462  uint32_t shaderWarpsPerCore = {};
70463  };
70464 
70465  template <>
70467  {
70469  };
70470 
70472  {
70474 
70475  static const bool allowDuplicate = false;
70476  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderCoreProperties2AMD;
70477 
70478 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
70480  uint32_t activeComputeUnitCount_ = {},
70481  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
70482  : pNext( pNext_ )
70483  , shaderCoreFeatures( shaderCoreFeatures_ )
70484  , activeComputeUnitCount( activeComputeUnitCount_ )
70485  {
70486  }
70487 
70488  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderCoreProperties2AMD( PhysicalDeviceShaderCoreProperties2AMD const & rhs ) VULKAN_HPP_NOEXCEPT = default;
70489 
70491  : PhysicalDeviceShaderCoreProperties2AMD( *reinterpret_cast<PhysicalDeviceShaderCoreProperties2AMD const *>( &rhs ) )
70492  {
70493  }
70494 
70496 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
70497 
70499  {
70500  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCoreProperties2AMD const *>( &rhs );
70501  return *this;
70502  }
70503 
70505  {
70506  return *reinterpret_cast<const VkPhysicalDeviceShaderCoreProperties2AMD *>( this );
70507  }
70508 
70510  {
70511  return *reinterpret_cast<VkPhysicalDeviceShaderCoreProperties2AMD *>( this );
70512  }
70513 
70514 #if defined( VULKAN_HPP_USE_REFLECT )
70515 # if 14 <= VULKAN_HPP_CPP_VERSION
70516  auto
70517 # else
70518  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::ShaderCorePropertiesFlagsAMD const &, uint32_t const &>
70519 # endif
70520  reflect() const VULKAN_HPP_NOEXCEPT
70521  {
70522  return std::tie( sType, pNext, shaderCoreFeatures, activeComputeUnitCount );
70523  }
70524 #endif
70525 
70526 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
70527  auto operator<=>( PhysicalDeviceShaderCoreProperties2AMD const & ) const = default;
70528 #else
70530  {
70531 # if defined( VULKAN_HPP_USE_REFLECT )
70532  return this->reflect() == rhs.reflect();
70533 # else
70534  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderCoreFeatures == rhs.shaderCoreFeatures ) &&
70535  ( activeComputeUnitCount == rhs.activeComputeUnitCount );
70536 # endif
70537  }
70538 
70540  {
70541  return !operator==( rhs );
70542  }
70543 #endif
70544 
70545  public:
70546  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderCoreProperties2AMD;
70547  void * pNext = {};
70549  uint32_t activeComputeUnitCount = {};
70550  };
70551 
70552  template <>
70554  {
70556  };
70557 
70559  {
70561 
70562  static const bool allowDuplicate = false;
70563  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderCorePropertiesAMD;
70564 
70565 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
70567  uint32_t shaderArraysPerEngineCount_ = {},
70568  uint32_t computeUnitsPerShaderArray_ = {},
70569  uint32_t simdPerComputeUnit_ = {},
70570  uint32_t wavefrontsPerSimd_ = {},
70571  uint32_t wavefrontSize_ = {},
70572  uint32_t sgprsPerSimd_ = {},
70573  uint32_t minSgprAllocation_ = {},
70574  uint32_t maxSgprAllocation_ = {},
70575  uint32_t sgprAllocationGranularity_ = {},
70576  uint32_t vgprsPerSimd_ = {},
70577  uint32_t minVgprAllocation_ = {},
70578  uint32_t maxVgprAllocation_ = {},
70579  uint32_t vgprAllocationGranularity_ = {},
70580  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
70581  : pNext( pNext_ )
70582  , shaderEngineCount( shaderEngineCount_ )
70583  , shaderArraysPerEngineCount( shaderArraysPerEngineCount_ )
70584  , computeUnitsPerShaderArray( computeUnitsPerShaderArray_ )
70585  , simdPerComputeUnit( simdPerComputeUnit_ )
70586  , wavefrontsPerSimd( wavefrontsPerSimd_ )
70587  , wavefrontSize( wavefrontSize_ )
70588  , sgprsPerSimd( sgprsPerSimd_ )
70589  , minSgprAllocation( minSgprAllocation_ )
70590  , maxSgprAllocation( maxSgprAllocation_ )
70591  , sgprAllocationGranularity( sgprAllocationGranularity_ )
70592  , vgprsPerSimd( vgprsPerSimd_ )
70593  , minVgprAllocation( minVgprAllocation_ )
70594  , maxVgprAllocation( maxVgprAllocation_ )
70595  , vgprAllocationGranularity( vgprAllocationGranularity_ )
70596  {
70597  }
70598 
70599  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderCorePropertiesAMD( PhysicalDeviceShaderCorePropertiesAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default;
70600 
70602  : PhysicalDeviceShaderCorePropertiesAMD( *reinterpret_cast<PhysicalDeviceShaderCorePropertiesAMD const *>( &rhs ) )
70603  {
70604  }
70605 
70607 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
70608 
70610  {
70611  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCorePropertiesAMD const *>( &rhs );
70612  return *this;
70613  }
70614 
70616  {
70617  return *reinterpret_cast<const VkPhysicalDeviceShaderCorePropertiesAMD *>( this );
70618  }
70619 
70621  {
70622  return *reinterpret_cast<VkPhysicalDeviceShaderCorePropertiesAMD *>( this );
70623  }
70624 
70625 #if defined( VULKAN_HPP_USE_REFLECT )
70626 # if 14 <= VULKAN_HPP_CPP_VERSION
70627  auto
70628 # else
70629  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
70630  void * const &,
70631  uint32_t const &,
70632  uint32_t const &,
70633  uint32_t const &,
70634  uint32_t const &,
70635  uint32_t const &,
70636  uint32_t const &,
70637  uint32_t const &,
70638  uint32_t const &,
70639  uint32_t const &,
70640  uint32_t const &,
70641  uint32_t const &,
70642  uint32_t const &,
70643  uint32_t const &,
70644  uint32_t const &>
70645 # endif
70646  reflect() const VULKAN_HPP_NOEXCEPT
70647  {
70648  return std::tie( sType,
70649  pNext,
70650  shaderEngineCount,
70651  shaderArraysPerEngineCount,
70652  computeUnitsPerShaderArray,
70653  simdPerComputeUnit,
70654  wavefrontsPerSimd,
70655  wavefrontSize,
70656  sgprsPerSimd,
70657  minSgprAllocation,
70658  maxSgprAllocation,
70659  sgprAllocationGranularity,
70660  vgprsPerSimd,
70661  minVgprAllocation,
70662  maxVgprAllocation,
70663  vgprAllocationGranularity );
70664  }
70665 #endif
70666 
70667 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
70668  auto operator<=>( PhysicalDeviceShaderCorePropertiesAMD const & ) const = default;
70669 #else
70671  {
70672 # if defined( VULKAN_HPP_USE_REFLECT )
70673  return this->reflect() == rhs.reflect();
70674 # else
70675  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderEngineCount == rhs.shaderEngineCount ) &&
70676  ( shaderArraysPerEngineCount == rhs.shaderArraysPerEngineCount ) && ( computeUnitsPerShaderArray == rhs.computeUnitsPerShaderArray ) &&
70677  ( simdPerComputeUnit == rhs.simdPerComputeUnit ) && ( wavefrontsPerSimd == rhs.wavefrontsPerSimd ) && ( wavefrontSize == rhs.wavefrontSize ) &&
70678  ( sgprsPerSimd == rhs.sgprsPerSimd ) && ( minSgprAllocation == rhs.minSgprAllocation ) && ( maxSgprAllocation == rhs.maxSgprAllocation ) &&
70679  ( sgprAllocationGranularity == rhs.sgprAllocationGranularity ) && ( vgprsPerSimd == rhs.vgprsPerSimd ) &&
70680  ( minVgprAllocation == rhs.minVgprAllocation ) && ( maxVgprAllocation == rhs.maxVgprAllocation ) &&
70681  ( vgprAllocationGranularity == rhs.vgprAllocationGranularity );
70682 # endif
70683  }
70684 
70686  {
70687  return !operator==( rhs );
70688  }
70689 #endif
70690 
70691  public:
70692  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderCorePropertiesAMD;
70693  void * pNext = {};
70694  uint32_t shaderEngineCount = {};
70695  uint32_t shaderArraysPerEngineCount = {};
70696  uint32_t computeUnitsPerShaderArray = {};
70697  uint32_t simdPerComputeUnit = {};
70698  uint32_t wavefrontsPerSimd = {};
70699  uint32_t wavefrontSize = {};
70700  uint32_t sgprsPerSimd = {};
70701  uint32_t minSgprAllocation = {};
70702  uint32_t maxSgprAllocation = {};
70703  uint32_t sgprAllocationGranularity = {};
70704  uint32_t vgprsPerSimd = {};
70705  uint32_t minVgprAllocation = {};
70706  uint32_t maxVgprAllocation = {};
70707  uint32_t vgprAllocationGranularity = {};
70708  };
70709 
70710  template <>
70712  {
70714  };
70715 
70717  {
70719 
70720  static const bool allowDuplicate = false;
70721  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderDemoteToHelperInvocationFeatures;
70722 
70723 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
70725  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
70726  : pNext( pNext_ )
70727  , shaderDemoteToHelperInvocation( shaderDemoteToHelperInvocation_ )
70728  {
70729  }
70730 
70732  PhysicalDeviceShaderDemoteToHelperInvocationFeatures( PhysicalDeviceShaderDemoteToHelperInvocationFeatures const & rhs ) VULKAN_HPP_NOEXCEPT = default;
70733 
70735  : PhysicalDeviceShaderDemoteToHelperInvocationFeatures( *reinterpret_cast<PhysicalDeviceShaderDemoteToHelperInvocationFeatures const *>( &rhs ) )
70736  {
70737  }
70738 
70741 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
70742 
70744  {
70745  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderDemoteToHelperInvocationFeatures const *>( &rhs );
70746  return *this;
70747  }
70748 
70749 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
70751  {
70752  pNext = pNext_;
70753  return *this;
70754  }
70755 
70758  {
70759  shaderDemoteToHelperInvocation = shaderDemoteToHelperInvocation_;
70760  return *this;
70761  }
70762 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
70763 
70765  {
70766  return *reinterpret_cast<const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures *>( this );
70767  }
70768 
70770  {
70771  return *reinterpret_cast<VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures *>( this );
70772  }
70773 
70774 #if defined( VULKAN_HPP_USE_REFLECT )
70775 # if 14 <= VULKAN_HPP_CPP_VERSION
70776  auto
70777 # else
70778  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
70779 # endif
70780  reflect() const VULKAN_HPP_NOEXCEPT
70781  {
70782  return std::tie( sType, pNext, shaderDemoteToHelperInvocation );
70783  }
70784 #endif
70785 
70786 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
70787  auto operator<=>( PhysicalDeviceShaderDemoteToHelperInvocationFeatures const & ) const = default;
70788 #else
70790  {
70791 # if defined( VULKAN_HPP_USE_REFLECT )
70792  return this->reflect() == rhs.reflect();
70793 # else
70794  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderDemoteToHelperInvocation == rhs.shaderDemoteToHelperInvocation );
70795 # endif
70796  }
70797 
70799  {
70800  return !operator==( rhs );
70801  }
70802 #endif
70803 
70804  public:
70805  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderDemoteToHelperInvocationFeatures;
70806  void * pNext = {};
70807  VULKAN_HPP_NAMESPACE::Bool32 shaderDemoteToHelperInvocation = {};
70808  };
70809 
70810  template <>
70812  {
70814  };
70816 
70818  {
70820 
70821  static const bool allowDuplicate = false;
70822  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderDrawParametersFeatures;
70823 
70824 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
70826  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
70827  : pNext( pNext_ )
70828  , shaderDrawParameters( shaderDrawParameters_ )
70829  {
70830  }
70831 
70832  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderDrawParametersFeatures( PhysicalDeviceShaderDrawParametersFeatures const & rhs ) VULKAN_HPP_NOEXCEPT = default;
70833 
70835  : PhysicalDeviceShaderDrawParametersFeatures( *reinterpret_cast<PhysicalDeviceShaderDrawParametersFeatures const *>( &rhs ) )
70836  {
70837  }
70838 
70840 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
70841 
70843  {
70844  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderDrawParametersFeatures const *>( &rhs );
70845  return *this;
70846  }
70847 
70848 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
70850  {
70851  pNext = pNext_;
70852  return *this;
70853  }
70854 
70857  {
70858  shaderDrawParameters = shaderDrawParameters_;
70859  return *this;
70860  }
70861 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
70862 
70864  {
70865  return *reinterpret_cast<const VkPhysicalDeviceShaderDrawParametersFeatures *>( this );
70866  }
70867 
70869  {
70870  return *reinterpret_cast<VkPhysicalDeviceShaderDrawParametersFeatures *>( this );
70871  }
70872 
70873 #if defined( VULKAN_HPP_USE_REFLECT )
70874 # if 14 <= VULKAN_HPP_CPP_VERSION
70875  auto
70876 # else
70877  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
70878 # endif
70879  reflect() const VULKAN_HPP_NOEXCEPT
70880  {
70881  return std::tie( sType, pNext, shaderDrawParameters );
70882  }
70883 #endif
70884 
70885 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
70886  auto operator<=>( PhysicalDeviceShaderDrawParametersFeatures const & ) const = default;
70887 #else
70889  {
70890 # if defined( VULKAN_HPP_USE_REFLECT )
70891  return this->reflect() == rhs.reflect();
70892 # else
70893  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderDrawParameters == rhs.shaderDrawParameters );
70894 # endif
70895  }
70896 
70898  {
70899  return !operator==( rhs );
70900  }
70901 #endif
70902 
70903  public:
70904  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderDrawParametersFeatures;
70905  void * pNext = {};
70906  VULKAN_HPP_NAMESPACE::Bool32 shaderDrawParameters = {};
70907  };
70908 
70909  template <>
70911  {
70913  };
70915 
70917  {
70919 
70920  static const bool allowDuplicate = false;
70921  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD;
70922 
70923 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
70925  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
70926  : pNext( pNext_ )
70927  , shaderEarlyAndLateFragmentTests( shaderEarlyAndLateFragmentTests_ )
70928  {
70929  }
70930 
70931  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD( PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD const & rhs )
70932  VULKAN_HPP_NOEXCEPT = default;
70933 
70935  : PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD( *reinterpret_cast<PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD const *>( &rhs ) )
70936  {
70937  }
70938 
70941 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
70942 
70945  {
70946  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD const *>( &rhs );
70947  return *this;
70948  }
70949 
70950 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
70952  {
70953  pNext = pNext_;
70954  return *this;
70955  }
70956 
70959  {
70960  shaderEarlyAndLateFragmentTests = shaderEarlyAndLateFragmentTests_;
70961  return *this;
70962  }
70963 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
70964 
70966  {
70967  return *reinterpret_cast<const VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD *>( this );
70968  }
70969 
70971  {
70973  }
70974 
70975 #if defined( VULKAN_HPP_USE_REFLECT )
70976 # if 14 <= VULKAN_HPP_CPP_VERSION
70977  auto
70978 # else
70979  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
70980 # endif
70981  reflect() const VULKAN_HPP_NOEXCEPT
70982  {
70983  return std::tie( sType, pNext, shaderEarlyAndLateFragmentTests );
70984  }
70985 #endif
70986 
70987 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
70988  auto operator<=>( PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD const & ) const = default;
70989 #else
70991  {
70992 # if defined( VULKAN_HPP_USE_REFLECT )
70993  return this->reflect() == rhs.reflect();
70994 # else
70995  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderEarlyAndLateFragmentTests == rhs.shaderEarlyAndLateFragmentTests );
70996 # endif
70997  }
70998 
71000  {
71001  return !operator==( rhs );
71002  }
71003 #endif
71004 
71005  public:
71006  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD;
71007  void * pNext = {};
71008  VULKAN_HPP_NAMESPACE::Bool32 shaderEarlyAndLateFragmentTests = {};
71009  };
71010 
71011  template <>
71013  {
71015  };
71016 
71018  {
71020 
71021  static const bool allowDuplicate = false;
71022  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderFloat16Int8Features;
71023 
71024 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
71026  VULKAN_HPP_NAMESPACE::Bool32 shaderInt8_ = {},
71027  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
71028  : pNext( pNext_ )
71029  , shaderFloat16( shaderFloat16_ )
71030  , shaderInt8( shaderInt8_ )
71031  {
71032  }
71033 
71034  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderFloat16Int8Features( PhysicalDeviceShaderFloat16Int8Features const & rhs ) VULKAN_HPP_NOEXCEPT = default;
71035 
71037  : PhysicalDeviceShaderFloat16Int8Features( *reinterpret_cast<PhysicalDeviceShaderFloat16Int8Features const *>( &rhs ) )
71038  {
71039  }
71040 
71042 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
71043 
71045  {
71046  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderFloat16Int8Features const *>( &rhs );
71047  return *this;
71048  }
71049 
71050 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
71052  {
71053  pNext = pNext_;
71054  return *this;
71055  }
71056 
71058  {
71059  shaderFloat16 = shaderFloat16_;
71060  return *this;
71061  }
71062 
71064  {
71065  shaderInt8 = shaderInt8_;
71066  return *this;
71067  }
71068 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
71069 
71071  {
71072  return *reinterpret_cast<const VkPhysicalDeviceShaderFloat16Int8Features *>( this );
71073  }
71074 
71076  {
71077  return *reinterpret_cast<VkPhysicalDeviceShaderFloat16Int8Features *>( this );
71078  }
71079 
71080 #if defined( VULKAN_HPP_USE_REFLECT )
71081 # if 14 <= VULKAN_HPP_CPP_VERSION
71082  auto
71083 # else
71084  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
71085 # endif
71086  reflect() const VULKAN_HPP_NOEXCEPT
71087  {
71088  return std::tie( sType, pNext, shaderFloat16, shaderInt8 );
71089  }
71090 #endif
71091 
71092 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
71093  auto operator<=>( PhysicalDeviceShaderFloat16Int8Features const & ) const = default;
71094 #else
71096  {
71097 # if defined( VULKAN_HPP_USE_REFLECT )
71098  return this->reflect() == rhs.reflect();
71099 # else
71100  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderFloat16 == rhs.shaderFloat16 ) && ( shaderInt8 == rhs.shaderInt8 );
71101 # endif
71102  }
71103 
71105  {
71106  return !operator==( rhs );
71107  }
71108 #endif
71109 
71110  public:
71111  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderFloat16Int8Features;
71112  void * pNext = {};
71113  VULKAN_HPP_NAMESPACE::Bool32 shaderFloat16 = {};
71115  };
71116 
71117  template <>
71119  {
71121  };
71124 
71126  {
71128 
71129  static const bool allowDuplicate = false;
71130  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderImageAtomicInt64FeaturesEXT;
71131 
71132 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
71134  VULKAN_HPP_NAMESPACE::Bool32 sparseImageInt64Atomics_ = {},
71135  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
71136  : pNext( pNext_ )
71137  , shaderImageInt64Atomics( shaderImageInt64Atomics_ )
71138  , sparseImageInt64Atomics( sparseImageInt64Atomics_ )
71139  {
71140  }
71141 
71143  PhysicalDeviceShaderImageAtomicInt64FeaturesEXT( PhysicalDeviceShaderImageAtomicInt64FeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
71144 
71146  : PhysicalDeviceShaderImageAtomicInt64FeaturesEXT( *reinterpret_cast<PhysicalDeviceShaderImageAtomicInt64FeaturesEXT const *>( &rhs ) )
71147  {
71148  }
71149 
71151 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
71152 
71154  {
71155  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderImageAtomicInt64FeaturesEXT const *>( &rhs );
71156  return *this;
71157  }
71158 
71159 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
71161  {
71162  pNext = pNext_;
71163  return *this;
71164  }
71165 
71168  {
71169  shaderImageInt64Atomics = shaderImageInt64Atomics_;
71170  return *this;
71171  }
71172 
71175  {
71176  sparseImageInt64Atomics = sparseImageInt64Atomics_;
71177  return *this;
71178  }
71179 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
71180 
71182  {
71183  return *reinterpret_cast<const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT *>( this );
71184  }
71185 
71187  {
71188  return *reinterpret_cast<VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT *>( this );
71189  }
71190 
71191 #if defined( VULKAN_HPP_USE_REFLECT )
71192 # if 14 <= VULKAN_HPP_CPP_VERSION
71193  auto
71194 # else
71195  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
71196 # endif
71197  reflect() const VULKAN_HPP_NOEXCEPT
71198  {
71199  return std::tie( sType, pNext, shaderImageInt64Atomics, sparseImageInt64Atomics );
71200  }
71201 #endif
71202 
71203 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
71204  auto operator<=>( PhysicalDeviceShaderImageAtomicInt64FeaturesEXT const & ) const = default;
71205 #else
71207  {
71208 # if defined( VULKAN_HPP_USE_REFLECT )
71209  return this->reflect() == rhs.reflect();
71210 # else
71211  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderImageInt64Atomics == rhs.shaderImageInt64Atomics ) &&
71212  ( sparseImageInt64Atomics == rhs.sparseImageInt64Atomics );
71213 # endif
71214  }
71215 
71217  {
71218  return !operator==( rhs );
71219  }
71220 #endif
71221 
71222  public:
71223  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderImageAtomicInt64FeaturesEXT;
71224  void * pNext = {};
71225  VULKAN_HPP_NAMESPACE::Bool32 shaderImageInt64Atomics = {};
71226  VULKAN_HPP_NAMESPACE::Bool32 sparseImageInt64Atomics = {};
71227  };
71228 
71229  template <>
71231  {
71233  };
71234 
71236  {
71238 
71239  static const bool allowDuplicate = false;
71240  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderImageFootprintFeaturesNV;
71241 
71242 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
71244  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
71245  : pNext( pNext_ )
71246  , imageFootprint( imageFootprint_ )
71247  {
71248  }
71249 
71250  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderImageFootprintFeaturesNV( PhysicalDeviceShaderImageFootprintFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
71251 
71253  : PhysicalDeviceShaderImageFootprintFeaturesNV( *reinterpret_cast<PhysicalDeviceShaderImageFootprintFeaturesNV const *>( &rhs ) )
71254  {
71255  }
71256 
71258 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
71259 
71261  {
71262  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderImageFootprintFeaturesNV const *>( &rhs );
71263  return *this;
71264  }
71265 
71266 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
71268  {
71269  pNext = pNext_;
71270  return *this;
71271  }
71272 
71274  {
71275  imageFootprint = imageFootprint_;
71276  return *this;
71277  }
71278 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
71279 
71281  {
71282  return *reinterpret_cast<const VkPhysicalDeviceShaderImageFootprintFeaturesNV *>( this );
71283  }
71284 
71286  {
71287  return *reinterpret_cast<VkPhysicalDeviceShaderImageFootprintFeaturesNV *>( this );
71288  }
71289 
71290 #if defined( VULKAN_HPP_USE_REFLECT )
71291 # if 14 <= VULKAN_HPP_CPP_VERSION
71292  auto
71293 # else
71294  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
71295 # endif
71296  reflect() const VULKAN_HPP_NOEXCEPT
71297  {
71298  return std::tie( sType, pNext, imageFootprint );
71299  }
71300 #endif
71301 
71302 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
71303  auto operator<=>( PhysicalDeviceShaderImageFootprintFeaturesNV const & ) const = default;
71304 #else
71306  {
71307 # if defined( VULKAN_HPP_USE_REFLECT )
71308  return this->reflect() == rhs.reflect();
71309 # else
71310  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( imageFootprint == rhs.imageFootprint );
71311 # endif
71312  }
71313 
71315  {
71316  return !operator==( rhs );
71317  }
71318 #endif
71319 
71320  public:
71321  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderImageFootprintFeaturesNV;
71322  void * pNext = {};
71323  VULKAN_HPP_NAMESPACE::Bool32 imageFootprint = {};
71324  };
71325 
71326  template <>
71328  {
71330  };
71331 
71333  {
71335 
71336  static const bool allowDuplicate = false;
71337  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderIntegerDotProductFeatures;
71338 
71339 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
71341  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
71342  : pNext( pNext_ )
71343  , shaderIntegerDotProduct( shaderIntegerDotProduct_ )
71344  {
71345  }
71346 
71348  PhysicalDeviceShaderIntegerDotProductFeatures( PhysicalDeviceShaderIntegerDotProductFeatures const & rhs ) VULKAN_HPP_NOEXCEPT = default;
71349 
71351  : PhysicalDeviceShaderIntegerDotProductFeatures( *reinterpret_cast<PhysicalDeviceShaderIntegerDotProductFeatures const *>( &rhs ) )
71352  {
71353  }
71354 
71356 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
71357 
71359  {
71360  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderIntegerDotProductFeatures const *>( &rhs );
71361  return *this;
71362  }
71363 
71364 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
71366  {
71367  pNext = pNext_;
71368  return *this;
71369  }
71370 
71373  {
71374  shaderIntegerDotProduct = shaderIntegerDotProduct_;
71375  return *this;
71376  }
71377 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
71378 
71380  {
71381  return *reinterpret_cast<const VkPhysicalDeviceShaderIntegerDotProductFeatures *>( this );
71382  }
71383 
71385  {
71386  return *reinterpret_cast<VkPhysicalDeviceShaderIntegerDotProductFeatures *>( this );
71387  }
71388 
71389 #if defined( VULKAN_HPP_USE_REFLECT )
71390 # if 14 <= VULKAN_HPP_CPP_VERSION
71391  auto
71392 # else
71393  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
71394 # endif
71395  reflect() const VULKAN_HPP_NOEXCEPT
71396  {
71397  return std::tie( sType, pNext, shaderIntegerDotProduct );
71398  }
71399 #endif
71400 
71401 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
71402  auto operator<=>( PhysicalDeviceShaderIntegerDotProductFeatures const & ) const = default;
71403 #else
71405  {
71406 # if defined( VULKAN_HPP_USE_REFLECT )
71407  return this->reflect() == rhs.reflect();
71408 # else
71409  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderIntegerDotProduct == rhs.shaderIntegerDotProduct );
71410 # endif
71411  }
71412 
71414  {
71415  return !operator==( rhs );
71416  }
71417 #endif
71418 
71419  public:
71420  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderIntegerDotProductFeatures;
71421  void * pNext = {};
71422  VULKAN_HPP_NAMESPACE::Bool32 shaderIntegerDotProduct = {};
71423  };
71424 
71425  template <>
71427  {
71429  };
71431 
71433  {
71435 
71436  static const bool allowDuplicate = false;
71437  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderIntegerDotProductProperties;
71438 
71439 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
71441  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct8BitUnsignedAccelerated_ = {},
71442  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct8BitSignedAccelerated_ = {},
71443  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct8BitMixedSignednessAccelerated_ = {},
71444  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct4x8BitPackedUnsignedAccelerated_ = {},
71445  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct4x8BitPackedSignedAccelerated_ = {},
71446  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated_ = {},
71447  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct16BitUnsignedAccelerated_ = {},
71448  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct16BitSignedAccelerated_ = {},
71449  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct16BitMixedSignednessAccelerated_ = {},
71450  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct32BitUnsignedAccelerated_ = {},
71451  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct32BitSignedAccelerated_ = {},
71452  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct32BitMixedSignednessAccelerated_ = {},
71453  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct64BitUnsignedAccelerated_ = {},
71454  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct64BitSignedAccelerated_ = {},
71455  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct64BitMixedSignednessAccelerated_ = {},
71456  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated_ = {},
71457  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated_ = {},
71458  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated_ = {},
71459  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated_ = {},
71460  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated_ = {},
71461  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated_ = {},
71462  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated_ = {},
71463  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated_ = {},
71464  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated_ = {},
71465  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated_ = {},
71466  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated_ = {},
71467  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated_ = {},
71468  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated_ = {},
71469  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated_ = {},
71470  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated_ = {},
71471  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
71472  : pNext( pNext_ )
71473  , integerDotProduct8BitUnsignedAccelerated( integerDotProduct8BitUnsignedAccelerated_ )
71474  , integerDotProduct8BitSignedAccelerated( integerDotProduct8BitSignedAccelerated_ )
71475  , integerDotProduct8BitMixedSignednessAccelerated( integerDotProduct8BitMixedSignednessAccelerated_ )
71476  , integerDotProduct4x8BitPackedUnsignedAccelerated( integerDotProduct4x8BitPackedUnsignedAccelerated_ )
71477  , integerDotProduct4x8BitPackedSignedAccelerated( integerDotProduct4x8BitPackedSignedAccelerated_ )
71478  , integerDotProduct4x8BitPackedMixedSignednessAccelerated( integerDotProduct4x8BitPackedMixedSignednessAccelerated_ )
71479  , integerDotProduct16BitUnsignedAccelerated( integerDotProduct16BitUnsignedAccelerated_ )
71480  , integerDotProduct16BitSignedAccelerated( integerDotProduct16BitSignedAccelerated_ )
71481  , integerDotProduct16BitMixedSignednessAccelerated( integerDotProduct16BitMixedSignednessAccelerated_ )
71482  , integerDotProduct32BitUnsignedAccelerated( integerDotProduct32BitUnsignedAccelerated_ )
71483  , integerDotProduct32BitSignedAccelerated( integerDotProduct32BitSignedAccelerated_ )
71484  , integerDotProduct32BitMixedSignednessAccelerated( integerDotProduct32BitMixedSignednessAccelerated_ )
71485  , integerDotProduct64BitUnsignedAccelerated( integerDotProduct64BitUnsignedAccelerated_ )
71486  , integerDotProduct64BitSignedAccelerated( integerDotProduct64BitSignedAccelerated_ )
71487  , integerDotProduct64BitMixedSignednessAccelerated( integerDotProduct64BitMixedSignednessAccelerated_ )
71488  , integerDotProductAccumulatingSaturating8BitUnsignedAccelerated( integerDotProductAccumulatingSaturating8BitUnsignedAccelerated_ )
71489  , integerDotProductAccumulatingSaturating8BitSignedAccelerated( integerDotProductAccumulatingSaturating8BitSignedAccelerated_ )
71490  , integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated( integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated_ )
71491  , integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated( integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated_ )
71492  , integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated( integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated_ )
71493  , integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated(
71494  integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated_ )
71495  , integerDotProductAccumulatingSaturating16BitUnsignedAccelerated( integerDotProductAccumulatingSaturating16BitUnsignedAccelerated_ )
71496  , integerDotProductAccumulatingSaturating16BitSignedAccelerated( integerDotProductAccumulatingSaturating16BitSignedAccelerated_ )
71497  , integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated( integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated_ )
71498  , integerDotProductAccumulatingSaturating32BitUnsignedAccelerated( integerDotProductAccumulatingSaturating32BitUnsignedAccelerated_ )
71499  , integerDotProductAccumulatingSaturating32BitSignedAccelerated( integerDotProductAccumulatingSaturating32BitSignedAccelerated_ )
71500  , integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated( integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated_ )
71501  , integerDotProductAccumulatingSaturating64BitUnsignedAccelerated( integerDotProductAccumulatingSaturating64BitUnsignedAccelerated_ )
71502  , integerDotProductAccumulatingSaturating64BitSignedAccelerated( integerDotProductAccumulatingSaturating64BitSignedAccelerated_ )
71503  , integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated( integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated_ )
71504  {
71505  }
71506 
71508  PhysicalDeviceShaderIntegerDotProductProperties( PhysicalDeviceShaderIntegerDotProductProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
71509 
71511  : PhysicalDeviceShaderIntegerDotProductProperties( *reinterpret_cast<PhysicalDeviceShaderIntegerDotProductProperties const *>( &rhs ) )
71512  {
71513  }
71514 
71516 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
71517 
71519  {
71520  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderIntegerDotProductProperties const *>( &rhs );
71521  return *this;
71522  }
71523 
71525  {
71526  return *reinterpret_cast<const VkPhysicalDeviceShaderIntegerDotProductProperties *>( this );
71527  }
71528 
71530  {
71531  return *reinterpret_cast<VkPhysicalDeviceShaderIntegerDotProductProperties *>( this );
71532  }
71533 
71534 #if defined( VULKAN_HPP_USE_REFLECT )
71535 # if 14 <= VULKAN_HPP_CPP_VERSION
71536  auto
71537 # else
71538  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
71539  void * const &,
71570 # endif
71571  reflect() const VULKAN_HPP_NOEXCEPT
71572  {
71573  return std::tie( sType,
71574  pNext,
71575  integerDotProduct8BitUnsignedAccelerated,
71576  integerDotProduct8BitSignedAccelerated,
71577  integerDotProduct8BitMixedSignednessAccelerated,
71578  integerDotProduct4x8BitPackedUnsignedAccelerated,
71579  integerDotProduct4x8BitPackedSignedAccelerated,
71580  integerDotProduct4x8BitPackedMixedSignednessAccelerated,
71581  integerDotProduct16BitUnsignedAccelerated,
71582  integerDotProduct16BitSignedAccelerated,
71583  integerDotProduct16BitMixedSignednessAccelerated,
71584  integerDotProduct32BitUnsignedAccelerated,
71585  integerDotProduct32BitSignedAccelerated,
71586  integerDotProduct32BitMixedSignednessAccelerated,
71587  integerDotProduct64BitUnsignedAccelerated,
71588  integerDotProduct64BitSignedAccelerated,
71589  integerDotProduct64BitMixedSignednessAccelerated,
71590  integerDotProductAccumulatingSaturating8BitUnsignedAccelerated,
71591  integerDotProductAccumulatingSaturating8BitSignedAccelerated,
71592  integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated,
71593  integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated,
71594  integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated,
71595  integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated,
71596  integerDotProductAccumulatingSaturating16BitUnsignedAccelerated,
71597  integerDotProductAccumulatingSaturating16BitSignedAccelerated,
71598  integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated,
71599  integerDotProductAccumulatingSaturating32BitUnsignedAccelerated,
71600  integerDotProductAccumulatingSaturating32BitSignedAccelerated,
71601  integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated,
71602  integerDotProductAccumulatingSaturating64BitUnsignedAccelerated,
71603  integerDotProductAccumulatingSaturating64BitSignedAccelerated,
71604  integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated );
71605  }
71606 #endif
71607 
71608 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
71609  auto operator<=>( PhysicalDeviceShaderIntegerDotProductProperties const & ) const = default;
71610 #else
71612  {
71613 # if defined( VULKAN_HPP_USE_REFLECT )
71614  return this->reflect() == rhs.reflect();
71615 # else
71616  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( integerDotProduct8BitUnsignedAccelerated == rhs.integerDotProduct8BitUnsignedAccelerated ) &&
71617  ( integerDotProduct8BitSignedAccelerated == rhs.integerDotProduct8BitSignedAccelerated ) &&
71618  ( integerDotProduct8BitMixedSignednessAccelerated == rhs.integerDotProduct8BitMixedSignednessAccelerated ) &&
71619  ( integerDotProduct4x8BitPackedUnsignedAccelerated == rhs.integerDotProduct4x8BitPackedUnsignedAccelerated ) &&
71620  ( integerDotProduct4x8BitPackedSignedAccelerated == rhs.integerDotProduct4x8BitPackedSignedAccelerated ) &&
71621  ( integerDotProduct4x8BitPackedMixedSignednessAccelerated == rhs.integerDotProduct4x8BitPackedMixedSignednessAccelerated ) &&
71622  ( integerDotProduct16BitUnsignedAccelerated == rhs.integerDotProduct16BitUnsignedAccelerated ) &&
71623  ( integerDotProduct16BitSignedAccelerated == rhs.integerDotProduct16BitSignedAccelerated ) &&
71624  ( integerDotProduct16BitMixedSignednessAccelerated == rhs.integerDotProduct16BitMixedSignednessAccelerated ) &&
71625  ( integerDotProduct32BitUnsignedAccelerated == rhs.integerDotProduct32BitUnsignedAccelerated ) &&
71626  ( integerDotProduct32BitSignedAccelerated == rhs.integerDotProduct32BitSignedAccelerated ) &&
71627  ( integerDotProduct32BitMixedSignednessAccelerated == rhs.integerDotProduct32BitMixedSignednessAccelerated ) &&
71628  ( integerDotProduct64BitUnsignedAccelerated == rhs.integerDotProduct64BitUnsignedAccelerated ) &&
71629  ( integerDotProduct64BitSignedAccelerated == rhs.integerDotProduct64BitSignedAccelerated ) &&
71630  ( integerDotProduct64BitMixedSignednessAccelerated == rhs.integerDotProduct64BitMixedSignednessAccelerated ) &&
71631  ( integerDotProductAccumulatingSaturating8BitUnsignedAccelerated == rhs.integerDotProductAccumulatingSaturating8BitUnsignedAccelerated ) &&
71632  ( integerDotProductAccumulatingSaturating8BitSignedAccelerated == rhs.integerDotProductAccumulatingSaturating8BitSignedAccelerated ) &&
71633  ( integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated ==
71634  rhs.integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated ) &&
71635  ( integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated ==
71636  rhs.integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated ) &&
71637  ( integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated ==
71638  rhs.integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated ) &&
71639  ( integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated ==
71640  rhs.integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated ) &&
71641  ( integerDotProductAccumulatingSaturating16BitUnsignedAccelerated == rhs.integerDotProductAccumulatingSaturating16BitUnsignedAccelerated ) &&
71642  ( integerDotProductAccumulatingSaturating16BitSignedAccelerated == rhs.integerDotProductAccumulatingSaturating16BitSignedAccelerated ) &&
71643  ( integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated ==
71644  rhs.integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated ) &&
71645  ( integerDotProductAccumulatingSaturating32BitUnsignedAccelerated == rhs.integerDotProductAccumulatingSaturating32BitUnsignedAccelerated ) &&
71646  ( integerDotProductAccumulatingSaturating32BitSignedAccelerated == rhs.integerDotProductAccumulatingSaturating32BitSignedAccelerated ) &&
71647  ( integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated ==
71648  rhs.integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated ) &&
71649  ( integerDotProductAccumulatingSaturating64BitUnsignedAccelerated == rhs.integerDotProductAccumulatingSaturating64BitUnsignedAccelerated ) &&
71650  ( integerDotProductAccumulatingSaturating64BitSignedAccelerated == rhs.integerDotProductAccumulatingSaturating64BitSignedAccelerated ) &&
71651  ( integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated ==
71652  rhs.integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated );
71653 # endif
71654  }
71655 
71657  {
71658  return !operator==( rhs );
71659  }
71660 #endif
71661 
71662  public:
71663  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderIntegerDotProductProperties;
71664  void * pNext = {};
71665  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct8BitUnsignedAccelerated = {};
71666  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct8BitSignedAccelerated = {};
71667  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct8BitMixedSignednessAccelerated = {};
71668  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct4x8BitPackedUnsignedAccelerated = {};
71669  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct4x8BitPackedSignedAccelerated = {};
71670  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated = {};
71671  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct16BitUnsignedAccelerated = {};
71672  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct16BitSignedAccelerated = {};
71673  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct16BitMixedSignednessAccelerated = {};
71674  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct32BitUnsignedAccelerated = {};
71675  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct32BitSignedAccelerated = {};
71676  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct32BitMixedSignednessAccelerated = {};
71677  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct64BitUnsignedAccelerated = {};
71678  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct64BitSignedAccelerated = {};
71679  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct64BitMixedSignednessAccelerated = {};
71680  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated = {};
71681  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated = {};
71682  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated = {};
71683  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated = {};
71684  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated = {};
71685  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated = {};
71686  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated = {};
71687  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated = {};
71688  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated = {};
71689  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated = {};
71690  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated = {};
71691  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated = {};
71692  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated = {};
71693  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated = {};
71694  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated = {};
71695  };
71696 
71697  template <>
71699  {
71701  };
71703 
71705  {
71707 
71708  static const bool allowDuplicate = false;
71709  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
71710 
71711 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
71713  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
71714  : pNext( pNext_ )
71715  , shaderIntegerFunctions2( shaderIntegerFunctions2_ )
71716  {
71717  }
71718 
71720  PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL( PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL const & rhs ) VULKAN_HPP_NOEXCEPT = default;
71721 
71723  : PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL( *reinterpret_cast<PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL const *>( &rhs ) )
71724  {
71725  }
71726 
71729 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
71730 
71732  {
71733  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL const *>( &rhs );
71734  return *this;
71735  }
71736 
71737 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
71739  {
71740  pNext = pNext_;
71741  return *this;
71742  }
71743 
71746  {
71747  shaderIntegerFunctions2 = shaderIntegerFunctions2_;
71748  return *this;
71749  }
71750 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
71751 
71753  {
71754  return *reinterpret_cast<const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL *>( this );
71755  }
71756 
71758  {
71759  return *reinterpret_cast<VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL *>( this );
71760  }
71761 
71762 #if defined( VULKAN_HPP_USE_REFLECT )
71763 # if 14 <= VULKAN_HPP_CPP_VERSION
71764  auto
71765 # else
71766  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
71767 # endif
71768  reflect() const VULKAN_HPP_NOEXCEPT
71769  {
71770  return std::tie( sType, pNext, shaderIntegerFunctions2 );
71771  }
71772 #endif
71773 
71774 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
71775  auto operator<=>( PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL const & ) const = default;
71776 #else
71778  {
71779 # if defined( VULKAN_HPP_USE_REFLECT )
71780  return this->reflect() == rhs.reflect();
71781 # else
71782  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderIntegerFunctions2 == rhs.shaderIntegerFunctions2 );
71783 # endif
71784  }
71785 
71787  {
71788  return !operator==( rhs );
71789  }
71790 #endif
71791 
71792  public:
71793  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
71794  void * pNext = {};
71795  VULKAN_HPP_NAMESPACE::Bool32 shaderIntegerFunctions2 = {};
71796  };
71797 
71798  template <>
71800  {
71802  };
71803 
71805  {
71807 
71808  static const bool allowDuplicate = false;
71809  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderModuleIdentifierFeaturesEXT;
71810 
71811 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
71813  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
71814  : pNext( pNext_ )
71815  , shaderModuleIdentifier( shaderModuleIdentifier_ )
71816  {
71817  }
71818 
71820  PhysicalDeviceShaderModuleIdentifierFeaturesEXT( PhysicalDeviceShaderModuleIdentifierFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
71821 
71823  : PhysicalDeviceShaderModuleIdentifierFeaturesEXT( *reinterpret_cast<PhysicalDeviceShaderModuleIdentifierFeaturesEXT const *>( &rhs ) )
71824  {
71825  }
71826 
71828 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
71829 
71831  {
71832  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderModuleIdentifierFeaturesEXT const *>( &rhs );
71833  return *this;
71834  }
71835 
71836 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
71838  {
71839  pNext = pNext_;
71840  return *this;
71841  }
71842 
71845  {
71846  shaderModuleIdentifier = shaderModuleIdentifier_;
71847  return *this;
71848  }
71849 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
71850 
71852  {
71853  return *reinterpret_cast<const VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT *>( this );
71854  }
71855 
71857  {
71858  return *reinterpret_cast<VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT *>( this );
71859  }
71860 
71861 #if defined( VULKAN_HPP_USE_REFLECT )
71862 # if 14 <= VULKAN_HPP_CPP_VERSION
71863  auto
71864 # else
71865  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
71866 # endif
71867  reflect() const VULKAN_HPP_NOEXCEPT
71868  {
71869  return std::tie( sType, pNext, shaderModuleIdentifier );
71870  }
71871 #endif
71872 
71873 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
71874  auto operator<=>( PhysicalDeviceShaderModuleIdentifierFeaturesEXT const & ) const = default;
71875 #else
71877  {
71878 # if defined( VULKAN_HPP_USE_REFLECT )
71879  return this->reflect() == rhs.reflect();
71880 # else
71881  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderModuleIdentifier == rhs.shaderModuleIdentifier );
71882 # endif
71883  }
71884 
71886  {
71887  return !operator==( rhs );
71888  }
71889 #endif
71890 
71891  public:
71892  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderModuleIdentifierFeaturesEXT;
71893  void * pNext = {};
71894  VULKAN_HPP_NAMESPACE::Bool32 shaderModuleIdentifier = {};
71895  };
71896 
71897  template <>
71899  {
71901  };
71902 
71904  {
71906 
71907  static const bool allowDuplicate = false;
71908  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderModuleIdentifierPropertiesEXT;
71909 
71910 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
71912  PhysicalDeviceShaderModuleIdentifierPropertiesEXT( std::array<uint8_t, VK_UUID_SIZE> const & shaderModuleIdentifierAlgorithmUUID_ = {},
71913  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
71914  : pNext( pNext_ )
71915  , shaderModuleIdentifierAlgorithmUUID( shaderModuleIdentifierAlgorithmUUID_ )
71916  {
71917  }
71918 
71920  PhysicalDeviceShaderModuleIdentifierPropertiesEXT( PhysicalDeviceShaderModuleIdentifierPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
71921 
71923  : PhysicalDeviceShaderModuleIdentifierPropertiesEXT( *reinterpret_cast<PhysicalDeviceShaderModuleIdentifierPropertiesEXT const *>( &rhs ) )
71924  {
71925  }
71926 
71929 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
71930 
71932  {
71933  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderModuleIdentifierPropertiesEXT const *>( &rhs );
71934  return *this;
71935  }
71936 
71938  {
71939  return *reinterpret_cast<const VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT *>( this );
71940  }
71941 
71943  {
71944  return *reinterpret_cast<VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT *>( this );
71945  }
71946 
71947 #if defined( VULKAN_HPP_USE_REFLECT )
71948 # if 14 <= VULKAN_HPP_CPP_VERSION
71949  auto
71950 # else
71951  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, VK_UUID_SIZE> const &>
71952 # endif
71953  reflect() const VULKAN_HPP_NOEXCEPT
71954  {
71955  return std::tie( sType, pNext, shaderModuleIdentifierAlgorithmUUID );
71956  }
71957 #endif
71958 
71959 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
71960  auto operator<=>( PhysicalDeviceShaderModuleIdentifierPropertiesEXT const & ) const = default;
71961 #else
71963  {
71964 # if defined( VULKAN_HPP_USE_REFLECT )
71965  return this->reflect() == rhs.reflect();
71966 # else
71967  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderModuleIdentifierAlgorithmUUID == rhs.shaderModuleIdentifierAlgorithmUUID );
71968 # endif
71969  }
71970 
71972  {
71973  return !operator==( rhs );
71974  }
71975 #endif
71976 
71977  public:
71978  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderModuleIdentifierPropertiesEXT;
71979  void * pNext = {};
71980  VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, VK_UUID_SIZE> shaderModuleIdentifierAlgorithmUUID = {};
71981  };
71982 
71983  template <>
71985  {
71987  };
71988 
71990  {
71992 
71993  static const bool allowDuplicate = false;
71994  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderSmBuiltinsFeaturesNV;
71995 
71996 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
71998  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
71999  : pNext( pNext_ )
72000  , shaderSMBuiltins( shaderSMBuiltins_ )
72001  {
72002  }
72003 
72004  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderSMBuiltinsFeaturesNV( PhysicalDeviceShaderSMBuiltinsFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
72005 
72007  : PhysicalDeviceShaderSMBuiltinsFeaturesNV( *reinterpret_cast<PhysicalDeviceShaderSMBuiltinsFeaturesNV const *>( &rhs ) )
72008  {
72009  }
72010 
72012 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
72013 
72015  {
72016  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSMBuiltinsFeaturesNV const *>( &rhs );
72017  return *this;
72018  }
72019 
72020 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
72022  {
72023  pNext = pNext_;
72024  return *this;
72025  }
72026 
72028  {
72029  shaderSMBuiltins = shaderSMBuiltins_;
72030  return *this;
72031  }
72032 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
72033 
72035  {
72036  return *reinterpret_cast<const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV *>( this );
72037  }
72038 
72040  {
72041  return *reinterpret_cast<VkPhysicalDeviceShaderSMBuiltinsFeaturesNV *>( this );
72042  }
72043 
72044 #if defined( VULKAN_HPP_USE_REFLECT )
72045 # if 14 <= VULKAN_HPP_CPP_VERSION
72046  auto
72047 # else
72048  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
72049 # endif
72050  reflect() const VULKAN_HPP_NOEXCEPT
72051  {
72052  return std::tie( sType, pNext, shaderSMBuiltins );
72053  }
72054 #endif
72055 
72056 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
72057  auto operator<=>( PhysicalDeviceShaderSMBuiltinsFeaturesNV const & ) const = default;
72058 #else
72060  {
72061 # if defined( VULKAN_HPP_USE_REFLECT )
72062  return this->reflect() == rhs.reflect();
72063 # else
72064  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderSMBuiltins == rhs.shaderSMBuiltins );
72065 # endif
72066  }
72067 
72069  {
72070  return !operator==( rhs );
72071  }
72072 #endif
72073 
72074  public:
72075  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderSmBuiltinsFeaturesNV;
72076  void * pNext = {};
72077  VULKAN_HPP_NAMESPACE::Bool32 shaderSMBuiltins = {};
72078  };
72079 
72080  template <>
72082  {
72084  };
72085 
72087  {
72089 
72090  static const bool allowDuplicate = false;
72091  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderSmBuiltinsPropertiesNV;
72092 
72093 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
72095  PhysicalDeviceShaderSMBuiltinsPropertiesNV( uint32_t shaderSMCount_ = {}, uint32_t shaderWarpsPerSM_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
72096  : pNext( pNext_ )
72097  , shaderSMCount( shaderSMCount_ )
72098  , shaderWarpsPerSM( shaderWarpsPerSM_ )
72099  {
72100  }
72101 
72102  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderSMBuiltinsPropertiesNV( PhysicalDeviceShaderSMBuiltinsPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
72103 
72105  : PhysicalDeviceShaderSMBuiltinsPropertiesNV( *reinterpret_cast<PhysicalDeviceShaderSMBuiltinsPropertiesNV const *>( &rhs ) )
72106  {
72107  }
72108 
72110 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
72111 
72113  {
72114  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSMBuiltinsPropertiesNV const *>( &rhs );
72115  return *this;
72116  }
72117 
72119  {
72120  return *reinterpret_cast<const VkPhysicalDeviceShaderSMBuiltinsPropertiesNV *>( this );
72121  }
72122 
72124  {
72125  return *reinterpret_cast<VkPhysicalDeviceShaderSMBuiltinsPropertiesNV *>( this );
72126  }
72127 
72128 #if defined( VULKAN_HPP_USE_REFLECT )
72129 # if 14 <= VULKAN_HPP_CPP_VERSION
72130  auto
72131 # else
72132  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, uint32_t const &, uint32_t const &>
72133 # endif
72134  reflect() const VULKAN_HPP_NOEXCEPT
72135  {
72136  return std::tie( sType, pNext, shaderSMCount, shaderWarpsPerSM );
72137  }
72138 #endif
72139 
72140 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
72141  auto operator<=>( PhysicalDeviceShaderSMBuiltinsPropertiesNV const & ) const = default;
72142 #else
72144  {
72145 # if defined( VULKAN_HPP_USE_REFLECT )
72146  return this->reflect() == rhs.reflect();
72147 # else
72148  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderSMCount == rhs.shaderSMCount ) && ( shaderWarpsPerSM == rhs.shaderWarpsPerSM );
72149 # endif
72150  }
72151 
72153  {
72154  return !operator==( rhs );
72155  }
72156 #endif
72157 
72158  public:
72159  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderSmBuiltinsPropertiesNV;
72160  void * pNext = {};
72161  uint32_t shaderSMCount = {};
72162  uint32_t shaderWarpsPerSM = {};
72163  };
72164 
72165  template <>
72167  {
72169  };
72170 
72172  {
72174 
72175  static const bool allowDuplicate = false;
72176  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderSubgroupExtendedTypesFeatures;
72177 
72178 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
72180  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
72181  : pNext( pNext_ )
72182  , shaderSubgroupExtendedTypes( shaderSubgroupExtendedTypes_ )
72183  {
72184  }
72185 
72187  PhysicalDeviceShaderSubgroupExtendedTypesFeatures( PhysicalDeviceShaderSubgroupExtendedTypesFeatures const & rhs ) VULKAN_HPP_NOEXCEPT = default;
72188 
72190  : PhysicalDeviceShaderSubgroupExtendedTypesFeatures( *reinterpret_cast<PhysicalDeviceShaderSubgroupExtendedTypesFeatures const *>( &rhs ) )
72191  {
72192  }
72193 
72196 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
72197 
72199  {
72200  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSubgroupExtendedTypesFeatures const *>( &rhs );
72201  return *this;
72202  }
72203 
72204 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
72206  {
72207  pNext = pNext_;
72208  return *this;
72209  }
72210 
72213  {
72214  shaderSubgroupExtendedTypes = shaderSubgroupExtendedTypes_;
72215  return *this;
72216  }
72217 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
72218 
72220  {
72221  return *reinterpret_cast<const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *>( this );
72222  }
72223 
72225  {
72226  return *reinterpret_cast<VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *>( this );
72227  }
72228 
72229 #if defined( VULKAN_HPP_USE_REFLECT )
72230 # if 14 <= VULKAN_HPP_CPP_VERSION
72231  auto
72232 # else
72233  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
72234 # endif
72235  reflect() const VULKAN_HPP_NOEXCEPT
72236  {
72237  return std::tie( sType, pNext, shaderSubgroupExtendedTypes );
72238  }
72239 #endif
72240 
72241 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
72242  auto operator<=>( PhysicalDeviceShaderSubgroupExtendedTypesFeatures const & ) const = default;
72243 #else
72245  {
72246 # if defined( VULKAN_HPP_USE_REFLECT )
72247  return this->reflect() == rhs.reflect();
72248 # else
72249  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderSubgroupExtendedTypes == rhs.shaderSubgroupExtendedTypes );
72250 # endif
72251  }
72252 
72254  {
72255  return !operator==( rhs );
72256  }
72257 #endif
72258 
72259  public:
72260  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderSubgroupExtendedTypesFeatures;
72261  void * pNext = {};
72262  VULKAN_HPP_NAMESPACE::Bool32 shaderSubgroupExtendedTypes = {};
72263  };
72264 
72265  template <>
72267  {
72269  };
72271 
72273  {
72275 
72276  static const bool allowDuplicate = false;
72277  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR;
72278 
72279 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
72281  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
72282  : pNext( pNext_ )
72283  , shaderSubgroupUniformControlFlow( shaderSubgroupUniformControlFlow_ )
72284  {
72285  }
72286 
72287  VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR( PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR const & rhs )
72288  VULKAN_HPP_NOEXCEPT = default;
72289 
72292  *reinterpret_cast<PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR const *>( &rhs ) )
72293  {
72294  }
72295 
72298 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
72299 
72302  {
72304  return *this;
72305  }
72306 
72307 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
72309  {
72310  pNext = pNext_;
72311  return *this;
72312  }
72313 
72316  {
72317  shaderSubgroupUniformControlFlow = shaderSubgroupUniformControlFlow_;
72318  return *this;
72319  }
72320 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
72321 
72323  {
72324  return *reinterpret_cast<const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR *>( this );
72325  }
72326 
72328  {
72330  }
72331 
72332 #if defined( VULKAN_HPP_USE_REFLECT )
72333 # if 14 <= VULKAN_HPP_CPP_VERSION
72334  auto
72335 # else
72336  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
72337 # endif
72338  reflect() const VULKAN_HPP_NOEXCEPT
72339  {
72340  return std::tie( sType, pNext, shaderSubgroupUniformControlFlow );
72341  }
72342 #endif
72343 
72344 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
72345  auto operator<=>( PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR const & ) const = default;
72346 #else
72348  {
72349 # if defined( VULKAN_HPP_USE_REFLECT )
72350  return this->reflect() == rhs.reflect();
72351 # else
72352  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderSubgroupUniformControlFlow == rhs.shaderSubgroupUniformControlFlow );
72353 # endif
72354  }
72355 
72357  {
72358  return !operator==( rhs );
72359  }
72360 #endif
72361 
72362  public:
72363  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR;
72364  void * pNext = {};
72365  VULKAN_HPP_NAMESPACE::Bool32 shaderSubgroupUniformControlFlow = {};
72366  };
72367 
72368  template <>
72370  {
72372  };
72373 
72375  {
72377 
72378  static const bool allowDuplicate = false;
72379  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderTerminateInvocationFeatures;
72380 
72381 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
72383  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
72384  : pNext( pNext_ )
72385  , shaderTerminateInvocation( shaderTerminateInvocation_ )
72386  {
72387  }
72388 
72390  PhysicalDeviceShaderTerminateInvocationFeatures( PhysicalDeviceShaderTerminateInvocationFeatures const & rhs ) VULKAN_HPP_NOEXCEPT = default;
72391 
72393  : PhysicalDeviceShaderTerminateInvocationFeatures( *reinterpret_cast<PhysicalDeviceShaderTerminateInvocationFeatures const *>( &rhs ) )
72394  {
72395  }
72396 
72398 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
72399 
72401  {
72402  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderTerminateInvocationFeatures const *>( &rhs );
72403  return *this;
72404  }
72405 
72406 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
72408  {
72409  pNext = pNext_;
72410  return *this;
72411  }
72412 
72415  {
72416  shaderTerminateInvocation = shaderTerminateInvocation_;
72417  return *this;
72418  }
72419 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
72420 
72422  {
72423  return *reinterpret_cast<const VkPhysicalDeviceShaderTerminateInvocationFeatures *>( this );
72424  }
72425 
72427  {
72428  return *reinterpret_cast<VkPhysicalDeviceShaderTerminateInvocationFeatures *>( this );
72429  }
72430 
72431 #if defined( VULKAN_HPP_USE_REFLECT )
72432 # if 14 <= VULKAN_HPP_CPP_VERSION
72433  auto
72434 # else
72435  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
72436 # endif
72437  reflect() const VULKAN_HPP_NOEXCEPT
72438  {
72439  return std::tie( sType, pNext, shaderTerminateInvocation );
72440  }
72441 #endif
72442 
72443 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
72444  auto operator<=>( PhysicalDeviceShaderTerminateInvocationFeatures const & ) const = default;
72445 #else
72447  {
72448 # if defined( VULKAN_HPP_USE_REFLECT )
72449  return this->reflect() == rhs.reflect();
72450 # else
72451  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderTerminateInvocation == rhs.shaderTerminateInvocation );
72452 # endif
72453  }
72454 
72456  {
72457  return !operator==( rhs );
72458  }
72459 #endif
72460 
72461  public:
72462  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShaderTerminateInvocationFeatures;
72463  void * pNext = {};
72464  VULKAN_HPP_NAMESPACE::Bool32 shaderTerminateInvocation = {};
72465  };
72466 
72467  template <>
72469  {
72471  };
72473 
72475  {
72477 
72478  static const bool allowDuplicate = false;
72479  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShadingRateImageFeaturesNV;
72480 
72481 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
72483  VULKAN_HPP_NAMESPACE::Bool32 shadingRateCoarseSampleOrder_ = {},
72484  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
72485  : pNext( pNext_ )
72486  , shadingRateImage( shadingRateImage_ )
72487  , shadingRateCoarseSampleOrder( shadingRateCoarseSampleOrder_ )
72488  {
72489  }
72490 
72491  VULKAN_HPP_CONSTEXPR PhysicalDeviceShadingRateImageFeaturesNV( PhysicalDeviceShadingRateImageFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
72492 
72494  : PhysicalDeviceShadingRateImageFeaturesNV( *reinterpret_cast<PhysicalDeviceShadingRateImageFeaturesNV const *>( &rhs ) )
72495  {
72496  }
72497 
72499 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
72500 
72502  {
72503  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShadingRateImageFeaturesNV const *>( &rhs );
72504  return *this;
72505  }
72506 
72507 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
72509  {
72510  pNext = pNext_;
72511  return *this;
72512  }
72513 
72515  {
72516  shadingRateImage = shadingRateImage_;
72517  return *this;
72518  }
72519 
72522  {
72523  shadingRateCoarseSampleOrder = shadingRateCoarseSampleOrder_;
72524  return *this;
72525  }
72526 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
72527 
72529  {
72530  return *reinterpret_cast<const VkPhysicalDeviceShadingRateImageFeaturesNV *>( this );
72531  }
72532 
72534  {
72535  return *reinterpret_cast<VkPhysicalDeviceShadingRateImageFeaturesNV *>( this );
72536  }
72537 
72538 #if defined( VULKAN_HPP_USE_REFLECT )
72539 # if 14 <= VULKAN_HPP_CPP_VERSION
72540  auto
72541 # else
72542  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
72543 # endif
72544  reflect() const VULKAN_HPP_NOEXCEPT
72545  {
72546  return std::tie( sType, pNext, shadingRateImage, shadingRateCoarseSampleOrder );
72547  }
72548 #endif
72549 
72550 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
72551  auto operator<=>( PhysicalDeviceShadingRateImageFeaturesNV const & ) const = default;
72552 #else
72554  {
72555 # if defined( VULKAN_HPP_USE_REFLECT )
72556  return this->reflect() == rhs.reflect();
72557 # else
72558  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shadingRateImage == rhs.shadingRateImage ) &&
72559  ( shadingRateCoarseSampleOrder == rhs.shadingRateCoarseSampleOrder );
72560 # endif
72561  }
72562 
72564  {
72565  return !operator==( rhs );
72566  }
72567 #endif
72568 
72569  public:
72570  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShadingRateImageFeaturesNV;
72571  void * pNext = {};
72572  VULKAN_HPP_NAMESPACE::Bool32 shadingRateImage = {};
72573  VULKAN_HPP_NAMESPACE::Bool32 shadingRateCoarseSampleOrder = {};
72574  };
72575 
72576  template <>
72578  {
72580  };
72581 
72583  {
72585 
72586  static const bool allowDuplicate = false;
72587  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShadingRateImagePropertiesNV;
72588 
72589 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
72591  uint32_t shadingRatePaletteSize_ = {},
72592  uint32_t shadingRateMaxCoarseSamples_ = {},
72593  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
72594  : pNext( pNext_ )
72595  , shadingRateTexelSize( shadingRateTexelSize_ )
72596  , shadingRatePaletteSize( shadingRatePaletteSize_ )
72597  , shadingRateMaxCoarseSamples( shadingRateMaxCoarseSamples_ )
72598  {
72599  }
72600 
72601  VULKAN_HPP_CONSTEXPR PhysicalDeviceShadingRateImagePropertiesNV( PhysicalDeviceShadingRateImagePropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
72602 
72604  : PhysicalDeviceShadingRateImagePropertiesNV( *reinterpret_cast<PhysicalDeviceShadingRateImagePropertiesNV const *>( &rhs ) )
72605  {
72606  }
72607 
72609 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
72610 
72612  {
72613  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceShadingRateImagePropertiesNV const *>( &rhs );
72614  return *this;
72615  }
72616 
72618  {
72619  return *reinterpret_cast<const VkPhysicalDeviceShadingRateImagePropertiesNV *>( this );
72620  }
72621 
72623  {
72624  return *reinterpret_cast<VkPhysicalDeviceShadingRateImagePropertiesNV *>( this );
72625  }
72626 
72627 #if defined( VULKAN_HPP_USE_REFLECT )
72628 # if 14 <= VULKAN_HPP_CPP_VERSION
72629  auto
72630 # else
72631  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Extent2D const &, uint32_t const &, uint32_t const &>
72632 # endif
72633  reflect() const VULKAN_HPP_NOEXCEPT
72634  {
72635  return std::tie( sType, pNext, shadingRateTexelSize, shadingRatePaletteSize, shadingRateMaxCoarseSamples );
72636  }
72637 #endif
72638 
72639 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
72640  auto operator<=>( PhysicalDeviceShadingRateImagePropertiesNV const & ) const = default;
72641 #else
72643  {
72644 # if defined( VULKAN_HPP_USE_REFLECT )
72645  return this->reflect() == rhs.reflect();
72646 # else
72647  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shadingRateTexelSize == rhs.shadingRateTexelSize ) &&
72648  ( shadingRatePaletteSize == rhs.shadingRatePaletteSize ) && ( shadingRateMaxCoarseSamples == rhs.shadingRateMaxCoarseSamples );
72649 # endif
72650  }
72651 
72653  {
72654  return !operator==( rhs );
72655  }
72656 #endif
72657 
72658  public:
72659  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceShadingRateImagePropertiesNV;
72660  void * pNext = {};
72661  VULKAN_HPP_NAMESPACE::Extent2D shadingRateTexelSize = {};
72662  uint32_t shadingRatePaletteSize = {};
72663  uint32_t shadingRateMaxCoarseSamples = {};
72664  };
72665 
72666  template <>
72668  {
72670  };
72671 
72673  {
72675 
72676  static const bool allowDuplicate = false;
72677  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceSparseImageFormatInfo2;
72678 
72679 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
72686  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
72687  : pNext( pNext_ )
72688  , format( format_ )
72689  , type( type_ )
72690  , samples( samples_ )
72691  , usage( usage_ )
72692  , tiling( tiling_ )
72693  {
72694  }
72695 
72696  VULKAN_HPP_CONSTEXPR PhysicalDeviceSparseImageFormatInfo2( PhysicalDeviceSparseImageFormatInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
72697 
72699  : PhysicalDeviceSparseImageFormatInfo2( *reinterpret_cast<PhysicalDeviceSparseImageFormatInfo2 const *>( &rhs ) )
72700  {
72701  }
72702 
72704 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
72705 
72707  {
72708  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 const *>( &rhs );
72709  return *this;
72710  }
72711 
72712 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
72714  {
72715  pNext = pNext_;
72716  return *this;
72717  }
72718 
72720  {
72721  format = format_;
72722  return *this;
72723  }
72724 
72726  {
72727  type = type_;
72728  return *this;
72729  }
72730 
72732  {
72733  samples = samples_;
72734  return *this;
72735  }
72736 
72738  {
72739  usage = usage_;
72740  return *this;
72741  }
72742 
72744  {
72745  tiling = tiling_;
72746  return *this;
72747  }
72748 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
72749 
72751  {
72752  return *reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( this );
72753  }
72754 
72756  {
72757  return *reinterpret_cast<VkPhysicalDeviceSparseImageFormatInfo2 *>( this );
72758  }
72759 
72760 #if defined( VULKAN_HPP_USE_REFLECT )
72761 # if 14 <= VULKAN_HPP_CPP_VERSION
72762  auto
72763 # else
72764  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
72765  const void * const &,
72771 # endif
72772  reflect() const VULKAN_HPP_NOEXCEPT
72773  {
72774  return std::tie( sType, pNext, format, type, samples, usage, tiling );
72775  }
72776 #endif
72777 
72778 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
72779  auto operator<=>( PhysicalDeviceSparseImageFormatInfo2 const & ) const = default;
72780 #else
72782  {
72783 # if defined( VULKAN_HPP_USE_REFLECT )
72784  return this->reflect() == rhs.reflect();
72785 # else
72786  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( format == rhs.format ) && ( type == rhs.type ) && ( samples == rhs.samples ) &&
72787  ( usage == rhs.usage ) && ( tiling == rhs.tiling );
72788 # endif
72789  }
72790 
72792  {
72793  return !operator==( rhs );
72794  }
72795 #endif
72796 
72797  public:
72798  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceSparseImageFormatInfo2;
72799  const void * pNext = {};
72805  };
72806 
72807  template <>
72809  {
72811  };
72813 
72815  {
72817 
72818  static const bool allowDuplicate = false;
72819  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceSubgroupProperties;
72820 
72821 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
72823  VULKAN_HPP_NAMESPACE::ShaderStageFlags supportedStages_ = {},
72824  VULKAN_HPP_NAMESPACE::SubgroupFeatureFlags supportedOperations_ = {},
72825  VULKAN_HPP_NAMESPACE::Bool32 quadOperationsInAllStages_ = {},
72826  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
72827  : pNext( pNext_ )
72828  , subgroupSize( subgroupSize_ )
72829  , supportedStages( supportedStages_ )
72830  , supportedOperations( supportedOperations_ )
72831  , quadOperationsInAllStages( quadOperationsInAllStages_ )
72832  {
72833  }
72834 
72835  VULKAN_HPP_CONSTEXPR PhysicalDeviceSubgroupProperties( PhysicalDeviceSubgroupProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
72836 
72838  : PhysicalDeviceSubgroupProperties( *reinterpret_cast<PhysicalDeviceSubgroupProperties const *>( &rhs ) )
72839  {
72840  }
72841 
72843 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
72844 
72846  {
72847  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceSubgroupProperties const *>( &rhs );
72848  return *this;
72849  }
72850 
72852  {
72853  return *reinterpret_cast<const VkPhysicalDeviceSubgroupProperties *>( this );
72854  }
72855 
72857  {
72858  return *reinterpret_cast<VkPhysicalDeviceSubgroupProperties *>( this );
72859  }
72860 
72861 #if defined( VULKAN_HPP_USE_REFLECT )
72862 # if 14 <= VULKAN_HPP_CPP_VERSION
72863  auto
72864 # else
72865  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
72866  void * const &,
72867  uint32_t const &,
72871 # endif
72872  reflect() const VULKAN_HPP_NOEXCEPT
72873  {
72874  return std::tie( sType, pNext, subgroupSize, supportedStages, supportedOperations, quadOperationsInAllStages );
72875  }
72876 #endif
72877 
72878 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
72879  auto operator<=>( PhysicalDeviceSubgroupProperties const & ) const = default;
72880 #else
72882  {
72883 # if defined( VULKAN_HPP_USE_REFLECT )
72884  return this->reflect() == rhs.reflect();
72885 # else
72886  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( subgroupSize == rhs.subgroupSize ) && ( supportedStages == rhs.supportedStages ) &&
72887  ( supportedOperations == rhs.supportedOperations ) && ( quadOperationsInAllStages == rhs.quadOperationsInAllStages );
72888 # endif
72889  }
72890 
72892  {
72893  return !operator==( rhs );
72894  }
72895 #endif
72896 
72897  public:
72898  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceSubgroupProperties;
72899  void * pNext = {};
72900  uint32_t subgroupSize = {};
72903  VULKAN_HPP_NAMESPACE::Bool32 quadOperationsInAllStages = {};
72904  };
72905 
72906  template <>
72908  {
72910  };
72911 
72913  {
72915 
72916  static const bool allowDuplicate = false;
72917  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceSubgroupSizeControlFeatures;
72918 
72919 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
72921  VULKAN_HPP_NAMESPACE::Bool32 computeFullSubgroups_ = {},
72922  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
72923  : pNext( pNext_ )
72924  , subgroupSizeControl( subgroupSizeControl_ )
72925  , computeFullSubgroups( computeFullSubgroups_ )
72926  {
72927  }
72928 
72929  VULKAN_HPP_CONSTEXPR PhysicalDeviceSubgroupSizeControlFeatures( PhysicalDeviceSubgroupSizeControlFeatures const & rhs ) VULKAN_HPP_NOEXCEPT = default;
72930 
72932  : PhysicalDeviceSubgroupSizeControlFeatures( *reinterpret_cast<PhysicalDeviceSubgroupSizeControlFeatures const *>( &rhs ) )
72933  {
72934  }
72935 
72937 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
72938 
72940  {
72941  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceSubgroupSizeControlFeatures const *>( &rhs );
72942  return *this;
72943  }
72944 
72945 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
72947  {
72948  pNext = pNext_;
72949  return *this;
72950  }
72951 
72954  {
72955  subgroupSizeControl = subgroupSizeControl_;
72956  return *this;
72957  }
72958 
72961  {
72962  computeFullSubgroups = computeFullSubgroups_;
72963  return *this;
72964  }
72965 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
72966 
72968  {
72969  return *reinterpret_cast<const VkPhysicalDeviceSubgroupSizeControlFeatures *>( this );
72970  }
72971 
72973  {
72974  return *reinterpret_cast<VkPhysicalDeviceSubgroupSizeControlFeatures *>( this );
72975  }
72976 
72977 #if defined( VULKAN_HPP_USE_REFLECT )
72978 # if 14 <= VULKAN_HPP_CPP_VERSION
72979  auto
72980 # else
72981  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
72982 # endif
72983  reflect() const VULKAN_HPP_NOEXCEPT
72984  {
72985  return std::tie( sType, pNext, subgroupSizeControl, computeFullSubgroups );
72986  }
72987 #endif
72988 
72989 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
72990  auto operator<=>( PhysicalDeviceSubgroupSizeControlFeatures const & ) const = default;
72991 #else
72993  {
72994 # if defined( VULKAN_HPP_USE_REFLECT )
72995  return this->reflect() == rhs.reflect();
72996 # else
72997  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( subgroupSizeControl == rhs.subgroupSizeControl ) &&
72998  ( computeFullSubgroups == rhs.computeFullSubgroups );
72999 # endif
73000  }
73001 
73003  {
73004  return !operator==( rhs );
73005  }
73006 #endif
73007 
73008  public:
73009  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceSubgroupSizeControlFeatures;
73010  void * pNext = {};
73011  VULKAN_HPP_NAMESPACE::Bool32 subgroupSizeControl = {};
73012  VULKAN_HPP_NAMESPACE::Bool32 computeFullSubgroups = {};
73013  };
73014 
73015  template <>
73017  {
73019  };
73021 
73023  {
73025 
73026  static const bool allowDuplicate = false;
73027  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceSubgroupSizeControlProperties;
73028 
73029 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
73031  uint32_t maxSubgroupSize_ = {},
73032  uint32_t maxComputeWorkgroupSubgroups_ = {},
73033  VULKAN_HPP_NAMESPACE::ShaderStageFlags requiredSubgroupSizeStages_ = {},
73034  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
73035  : pNext( pNext_ )
73036  , minSubgroupSize( minSubgroupSize_ )
73037  , maxSubgroupSize( maxSubgroupSize_ )
73038  , maxComputeWorkgroupSubgroups( maxComputeWorkgroupSubgroups_ )
73039  , requiredSubgroupSizeStages( requiredSubgroupSizeStages_ )
73040  {
73041  }
73042 
73043  VULKAN_HPP_CONSTEXPR PhysicalDeviceSubgroupSizeControlProperties( PhysicalDeviceSubgroupSizeControlProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
73044 
73046  : PhysicalDeviceSubgroupSizeControlProperties( *reinterpret_cast<PhysicalDeviceSubgroupSizeControlProperties const *>( &rhs ) )
73047  {
73048  }
73049 
73051 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
73052 
73054  {
73055  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceSubgroupSizeControlProperties const *>( &rhs );
73056  return *this;
73057  }
73058 
73060  {
73061  return *reinterpret_cast<const VkPhysicalDeviceSubgroupSizeControlProperties *>( this );
73062  }
73063 
73065  {
73066  return *reinterpret_cast<VkPhysicalDeviceSubgroupSizeControlProperties *>( this );
73067  }
73068 
73069 #if defined( VULKAN_HPP_USE_REFLECT )
73070 # if 14 <= VULKAN_HPP_CPP_VERSION
73071  auto
73072 # else
73073  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
73074  void * const &,
73075  uint32_t const &,
73076  uint32_t const &,
73077  uint32_t const &,
73079 # endif
73080  reflect() const VULKAN_HPP_NOEXCEPT
73081  {
73082  return std::tie( sType, pNext, minSubgroupSize, maxSubgroupSize, maxComputeWorkgroupSubgroups, requiredSubgroupSizeStages );
73083  }
73084 #endif
73085 
73086 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
73087  auto operator<=>( PhysicalDeviceSubgroupSizeControlProperties const & ) const = default;
73088 #else
73090  {
73091 # if defined( VULKAN_HPP_USE_REFLECT )
73092  return this->reflect() == rhs.reflect();
73093 # else
73094  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( minSubgroupSize == rhs.minSubgroupSize ) && ( maxSubgroupSize == rhs.maxSubgroupSize ) &&
73095  ( maxComputeWorkgroupSubgroups == rhs.maxComputeWorkgroupSubgroups ) && ( requiredSubgroupSizeStages == rhs.requiredSubgroupSizeStages );
73096 # endif
73097  }
73098 
73100  {
73101  return !operator==( rhs );
73102  }
73103 #endif
73104 
73105  public:
73106  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceSubgroupSizeControlProperties;
73107  void * pNext = {};
73108  uint32_t minSubgroupSize = {};
73109  uint32_t maxSubgroupSize = {};
73110  uint32_t maxComputeWorkgroupSubgroups = {};
73111  VULKAN_HPP_NAMESPACE::ShaderStageFlags requiredSubgroupSizeStages = {};
73112  };
73113 
73114  template <>
73116  {
73118  };
73120 
73122  {
73124 
73125  static const bool allowDuplicate = false;
73126  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceSubpassMergeFeedbackFeaturesEXT;
73127 
73128 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
73130  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
73131  : pNext( pNext_ )
73132  , subpassMergeFeedback( subpassMergeFeedback_ )
73133  {
73134  }
73135 
73137  PhysicalDeviceSubpassMergeFeedbackFeaturesEXT( PhysicalDeviceSubpassMergeFeedbackFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
73138 
73140  : PhysicalDeviceSubpassMergeFeedbackFeaturesEXT( *reinterpret_cast<PhysicalDeviceSubpassMergeFeedbackFeaturesEXT const *>( &rhs ) )
73141  {
73142  }
73143 
73145 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
73146 
73148  {
73149  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceSubpassMergeFeedbackFeaturesEXT const *>( &rhs );
73150  return *this;
73151  }
73152 
73153 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
73155  {
73156  pNext = pNext_;
73157  return *this;
73158  }
73159 
73162  {
73163  subpassMergeFeedback = subpassMergeFeedback_;
73164  return *this;
73165  }
73166 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
73167 
73169  {
73170  return *reinterpret_cast<const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT *>( this );
73171  }
73172 
73174  {
73175  return *reinterpret_cast<VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT *>( this );
73176  }
73177 
73178 #if defined( VULKAN_HPP_USE_REFLECT )
73179 # if 14 <= VULKAN_HPP_CPP_VERSION
73180  auto
73181 # else
73182  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
73183 # endif
73184  reflect() const VULKAN_HPP_NOEXCEPT
73185  {
73186  return std::tie( sType, pNext, subpassMergeFeedback );
73187  }
73188 #endif
73189 
73190 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
73191  auto operator<=>( PhysicalDeviceSubpassMergeFeedbackFeaturesEXT const & ) const = default;
73192 #else
73194  {
73195 # if defined( VULKAN_HPP_USE_REFLECT )
73196  return this->reflect() == rhs.reflect();
73197 # else
73198  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( subpassMergeFeedback == rhs.subpassMergeFeedback );
73199 # endif
73200  }
73201 
73203  {
73204  return !operator==( rhs );
73205  }
73206 #endif
73207 
73208  public:
73209  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceSubpassMergeFeedbackFeaturesEXT;
73210  void * pNext = {};
73211  VULKAN_HPP_NAMESPACE::Bool32 subpassMergeFeedback = {};
73212  };
73213 
73214  template <>
73216  {
73218  };
73219 
73221  {
73223 
73224  static const bool allowDuplicate = false;
73225  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceSubpassShadingFeaturesHUAWEI;
73226 
73227 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
73229  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
73230  : pNext( pNext_ )
73231  , subpassShading( subpassShading_ )
73232  {
73233  }
73234 
73235  VULKAN_HPP_CONSTEXPR PhysicalDeviceSubpassShadingFeaturesHUAWEI( PhysicalDeviceSubpassShadingFeaturesHUAWEI const & rhs ) VULKAN_HPP_NOEXCEPT = default;
73236 
73238  : PhysicalDeviceSubpassShadingFeaturesHUAWEI( *reinterpret_cast<PhysicalDeviceSubpassShadingFeaturesHUAWEI const *>( &rhs ) )
73239  {
73240  }
73241 
73243 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
73244 
73246  {
73247  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceSubpassShadingFeaturesHUAWEI const *>( &rhs );
73248  return *this;
73249  }
73250 
73251 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
73253  {
73254  pNext = pNext_;
73255  return *this;
73256  }
73257 
73259  {
73260  subpassShading = subpassShading_;
73261  return *this;
73262  }
73263 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
73264 
73266  {
73267  return *reinterpret_cast<const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI *>( this );
73268  }
73269 
73271  {
73272  return *reinterpret_cast<VkPhysicalDeviceSubpassShadingFeaturesHUAWEI *>( this );
73273  }
73274 
73275 #if defined( VULKAN_HPP_USE_REFLECT )
73276 # if 14 <= VULKAN_HPP_CPP_VERSION
73277  auto
73278 # else
73279  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
73280 # endif
73281  reflect() const VULKAN_HPP_NOEXCEPT
73282  {
73283  return std::tie( sType, pNext, subpassShading );
73284  }
73285 #endif
73286 
73287 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
73288  auto operator<=>( PhysicalDeviceSubpassShadingFeaturesHUAWEI const & ) const = default;
73289 #else
73291  {
73292 # if defined( VULKAN_HPP_USE_REFLECT )
73293  return this->reflect() == rhs.reflect();
73294 # else
73295  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( subpassShading == rhs.subpassShading );
73296 # endif
73297  }
73298 
73300  {
73301  return !operator==( rhs );
73302  }
73303 #endif
73304 
73305  public:
73306  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceSubpassShadingFeaturesHUAWEI;
73307  void * pNext = {};
73308  VULKAN_HPP_NAMESPACE::Bool32 subpassShading = {};
73309  };
73310 
73311  template <>
73313  {
73315  };
73316 
73318  {
73320 
73321  static const bool allowDuplicate = false;
73322  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceSubpassShadingPropertiesHUAWEI;
73323 
73324 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
73325  VULKAN_HPP_CONSTEXPR PhysicalDeviceSubpassShadingPropertiesHUAWEI( uint32_t maxSubpassShadingWorkgroupSizeAspectRatio_ = {},
73326  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
73327  : pNext( pNext_ )
73328  , maxSubpassShadingWorkgroupSizeAspectRatio( maxSubpassShadingWorkgroupSizeAspectRatio_ )
73329  {
73330  }
73331 
73332  VULKAN_HPP_CONSTEXPR PhysicalDeviceSubpassShadingPropertiesHUAWEI( PhysicalDeviceSubpassShadingPropertiesHUAWEI const & rhs ) VULKAN_HPP_NOEXCEPT = default;
73333 
73335  : PhysicalDeviceSubpassShadingPropertiesHUAWEI( *reinterpret_cast<PhysicalDeviceSubpassShadingPropertiesHUAWEI const *>( &rhs ) )
73336  {
73337  }
73338 
73340 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
73341 
73343  {
73344  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceSubpassShadingPropertiesHUAWEI const *>( &rhs );
73345  return *this;
73346  }
73347 
73349  {
73350  return *reinterpret_cast<const VkPhysicalDeviceSubpassShadingPropertiesHUAWEI *>( this );
73351  }
73352 
73354  {
73355  return *reinterpret_cast<VkPhysicalDeviceSubpassShadingPropertiesHUAWEI *>( this );
73356  }
73357 
73358 #if defined( VULKAN_HPP_USE_REFLECT )
73359 # if 14 <= VULKAN_HPP_CPP_VERSION
73360  auto
73361 # else
73362  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, uint32_t const &>
73363 # endif
73364  reflect() const VULKAN_HPP_NOEXCEPT
73365  {
73366  return std::tie( sType, pNext, maxSubpassShadingWorkgroupSizeAspectRatio );
73367  }
73368 #endif
73369 
73370 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
73371  auto operator<=>( PhysicalDeviceSubpassShadingPropertiesHUAWEI const & ) const = default;
73372 #else
73374  {
73375 # if defined( VULKAN_HPP_USE_REFLECT )
73376  return this->reflect() == rhs.reflect();
73377 # else
73378  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxSubpassShadingWorkgroupSizeAspectRatio == rhs.maxSubpassShadingWorkgroupSizeAspectRatio );
73379 # endif
73380  }
73381 
73383  {
73384  return !operator==( rhs );
73385  }
73386 #endif
73387 
73388  public:
73389  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceSubpassShadingPropertiesHUAWEI;
73390  void * pNext = {};
73391  uint32_t maxSubpassShadingWorkgroupSizeAspectRatio = {};
73392  };
73393 
73394  template <>
73396  {
73398  };
73399 
73401  {
73403 
73404  static const bool allowDuplicate = false;
73405  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceSurfaceInfo2KHR;
73406 
73407 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
73409  : pNext( pNext_ )
73410  , surface( surface_ )
73411  {
73412  }
73413 
73414  VULKAN_HPP_CONSTEXPR PhysicalDeviceSurfaceInfo2KHR( PhysicalDeviceSurfaceInfo2KHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
73415 
73417  : PhysicalDeviceSurfaceInfo2KHR( *reinterpret_cast<PhysicalDeviceSurfaceInfo2KHR const *>( &rhs ) )
73418  {
73419  }
73420 
73422 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
73423 
73425  {
73426  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR const *>( &rhs );
73427  return *this;
73428  }
73429 
73430 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
73432  {
73433  pNext = pNext_;
73434  return *this;
73435  }
73436 
73438  {
73439  surface = surface_;
73440  return *this;
73441  }
73442 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
73443 
73445  {
73446  return *reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( this );
73447  }
73448 
73450  {
73451  return *reinterpret_cast<VkPhysicalDeviceSurfaceInfo2KHR *>( this );
73452  }
73453 
73454 #if defined( VULKAN_HPP_USE_REFLECT )
73455 # if 14 <= VULKAN_HPP_CPP_VERSION
73456  auto
73457 # else
73458  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::SurfaceKHR const &>
73459 # endif
73460  reflect() const VULKAN_HPP_NOEXCEPT
73461  {
73462  return std::tie( sType, pNext, surface );
73463  }
73464 #endif
73465 
73466 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
73467  auto operator<=>( PhysicalDeviceSurfaceInfo2KHR const & ) const = default;
73468 #else
73470  {
73471 # if defined( VULKAN_HPP_USE_REFLECT )
73472  return this->reflect() == rhs.reflect();
73473 # else
73474  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( surface == rhs.surface );
73475 # endif
73476  }
73477 
73479  {
73480  return !operator==( rhs );
73481  }
73482 #endif
73483 
73484  public:
73485  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceSurfaceInfo2KHR;
73486  const void * pNext = {};
73488  };
73489 
73490  template <>
73492  {
73494  };
73495 
73497  {
73499 
73500  static const bool allowDuplicate = false;
73501  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceSynchronization2Features;
73502 
73503 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
73505  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
73506  : pNext( pNext_ )
73507  , synchronization2( synchronization2_ )
73508  {
73509  }
73510 
73511  VULKAN_HPP_CONSTEXPR PhysicalDeviceSynchronization2Features( PhysicalDeviceSynchronization2Features const & rhs ) VULKAN_HPP_NOEXCEPT = default;
73512 
73514  : PhysicalDeviceSynchronization2Features( *reinterpret_cast<PhysicalDeviceSynchronization2Features const *>( &rhs ) )
73515  {
73516  }
73517 
73519 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
73520 
73522  {
73523  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceSynchronization2Features const *>( &rhs );
73524  return *this;
73525  }
73526 
73527 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
73529  {
73530  pNext = pNext_;
73531  return *this;
73532  }
73533 
73535  {
73536  synchronization2 = synchronization2_;
73537  return *this;
73538  }
73539 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
73540 
73542  {
73543  return *reinterpret_cast<const VkPhysicalDeviceSynchronization2Features *>( this );
73544  }
73545 
73547  {
73548  return *reinterpret_cast<VkPhysicalDeviceSynchronization2Features *>( this );
73549  }
73550 
73551 #if defined( VULKAN_HPP_USE_REFLECT )
73552 # if 14 <= VULKAN_HPP_CPP_VERSION
73553  auto
73554 # else
73555  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
73556 # endif
73557  reflect() const VULKAN_HPP_NOEXCEPT
73558  {
73559  return std::tie( sType, pNext, synchronization2 );
73560  }
73561 #endif
73562 
73563 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
73564  auto operator<=>( PhysicalDeviceSynchronization2Features const & ) const = default;
73565 #else
73567  {
73568 # if defined( VULKAN_HPP_USE_REFLECT )
73569  return this->reflect() == rhs.reflect();
73570 # else
73571  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( synchronization2 == rhs.synchronization2 );
73572 # endif
73573  }
73574 
73576  {
73577  return !operator==( rhs );
73578  }
73579 #endif
73580 
73581  public:
73582  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceSynchronization2Features;
73583  void * pNext = {};
73584  VULKAN_HPP_NAMESPACE::Bool32 synchronization2 = {};
73585  };
73586 
73587  template <>
73589  {
73591  };
73593 
73595  {
73597 
73598  static const bool allowDuplicate = false;
73599  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceTexelBufferAlignmentFeaturesEXT;
73600 
73601 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
73603  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
73604  : pNext( pNext_ )
73605  , texelBufferAlignment( texelBufferAlignment_ )
73606  {
73607  }
73608 
73610  PhysicalDeviceTexelBufferAlignmentFeaturesEXT( PhysicalDeviceTexelBufferAlignmentFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
73611 
73613  : PhysicalDeviceTexelBufferAlignmentFeaturesEXT( *reinterpret_cast<PhysicalDeviceTexelBufferAlignmentFeaturesEXT const *>( &rhs ) )
73614  {
73615  }
73616 
73618 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
73619 
73621  {
73622  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceTexelBufferAlignmentFeaturesEXT const *>( &rhs );
73623  return *this;
73624  }
73625 
73626 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
73628  {
73629  pNext = pNext_;
73630  return *this;
73631  }
73632 
73635  {
73636  texelBufferAlignment = texelBufferAlignment_;
73637  return *this;
73638  }
73639 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
73640 
73642  {
73643  return *reinterpret_cast<const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *>( this );
73644  }
73645 
73647  {
73648  return *reinterpret_cast<VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *>( this );
73649  }
73650 
73651 #if defined( VULKAN_HPP_USE_REFLECT )
73652 # if 14 <= VULKAN_HPP_CPP_VERSION
73653  auto
73654 # else
73655  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
73656 # endif
73657  reflect() const VULKAN_HPP_NOEXCEPT
73658  {
73659  return std::tie( sType, pNext, texelBufferAlignment );
73660  }
73661 #endif
73662 
73663 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
73664  auto operator<=>( PhysicalDeviceTexelBufferAlignmentFeaturesEXT const & ) const = default;
73665 #else
73667  {
73668 # if defined( VULKAN_HPP_USE_REFLECT )
73669  return this->reflect() == rhs.reflect();
73670 # else
73671  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( texelBufferAlignment == rhs.texelBufferAlignment );
73672 # endif
73673  }
73674 
73676  {
73677  return !operator==( rhs );
73678  }
73679 #endif
73680 
73681  public:
73682  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceTexelBufferAlignmentFeaturesEXT;
73683  void * pNext = {};
73684  VULKAN_HPP_NAMESPACE::Bool32 texelBufferAlignment = {};
73685  };
73686 
73687  template <>
73689  {
73691  };
73692 
73694  {
73696 
73697  static const bool allowDuplicate = false;
73698  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceTexelBufferAlignmentProperties;
73699 
73700 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
73702  VULKAN_HPP_NAMESPACE::Bool32 storageTexelBufferOffsetSingleTexelAlignment_ = {},
73703  VULKAN_HPP_NAMESPACE::DeviceSize uniformTexelBufferOffsetAlignmentBytes_ = {},
73704  VULKAN_HPP_NAMESPACE::Bool32 uniformTexelBufferOffsetSingleTexelAlignment_ = {},
73705  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
73706  : pNext( pNext_ )
73707  , storageTexelBufferOffsetAlignmentBytes( storageTexelBufferOffsetAlignmentBytes_ )
73708  , storageTexelBufferOffsetSingleTexelAlignment( storageTexelBufferOffsetSingleTexelAlignment_ )
73709  , uniformTexelBufferOffsetAlignmentBytes( uniformTexelBufferOffsetAlignmentBytes_ )
73710  , uniformTexelBufferOffsetSingleTexelAlignment( uniformTexelBufferOffsetSingleTexelAlignment_ )
73711  {
73712  }
73713 
73714  VULKAN_HPP_CONSTEXPR PhysicalDeviceTexelBufferAlignmentProperties( PhysicalDeviceTexelBufferAlignmentProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
73715 
73717  : PhysicalDeviceTexelBufferAlignmentProperties( *reinterpret_cast<PhysicalDeviceTexelBufferAlignmentProperties const *>( &rhs ) )
73718  {
73719  }
73720 
73722 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
73723 
73725  {
73726  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceTexelBufferAlignmentProperties const *>( &rhs );
73727  return *this;
73728  }
73729 
73731  {
73732  return *reinterpret_cast<const VkPhysicalDeviceTexelBufferAlignmentProperties *>( this );
73733  }
73734 
73736  {
73737  return *reinterpret_cast<VkPhysicalDeviceTexelBufferAlignmentProperties *>( this );
73738  }
73739 
73740 #if defined( VULKAN_HPP_USE_REFLECT )
73741 # if 14 <= VULKAN_HPP_CPP_VERSION
73742  auto
73743 # else
73744  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
73745  void * const &,
73750 # endif
73751  reflect() const VULKAN_HPP_NOEXCEPT
73752  {
73753  return std::tie( sType,
73754  pNext,
73755  storageTexelBufferOffsetAlignmentBytes,
73756  storageTexelBufferOffsetSingleTexelAlignment,
73757  uniformTexelBufferOffsetAlignmentBytes,
73758  uniformTexelBufferOffsetSingleTexelAlignment );
73759  }
73760 #endif
73761 
73762 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
73763  auto operator<=>( PhysicalDeviceTexelBufferAlignmentProperties const & ) const = default;
73764 #else
73766  {
73767 # if defined( VULKAN_HPP_USE_REFLECT )
73768  return this->reflect() == rhs.reflect();
73769 # else
73770  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( storageTexelBufferOffsetAlignmentBytes == rhs.storageTexelBufferOffsetAlignmentBytes ) &&
73771  ( storageTexelBufferOffsetSingleTexelAlignment == rhs.storageTexelBufferOffsetSingleTexelAlignment ) &&
73772  ( uniformTexelBufferOffsetAlignmentBytes == rhs.uniformTexelBufferOffsetAlignmentBytes ) &&
73773  ( uniformTexelBufferOffsetSingleTexelAlignment == rhs.uniformTexelBufferOffsetSingleTexelAlignment );
73774 # endif
73775  }
73776 
73778  {
73779  return !operator==( rhs );
73780  }
73781 #endif
73782 
73783  public:
73784  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceTexelBufferAlignmentProperties;
73785  void * pNext = {};
73786  VULKAN_HPP_NAMESPACE::DeviceSize storageTexelBufferOffsetAlignmentBytes = {};
73787  VULKAN_HPP_NAMESPACE::Bool32 storageTexelBufferOffsetSingleTexelAlignment = {};
73788  VULKAN_HPP_NAMESPACE::DeviceSize uniformTexelBufferOffsetAlignmentBytes = {};
73789  VULKAN_HPP_NAMESPACE::Bool32 uniformTexelBufferOffsetSingleTexelAlignment = {};
73790  };
73791 
73792  template <>
73794  {
73796  };
73798 
73800  {
73802 
73803  static const bool allowDuplicate = false;
73804  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceTextureCompressionAstcHdrFeatures;
73805 
73806 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
73808  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
73809  : pNext( pNext_ )
73810  , textureCompressionASTC_HDR( textureCompressionASTC_HDR_ )
73811  {
73812  }
73813 
73815  PhysicalDeviceTextureCompressionASTCHDRFeatures( PhysicalDeviceTextureCompressionASTCHDRFeatures const & rhs ) VULKAN_HPP_NOEXCEPT = default;
73816 
73818  : PhysicalDeviceTextureCompressionASTCHDRFeatures( *reinterpret_cast<PhysicalDeviceTextureCompressionASTCHDRFeatures const *>( &rhs ) )
73819  {
73820  }
73821 
73823 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
73824 
73826  {
73827  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceTextureCompressionASTCHDRFeatures const *>( &rhs );
73828  return *this;
73829  }
73830 
73831 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
73833  {
73834  pNext = pNext_;
73835  return *this;
73836  }
73837 
73840  {
73841  textureCompressionASTC_HDR = textureCompressionASTC_HDR_;
73842  return *this;
73843  }
73844 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
73845 
73847  {
73848  return *reinterpret_cast<const VkPhysicalDeviceTextureCompressionASTCHDRFeatures *>( this );
73849  }
73850 
73852  {
73853  return *reinterpret_cast<VkPhysicalDeviceTextureCompressionASTCHDRFeatures *>( this );
73854  }
73855 
73856 #if defined( VULKAN_HPP_USE_REFLECT )
73857 # if 14 <= VULKAN_HPP_CPP_VERSION
73858  auto
73859 # else
73860  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
73861 # endif
73862  reflect() const VULKAN_HPP_NOEXCEPT
73863  {
73864  return std::tie( sType, pNext, textureCompressionASTC_HDR );
73865  }
73866 #endif
73867 
73868 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
73869  auto operator<=>( PhysicalDeviceTextureCompressionASTCHDRFeatures const & ) const = default;
73870 #else
73872  {
73873 # if defined( VULKAN_HPP_USE_REFLECT )
73874  return this->reflect() == rhs.reflect();
73875 # else
73876  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( textureCompressionASTC_HDR == rhs.textureCompressionASTC_HDR );
73877 # endif
73878  }
73879 
73881  {
73882  return !operator==( rhs );
73883  }
73884 #endif
73885 
73886  public:
73887  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceTextureCompressionAstcHdrFeatures;
73888  void * pNext = {};
73889  VULKAN_HPP_NAMESPACE::Bool32 textureCompressionASTC_HDR = {};
73890  };
73891 
73892  template <>
73894  {
73896  };
73898 
73900  {
73902 
73903  static const bool allowDuplicate = false;
73904  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceTilePropertiesFeaturesQCOM;
73905 
73906 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
73908  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
73909  : pNext( pNext_ )
73910  , tileProperties( tileProperties_ )
73911  {
73912  }
73913 
73914  VULKAN_HPP_CONSTEXPR PhysicalDeviceTilePropertiesFeaturesQCOM( PhysicalDeviceTilePropertiesFeaturesQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default;
73915 
73917  : PhysicalDeviceTilePropertiesFeaturesQCOM( *reinterpret_cast<PhysicalDeviceTilePropertiesFeaturesQCOM const *>( &rhs ) )
73918  {
73919  }
73920 
73922 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
73923 
73925  {
73926  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceTilePropertiesFeaturesQCOM const *>( &rhs );
73927  return *this;
73928  }
73929 
73930 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
73932  {
73933  pNext = pNext_;
73934  return *this;
73935  }
73936 
73938  {
73939  tileProperties = tileProperties_;
73940  return *this;
73941  }
73942 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
73943 
73945  {
73946  return *reinterpret_cast<const VkPhysicalDeviceTilePropertiesFeaturesQCOM *>( this );
73947  }
73948 
73950  {
73951  return *reinterpret_cast<VkPhysicalDeviceTilePropertiesFeaturesQCOM *>( this );
73952  }
73953 
73954 #if defined( VULKAN_HPP_USE_REFLECT )
73955 # if 14 <= VULKAN_HPP_CPP_VERSION
73956  auto
73957 # else
73958  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
73959 # endif
73960  reflect() const VULKAN_HPP_NOEXCEPT
73961  {
73962  return std::tie( sType, pNext, tileProperties );
73963  }
73964 #endif
73965 
73966 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
73967  auto operator<=>( PhysicalDeviceTilePropertiesFeaturesQCOM const & ) const = default;
73968 #else
73970  {
73971 # if defined( VULKAN_HPP_USE_REFLECT )
73972  return this->reflect() == rhs.reflect();
73973 # else
73974  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( tileProperties == rhs.tileProperties );
73975 # endif
73976  }
73977 
73979  {
73980  return !operator==( rhs );
73981  }
73982 #endif
73983 
73984  public:
73985  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceTilePropertiesFeaturesQCOM;
73986  void * pNext = {};
73987  VULKAN_HPP_NAMESPACE::Bool32 tileProperties = {};
73988  };
73989 
73990  template <>
73992  {
73994  };
73995 
73997  {
73999 
74000  static const bool allowDuplicate = false;
74001  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceTimelineSemaphoreFeatures;
74002 
74003 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
74005  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
74006  : pNext( pNext_ )
74007  , timelineSemaphore( timelineSemaphore_ )
74008  {
74009  }
74010 
74011  VULKAN_HPP_CONSTEXPR PhysicalDeviceTimelineSemaphoreFeatures( PhysicalDeviceTimelineSemaphoreFeatures const & rhs ) VULKAN_HPP_NOEXCEPT = default;
74012 
74014  : PhysicalDeviceTimelineSemaphoreFeatures( *reinterpret_cast<PhysicalDeviceTimelineSemaphoreFeatures const *>( &rhs ) )
74015  {
74016  }
74017 
74019 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
74020 
74022  {
74023  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceTimelineSemaphoreFeatures const *>( &rhs );
74024  return *this;
74025  }
74026 
74027 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
74029  {
74030  pNext = pNext_;
74031  return *this;
74032  }
74033 
74036  {
74037  timelineSemaphore = timelineSemaphore_;
74038  return *this;
74039  }
74040 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
74041 
74043  {
74044  return *reinterpret_cast<const VkPhysicalDeviceTimelineSemaphoreFeatures *>( this );
74045  }
74046 
74048  {
74049  return *reinterpret_cast<VkPhysicalDeviceTimelineSemaphoreFeatures *>( this );
74050  }
74051 
74052 #if defined( VULKAN_HPP_USE_REFLECT )
74053 # if 14 <= VULKAN_HPP_CPP_VERSION
74054  auto
74055 # else
74056  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
74057 # endif
74058  reflect() const VULKAN_HPP_NOEXCEPT
74059  {
74060  return std::tie( sType, pNext, timelineSemaphore );
74061  }
74062 #endif
74063 
74064 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
74065  auto operator<=>( PhysicalDeviceTimelineSemaphoreFeatures const & ) const = default;
74066 #else
74068  {
74069 # if defined( VULKAN_HPP_USE_REFLECT )
74070  return this->reflect() == rhs.reflect();
74071 # else
74072  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( timelineSemaphore == rhs.timelineSemaphore );
74073 # endif
74074  }
74075 
74077  {
74078  return !operator==( rhs );
74079  }
74080 #endif
74081 
74082  public:
74083  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceTimelineSemaphoreFeatures;
74084  void * pNext = {};
74085  VULKAN_HPP_NAMESPACE::Bool32 timelineSemaphore = {};
74086  };
74087 
74088  template <>
74090  {
74092  };
74094 
74096  {
74098 
74099  static const bool allowDuplicate = false;
74100  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceTimelineSemaphoreProperties;
74101 
74102 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
74103  VULKAN_HPP_CONSTEXPR PhysicalDeviceTimelineSemaphoreProperties( uint64_t maxTimelineSemaphoreValueDifference_ = {},
74104  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
74105  : pNext( pNext_ )
74106  , maxTimelineSemaphoreValueDifference( maxTimelineSemaphoreValueDifference_ )
74107  {
74108  }
74109 
74110  VULKAN_HPP_CONSTEXPR PhysicalDeviceTimelineSemaphoreProperties( PhysicalDeviceTimelineSemaphoreProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
74111 
74113  : PhysicalDeviceTimelineSemaphoreProperties( *reinterpret_cast<PhysicalDeviceTimelineSemaphoreProperties const *>( &rhs ) )
74114  {
74115  }
74116 
74118 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
74119 
74121  {
74122  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceTimelineSemaphoreProperties const *>( &rhs );
74123  return *this;
74124  }
74125 
74127  {
74128  return *reinterpret_cast<const VkPhysicalDeviceTimelineSemaphoreProperties *>( this );
74129  }
74130 
74132  {
74133  return *reinterpret_cast<VkPhysicalDeviceTimelineSemaphoreProperties *>( this );
74134  }
74135 
74136 #if defined( VULKAN_HPP_USE_REFLECT )
74137 # if 14 <= VULKAN_HPP_CPP_VERSION
74138  auto
74139 # else
74140  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, uint64_t const &>
74141 # endif
74142  reflect() const VULKAN_HPP_NOEXCEPT
74143  {
74144  return std::tie( sType, pNext, maxTimelineSemaphoreValueDifference );
74145  }
74146 #endif
74147 
74148 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
74149  auto operator<=>( PhysicalDeviceTimelineSemaphoreProperties const & ) const = default;
74150 #else
74152  {
74153 # if defined( VULKAN_HPP_USE_REFLECT )
74154  return this->reflect() == rhs.reflect();
74155 # else
74156  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxTimelineSemaphoreValueDifference == rhs.maxTimelineSemaphoreValueDifference );
74157 # endif
74158  }
74159 
74161  {
74162  return !operator==( rhs );
74163  }
74164 #endif
74165 
74166  public:
74167  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceTimelineSemaphoreProperties;
74168  void * pNext = {};
74169  uint64_t maxTimelineSemaphoreValueDifference = {};
74170  };
74171 
74172  template <>
74174  {
74176  };
74178 
74180  {
74182 
74183  static const bool allowDuplicate = false;
74184  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceToolProperties;
74185 
74186 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
74187  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceToolProperties( std::array<char, VK_MAX_EXTENSION_NAME_SIZE> const & name_ = {},
74188  std::array<char, VK_MAX_EXTENSION_NAME_SIZE> const & version_ = {},
74190  std::array<char, VK_MAX_DESCRIPTION_SIZE> const & description_ = {},
74191  std::array<char, VK_MAX_EXTENSION_NAME_SIZE> const & layer_ = {},
74192  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
74193  : pNext( pNext_ )
74194  , name( name_ )
74195  , version( version_ )
74196  , purposes( purposes_ )
74197  , description( description_ )
74198  , layer( layer_ )
74199  {
74200  }
74201 
74202  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceToolProperties( PhysicalDeviceToolProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
74203 
74205  : PhysicalDeviceToolProperties( *reinterpret_cast<PhysicalDeviceToolProperties const *>( &rhs ) )
74206  {
74207  }
74208 
74210 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
74211 
74213  {
74214  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties const *>( &rhs );
74215  return *this;
74216  }
74217 
74219  {
74220  return *reinterpret_cast<const VkPhysicalDeviceToolProperties *>( this );
74221  }
74222 
74224  {
74225  return *reinterpret_cast<VkPhysicalDeviceToolProperties *>( this );
74226  }
74227 
74228 #if defined( VULKAN_HPP_USE_REFLECT )
74229 # if 14 <= VULKAN_HPP_CPP_VERSION
74230  auto
74231 # else
74232  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
74233  void * const &,
74239 # endif
74240  reflect() const VULKAN_HPP_NOEXCEPT
74241  {
74242  return std::tie( sType, pNext, name, version, purposes, description, layer );
74243  }
74244 #endif
74245 
74246 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
74247  auto operator<=>( PhysicalDeviceToolProperties const & ) const = default;
74248 #else
74250  {
74251 # if defined( VULKAN_HPP_USE_REFLECT )
74252  return this->reflect() == rhs.reflect();
74253 # else
74254  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( name == rhs.name ) && ( version == rhs.version ) && ( purposes == rhs.purposes ) &&
74255  ( description == rhs.description ) && ( layer == rhs.layer );
74256 # endif
74257  }
74258 
74260  {
74261  return !operator==( rhs );
74262  }
74263 #endif
74264 
74265  public:
74266  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceToolProperties;
74267  void * pNext = {};
74273  };
74274 
74275  template <>
74277  {
74279  };
74281 
74283  {
74285 
74286  static const bool allowDuplicate = false;
74287  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceTransformFeedbackFeaturesEXT;
74288 
74289 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
74291  VULKAN_HPP_NAMESPACE::Bool32 geometryStreams_ = {},
74292  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
74293  : pNext( pNext_ )
74294  , transformFeedback( transformFeedback_ )
74295  , geometryStreams( geometryStreams_ )
74296  {
74297  }
74298 
74299  VULKAN_HPP_CONSTEXPR PhysicalDeviceTransformFeedbackFeaturesEXT( PhysicalDeviceTransformFeedbackFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
74300 
74302  : PhysicalDeviceTransformFeedbackFeaturesEXT( *reinterpret_cast<PhysicalDeviceTransformFeedbackFeaturesEXT const *>( &rhs ) )
74303  {
74304  }
74305 
74307 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
74308 
74310  {
74311  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceTransformFeedbackFeaturesEXT const *>( &rhs );
74312  return *this;
74313  }
74314 
74315 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
74317  {
74318  pNext = pNext_;
74319  return *this;
74320  }
74321 
74324  {
74325  transformFeedback = transformFeedback_;
74326  return *this;
74327  }
74328 
74330  {
74331  geometryStreams = geometryStreams_;
74332  return *this;
74333  }
74334 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
74335 
74337  {
74338  return *reinterpret_cast<const VkPhysicalDeviceTransformFeedbackFeaturesEXT *>( this );
74339  }
74340 
74342  {
74343  return *reinterpret_cast<VkPhysicalDeviceTransformFeedbackFeaturesEXT *>( this );
74344  }
74345 
74346 #if defined( VULKAN_HPP_USE_REFLECT )
74347 # if 14 <= VULKAN_HPP_CPP_VERSION
74348  auto
74349 # else
74350  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
74351 # endif
74352  reflect() const VULKAN_HPP_NOEXCEPT
74353  {
74354  return std::tie( sType, pNext, transformFeedback, geometryStreams );
74355  }
74356 #endif
74357 
74358 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
74359  auto operator<=>( PhysicalDeviceTransformFeedbackFeaturesEXT const & ) const = default;
74360 #else
74362  {
74363 # if defined( VULKAN_HPP_USE_REFLECT )
74364  return this->reflect() == rhs.reflect();
74365 # else
74366  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( transformFeedback == rhs.transformFeedback ) && ( geometryStreams == rhs.geometryStreams );
74367 # endif
74368  }
74369 
74371  {
74372  return !operator==( rhs );
74373  }
74374 #endif
74375 
74376  public:
74377  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceTransformFeedbackFeaturesEXT;
74378  void * pNext = {};
74379  VULKAN_HPP_NAMESPACE::Bool32 transformFeedback = {};
74380  VULKAN_HPP_NAMESPACE::Bool32 geometryStreams = {};
74381  };
74382 
74383  template <>
74385  {
74387  };
74388 
74390  {
74392 
74393  static const bool allowDuplicate = false;
74394  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceTransformFeedbackPropertiesEXT;
74395 
74396 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
74397  VULKAN_HPP_CONSTEXPR PhysicalDeviceTransformFeedbackPropertiesEXT( uint32_t maxTransformFeedbackStreams_ = {},
74398  uint32_t maxTransformFeedbackBuffers_ = {},
74399  VULKAN_HPP_NAMESPACE::DeviceSize maxTransformFeedbackBufferSize_ = {},
74400  uint32_t maxTransformFeedbackStreamDataSize_ = {},
74401  uint32_t maxTransformFeedbackBufferDataSize_ = {},
74402  uint32_t maxTransformFeedbackBufferDataStride_ = {},
74403  VULKAN_HPP_NAMESPACE::Bool32 transformFeedbackQueries_ = {},
74404  VULKAN_HPP_NAMESPACE::Bool32 transformFeedbackStreamsLinesTriangles_ = {},
74405  VULKAN_HPP_NAMESPACE::Bool32 transformFeedbackRasterizationStreamSelect_ = {},
74406  VULKAN_HPP_NAMESPACE::Bool32 transformFeedbackDraw_ = {},
74407  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
74408  : pNext( pNext_ )
74409  , maxTransformFeedbackStreams( maxTransformFeedbackStreams_ )
74410  , maxTransformFeedbackBuffers( maxTransformFeedbackBuffers_ )
74411  , maxTransformFeedbackBufferSize( maxTransformFeedbackBufferSize_ )
74412  , maxTransformFeedbackStreamDataSize( maxTransformFeedbackStreamDataSize_ )
74413  , maxTransformFeedbackBufferDataSize( maxTransformFeedbackBufferDataSize_ )
74414  , maxTransformFeedbackBufferDataStride( maxTransformFeedbackBufferDataStride_ )
74415  , transformFeedbackQueries( transformFeedbackQueries_ )
74416  , transformFeedbackStreamsLinesTriangles( transformFeedbackStreamsLinesTriangles_ )
74417  , transformFeedbackRasterizationStreamSelect( transformFeedbackRasterizationStreamSelect_ )
74418  , transformFeedbackDraw( transformFeedbackDraw_ )
74419  {
74420  }
74421 
74422  VULKAN_HPP_CONSTEXPR PhysicalDeviceTransformFeedbackPropertiesEXT( PhysicalDeviceTransformFeedbackPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
74423 
74425  : PhysicalDeviceTransformFeedbackPropertiesEXT( *reinterpret_cast<PhysicalDeviceTransformFeedbackPropertiesEXT const *>( &rhs ) )
74426  {
74427  }
74428 
74430 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
74431 
74433  {
74434  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceTransformFeedbackPropertiesEXT const *>( &rhs );
74435  return *this;
74436  }
74437 
74439  {
74440  return *reinterpret_cast<const VkPhysicalDeviceTransformFeedbackPropertiesEXT *>( this );
74441  }
74442 
74444  {
74445  return *reinterpret_cast<VkPhysicalDeviceTransformFeedbackPropertiesEXT *>( this );
74446  }
74447 
74448 #if defined( VULKAN_HPP_USE_REFLECT )
74449 # if 14 <= VULKAN_HPP_CPP_VERSION
74450  auto
74451 # else
74452  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
74453  void * const &,
74454  uint32_t const &,
74455  uint32_t const &,
74457  uint32_t const &,
74458  uint32_t const &,
74459  uint32_t const &,
74464 # endif
74465  reflect() const VULKAN_HPP_NOEXCEPT
74466  {
74467  return std::tie( sType,
74468  pNext,
74469  maxTransformFeedbackStreams,
74470  maxTransformFeedbackBuffers,
74471  maxTransformFeedbackBufferSize,
74472  maxTransformFeedbackStreamDataSize,
74473  maxTransformFeedbackBufferDataSize,
74474  maxTransformFeedbackBufferDataStride,
74475  transformFeedbackQueries,
74476  transformFeedbackStreamsLinesTriangles,
74477  transformFeedbackRasterizationStreamSelect,
74478  transformFeedbackDraw );
74479  }
74480 #endif
74481 
74482 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
74483  auto operator<=>( PhysicalDeviceTransformFeedbackPropertiesEXT const & ) const = default;
74484 #else
74486  {
74487 # if defined( VULKAN_HPP_USE_REFLECT )
74488  return this->reflect() == rhs.reflect();
74489 # else
74490  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxTransformFeedbackStreams == rhs.maxTransformFeedbackStreams ) &&
74491  ( maxTransformFeedbackBuffers == rhs.maxTransformFeedbackBuffers ) && ( maxTransformFeedbackBufferSize == rhs.maxTransformFeedbackBufferSize ) &&
74492  ( maxTransformFeedbackStreamDataSize == rhs.maxTransformFeedbackStreamDataSize ) &&
74493  ( maxTransformFeedbackBufferDataSize == rhs.maxTransformFeedbackBufferDataSize ) &&
74494  ( maxTransformFeedbackBufferDataStride == rhs.maxTransformFeedbackBufferDataStride ) &&
74495  ( transformFeedbackQueries == rhs.transformFeedbackQueries ) &&
74496  ( transformFeedbackStreamsLinesTriangles == rhs.transformFeedbackStreamsLinesTriangles ) &&
74497  ( transformFeedbackRasterizationStreamSelect == rhs.transformFeedbackRasterizationStreamSelect ) &&
74498  ( transformFeedbackDraw == rhs.transformFeedbackDraw );
74499 # endif
74500  }
74501 
74503  {
74504  return !operator==( rhs );
74505  }
74506 #endif
74507 
74508  public:
74509  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceTransformFeedbackPropertiesEXT;
74510  void * pNext = {};
74511  uint32_t maxTransformFeedbackStreams = {};
74512  uint32_t maxTransformFeedbackBuffers = {};
74513  VULKAN_HPP_NAMESPACE::DeviceSize maxTransformFeedbackBufferSize = {};
74514  uint32_t maxTransformFeedbackStreamDataSize = {};
74515  uint32_t maxTransformFeedbackBufferDataSize = {};
74516  uint32_t maxTransformFeedbackBufferDataStride = {};
74517  VULKAN_HPP_NAMESPACE::Bool32 transformFeedbackQueries = {};
74518  VULKAN_HPP_NAMESPACE::Bool32 transformFeedbackStreamsLinesTriangles = {};
74519  VULKAN_HPP_NAMESPACE::Bool32 transformFeedbackRasterizationStreamSelect = {};
74520  VULKAN_HPP_NAMESPACE::Bool32 transformFeedbackDraw = {};
74521  };
74522 
74523  template <>
74525  {
74527  };
74528 
74530  {
74532 
74533  static const bool allowDuplicate = false;
74534  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceUniformBufferStandardLayoutFeatures;
74535 
74536 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
74538  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
74539  : pNext( pNext_ )
74540  , uniformBufferStandardLayout( uniformBufferStandardLayout_ )
74541  {
74542  }
74543 
74545  PhysicalDeviceUniformBufferStandardLayoutFeatures( PhysicalDeviceUniformBufferStandardLayoutFeatures const & rhs ) VULKAN_HPP_NOEXCEPT = default;
74546 
74548  : PhysicalDeviceUniformBufferStandardLayoutFeatures( *reinterpret_cast<PhysicalDeviceUniformBufferStandardLayoutFeatures const *>( &rhs ) )
74549  {
74550  }
74551 
74554 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
74555 
74557  {
74558  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceUniformBufferStandardLayoutFeatures const *>( &rhs );
74559  return *this;
74560  }
74561 
74562 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
74564  {
74565  pNext = pNext_;
74566  return *this;
74567  }
74568 
74571  {
74572  uniformBufferStandardLayout = uniformBufferStandardLayout_;
74573  return *this;
74574  }
74575 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
74576 
74578  {
74579  return *reinterpret_cast<const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *>( this );
74580  }
74581 
74583  {
74584  return *reinterpret_cast<VkPhysicalDeviceUniformBufferStandardLayoutFeatures *>( this );
74585  }
74586 
74587 #if defined( VULKAN_HPP_USE_REFLECT )
74588 # if 14 <= VULKAN_HPP_CPP_VERSION
74589  auto
74590 # else
74591  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
74592 # endif
74593  reflect() const VULKAN_HPP_NOEXCEPT
74594  {
74595  return std::tie( sType, pNext, uniformBufferStandardLayout );
74596  }
74597 #endif
74598 
74599 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
74600  auto operator<=>( PhysicalDeviceUniformBufferStandardLayoutFeatures const & ) const = default;
74601 #else
74603  {
74604 # if defined( VULKAN_HPP_USE_REFLECT )
74605  return this->reflect() == rhs.reflect();
74606 # else
74607  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( uniformBufferStandardLayout == rhs.uniformBufferStandardLayout );
74608 # endif
74609  }
74610 
74612  {
74613  return !operator==( rhs );
74614  }
74615 #endif
74616 
74617  public:
74618  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceUniformBufferStandardLayoutFeatures;
74619  void * pNext = {};
74620  VULKAN_HPP_NAMESPACE::Bool32 uniformBufferStandardLayout = {};
74621  };
74622 
74623  template <>
74625  {
74627  };
74629 
74631  {
74633 
74634  static const bool allowDuplicate = false;
74635  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceVariablePointersFeatures;
74636 
74637 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
74639  VULKAN_HPP_NAMESPACE::Bool32 variablePointers_ = {},
74640  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
74641  : pNext( pNext_ )
74642  , variablePointersStorageBuffer( variablePointersStorageBuffer_ )
74643  , variablePointers( variablePointers_ )
74644  {
74645  }
74646 
74647  VULKAN_HPP_CONSTEXPR PhysicalDeviceVariablePointersFeatures( PhysicalDeviceVariablePointersFeatures const & rhs ) VULKAN_HPP_NOEXCEPT = default;
74648 
74650  : PhysicalDeviceVariablePointersFeatures( *reinterpret_cast<PhysicalDeviceVariablePointersFeatures const *>( &rhs ) )
74651  {
74652  }
74653 
74655 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
74656 
74658  {
74659  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceVariablePointersFeatures const *>( &rhs );
74660  return *this;
74661  }
74662 
74663 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
74665  {
74666  pNext = pNext_;
74667  return *this;
74668  }
74669 
74672  {
74673  variablePointersStorageBuffer = variablePointersStorageBuffer_;
74674  return *this;
74675  }
74676 
74678  {
74679  variablePointers = variablePointers_;
74680  return *this;
74681  }
74682 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
74683 
74685  {
74686  return *reinterpret_cast<const VkPhysicalDeviceVariablePointersFeatures *>( this );
74687  }
74688 
74690  {
74691  return *reinterpret_cast<VkPhysicalDeviceVariablePointersFeatures *>( this );
74692  }
74693 
74694 #if defined( VULKAN_HPP_USE_REFLECT )
74695 # if 14 <= VULKAN_HPP_CPP_VERSION
74696  auto
74697 # else
74698  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
74699 # endif
74700  reflect() const VULKAN_HPP_NOEXCEPT
74701  {
74702  return std::tie( sType, pNext, variablePointersStorageBuffer, variablePointers );
74703  }
74704 #endif
74705 
74706 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
74707  auto operator<=>( PhysicalDeviceVariablePointersFeatures const & ) const = default;
74708 #else
74710  {
74711 # if defined( VULKAN_HPP_USE_REFLECT )
74712  return this->reflect() == rhs.reflect();
74713 # else
74714  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( variablePointersStorageBuffer == rhs.variablePointersStorageBuffer ) &&
74715  ( variablePointers == rhs.variablePointers );
74716 # endif
74717  }
74718 
74720  {
74721  return !operator==( rhs );
74722  }
74723 #endif
74724 
74725  public:
74726  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceVariablePointersFeatures;
74727  void * pNext = {};
74728  VULKAN_HPP_NAMESPACE::Bool32 variablePointersStorageBuffer = {};
74729  VULKAN_HPP_NAMESPACE::Bool32 variablePointers = {};
74730  };
74731 
74732  template <>
74734  {
74736  };
74740 
74742  {
74744 
74745  static const bool allowDuplicate = false;
74746  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceVertexAttributeDivisorFeaturesEXT;
74747 
74748 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
74750  VULKAN_HPP_NAMESPACE::Bool32 vertexAttributeInstanceRateZeroDivisor_ = {},
74751  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
74752  : pNext( pNext_ )
74753  , vertexAttributeInstanceRateDivisor( vertexAttributeInstanceRateDivisor_ )
74754  , vertexAttributeInstanceRateZeroDivisor( vertexAttributeInstanceRateZeroDivisor_ )
74755  {
74756  }
74757 
74759  PhysicalDeviceVertexAttributeDivisorFeaturesEXT( PhysicalDeviceVertexAttributeDivisorFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
74760 
74762  : PhysicalDeviceVertexAttributeDivisorFeaturesEXT( *reinterpret_cast<PhysicalDeviceVertexAttributeDivisorFeaturesEXT const *>( &rhs ) )
74763  {
74764  }
74765 
74767 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
74768 
74770  {
74771  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceVertexAttributeDivisorFeaturesEXT const *>( &rhs );
74772  return *this;
74773  }
74774 
74775 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
74777  {
74778  pNext = pNext_;
74779  return *this;
74780  }
74781 
74784  {
74785  vertexAttributeInstanceRateDivisor = vertexAttributeInstanceRateDivisor_;
74786  return *this;
74787  }
74788 
74791  {
74792  vertexAttributeInstanceRateZeroDivisor = vertexAttributeInstanceRateZeroDivisor_;
74793  return *this;
74794  }
74795 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
74796 
74798  {
74799  return *reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *>( this );
74800  }
74801 
74803  {
74804  return *reinterpret_cast<VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *>( this );
74805  }
74806 
74807 #if defined( VULKAN_HPP_USE_REFLECT )
74808 # if 14 <= VULKAN_HPP_CPP_VERSION
74809  auto
74810 # else
74811  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
74812 # endif
74813  reflect() const VULKAN_HPP_NOEXCEPT
74814  {
74815  return std::tie( sType, pNext, vertexAttributeInstanceRateDivisor, vertexAttributeInstanceRateZeroDivisor );
74816  }
74817 #endif
74818 
74819 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
74820  auto operator<=>( PhysicalDeviceVertexAttributeDivisorFeaturesEXT const & ) const = default;
74821 #else
74823  {
74824 # if defined( VULKAN_HPP_USE_REFLECT )
74825  return this->reflect() == rhs.reflect();
74826 # else
74827  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( vertexAttributeInstanceRateDivisor == rhs.vertexAttributeInstanceRateDivisor ) &&
74828  ( vertexAttributeInstanceRateZeroDivisor == rhs.vertexAttributeInstanceRateZeroDivisor );
74829 # endif
74830  }
74831 
74833  {
74834  return !operator==( rhs );
74835  }
74836 #endif
74837 
74838  public:
74839  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceVertexAttributeDivisorFeaturesEXT;
74840  void * pNext = {};
74841  VULKAN_HPP_NAMESPACE::Bool32 vertexAttributeInstanceRateDivisor = {};
74842  VULKAN_HPP_NAMESPACE::Bool32 vertexAttributeInstanceRateZeroDivisor = {};
74843  };
74844 
74845  template <>
74847  {
74849  };
74850 
74852  {
74854 
74855  static const bool allowDuplicate = false;
74856  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceVertexAttributeDivisorPropertiesEXT;
74857 
74858 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
74859  VULKAN_HPP_CONSTEXPR PhysicalDeviceVertexAttributeDivisorPropertiesEXT( uint32_t maxVertexAttribDivisor_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
74860  : pNext( pNext_ )
74861  , maxVertexAttribDivisor( maxVertexAttribDivisor_ )
74862  {
74863  }
74864 
74866  PhysicalDeviceVertexAttributeDivisorPropertiesEXT( PhysicalDeviceVertexAttributeDivisorPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
74867 
74869  : PhysicalDeviceVertexAttributeDivisorPropertiesEXT( *reinterpret_cast<PhysicalDeviceVertexAttributeDivisorPropertiesEXT const *>( &rhs ) )
74870  {
74871  }
74872 
74875 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
74876 
74878  {
74879  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceVertexAttributeDivisorPropertiesEXT const *>( &rhs );
74880  return *this;
74881  }
74882 
74884  {
74885  return *reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *>( this );
74886  }
74887 
74889  {
74890  return *reinterpret_cast<VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *>( this );
74891  }
74892 
74893 #if defined( VULKAN_HPP_USE_REFLECT )
74894 # if 14 <= VULKAN_HPP_CPP_VERSION
74895  auto
74896 # else
74897  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, uint32_t const &>
74898 # endif
74899  reflect() const VULKAN_HPP_NOEXCEPT
74900  {
74901  return std::tie( sType, pNext, maxVertexAttribDivisor );
74902  }
74903 #endif
74904 
74905 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
74906  auto operator<=>( PhysicalDeviceVertexAttributeDivisorPropertiesEXT const & ) const = default;
74907 #else
74909  {
74910 # if defined( VULKAN_HPP_USE_REFLECT )
74911  return this->reflect() == rhs.reflect();
74912 # else
74913  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxVertexAttribDivisor == rhs.maxVertexAttribDivisor );
74914 # endif
74915  }
74916 
74918  {
74919  return !operator==( rhs );
74920  }
74921 #endif
74922 
74923  public:
74924  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceVertexAttributeDivisorPropertiesEXT;
74925  void * pNext = {};
74926  uint32_t maxVertexAttribDivisor = {};
74927  };
74928 
74929  template <>
74931  {
74933  };
74934 
74936  {
74938 
74939  static const bool allowDuplicate = false;
74940  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceVertexInputDynamicStateFeaturesEXT;
74941 
74942 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
74944  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
74945  : pNext( pNext_ )
74946  , vertexInputDynamicState( vertexInputDynamicState_ )
74947  {
74948  }
74949 
74951  PhysicalDeviceVertexInputDynamicStateFeaturesEXT( PhysicalDeviceVertexInputDynamicStateFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
74952 
74954  : PhysicalDeviceVertexInputDynamicStateFeaturesEXT( *reinterpret_cast<PhysicalDeviceVertexInputDynamicStateFeaturesEXT const *>( &rhs ) )
74955  {
74956  }
74957 
74959 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
74960 
74962  {
74963  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceVertexInputDynamicStateFeaturesEXT const *>( &rhs );
74964  return *this;
74965  }
74966 
74967 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
74969  {
74970  pNext = pNext_;
74971  return *this;
74972  }
74973 
74976  {
74977  vertexInputDynamicState = vertexInputDynamicState_;
74978  return *this;
74979  }
74980 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
74981 
74983  {
74984  return *reinterpret_cast<const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT *>( this );
74985  }
74986 
74988  {
74989  return *reinterpret_cast<VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT *>( this );
74990  }
74991 
74992 #if defined( VULKAN_HPP_USE_REFLECT )
74993 # if 14 <= VULKAN_HPP_CPP_VERSION
74994  auto
74995 # else
74996  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
74997 # endif
74998  reflect() const VULKAN_HPP_NOEXCEPT
74999  {
75000  return std::tie( sType, pNext, vertexInputDynamicState );
75001  }
75002 #endif
75003 
75004 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
75005  auto operator<=>( PhysicalDeviceVertexInputDynamicStateFeaturesEXT const & ) const = default;
75006 #else
75008  {
75009 # if defined( VULKAN_HPP_USE_REFLECT )
75010  return this->reflect() == rhs.reflect();
75011 # else
75012  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( vertexInputDynamicState == rhs.vertexInputDynamicState );
75013 # endif
75014  }
75015 
75017  {
75018  return !operator==( rhs );
75019  }
75020 #endif
75021 
75022  public:
75023  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceVertexInputDynamicStateFeaturesEXT;
75024  void * pNext = {};
75025  VULKAN_HPP_NAMESPACE::Bool32 vertexInputDynamicState = {};
75026  };
75027 
75028  template <>
75030  {
75032  };
75033 
75034 #if defined( VK_ENABLE_BETA_EXTENSIONS )
75035  struct PhysicalDeviceVideoFormatInfoKHR
75036  {
75037  using NativeType = VkPhysicalDeviceVideoFormatInfoKHR;
75038 
75039  static const bool allowDuplicate = false;
75040  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceVideoFormatInfoKHR;
75041 
75042 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
75043  VULKAN_HPP_CONSTEXPR PhysicalDeviceVideoFormatInfoKHR( VULKAN_HPP_NAMESPACE::ImageUsageFlags imageUsage_ = {},
75044  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
75045  : pNext( pNext_ )
75046  , imageUsage( imageUsage_ )
75047  {
75048  }
75049 
75050  VULKAN_HPP_CONSTEXPR PhysicalDeviceVideoFormatInfoKHR( PhysicalDeviceVideoFormatInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
75051 
75052  PhysicalDeviceVideoFormatInfoKHR( VkPhysicalDeviceVideoFormatInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
75053  : PhysicalDeviceVideoFormatInfoKHR( *reinterpret_cast<PhysicalDeviceVideoFormatInfoKHR const *>( &rhs ) )
75054  {
75055  }
75056 
75057  PhysicalDeviceVideoFormatInfoKHR & operator=( PhysicalDeviceVideoFormatInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
75058 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
75059 
75060  PhysicalDeviceVideoFormatInfoKHR & operator=( VkPhysicalDeviceVideoFormatInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
75061  {
75062  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoFormatInfoKHR const *>( &rhs );
75063  return *this;
75064  }
75065 
75066 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
75067  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVideoFormatInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
75068  {
75069  pNext = pNext_;
75070  return *this;
75071  }
75072 
75073  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVideoFormatInfoKHR & setImageUsage( VULKAN_HPP_NAMESPACE::ImageUsageFlags imageUsage_ ) VULKAN_HPP_NOEXCEPT
75074  {
75075  imageUsage = imageUsage_;
75076  return *this;
75077  }
75078 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
75079 
75081  {
75082  return *reinterpret_cast<const VkPhysicalDeviceVideoFormatInfoKHR *>( this );
75083  }
75084 
75086  {
75087  return *reinterpret_cast<VkPhysicalDeviceVideoFormatInfoKHR *>( this );
75088  }
75089 
75090 # if defined( VULKAN_HPP_USE_REFLECT )
75091 # if 14 <= VULKAN_HPP_CPP_VERSION
75092  auto
75093 # else
75094  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::ImageUsageFlags const &>
75095 # endif
75096  reflect() const VULKAN_HPP_NOEXCEPT
75097  {
75098  return std::tie( sType, pNext, imageUsage );
75099  }
75100 # endif
75101 
75102 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
75103  auto operator<=>( PhysicalDeviceVideoFormatInfoKHR const & ) const = default;
75104 # else
75105  bool operator==( PhysicalDeviceVideoFormatInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
75106  {
75107 # if defined( VULKAN_HPP_USE_REFLECT )
75108  return this->reflect() == rhs.reflect();
75109 # else
75110  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( imageUsage == rhs.imageUsage );
75111 # endif
75112  }
75113 
75114  bool operator!=( PhysicalDeviceVideoFormatInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
75115  {
75116  return !operator==( rhs );
75117  }
75118 # endif
75119 
75120  public:
75121  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceVideoFormatInfoKHR;
75122  const void * pNext = {};
75123  VULKAN_HPP_NAMESPACE::ImageUsageFlags imageUsage = {};
75124  };
75125 
75126  template <>
75127  struct CppType<StructureType, StructureType::ePhysicalDeviceVideoFormatInfoKHR>
75128  {
75129  using Type = PhysicalDeviceVideoFormatInfoKHR;
75130  };
75131 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
75132 
75134  {
75136 
75137  static const bool allowDuplicate = false;
75138  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceVulkan11Features;
75139 
75140 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
75142  VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer16BitAccess_ = {},
75143  VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant16_ = {},
75144  VULKAN_HPP_NAMESPACE::Bool32 storageInputOutput16_ = {},
75145  VULKAN_HPP_NAMESPACE::Bool32 multiview_ = {},
75146  VULKAN_HPP_NAMESPACE::Bool32 multiviewGeometryShader_ = {},
75147  VULKAN_HPP_NAMESPACE::Bool32 multiviewTessellationShader_ = {},
75148  VULKAN_HPP_NAMESPACE::Bool32 variablePointersStorageBuffer_ = {},
75149  VULKAN_HPP_NAMESPACE::Bool32 variablePointers_ = {},
75150  VULKAN_HPP_NAMESPACE::Bool32 protectedMemory_ = {},
75151  VULKAN_HPP_NAMESPACE::Bool32 samplerYcbcrConversion_ = {},
75152  VULKAN_HPP_NAMESPACE::Bool32 shaderDrawParameters_ = {},
75153  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
75154  : pNext( pNext_ )
75155  , storageBuffer16BitAccess( storageBuffer16BitAccess_ )
75156  , uniformAndStorageBuffer16BitAccess( uniformAndStorageBuffer16BitAccess_ )
75157  , storagePushConstant16( storagePushConstant16_ )
75158  , storageInputOutput16( storageInputOutput16_ )
75159  , multiview( multiview_ )
75160  , multiviewGeometryShader( multiviewGeometryShader_ )
75161  , multiviewTessellationShader( multiviewTessellationShader_ )
75162  , variablePointersStorageBuffer( variablePointersStorageBuffer_ )
75163  , variablePointers( variablePointers_ )
75164  , protectedMemory( protectedMemory_ )
75165  , samplerYcbcrConversion( samplerYcbcrConversion_ )
75166  , shaderDrawParameters( shaderDrawParameters_ )
75167  {
75168  }
75169 
75170  VULKAN_HPP_CONSTEXPR PhysicalDeviceVulkan11Features( PhysicalDeviceVulkan11Features const & rhs ) VULKAN_HPP_NOEXCEPT = default;
75171 
75173  : PhysicalDeviceVulkan11Features( *reinterpret_cast<PhysicalDeviceVulkan11Features const *>( &rhs ) )
75174  {
75175  }
75176 
75178 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
75179 
75181  {
75182  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan11Features const *>( &rhs );
75183  return *this;
75184  }
75185 
75186 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
75188  {
75189  pNext = pNext_;
75190  return *this;
75191  }
75192 
75195  {
75196  storageBuffer16BitAccess = storageBuffer16BitAccess_;
75197  return *this;
75198  }
75199 
75202  {
75203  uniformAndStorageBuffer16BitAccess = uniformAndStorageBuffer16BitAccess_;
75204  return *this;
75205  }
75206 
75208  {
75209  storagePushConstant16 = storagePushConstant16_;
75210  return *this;
75211  }
75212 
75214  {
75215  storageInputOutput16 = storageInputOutput16_;
75216  return *this;
75217  }
75218 
75220  {
75221  multiview = multiview_;
75222  return *this;
75223  }
75224 
75227  {
75228  multiviewGeometryShader = multiviewGeometryShader_;
75229  return *this;
75230  }
75231 
75234  {
75235  multiviewTessellationShader = multiviewTessellationShader_;
75236  return *this;
75237  }
75238 
75241  {
75242  variablePointersStorageBuffer = variablePointersStorageBuffer_;
75243  return *this;
75244  }
75245 
75247  {
75248  variablePointers = variablePointers_;
75249  return *this;
75250  }
75251 
75253  {
75254  protectedMemory = protectedMemory_;
75255  return *this;
75256  }
75257 
75260  {
75261  samplerYcbcrConversion = samplerYcbcrConversion_;
75262  return *this;
75263  }
75264 
75266  {
75267  shaderDrawParameters = shaderDrawParameters_;
75268  return *this;
75269  }
75270 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
75271 
75273  {
75274  return *reinterpret_cast<const VkPhysicalDeviceVulkan11Features *>( this );
75275  }
75276 
75278  {
75279  return *reinterpret_cast<VkPhysicalDeviceVulkan11Features *>( this );
75280  }
75281 
75282 #if defined( VULKAN_HPP_USE_REFLECT )
75283 # if 14 <= VULKAN_HPP_CPP_VERSION
75284  auto
75285 # else
75286  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
75287  void * const &,
75300 # endif
75301  reflect() const VULKAN_HPP_NOEXCEPT
75302  {
75303  return std::tie( sType,
75304  pNext,
75305  storageBuffer16BitAccess,
75306  uniformAndStorageBuffer16BitAccess,
75307  storagePushConstant16,
75308  storageInputOutput16,
75309  multiview,
75310  multiviewGeometryShader,
75311  multiviewTessellationShader,
75312  variablePointersStorageBuffer,
75313  variablePointers,
75314  protectedMemory,
75315  samplerYcbcrConversion,
75316  shaderDrawParameters );
75317  }
75318 #endif
75319 
75320 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
75321  auto operator<=>( PhysicalDeviceVulkan11Features const & ) const = default;
75322 #else
75324  {
75325 # if defined( VULKAN_HPP_USE_REFLECT )
75326  return this->reflect() == rhs.reflect();
75327 # else
75328  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( storageBuffer16BitAccess == rhs.storageBuffer16BitAccess ) &&
75329  ( uniformAndStorageBuffer16BitAccess == rhs.uniformAndStorageBuffer16BitAccess ) && ( storagePushConstant16 == rhs.storagePushConstant16 ) &&
75330  ( storageInputOutput16 == rhs.storageInputOutput16 ) && ( multiview == rhs.multiview ) &&
75331  ( multiviewGeometryShader == rhs.multiviewGeometryShader ) && ( multiviewTessellationShader == rhs.multiviewTessellationShader ) &&
75332  ( variablePointersStorageBuffer == rhs.variablePointersStorageBuffer ) && ( variablePointers == rhs.variablePointers ) &&
75333  ( protectedMemory == rhs.protectedMemory ) && ( samplerYcbcrConversion == rhs.samplerYcbcrConversion ) &&
75334  ( shaderDrawParameters == rhs.shaderDrawParameters );
75335 # endif
75336  }
75337 
75339  {
75340  return !operator==( rhs );
75341  }
75342 #endif
75343 
75344  public:
75345  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceVulkan11Features;
75346  void * pNext = {};
75347  VULKAN_HPP_NAMESPACE::Bool32 storageBuffer16BitAccess = {};
75348  VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer16BitAccess = {};
75349  VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant16 = {};
75350  VULKAN_HPP_NAMESPACE::Bool32 storageInputOutput16 = {};
75352  VULKAN_HPP_NAMESPACE::Bool32 multiviewGeometryShader = {};
75353  VULKAN_HPP_NAMESPACE::Bool32 multiviewTessellationShader = {};
75354  VULKAN_HPP_NAMESPACE::Bool32 variablePointersStorageBuffer = {};
75355  VULKAN_HPP_NAMESPACE::Bool32 variablePointers = {};
75356  VULKAN_HPP_NAMESPACE::Bool32 protectedMemory = {};
75357  VULKAN_HPP_NAMESPACE::Bool32 samplerYcbcrConversion = {};
75358  VULKAN_HPP_NAMESPACE::Bool32 shaderDrawParameters = {};
75359  };
75360 
75361  template <>
75363  {
75365  };
75366 
75368  {
75370 
75371  static const bool allowDuplicate = false;
75372  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceVulkan11Properties;
75373 
75374 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
75376  std::array<uint8_t, VK_UUID_SIZE> const & deviceUUID_ = {},
75377  std::array<uint8_t, VK_UUID_SIZE> const & driverUUID_ = {},
75378  std::array<uint8_t, VK_LUID_SIZE> const & deviceLUID_ = {},
75379  uint32_t deviceNodeMask_ = {},
75380  VULKAN_HPP_NAMESPACE::Bool32 deviceLUIDValid_ = {},
75381  uint32_t subgroupSize_ = {},
75382  VULKAN_HPP_NAMESPACE::ShaderStageFlags subgroupSupportedStages_ = {},
75383  VULKAN_HPP_NAMESPACE::SubgroupFeatureFlags subgroupSupportedOperations_ = {},
75384  VULKAN_HPP_NAMESPACE::Bool32 subgroupQuadOperationsInAllStages_ = {},
75386  uint32_t maxMultiviewViewCount_ = {},
75387  uint32_t maxMultiviewInstanceIndex_ = {},
75388  VULKAN_HPP_NAMESPACE::Bool32 protectedNoFault_ = {},
75389  uint32_t maxPerSetDescriptors_ = {},
75390  VULKAN_HPP_NAMESPACE::DeviceSize maxMemoryAllocationSize_ = {},
75391  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
75392  : pNext( pNext_ )
75393  , deviceUUID( deviceUUID_ )
75394  , driverUUID( driverUUID_ )
75395  , deviceLUID( deviceLUID_ )
75396  , deviceNodeMask( deviceNodeMask_ )
75397  , deviceLUIDValid( deviceLUIDValid_ )
75398  , subgroupSize( subgroupSize_ )
75399  , subgroupSupportedStages( subgroupSupportedStages_ )
75400  , subgroupSupportedOperations( subgroupSupportedOperations_ )
75401  , subgroupQuadOperationsInAllStages( subgroupQuadOperationsInAllStages_ )
75402  , pointClippingBehavior( pointClippingBehavior_ )
75403  , maxMultiviewViewCount( maxMultiviewViewCount_ )
75404  , maxMultiviewInstanceIndex( maxMultiviewInstanceIndex_ )
75405  , protectedNoFault( protectedNoFault_ )
75406  , maxPerSetDescriptors( maxPerSetDescriptors_ )
75407  , maxMemoryAllocationSize( maxMemoryAllocationSize_ )
75408  {
75409  }
75410 
75411  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan11Properties( PhysicalDeviceVulkan11Properties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
75412 
75414  : PhysicalDeviceVulkan11Properties( *reinterpret_cast<PhysicalDeviceVulkan11Properties const *>( &rhs ) )
75415  {
75416  }
75417 
75419 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
75420 
75422  {
75423  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan11Properties const *>( &rhs );
75424  return *this;
75425  }
75426 
75428  {
75429  return *reinterpret_cast<const VkPhysicalDeviceVulkan11Properties *>( this );
75430  }
75431 
75433  {
75434  return *reinterpret_cast<VkPhysicalDeviceVulkan11Properties *>( this );
75435  }
75436 
75437 #if defined( VULKAN_HPP_USE_REFLECT )
75438 # if 14 <= VULKAN_HPP_CPP_VERSION
75439  auto
75440 # else
75441  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
75442  void * const &,
75446  uint32_t const &,
75448  uint32_t const &,
75453  uint32_t const &,
75454  uint32_t const &,
75456  uint32_t const &,
75458 # endif
75459  reflect() const VULKAN_HPP_NOEXCEPT
75460  {
75461  return std::tie( sType,
75462  pNext,
75463  deviceUUID,
75464  driverUUID,
75465  deviceLUID,
75466  deviceNodeMask,
75467  deviceLUIDValid,
75468  subgroupSize,
75469  subgroupSupportedStages,
75470  subgroupSupportedOperations,
75471  subgroupQuadOperationsInAllStages,
75472  pointClippingBehavior,
75473  maxMultiviewViewCount,
75474  maxMultiviewInstanceIndex,
75475  protectedNoFault,
75476  maxPerSetDescriptors,
75477  maxMemoryAllocationSize );
75478  }
75479 #endif
75480 
75481 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
75482  auto operator<=>( PhysicalDeviceVulkan11Properties const & ) const = default;
75483 #else
75485  {
75486 # if defined( VULKAN_HPP_USE_REFLECT )
75487  return this->reflect() == rhs.reflect();
75488 # else
75489  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( deviceUUID == rhs.deviceUUID ) && ( driverUUID == rhs.driverUUID ) &&
75490  ( deviceLUID == rhs.deviceLUID ) && ( deviceNodeMask == rhs.deviceNodeMask ) && ( deviceLUIDValid == rhs.deviceLUIDValid ) &&
75491  ( subgroupSize == rhs.subgroupSize ) && ( subgroupSupportedStages == rhs.subgroupSupportedStages ) &&
75492  ( subgroupSupportedOperations == rhs.subgroupSupportedOperations ) &&
75493  ( subgroupQuadOperationsInAllStages == rhs.subgroupQuadOperationsInAllStages ) && ( pointClippingBehavior == rhs.pointClippingBehavior ) &&
75494  ( maxMultiviewViewCount == rhs.maxMultiviewViewCount ) && ( maxMultiviewInstanceIndex == rhs.maxMultiviewInstanceIndex ) &&
75495  ( protectedNoFault == rhs.protectedNoFault ) && ( maxPerSetDescriptors == rhs.maxPerSetDescriptors ) &&
75496  ( maxMemoryAllocationSize == rhs.maxMemoryAllocationSize );
75497 # endif
75498  }
75499 
75501  {
75502  return !operator==( rhs );
75503  }
75504 #endif
75505 
75506  public:
75507  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceVulkan11Properties;
75508  void * pNext = {};
75512  uint32_t deviceNodeMask = {};
75513  VULKAN_HPP_NAMESPACE::Bool32 deviceLUIDValid = {};
75514  uint32_t subgroupSize = {};
75515  VULKAN_HPP_NAMESPACE::ShaderStageFlags subgroupSupportedStages = {};
75516  VULKAN_HPP_NAMESPACE::SubgroupFeatureFlags subgroupSupportedOperations = {};
75517  VULKAN_HPP_NAMESPACE::Bool32 subgroupQuadOperationsInAllStages = {};
75519  uint32_t maxMultiviewViewCount = {};
75520  uint32_t maxMultiviewInstanceIndex = {};
75521  VULKAN_HPP_NAMESPACE::Bool32 protectedNoFault = {};
75522  uint32_t maxPerSetDescriptors = {};
75523  VULKAN_HPP_NAMESPACE::DeviceSize maxMemoryAllocationSize = {};
75524  };
75525 
75526  template <>
75528  {
75530  };
75531 
75533  {
75535 
75536  static const bool allowDuplicate = false;
75537  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceVulkan12Features;
75538 
75539 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
75541  VULKAN_HPP_NAMESPACE::Bool32 drawIndirectCount_ = {},
75542  VULKAN_HPP_NAMESPACE::Bool32 storageBuffer8BitAccess_ = {},
75543  VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer8BitAccess_ = {},
75544  VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant8_ = {},
75545  VULKAN_HPP_NAMESPACE::Bool32 shaderBufferInt64Atomics_ = {},
75546  VULKAN_HPP_NAMESPACE::Bool32 shaderSharedInt64Atomics_ = {},
75547  VULKAN_HPP_NAMESPACE::Bool32 shaderFloat16_ = {},
75548  VULKAN_HPP_NAMESPACE::Bool32 shaderInt8_ = {},
75549  VULKAN_HPP_NAMESPACE::Bool32 descriptorIndexing_ = {},
75550  VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayDynamicIndexing_ = {},
75551  VULKAN_HPP_NAMESPACE::Bool32 shaderUniformTexelBufferArrayDynamicIndexing_ = {},
75552  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageTexelBufferArrayDynamicIndexing_ = {},
75553  VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayNonUniformIndexing_ = {},
75554  VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayNonUniformIndexing_ = {},
75555  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayNonUniformIndexing_ = {},
75556  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayNonUniformIndexing_ = {},
75557  VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayNonUniformIndexing_ = {},
75558  VULKAN_HPP_NAMESPACE::Bool32 shaderUniformTexelBufferArrayNonUniformIndexing_ = {},
75559  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageTexelBufferArrayNonUniformIndexing_ = {},
75560  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUniformBufferUpdateAfterBind_ = {},
75561  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingSampledImageUpdateAfterBind_ = {},
75562  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageImageUpdateAfterBind_ = {},
75563  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageBufferUpdateAfterBind_ = {},
75564  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUniformTexelBufferUpdateAfterBind_ = {},
75565  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageTexelBufferUpdateAfterBind_ = {},
75566  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUpdateUnusedWhilePending_ = {},
75567  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingPartiallyBound_ = {},
75568  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingVariableDescriptorCount_ = {},
75569  VULKAN_HPP_NAMESPACE::Bool32 runtimeDescriptorArray_ = {},
75570  VULKAN_HPP_NAMESPACE::Bool32 samplerFilterMinmax_ = {},
75571  VULKAN_HPP_NAMESPACE::Bool32 scalarBlockLayout_ = {},
75572  VULKAN_HPP_NAMESPACE::Bool32 imagelessFramebuffer_ = {},
75573  VULKAN_HPP_NAMESPACE::Bool32 uniformBufferStandardLayout_ = {},
75574  VULKAN_HPP_NAMESPACE::Bool32 shaderSubgroupExtendedTypes_ = {},
75575  VULKAN_HPP_NAMESPACE::Bool32 separateDepthStencilLayouts_ = {},
75576  VULKAN_HPP_NAMESPACE::Bool32 hostQueryReset_ = {},
75577  VULKAN_HPP_NAMESPACE::Bool32 timelineSemaphore_ = {},
75578  VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddress_ = {},
75579  VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressCaptureReplay_ = {},
75580  VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressMultiDevice_ = {},
75581  VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModel_ = {},
75582  VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModelDeviceScope_ = {},
75583  VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModelAvailabilityVisibilityChains_ = {},
75584  VULKAN_HPP_NAMESPACE::Bool32 shaderOutputViewportIndex_ = {},
75585  VULKAN_HPP_NAMESPACE::Bool32 shaderOutputLayer_ = {},
75586  VULKAN_HPP_NAMESPACE::Bool32 subgroupBroadcastDynamicId_ = {},
75587  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
75588  : pNext( pNext_ )
75589  , samplerMirrorClampToEdge( samplerMirrorClampToEdge_ )
75590  , drawIndirectCount( drawIndirectCount_ )
75591  , storageBuffer8BitAccess( storageBuffer8BitAccess_ )
75592  , uniformAndStorageBuffer8BitAccess( uniformAndStorageBuffer8BitAccess_ )
75593  , storagePushConstant8( storagePushConstant8_ )
75594  , shaderBufferInt64Atomics( shaderBufferInt64Atomics_ )
75595  , shaderSharedInt64Atomics( shaderSharedInt64Atomics_ )
75596  , shaderFloat16( shaderFloat16_ )
75597  , shaderInt8( shaderInt8_ )
75598  , descriptorIndexing( descriptorIndexing_ )
75599  , shaderInputAttachmentArrayDynamicIndexing( shaderInputAttachmentArrayDynamicIndexing_ )
75600  , shaderUniformTexelBufferArrayDynamicIndexing( shaderUniformTexelBufferArrayDynamicIndexing_ )
75601  , shaderStorageTexelBufferArrayDynamicIndexing( shaderStorageTexelBufferArrayDynamicIndexing_ )
75602  , shaderUniformBufferArrayNonUniformIndexing( shaderUniformBufferArrayNonUniformIndexing_ )
75603  , shaderSampledImageArrayNonUniformIndexing( shaderSampledImageArrayNonUniformIndexing_ )
75604  , shaderStorageBufferArrayNonUniformIndexing( shaderStorageBufferArrayNonUniformIndexing_ )
75605  , shaderStorageImageArrayNonUniformIndexing( shaderStorageImageArrayNonUniformIndexing_ )
75606  , shaderInputAttachmentArrayNonUniformIndexing( shaderInputAttachmentArrayNonUniformIndexing_ )
75607  , shaderUniformTexelBufferArrayNonUniformIndexing( shaderUniformTexelBufferArrayNonUniformIndexing_ )
75608  , shaderStorageTexelBufferArrayNonUniformIndexing( shaderStorageTexelBufferArrayNonUniformIndexing_ )
75609  , descriptorBindingUniformBufferUpdateAfterBind( descriptorBindingUniformBufferUpdateAfterBind_ )
75610  , descriptorBindingSampledImageUpdateAfterBind( descriptorBindingSampledImageUpdateAfterBind_ )
75611  , descriptorBindingStorageImageUpdateAfterBind( descriptorBindingStorageImageUpdateAfterBind_ )
75612  , descriptorBindingStorageBufferUpdateAfterBind( descriptorBindingStorageBufferUpdateAfterBind_ )
75613  , descriptorBindingUniformTexelBufferUpdateAfterBind( descriptorBindingUniformTexelBufferUpdateAfterBind_ )
75614  , descriptorBindingStorageTexelBufferUpdateAfterBind( descriptorBindingStorageTexelBufferUpdateAfterBind_ )
75615  , descriptorBindingUpdateUnusedWhilePending( descriptorBindingUpdateUnusedWhilePending_ )
75616  , descriptorBindingPartiallyBound( descriptorBindingPartiallyBound_ )
75617  , descriptorBindingVariableDescriptorCount( descriptorBindingVariableDescriptorCount_ )
75618  , runtimeDescriptorArray( runtimeDescriptorArray_ )
75619  , samplerFilterMinmax( samplerFilterMinmax_ )
75620  , scalarBlockLayout( scalarBlockLayout_ )
75621  , imagelessFramebuffer( imagelessFramebuffer_ )
75622  , uniformBufferStandardLayout( uniformBufferStandardLayout_ )
75623  , shaderSubgroupExtendedTypes( shaderSubgroupExtendedTypes_ )
75624  , separateDepthStencilLayouts( separateDepthStencilLayouts_ )
75625  , hostQueryReset( hostQueryReset_ )
75626  , timelineSemaphore( timelineSemaphore_ )
75627  , bufferDeviceAddress( bufferDeviceAddress_ )
75628  , bufferDeviceAddressCaptureReplay( bufferDeviceAddressCaptureReplay_ )
75629  , bufferDeviceAddressMultiDevice( bufferDeviceAddressMultiDevice_ )
75630  , vulkanMemoryModel( vulkanMemoryModel_ )
75631  , vulkanMemoryModelDeviceScope( vulkanMemoryModelDeviceScope_ )
75632  , vulkanMemoryModelAvailabilityVisibilityChains( vulkanMemoryModelAvailabilityVisibilityChains_ )
75633  , shaderOutputViewportIndex( shaderOutputViewportIndex_ )
75634  , shaderOutputLayer( shaderOutputLayer_ )
75635  , subgroupBroadcastDynamicId( subgroupBroadcastDynamicId_ )
75636  {
75637  }
75638 
75639  VULKAN_HPP_CONSTEXPR PhysicalDeviceVulkan12Features( PhysicalDeviceVulkan12Features const & rhs ) VULKAN_HPP_NOEXCEPT = default;
75640 
75642  : PhysicalDeviceVulkan12Features( *reinterpret_cast<PhysicalDeviceVulkan12Features const *>( &rhs ) )
75643  {
75644  }
75645 
75647 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
75648 
75650  {
75651  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan12Features const *>( &rhs );
75652  return *this;
75653  }
75654 
75655 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
75657  {
75658  pNext = pNext_;
75659  return *this;
75660  }
75661 
75664  {
75665  samplerMirrorClampToEdge = samplerMirrorClampToEdge_;
75666  return *this;
75667  }
75668 
75670  {
75671  drawIndirectCount = drawIndirectCount_;
75672  return *this;
75673  }
75674 
75677  {
75678  storageBuffer8BitAccess = storageBuffer8BitAccess_;
75679  return *this;
75680  }
75681 
75684  {
75685  uniformAndStorageBuffer8BitAccess = uniformAndStorageBuffer8BitAccess_;
75686  return *this;
75687  }
75688 
75690  {
75691  storagePushConstant8 = storagePushConstant8_;
75692  return *this;
75693  }
75694 
75697  {
75698  shaderBufferInt64Atomics = shaderBufferInt64Atomics_;
75699  return *this;
75700  }
75701 
75704  {
75705  shaderSharedInt64Atomics = shaderSharedInt64Atomics_;
75706  return *this;
75707  }
75708 
75710  {
75711  shaderFloat16 = shaderFloat16_;
75712  return *this;
75713  }
75714 
75716  {
75717  shaderInt8 = shaderInt8_;
75718  return *this;
75719  }
75720 
75722  {
75723  descriptorIndexing = descriptorIndexing_;
75724  return *this;
75725  }
75726 
75729  {
75730  shaderInputAttachmentArrayDynamicIndexing = shaderInputAttachmentArrayDynamicIndexing_;
75731  return *this;
75732  }
75733 
75736  {
75737  shaderUniformTexelBufferArrayDynamicIndexing = shaderUniformTexelBufferArrayDynamicIndexing_;
75738  return *this;
75739  }
75740 
75743  {
75744  shaderStorageTexelBufferArrayDynamicIndexing = shaderStorageTexelBufferArrayDynamicIndexing_;
75745  return *this;
75746  }
75747 
75750  {
75751  shaderUniformBufferArrayNonUniformIndexing = shaderUniformBufferArrayNonUniformIndexing_;
75752  return *this;
75753  }
75754 
75757  {
75758  shaderSampledImageArrayNonUniformIndexing = shaderSampledImageArrayNonUniformIndexing_;
75759  return *this;
75760  }
75761 
75764  {
75765  shaderStorageBufferArrayNonUniformIndexing = shaderStorageBufferArrayNonUniformIndexing_;
75766  return *this;
75767  }
75768 
75771  {
75772  shaderStorageImageArrayNonUniformIndexing = shaderStorageImageArrayNonUniformIndexing_;
75773  return *this;
75774  }
75775 
75778  {
75779  shaderInputAttachmentArrayNonUniformIndexing = shaderInputAttachmentArrayNonUniformIndexing_;
75780  return *this;
75781  }
75782 
75785  {
75786  shaderUniformTexelBufferArrayNonUniformIndexing = shaderUniformTexelBufferArrayNonUniformIndexing_;
75787  return *this;
75788  }
75789 
75792  {
75793  shaderStorageTexelBufferArrayNonUniformIndexing = shaderStorageTexelBufferArrayNonUniformIndexing_;
75794  return *this;
75795  }
75796 
75799  {
75800  descriptorBindingUniformBufferUpdateAfterBind = descriptorBindingUniformBufferUpdateAfterBind_;
75801  return *this;
75802  }
75803 
75806  {
75807  descriptorBindingSampledImageUpdateAfterBind = descriptorBindingSampledImageUpdateAfterBind_;
75808  return *this;
75809  }
75810 
75813  {
75814  descriptorBindingStorageImageUpdateAfterBind = descriptorBindingStorageImageUpdateAfterBind_;
75815  return *this;
75816  }
75817 
75820  {
75821  descriptorBindingStorageBufferUpdateAfterBind = descriptorBindingStorageBufferUpdateAfterBind_;
75822  return *this;
75823  }
75824 
75826  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUniformTexelBufferUpdateAfterBind_ ) VULKAN_HPP_NOEXCEPT
75827  {
75828  descriptorBindingUniformTexelBufferUpdateAfterBind = descriptorBindingUniformTexelBufferUpdateAfterBind_;
75829  return *this;
75830  }
75831 
75833  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageTexelBufferUpdateAfterBind_ ) VULKAN_HPP_NOEXCEPT
75834  {
75835  descriptorBindingStorageTexelBufferUpdateAfterBind = descriptorBindingStorageTexelBufferUpdateAfterBind_;
75836  return *this;
75837  }
75838 
75841  {
75842  descriptorBindingUpdateUnusedWhilePending = descriptorBindingUpdateUnusedWhilePending_;
75843  return *this;
75844  }
75845 
75848  {
75849  descriptorBindingPartiallyBound = descriptorBindingPartiallyBound_;
75850  return *this;
75851  }
75852 
75855  {
75856  descriptorBindingVariableDescriptorCount = descriptorBindingVariableDescriptorCount_;
75857  return *this;
75858  }
75859 
75862  {
75863  runtimeDescriptorArray = runtimeDescriptorArray_;
75864  return *this;
75865  }
75866 
75868  {
75869  samplerFilterMinmax = samplerFilterMinmax_;
75870  return *this;
75871  }
75872 
75874  {
75875  scalarBlockLayout = scalarBlockLayout_;
75876  return *this;
75877  }
75878 
75880  {
75881  imagelessFramebuffer = imagelessFramebuffer_;
75882  return *this;
75883  }
75884 
75887  {
75888  uniformBufferStandardLayout = uniformBufferStandardLayout_;
75889  return *this;
75890  }
75891 
75894  {
75895  shaderSubgroupExtendedTypes = shaderSubgroupExtendedTypes_;
75896  return *this;
75897  }
75898 
75901  {
75902  separateDepthStencilLayouts = separateDepthStencilLayouts_;
75903  return *this;
75904  }
75905 
75907  {
75908  hostQueryReset = hostQueryReset_;
75909  return *this;
75910  }
75911 
75913  {
75914  timelineSemaphore = timelineSemaphore_;
75915  return *this;
75916  }
75917 
75919  {
75920  bufferDeviceAddress = bufferDeviceAddress_;
75921  return *this;
75922  }
75923 
75926  {
75927  bufferDeviceAddressCaptureReplay = bufferDeviceAddressCaptureReplay_;
75928  return *this;
75929  }
75930 
75933  {
75934  bufferDeviceAddressMultiDevice = bufferDeviceAddressMultiDevice_;
75935  return *this;
75936  }
75937 
75939  {
75940  vulkanMemoryModel = vulkanMemoryModel_;
75941  return *this;
75942  }
75943 
75946  {
75947  vulkanMemoryModelDeviceScope = vulkanMemoryModelDeviceScope_;
75948  return *this;
75949  }
75950 
75953  {
75954  vulkanMemoryModelAvailabilityVisibilityChains = vulkanMemoryModelAvailabilityVisibilityChains_;
75955  return *this;
75956  }
75957 
75960  {
75961  shaderOutputViewportIndex = shaderOutputViewportIndex_;
75962  return *this;
75963  }
75964 
75966  {
75967  shaderOutputLayer = shaderOutputLayer_;
75968  return *this;
75969  }
75970 
75973  {
75974  subgroupBroadcastDynamicId = subgroupBroadcastDynamicId_;
75975  return *this;
75976  }
75977 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
75978 
75980  {
75981  return *reinterpret_cast<const VkPhysicalDeviceVulkan12Features *>( this );
75982  }
75983 
75985  {
75986  return *reinterpret_cast<VkPhysicalDeviceVulkan12Features *>( this );
75987  }
75988 
75989 #if defined( VULKAN_HPP_USE_REFLECT )
75990 # if 14 <= VULKAN_HPP_CPP_VERSION
75991  auto
75992 # else
75993  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
75994  void * const &,
76042 # endif
76043  reflect() const VULKAN_HPP_NOEXCEPT
76044  {
76045  return std::tie( sType,
76046  pNext,
76047  samplerMirrorClampToEdge,
76048  drawIndirectCount,
76049  storageBuffer8BitAccess,
76050  uniformAndStorageBuffer8BitAccess,
76051  storagePushConstant8,
76052  shaderBufferInt64Atomics,
76053  shaderSharedInt64Atomics,
76054  shaderFloat16,
76055  shaderInt8,
76056  descriptorIndexing,
76057  shaderInputAttachmentArrayDynamicIndexing,
76058  shaderUniformTexelBufferArrayDynamicIndexing,
76059  shaderStorageTexelBufferArrayDynamicIndexing,
76060  shaderUniformBufferArrayNonUniformIndexing,
76061  shaderSampledImageArrayNonUniformIndexing,
76062  shaderStorageBufferArrayNonUniformIndexing,
76063  shaderStorageImageArrayNonUniformIndexing,
76064  shaderInputAttachmentArrayNonUniformIndexing,
76065  shaderUniformTexelBufferArrayNonUniformIndexing,
76066  shaderStorageTexelBufferArrayNonUniformIndexing,
76067  descriptorBindingUniformBufferUpdateAfterBind,
76068  descriptorBindingSampledImageUpdateAfterBind,
76069  descriptorBindingStorageImageUpdateAfterBind,
76070  descriptorBindingStorageBufferUpdateAfterBind,
76071  descriptorBindingUniformTexelBufferUpdateAfterBind,
76072  descriptorBindingStorageTexelBufferUpdateAfterBind,
76073  descriptorBindingUpdateUnusedWhilePending,
76074  descriptorBindingPartiallyBound,
76075  descriptorBindingVariableDescriptorCount,
76076  runtimeDescriptorArray,
76077  samplerFilterMinmax,
76078  scalarBlockLayout,
76079  imagelessFramebuffer,
76080  uniformBufferStandardLayout,
76081  shaderSubgroupExtendedTypes,
76082  separateDepthStencilLayouts,
76083  hostQueryReset,
76084  timelineSemaphore,
76085  bufferDeviceAddress,
76086  bufferDeviceAddressCaptureReplay,
76087  bufferDeviceAddressMultiDevice,
76088  vulkanMemoryModel,
76089  vulkanMemoryModelDeviceScope,
76090  vulkanMemoryModelAvailabilityVisibilityChains,
76091  shaderOutputViewportIndex,
76092  shaderOutputLayer,
76093  subgroupBroadcastDynamicId );
76094  }
76095 #endif
76096 
76097 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
76098  auto operator<=>( PhysicalDeviceVulkan12Features const & ) const = default;
76099 #else
76101  {
76102 # if defined( VULKAN_HPP_USE_REFLECT )
76103  return this->reflect() == rhs.reflect();
76104 # else
76105  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( samplerMirrorClampToEdge == rhs.samplerMirrorClampToEdge ) &&
76106  ( drawIndirectCount == rhs.drawIndirectCount ) && ( storageBuffer8BitAccess == rhs.storageBuffer8BitAccess ) &&
76107  ( uniformAndStorageBuffer8BitAccess == rhs.uniformAndStorageBuffer8BitAccess ) && ( storagePushConstant8 == rhs.storagePushConstant8 ) &&
76108  ( shaderBufferInt64Atomics == rhs.shaderBufferInt64Atomics ) && ( shaderSharedInt64Atomics == rhs.shaderSharedInt64Atomics ) &&
76109  ( shaderFloat16 == rhs.shaderFloat16 ) && ( shaderInt8 == rhs.shaderInt8 ) && ( descriptorIndexing == rhs.descriptorIndexing ) &&
76110  ( shaderInputAttachmentArrayDynamicIndexing == rhs.shaderInputAttachmentArrayDynamicIndexing ) &&
76111  ( shaderUniformTexelBufferArrayDynamicIndexing == rhs.shaderUniformTexelBufferArrayDynamicIndexing ) &&
76112  ( shaderStorageTexelBufferArrayDynamicIndexing == rhs.shaderStorageTexelBufferArrayDynamicIndexing ) &&
76113  ( shaderUniformBufferArrayNonUniformIndexing == rhs.shaderUniformBufferArrayNonUniformIndexing ) &&
76114  ( shaderSampledImageArrayNonUniformIndexing == rhs.shaderSampledImageArrayNonUniformIndexing ) &&
76115  ( shaderStorageBufferArrayNonUniformIndexing == rhs.shaderStorageBufferArrayNonUniformIndexing ) &&
76116  ( shaderStorageImageArrayNonUniformIndexing == rhs.shaderStorageImageArrayNonUniformIndexing ) &&
76117  ( shaderInputAttachmentArrayNonUniformIndexing == rhs.shaderInputAttachmentArrayNonUniformIndexing ) &&
76118  ( shaderUniformTexelBufferArrayNonUniformIndexing == rhs.shaderUniformTexelBufferArrayNonUniformIndexing ) &&
76119  ( shaderStorageTexelBufferArrayNonUniformIndexing == rhs.shaderStorageTexelBufferArrayNonUniformIndexing ) &&
76120  ( descriptorBindingUniformBufferUpdateAfterBind == rhs.descriptorBindingUniformBufferUpdateAfterBind ) &&
76121  ( descriptorBindingSampledImageUpdateAfterBind == rhs.descriptorBindingSampledImageUpdateAfterBind ) &&
76122  ( descriptorBindingStorageImageUpdateAfterBind == rhs.descriptorBindingStorageImageUpdateAfterBind ) &&
76123  ( descriptorBindingStorageBufferUpdateAfterBind == rhs.descriptorBindingStorageBufferUpdateAfterBind ) &&
76124  ( descriptorBindingUniformTexelBufferUpdateAfterBind == rhs.descriptorBindingUniformTexelBufferUpdateAfterBind ) &&
76125  ( descriptorBindingStorageTexelBufferUpdateAfterBind == rhs.descriptorBindingStorageTexelBufferUpdateAfterBind ) &&
76126  ( descriptorBindingUpdateUnusedWhilePending == rhs.descriptorBindingUpdateUnusedWhilePending ) &&
76127  ( descriptorBindingPartiallyBound == rhs.descriptorBindingPartiallyBound ) &&
76128  ( descriptorBindingVariableDescriptorCount == rhs.descriptorBindingVariableDescriptorCount ) &&
76129  ( runtimeDescriptorArray == rhs.runtimeDescriptorArray ) && ( samplerFilterMinmax == rhs.samplerFilterMinmax ) &&
76130  ( scalarBlockLayout == rhs.scalarBlockLayout ) && ( imagelessFramebuffer == rhs.imagelessFramebuffer ) &&
76131  ( uniformBufferStandardLayout == rhs.uniformBufferStandardLayout ) && ( shaderSubgroupExtendedTypes == rhs.shaderSubgroupExtendedTypes ) &&
76132  ( separateDepthStencilLayouts == rhs.separateDepthStencilLayouts ) && ( hostQueryReset == rhs.hostQueryReset ) &&
76133  ( timelineSemaphore == rhs.timelineSemaphore ) && ( bufferDeviceAddress == rhs.bufferDeviceAddress ) &&
76134  ( bufferDeviceAddressCaptureReplay == rhs.bufferDeviceAddressCaptureReplay ) &&
76135  ( bufferDeviceAddressMultiDevice == rhs.bufferDeviceAddressMultiDevice ) && ( vulkanMemoryModel == rhs.vulkanMemoryModel ) &&
76136  ( vulkanMemoryModelDeviceScope == rhs.vulkanMemoryModelDeviceScope ) &&
76137  ( vulkanMemoryModelAvailabilityVisibilityChains == rhs.vulkanMemoryModelAvailabilityVisibilityChains ) &&
76138  ( shaderOutputViewportIndex == rhs.shaderOutputViewportIndex ) && ( shaderOutputLayer == rhs.shaderOutputLayer ) &&
76139  ( subgroupBroadcastDynamicId == rhs.subgroupBroadcastDynamicId );
76140 # endif
76141  }
76142 
76144  {
76145  return !operator==( rhs );
76146  }
76147 #endif
76148 
76149  public:
76150  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceVulkan12Features;
76151  void * pNext = {};
76152  VULKAN_HPP_NAMESPACE::Bool32 samplerMirrorClampToEdge = {};
76153  VULKAN_HPP_NAMESPACE::Bool32 drawIndirectCount = {};
76154  VULKAN_HPP_NAMESPACE::Bool32 storageBuffer8BitAccess = {};
76155  VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer8BitAccess = {};
76156  VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant8 = {};
76157  VULKAN_HPP_NAMESPACE::Bool32 shaderBufferInt64Atomics = {};
76158  VULKAN_HPP_NAMESPACE::Bool32 shaderSharedInt64Atomics = {};
76159  VULKAN_HPP_NAMESPACE::Bool32 shaderFloat16 = {};
76161  VULKAN_HPP_NAMESPACE::Bool32 descriptorIndexing = {};
76162  VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayDynamicIndexing = {};
76163  VULKAN_HPP_NAMESPACE::Bool32 shaderUniformTexelBufferArrayDynamicIndexing = {};
76164  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageTexelBufferArrayDynamicIndexing = {};
76165  VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayNonUniformIndexing = {};
76166  VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayNonUniformIndexing = {};
76167  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayNonUniformIndexing = {};
76168  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayNonUniformIndexing = {};
76169  VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayNonUniformIndexing = {};
76170  VULKAN_HPP_NAMESPACE::Bool32 shaderUniformTexelBufferArrayNonUniformIndexing = {};
76171  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageTexelBufferArrayNonUniformIndexing = {};
76172  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUniformBufferUpdateAfterBind = {};
76173  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingSampledImageUpdateAfterBind = {};
76174  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageImageUpdateAfterBind = {};
76175  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageBufferUpdateAfterBind = {};
76176  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUniformTexelBufferUpdateAfterBind = {};
76177  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageTexelBufferUpdateAfterBind = {};
76178  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUpdateUnusedWhilePending = {};
76179  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingPartiallyBound = {};
76180  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingVariableDescriptorCount = {};
76181  VULKAN_HPP_NAMESPACE::Bool32 runtimeDescriptorArray = {};
76182  VULKAN_HPP_NAMESPACE::Bool32 samplerFilterMinmax = {};
76183  VULKAN_HPP_NAMESPACE::Bool32 scalarBlockLayout = {};
76184  VULKAN_HPP_NAMESPACE::Bool32 imagelessFramebuffer = {};
76185  VULKAN_HPP_NAMESPACE::Bool32 uniformBufferStandardLayout = {};
76186  VULKAN_HPP_NAMESPACE::Bool32 shaderSubgroupExtendedTypes = {};
76187  VULKAN_HPP_NAMESPACE::Bool32 separateDepthStencilLayouts = {};
76188  VULKAN_HPP_NAMESPACE::Bool32 hostQueryReset = {};
76189  VULKAN_HPP_NAMESPACE::Bool32 timelineSemaphore = {};
76190  VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddress = {};
76191  VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressCaptureReplay = {};
76192  VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressMultiDevice = {};
76193  VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModel = {};
76194  VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModelDeviceScope = {};
76195  VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModelAvailabilityVisibilityChains = {};
76196  VULKAN_HPP_NAMESPACE::Bool32 shaderOutputViewportIndex = {};
76197  VULKAN_HPP_NAMESPACE::Bool32 shaderOutputLayer = {};
76198  VULKAN_HPP_NAMESPACE::Bool32 subgroupBroadcastDynamicId = {};
76199  };
76200 
76201  template <>
76203  {
76205  };
76206 
76208  {
76210 
76211  static const bool allowDuplicate = false;
76212  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceVulkan12Properties;
76213 
76214 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
76217  std::array<char, VK_MAX_DRIVER_NAME_SIZE> const & driverName_ = {},
76218  std::array<char, VK_MAX_DRIVER_INFO_SIZE> const & driverInfo_ = {},
76219  VULKAN_HPP_NAMESPACE::ConformanceVersion conformanceVersion_ = {},
76222  VULKAN_HPP_NAMESPACE::Bool32 shaderSignedZeroInfNanPreserveFloat16_ = {},
76223  VULKAN_HPP_NAMESPACE::Bool32 shaderSignedZeroInfNanPreserveFloat32_ = {},
76224  VULKAN_HPP_NAMESPACE::Bool32 shaderSignedZeroInfNanPreserveFloat64_ = {},
76225  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat16_ = {},
76226  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat32_ = {},
76227  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat64_ = {},
76228  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat16_ = {},
76229  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat32_ = {},
76230  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat64_ = {},
76231  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat16_ = {},
76232  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat32_ = {},
76233  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat64_ = {},
76234  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat16_ = {},
76235  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat32_ = {},
76236  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat64_ = {},
76237  uint32_t maxUpdateAfterBindDescriptorsInAllPools_ = {},
76238  VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayNonUniformIndexingNative_ = {},
76239  VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayNonUniformIndexingNative_ = {},
76240  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayNonUniformIndexingNative_ = {},
76241  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayNonUniformIndexingNative_ = {},
76242  VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayNonUniformIndexingNative_ = {},
76243  VULKAN_HPP_NAMESPACE::Bool32 robustBufferAccessUpdateAfterBind_ = {},
76244  VULKAN_HPP_NAMESPACE::Bool32 quadDivergentImplicitLod_ = {},
76245  uint32_t maxPerStageDescriptorUpdateAfterBindSamplers_ = {},
76246  uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers_ = {},
76247  uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers_ = {},
76248  uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages_ = {},
76249  uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages_ = {},
76250  uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments_ = {},
76251  uint32_t maxPerStageUpdateAfterBindResources_ = {},
76252  uint32_t maxDescriptorSetUpdateAfterBindSamplers_ = {},
76253  uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers_ = {},
76254  uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic_ = {},
76255  uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers_ = {},
76256  uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic_ = {},
76257  uint32_t maxDescriptorSetUpdateAfterBindSampledImages_ = {},
76258  uint32_t maxDescriptorSetUpdateAfterBindStorageImages_ = {},
76259  uint32_t maxDescriptorSetUpdateAfterBindInputAttachments_ = {},
76260  VULKAN_HPP_NAMESPACE::ResolveModeFlags supportedDepthResolveModes_ = {},
76261  VULKAN_HPP_NAMESPACE::ResolveModeFlags supportedStencilResolveModes_ = {},
76262  VULKAN_HPP_NAMESPACE::Bool32 independentResolveNone_ = {},
76263  VULKAN_HPP_NAMESPACE::Bool32 independentResolve_ = {},
76264  VULKAN_HPP_NAMESPACE::Bool32 filterMinmaxSingleComponentFormats_ = {},
76265  VULKAN_HPP_NAMESPACE::Bool32 filterMinmaxImageComponentMapping_ = {},
76266  uint64_t maxTimelineSemaphoreValueDifference_ = {},
76267  VULKAN_HPP_NAMESPACE::SampleCountFlags framebufferIntegerColorSampleCounts_ = {},
76268  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
76269  : pNext( pNext_ )
76270  , driverID( driverID_ )
76271  , driverName( driverName_ )
76272  , driverInfo( driverInfo_ )
76273  , conformanceVersion( conformanceVersion_ )
76274  , denormBehaviorIndependence( denormBehaviorIndependence_ )
76275  , roundingModeIndependence( roundingModeIndependence_ )
76276  , shaderSignedZeroInfNanPreserveFloat16( shaderSignedZeroInfNanPreserveFloat16_ )
76277  , shaderSignedZeroInfNanPreserveFloat32( shaderSignedZeroInfNanPreserveFloat32_ )
76278  , shaderSignedZeroInfNanPreserveFloat64( shaderSignedZeroInfNanPreserveFloat64_ )
76279  , shaderDenormPreserveFloat16( shaderDenormPreserveFloat16_ )
76280  , shaderDenormPreserveFloat32( shaderDenormPreserveFloat32_ )
76281  , shaderDenormPreserveFloat64( shaderDenormPreserveFloat64_ )
76282  , shaderDenormFlushToZeroFloat16( shaderDenormFlushToZeroFloat16_ )
76283  , shaderDenormFlushToZeroFloat32( shaderDenormFlushToZeroFloat32_ )
76284  , shaderDenormFlushToZeroFloat64( shaderDenormFlushToZeroFloat64_ )
76285  , shaderRoundingModeRTEFloat16( shaderRoundingModeRTEFloat16_ )
76286  , shaderRoundingModeRTEFloat32( shaderRoundingModeRTEFloat32_ )
76287  , shaderRoundingModeRTEFloat64( shaderRoundingModeRTEFloat64_ )
76288  , shaderRoundingModeRTZFloat16( shaderRoundingModeRTZFloat16_ )
76289  , shaderRoundingModeRTZFloat32( shaderRoundingModeRTZFloat32_ )
76290  , shaderRoundingModeRTZFloat64( shaderRoundingModeRTZFloat64_ )
76291  , maxUpdateAfterBindDescriptorsInAllPools( maxUpdateAfterBindDescriptorsInAllPools_ )
76292  , shaderUniformBufferArrayNonUniformIndexingNative( shaderUniformBufferArrayNonUniformIndexingNative_ )
76293  , shaderSampledImageArrayNonUniformIndexingNative( shaderSampledImageArrayNonUniformIndexingNative_ )
76294  , shaderStorageBufferArrayNonUniformIndexingNative( shaderStorageBufferArrayNonUniformIndexingNative_ )
76295  , shaderStorageImageArrayNonUniformIndexingNative( shaderStorageImageArrayNonUniformIndexingNative_ )
76296  , shaderInputAttachmentArrayNonUniformIndexingNative( shaderInputAttachmentArrayNonUniformIndexingNative_ )
76297  , robustBufferAccessUpdateAfterBind( robustBufferAccessUpdateAfterBind_ )
76298  , quadDivergentImplicitLod( quadDivergentImplicitLod_ )
76299  , maxPerStageDescriptorUpdateAfterBindSamplers( maxPerStageDescriptorUpdateAfterBindSamplers_ )
76300  , maxPerStageDescriptorUpdateAfterBindUniformBuffers( maxPerStageDescriptorUpdateAfterBindUniformBuffers_ )
76301  , maxPerStageDescriptorUpdateAfterBindStorageBuffers( maxPerStageDescriptorUpdateAfterBindStorageBuffers_ )
76302  , maxPerStageDescriptorUpdateAfterBindSampledImages( maxPerStageDescriptorUpdateAfterBindSampledImages_ )
76303  , maxPerStageDescriptorUpdateAfterBindStorageImages( maxPerStageDescriptorUpdateAfterBindStorageImages_ )
76304  , maxPerStageDescriptorUpdateAfterBindInputAttachments( maxPerStageDescriptorUpdateAfterBindInputAttachments_ )
76305  , maxPerStageUpdateAfterBindResources( maxPerStageUpdateAfterBindResources_ )
76306  , maxDescriptorSetUpdateAfterBindSamplers( maxDescriptorSetUpdateAfterBindSamplers_ )
76307  , maxDescriptorSetUpdateAfterBindUniformBuffers( maxDescriptorSetUpdateAfterBindUniformBuffers_ )
76308  , maxDescriptorSetUpdateAfterBindUniformBuffersDynamic( maxDescriptorSetUpdateAfterBindUniformBuffersDynamic_ )
76309  , maxDescriptorSetUpdateAfterBindStorageBuffers( maxDescriptorSetUpdateAfterBindStorageBuffers_ )
76310  , maxDescriptorSetUpdateAfterBindStorageBuffersDynamic( maxDescriptorSetUpdateAfterBindStorageBuffersDynamic_ )
76311  , maxDescriptorSetUpdateAfterBindSampledImages( maxDescriptorSetUpdateAfterBindSampledImages_ )
76312  , maxDescriptorSetUpdateAfterBindStorageImages( maxDescriptorSetUpdateAfterBindStorageImages_ )
76313  , maxDescriptorSetUpdateAfterBindInputAttachments( maxDescriptorSetUpdateAfterBindInputAttachments_ )
76314  , supportedDepthResolveModes( supportedDepthResolveModes_ )
76315  , supportedStencilResolveModes( supportedStencilResolveModes_ )
76316  , independentResolveNone( independentResolveNone_ )
76317  , independentResolve( independentResolve_ )
76318  , filterMinmaxSingleComponentFormats( filterMinmaxSingleComponentFormats_ )
76319  , filterMinmaxImageComponentMapping( filterMinmaxImageComponentMapping_ )
76320  , maxTimelineSemaphoreValueDifference( maxTimelineSemaphoreValueDifference_ )
76321  , framebufferIntegerColorSampleCounts( framebufferIntegerColorSampleCounts_ )
76322  {
76323  }
76324 
76325  VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Properties( PhysicalDeviceVulkan12Properties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
76326 
76328  : PhysicalDeviceVulkan12Properties( *reinterpret_cast<PhysicalDeviceVulkan12Properties const *>( &rhs ) )
76329  {
76330  }
76331 
76333 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
76334 
76336  {
76337  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan12Properties const *>( &rhs );
76338  return *this;
76339  }
76340 
76342  {
76343  return *reinterpret_cast<const VkPhysicalDeviceVulkan12Properties *>( this );
76344  }
76345 
76347  {
76348  return *reinterpret_cast<VkPhysicalDeviceVulkan12Properties *>( this );
76349  }
76350 
76351 #if defined( VULKAN_HPP_USE_REFLECT )
76352 # if 14 <= VULKAN_HPP_CPP_VERSION
76353  auto
76354 # else
76355  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
76356  void * const &,
76378  uint32_t const &,
76386  uint32_t const &,
76387  uint32_t const &,
76388  uint32_t const &,
76389  uint32_t const &,
76390  uint32_t const &,
76391  uint32_t const &,
76392  uint32_t const &,
76393  uint32_t const &,
76394  uint32_t const &,
76395  uint32_t const &,
76396  uint32_t const &,
76397  uint32_t const &,
76398  uint32_t const &,
76399  uint32_t const &,
76400  uint32_t const &,
76407  uint64_t const &,
76409 # endif
76410  reflect() const VULKAN_HPP_NOEXCEPT
76411  {
76412  return std::tie( sType,
76413  pNext,
76414  driverID,
76415  driverName,
76416  driverInfo,
76417  conformanceVersion,
76418  denormBehaviorIndependence,
76419  roundingModeIndependence,
76420  shaderSignedZeroInfNanPreserveFloat16,
76421  shaderSignedZeroInfNanPreserveFloat32,
76422  shaderSignedZeroInfNanPreserveFloat64,
76423  shaderDenormPreserveFloat16,
76424  shaderDenormPreserveFloat32,
76425  shaderDenormPreserveFloat64,
76426  shaderDenormFlushToZeroFloat16,
76427  shaderDenormFlushToZeroFloat32,
76428  shaderDenormFlushToZeroFloat64,
76429  shaderRoundingModeRTEFloat16,
76430  shaderRoundingModeRTEFloat32,
76431  shaderRoundingModeRTEFloat64,
76432  shaderRoundingModeRTZFloat16,
76433  shaderRoundingModeRTZFloat32,
76434  shaderRoundingModeRTZFloat64,
76435  maxUpdateAfterBindDescriptorsInAllPools,
76436  shaderUniformBufferArrayNonUniformIndexingNative,
76437  shaderSampledImageArrayNonUniformIndexingNative,
76438  shaderStorageBufferArrayNonUniformIndexingNative,
76439  shaderStorageImageArrayNonUniformIndexingNative,
76440  shaderInputAttachmentArrayNonUniformIndexingNative,
76441  robustBufferAccessUpdateAfterBind,
76442  quadDivergentImplicitLod,
76443  maxPerStageDescriptorUpdateAfterBindSamplers,
76444  maxPerStageDescriptorUpdateAfterBindUniformBuffers,
76445  maxPerStageDescriptorUpdateAfterBindStorageBuffers,
76446  maxPerStageDescriptorUpdateAfterBindSampledImages,
76447  maxPerStageDescriptorUpdateAfterBindStorageImages,
76448  maxPerStageDescriptorUpdateAfterBindInputAttachments,
76449  maxPerStageUpdateAfterBindResources,
76450  maxDescriptorSetUpdateAfterBindSamplers,
76451  maxDescriptorSetUpdateAfterBindUniformBuffers,
76452  maxDescriptorSetUpdateAfterBindUniformBuffersDynamic,
76453  maxDescriptorSetUpdateAfterBindStorageBuffers,
76454  maxDescriptorSetUpdateAfterBindStorageBuffersDynamic,
76455  maxDescriptorSetUpdateAfterBindSampledImages,
76456  maxDescriptorSetUpdateAfterBindStorageImages,
76457  maxDescriptorSetUpdateAfterBindInputAttachments,
76458  supportedDepthResolveModes,
76459  supportedStencilResolveModes,
76460  independentResolveNone,
76461  independentResolve,
76462  filterMinmaxSingleComponentFormats,
76463  filterMinmaxImageComponentMapping,
76464  maxTimelineSemaphoreValueDifference,
76465  framebufferIntegerColorSampleCounts );
76466  }
76467 #endif
76468 
76469 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
76470  auto operator<=>( PhysicalDeviceVulkan12Properties const & ) const = default;
76471 #else
76473  {
76474 # if defined( VULKAN_HPP_USE_REFLECT )
76475  return this->reflect() == rhs.reflect();
76476 # else
76477  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( driverID == rhs.driverID ) && ( driverName == rhs.driverName ) &&
76478  ( driverInfo == rhs.driverInfo ) && ( conformanceVersion == rhs.conformanceVersion ) &&
76479  ( denormBehaviorIndependence == rhs.denormBehaviorIndependence ) && ( roundingModeIndependence == rhs.roundingModeIndependence ) &&
76480  ( shaderSignedZeroInfNanPreserveFloat16 == rhs.shaderSignedZeroInfNanPreserveFloat16 ) &&
76481  ( shaderSignedZeroInfNanPreserveFloat32 == rhs.shaderSignedZeroInfNanPreserveFloat32 ) &&
76482  ( shaderSignedZeroInfNanPreserveFloat64 == rhs.shaderSignedZeroInfNanPreserveFloat64 ) &&
76483  ( shaderDenormPreserveFloat16 == rhs.shaderDenormPreserveFloat16 ) && ( shaderDenormPreserveFloat32 == rhs.shaderDenormPreserveFloat32 ) &&
76484  ( shaderDenormPreserveFloat64 == rhs.shaderDenormPreserveFloat64 ) && ( shaderDenormFlushToZeroFloat16 == rhs.shaderDenormFlushToZeroFloat16 ) &&
76485  ( shaderDenormFlushToZeroFloat32 == rhs.shaderDenormFlushToZeroFloat32 ) &&
76486  ( shaderDenormFlushToZeroFloat64 == rhs.shaderDenormFlushToZeroFloat64 ) && ( shaderRoundingModeRTEFloat16 == rhs.shaderRoundingModeRTEFloat16 ) &&
76487  ( shaderRoundingModeRTEFloat32 == rhs.shaderRoundingModeRTEFloat32 ) && ( shaderRoundingModeRTEFloat64 == rhs.shaderRoundingModeRTEFloat64 ) &&
76488  ( shaderRoundingModeRTZFloat16 == rhs.shaderRoundingModeRTZFloat16 ) && ( shaderRoundingModeRTZFloat32 == rhs.shaderRoundingModeRTZFloat32 ) &&
76489  ( shaderRoundingModeRTZFloat64 == rhs.shaderRoundingModeRTZFloat64 ) &&
76490  ( maxUpdateAfterBindDescriptorsInAllPools == rhs.maxUpdateAfterBindDescriptorsInAllPools ) &&
76491  ( shaderUniformBufferArrayNonUniformIndexingNative == rhs.shaderUniformBufferArrayNonUniformIndexingNative ) &&
76492  ( shaderSampledImageArrayNonUniformIndexingNative == rhs.shaderSampledImageArrayNonUniformIndexingNative ) &&
76493  ( shaderStorageBufferArrayNonUniformIndexingNative == rhs.shaderStorageBufferArrayNonUniformIndexingNative ) &&
76494  ( shaderStorageImageArrayNonUniformIndexingNative == rhs.shaderStorageImageArrayNonUniformIndexingNative ) &&
76495  ( shaderInputAttachmentArrayNonUniformIndexingNative == rhs.shaderInputAttachmentArrayNonUniformIndexingNative ) &&
76496  ( robustBufferAccessUpdateAfterBind == rhs.robustBufferAccessUpdateAfterBind ) && ( quadDivergentImplicitLod == rhs.quadDivergentImplicitLod ) &&
76497  ( maxPerStageDescriptorUpdateAfterBindSamplers == rhs.maxPerStageDescriptorUpdateAfterBindSamplers ) &&
76498  ( maxPerStageDescriptorUpdateAfterBindUniformBuffers == rhs.maxPerStageDescriptorUpdateAfterBindUniformBuffers ) &&
76499  ( maxPerStageDescriptorUpdateAfterBindStorageBuffers == rhs.maxPerStageDescriptorUpdateAfterBindStorageBuffers ) &&
76500  ( maxPerStageDescriptorUpdateAfterBindSampledImages == rhs.maxPerStageDescriptorUpdateAfterBindSampledImages ) &&
76501  ( maxPerStageDescriptorUpdateAfterBindStorageImages == rhs.maxPerStageDescriptorUpdateAfterBindStorageImages ) &&
76502  ( maxPerStageDescriptorUpdateAfterBindInputAttachments == rhs.maxPerStageDescriptorUpdateAfterBindInputAttachments ) &&
76503  ( maxPerStageUpdateAfterBindResources == rhs.maxPerStageUpdateAfterBindResources ) &&
76504  ( maxDescriptorSetUpdateAfterBindSamplers == rhs.maxDescriptorSetUpdateAfterBindSamplers ) &&
76505  ( maxDescriptorSetUpdateAfterBindUniformBuffers == rhs.maxDescriptorSetUpdateAfterBindUniformBuffers ) &&
76506  ( maxDescriptorSetUpdateAfterBindUniformBuffersDynamic == rhs.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic ) &&
76507  ( maxDescriptorSetUpdateAfterBindStorageBuffers == rhs.maxDescriptorSetUpdateAfterBindStorageBuffers ) &&
76508  ( maxDescriptorSetUpdateAfterBindStorageBuffersDynamic == rhs.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic ) &&
76509  ( maxDescriptorSetUpdateAfterBindSampledImages == rhs.maxDescriptorSetUpdateAfterBindSampledImages ) &&
76510  ( maxDescriptorSetUpdateAfterBindStorageImages == rhs.maxDescriptorSetUpdateAfterBindStorageImages ) &&
76511  ( maxDescriptorSetUpdateAfterBindInputAttachments == rhs.maxDescriptorSetUpdateAfterBindInputAttachments ) &&
76512  ( supportedDepthResolveModes == rhs.supportedDepthResolveModes ) && ( supportedStencilResolveModes == rhs.supportedStencilResolveModes ) &&
76513  ( independentResolveNone == rhs.independentResolveNone ) && ( independentResolve == rhs.independentResolve ) &&
76514  ( filterMinmaxSingleComponentFormats == rhs.filterMinmaxSingleComponentFormats ) &&
76515  ( filterMinmaxImageComponentMapping == rhs.filterMinmaxImageComponentMapping ) &&
76516  ( maxTimelineSemaphoreValueDifference == rhs.maxTimelineSemaphoreValueDifference ) &&
76517  ( framebufferIntegerColorSampleCounts == rhs.framebufferIntegerColorSampleCounts );
76518 # endif
76519  }
76520 
76522  {
76523  return !operator==( rhs );
76524  }
76525 #endif
76526 
76527  public:
76528  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceVulkan12Properties;
76529  void * pNext = {};
76536  VULKAN_HPP_NAMESPACE::Bool32 shaderSignedZeroInfNanPreserveFloat16 = {};
76537  VULKAN_HPP_NAMESPACE::Bool32 shaderSignedZeroInfNanPreserveFloat32 = {};
76538  VULKAN_HPP_NAMESPACE::Bool32 shaderSignedZeroInfNanPreserveFloat64 = {};
76539  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat16 = {};
76540  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat32 = {};
76541  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat64 = {};
76542  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat16 = {};
76543  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat32 = {};
76544  VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat64 = {};
76545  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat16 = {};
76546  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat32 = {};
76547  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat64 = {};
76548  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat16 = {};
76549  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat32 = {};
76550  VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat64 = {};
76551  uint32_t maxUpdateAfterBindDescriptorsInAllPools = {};
76552  VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayNonUniformIndexingNative = {};
76553  VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayNonUniformIndexingNative = {};
76554  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayNonUniformIndexingNative = {};
76555  VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayNonUniformIndexingNative = {};
76556  VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayNonUniformIndexingNative = {};
76557  VULKAN_HPP_NAMESPACE::Bool32 robustBufferAccessUpdateAfterBind = {};
76558  VULKAN_HPP_NAMESPACE::Bool32 quadDivergentImplicitLod = {};
76559  uint32_t maxPerStageDescriptorUpdateAfterBindSamplers = {};
76560  uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers = {};
76561  uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers = {};
76562  uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages = {};
76563  uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages = {};
76564  uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments = {};
76565  uint32_t maxPerStageUpdateAfterBindResources = {};
76566  uint32_t maxDescriptorSetUpdateAfterBindSamplers = {};
76567  uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers = {};
76568  uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = {};
76569  uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers = {};
76570  uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = {};
76571  uint32_t maxDescriptorSetUpdateAfterBindSampledImages = {};
76572  uint32_t maxDescriptorSetUpdateAfterBindStorageImages = {};
76573  uint32_t maxDescriptorSetUpdateAfterBindInputAttachments = {};
76574  VULKAN_HPP_NAMESPACE::ResolveModeFlags supportedDepthResolveModes = {};
76575  VULKAN_HPP_NAMESPACE::ResolveModeFlags supportedStencilResolveModes = {};
76576  VULKAN_HPP_NAMESPACE::Bool32 independentResolveNone = {};
76577  VULKAN_HPP_NAMESPACE::Bool32 independentResolve = {};
76578  VULKAN_HPP_NAMESPACE::Bool32 filterMinmaxSingleComponentFormats = {};
76579  VULKAN_HPP_NAMESPACE::Bool32 filterMinmaxImageComponentMapping = {};
76580  uint64_t maxTimelineSemaphoreValueDifference = {};
76581  VULKAN_HPP_NAMESPACE::SampleCountFlags framebufferIntegerColorSampleCounts = {};
76582  };
76583 
76584  template <>
76586  {
76588  };
76589 
76591  {
76593 
76594  static const bool allowDuplicate = false;
76595  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceVulkan13Features;
76596 
76597 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
76599  VULKAN_HPP_NAMESPACE::Bool32 inlineUniformBlock_ = {},
76600  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingInlineUniformBlockUpdateAfterBind_ = {},
76601  VULKAN_HPP_NAMESPACE::Bool32 pipelineCreationCacheControl_ = {},
76602  VULKAN_HPP_NAMESPACE::Bool32 privateData_ = {},
76603  VULKAN_HPP_NAMESPACE::Bool32 shaderDemoteToHelperInvocation_ = {},
76604  VULKAN_HPP_NAMESPACE::Bool32 shaderTerminateInvocation_ = {},
76605  VULKAN_HPP_NAMESPACE::Bool32 subgroupSizeControl_ = {},
76606  VULKAN_HPP_NAMESPACE::Bool32 computeFullSubgroups_ = {},
76607  VULKAN_HPP_NAMESPACE::Bool32 synchronization2_ = {},
76608  VULKAN_HPP_NAMESPACE::Bool32 textureCompressionASTC_HDR_ = {},
76609  VULKAN_HPP_NAMESPACE::Bool32 shaderZeroInitializeWorkgroupMemory_ = {},
76610  VULKAN_HPP_NAMESPACE::Bool32 dynamicRendering_ = {},
76611  VULKAN_HPP_NAMESPACE::Bool32 shaderIntegerDotProduct_ = {},
76612  VULKAN_HPP_NAMESPACE::Bool32 maintenance4_ = {},
76613  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
76614  : pNext( pNext_ )
76615  , robustImageAccess( robustImageAccess_ )
76616  , inlineUniformBlock( inlineUniformBlock_ )
76617  , descriptorBindingInlineUniformBlockUpdateAfterBind( descriptorBindingInlineUniformBlockUpdateAfterBind_ )
76618  , pipelineCreationCacheControl( pipelineCreationCacheControl_ )
76619  , privateData( privateData_ )
76620  , shaderDemoteToHelperInvocation( shaderDemoteToHelperInvocation_ )
76621  , shaderTerminateInvocation( shaderTerminateInvocation_ )
76622  , subgroupSizeControl( subgroupSizeControl_ )
76623  , computeFullSubgroups( computeFullSubgroups_ )
76624  , synchronization2( synchronization2_ )
76625  , textureCompressionASTC_HDR( textureCompressionASTC_HDR_ )
76626  , shaderZeroInitializeWorkgroupMemory( shaderZeroInitializeWorkgroupMemory_ )
76627  , dynamicRendering( dynamicRendering_ )
76628  , shaderIntegerDotProduct( shaderIntegerDotProduct_ )
76629  , maintenance4( maintenance4_ )
76630  {
76631  }
76632 
76633  VULKAN_HPP_CONSTEXPR PhysicalDeviceVulkan13Features( PhysicalDeviceVulkan13Features const & rhs ) VULKAN_HPP_NOEXCEPT = default;
76634 
76636  : PhysicalDeviceVulkan13Features( *reinterpret_cast<PhysicalDeviceVulkan13Features const *>( &rhs ) )
76637  {
76638  }
76639 
76641 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
76642 
76644  {
76645  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan13Features const *>( &rhs );
76646  return *this;
76647  }
76648 
76649 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
76651  {
76652  pNext = pNext_;
76653  return *this;
76654  }
76655 
76657  {
76658  robustImageAccess = robustImageAccess_;
76659  return *this;
76660  }
76661 
76663  {
76664  inlineUniformBlock = inlineUniformBlock_;
76665  return *this;
76666  }
76667 
76669  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingInlineUniformBlockUpdateAfterBind_ ) VULKAN_HPP_NOEXCEPT
76670  {
76671  descriptorBindingInlineUniformBlockUpdateAfterBind = descriptorBindingInlineUniformBlockUpdateAfterBind_;
76672  return *this;
76673  }
76674 
76677  {
76678  pipelineCreationCacheControl = pipelineCreationCacheControl_;
76679  return *this;
76680  }
76681 
76683  {
76684  privateData = privateData_;
76685  return *this;
76686  }
76687 
76690  {
76691  shaderDemoteToHelperInvocation = shaderDemoteToHelperInvocation_;
76692  return *this;
76693  }
76694 
76697  {
76698  shaderTerminateInvocation = shaderTerminateInvocation_;
76699  return *this;
76700  }
76701 
76703  {
76704  subgroupSizeControl = subgroupSizeControl_;
76705  return *this;
76706  }
76707 
76709  {
76710  computeFullSubgroups = computeFullSubgroups_;
76711  return *this;
76712  }
76713 
76715  {
76716  synchronization2 = synchronization2_;
76717  return *this;
76718  }
76719 
76722  {
76723  textureCompressionASTC_HDR = textureCompressionASTC_HDR_;
76724  return *this;
76725  }
76726 
76729  {
76730  shaderZeroInitializeWorkgroupMemory = shaderZeroInitializeWorkgroupMemory_;
76731  return *this;
76732  }
76733 
76735  {
76736  dynamicRendering = dynamicRendering_;
76737  return *this;
76738  }
76739 
76742  {
76743  shaderIntegerDotProduct = shaderIntegerDotProduct_;
76744  return *this;
76745  }
76746 
76748  {
76749  maintenance4 = maintenance4_;
76750  return *this;
76751  }
76752 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
76753 
76755  {
76756  return *reinterpret_cast<const VkPhysicalDeviceVulkan13Features *>( this );
76757  }
76758 
76760  {
76761  return *reinterpret_cast<VkPhysicalDeviceVulkan13Features *>( this );
76762  }
76763 
76764 #if defined( VULKAN_HPP_USE_REFLECT )
76765 # if 14 <= VULKAN_HPP_CPP_VERSION
76766  auto
76767 # else
76768  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
76769  void * const &,
76785 # endif
76786  reflect() const VULKAN_HPP_NOEXCEPT
76787  {
76788  return std::tie( sType,
76789  pNext,
76790  robustImageAccess,
76791  inlineUniformBlock,
76792  descriptorBindingInlineUniformBlockUpdateAfterBind,
76793  pipelineCreationCacheControl,
76794  privateData,
76795  shaderDemoteToHelperInvocation,
76796  shaderTerminateInvocation,
76797  subgroupSizeControl,
76798  computeFullSubgroups,
76799  synchronization2,
76800  textureCompressionASTC_HDR,
76801  shaderZeroInitializeWorkgroupMemory,
76802  dynamicRendering,
76803  shaderIntegerDotProduct,
76804  maintenance4 );
76805  }
76806 #endif
76807 
76808 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
76809  auto operator<=>( PhysicalDeviceVulkan13Features const & ) const = default;
76810 #else
76812  {
76813 # if defined( VULKAN_HPP_USE_REFLECT )
76814  return this->reflect() == rhs.reflect();
76815 # else
76816  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( robustImageAccess == rhs.robustImageAccess ) &&
76817  ( inlineUniformBlock == rhs.inlineUniformBlock ) &&
76818  ( descriptorBindingInlineUniformBlockUpdateAfterBind == rhs.descriptorBindingInlineUniformBlockUpdateAfterBind ) &&
76819  ( pipelineCreationCacheControl == rhs.pipelineCreationCacheControl ) && ( privateData == rhs.privateData ) &&
76820  ( shaderDemoteToHelperInvocation == rhs.shaderDemoteToHelperInvocation ) && ( shaderTerminateInvocation == rhs.shaderTerminateInvocation ) &&
76821  ( subgroupSizeControl == rhs.subgroupSizeControl ) && ( computeFullSubgroups == rhs.computeFullSubgroups ) &&
76822  ( synchronization2 == rhs.synchronization2 ) && ( textureCompressionASTC_HDR == rhs.textureCompressionASTC_HDR ) &&
76823  ( shaderZeroInitializeWorkgroupMemory == rhs.shaderZeroInitializeWorkgroupMemory ) && ( dynamicRendering == rhs.dynamicRendering ) &&
76824  ( shaderIntegerDotProduct == rhs.shaderIntegerDotProduct ) && ( maintenance4 == rhs.maintenance4 );
76825 # endif
76826  }
76827 
76829  {
76830  return !operator==( rhs );
76831  }
76832 #endif
76833 
76834  public:
76835  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceVulkan13Features;
76836  void * pNext = {};
76837  VULKAN_HPP_NAMESPACE::Bool32 robustImageAccess = {};
76838  VULKAN_HPP_NAMESPACE::Bool32 inlineUniformBlock = {};
76839  VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingInlineUniformBlockUpdateAfterBind = {};
76840  VULKAN_HPP_NAMESPACE::Bool32 pipelineCreationCacheControl = {};
76842  VULKAN_HPP_NAMESPACE::Bool32 shaderDemoteToHelperInvocation = {};
76843  VULKAN_HPP_NAMESPACE::Bool32 shaderTerminateInvocation = {};
76844  VULKAN_HPP_NAMESPACE::Bool32 subgroupSizeControl = {};
76845  VULKAN_HPP_NAMESPACE::Bool32 computeFullSubgroups = {};
76846  VULKAN_HPP_NAMESPACE::Bool32 synchronization2 = {};
76847  VULKAN_HPP_NAMESPACE::Bool32 textureCompressionASTC_HDR = {};
76848  VULKAN_HPP_NAMESPACE::Bool32 shaderZeroInitializeWorkgroupMemory = {};
76849  VULKAN_HPP_NAMESPACE::Bool32 dynamicRendering = {};
76850  VULKAN_HPP_NAMESPACE::Bool32 shaderIntegerDotProduct = {};
76851  VULKAN_HPP_NAMESPACE::Bool32 maintenance4 = {};
76852  };
76853 
76854  template <>
76856  {
76858  };
76859 
76861  {
76863 
76864  static const bool allowDuplicate = false;
76865  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceVulkan13Properties;
76866 
76867 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
76869  PhysicalDeviceVulkan13Properties( uint32_t minSubgroupSize_ = {},
76870  uint32_t maxSubgroupSize_ = {},
76871  uint32_t maxComputeWorkgroupSubgroups_ = {},
76872  VULKAN_HPP_NAMESPACE::ShaderStageFlags requiredSubgroupSizeStages_ = {},
76873  uint32_t maxInlineUniformBlockSize_ = {},
76874  uint32_t maxPerStageDescriptorInlineUniformBlocks_ = {},
76875  uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks_ = {},
76876  uint32_t maxDescriptorSetInlineUniformBlocks_ = {},
76877  uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks_ = {},
76878  uint32_t maxInlineUniformTotalSize_ = {},
76879  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct8BitUnsignedAccelerated_ = {},
76880  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct8BitSignedAccelerated_ = {},
76881  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct8BitMixedSignednessAccelerated_ = {},
76882  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct4x8BitPackedUnsignedAccelerated_ = {},
76883  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct4x8BitPackedSignedAccelerated_ = {},
76884  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated_ = {},
76885  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct16BitUnsignedAccelerated_ = {},
76886  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct16BitSignedAccelerated_ = {},
76887  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct16BitMixedSignednessAccelerated_ = {},
76888  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct32BitUnsignedAccelerated_ = {},
76889  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct32BitSignedAccelerated_ = {},
76890  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct32BitMixedSignednessAccelerated_ = {},
76891  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct64BitUnsignedAccelerated_ = {},
76892  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct64BitSignedAccelerated_ = {},
76893  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct64BitMixedSignednessAccelerated_ = {},
76894  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated_ = {},
76895  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated_ = {},
76896  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated_ = {},
76897  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated_ = {},
76898  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated_ = {},
76899  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated_ = {},
76900  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated_ = {},
76901  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated_ = {},
76902  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated_ = {},
76903  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated_ = {},
76904  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated_ = {},
76905  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated_ = {},
76906  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated_ = {},
76907  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated_ = {},
76908  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated_ = {},
76909  VULKAN_HPP_NAMESPACE::DeviceSize storageTexelBufferOffsetAlignmentBytes_ = {},
76910  VULKAN_HPP_NAMESPACE::Bool32 storageTexelBufferOffsetSingleTexelAlignment_ = {},
76911  VULKAN_HPP_NAMESPACE::DeviceSize uniformTexelBufferOffsetAlignmentBytes_ = {},
76912  VULKAN_HPP_NAMESPACE::Bool32 uniformTexelBufferOffsetSingleTexelAlignment_ = {},
76913  VULKAN_HPP_NAMESPACE::DeviceSize maxBufferSize_ = {},
76914  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
76915  : pNext( pNext_ )
76916  , minSubgroupSize( minSubgroupSize_ )
76917  , maxSubgroupSize( maxSubgroupSize_ )
76918  , maxComputeWorkgroupSubgroups( maxComputeWorkgroupSubgroups_ )
76919  , requiredSubgroupSizeStages( requiredSubgroupSizeStages_ )
76920  , maxInlineUniformBlockSize( maxInlineUniformBlockSize_ )
76921  , maxPerStageDescriptorInlineUniformBlocks( maxPerStageDescriptorInlineUniformBlocks_ )
76922  , maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks( maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks_ )
76923  , maxDescriptorSetInlineUniformBlocks( maxDescriptorSetInlineUniformBlocks_ )
76924  , maxDescriptorSetUpdateAfterBindInlineUniformBlocks( maxDescriptorSetUpdateAfterBindInlineUniformBlocks_ )
76925  , maxInlineUniformTotalSize( maxInlineUniformTotalSize_ )
76926  , integerDotProduct8BitUnsignedAccelerated( integerDotProduct8BitUnsignedAccelerated_ )
76927  , integerDotProduct8BitSignedAccelerated( integerDotProduct8BitSignedAccelerated_ )
76928  , integerDotProduct8BitMixedSignednessAccelerated( integerDotProduct8BitMixedSignednessAccelerated_ )
76929  , integerDotProduct4x8BitPackedUnsignedAccelerated( integerDotProduct4x8BitPackedUnsignedAccelerated_ )
76930  , integerDotProduct4x8BitPackedSignedAccelerated( integerDotProduct4x8BitPackedSignedAccelerated_ )
76931  , integerDotProduct4x8BitPackedMixedSignednessAccelerated( integerDotProduct4x8BitPackedMixedSignednessAccelerated_ )
76932  , integerDotProduct16BitUnsignedAccelerated( integerDotProduct16BitUnsignedAccelerated_ )
76933  , integerDotProduct16BitSignedAccelerated( integerDotProduct16BitSignedAccelerated_ )
76934  , integerDotProduct16BitMixedSignednessAccelerated( integerDotProduct16BitMixedSignednessAccelerated_ )
76935  , integerDotProduct32BitUnsignedAccelerated( integerDotProduct32BitUnsignedAccelerated_ )
76936  , integerDotProduct32BitSignedAccelerated( integerDotProduct32BitSignedAccelerated_ )
76937  , integerDotProduct32BitMixedSignednessAccelerated( integerDotProduct32BitMixedSignednessAccelerated_ )
76938  , integerDotProduct64BitUnsignedAccelerated( integerDotProduct64BitUnsignedAccelerated_ )
76939  , integerDotProduct64BitSignedAccelerated( integerDotProduct64BitSignedAccelerated_ )
76940  , integerDotProduct64BitMixedSignednessAccelerated( integerDotProduct64BitMixedSignednessAccelerated_ )
76941  , integerDotProductAccumulatingSaturating8BitUnsignedAccelerated( integerDotProductAccumulatingSaturating8BitUnsignedAccelerated_ )
76942  , integerDotProductAccumulatingSaturating8BitSignedAccelerated( integerDotProductAccumulatingSaturating8BitSignedAccelerated_ )
76943  , integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated( integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated_ )
76944  , integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated( integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated_ )
76945  , integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated( integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated_ )
76946  , integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated(
76947  integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated_ )
76948  , integerDotProductAccumulatingSaturating16BitUnsignedAccelerated( integerDotProductAccumulatingSaturating16BitUnsignedAccelerated_ )
76949  , integerDotProductAccumulatingSaturating16BitSignedAccelerated( integerDotProductAccumulatingSaturating16BitSignedAccelerated_ )
76950  , integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated( integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated_ )
76951  , integerDotProductAccumulatingSaturating32BitUnsignedAccelerated( integerDotProductAccumulatingSaturating32BitUnsignedAccelerated_ )
76952  , integerDotProductAccumulatingSaturating32BitSignedAccelerated( integerDotProductAccumulatingSaturating32BitSignedAccelerated_ )
76953  , integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated( integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated_ )
76954  , integerDotProductAccumulatingSaturating64BitUnsignedAccelerated( integerDotProductAccumulatingSaturating64BitUnsignedAccelerated_ )
76955  , integerDotProductAccumulatingSaturating64BitSignedAccelerated( integerDotProductAccumulatingSaturating64BitSignedAccelerated_ )
76956  , integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated( integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated_ )
76957  , storageTexelBufferOffsetAlignmentBytes( storageTexelBufferOffsetAlignmentBytes_ )
76958  , storageTexelBufferOffsetSingleTexelAlignment( storageTexelBufferOffsetSingleTexelAlignment_ )
76959  , uniformTexelBufferOffsetAlignmentBytes( uniformTexelBufferOffsetAlignmentBytes_ )
76960  , uniformTexelBufferOffsetSingleTexelAlignment( uniformTexelBufferOffsetSingleTexelAlignment_ )
76961  , maxBufferSize( maxBufferSize_ )
76962  {
76963  }
76964 
76965  VULKAN_HPP_CONSTEXPR PhysicalDeviceVulkan13Properties( PhysicalDeviceVulkan13Properties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
76966 
76968  : PhysicalDeviceVulkan13Properties( *reinterpret_cast<PhysicalDeviceVulkan13Properties const *>( &rhs ) )
76969  {
76970  }
76971 
76973 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
76974 
76976  {
76977  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkan13Properties const *>( &rhs );
76978  return *this;
76979  }
76980 
76982  {
76983  return *reinterpret_cast<const VkPhysicalDeviceVulkan13Properties *>( this );
76984  }
76985 
76987  {
76988  return *reinterpret_cast<VkPhysicalDeviceVulkan13Properties *>( this );
76989  }
76990 
76991 #if defined( VULKAN_HPP_USE_REFLECT )
76992 # if 14 <= VULKAN_HPP_CPP_VERSION
76993  auto
76994 # else
76995  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
76996  void * const &,
76997  uint32_t const &,
76998  uint32_t const &,
76999  uint32_t const &,
77001  uint32_t const &,
77002  uint32_t const &,
77003  uint32_t const &,
77004  uint32_t const &,
77005  uint32_t const &,
77006  uint32_t const &,
77042 # endif
77043  reflect() const VULKAN_HPP_NOEXCEPT
77044  {
77045  return std::tie( sType,
77046  pNext,
77047  minSubgroupSize,
77048  maxSubgroupSize,
77049  maxComputeWorkgroupSubgroups,
77050  requiredSubgroupSizeStages,
77051  maxInlineUniformBlockSize,
77052  maxPerStageDescriptorInlineUniformBlocks,
77053  maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks,
77054  maxDescriptorSetInlineUniformBlocks,
77055  maxDescriptorSetUpdateAfterBindInlineUniformBlocks,
77056  maxInlineUniformTotalSize,
77057  integerDotProduct8BitUnsignedAccelerated,
77058  integerDotProduct8BitSignedAccelerated,
77059  integerDotProduct8BitMixedSignednessAccelerated,
77060  integerDotProduct4x8BitPackedUnsignedAccelerated,
77061  integerDotProduct4x8BitPackedSignedAccelerated,
77062  integerDotProduct4x8BitPackedMixedSignednessAccelerated,
77063  integerDotProduct16BitUnsignedAccelerated,
77064  integerDotProduct16BitSignedAccelerated,
77065  integerDotProduct16BitMixedSignednessAccelerated,
77066  integerDotProduct32BitUnsignedAccelerated,
77067  integerDotProduct32BitSignedAccelerated,
77068  integerDotProduct32BitMixedSignednessAccelerated,
77069  integerDotProduct64BitUnsignedAccelerated,
77070  integerDotProduct64BitSignedAccelerated,
77071  integerDotProduct64BitMixedSignednessAccelerated,
77072  integerDotProductAccumulatingSaturating8BitUnsignedAccelerated,
77073  integerDotProductAccumulatingSaturating8BitSignedAccelerated,
77074  integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated,
77075  integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated,
77076  integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated,
77077  integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated,
77078  integerDotProductAccumulatingSaturating16BitUnsignedAccelerated,
77079  integerDotProductAccumulatingSaturating16BitSignedAccelerated,
77080  integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated,
77081  integerDotProductAccumulatingSaturating32BitUnsignedAccelerated,
77082  integerDotProductAccumulatingSaturating32BitSignedAccelerated,
77083  integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated,
77084  integerDotProductAccumulatingSaturating64BitUnsignedAccelerated,
77085  integerDotProductAccumulatingSaturating64BitSignedAccelerated,
77086  integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated,
77087  storageTexelBufferOffsetAlignmentBytes,
77088  storageTexelBufferOffsetSingleTexelAlignment,
77089  uniformTexelBufferOffsetAlignmentBytes,
77090  uniformTexelBufferOffsetSingleTexelAlignment,
77091  maxBufferSize );
77092  }
77093 #endif
77094 
77095 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
77096  auto operator<=>( PhysicalDeviceVulkan13Properties const & ) const = default;
77097 #else
77099  {
77100 # if defined( VULKAN_HPP_USE_REFLECT )
77101  return this->reflect() == rhs.reflect();
77102 # else
77103  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( minSubgroupSize == rhs.minSubgroupSize ) && ( maxSubgroupSize == rhs.maxSubgroupSize ) &&
77104  ( maxComputeWorkgroupSubgroups == rhs.maxComputeWorkgroupSubgroups ) && ( requiredSubgroupSizeStages == rhs.requiredSubgroupSizeStages ) &&
77105  ( maxInlineUniformBlockSize == rhs.maxInlineUniformBlockSize ) &&
77106  ( maxPerStageDescriptorInlineUniformBlocks == rhs.maxPerStageDescriptorInlineUniformBlocks ) &&
77107  ( maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks == rhs.maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks ) &&
77108  ( maxDescriptorSetInlineUniformBlocks == rhs.maxDescriptorSetInlineUniformBlocks ) &&
77109  ( maxDescriptorSetUpdateAfterBindInlineUniformBlocks == rhs.maxDescriptorSetUpdateAfterBindInlineUniformBlocks ) &&
77110  ( maxInlineUniformTotalSize == rhs.maxInlineUniformTotalSize ) &&
77111  ( integerDotProduct8BitUnsignedAccelerated == rhs.integerDotProduct8BitUnsignedAccelerated ) &&
77112  ( integerDotProduct8BitSignedAccelerated == rhs.integerDotProduct8BitSignedAccelerated ) &&
77113  ( integerDotProduct8BitMixedSignednessAccelerated == rhs.integerDotProduct8BitMixedSignednessAccelerated ) &&
77114  ( integerDotProduct4x8BitPackedUnsignedAccelerated == rhs.integerDotProduct4x8BitPackedUnsignedAccelerated ) &&
77115  ( integerDotProduct4x8BitPackedSignedAccelerated == rhs.integerDotProduct4x8BitPackedSignedAccelerated ) &&
77116  ( integerDotProduct4x8BitPackedMixedSignednessAccelerated == rhs.integerDotProduct4x8BitPackedMixedSignednessAccelerated ) &&
77117  ( integerDotProduct16BitUnsignedAccelerated == rhs.integerDotProduct16BitUnsignedAccelerated ) &&
77118  ( integerDotProduct16BitSignedAccelerated == rhs.integerDotProduct16BitSignedAccelerated ) &&
77119  ( integerDotProduct16BitMixedSignednessAccelerated == rhs.integerDotProduct16BitMixedSignednessAccelerated ) &&
77120  ( integerDotProduct32BitUnsignedAccelerated == rhs.integerDotProduct32BitUnsignedAccelerated ) &&
77121  ( integerDotProduct32BitSignedAccelerated == rhs.integerDotProduct32BitSignedAccelerated ) &&
77122  ( integerDotProduct32BitMixedSignednessAccelerated == rhs.integerDotProduct32BitMixedSignednessAccelerated ) &&
77123  ( integerDotProduct64BitUnsignedAccelerated == rhs.integerDotProduct64BitUnsignedAccelerated ) &&
77124  ( integerDotProduct64BitSignedAccelerated == rhs.integerDotProduct64BitSignedAccelerated ) &&
77125  ( integerDotProduct64BitMixedSignednessAccelerated == rhs.integerDotProduct64BitMixedSignednessAccelerated ) &&
77126  ( integerDotProductAccumulatingSaturating8BitUnsignedAccelerated == rhs.integerDotProductAccumulatingSaturating8BitUnsignedAccelerated ) &&
77127  ( integerDotProductAccumulatingSaturating8BitSignedAccelerated == rhs.integerDotProductAccumulatingSaturating8BitSignedAccelerated ) &&
77128  ( integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated ==
77129  rhs.integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated ) &&
77130  ( integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated ==
77131  rhs.integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated ) &&
77132  ( integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated ==
77133  rhs.integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated ) &&
77134  ( integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated ==
77135  rhs.integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated ) &&
77136  ( integerDotProductAccumulatingSaturating16BitUnsignedAccelerated == rhs.integerDotProductAccumulatingSaturating16BitUnsignedAccelerated ) &&
77137  ( integerDotProductAccumulatingSaturating16BitSignedAccelerated == rhs.integerDotProductAccumulatingSaturating16BitSignedAccelerated ) &&
77138  ( integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated ==
77139  rhs.integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated ) &&
77140  ( integerDotProductAccumulatingSaturating32BitUnsignedAccelerated == rhs.integerDotProductAccumulatingSaturating32BitUnsignedAccelerated ) &&
77141  ( integerDotProductAccumulatingSaturating32BitSignedAccelerated == rhs.integerDotProductAccumulatingSaturating32BitSignedAccelerated ) &&
77142  ( integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated ==
77143  rhs.integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated ) &&
77144  ( integerDotProductAccumulatingSaturating64BitUnsignedAccelerated == rhs.integerDotProductAccumulatingSaturating64BitUnsignedAccelerated ) &&
77145  ( integerDotProductAccumulatingSaturating64BitSignedAccelerated == rhs.integerDotProductAccumulatingSaturating64BitSignedAccelerated ) &&
77146  ( integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated ==
77147  rhs.integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated ) &&
77148  ( storageTexelBufferOffsetAlignmentBytes == rhs.storageTexelBufferOffsetAlignmentBytes ) &&
77149  ( storageTexelBufferOffsetSingleTexelAlignment == rhs.storageTexelBufferOffsetSingleTexelAlignment ) &&
77150  ( uniformTexelBufferOffsetAlignmentBytes == rhs.uniformTexelBufferOffsetAlignmentBytes ) &&
77151  ( uniformTexelBufferOffsetSingleTexelAlignment == rhs.uniformTexelBufferOffsetSingleTexelAlignment ) && ( maxBufferSize == rhs.maxBufferSize );
77152 # endif
77153  }
77154 
77156  {
77157  return !operator==( rhs );
77158  }
77159 #endif
77160 
77161  public:
77162  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceVulkan13Properties;
77163  void * pNext = {};
77164  uint32_t minSubgroupSize = {};
77165  uint32_t maxSubgroupSize = {};
77166  uint32_t maxComputeWorkgroupSubgroups = {};
77167  VULKAN_HPP_NAMESPACE::ShaderStageFlags requiredSubgroupSizeStages = {};
77168  uint32_t maxInlineUniformBlockSize = {};
77169  uint32_t maxPerStageDescriptorInlineUniformBlocks = {};
77170  uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = {};
77171  uint32_t maxDescriptorSetInlineUniformBlocks = {};
77172  uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks = {};
77173  uint32_t maxInlineUniformTotalSize = {};
77174  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct8BitUnsignedAccelerated = {};
77175  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct8BitSignedAccelerated = {};
77176  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct8BitMixedSignednessAccelerated = {};
77177  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct4x8BitPackedUnsignedAccelerated = {};
77178  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct4x8BitPackedSignedAccelerated = {};
77179  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated = {};
77180  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct16BitUnsignedAccelerated = {};
77181  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct16BitSignedAccelerated = {};
77182  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct16BitMixedSignednessAccelerated = {};
77183  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct32BitUnsignedAccelerated = {};
77184  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct32BitSignedAccelerated = {};
77185  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct32BitMixedSignednessAccelerated = {};
77186  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct64BitUnsignedAccelerated = {};
77187  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct64BitSignedAccelerated = {};
77188  VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct64BitMixedSignednessAccelerated = {};
77189  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated = {};
77190  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated = {};
77191  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated = {};
77192  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated = {};
77193  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated = {};
77194  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated = {};
77195  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated = {};
77196  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated = {};
77197  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated = {};
77198  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated = {};
77199  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated = {};
77200  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated = {};
77201  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated = {};
77202  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated = {};
77203  VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated = {};
77204  VULKAN_HPP_NAMESPACE::DeviceSize storageTexelBufferOffsetAlignmentBytes = {};
77205  VULKAN_HPP_NAMESPACE::Bool32 storageTexelBufferOffsetSingleTexelAlignment = {};
77206  VULKAN_HPP_NAMESPACE::DeviceSize uniformTexelBufferOffsetAlignmentBytes = {};
77207  VULKAN_HPP_NAMESPACE::Bool32 uniformTexelBufferOffsetSingleTexelAlignment = {};
77209  };
77210 
77211  template <>
77213  {
77215  };
77216 
77218  {
77220 
77221  static const bool allowDuplicate = false;
77222  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceVulkanMemoryModelFeatures;
77223 
77224 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
77226  VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModelDeviceScope_ = {},
77227  VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModelAvailabilityVisibilityChains_ = {},
77228  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
77229  : pNext( pNext_ )
77230  , vulkanMemoryModel( vulkanMemoryModel_ )
77231  , vulkanMemoryModelDeviceScope( vulkanMemoryModelDeviceScope_ )
77232  , vulkanMemoryModelAvailabilityVisibilityChains( vulkanMemoryModelAvailabilityVisibilityChains_ )
77233  {
77234  }
77235 
77236  VULKAN_HPP_CONSTEXPR PhysicalDeviceVulkanMemoryModelFeatures( PhysicalDeviceVulkanMemoryModelFeatures const & rhs ) VULKAN_HPP_NOEXCEPT = default;
77237 
77239  : PhysicalDeviceVulkanMemoryModelFeatures( *reinterpret_cast<PhysicalDeviceVulkanMemoryModelFeatures const *>( &rhs ) )
77240  {
77241  }
77242 
77244 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
77245 
77247  {
77248  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceVulkanMemoryModelFeatures const *>( &rhs );
77249  return *this;
77250  }
77251 
77252 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
77254  {
77255  pNext = pNext_;
77256  return *this;
77257  }
77258 
77261  {
77262  vulkanMemoryModel = vulkanMemoryModel_;
77263  return *this;
77264  }
77265 
77268  {
77269  vulkanMemoryModelDeviceScope = vulkanMemoryModelDeviceScope_;
77270  return *this;
77271  }
77272 
77275  {
77276  vulkanMemoryModelAvailabilityVisibilityChains = vulkanMemoryModelAvailabilityVisibilityChains_;
77277  return *this;
77278  }
77279 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
77280 
77282  {
77283  return *reinterpret_cast<const VkPhysicalDeviceVulkanMemoryModelFeatures *>( this );
77284  }
77285 
77287  {
77288  return *reinterpret_cast<VkPhysicalDeviceVulkanMemoryModelFeatures *>( this );
77289  }
77290 
77291 #if defined( VULKAN_HPP_USE_REFLECT )
77292 # if 14 <= VULKAN_HPP_CPP_VERSION
77293  auto
77294 # else
77295  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
77296  void * const &,
77300 # endif
77301  reflect() const VULKAN_HPP_NOEXCEPT
77302  {
77303  return std::tie( sType, pNext, vulkanMemoryModel, vulkanMemoryModelDeviceScope, vulkanMemoryModelAvailabilityVisibilityChains );
77304  }
77305 #endif
77306 
77307 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
77308  auto operator<=>( PhysicalDeviceVulkanMemoryModelFeatures const & ) const = default;
77309 #else
77311  {
77312 # if defined( VULKAN_HPP_USE_REFLECT )
77313  return this->reflect() == rhs.reflect();
77314 # else
77315  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( vulkanMemoryModel == rhs.vulkanMemoryModel ) &&
77316  ( vulkanMemoryModelDeviceScope == rhs.vulkanMemoryModelDeviceScope ) &&
77317  ( vulkanMemoryModelAvailabilityVisibilityChains == rhs.vulkanMemoryModelAvailabilityVisibilityChains );
77318 # endif
77319  }
77320 
77322  {
77323  return !operator==( rhs );
77324  }
77325 #endif
77326 
77327  public:
77328  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceVulkanMemoryModelFeatures;
77329  void * pNext = {};
77330  VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModel = {};
77331  VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModelDeviceScope = {};
77332  VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModelAvailabilityVisibilityChains = {};
77333  };
77334 
77335  template <>
77337  {
77339  };
77341 
77343  {
77345 
77346  static const bool allowDuplicate = false;
77347  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR;
77348 
77349 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
77352  VULKAN_HPP_NAMESPACE::Bool32 workgroupMemoryExplicitLayoutScalarBlockLayout_ = {},
77353  VULKAN_HPP_NAMESPACE::Bool32 workgroupMemoryExplicitLayout8BitAccess_ = {},
77354  VULKAN_HPP_NAMESPACE::Bool32 workgroupMemoryExplicitLayout16BitAccess_ = {},
77355  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
77356  : pNext( pNext_ )
77357  , workgroupMemoryExplicitLayout( workgroupMemoryExplicitLayout_ )
77358  , workgroupMemoryExplicitLayoutScalarBlockLayout( workgroupMemoryExplicitLayoutScalarBlockLayout_ )
77359  , workgroupMemoryExplicitLayout8BitAccess( workgroupMemoryExplicitLayout8BitAccess_ )
77360  , workgroupMemoryExplicitLayout16BitAccess( workgroupMemoryExplicitLayout16BitAccess_ )
77361  {
77362  }
77363 
77364  VULKAN_HPP_CONSTEXPR PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR( PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR const & rhs )
77365  VULKAN_HPP_NOEXCEPT = default;
77366 
77368  : PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR( *reinterpret_cast<PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR const *>( &rhs ) )
77369  {
77370  }
77371 
77374 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
77375 
77378  {
77379  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR const *>( &rhs );
77380  return *this;
77381  }
77382 
77383 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
77385  {
77386  pNext = pNext_;
77387  return *this;
77388  }
77389 
77392  {
77393  workgroupMemoryExplicitLayout = workgroupMemoryExplicitLayout_;
77394  return *this;
77395  }
77396 
77399  {
77400  workgroupMemoryExplicitLayoutScalarBlockLayout = workgroupMemoryExplicitLayoutScalarBlockLayout_;
77401  return *this;
77402  }
77403 
77406  {
77407  workgroupMemoryExplicitLayout8BitAccess = workgroupMemoryExplicitLayout8BitAccess_;
77408  return *this;
77409  }
77410 
77413  {
77414  workgroupMemoryExplicitLayout16BitAccess = workgroupMemoryExplicitLayout16BitAccess_;
77415  return *this;
77416  }
77417 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
77418 
77420  {
77421  return *reinterpret_cast<const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR *>( this );
77422  }
77423 
77425  {
77426  return *reinterpret_cast<VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR *>( this );
77427  }
77428 
77429 #if defined( VULKAN_HPP_USE_REFLECT )
77430 # if 14 <= VULKAN_HPP_CPP_VERSION
77431  auto
77432 # else
77433  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
77434  void * const &,
77439 # endif
77440  reflect() const VULKAN_HPP_NOEXCEPT
77441  {
77442  return std::tie( sType,
77443  pNext,
77444  workgroupMemoryExplicitLayout,
77445  workgroupMemoryExplicitLayoutScalarBlockLayout,
77446  workgroupMemoryExplicitLayout8BitAccess,
77447  workgroupMemoryExplicitLayout16BitAccess );
77448  }
77449 #endif
77450 
77451 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
77452  auto operator<=>( PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR const & ) const = default;
77453 #else
77455  {
77456 # if defined( VULKAN_HPP_USE_REFLECT )
77457  return this->reflect() == rhs.reflect();
77458 # else
77459  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( workgroupMemoryExplicitLayout == rhs.workgroupMemoryExplicitLayout ) &&
77460  ( workgroupMemoryExplicitLayoutScalarBlockLayout == rhs.workgroupMemoryExplicitLayoutScalarBlockLayout ) &&
77461  ( workgroupMemoryExplicitLayout8BitAccess == rhs.workgroupMemoryExplicitLayout8BitAccess ) &&
77462  ( workgroupMemoryExplicitLayout16BitAccess == rhs.workgroupMemoryExplicitLayout16BitAccess );
77463 # endif
77464  }
77465 
77467  {
77468  return !operator==( rhs );
77469  }
77470 #endif
77471 
77472  public:
77473  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR;
77474  void * pNext = {};
77475  VULKAN_HPP_NAMESPACE::Bool32 workgroupMemoryExplicitLayout = {};
77476  VULKAN_HPP_NAMESPACE::Bool32 workgroupMemoryExplicitLayoutScalarBlockLayout = {};
77477  VULKAN_HPP_NAMESPACE::Bool32 workgroupMemoryExplicitLayout8BitAccess = {};
77478  VULKAN_HPP_NAMESPACE::Bool32 workgroupMemoryExplicitLayout16BitAccess = {};
77479  };
77480 
77481  template <>
77483  {
77485  };
77486 
77488  {
77490 
77491  static const bool allowDuplicate = false;
77492  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT;
77493 
77494 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
77496  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
77497  : pNext( pNext_ )
77498  , ycbcr2plane444Formats( ycbcr2plane444Formats_ )
77499  {
77500  }
77501 
77503  PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT( PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
77504 
77506  : PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT( *reinterpret_cast<PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT const *>( &rhs ) )
77507  {
77508  }
77509 
77511 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
77512 
77514  {
77515  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT const *>( &rhs );
77516  return *this;
77517  }
77518 
77519 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
77521  {
77522  pNext = pNext_;
77523  return *this;
77524  }
77525 
77528  {
77529  ycbcr2plane444Formats = ycbcr2plane444Formats_;
77530  return *this;
77531  }
77532 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
77533 
77535  {
77536  return *reinterpret_cast<const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT *>( this );
77537  }
77538 
77540  {
77541  return *reinterpret_cast<VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT *>( this );
77542  }
77543 
77544 #if defined( VULKAN_HPP_USE_REFLECT )
77545 # if 14 <= VULKAN_HPP_CPP_VERSION
77546  auto
77547 # else
77548  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
77549 # endif
77550  reflect() const VULKAN_HPP_NOEXCEPT
77551  {
77552  return std::tie( sType, pNext, ycbcr2plane444Formats );
77553  }
77554 #endif
77555 
77556 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
77557  auto operator<=>( PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT const & ) const = default;
77558 #else
77560  {
77561 # if defined( VULKAN_HPP_USE_REFLECT )
77562  return this->reflect() == rhs.reflect();
77563 # else
77564  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( ycbcr2plane444Formats == rhs.ycbcr2plane444Formats );
77565 # endif
77566  }
77567 
77569  {
77570  return !operator==( rhs );
77571  }
77572 #endif
77573 
77574  public:
77575  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT;
77576  void * pNext = {};
77577  VULKAN_HPP_NAMESPACE::Bool32 ycbcr2plane444Formats = {};
77578  };
77579 
77580  template <>
77582  {
77584  };
77585 
77587  {
77589 
77590  static const bool allowDuplicate = false;
77591  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceYcbcrImageArraysFeaturesEXT;
77592 
77593 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
77595  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
77596  : pNext( pNext_ )
77597  , ycbcrImageArrays( ycbcrImageArrays_ )
77598  {
77599  }
77600 
77601  VULKAN_HPP_CONSTEXPR PhysicalDeviceYcbcrImageArraysFeaturesEXT( PhysicalDeviceYcbcrImageArraysFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
77602 
77604  : PhysicalDeviceYcbcrImageArraysFeaturesEXT( *reinterpret_cast<PhysicalDeviceYcbcrImageArraysFeaturesEXT const *>( &rhs ) )
77605  {
77606  }
77607 
77609 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
77610 
77612  {
77613  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceYcbcrImageArraysFeaturesEXT const *>( &rhs );
77614  return *this;
77615  }
77616 
77617 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
77619  {
77620  pNext = pNext_;
77621  return *this;
77622  }
77623 
77626  {
77627  ycbcrImageArrays = ycbcrImageArrays_;
77628  return *this;
77629  }
77630 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
77631 
77633  {
77634  return *reinterpret_cast<const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT *>( this );
77635  }
77636 
77638  {
77639  return *reinterpret_cast<VkPhysicalDeviceYcbcrImageArraysFeaturesEXT *>( this );
77640  }
77641 
77642 #if defined( VULKAN_HPP_USE_REFLECT )
77643 # if 14 <= VULKAN_HPP_CPP_VERSION
77644  auto
77645 # else
77646  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
77647 # endif
77648  reflect() const VULKAN_HPP_NOEXCEPT
77649  {
77650  return std::tie( sType, pNext, ycbcrImageArrays );
77651  }
77652 #endif
77653 
77654 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
77655  auto operator<=>( PhysicalDeviceYcbcrImageArraysFeaturesEXT const & ) const = default;
77656 #else
77658  {
77659 # if defined( VULKAN_HPP_USE_REFLECT )
77660  return this->reflect() == rhs.reflect();
77661 # else
77662  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( ycbcrImageArrays == rhs.ycbcrImageArrays );
77663 # endif
77664  }
77665 
77667  {
77668  return !operator==( rhs );
77669  }
77670 #endif
77671 
77672  public:
77673  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceYcbcrImageArraysFeaturesEXT;
77674  void * pNext = {};
77675  VULKAN_HPP_NAMESPACE::Bool32 ycbcrImageArrays = {};
77676  };
77677 
77678  template <>
77680  {
77682  };
77683 
77685  {
77687 
77688  static const bool allowDuplicate = false;
77689  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceZeroInitializeWorkgroupMemoryFeatures;
77690 
77691 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
77693  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
77694  : pNext( pNext_ )
77695  , shaderZeroInitializeWorkgroupMemory( shaderZeroInitializeWorkgroupMemory_ )
77696  {
77697  }
77698 
77700  PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures( PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures const & rhs ) VULKAN_HPP_NOEXCEPT = default;
77701 
77703  : PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures( *reinterpret_cast<PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures const *>( &rhs ) )
77704  {
77705  }
77706 
77709 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
77710 
77712  {
77713  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures const *>( &rhs );
77714  return *this;
77715  }
77716 
77717 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
77719  {
77720  pNext = pNext_;
77721  return *this;
77722  }
77723 
77726  {
77727  shaderZeroInitializeWorkgroupMemory = shaderZeroInitializeWorkgroupMemory_;
77728  return *this;
77729  }
77730 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
77731 
77733  {
77734  return *reinterpret_cast<const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures *>( this );
77735  }
77736 
77738  {
77739  return *reinterpret_cast<VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures *>( this );
77740  }
77741 
77742 #if defined( VULKAN_HPP_USE_REFLECT )
77743 # if 14 <= VULKAN_HPP_CPP_VERSION
77744  auto
77745 # else
77746  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
77747 # endif
77748  reflect() const VULKAN_HPP_NOEXCEPT
77749  {
77750  return std::tie( sType, pNext, shaderZeroInitializeWorkgroupMemory );
77751  }
77752 #endif
77753 
77754 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
77755  auto operator<=>( PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures const & ) const = default;
77756 #else
77758  {
77759 # if defined( VULKAN_HPP_USE_REFLECT )
77760  return this->reflect() == rhs.reflect();
77761 # else
77762  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderZeroInitializeWorkgroupMemory == rhs.shaderZeroInitializeWorkgroupMemory );
77763 # endif
77764  }
77765 
77767  {
77768  return !operator==( rhs );
77769  }
77770 #endif
77771 
77772  public:
77773  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceZeroInitializeWorkgroupMemoryFeatures;
77774  void * pNext = {};
77775  VULKAN_HPP_NAMESPACE::Bool32 shaderZeroInitializeWorkgroupMemory = {};
77776  };
77777 
77778  template <>
77780  {
77782  };
77784 
77786  {
77788 
77789  static const bool allowDuplicate = false;
77790  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineCacheCreateInfo;
77791 
77792 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
77794  size_t initialDataSize_ = {},
77795  const void * pInitialData_ = {},
77796  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
77797  : pNext( pNext_ )
77798  , flags( flags_ )
77799  , initialDataSize( initialDataSize_ )
77800  , pInitialData( pInitialData_ )
77801  {
77802  }
77803 
77804  VULKAN_HPP_CONSTEXPR PipelineCacheCreateInfo( PipelineCacheCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
77805 
77807  : PipelineCacheCreateInfo( *reinterpret_cast<PipelineCacheCreateInfo const *>( &rhs ) )
77808  {
77809  }
77810 
77811 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
77812  template <typename T>
77815  const void * pNext_ = nullptr )
77816  : pNext( pNext_ ), flags( flags_ ), initialDataSize( initialData_.size() * sizeof( T ) ), pInitialData( initialData_.data() )
77817  {
77818  }
77819 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
77820 
77821  PipelineCacheCreateInfo & operator=( PipelineCacheCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
77822 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
77823 
77825  {
77826  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineCacheCreateInfo const *>( &rhs );
77827  return *this;
77828  }
77829 
77830 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
77832  {
77833  pNext = pNext_;
77834  return *this;
77835  }
77836 
77838  {
77839  flags = flags_;
77840  return *this;
77841  }
77842 
77844  {
77845  initialDataSize = initialDataSize_;
77846  return *this;
77847  }
77848 
77850  {
77851  pInitialData = pInitialData_;
77852  return *this;
77853  }
77854 
77855 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
77856  template <typename T>
77858  {
77859  initialDataSize = initialData_.size() * sizeof( T );
77860  pInitialData = initialData_.data();
77861  return *this;
77862  }
77863 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
77864 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
77865 
77867  {
77868  return *reinterpret_cast<const VkPipelineCacheCreateInfo *>( this );
77869  }
77870 
77872  {
77873  return *reinterpret_cast<VkPipelineCacheCreateInfo *>( this );
77874  }
77875 
77876 #if defined( VULKAN_HPP_USE_REFLECT )
77877 # if 14 <= VULKAN_HPP_CPP_VERSION
77878  auto
77879 # else
77880  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
77881  const void * const &,
77883  size_t const &,
77884  const void * const &>
77885 # endif
77886  reflect() const VULKAN_HPP_NOEXCEPT
77887  {
77888  return std::tie( sType, pNext, flags, initialDataSize, pInitialData );
77889  }
77890 #endif
77891 
77892 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
77893  auto operator<=>( PipelineCacheCreateInfo const & ) const = default;
77894 #else
77896  {
77897 # if defined( VULKAN_HPP_USE_REFLECT )
77898  return this->reflect() == rhs.reflect();
77899 # else
77900  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( initialDataSize == rhs.initialDataSize ) &&
77901  ( pInitialData == rhs.pInitialData );
77902 # endif
77903  }
77904 
77906  {
77907  return !operator==( rhs );
77908  }
77909 #endif
77910 
77911  public:
77912  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineCacheCreateInfo;
77913  const void * pNext = {};
77915  size_t initialDataSize = {};
77916  const void * pInitialData = {};
77917  };
77918 
77919  template <>
77921  {
77923  };
77924 
77926  {
77928 
77929 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
77931  PipelineCacheHeaderVersionOne( uint32_t headerSize_ = {},
77933  uint32_t vendorID_ = {},
77934  uint32_t deviceID_ = {},
77935  std::array<uint8_t, VK_UUID_SIZE> const & pipelineCacheUUID_ = {} ) VULKAN_HPP_NOEXCEPT
77936  : headerSize( headerSize_ )
77937  , headerVersion( headerVersion_ )
77938  , vendorID( vendorID_ )
77939  , deviceID( deviceID_ )
77940  , pipelineCacheUUID( pipelineCacheUUID_ )
77941  {
77942  }
77943 
77944  VULKAN_HPP_CONSTEXPR_14 PipelineCacheHeaderVersionOne( PipelineCacheHeaderVersionOne const & rhs ) VULKAN_HPP_NOEXCEPT = default;
77945 
77947  : PipelineCacheHeaderVersionOne( *reinterpret_cast<PipelineCacheHeaderVersionOne const *>( &rhs ) )
77948  {
77949  }
77950 
77952 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
77953 
77955  {
77956  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineCacheHeaderVersionOne const *>( &rhs );
77957  return *this;
77958  }
77959 
77960 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
77962  {
77963  headerSize = headerSize_;
77964  return *this;
77965  }
77966 
77969  {
77970  headerVersion = headerVersion_;
77971  return *this;
77972  }
77973 
77975  {
77976  vendorID = vendorID_;
77977  return *this;
77978  }
77979 
77981  {
77982  deviceID = deviceID_;
77983  return *this;
77984  }
77985 
77986  VULKAN_HPP_CONSTEXPR_14 PipelineCacheHeaderVersionOne & setPipelineCacheUUID( std::array<uint8_t, VK_UUID_SIZE> pipelineCacheUUID_ ) VULKAN_HPP_NOEXCEPT
77987  {
77988  pipelineCacheUUID = pipelineCacheUUID_;
77989  return *this;
77990  }
77991 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
77992 
77994  {
77995  return *reinterpret_cast<const VkPipelineCacheHeaderVersionOne *>( this );
77996  }
77997 
77999  {
78000  return *reinterpret_cast<VkPipelineCacheHeaderVersionOne *>( this );
78001  }
78002 
78003 #if defined( VULKAN_HPP_USE_REFLECT )
78004 # if 14 <= VULKAN_HPP_CPP_VERSION
78005  auto
78006 # else
78007  std::tuple<uint32_t const &,
78009  uint32_t const &,
78010  uint32_t const &,
78012 # endif
78013  reflect() const VULKAN_HPP_NOEXCEPT
78014  {
78015  return std::tie( headerSize, headerVersion, vendorID, deviceID, pipelineCacheUUID );
78016  }
78017 #endif
78018 
78019 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
78020  auto operator<=>( PipelineCacheHeaderVersionOne const & ) const = default;
78021 #else
78023  {
78024 # if defined( VULKAN_HPP_USE_REFLECT )
78025  return this->reflect() == rhs.reflect();
78026 # else
78027  return ( headerSize == rhs.headerSize ) && ( headerVersion == rhs.headerVersion ) && ( vendorID == rhs.vendorID ) && ( deviceID == rhs.deviceID ) &&
78028  ( pipelineCacheUUID == rhs.pipelineCacheUUID );
78029 # endif
78030  }
78031 
78033  {
78034  return !operator==( rhs );
78035  }
78036 #endif
78037 
78038  public:
78039  uint32_t headerSize = {};
78041  uint32_t vendorID = {};
78042  uint32_t deviceID = {};
78044  };
78045 
78047  {
78049 
78050  static const bool allowDuplicate = false;
78051  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineColorBlendAdvancedStateCreateInfoEXT;
78052 
78053 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
78056  VULKAN_HPP_NAMESPACE::Bool32 dstPremultiplied_ = {},
78058  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
78059  : pNext( pNext_ )
78060  , srcPremultiplied( srcPremultiplied_ )
78061  , dstPremultiplied( dstPremultiplied_ )
78062  , blendOverlap( blendOverlap_ )
78063  {
78064  }
78065 
78066  VULKAN_HPP_CONSTEXPR PipelineColorBlendAdvancedStateCreateInfoEXT( PipelineColorBlendAdvancedStateCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
78067 
78069  : PipelineColorBlendAdvancedStateCreateInfoEXT( *reinterpret_cast<PipelineColorBlendAdvancedStateCreateInfoEXT const *>( &rhs ) )
78070  {
78071  }
78072 
78074 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
78075 
78077  {
78078  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineColorBlendAdvancedStateCreateInfoEXT const *>( &rhs );
78079  return *this;
78080  }
78081 
78082 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
78084  {
78085  pNext = pNext_;
78086  return *this;
78087  }
78088 
78091  {
78092  srcPremultiplied = srcPremultiplied_;
78093  return *this;
78094  }
78095 
78098  {
78099  dstPremultiplied = dstPremultiplied_;
78100  return *this;
78101  }
78102 
78105  {
78106  blendOverlap = blendOverlap_;
78107  return *this;
78108  }
78109 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
78110 
78112  {
78113  return *reinterpret_cast<const VkPipelineColorBlendAdvancedStateCreateInfoEXT *>( this );
78114  }
78115 
78117  {
78118  return *reinterpret_cast<VkPipelineColorBlendAdvancedStateCreateInfoEXT *>( this );
78119  }
78120 
78121 #if defined( VULKAN_HPP_USE_REFLECT )
78122 # if 14 <= VULKAN_HPP_CPP_VERSION
78123  auto
78124 # else
78125  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
78126  const void * const &,
78130 # endif
78131  reflect() const VULKAN_HPP_NOEXCEPT
78132  {
78133  return std::tie( sType, pNext, srcPremultiplied, dstPremultiplied, blendOverlap );
78134  }
78135 #endif
78136 
78137 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
78138  auto operator<=>( PipelineColorBlendAdvancedStateCreateInfoEXT const & ) const = default;
78139 #else
78141  {
78142 # if defined( VULKAN_HPP_USE_REFLECT )
78143  return this->reflect() == rhs.reflect();
78144 # else
78145  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( srcPremultiplied == rhs.srcPremultiplied ) && ( dstPremultiplied == rhs.dstPremultiplied ) &&
78146  ( blendOverlap == rhs.blendOverlap );
78147 # endif
78148  }
78149 
78151  {
78152  return !operator==( rhs );
78153  }
78154 #endif
78155 
78156  public:
78157  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineColorBlendAdvancedStateCreateInfoEXT;
78158  const void * pNext = {};
78159  VULKAN_HPP_NAMESPACE::Bool32 srcPremultiplied = {};
78160  VULKAN_HPP_NAMESPACE::Bool32 dstPremultiplied = {};
78162  };
78163 
78164  template <>
78166  {
78168  };
78169 
78171  {
78173 
78174  static const bool allowDuplicate = false;
78175  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineColorWriteCreateInfoEXT;
78176 
78177 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
78179  const VULKAN_HPP_NAMESPACE::Bool32 * pColorWriteEnables_ = {},
78180  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
78181  : pNext( pNext_ )
78182  , attachmentCount( attachmentCount_ )
78183  , pColorWriteEnables( pColorWriteEnables_ )
78184  {
78185  }
78186 
78187  VULKAN_HPP_CONSTEXPR PipelineColorWriteCreateInfoEXT( PipelineColorWriteCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
78188 
78190  : PipelineColorWriteCreateInfoEXT( *reinterpret_cast<PipelineColorWriteCreateInfoEXT const *>( &rhs ) )
78191  {
78192  }
78193 
78194 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
78196  const void * pNext_ = nullptr )
78197  : pNext( pNext_ ), attachmentCount( static_cast<uint32_t>( colorWriteEnables_.size() ) ), pColorWriteEnables( colorWriteEnables_.data() )
78198  {
78199  }
78200 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
78201 
78203 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
78204 
78206  {
78207  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineColorWriteCreateInfoEXT const *>( &rhs );
78208  return *this;
78209  }
78210 
78211 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
78213  {
78214  pNext = pNext_;
78215  return *this;
78216  }
78217 
78219  {
78220  attachmentCount = attachmentCount_;
78221  return *this;
78222  }
78223 
78226  {
78227  pColorWriteEnables = pColorWriteEnables_;
78228  return *this;
78229  }
78230 
78231 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
78234  {
78235  attachmentCount = static_cast<uint32_t>( colorWriteEnables_.size() );
78236  pColorWriteEnables = colorWriteEnables_.data();
78237  return *this;
78238  }
78239 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
78240 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
78241 
78243  {
78244  return *reinterpret_cast<const VkPipelineColorWriteCreateInfoEXT *>( this );
78245  }
78246 
78248  {
78249  return *reinterpret_cast<VkPipelineColorWriteCreateInfoEXT *>( this );
78250  }
78251 
78252 #if defined( VULKAN_HPP_USE_REFLECT )
78253 # if 14 <= VULKAN_HPP_CPP_VERSION
78254  auto
78255 # else
78256  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &, const VULKAN_HPP_NAMESPACE::Bool32 * const &>
78257 # endif
78258  reflect() const VULKAN_HPP_NOEXCEPT
78259  {
78260  return std::tie( sType, pNext, attachmentCount, pColorWriteEnables );
78261  }
78262 #endif
78263 
78264 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
78265  auto operator<=>( PipelineColorWriteCreateInfoEXT const & ) const = default;
78266 #else
78268  {
78269 # if defined( VULKAN_HPP_USE_REFLECT )
78270  return this->reflect() == rhs.reflect();
78271 # else
78272  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( attachmentCount == rhs.attachmentCount ) && ( pColorWriteEnables == rhs.pColorWriteEnables );
78273 # endif
78274  }
78275 
78277  {
78278  return !operator==( rhs );
78279  }
78280 #endif
78281 
78282  public:
78283  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineColorWriteCreateInfoEXT;
78284  const void * pNext = {};
78285  uint32_t attachmentCount = {};
78286  const VULKAN_HPP_NAMESPACE::Bool32 * pColorWriteEnables = {};
78287  };
78288 
78289  template <>
78291  {
78293  };
78294 
78296  {
78298 
78299  static const bool allowDuplicate = false;
78300  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineCompilerControlCreateInfoAMD;
78301 
78302 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
78304  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
78305  : pNext( pNext_ )
78306  , compilerControlFlags( compilerControlFlags_ )
78307  {
78308  }
78309 
78310  VULKAN_HPP_CONSTEXPR PipelineCompilerControlCreateInfoAMD( PipelineCompilerControlCreateInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default;
78311 
78313  : PipelineCompilerControlCreateInfoAMD( *reinterpret_cast<PipelineCompilerControlCreateInfoAMD const *>( &rhs ) )
78314  {
78315  }
78316 
78318 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
78319 
78321  {
78322  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineCompilerControlCreateInfoAMD const *>( &rhs );
78323  return *this;
78324  }
78325 
78326 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
78328  {
78329  pNext = pNext_;
78330  return *this;
78331  }
78332 
78335  {
78336  compilerControlFlags = compilerControlFlags_;
78337  return *this;
78338  }
78339 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
78340 
78342  {
78343  return *reinterpret_cast<const VkPipelineCompilerControlCreateInfoAMD *>( this );
78344  }
78345 
78347  {
78348  return *reinterpret_cast<VkPipelineCompilerControlCreateInfoAMD *>( this );
78349  }
78350 
78351 #if defined( VULKAN_HPP_USE_REFLECT )
78352 # if 14 <= VULKAN_HPP_CPP_VERSION
78353  auto
78354 # else
78355  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::PipelineCompilerControlFlagsAMD const &>
78356 # endif
78357  reflect() const VULKAN_HPP_NOEXCEPT
78358  {
78359  return std::tie( sType, pNext, compilerControlFlags );
78360  }
78361 #endif
78362 
78363 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
78364  auto operator<=>( PipelineCompilerControlCreateInfoAMD const & ) const = default;
78365 #else
78367  {
78368 # if defined( VULKAN_HPP_USE_REFLECT )
78369  return this->reflect() == rhs.reflect();
78370 # else
78371  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( compilerControlFlags == rhs.compilerControlFlags );
78372 # endif
78373  }
78374 
78376  {
78377  return !operator==( rhs );
78378  }
78379 #endif
78380 
78381  public:
78382  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineCompilerControlCreateInfoAMD;
78383  const void * pNext = {};
78385  };
78386 
78387  template <>
78389  {
78391  };
78392 
78394  {
78396 
78397  static const bool allowDuplicate = false;
78398  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineCoverageModulationStateCreateInfoNV;
78399 
78400 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
78404  VULKAN_HPP_NAMESPACE::Bool32 coverageModulationTableEnable_ = {},
78405  uint32_t coverageModulationTableCount_ = {},
78406  const float * pCoverageModulationTable_ = {},
78407  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
78408  : pNext( pNext_ )
78409  , flags( flags_ )
78410  , coverageModulationMode( coverageModulationMode_ )
78411  , coverageModulationTableEnable( coverageModulationTableEnable_ )
78412  , coverageModulationTableCount( coverageModulationTableCount_ )
78413  , pCoverageModulationTable( pCoverageModulationTable_ )
78414  {
78415  }
78416 
78417  VULKAN_HPP_CONSTEXPR PipelineCoverageModulationStateCreateInfoNV( PipelineCoverageModulationStateCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
78418 
78420  : PipelineCoverageModulationStateCreateInfoNV( *reinterpret_cast<PipelineCoverageModulationStateCreateInfoNV const *>( &rhs ) )
78421  {
78422  }
78423 
78424 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
78426  VULKAN_HPP_NAMESPACE::CoverageModulationModeNV coverageModulationMode_,
78427  VULKAN_HPP_NAMESPACE::Bool32 coverageModulationTableEnable_,
78428  VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const float> const & coverageModulationTable_,
78429  const void * pNext_ = nullptr )
78430  : pNext( pNext_ )
78431  , flags( flags_ )
78432  , coverageModulationMode( coverageModulationMode_ )
78433  , coverageModulationTableEnable( coverageModulationTableEnable_ )
78434  , coverageModulationTableCount( static_cast<uint32_t>( coverageModulationTable_.size() ) )
78435  , pCoverageModulationTable( coverageModulationTable_.data() )
78436  {
78437  }
78438 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
78439 
78441 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
78442 
78444  {
78445  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineCoverageModulationStateCreateInfoNV const *>( &rhs );
78446  return *this;
78447  }
78448 
78449 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
78451  {
78452  pNext = pNext_;
78453  return *this;
78454  }
78455 
78458  {
78459  flags = flags_;
78460  return *this;
78461  }
78462 
78465  {
78466  coverageModulationMode = coverageModulationMode_;
78467  return *this;
78468  }
78469 
78472  {
78473  coverageModulationTableEnable = coverageModulationTableEnable_;
78474  return *this;
78475  }
78476 
78478  setCoverageModulationTableCount( uint32_t coverageModulationTableCount_ ) VULKAN_HPP_NOEXCEPT
78479  {
78480  coverageModulationTableCount = coverageModulationTableCount_;
78481  return *this;
78482  }
78483 
78485  setPCoverageModulationTable( const float * pCoverageModulationTable_ ) VULKAN_HPP_NOEXCEPT
78486  {
78487  pCoverageModulationTable = pCoverageModulationTable_;
78488  return *this;
78489  }
78490 
78491 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
78494  {
78495  coverageModulationTableCount = static_cast<uint32_t>( coverageModulationTable_.size() );
78496  pCoverageModulationTable = coverageModulationTable_.data();
78497  return *this;
78498  }
78499 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
78500 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
78501 
78503  {
78504  return *reinterpret_cast<const VkPipelineCoverageModulationStateCreateInfoNV *>( this );
78505  }
78506 
78508  {
78509  return *reinterpret_cast<VkPipelineCoverageModulationStateCreateInfoNV *>( this );
78510  }
78511 
78512 #if defined( VULKAN_HPP_USE_REFLECT )
78513 # if 14 <= VULKAN_HPP_CPP_VERSION
78514  auto
78515 # else
78516  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
78517  const void * const &,
78521  uint32_t const &,
78522  const float * const &>
78523 # endif
78524  reflect() const VULKAN_HPP_NOEXCEPT
78525  {
78526  return std::tie( sType, pNext, flags, coverageModulationMode, coverageModulationTableEnable, coverageModulationTableCount, pCoverageModulationTable );
78527  }
78528 #endif
78529 
78530 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
78531  auto operator<=>( PipelineCoverageModulationStateCreateInfoNV const & ) const = default;
78532 #else
78534  {
78535 # if defined( VULKAN_HPP_USE_REFLECT )
78536  return this->reflect() == rhs.reflect();
78537 # else
78538  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( coverageModulationMode == rhs.coverageModulationMode ) &&
78539  ( coverageModulationTableEnable == rhs.coverageModulationTableEnable ) && ( coverageModulationTableCount == rhs.coverageModulationTableCount ) &&
78540  ( pCoverageModulationTable == rhs.pCoverageModulationTable );
78541 # endif
78542  }
78543 
78545  {
78546  return !operator==( rhs );
78547  }
78548 #endif
78549 
78550  public:
78551  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineCoverageModulationStateCreateInfoNV;
78552  const void * pNext = {};
78555  VULKAN_HPP_NAMESPACE::Bool32 coverageModulationTableEnable = {};
78556  uint32_t coverageModulationTableCount = {};
78557  const float * pCoverageModulationTable = {};
78558  };
78559 
78560  template <>
78562  {
78564  };
78565 
78567  {
78569 
78570  static const bool allowDuplicate = false;
78571  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineCoverageReductionStateCreateInfoNV;
78572 
78573 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
78577  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
78578  : pNext( pNext_ )
78579  , flags( flags_ )
78580  , coverageReductionMode( coverageReductionMode_ )
78581  {
78582  }
78583 
78584  VULKAN_HPP_CONSTEXPR PipelineCoverageReductionStateCreateInfoNV( PipelineCoverageReductionStateCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
78585 
78587  : PipelineCoverageReductionStateCreateInfoNV( *reinterpret_cast<PipelineCoverageReductionStateCreateInfoNV const *>( &rhs ) )
78588  {
78589  }
78590 
78592 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
78593 
78595  {
78596  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineCoverageReductionStateCreateInfoNV const *>( &rhs );
78597  return *this;
78598  }
78599 
78600 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
78602  {
78603  pNext = pNext_;
78604  return *this;
78605  }
78606 
78609  {
78610  flags = flags_;
78611  return *this;
78612  }
78613 
78616  {
78617  coverageReductionMode = coverageReductionMode_;
78618  return *this;
78619  }
78620 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
78621 
78623  {
78624  return *reinterpret_cast<const VkPipelineCoverageReductionStateCreateInfoNV *>( this );
78625  }
78626 
78628  {
78629  return *reinterpret_cast<VkPipelineCoverageReductionStateCreateInfoNV *>( this );
78630  }
78631 
78632 #if defined( VULKAN_HPP_USE_REFLECT )
78633 # if 14 <= VULKAN_HPP_CPP_VERSION
78634  auto
78635 # else
78636  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
78637  const void * const &,
78640 # endif
78641  reflect() const VULKAN_HPP_NOEXCEPT
78642  {
78643  return std::tie( sType, pNext, flags, coverageReductionMode );
78644  }
78645 #endif
78646 
78647 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
78648  auto operator<=>( PipelineCoverageReductionStateCreateInfoNV const & ) const = default;
78649 #else
78651  {
78652 # if defined( VULKAN_HPP_USE_REFLECT )
78653  return this->reflect() == rhs.reflect();
78654 # else
78655  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( coverageReductionMode == rhs.coverageReductionMode );
78656 # endif
78657  }
78658 
78660  {
78661  return !operator==( rhs );
78662  }
78663 #endif
78664 
78665  public:
78666  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineCoverageReductionStateCreateInfoNV;
78667  const void * pNext = {};
78670  };
78671 
78672  template <>
78674  {
78676  };
78677 
78679  {
78681 
78682  static const bool allowDuplicate = false;
78683  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineCoverageToColorStateCreateInfoNV;
78684 
78685 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
78687  VULKAN_HPP_NAMESPACE::Bool32 coverageToColorEnable_ = {},
78688  uint32_t coverageToColorLocation_ = {},
78689  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
78690  : pNext( pNext_ )
78691  , flags( flags_ )
78692  , coverageToColorEnable( coverageToColorEnable_ )
78693  , coverageToColorLocation( coverageToColorLocation_ )
78694  {
78695  }
78696 
78697  VULKAN_HPP_CONSTEXPR PipelineCoverageToColorStateCreateInfoNV( PipelineCoverageToColorStateCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
78698 
78700  : PipelineCoverageToColorStateCreateInfoNV( *reinterpret_cast<PipelineCoverageToColorStateCreateInfoNV const *>( &rhs ) )
78701  {
78702  }
78703 
78705 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
78706 
78708  {
78709  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineCoverageToColorStateCreateInfoNV const *>( &rhs );
78710  return *this;
78711  }
78712 
78713 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
78715  {
78716  pNext = pNext_;
78717  return *this;
78718  }
78719 
78722  {
78723  flags = flags_;
78724  return *this;
78725  }
78726 
78729  {
78730  coverageToColorEnable = coverageToColorEnable_;
78731  return *this;
78732  }
78733 
78735  {
78736  coverageToColorLocation = coverageToColorLocation_;
78737  return *this;
78738  }
78739 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
78740 
78742  {
78743  return *reinterpret_cast<const VkPipelineCoverageToColorStateCreateInfoNV *>( this );
78744  }
78745 
78747  {
78748  return *reinterpret_cast<VkPipelineCoverageToColorStateCreateInfoNV *>( this );
78749  }
78750 
78751 #if defined( VULKAN_HPP_USE_REFLECT )
78752 # if 14 <= VULKAN_HPP_CPP_VERSION
78753  auto
78754 # else
78755  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
78756  const void * const &,
78759  uint32_t const &>
78760 # endif
78761  reflect() const VULKAN_HPP_NOEXCEPT
78762  {
78763  return std::tie( sType, pNext, flags, coverageToColorEnable, coverageToColorLocation );
78764  }
78765 #endif
78766 
78767 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
78768  auto operator<=>( PipelineCoverageToColorStateCreateInfoNV const & ) const = default;
78769 #else
78771  {
78772 # if defined( VULKAN_HPP_USE_REFLECT )
78773  return this->reflect() == rhs.reflect();
78774 # else
78775  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( coverageToColorEnable == rhs.coverageToColorEnable ) &&
78776  ( coverageToColorLocation == rhs.coverageToColorLocation );
78777 # endif
78778  }
78779 
78781  {
78782  return !operator==( rhs );
78783  }
78784 #endif
78785 
78786  public:
78787  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineCoverageToColorStateCreateInfoNV;
78788  const void * pNext = {};
78790  VULKAN_HPP_NAMESPACE::Bool32 coverageToColorEnable = {};
78791  uint32_t coverageToColorLocation = {};
78792  };
78793 
78794  template <>
78796  {
78798  };
78799 
78801  {
78803 
78804 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
78806  uint64_t duration_ = {} ) VULKAN_HPP_NOEXCEPT
78807  : flags( flags_ )
78808  , duration( duration_ )
78809  {
78810  }
78811 
78812  VULKAN_HPP_CONSTEXPR PipelineCreationFeedback( PipelineCreationFeedback const & rhs ) VULKAN_HPP_NOEXCEPT = default;
78813 
78815  : PipelineCreationFeedback( *reinterpret_cast<PipelineCreationFeedback const *>( &rhs ) )
78816  {
78817  }
78818 
78819  PipelineCreationFeedback & operator=( PipelineCreationFeedback const & rhs ) VULKAN_HPP_NOEXCEPT = default;
78820 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
78821 
78823  {
78824  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineCreationFeedback const *>( &rhs );
78825  return *this;
78826  }
78827 
78829  {
78830  return *reinterpret_cast<const VkPipelineCreationFeedback *>( this );
78831  }
78832 
78834  {
78835  return *reinterpret_cast<VkPipelineCreationFeedback *>( this );
78836  }
78837 
78838 #if defined( VULKAN_HPP_USE_REFLECT )
78839 # if 14 <= VULKAN_HPP_CPP_VERSION
78840  auto
78841 # else
78842  std::tuple<VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackFlags const &, uint64_t const &>
78843 # endif
78844  reflect() const VULKAN_HPP_NOEXCEPT
78845  {
78846  return std::tie( flags, duration );
78847  }
78848 #endif
78849 
78850 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
78851  auto operator<=>( PipelineCreationFeedback const & ) const = default;
78852 #else
78854  {
78855 # if defined( VULKAN_HPP_USE_REFLECT )
78856  return this->reflect() == rhs.reflect();
78857 # else
78858  return ( flags == rhs.flags ) && ( duration == rhs.duration );
78859 # endif
78860  }
78861 
78863  {
78864  return !operator==( rhs );
78865  }
78866 #endif
78867 
78868  public:
78870  uint64_t duration = {};
78871  };
78872  using PipelineCreationFeedbackEXT = PipelineCreationFeedback;
78873 
78875  {
78877 
78878  static const bool allowDuplicate = false;
78879  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineCreationFeedbackCreateInfo;
78880 
78881 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
78883  uint32_t pipelineStageCreationFeedbackCount_ = {},
78884  VULKAN_HPP_NAMESPACE::PipelineCreationFeedback * pPipelineStageCreationFeedbacks_ = {},
78885  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
78886  : pNext( pNext_ )
78887  , pPipelineCreationFeedback( pPipelineCreationFeedback_ )
78888  , pipelineStageCreationFeedbackCount( pipelineStageCreationFeedbackCount_ )
78889  , pPipelineStageCreationFeedbacks( pPipelineStageCreationFeedbacks_ )
78890  {
78891  }
78892 
78893  VULKAN_HPP_CONSTEXPR PipelineCreationFeedbackCreateInfo( PipelineCreationFeedbackCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
78894 
78896  : PipelineCreationFeedbackCreateInfo( *reinterpret_cast<PipelineCreationFeedbackCreateInfo const *>( &rhs ) )
78897  {
78898  }
78899 
78900 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
78902  VULKAN_HPP_NAMESPACE::PipelineCreationFeedback * pPipelineCreationFeedback_,
78904  const void * pNext_ = nullptr )
78905  : pNext( pNext_ )
78906  , pPipelineCreationFeedback( pPipelineCreationFeedback_ )
78907  , pipelineStageCreationFeedbackCount( static_cast<uint32_t>( pipelineStageCreationFeedbacks_.size() ) )
78908  , pPipelineStageCreationFeedbacks( pipelineStageCreationFeedbacks_.data() )
78909  {
78910  }
78911 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
78912 
78914 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
78915 
78917  {
78918  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackCreateInfo const *>( &rhs );
78919  return *this;
78920  }
78921 
78922 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
78924  {
78925  pNext = pNext_;
78926  return *this;
78927  }
78928 
78931  {
78932  pPipelineCreationFeedback = pPipelineCreationFeedback_;
78933  return *this;
78934  }
78935 
78937  setPipelineStageCreationFeedbackCount( uint32_t pipelineStageCreationFeedbackCount_ ) VULKAN_HPP_NOEXCEPT
78938  {
78939  pipelineStageCreationFeedbackCount = pipelineStageCreationFeedbackCount_;
78940  return *this;
78941  }
78942 
78945  {
78946  pPipelineStageCreationFeedbacks = pPipelineStageCreationFeedbacks_;
78947  return *this;
78948  }
78949 
78950 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
78954  {
78955  pipelineStageCreationFeedbackCount = static_cast<uint32_t>( pipelineStageCreationFeedbacks_.size() );
78956  pPipelineStageCreationFeedbacks = pipelineStageCreationFeedbacks_.data();
78957  return *this;
78958  }
78959 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
78960 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
78961 
78963  {
78964  return *reinterpret_cast<const VkPipelineCreationFeedbackCreateInfo *>( this );
78965  }
78966 
78968  {
78969  return *reinterpret_cast<VkPipelineCreationFeedbackCreateInfo *>( this );
78970  }
78971 
78972 #if defined( VULKAN_HPP_USE_REFLECT )
78973 # if 14 <= VULKAN_HPP_CPP_VERSION
78974  auto
78975 # else
78976  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
78977  const void * const &,
78979  uint32_t const &,
78981 # endif
78982  reflect() const VULKAN_HPP_NOEXCEPT
78983  {
78984  return std::tie( sType, pNext, pPipelineCreationFeedback, pipelineStageCreationFeedbackCount, pPipelineStageCreationFeedbacks );
78985  }
78986 #endif
78987 
78988 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
78989  auto operator<=>( PipelineCreationFeedbackCreateInfo const & ) const = default;
78990 #else
78992  {
78993 # if defined( VULKAN_HPP_USE_REFLECT )
78994  return this->reflect() == rhs.reflect();
78995 # else
78996  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pPipelineCreationFeedback == rhs.pPipelineCreationFeedback ) &&
78997  ( pipelineStageCreationFeedbackCount == rhs.pipelineStageCreationFeedbackCount ) &&
78998  ( pPipelineStageCreationFeedbacks == rhs.pPipelineStageCreationFeedbacks );
78999 # endif
79000  }
79001 
79003  {
79004  return !operator==( rhs );
79005  }
79006 #endif
79007 
79008  public:
79009  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineCreationFeedbackCreateInfo;
79010  const void * pNext = {};
79011  VULKAN_HPP_NAMESPACE::PipelineCreationFeedback * pPipelineCreationFeedback = {};
79012  uint32_t pipelineStageCreationFeedbackCount = {};
79013  VULKAN_HPP_NAMESPACE::PipelineCreationFeedback * pPipelineStageCreationFeedbacks = {};
79014  };
79015 
79016  template <>
79018  {
79020  };
79022 
79024  {
79026 
79027  static const bool allowDuplicate = false;
79028  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineDiscardRectangleStateCreateInfoEXT;
79029 
79030 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
79034  uint32_t discardRectangleCount_ = {},
79035  const VULKAN_HPP_NAMESPACE::Rect2D * pDiscardRectangles_ = {},
79036  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
79037  : pNext( pNext_ )
79038  , flags( flags_ )
79039  , discardRectangleMode( discardRectangleMode_ )
79040  , discardRectangleCount( discardRectangleCount_ )
79041  , pDiscardRectangles( pDiscardRectangles_ )
79042  {
79043  }
79044 
79045  VULKAN_HPP_CONSTEXPR PipelineDiscardRectangleStateCreateInfoEXT( PipelineDiscardRectangleStateCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
79046 
79048  : PipelineDiscardRectangleStateCreateInfoEXT( *reinterpret_cast<PipelineDiscardRectangleStateCreateInfoEXT const *>( &rhs ) )
79049  {
79050  }
79051 
79052 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
79054  VULKAN_HPP_NAMESPACE::DiscardRectangleModeEXT discardRectangleMode_,
79056  const void * pNext_ = nullptr )
79057  : pNext( pNext_ )
79058  , flags( flags_ )
79059  , discardRectangleMode( discardRectangleMode_ )
79060  , discardRectangleCount( static_cast<uint32_t>( discardRectangles_.size() ) )
79061  , pDiscardRectangles( discardRectangles_.data() )
79062  {
79063  }
79064 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
79065 
79067 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
79068 
79070  {
79071  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineDiscardRectangleStateCreateInfoEXT const *>( &rhs );
79072  return *this;
79073  }
79074 
79075 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
79077  {
79078  pNext = pNext_;
79079  return *this;
79080  }
79081 
79084  {
79085  flags = flags_;
79086  return *this;
79087  }
79088 
79091  {
79092  discardRectangleMode = discardRectangleMode_;
79093  return *this;
79094  }
79095 
79097  {
79098  discardRectangleCount = discardRectangleCount_;
79099  return *this;
79100  }
79101 
79104  {
79105  pDiscardRectangles = pDiscardRectangles_;
79106  return *this;
79107  }
79108 
79109 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
79112  {
79113  discardRectangleCount = static_cast<uint32_t>( discardRectangles_.size() );
79114  pDiscardRectangles = discardRectangles_.data();
79115  return *this;
79116  }
79117 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
79118 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
79119 
79121  {
79122  return *reinterpret_cast<const VkPipelineDiscardRectangleStateCreateInfoEXT *>( this );
79123  }
79124 
79126  {
79127  return *reinterpret_cast<VkPipelineDiscardRectangleStateCreateInfoEXT *>( this );
79128  }
79129 
79130 #if defined( VULKAN_HPP_USE_REFLECT )
79131 # if 14 <= VULKAN_HPP_CPP_VERSION
79132  auto
79133 # else
79134  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
79135  const void * const &,
79138  uint32_t const &,
79139  const VULKAN_HPP_NAMESPACE::Rect2D * const &>
79140 # endif
79141  reflect() const VULKAN_HPP_NOEXCEPT
79142  {
79143  return std::tie( sType, pNext, flags, discardRectangleMode, discardRectangleCount, pDiscardRectangles );
79144  }
79145 #endif
79146 
79147 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
79148  auto operator<=>( PipelineDiscardRectangleStateCreateInfoEXT const & ) const = default;
79149 #else
79151  {
79152 # if defined( VULKAN_HPP_USE_REFLECT )
79153  return this->reflect() == rhs.reflect();
79154 # else
79155  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( discardRectangleMode == rhs.discardRectangleMode ) &&
79156  ( discardRectangleCount == rhs.discardRectangleCount ) && ( pDiscardRectangles == rhs.pDiscardRectangles );
79157 # endif
79158  }
79159 
79161  {
79162  return !operator==( rhs );
79163  }
79164 #endif
79165 
79166  public:
79167  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineDiscardRectangleStateCreateInfoEXT;
79168  const void * pNext = {};
79171  uint32_t discardRectangleCount = {};
79172  const VULKAN_HPP_NAMESPACE::Rect2D * pDiscardRectangles = {};
79173  };
79174 
79175  template <>
79177  {
79179  };
79180 
79182  {
79184 
79185  static const bool allowDuplicate = false;
79186  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineExecutableInfoKHR;
79187 
79188 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
79190  uint32_t executableIndex_ = {},
79191  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
79192  : pNext( pNext_ )
79193  , pipeline( pipeline_ )
79194  , executableIndex( executableIndex_ )
79195  {
79196  }
79197 
79198  VULKAN_HPP_CONSTEXPR PipelineExecutableInfoKHR( PipelineExecutableInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
79199 
79201  : PipelineExecutableInfoKHR( *reinterpret_cast<PipelineExecutableInfoKHR const *>( &rhs ) )
79202  {
79203  }
79204 
79205  PipelineExecutableInfoKHR & operator=( PipelineExecutableInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
79206 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
79207 
79209  {
79210  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR const *>( &rhs );
79211  return *this;
79212  }
79213 
79214 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
79216  {
79217  pNext = pNext_;
79218  return *this;
79219  }
79220 
79222  {
79223  pipeline = pipeline_;
79224  return *this;
79225  }
79226 
79228  {
79229  executableIndex = executableIndex_;
79230  return *this;
79231  }
79232 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
79233 
79235  {
79236  return *reinterpret_cast<const VkPipelineExecutableInfoKHR *>( this );
79237  }
79238 
79240  {
79241  return *reinterpret_cast<VkPipelineExecutableInfoKHR *>( this );
79242  }
79243 
79244 #if defined( VULKAN_HPP_USE_REFLECT )
79245 # if 14 <= VULKAN_HPP_CPP_VERSION
79246  auto
79247 # else
79248  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::Pipeline const &, uint32_t const &>
79249 # endif
79250  reflect() const VULKAN_HPP_NOEXCEPT
79251  {
79252  return std::tie( sType, pNext, pipeline, executableIndex );
79253  }
79254 #endif
79255 
79256 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
79257  auto operator<=>( PipelineExecutableInfoKHR const & ) const = default;
79258 #else
79260  {
79261 # if defined( VULKAN_HPP_USE_REFLECT )
79262  return this->reflect() == rhs.reflect();
79263 # else
79264  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pipeline == rhs.pipeline ) && ( executableIndex == rhs.executableIndex );
79265 # endif
79266  }
79267 
79269  {
79270  return !operator==( rhs );
79271  }
79272 #endif
79273 
79274  public:
79275  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineExecutableInfoKHR;
79276  const void * pNext = {};
79278  uint32_t executableIndex = {};
79279  };
79280 
79281  template <>
79283  {
79285  };
79286 
79288  {
79290 
79291  static const bool allowDuplicate = false;
79292  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineExecutableInternalRepresentationKHR;
79293 
79294 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
79295  VULKAN_HPP_CONSTEXPR_14 PipelineExecutableInternalRepresentationKHR( std::array<char, VK_MAX_DESCRIPTION_SIZE> const & name_ = {},
79296  std::array<char, VK_MAX_DESCRIPTION_SIZE> const & description_ = {},
79297  VULKAN_HPP_NAMESPACE::Bool32 isText_ = {},
79298  size_t dataSize_ = {},
79299  void * pData_ = {},
79300  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
79301  : pNext( pNext_ )
79302  , name( name_ )
79303  , description( description_ )
79304  , isText( isText_ )
79305  , dataSize( dataSize_ )
79306  , pData( pData_ )
79307  {
79308  }
79309 
79311  PipelineExecutableInternalRepresentationKHR( PipelineExecutableInternalRepresentationKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
79312 
79314  : PipelineExecutableInternalRepresentationKHR( *reinterpret_cast<PipelineExecutableInternalRepresentationKHR const *>( &rhs ) )
79315  {
79316  }
79317 
79318 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
79319  template <typename T>
79320  PipelineExecutableInternalRepresentationKHR( std::array<char, VK_MAX_DESCRIPTION_SIZE> const & name_,
79321  std::array<char, VK_MAX_DESCRIPTION_SIZE> const & description_,
79324  void * pNext_ = nullptr )
79325  : pNext( pNext_ ), name( name_ ), description( description_ ), isText( isText_ ), dataSize( data_.size() * sizeof( T ) ), pData( data_.data() )
79326  {
79327  }
79328 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
79329 
79331 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
79332 
79334  {
79335  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineExecutableInternalRepresentationKHR const *>( &rhs );
79336  return *this;
79337  }
79338 
79340  {
79341  return *reinterpret_cast<const VkPipelineExecutableInternalRepresentationKHR *>( this );
79342  }
79343 
79345  {
79346  return *reinterpret_cast<VkPipelineExecutableInternalRepresentationKHR *>( this );
79347  }
79348 
79349 #if defined( VULKAN_HPP_USE_REFLECT )
79350 # if 14 <= VULKAN_HPP_CPP_VERSION
79351  auto
79352 # else
79353  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
79354  void * const &,
79358  size_t const &,
79359  void * const &>
79360 # endif
79361  reflect() const VULKAN_HPP_NOEXCEPT
79362  {
79363  return std::tie( sType, pNext, name, description, isText, dataSize, pData );
79364  }
79365 #endif
79366 
79367 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
79368  auto operator<=>( PipelineExecutableInternalRepresentationKHR const & ) const = default;
79369 #else
79371  {
79372 # if defined( VULKAN_HPP_USE_REFLECT )
79373  return this->reflect() == rhs.reflect();
79374 # else
79375  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( name == rhs.name ) && ( description == rhs.description ) && ( isText == rhs.isText ) &&
79376  ( dataSize == rhs.dataSize ) && ( pData == rhs.pData );
79377 # endif
79378  }
79379 
79381  {
79382  return !operator==( rhs );
79383  }
79384 #endif
79385 
79386  public:
79387  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineExecutableInternalRepresentationKHR;
79388  void * pNext = {};
79392  size_t dataSize = {};
79393  void * pData = {};
79394  };
79395 
79396  template <>
79398  {
79400  };
79401 
79403  {
79405 
79406  static const bool allowDuplicate = false;
79407  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineExecutablePropertiesKHR;
79408 
79409 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
79411  std::array<char, VK_MAX_DESCRIPTION_SIZE> const & name_ = {},
79412  std::array<char, VK_MAX_DESCRIPTION_SIZE> const & description_ = {},
79413  uint32_t subgroupSize_ = {},
79414  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
79415  : pNext( pNext_ )
79416  , stages( stages_ )
79417  , name( name_ )
79418  , description( description_ )
79419  , subgroupSize( subgroupSize_ )
79420  {
79421  }
79422 
79423  VULKAN_HPP_CONSTEXPR_14 PipelineExecutablePropertiesKHR( PipelineExecutablePropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
79424 
79426  : PipelineExecutablePropertiesKHR( *reinterpret_cast<PipelineExecutablePropertiesKHR const *>( &rhs ) )
79427  {
79428  }
79429 
79431 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
79432 
79434  {
79435  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR const *>( &rhs );
79436  return *this;
79437  }
79438 
79440  {
79441  return *reinterpret_cast<const VkPipelineExecutablePropertiesKHR *>( this );
79442  }
79443 
79445  {
79446  return *reinterpret_cast<VkPipelineExecutablePropertiesKHR *>( this );
79447  }
79448 
79449 #if defined( VULKAN_HPP_USE_REFLECT )
79450 # if 14 <= VULKAN_HPP_CPP_VERSION
79451  auto
79452 # else
79453  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
79454  void * const &,
79458  uint32_t const &>
79459 # endif
79460  reflect() const VULKAN_HPP_NOEXCEPT
79461  {
79462  return std::tie( sType, pNext, stages, name, description, subgroupSize );
79463  }
79464 #endif
79465 
79466 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
79467  auto operator<=>( PipelineExecutablePropertiesKHR const & ) const = default;
79468 #else
79470  {
79471 # if defined( VULKAN_HPP_USE_REFLECT )
79472  return this->reflect() == rhs.reflect();
79473 # else
79474  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( stages == rhs.stages ) && ( name == rhs.name ) && ( description == rhs.description ) &&
79475  ( subgroupSize == rhs.subgroupSize );
79476 # endif
79477  }
79478 
79480  {
79481  return !operator==( rhs );
79482  }
79483 #endif
79484 
79485  public:
79486  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineExecutablePropertiesKHR;
79487  void * pNext = {};
79491  uint32_t subgroupSize = {};
79492  };
79493 
79494  template <>
79496  {
79498  };
79499 
79501  {
79503 #if !defined( VULKAN_HPP_NO_UNION_CONSTRUCTORS )
79504 
79506 
79508 
79510 
79512 #endif /*VULKAN_HPP_NO_UNION_CONSTRUCTORS*/
79513 
79514 #if !defined( VULKAN_HPP_NO_UNION_SETTERS )
79516  {
79517  b32 = b32_;
79518  return *this;
79519  }
79520 
79522  {
79523  i64 = i64_;
79524  return *this;
79525  }
79526 
79528  {
79529  u64 = u64_;
79530  return *this;
79531  }
79532 
79534  {
79535  f64 = f64_;
79536  return *this;
79537  }
79538 #endif /*VULKAN_HPP_NO_UNION_SETTERS*/
79539 
79540  operator VkPipelineExecutableStatisticValueKHR const &() const
79541  {
79542  return *reinterpret_cast<const VkPipelineExecutableStatisticValueKHR *>( this );
79543  }
79544 
79546  {
79547  return *reinterpret_cast<VkPipelineExecutableStatisticValueKHR *>( this );
79548  }
79549 
79550 #ifdef VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
79552  int64_t i64;
79553  uint64_t u64;
79554  double f64;
79555 #else
79557  int64_t i64;
79558  uint64_t u64;
79559  double f64;
79560 #endif /*VULKAN_HPP_HAS_UNRESTRICTED_UNIONS*/
79561  };
79562 
79564  {
79566 
79567  static const bool allowDuplicate = false;
79568  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineExecutableStatisticKHR;
79569 
79570 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
79572  std::array<char, VK_MAX_DESCRIPTION_SIZE> const & name_ = {},
79573  std::array<char, VK_MAX_DESCRIPTION_SIZE> const & description_ = {},
79576  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
79577  : pNext( pNext_ )
79578  , name( name_ )
79579  , description( description_ )
79580  , format( format_ )
79581  , value( value_ )
79582  {
79583  }
79584 
79585  VULKAN_HPP_CONSTEXPR_14 PipelineExecutableStatisticKHR( PipelineExecutableStatisticKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
79586 
79588  : PipelineExecutableStatisticKHR( *reinterpret_cast<PipelineExecutableStatisticKHR const *>( &rhs ) )
79589  {
79590  }
79591 
79593 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
79594 
79596  {
79597  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticKHR const *>( &rhs );
79598  return *this;
79599  }
79600 
79602  {
79603  return *reinterpret_cast<const VkPipelineExecutableStatisticKHR *>( this );
79604  }
79605 
79607  {
79608  return *reinterpret_cast<VkPipelineExecutableStatisticKHR *>( this );
79609  }
79610 
79611 #if defined( VULKAN_HPP_USE_REFLECT )
79612 # if 14 <= VULKAN_HPP_CPP_VERSION
79613  auto
79614 # else
79615  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
79616  void * const &,
79621 # endif
79622  reflect() const VULKAN_HPP_NOEXCEPT
79623  {
79624  return std::tie( sType, pNext, name, description, format, value );
79625  }
79626 #endif
79627 
79628  public:
79629  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineExecutableStatisticKHR;
79630  void * pNext = {};
79635  };
79636 
79637  template <>
79639  {
79641  };
79642 
79644  {
79646 
79647  static const bool allowDuplicate = false;
79648  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineFragmentShadingRateEnumStateCreateInfoNV;
79649 
79650 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
79654  std::array<VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR, 2> const &
79656  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
79657  : pNext( pNext_ )
79658  , shadingRateType( shadingRateType_ )
79659  , shadingRate( shadingRate_ )
79660  , combinerOps( combinerOps_ )
79661  {
79662  }
79663 
79665  PipelineFragmentShadingRateEnumStateCreateInfoNV( PipelineFragmentShadingRateEnumStateCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
79666 
79668  : PipelineFragmentShadingRateEnumStateCreateInfoNV( *reinterpret_cast<PipelineFragmentShadingRateEnumStateCreateInfoNV const *>( &rhs ) )
79669  {
79670  }
79671 
79673 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
79674 
79676  {
79677  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineFragmentShadingRateEnumStateCreateInfoNV const *>( &rhs );
79678  return *this;
79679  }
79680 
79681 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
79683  {
79684  pNext = pNext_;
79685  return *this;
79686  }
79687 
79690  {
79691  shadingRateType = shadingRateType_;
79692  return *this;
79693  }
79694 
79697  {
79698  shadingRate = shadingRate_;
79699  return *this;
79700  }
79701 
79703  setCombinerOps( std::array<VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR, 2> combinerOps_ ) VULKAN_HPP_NOEXCEPT
79704  {
79705  combinerOps = combinerOps_;
79706  return *this;
79707  }
79708 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
79709 
79711  {
79712  return *reinterpret_cast<const VkPipelineFragmentShadingRateEnumStateCreateInfoNV *>( this );
79713  }
79714 
79716  {
79717  return *reinterpret_cast<VkPipelineFragmentShadingRateEnumStateCreateInfoNV *>( this );
79718  }
79719 
79720 #if defined( VULKAN_HPP_USE_REFLECT )
79721 # if 14 <= VULKAN_HPP_CPP_VERSION
79722  auto
79723 # else
79724  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
79725  const void * const &,
79729 # endif
79730  reflect() const VULKAN_HPP_NOEXCEPT
79731  {
79732  return std::tie( sType, pNext, shadingRateType, shadingRate, combinerOps );
79733  }
79734 #endif
79735 
79736 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
79737  auto operator<=>( PipelineFragmentShadingRateEnumStateCreateInfoNV const & ) const = default;
79738 #else
79740  {
79741 # if defined( VULKAN_HPP_USE_REFLECT )
79742  return this->reflect() == rhs.reflect();
79743 # else
79744  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shadingRateType == rhs.shadingRateType ) && ( shadingRate == rhs.shadingRate ) &&
79745  ( combinerOps == rhs.combinerOps );
79746 # endif
79747  }
79748 
79750  {
79751  return !operator==( rhs );
79752  }
79753 #endif
79754 
79755  public:
79756  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineFragmentShadingRateEnumStateCreateInfoNV;
79757  const void * pNext = {};
79761  };
79762 
79763  template <>
79765  {
79767  };
79768 
79770  {
79772 
79773  static const bool allowDuplicate = false;
79774  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineFragmentShadingRateStateCreateInfoKHR;
79775 
79776 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
79778  VULKAN_HPP_NAMESPACE::Extent2D fragmentSize_ = {},
79779  std::array<VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR, 2> const &
79781  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
79782  : pNext( pNext_ )
79783  , fragmentSize( fragmentSize_ )
79784  , combinerOps( combinerOps_ )
79785  {
79786  }
79787 
79789  PipelineFragmentShadingRateStateCreateInfoKHR( PipelineFragmentShadingRateStateCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
79790 
79792  : PipelineFragmentShadingRateStateCreateInfoKHR( *reinterpret_cast<PipelineFragmentShadingRateStateCreateInfoKHR const *>( &rhs ) )
79793  {
79794  }
79795 
79797 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
79798 
79800  {
79801  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineFragmentShadingRateStateCreateInfoKHR const *>( &rhs );
79802  return *this;
79803  }
79804 
79805 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
79807  {
79808  pNext = pNext_;
79809  return *this;
79810  }
79811 
79814  {
79815  fragmentSize = fragmentSize_;
79816  return *this;
79817  }
79818 
79820  setCombinerOps( std::array<VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR, 2> combinerOps_ ) VULKAN_HPP_NOEXCEPT
79821  {
79822  combinerOps = combinerOps_;
79823  return *this;
79824  }
79825 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
79826 
79828  {
79829  return *reinterpret_cast<const VkPipelineFragmentShadingRateStateCreateInfoKHR *>( this );
79830  }
79831 
79833  {
79834  return *reinterpret_cast<VkPipelineFragmentShadingRateStateCreateInfoKHR *>( this );
79835  }
79836 
79837 #if defined( VULKAN_HPP_USE_REFLECT )
79838 # if 14 <= VULKAN_HPP_CPP_VERSION
79839  auto
79840 # else
79841  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
79842  const void * const &,
79845 # endif
79846  reflect() const VULKAN_HPP_NOEXCEPT
79847  {
79848  return std::tie( sType, pNext, fragmentSize, combinerOps );
79849  }
79850 #endif
79851 
79852 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
79853  auto operator<=>( PipelineFragmentShadingRateStateCreateInfoKHR const & ) const = default;
79854 #else
79856  {
79857 # if defined( VULKAN_HPP_USE_REFLECT )
79858  return this->reflect() == rhs.reflect();
79859 # else
79860  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( fragmentSize == rhs.fragmentSize ) && ( combinerOps == rhs.combinerOps );
79861 # endif
79862  }
79863 
79865  {
79866  return !operator==( rhs );
79867  }
79868 #endif
79869 
79870  public:
79871  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineFragmentShadingRateStateCreateInfoKHR;
79872  const void * pNext = {};
79875  };
79876 
79877  template <>
79879  {
79881  };
79882 
79884  {
79886 
79887  static const bool allowDuplicate = false;
79888  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineInfoKHR;
79889 
79890 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
79892  : pNext( pNext_ )
79893  , pipeline( pipeline_ )
79894  {
79895  }
79896 
79897  VULKAN_HPP_CONSTEXPR PipelineInfoKHR( PipelineInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
79898 
79899  PipelineInfoKHR( VkPipelineInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : PipelineInfoKHR( *reinterpret_cast<PipelineInfoKHR const *>( &rhs ) ) {}
79900 
79901  PipelineInfoKHR & operator=( PipelineInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
79902 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
79903 
79905  {
79906  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineInfoKHR const *>( &rhs );
79907  return *this;
79908  }
79909 
79910 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
79912  {
79913  pNext = pNext_;
79914  return *this;
79915  }
79916 
79918  {
79919  pipeline = pipeline_;
79920  return *this;
79921  }
79922 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
79923 
79924  operator VkPipelineInfoKHR const &() const VULKAN_HPP_NOEXCEPT
79925  {
79926  return *reinterpret_cast<const VkPipelineInfoKHR *>( this );
79927  }
79928 
79930  {
79931  return *reinterpret_cast<VkPipelineInfoKHR *>( this );
79932  }
79933 
79934 #if defined( VULKAN_HPP_USE_REFLECT )
79935 # if 14 <= VULKAN_HPP_CPP_VERSION
79936  auto
79937 # else
79938  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::Pipeline const &>
79939 # endif
79940  reflect() const VULKAN_HPP_NOEXCEPT
79941  {
79942  return std::tie( sType, pNext, pipeline );
79943  }
79944 #endif
79945 
79946 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
79947  auto operator<=>( PipelineInfoKHR const & ) const = default;
79948 #else
79950  {
79951 # if defined( VULKAN_HPP_USE_REFLECT )
79952  return this->reflect() == rhs.reflect();
79953 # else
79954  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pipeline == rhs.pipeline );
79955 # endif
79956  }
79957 
79959  {
79960  return !operator==( rhs );
79961  }
79962 #endif
79963 
79964  public:
79965  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineInfoKHR;
79966  const void * pNext = {};
79968  };
79969 
79970  template <>
79972  {
79974  };
79976 
79978  {
79980 
79981 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
79983  PushConstantRange( VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags_ = {}, uint32_t offset_ = {}, uint32_t size_ = {} ) VULKAN_HPP_NOEXCEPT
79984  : stageFlags( stageFlags_ )
79985  , offset( offset_ )
79986  , size( size_ )
79987  {
79988  }
79989 
79990  VULKAN_HPP_CONSTEXPR PushConstantRange( PushConstantRange const & rhs ) VULKAN_HPP_NOEXCEPT = default;
79991 
79992  PushConstantRange( VkPushConstantRange const & rhs ) VULKAN_HPP_NOEXCEPT : PushConstantRange( *reinterpret_cast<PushConstantRange const *>( &rhs ) ) {}
79993 
79994  PushConstantRange & operator=( PushConstantRange const & rhs ) VULKAN_HPP_NOEXCEPT = default;
79995 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
79996 
79998  {
79999  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PushConstantRange const *>( &rhs );
80000  return *this;
80001  }
80002 
80003 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
80005  {
80006  stageFlags = stageFlags_;
80007  return *this;
80008  }
80009 
80011  {
80012  offset = offset_;
80013  return *this;
80014  }
80015 
80017  {
80018  size = size_;
80019  return *this;
80020  }
80021 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
80022 
80023  operator VkPushConstantRange const &() const VULKAN_HPP_NOEXCEPT
80024  {
80025  return *reinterpret_cast<const VkPushConstantRange *>( this );
80026  }
80027 
80029  {
80030  return *reinterpret_cast<VkPushConstantRange *>( this );
80031  }
80032 
80033 #if defined( VULKAN_HPP_USE_REFLECT )
80034 # if 14 <= VULKAN_HPP_CPP_VERSION
80035  auto
80036 # else
80037  std::tuple<VULKAN_HPP_NAMESPACE::ShaderStageFlags const &, uint32_t const &, uint32_t const &>
80038 # endif
80039  reflect() const VULKAN_HPP_NOEXCEPT
80040  {
80041  return std::tie( stageFlags, offset, size );
80042  }
80043 #endif
80044 
80045 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
80046  auto operator<=>( PushConstantRange const & ) const = default;
80047 #else
80049  {
80050 # if defined( VULKAN_HPP_USE_REFLECT )
80051  return this->reflect() == rhs.reflect();
80052 # else
80053  return ( stageFlags == rhs.stageFlags ) && ( offset == rhs.offset ) && ( size == rhs.size );
80054 # endif
80055  }
80056 
80058  {
80059  return !operator==( rhs );
80060  }
80061 #endif
80062 
80063  public:
80065  uint32_t offset = {};
80066  uint32_t size = {};
80067  };
80068 
80070  {
80072 
80073  static const bool allowDuplicate = false;
80074  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineLayoutCreateInfo;
80075 
80076 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
80078  uint32_t setLayoutCount_ = {},
80079  const VULKAN_HPP_NAMESPACE::DescriptorSetLayout * pSetLayouts_ = {},
80080  uint32_t pushConstantRangeCount_ = {},
80081  const VULKAN_HPP_NAMESPACE::PushConstantRange * pPushConstantRanges_ = {},
80082  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
80083  : pNext( pNext_ )
80084  , flags( flags_ )
80085  , setLayoutCount( setLayoutCount_ )
80086  , pSetLayouts( pSetLayouts_ )
80087  , pushConstantRangeCount( pushConstantRangeCount_ )
80088  , pPushConstantRanges( pPushConstantRanges_ )
80089  {
80090  }
80091 
80092  VULKAN_HPP_CONSTEXPR PipelineLayoutCreateInfo( PipelineLayoutCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
80093 
80095  : PipelineLayoutCreateInfo( *reinterpret_cast<PipelineLayoutCreateInfo const *>( &rhs ) )
80096  {
80097  }
80098 
80099 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
80103  const void * pNext_ = nullptr )
80104  : pNext( pNext_ )
80105  , flags( flags_ )
80106  , setLayoutCount( static_cast<uint32_t>( setLayouts_.size() ) )
80107  , pSetLayouts( setLayouts_.data() )
80108  , pushConstantRangeCount( static_cast<uint32_t>( pushConstantRanges_.size() ) )
80109  , pPushConstantRanges( pushConstantRanges_.data() )
80110  {
80111  }
80112 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
80113 
80114  PipelineLayoutCreateInfo & operator=( PipelineLayoutCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
80115 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
80116 
80118  {
80119  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineLayoutCreateInfo const *>( &rhs );
80120  return *this;
80121  }
80122 
80123 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
80125  {
80126  pNext = pNext_;
80127  return *this;
80128  }
80129 
80131  {
80132  flags = flags_;
80133  return *this;
80134  }
80135 
80137  {
80138  setLayoutCount = setLayoutCount_;
80139  return *this;
80140  }
80141 
80143  {
80144  pSetLayouts = pSetLayouts_;
80145  return *this;
80146  }
80147 
80148 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
80151  {
80152  setLayoutCount = static_cast<uint32_t>( setLayouts_.size() );
80153  pSetLayouts = setLayouts_.data();
80154  return *this;
80155  }
80156 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
80157 
80159  {
80160  pushConstantRangeCount = pushConstantRangeCount_;
80161  return *this;
80162  }
80163 
80166  {
80167  pPushConstantRanges = pPushConstantRanges_;
80168  return *this;
80169  }
80170 
80171 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
80174  {
80175  pushConstantRangeCount = static_cast<uint32_t>( pushConstantRanges_.size() );
80176  pPushConstantRanges = pushConstantRanges_.data();
80177  return *this;
80178  }
80179 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
80180 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
80181 
80183  {
80184  return *reinterpret_cast<const VkPipelineLayoutCreateInfo *>( this );
80185  }
80186 
80188  {
80189  return *reinterpret_cast<VkPipelineLayoutCreateInfo *>( this );
80190  }
80191 
80192 #if defined( VULKAN_HPP_USE_REFLECT )
80193 # if 14 <= VULKAN_HPP_CPP_VERSION
80194  auto
80195 # else
80196  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
80197  const void * const &,
80199  uint32_t const &,
80201  uint32_t const &,
80203 # endif
80204  reflect() const VULKAN_HPP_NOEXCEPT
80205  {
80206  return std::tie( sType, pNext, flags, setLayoutCount, pSetLayouts, pushConstantRangeCount, pPushConstantRanges );
80207  }
80208 #endif
80209 
80210 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
80211  auto operator<=>( PipelineLayoutCreateInfo const & ) const = default;
80212 #else
80214  {
80215 # if defined( VULKAN_HPP_USE_REFLECT )
80216  return this->reflect() == rhs.reflect();
80217 # else
80218  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( setLayoutCount == rhs.setLayoutCount ) &&
80219  ( pSetLayouts == rhs.pSetLayouts ) && ( pushConstantRangeCount == rhs.pushConstantRangeCount ) &&
80220  ( pPushConstantRanges == rhs.pPushConstantRanges );
80221 # endif
80222  }
80223 
80225  {
80226  return !operator==( rhs );
80227  }
80228 #endif
80229 
80230  public:
80231  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineLayoutCreateInfo;
80232  const void * pNext = {};
80234  uint32_t setLayoutCount = {};
80236  uint32_t pushConstantRangeCount = {};
80237  const VULKAN_HPP_NAMESPACE::PushConstantRange * pPushConstantRanges = {};
80238  };
80239 
80240  template <>
80242  {
80244  };
80245 
80247  {
80249 
80250  static const bool allowDuplicate = false;
80251  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineLibraryCreateInfoKHR;
80252 
80253 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
80255  const VULKAN_HPP_NAMESPACE::Pipeline * pLibraries_ = {},
80256  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
80257  : pNext( pNext_ )
80258  , libraryCount( libraryCount_ )
80259  , pLibraries( pLibraries_ )
80260  {
80261  }
80262 
80263  VULKAN_HPP_CONSTEXPR PipelineLibraryCreateInfoKHR( PipelineLibraryCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
80264 
80266  : PipelineLibraryCreateInfoKHR( *reinterpret_cast<PipelineLibraryCreateInfoKHR const *>( &rhs ) )
80267  {
80268  }
80269 
80270 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
80272  const void * pNext_ = nullptr )
80273  : pNext( pNext_ ), libraryCount( static_cast<uint32_t>( libraries_.size() ) ), pLibraries( libraries_.data() )
80274  {
80275  }
80276 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
80277 
80279 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
80280 
80282  {
80283  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineLibraryCreateInfoKHR const *>( &rhs );
80284  return *this;
80285  }
80286 
80287 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
80289  {
80290  pNext = pNext_;
80291  return *this;
80292  }
80293 
80295  {
80296  libraryCount = libraryCount_;
80297  return *this;
80298  }
80299 
80301  {
80302  pLibraries = pLibraries_;
80303  return *this;
80304  }
80305 
80306 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
80309  {
80310  libraryCount = static_cast<uint32_t>( libraries_.size() );
80311  pLibraries = libraries_.data();
80312  return *this;
80313  }
80314 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
80315 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
80316 
80318  {
80319  return *reinterpret_cast<const VkPipelineLibraryCreateInfoKHR *>( this );
80320  }
80321 
80323  {
80324  return *reinterpret_cast<VkPipelineLibraryCreateInfoKHR *>( this );
80325  }
80326 
80327 #if defined( VULKAN_HPP_USE_REFLECT )
80328 # if 14 <= VULKAN_HPP_CPP_VERSION
80329  auto
80330 # else
80331  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &, const VULKAN_HPP_NAMESPACE::Pipeline * const &>
80332 # endif
80333  reflect() const VULKAN_HPP_NOEXCEPT
80334  {
80335  return std::tie( sType, pNext, libraryCount, pLibraries );
80336  }
80337 #endif
80338 
80339 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
80340  auto operator<=>( PipelineLibraryCreateInfoKHR const & ) const = default;
80341 #else
80343  {
80344 # if defined( VULKAN_HPP_USE_REFLECT )
80345  return this->reflect() == rhs.reflect();
80346 # else
80347  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( libraryCount == rhs.libraryCount ) && ( pLibraries == rhs.pLibraries );
80348 # endif
80349  }
80350 
80352  {
80353  return !operator==( rhs );
80354  }
80355 #endif
80356 
80357  public:
80358  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineLibraryCreateInfoKHR;
80359  const void * pNext = {};
80360  uint32_t libraryCount = {};
80361  const VULKAN_HPP_NAMESPACE::Pipeline * pLibraries = {};
80362  };
80363 
80364  template <>
80366  {
80368  };
80369 
80371  {
80373 
80374  static const bool allowDuplicate = false;
80375  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelinePropertiesIdentifierEXT;
80376 
80377 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
80378  VULKAN_HPP_CONSTEXPR_14 PipelinePropertiesIdentifierEXT( std::array<uint8_t, VK_UUID_SIZE> const & pipelineIdentifier_ = {},
80379  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
80380  : pNext( pNext_ )
80381  , pipelineIdentifier( pipelineIdentifier_ )
80382  {
80383  }
80384 
80385  VULKAN_HPP_CONSTEXPR_14 PipelinePropertiesIdentifierEXT( PipelinePropertiesIdentifierEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
80386 
80388  : PipelinePropertiesIdentifierEXT( *reinterpret_cast<PipelinePropertiesIdentifierEXT const *>( &rhs ) )
80389  {
80390  }
80391 
80393 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
80394 
80396  {
80397  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelinePropertiesIdentifierEXT const *>( &rhs );
80398  return *this;
80399  }
80400 
80401 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
80403  {
80404  pNext = pNext_;
80405  return *this;
80406  }
80407 
80409  {
80410  pipelineIdentifier = pipelineIdentifier_;
80411  return *this;
80412  }
80413 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
80414 
80416  {
80417  return *reinterpret_cast<const VkPipelinePropertiesIdentifierEXT *>( this );
80418  }
80419 
80421  {
80422  return *reinterpret_cast<VkPipelinePropertiesIdentifierEXT *>( this );
80423  }
80424 
80425 #if defined( VULKAN_HPP_USE_REFLECT )
80426 # if 14 <= VULKAN_HPP_CPP_VERSION
80427  auto
80428 # else
80429  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, VK_UUID_SIZE> const &>
80430 # endif
80431  reflect() const VULKAN_HPP_NOEXCEPT
80432  {
80433  return std::tie( sType, pNext, pipelineIdentifier );
80434  }
80435 #endif
80436 
80437 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
80438  auto operator<=>( PipelinePropertiesIdentifierEXT const & ) const = default;
80439 #else
80441  {
80442 # if defined( VULKAN_HPP_USE_REFLECT )
80443  return this->reflect() == rhs.reflect();
80444 # else
80445  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pipelineIdentifier == rhs.pipelineIdentifier );
80446 # endif
80447  }
80448 
80450  {
80451  return !operator==( rhs );
80452  }
80453 #endif
80454 
80455  public:
80456  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelinePropertiesIdentifierEXT;
80457  void * pNext = {};
80459  };
80460 
80461  template <>
80463  {
80465  };
80466 
80468  {
80470 
80471  static const bool allowDuplicate = false;
80472  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineRasterizationConservativeStateCreateInfoEXT;
80473 
80474 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
80478  float extraPrimitiveOverestimationSize_ = {},
80479  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
80480  : pNext( pNext_ )
80481  , flags( flags_ )
80482  , conservativeRasterizationMode( conservativeRasterizationMode_ )
80483  , extraPrimitiveOverestimationSize( extraPrimitiveOverestimationSize_ )
80484  {
80485  }
80486 
80488  PipelineRasterizationConservativeStateCreateInfoEXT( PipelineRasterizationConservativeStateCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
80489 
80491  : PipelineRasterizationConservativeStateCreateInfoEXT( *reinterpret_cast<PipelineRasterizationConservativeStateCreateInfoEXT const *>( &rhs ) )
80492  {
80493  }
80494 
80497 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
80498 
80500  {
80501  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineRasterizationConservativeStateCreateInfoEXT const *>( &rhs );
80502  return *this;
80503  }
80504 
80505 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
80507  {
80508  pNext = pNext_;
80509  return *this;
80510  }
80511 
80514  {
80515  flags = flags_;
80516  return *this;
80517  }
80518 
80521  {
80522  conservativeRasterizationMode = conservativeRasterizationMode_;
80523  return *this;
80524  }
80525 
80527  setExtraPrimitiveOverestimationSize( float extraPrimitiveOverestimationSize_ ) VULKAN_HPP_NOEXCEPT
80528  {
80529  extraPrimitiveOverestimationSize = extraPrimitiveOverestimationSize_;
80530  return *this;
80531  }
80532 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
80533 
80535  {
80536  return *reinterpret_cast<const VkPipelineRasterizationConservativeStateCreateInfoEXT *>( this );
80537  }
80538 
80540  {
80541  return *reinterpret_cast<VkPipelineRasterizationConservativeStateCreateInfoEXT *>( this );
80542  }
80543 
80544 #if defined( VULKAN_HPP_USE_REFLECT )
80545 # if 14 <= VULKAN_HPP_CPP_VERSION
80546  auto
80547 # else
80548  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
80549  const void * const &,
80552  float const &>
80553 # endif
80554  reflect() const VULKAN_HPP_NOEXCEPT
80555  {
80556  return std::tie( sType, pNext, flags, conservativeRasterizationMode, extraPrimitiveOverestimationSize );
80557  }
80558 #endif
80559 
80560 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
80561  auto operator<=>( PipelineRasterizationConservativeStateCreateInfoEXT const & ) const = default;
80562 #else
80564  {
80565 # if defined( VULKAN_HPP_USE_REFLECT )
80566  return this->reflect() == rhs.reflect();
80567 # else
80568  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
80569  ( conservativeRasterizationMode == rhs.conservativeRasterizationMode ) &&
80570  ( extraPrimitiveOverestimationSize == rhs.extraPrimitiveOverestimationSize );
80571 # endif
80572  }
80573 
80575  {
80576  return !operator==( rhs );
80577  }
80578 #endif
80579 
80580  public:
80581  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineRasterizationConservativeStateCreateInfoEXT;
80582  const void * pNext = {};
80585  float extraPrimitiveOverestimationSize = {};
80586  };
80587 
80588  template <>
80590  {
80592  };
80593 
80595  {
80597 
80598  static const bool allowDuplicate = false;
80599  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineRasterizationDepthClipStateCreateInfoEXT;
80600 
80601 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
80603  VULKAN_HPP_NAMESPACE::Bool32 depthClipEnable_ = {},
80604  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
80605  : pNext( pNext_ )
80606  , flags( flags_ )
80607  , depthClipEnable( depthClipEnable_ )
80608  {
80609  }
80610 
80612  PipelineRasterizationDepthClipStateCreateInfoEXT( PipelineRasterizationDepthClipStateCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
80613 
80615  : PipelineRasterizationDepthClipStateCreateInfoEXT( *reinterpret_cast<PipelineRasterizationDepthClipStateCreateInfoEXT const *>( &rhs ) )
80616  {
80617  }
80618 
80620 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
80621 
80623  {
80624  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineRasterizationDepthClipStateCreateInfoEXT const *>( &rhs );
80625  return *this;
80626  }
80627 
80628 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
80630  {
80631  pNext = pNext_;
80632  return *this;
80633  }
80634 
80637  {
80638  flags = flags_;
80639  return *this;
80640  }
80641 
80644  {
80645  depthClipEnable = depthClipEnable_;
80646  return *this;
80647  }
80648 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
80649 
80651  {
80652  return *reinterpret_cast<const VkPipelineRasterizationDepthClipStateCreateInfoEXT *>( this );
80653  }
80654 
80656  {
80657  return *reinterpret_cast<VkPipelineRasterizationDepthClipStateCreateInfoEXT *>( this );
80658  }
80659 
80660 #if defined( VULKAN_HPP_USE_REFLECT )
80661 # if 14 <= VULKAN_HPP_CPP_VERSION
80662  auto
80663 # else
80664  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
80665  const void * const &,
80668 # endif
80669  reflect() const VULKAN_HPP_NOEXCEPT
80670  {
80671  return std::tie( sType, pNext, flags, depthClipEnable );
80672  }
80673 #endif
80674 
80675 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
80676  auto operator<=>( PipelineRasterizationDepthClipStateCreateInfoEXT const & ) const = default;
80677 #else
80679  {
80680 # if defined( VULKAN_HPP_USE_REFLECT )
80681  return this->reflect() == rhs.reflect();
80682 # else
80683  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( depthClipEnable == rhs.depthClipEnable );
80684 # endif
80685  }
80686 
80688  {
80689  return !operator==( rhs );
80690  }
80691 #endif
80692 
80693  public:
80694  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineRasterizationDepthClipStateCreateInfoEXT;
80695  const void * pNext = {};
80697  VULKAN_HPP_NAMESPACE::Bool32 depthClipEnable = {};
80698  };
80699 
80700  template <>
80702  {
80704  };
80705 
80707  {
80709 
80710  static const bool allowDuplicate = false;
80711  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineRasterizationLineStateCreateInfoEXT;
80712 
80713 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
80716  VULKAN_HPP_NAMESPACE::Bool32 stippledLineEnable_ = {},
80717  uint32_t lineStippleFactor_ = {},
80718  uint16_t lineStipplePattern_ = {},
80719  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
80720  : pNext( pNext_ )
80721  , lineRasterizationMode( lineRasterizationMode_ )
80722  , stippledLineEnable( stippledLineEnable_ )
80723  , lineStippleFactor( lineStippleFactor_ )
80724  , lineStipplePattern( lineStipplePattern_ )
80725  {
80726  }
80727 
80728  VULKAN_HPP_CONSTEXPR PipelineRasterizationLineStateCreateInfoEXT( PipelineRasterizationLineStateCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
80729 
80731  : PipelineRasterizationLineStateCreateInfoEXT( *reinterpret_cast<PipelineRasterizationLineStateCreateInfoEXT const *>( &rhs ) )
80732  {
80733  }
80734 
80736 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
80737 
80739  {
80740  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineRasterizationLineStateCreateInfoEXT const *>( &rhs );
80741  return *this;
80742  }
80743 
80744 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
80746  {
80747  pNext = pNext_;
80748  return *this;
80749  }
80750 
80753  {
80754  lineRasterizationMode = lineRasterizationMode_;
80755  return *this;
80756  }
80757 
80760  {
80761  stippledLineEnable = stippledLineEnable_;
80762  return *this;
80763  }
80764 
80766  {
80767  lineStippleFactor = lineStippleFactor_;
80768  return *this;
80769  }
80770 
80772  {
80773  lineStipplePattern = lineStipplePattern_;
80774  return *this;
80775  }
80776 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
80777 
80779  {
80780  return *reinterpret_cast<const VkPipelineRasterizationLineStateCreateInfoEXT *>( this );
80781  }
80782 
80784  {
80785  return *reinterpret_cast<VkPipelineRasterizationLineStateCreateInfoEXT *>( this );
80786  }
80787 
80788 #if defined( VULKAN_HPP_USE_REFLECT )
80789 # if 14 <= VULKAN_HPP_CPP_VERSION
80790  auto
80791 # else
80792  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
80793  const void * const &,
80796  uint32_t const &,
80797  uint16_t const &>
80798 # endif
80799  reflect() const VULKAN_HPP_NOEXCEPT
80800  {
80801  return std::tie( sType, pNext, lineRasterizationMode, stippledLineEnable, lineStippleFactor, lineStipplePattern );
80802  }
80803 #endif
80804 
80805 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
80806  auto operator<=>( PipelineRasterizationLineStateCreateInfoEXT const & ) const = default;
80807 #else
80809  {
80810 # if defined( VULKAN_HPP_USE_REFLECT )
80811  return this->reflect() == rhs.reflect();
80812 # else
80813  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( lineRasterizationMode == rhs.lineRasterizationMode ) &&
80814  ( stippledLineEnable == rhs.stippledLineEnable ) && ( lineStippleFactor == rhs.lineStippleFactor ) &&
80815  ( lineStipplePattern == rhs.lineStipplePattern );
80816 # endif
80817  }
80818 
80820  {
80821  return !operator==( rhs );
80822  }
80823 #endif
80824 
80825  public:
80826  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineRasterizationLineStateCreateInfoEXT;
80827  const void * pNext = {};
80829  VULKAN_HPP_NAMESPACE::Bool32 stippledLineEnable = {};
80830  uint32_t lineStippleFactor = {};
80831  uint16_t lineStipplePattern = {};
80832  };
80833 
80834  template <>
80836  {
80838  };
80839 
80841  {
80843 
80844  static const bool allowDuplicate = false;
80845  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineRasterizationProvokingVertexStateCreateInfoEXT;
80846 
80847 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
80850  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
80851  : pNext( pNext_ )
80852  , provokingVertexMode( provokingVertexMode_ )
80853  {
80854  }
80855 
80857  VULKAN_HPP_NOEXCEPT = default;
80858 
80860  : PipelineRasterizationProvokingVertexStateCreateInfoEXT( *reinterpret_cast<PipelineRasterizationProvokingVertexStateCreateInfoEXT const *>( &rhs ) )
80861  {
80862  }
80863 
80866 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
80867 
80870  {
80871  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineRasterizationProvokingVertexStateCreateInfoEXT const *>( &rhs );
80872  return *this;
80873  }
80874 
80875 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
80877  {
80878  pNext = pNext_;
80879  return *this;
80880  }
80881 
80884  {
80885  provokingVertexMode = provokingVertexMode_;
80886  return *this;
80887  }
80888 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
80889 
80891  {
80892  return *reinterpret_cast<const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT *>( this );
80893  }
80894 
80896  {
80897  return *reinterpret_cast<VkPipelineRasterizationProvokingVertexStateCreateInfoEXT *>( this );
80898  }
80899 
80900 #if defined( VULKAN_HPP_USE_REFLECT )
80901 # if 14 <= VULKAN_HPP_CPP_VERSION
80902  auto
80903 # else
80904  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::ProvokingVertexModeEXT const &>
80905 # endif
80906  reflect() const VULKAN_HPP_NOEXCEPT
80907  {
80908  return std::tie( sType, pNext, provokingVertexMode );
80909  }
80910 #endif
80911 
80912 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
80913  auto operator<=>( PipelineRasterizationProvokingVertexStateCreateInfoEXT const & ) const = default;
80914 #else
80916  {
80917 # if defined( VULKAN_HPP_USE_REFLECT )
80918  return this->reflect() == rhs.reflect();
80919 # else
80920  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( provokingVertexMode == rhs.provokingVertexMode );
80921 # endif
80922  }
80923 
80925  {
80926  return !operator==( rhs );
80927  }
80928 #endif
80929 
80930  public:
80931  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineRasterizationProvokingVertexStateCreateInfoEXT;
80932  const void * pNext = {};
80934  };
80935 
80936  template <>
80938  {
80940  };
80941 
80943  {
80945 
80946  static const bool allowDuplicate = false;
80947  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineRasterizationStateRasterizationOrderAMD;
80948 
80949 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
80952  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
80953  : pNext( pNext_ )
80954  , rasterizationOrder( rasterizationOrder_ )
80955  {
80956  }
80957 
80960 
80962  : PipelineRasterizationStateRasterizationOrderAMD( *reinterpret_cast<PipelineRasterizationStateRasterizationOrderAMD const *>( &rhs ) )
80963  {
80964  }
80965 
80967 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
80968 
80970  {
80971  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineRasterizationStateRasterizationOrderAMD const *>( &rhs );
80972  return *this;
80973  }
80974 
80975 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
80977  {
80978  pNext = pNext_;
80979  return *this;
80980  }
80981 
80984  {
80985  rasterizationOrder = rasterizationOrder_;
80986  return *this;
80987  }
80988 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
80989 
80991  {
80992  return *reinterpret_cast<const VkPipelineRasterizationStateRasterizationOrderAMD *>( this );
80993  }
80994 
80996  {
80997  return *reinterpret_cast<VkPipelineRasterizationStateRasterizationOrderAMD *>( this );
80998  }
80999 
81000 #if defined( VULKAN_HPP_USE_REFLECT )
81001 # if 14 <= VULKAN_HPP_CPP_VERSION
81002  auto
81003 # else
81004  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::RasterizationOrderAMD const &>
81005 # endif
81006  reflect() const VULKAN_HPP_NOEXCEPT
81007  {
81008  return std::tie( sType, pNext, rasterizationOrder );
81009  }
81010 #endif
81011 
81012 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
81013  auto operator<=>( PipelineRasterizationStateRasterizationOrderAMD const & ) const = default;
81014 #else
81016  {
81017 # if defined( VULKAN_HPP_USE_REFLECT )
81018  return this->reflect() == rhs.reflect();
81019 # else
81020  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( rasterizationOrder == rhs.rasterizationOrder );
81021 # endif
81022  }
81023 
81025  {
81026  return !operator==( rhs );
81027  }
81028 #endif
81029 
81030  public:
81031  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineRasterizationStateRasterizationOrderAMD;
81032  const void * pNext = {};
81034  };
81035 
81036  template <>
81038  {
81040  };
81041 
81043  {
81045 
81046  static const bool allowDuplicate = false;
81047  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineRasterizationStateStreamCreateInfoEXT;
81048 
81049 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
81051  uint32_t rasterizationStream_ = {},
81052  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
81053  : pNext( pNext_ )
81054  , flags( flags_ )
81055  , rasterizationStream( rasterizationStream_ )
81056  {
81057  }
81058 
81060  PipelineRasterizationStateStreamCreateInfoEXT( PipelineRasterizationStateStreamCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
81061 
81063  : PipelineRasterizationStateStreamCreateInfoEXT( *reinterpret_cast<PipelineRasterizationStateStreamCreateInfoEXT const *>( &rhs ) )
81064  {
81065  }
81066 
81068 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
81069 
81071  {
81072  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineRasterizationStateStreamCreateInfoEXT const *>( &rhs );
81073  return *this;
81074  }
81075 
81076 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
81078  {
81079  pNext = pNext_;
81080  return *this;
81081  }
81082 
81085  {
81086  flags = flags_;
81087  return *this;
81088  }
81089 
81091  {
81092  rasterizationStream = rasterizationStream_;
81093  return *this;
81094  }
81095 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
81096 
81098  {
81099  return *reinterpret_cast<const VkPipelineRasterizationStateStreamCreateInfoEXT *>( this );
81100  }
81101 
81103  {
81104  return *reinterpret_cast<VkPipelineRasterizationStateStreamCreateInfoEXT *>( this );
81105  }
81106 
81107 #if defined( VULKAN_HPP_USE_REFLECT )
81108 # if 14 <= VULKAN_HPP_CPP_VERSION
81109  auto
81110 # else
81111  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
81112  const void * const &,
81114  uint32_t const &>
81115 # endif
81116  reflect() const VULKAN_HPP_NOEXCEPT
81117  {
81118  return std::tie( sType, pNext, flags, rasterizationStream );
81119  }
81120 #endif
81121 
81122 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
81123  auto operator<=>( PipelineRasterizationStateStreamCreateInfoEXT const & ) const = default;
81124 #else
81126  {
81127 # if defined( VULKAN_HPP_USE_REFLECT )
81128  return this->reflect() == rhs.reflect();
81129 # else
81130  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( rasterizationStream == rhs.rasterizationStream );
81131 # endif
81132  }
81133 
81135  {
81136  return !operator==( rhs );
81137  }
81138 #endif
81139 
81140  public:
81141  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineRasterizationStateStreamCreateInfoEXT;
81142  const void * pNext = {};
81144  uint32_t rasterizationStream = {};
81145  };
81146 
81147  template <>
81149  {
81151  };
81152 
81154  {
81156 
81157  static const bool allowDuplicate = false;
81158  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineRenderingCreateInfo;
81159 
81160 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
81162  uint32_t colorAttachmentCount_ = {},
81163  const VULKAN_HPP_NAMESPACE::Format * pColorAttachmentFormats_ = {},
81166  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
81167  : pNext( pNext_ )
81168  , viewMask( viewMask_ )
81169  , colorAttachmentCount( colorAttachmentCount_ )
81170  , pColorAttachmentFormats( pColorAttachmentFormats_ )
81171  , depthAttachmentFormat( depthAttachmentFormat_ )
81172  , stencilAttachmentFormat( stencilAttachmentFormat_ )
81173  {
81174  }
81175 
81176  VULKAN_HPP_CONSTEXPR PipelineRenderingCreateInfo( PipelineRenderingCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
81177 
81179  : PipelineRenderingCreateInfo( *reinterpret_cast<PipelineRenderingCreateInfo const *>( &rhs ) )
81180  {
81181  }
81182 
81183 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
81184  PipelineRenderingCreateInfo( uint32_t viewMask_,
81188  const void * pNext_ = nullptr )
81189  : pNext( pNext_ )
81190  , viewMask( viewMask_ )
81191  , colorAttachmentCount( static_cast<uint32_t>( colorAttachmentFormats_.size() ) )
81192  , pColorAttachmentFormats( colorAttachmentFormats_.data() )
81193  , depthAttachmentFormat( depthAttachmentFormat_ )
81194  , stencilAttachmentFormat( stencilAttachmentFormat_ )
81195  {
81196  }
81197 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
81198 
81200 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
81201 
81203  {
81204  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineRenderingCreateInfo const *>( &rhs );
81205  return *this;
81206  }
81207 
81208 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
81210  {
81211  pNext = pNext_;
81212  return *this;
81213  }
81214 
81216  {
81217  viewMask = viewMask_;
81218  return *this;
81219  }
81220 
81222  {
81223  colorAttachmentCount = colorAttachmentCount_;
81224  return *this;
81225  }
81226 
81229  {
81230  pColorAttachmentFormats = pColorAttachmentFormats_;
81231  return *this;
81232  }
81233 
81234 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
81237  {
81238  colorAttachmentCount = static_cast<uint32_t>( colorAttachmentFormats_.size() );
81239  pColorAttachmentFormats = colorAttachmentFormats_.data();
81240  return *this;
81241  }
81242 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
81243 
81245  {
81246  depthAttachmentFormat = depthAttachmentFormat_;
81247  return *this;
81248  }
81249 
81252  {
81253  stencilAttachmentFormat = stencilAttachmentFormat_;
81254  return *this;
81255  }
81256 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
81257 
81259  {
81260  return *reinterpret_cast<const VkPipelineRenderingCreateInfo *>( this );
81261  }
81262 
81264  {
81265  return *reinterpret_cast<VkPipelineRenderingCreateInfo *>( this );
81266  }
81267 
81268 #if defined( VULKAN_HPP_USE_REFLECT )
81269 # if 14 <= VULKAN_HPP_CPP_VERSION
81270  auto
81271 # else
81272  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
81273  const void * const &,
81274  uint32_t const &,
81275  uint32_t const &,
81276  const VULKAN_HPP_NAMESPACE::Format * const &,
81279 # endif
81280  reflect() const VULKAN_HPP_NOEXCEPT
81281  {
81282  return std::tie( sType, pNext, viewMask, colorAttachmentCount, pColorAttachmentFormats, depthAttachmentFormat, stencilAttachmentFormat );
81283  }
81284 #endif
81285 
81286 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
81287  auto operator<=>( PipelineRenderingCreateInfo const & ) const = default;
81288 #else
81290  {
81291 # if defined( VULKAN_HPP_USE_REFLECT )
81292  return this->reflect() == rhs.reflect();
81293 # else
81294  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( viewMask == rhs.viewMask ) && ( colorAttachmentCount == rhs.colorAttachmentCount ) &&
81295  ( pColorAttachmentFormats == rhs.pColorAttachmentFormats ) && ( depthAttachmentFormat == rhs.depthAttachmentFormat ) &&
81296  ( stencilAttachmentFormat == rhs.stencilAttachmentFormat );
81297 # endif
81298  }
81299 
81301  {
81302  return !operator==( rhs );
81303  }
81304 #endif
81305 
81306  public:
81307  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineRenderingCreateInfo;
81308  const void * pNext = {};
81309  uint32_t viewMask = {};
81310  uint32_t colorAttachmentCount = {};
81311  const VULKAN_HPP_NAMESPACE::Format * pColorAttachmentFormats = {};
81314  };
81315 
81316  template <>
81318  {
81320  };
81322 
81324  {
81326 
81327  static const bool allowDuplicate = false;
81328  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineRepresentativeFragmentTestStateCreateInfoNV;
81329 
81330 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
81332  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
81333  : pNext( pNext_ )
81334  , representativeFragmentTestEnable( representativeFragmentTestEnable_ )
81335  {
81336  }
81337 
81339  PipelineRepresentativeFragmentTestStateCreateInfoNV( PipelineRepresentativeFragmentTestStateCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
81340 
81342  : PipelineRepresentativeFragmentTestStateCreateInfoNV( *reinterpret_cast<PipelineRepresentativeFragmentTestStateCreateInfoNV const *>( &rhs ) )
81343  {
81344  }
81345 
81348 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
81349 
81351  {
81352  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineRepresentativeFragmentTestStateCreateInfoNV const *>( &rhs );
81353  return *this;
81354  }
81355 
81356 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
81358  {
81359  pNext = pNext_;
81360  return *this;
81361  }
81362 
81365  {
81366  representativeFragmentTestEnable = representativeFragmentTestEnable_;
81367  return *this;
81368  }
81369 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
81370 
81372  {
81373  return *reinterpret_cast<const VkPipelineRepresentativeFragmentTestStateCreateInfoNV *>( this );
81374  }
81375 
81377  {
81378  return *reinterpret_cast<VkPipelineRepresentativeFragmentTestStateCreateInfoNV *>( this );
81379  }
81380 
81381 #if defined( VULKAN_HPP_USE_REFLECT )
81382 # if 14 <= VULKAN_HPP_CPP_VERSION
81383  auto
81384 # else
81385  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
81386 # endif
81387  reflect() const VULKAN_HPP_NOEXCEPT
81388  {
81389  return std::tie( sType, pNext, representativeFragmentTestEnable );
81390  }
81391 #endif
81392 
81393 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
81394  auto operator<=>( PipelineRepresentativeFragmentTestStateCreateInfoNV const & ) const = default;
81395 #else
81397  {
81398 # if defined( VULKAN_HPP_USE_REFLECT )
81399  return this->reflect() == rhs.reflect();
81400 # else
81401  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( representativeFragmentTestEnable == rhs.representativeFragmentTestEnable );
81402 # endif
81403  }
81404 
81406  {
81407  return !operator==( rhs );
81408  }
81409 #endif
81410 
81411  public:
81412  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineRepresentativeFragmentTestStateCreateInfoNV;
81413  const void * pNext = {};
81414  VULKAN_HPP_NAMESPACE::Bool32 representativeFragmentTestEnable = {};
81415  };
81416 
81417  template <>
81419  {
81421  };
81422 
81424  {
81426 
81427  static const bool allowDuplicate = false;
81428  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineRobustnessCreateInfoEXT;
81429 
81430 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
81436  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
81437  : pNext( pNext_ )
81438  , storageBuffers( storageBuffers_ )
81439  , uniformBuffers( uniformBuffers_ )
81440  , vertexInputs( vertexInputs_ )
81441  , images( images_ )
81442  {
81443  }
81444 
81446 
81448  : PipelineRobustnessCreateInfoEXT( *reinterpret_cast<PipelineRobustnessCreateInfoEXT const *>( &rhs ) )
81449  {
81450  }
81451 
81453 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
81454 
81456  {
81457  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineRobustnessCreateInfoEXT const *>( &rhs );
81458  return *this;
81459  }
81460 
81461 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
81463  {
81464  pNext = pNext_;
81465  return *this;
81466  }
81467 
81470  {
81471  storageBuffers = storageBuffers_;
81472  return *this;
81473  }
81474 
81477  {
81478  uniformBuffers = uniformBuffers_;
81479  return *this;
81480  }
81481 
81484  {
81485  vertexInputs = vertexInputs_;
81486  return *this;
81487  }
81488 
81490  {
81491  images = images_;
81492  return *this;
81493  }
81494 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
81495 
81497  {
81498  return *reinterpret_cast<const VkPipelineRobustnessCreateInfoEXT *>( this );
81499  }
81500 
81502  {
81503  return *reinterpret_cast<VkPipelineRobustnessCreateInfoEXT *>( this );
81504  }
81505 
81506 #if defined( VULKAN_HPP_USE_REFLECT )
81507 # if 14 <= VULKAN_HPP_CPP_VERSION
81508  auto
81509 # else
81510  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
81511  const void * const &,
81516 # endif
81517  reflect() const VULKAN_HPP_NOEXCEPT
81518  {
81519  return std::tie( sType, pNext, storageBuffers, uniformBuffers, vertexInputs, images );
81520  }
81521 #endif
81522 
81523 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
81524  auto operator<=>( PipelineRobustnessCreateInfoEXT const & ) const = default;
81525 #else
81527  {
81528 # if defined( VULKAN_HPP_USE_REFLECT )
81529  return this->reflect() == rhs.reflect();
81530 # else
81531  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( storageBuffers == rhs.storageBuffers ) && ( uniformBuffers == rhs.uniformBuffers ) &&
81532  ( vertexInputs == rhs.vertexInputs ) && ( images == rhs.images );
81533 # endif
81534  }
81535 
81537  {
81538  return !operator==( rhs );
81539  }
81540 #endif
81541 
81542  public:
81543  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineRobustnessCreateInfoEXT;
81544  const void * pNext = {};
81549  };
81550 
81551  template <>
81553  {
81555  };
81556 
81558  {
81560 
81561  static const bool allowDuplicate = false;
81562  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineSampleLocationsStateCreateInfoEXT;
81563 
81564 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
81566  VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT sampleLocationsInfo_ = {},
81567  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
81568  : pNext( pNext_ )
81569  , sampleLocationsEnable( sampleLocationsEnable_ )
81570  , sampleLocationsInfo( sampleLocationsInfo_ )
81571  {
81572  }
81573 
81574  VULKAN_HPP_CONSTEXPR PipelineSampleLocationsStateCreateInfoEXT( PipelineSampleLocationsStateCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
81575 
81577  : PipelineSampleLocationsStateCreateInfoEXT( *reinterpret_cast<PipelineSampleLocationsStateCreateInfoEXT const *>( &rhs ) )
81578  {
81579  }
81580 
81582 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
81583 
81585  {
81586  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineSampleLocationsStateCreateInfoEXT const *>( &rhs );
81587  return *this;
81588  }
81589 
81590 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
81592  {
81593  pNext = pNext_;
81594  return *this;
81595  }
81596 
81599  {
81600  sampleLocationsEnable = sampleLocationsEnable_;
81601  return *this;
81602  }
81603 
81606  {
81607  sampleLocationsInfo = sampleLocationsInfo_;
81608  return *this;
81609  }
81610 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
81611 
81613  {
81614  return *reinterpret_cast<const VkPipelineSampleLocationsStateCreateInfoEXT *>( this );
81615  }
81616 
81618  {
81619  return *reinterpret_cast<VkPipelineSampleLocationsStateCreateInfoEXT *>( this );
81620  }
81621 
81622 #if defined( VULKAN_HPP_USE_REFLECT )
81623 # if 14 <= VULKAN_HPP_CPP_VERSION
81624  auto
81625 # else
81626  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
81627  const void * const &,
81630 # endif
81631  reflect() const VULKAN_HPP_NOEXCEPT
81632  {
81633  return std::tie( sType, pNext, sampleLocationsEnable, sampleLocationsInfo );
81634  }
81635 #endif
81636 
81637 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
81638  auto operator<=>( PipelineSampleLocationsStateCreateInfoEXT const & ) const = default;
81639 #else
81641  {
81642 # if defined( VULKAN_HPP_USE_REFLECT )
81643  return this->reflect() == rhs.reflect();
81644 # else
81645  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( sampleLocationsEnable == rhs.sampleLocationsEnable ) &&
81646  ( sampleLocationsInfo == rhs.sampleLocationsInfo );
81647 # endif
81648  }
81649 
81651  {
81652  return !operator==( rhs );
81653  }
81654 #endif
81655 
81656  public:
81657  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineSampleLocationsStateCreateInfoEXT;
81658  const void * pNext = {};
81659  VULKAN_HPP_NAMESPACE::Bool32 sampleLocationsEnable = {};
81661  };
81662 
81663  template <>
81665  {
81667  };
81668 
81670  {
81672 
81673  static const bool allowDuplicate = false;
81674  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineShaderStageModuleIdentifierCreateInfoEXT;
81675 
81676 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
81678  const uint8_t * pIdentifier_ = {},
81679  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
81680  : pNext( pNext_ )
81681  , identifierSize( identifierSize_ )
81682  , pIdentifier( pIdentifier_ )
81683  {
81684  }
81685 
81687  PipelineShaderStageModuleIdentifierCreateInfoEXT( PipelineShaderStageModuleIdentifierCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
81688 
81690  : PipelineShaderStageModuleIdentifierCreateInfoEXT( *reinterpret_cast<PipelineShaderStageModuleIdentifierCreateInfoEXT const *>( &rhs ) )
81691  {
81692  }
81693 
81694 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
81696  const void * pNext_ = nullptr )
81697  : pNext( pNext_ ), identifierSize( static_cast<uint32_t>( identifier_.size() ) ), pIdentifier( identifier_.data() )
81698  {
81699  }
81700 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
81701 
81703 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
81704 
81706  {
81707  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineShaderStageModuleIdentifierCreateInfoEXT const *>( &rhs );
81708  return *this;
81709  }
81710 
81711 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
81713  {
81714  pNext = pNext_;
81715  return *this;
81716  }
81717 
81719  {
81720  identifierSize = identifierSize_;
81721  return *this;
81722  }
81723 
81725  {
81726  pIdentifier = pIdentifier_;
81727  return *this;
81728  }
81729 
81730 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
81733  {
81734  identifierSize = static_cast<uint32_t>( identifier_.size() );
81735  pIdentifier = identifier_.data();
81736  return *this;
81737  }
81738 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
81739 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
81740 
81742  {
81743  return *reinterpret_cast<const VkPipelineShaderStageModuleIdentifierCreateInfoEXT *>( this );
81744  }
81745 
81747  {
81748  return *reinterpret_cast<VkPipelineShaderStageModuleIdentifierCreateInfoEXT *>( this );
81749  }
81750 
81751 #if defined( VULKAN_HPP_USE_REFLECT )
81752 # if 14 <= VULKAN_HPP_CPP_VERSION
81753  auto
81754 # else
81755  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &, const uint8_t * const &>
81756 # endif
81757  reflect() const VULKAN_HPP_NOEXCEPT
81758  {
81759  return std::tie( sType, pNext, identifierSize, pIdentifier );
81760  }
81761 #endif
81762 
81763 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
81764  auto operator<=>( PipelineShaderStageModuleIdentifierCreateInfoEXT const & ) const = default;
81765 #else
81767  {
81768 # if defined( VULKAN_HPP_USE_REFLECT )
81769  return this->reflect() == rhs.reflect();
81770 # else
81771  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( identifierSize == rhs.identifierSize ) && ( pIdentifier == rhs.pIdentifier );
81772 # endif
81773  }
81774 
81776  {
81777  return !operator==( rhs );
81778  }
81779 #endif
81780 
81781  public:
81782  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineShaderStageModuleIdentifierCreateInfoEXT;
81783  const void * pNext = {};
81784  uint32_t identifierSize = {};
81785  const uint8_t * pIdentifier = {};
81786  };
81787 
81788  template <>
81790  {
81792  };
81793 
81795  {
81797 
81798  static const bool allowDuplicate = false;
81799  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineShaderStageRequiredSubgroupSizeCreateInfo;
81800 
81801 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
81802  VULKAN_HPP_CONSTEXPR PipelineShaderStageRequiredSubgroupSizeCreateInfo( uint32_t requiredSubgroupSize_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
81803  : pNext( pNext_ )
81804  , requiredSubgroupSize( requiredSubgroupSize_ )
81805  {
81806  }
81807 
81809  PipelineShaderStageRequiredSubgroupSizeCreateInfo( PipelineShaderStageRequiredSubgroupSizeCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
81810 
81812  : PipelineShaderStageRequiredSubgroupSizeCreateInfo( *reinterpret_cast<PipelineShaderStageRequiredSubgroupSizeCreateInfo const *>( &rhs ) )
81813  {
81814  }
81815 
81818 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
81819 
81821  {
81822  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineShaderStageRequiredSubgroupSizeCreateInfo const *>( &rhs );
81823  return *this;
81824  }
81825 
81827  {
81828  return *reinterpret_cast<const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo *>( this );
81829  }
81830 
81832  {
81833  return *reinterpret_cast<VkPipelineShaderStageRequiredSubgroupSizeCreateInfo *>( this );
81834  }
81835 
81836 #if defined( VULKAN_HPP_USE_REFLECT )
81837 # if 14 <= VULKAN_HPP_CPP_VERSION
81838  auto
81839 # else
81840  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, uint32_t const &>
81841 # endif
81842  reflect() const VULKAN_HPP_NOEXCEPT
81843  {
81844  return std::tie( sType, pNext, requiredSubgroupSize );
81845  }
81846 #endif
81847 
81848 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
81849  auto operator<=>( PipelineShaderStageRequiredSubgroupSizeCreateInfo const & ) const = default;
81850 #else
81852  {
81853 # if defined( VULKAN_HPP_USE_REFLECT )
81854  return this->reflect() == rhs.reflect();
81855 # else
81856  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( requiredSubgroupSize == rhs.requiredSubgroupSize );
81857 # endif
81858  }
81859 
81861  {
81862  return !operator==( rhs );
81863  }
81864 #endif
81865 
81866  public:
81867  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineShaderStageRequiredSubgroupSizeCreateInfo;
81868  void * pNext = {};
81869  uint32_t requiredSubgroupSize = {};
81870  };
81871 
81872  template <>
81874  {
81876  };
81878 
81880  {
81882 
81883  static const bool allowDuplicate = false;
81884  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineTessellationDomainOriginStateCreateInfo;
81885 
81886 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
81889  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
81890  : pNext( pNext_ )
81891  , domainOrigin( domainOrigin_ )
81892  {
81893  }
81894 
81897 
81899  : PipelineTessellationDomainOriginStateCreateInfo( *reinterpret_cast<PipelineTessellationDomainOriginStateCreateInfo const *>( &rhs ) )
81900  {
81901  }
81902 
81904 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
81905 
81907  {
81908  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineTessellationDomainOriginStateCreateInfo const *>( &rhs );
81909  return *this;
81910  }
81911 
81912 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
81914  {
81915  pNext = pNext_;
81916  return *this;
81917  }
81918 
81921  {
81922  domainOrigin = domainOrigin_;
81923  return *this;
81924  }
81925 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
81926 
81928  {
81929  return *reinterpret_cast<const VkPipelineTessellationDomainOriginStateCreateInfo *>( this );
81930  }
81931 
81933  {
81934  return *reinterpret_cast<VkPipelineTessellationDomainOriginStateCreateInfo *>( this );
81935  }
81936 
81937 #if defined( VULKAN_HPP_USE_REFLECT )
81938 # if 14 <= VULKAN_HPP_CPP_VERSION
81939  auto
81940 # else
81941  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::TessellationDomainOrigin const &>
81942 # endif
81943  reflect() const VULKAN_HPP_NOEXCEPT
81944  {
81945  return std::tie( sType, pNext, domainOrigin );
81946  }
81947 #endif
81948 
81949 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
81950  auto operator<=>( PipelineTessellationDomainOriginStateCreateInfo const & ) const = default;
81951 #else
81953  {
81954 # if defined( VULKAN_HPP_USE_REFLECT )
81955  return this->reflect() == rhs.reflect();
81956 # else
81957  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( domainOrigin == rhs.domainOrigin );
81958 # endif
81959  }
81960 
81962  {
81963  return !operator==( rhs );
81964  }
81965 #endif
81966 
81967  public:
81968  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineTessellationDomainOriginStateCreateInfo;
81969  const void * pNext = {};
81971  };
81972 
81973  template <>
81975  {
81977  };
81979 
81981  {
81983 
81984 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
81986  : binding( binding_ )
81987  , divisor( divisor_ )
81988  {
81989  }
81990 
81991  VULKAN_HPP_CONSTEXPR VertexInputBindingDivisorDescriptionEXT( VertexInputBindingDivisorDescriptionEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
81992 
81994  : VertexInputBindingDivisorDescriptionEXT( *reinterpret_cast<VertexInputBindingDivisorDescriptionEXT const *>( &rhs ) )
81995  {
81996  }
81997 
81999 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
82000 
82002  {
82003  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VertexInputBindingDivisorDescriptionEXT const *>( &rhs );
82004  return *this;
82005  }
82006 
82007 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
82009  {
82010  binding = binding_;
82011  return *this;
82012  }
82013 
82015  {
82016  divisor = divisor_;
82017  return *this;
82018  }
82019 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
82020 
82022  {
82023  return *reinterpret_cast<const VkVertexInputBindingDivisorDescriptionEXT *>( this );
82024  }
82025 
82027  {
82028  return *reinterpret_cast<VkVertexInputBindingDivisorDescriptionEXT *>( this );
82029  }
82030 
82031 #if defined( VULKAN_HPP_USE_REFLECT )
82032 # if 14 <= VULKAN_HPP_CPP_VERSION
82033  auto
82034 # else
82035  std::tuple<uint32_t const &, uint32_t const &>
82036 # endif
82037  reflect() const VULKAN_HPP_NOEXCEPT
82038  {
82039  return std::tie( binding, divisor );
82040  }
82041 #endif
82042 
82043 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
82044  auto operator<=>( VertexInputBindingDivisorDescriptionEXT const & ) const = default;
82045 #else
82047  {
82048 # if defined( VULKAN_HPP_USE_REFLECT )
82049  return this->reflect() == rhs.reflect();
82050 # else
82051  return ( binding == rhs.binding ) && ( divisor == rhs.divisor );
82052 # endif
82053  }
82054 
82056  {
82057  return !operator==( rhs );
82058  }
82059 #endif
82060 
82061  public:
82062  uint32_t binding = {};
82063  uint32_t divisor = {};
82064  };
82065 
82067  {
82069 
82070  static const bool allowDuplicate = false;
82071  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineVertexInputDivisorStateCreateInfoEXT;
82072 
82073 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
82075  PipelineVertexInputDivisorStateCreateInfoEXT( uint32_t vertexBindingDivisorCount_ = {},
82076  const VULKAN_HPP_NAMESPACE::VertexInputBindingDivisorDescriptionEXT * pVertexBindingDivisors_ = {},
82077  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
82078  : pNext( pNext_ )
82079  , vertexBindingDivisorCount( vertexBindingDivisorCount_ )
82080  , pVertexBindingDivisors( pVertexBindingDivisors_ )
82081  {
82082  }
82083 
82084  VULKAN_HPP_CONSTEXPR PipelineVertexInputDivisorStateCreateInfoEXT( PipelineVertexInputDivisorStateCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
82085 
82087  : PipelineVertexInputDivisorStateCreateInfoEXT( *reinterpret_cast<PipelineVertexInputDivisorStateCreateInfoEXT const *>( &rhs ) )
82088  {
82089  }
82090 
82091 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
82094  const void * pNext_ = nullptr )
82095  : pNext( pNext_ )
82096  , vertexBindingDivisorCount( static_cast<uint32_t>( vertexBindingDivisors_.size() ) )
82097  , pVertexBindingDivisors( vertexBindingDivisors_.data() )
82098  {
82099  }
82100 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
82101 
82103 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
82104 
82106  {
82107  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineVertexInputDivisorStateCreateInfoEXT const *>( &rhs );
82108  return *this;
82109  }
82110 
82111 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
82113  {
82114  pNext = pNext_;
82115  return *this;
82116  }
82117 
82119  setVertexBindingDivisorCount( uint32_t vertexBindingDivisorCount_ ) VULKAN_HPP_NOEXCEPT
82120  {
82121  vertexBindingDivisorCount = vertexBindingDivisorCount_;
82122  return *this;
82123  }
82124 
82127  {
82128  pVertexBindingDivisors = pVertexBindingDivisors_;
82129  return *this;
82130  }
82131 
82132 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
82136  {
82137  vertexBindingDivisorCount = static_cast<uint32_t>( vertexBindingDivisors_.size() );
82138  pVertexBindingDivisors = vertexBindingDivisors_.data();
82139  return *this;
82140  }
82141 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
82142 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
82143 
82145  {
82146  return *reinterpret_cast<const VkPipelineVertexInputDivisorStateCreateInfoEXT *>( this );
82147  }
82148 
82150  {
82151  return *reinterpret_cast<VkPipelineVertexInputDivisorStateCreateInfoEXT *>( this );
82152  }
82153 
82154 #if defined( VULKAN_HPP_USE_REFLECT )
82155 # if 14 <= VULKAN_HPP_CPP_VERSION
82156  auto
82157 # else
82158  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
82159  const void * const &,
82160  uint32_t const &,
82162 # endif
82163  reflect() const VULKAN_HPP_NOEXCEPT
82164  {
82165  return std::tie( sType, pNext, vertexBindingDivisorCount, pVertexBindingDivisors );
82166  }
82167 #endif
82168 
82169 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
82170  auto operator<=>( PipelineVertexInputDivisorStateCreateInfoEXT const & ) const = default;
82171 #else
82173  {
82174 # if defined( VULKAN_HPP_USE_REFLECT )
82175  return this->reflect() == rhs.reflect();
82176 # else
82177  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( vertexBindingDivisorCount == rhs.vertexBindingDivisorCount ) &&
82178  ( pVertexBindingDivisors == rhs.pVertexBindingDivisors );
82179 # endif
82180  }
82181 
82183  {
82184  return !operator==( rhs );
82185  }
82186 #endif
82187 
82188  public:
82189  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineVertexInputDivisorStateCreateInfoEXT;
82190  const void * pNext = {};
82191  uint32_t vertexBindingDivisorCount = {};
82193  };
82194 
82195  template <>
82197  {
82199  };
82200 
82202  {
82204 
82205  static const bool allowDuplicate = false;
82206  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineViewportCoarseSampleOrderStateCreateInfoNV;
82207 
82208 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
82211  uint32_t customSampleOrderCount_ = {},
82212  const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV * pCustomSampleOrders_ = {},
82213  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
82214  : pNext( pNext_ )
82215  , sampleOrderType( sampleOrderType_ )
82216  , customSampleOrderCount( customSampleOrderCount_ )
82217  , pCustomSampleOrders( pCustomSampleOrders_ )
82218  {
82219  }
82220 
82222  PipelineViewportCoarseSampleOrderStateCreateInfoNV( PipelineViewportCoarseSampleOrderStateCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
82223 
82225  : PipelineViewportCoarseSampleOrderStateCreateInfoNV( *reinterpret_cast<PipelineViewportCoarseSampleOrderStateCreateInfoNV const *>( &rhs ) )
82226  {
82227  }
82228 
82229 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
82233  const void * pNext_ = nullptr )
82234  : pNext( pNext_ )
82235  , sampleOrderType( sampleOrderType_ )
82236  , customSampleOrderCount( static_cast<uint32_t>( customSampleOrders_.size() ) )
82237  , pCustomSampleOrders( customSampleOrders_.data() )
82238  {
82239  }
82240 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
82241 
82244 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
82245 
82247  {
82248  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineViewportCoarseSampleOrderStateCreateInfoNV const *>( &rhs );
82249  return *this;
82250  }
82251 
82252 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
82254  {
82255  pNext = pNext_;
82256  return *this;
82257  }
82258 
82261  {
82262  sampleOrderType = sampleOrderType_;
82263  return *this;
82264  }
82265 
82267  setCustomSampleOrderCount( uint32_t customSampleOrderCount_ ) VULKAN_HPP_NOEXCEPT
82268  {
82269  customSampleOrderCount = customSampleOrderCount_;
82270  return *this;
82271  }
82272 
82275  {
82276  pCustomSampleOrders = pCustomSampleOrders_;
82277  return *this;
82278  }
82279 
82280 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
82283  {
82284  customSampleOrderCount = static_cast<uint32_t>( customSampleOrders_.size() );
82285  pCustomSampleOrders = customSampleOrders_.data();
82286  return *this;
82287  }
82288 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
82289 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
82290 
82292  {
82293  return *reinterpret_cast<const VkPipelineViewportCoarseSampleOrderStateCreateInfoNV *>( this );
82294  }
82295 
82297  {
82298  return *reinterpret_cast<VkPipelineViewportCoarseSampleOrderStateCreateInfoNV *>( this );
82299  }
82300 
82301 #if defined( VULKAN_HPP_USE_REFLECT )
82302 # if 14 <= VULKAN_HPP_CPP_VERSION
82303  auto
82304 # else
82305  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
82306  const void * const &,
82308  uint32_t const &,
82310 # endif
82311  reflect() const VULKAN_HPP_NOEXCEPT
82312  {
82313  return std::tie( sType, pNext, sampleOrderType, customSampleOrderCount, pCustomSampleOrders );
82314  }
82315 #endif
82316 
82317 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
82318  auto operator<=>( PipelineViewportCoarseSampleOrderStateCreateInfoNV const & ) const = default;
82319 #else
82321  {
82322 # if defined( VULKAN_HPP_USE_REFLECT )
82323  return this->reflect() == rhs.reflect();
82324 # else
82325  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( sampleOrderType == rhs.sampleOrderType ) &&
82326  ( customSampleOrderCount == rhs.customSampleOrderCount ) && ( pCustomSampleOrders == rhs.pCustomSampleOrders );
82327 # endif
82328  }
82329 
82331  {
82332  return !operator==( rhs );
82333  }
82334 #endif
82335 
82336  public:
82337  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineViewportCoarseSampleOrderStateCreateInfoNV;
82338  const void * pNext = {};
82340  uint32_t customSampleOrderCount = {};
82341  const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV * pCustomSampleOrders = {};
82342  };
82343 
82344  template <>
82346  {
82348  };
82349 
82351  {
82353 
82354  static const bool allowDuplicate = false;
82355  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineViewportDepthClipControlCreateInfoEXT;
82356 
82357 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
82359  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
82360  : pNext( pNext_ )
82361  , negativeOneToOne( negativeOneToOne_ )
82362  {
82363  }
82364 
82366  PipelineViewportDepthClipControlCreateInfoEXT( PipelineViewportDepthClipControlCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
82367 
82369  : PipelineViewportDepthClipControlCreateInfoEXT( *reinterpret_cast<PipelineViewportDepthClipControlCreateInfoEXT const *>( &rhs ) )
82370  {
82371  }
82372 
82374 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
82375 
82377  {
82378  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineViewportDepthClipControlCreateInfoEXT const *>( &rhs );
82379  return *this;
82380  }
82381 
82382 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
82384  {
82385  pNext = pNext_;
82386  return *this;
82387  }
82388 
82391  {
82392  negativeOneToOne = negativeOneToOne_;
82393  return *this;
82394  }
82395 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
82396 
82398  {
82399  return *reinterpret_cast<const VkPipelineViewportDepthClipControlCreateInfoEXT *>( this );
82400  }
82401 
82403  {
82404  return *reinterpret_cast<VkPipelineViewportDepthClipControlCreateInfoEXT *>( this );
82405  }
82406 
82407 #if defined( VULKAN_HPP_USE_REFLECT )
82408 # if 14 <= VULKAN_HPP_CPP_VERSION
82409  auto
82410 # else
82411  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
82412 # endif
82413  reflect() const VULKAN_HPP_NOEXCEPT
82414  {
82415  return std::tie( sType, pNext, negativeOneToOne );
82416  }
82417 #endif
82418 
82419 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
82420  auto operator<=>( PipelineViewportDepthClipControlCreateInfoEXT const & ) const = default;
82421 #else
82423  {
82424 # if defined( VULKAN_HPP_USE_REFLECT )
82425  return this->reflect() == rhs.reflect();
82426 # else
82427  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( negativeOneToOne == rhs.negativeOneToOne );
82428 # endif
82429  }
82430 
82432  {
82433  return !operator==( rhs );
82434  }
82435 #endif
82436 
82437  public:
82438  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineViewportDepthClipControlCreateInfoEXT;
82439  const void * pNext = {};
82440  VULKAN_HPP_NAMESPACE::Bool32 negativeOneToOne = {};
82441  };
82442 
82443  template <>
82445  {
82447  };
82448 
82450  {
82452 
82453  static const bool allowDuplicate = false;
82454  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineViewportExclusiveScissorStateCreateInfoNV;
82455 
82456 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
82458  const VULKAN_HPP_NAMESPACE::Rect2D * pExclusiveScissors_ = {},
82459  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
82460  : pNext( pNext_ )
82461  , exclusiveScissorCount( exclusiveScissorCount_ )
82462  , pExclusiveScissors( pExclusiveScissors_ )
82463  {
82464  }
82465 
82467  PipelineViewportExclusiveScissorStateCreateInfoNV( PipelineViewportExclusiveScissorStateCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
82468 
82470  : PipelineViewportExclusiveScissorStateCreateInfoNV( *reinterpret_cast<PipelineViewportExclusiveScissorStateCreateInfoNV const *>( &rhs ) )
82471  {
82472  }
82473 
82474 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
82476  VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Rect2D> const & exclusiveScissors_, const void * pNext_ = nullptr )
82477  : pNext( pNext_ ), exclusiveScissorCount( static_cast<uint32_t>( exclusiveScissors_.size() ) ), pExclusiveScissors( exclusiveScissors_.data() )
82478  {
82479  }
82480 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
82481 
82484 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
82485 
82487  {
82488  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineViewportExclusiveScissorStateCreateInfoNV const *>( &rhs );
82489  return *this;
82490  }
82491 
82492 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
82494  {
82495  pNext = pNext_;
82496  return *this;
82497  }
82498 
82500  {
82501  exclusiveScissorCount = exclusiveScissorCount_;
82502  return *this;
82503  }
82504 
82507  {
82508  pExclusiveScissors = pExclusiveScissors_;
82509  return *this;
82510  }
82511 
82512 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
82515  {
82516  exclusiveScissorCount = static_cast<uint32_t>( exclusiveScissors_.size() );
82517  pExclusiveScissors = exclusiveScissors_.data();
82518  return *this;
82519  }
82520 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
82521 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
82522 
82524  {
82525  return *reinterpret_cast<const VkPipelineViewportExclusiveScissorStateCreateInfoNV *>( this );
82526  }
82527 
82529  {
82530  return *reinterpret_cast<VkPipelineViewportExclusiveScissorStateCreateInfoNV *>( this );
82531  }
82532 
82533 #if defined( VULKAN_HPP_USE_REFLECT )
82534 # if 14 <= VULKAN_HPP_CPP_VERSION
82535  auto
82536 # else
82537  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &, const VULKAN_HPP_NAMESPACE::Rect2D * const &>
82538 # endif
82539  reflect() const VULKAN_HPP_NOEXCEPT
82540  {
82541  return std::tie( sType, pNext, exclusiveScissorCount, pExclusiveScissors );
82542  }
82543 #endif
82544 
82545 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
82546  auto operator<=>( PipelineViewportExclusiveScissorStateCreateInfoNV const & ) const = default;
82547 #else
82549  {
82550 # if defined( VULKAN_HPP_USE_REFLECT )
82551  return this->reflect() == rhs.reflect();
82552 # else
82553  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( exclusiveScissorCount == rhs.exclusiveScissorCount ) &&
82554  ( pExclusiveScissors == rhs.pExclusiveScissors );
82555 # endif
82556  }
82557 
82559  {
82560  return !operator==( rhs );
82561  }
82562 #endif
82563 
82564  public:
82565  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineViewportExclusiveScissorStateCreateInfoNV;
82566  const void * pNext = {};
82567  uint32_t exclusiveScissorCount = {};
82568  const VULKAN_HPP_NAMESPACE::Rect2D * pExclusiveScissors = {};
82569  };
82570 
82571  template <>
82573  {
82575  };
82576 
82578  {
82580 
82581 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
82582  VULKAN_HPP_CONSTEXPR ShadingRatePaletteNV( uint32_t shadingRatePaletteEntryCount_ = {},
82583  const VULKAN_HPP_NAMESPACE::ShadingRatePaletteEntryNV * pShadingRatePaletteEntries_ = {} ) VULKAN_HPP_NOEXCEPT
82584  : shadingRatePaletteEntryCount( shadingRatePaletteEntryCount_ )
82585  , pShadingRatePaletteEntries( pShadingRatePaletteEntries_ )
82586  {
82587  }
82588 
82589  VULKAN_HPP_CONSTEXPR ShadingRatePaletteNV( ShadingRatePaletteNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
82590 
82592  : ShadingRatePaletteNV( *reinterpret_cast<ShadingRatePaletteNV const *>( &rhs ) )
82593  {
82594  }
82595 
82596 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
82599  : shadingRatePaletteEntryCount( static_cast<uint32_t>( shadingRatePaletteEntries_.size() ) )
82600  , pShadingRatePaletteEntries( shadingRatePaletteEntries_.data() )
82601  {
82602  }
82603 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
82604 
82605  ShadingRatePaletteNV & operator=( ShadingRatePaletteNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
82606 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
82607 
82609  {
82610  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV const *>( &rhs );
82611  return *this;
82612  }
82613 
82614 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
82616  {
82617  shadingRatePaletteEntryCount = shadingRatePaletteEntryCount_;
82618  return *this;
82619  }
82620 
82623  {
82624  pShadingRatePaletteEntries = pShadingRatePaletteEntries_;
82625  return *this;
82626  }
82627 
82628 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
82632  {
82633  shadingRatePaletteEntryCount = static_cast<uint32_t>( shadingRatePaletteEntries_.size() );
82634  pShadingRatePaletteEntries = shadingRatePaletteEntries_.data();
82635  return *this;
82636  }
82637 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
82638 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
82639 
82641  {
82642  return *reinterpret_cast<const VkShadingRatePaletteNV *>( this );
82643  }
82644 
82646  {
82647  return *reinterpret_cast<VkShadingRatePaletteNV *>( this );
82648  }
82649 
82650 #if defined( VULKAN_HPP_USE_REFLECT )
82651 # if 14 <= VULKAN_HPP_CPP_VERSION
82652  auto
82653 # else
82654  std::tuple<uint32_t const &, const VULKAN_HPP_NAMESPACE::ShadingRatePaletteEntryNV * const &>
82655 # endif
82656  reflect() const VULKAN_HPP_NOEXCEPT
82657  {
82658  return std::tie( shadingRatePaletteEntryCount, pShadingRatePaletteEntries );
82659  }
82660 #endif
82661 
82662 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
82663  auto operator<=>( ShadingRatePaletteNV const & ) const = default;
82664 #else
82666  {
82667 # if defined( VULKAN_HPP_USE_REFLECT )
82668  return this->reflect() == rhs.reflect();
82669 # else
82670  return ( shadingRatePaletteEntryCount == rhs.shadingRatePaletteEntryCount ) && ( pShadingRatePaletteEntries == rhs.pShadingRatePaletteEntries );
82671 # endif
82672  }
82673 
82675  {
82676  return !operator==( rhs );
82677  }
82678 #endif
82679 
82680  public:
82681  uint32_t shadingRatePaletteEntryCount = {};
82682  const VULKAN_HPP_NAMESPACE::ShadingRatePaletteEntryNV * pShadingRatePaletteEntries = {};
82683  };
82684 
82686  {
82688 
82689  static const bool allowDuplicate = false;
82690  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineViewportShadingRateImageStateCreateInfoNV;
82691 
82692 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
82694  uint32_t viewportCount_ = {},
82695  const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV * pShadingRatePalettes_ = {},
82696  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
82697  : pNext( pNext_ )
82698  , shadingRateImageEnable( shadingRateImageEnable_ )
82699  , viewportCount( viewportCount_ )
82700  , pShadingRatePalettes( pShadingRatePalettes_ )
82701  {
82702  }
82703 
82705  PipelineViewportShadingRateImageStateCreateInfoNV( PipelineViewportShadingRateImageStateCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
82706 
82708  : PipelineViewportShadingRateImageStateCreateInfoNV( *reinterpret_cast<PipelineViewportShadingRateImageStateCreateInfoNV const *>( &rhs ) )
82709  {
82710  }
82711 
82712 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
82714  VULKAN_HPP_NAMESPACE::Bool32 shadingRateImageEnable_,
82716  const void * pNext_ = nullptr )
82717  : pNext( pNext_ )
82718  , shadingRateImageEnable( shadingRateImageEnable_ )
82719  , viewportCount( static_cast<uint32_t>( shadingRatePalettes_.size() ) )
82720  , pShadingRatePalettes( shadingRatePalettes_.data() )
82721  {
82722  }
82723 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
82724 
82727 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
82728 
82730  {
82731  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineViewportShadingRateImageStateCreateInfoNV const *>( &rhs );
82732  return *this;
82733  }
82734 
82735 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
82737  {
82738  pNext = pNext_;
82739  return *this;
82740  }
82741 
82744  {
82745  shadingRateImageEnable = shadingRateImageEnable_;
82746  return *this;
82747  }
82748 
82750  {
82751  viewportCount = viewportCount_;
82752  return *this;
82753  }
82754 
82757  {
82758  pShadingRatePalettes = pShadingRatePalettes_;
82759  return *this;
82760  }
82761 
82762 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
82765  {
82766  viewportCount = static_cast<uint32_t>( shadingRatePalettes_.size() );
82767  pShadingRatePalettes = shadingRatePalettes_.data();
82768  return *this;
82769  }
82770 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
82771 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
82772 
82774  {
82775  return *reinterpret_cast<const VkPipelineViewportShadingRateImageStateCreateInfoNV *>( this );
82776  }
82777 
82779  {
82780  return *reinterpret_cast<VkPipelineViewportShadingRateImageStateCreateInfoNV *>( this );
82781  }
82782 
82783 #if defined( VULKAN_HPP_USE_REFLECT )
82784 # if 14 <= VULKAN_HPP_CPP_VERSION
82785  auto
82786 # else
82787  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
82788  const void * const &,
82790  uint32_t const &,
82792 # endif
82793  reflect() const VULKAN_HPP_NOEXCEPT
82794  {
82795  return std::tie( sType, pNext, shadingRateImageEnable, viewportCount, pShadingRatePalettes );
82796  }
82797 #endif
82798 
82799 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
82800  auto operator<=>( PipelineViewportShadingRateImageStateCreateInfoNV const & ) const = default;
82801 #else
82803  {
82804 # if defined( VULKAN_HPP_USE_REFLECT )
82805  return this->reflect() == rhs.reflect();
82806 # else
82807  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shadingRateImageEnable == rhs.shadingRateImageEnable ) &&
82808  ( viewportCount == rhs.viewportCount ) && ( pShadingRatePalettes == rhs.pShadingRatePalettes );
82809 # endif
82810  }
82811 
82813  {
82814  return !operator==( rhs );
82815  }
82816 #endif
82817 
82818  public:
82819  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineViewportShadingRateImageStateCreateInfoNV;
82820  const void * pNext = {};
82821  VULKAN_HPP_NAMESPACE::Bool32 shadingRateImageEnable = {};
82822  uint32_t viewportCount = {};
82823  const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV * pShadingRatePalettes = {};
82824  };
82825 
82826  template <>
82828  {
82830  };
82831 
82833  {
82835 
82836 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
82842  : x( x_ )
82843  , y( y_ )
82844  , z( z_ )
82845  , w( w_ )
82846  {
82847  }
82848 
82850 
82851  ViewportSwizzleNV( VkViewportSwizzleNV const & rhs ) VULKAN_HPP_NOEXCEPT : ViewportSwizzleNV( *reinterpret_cast<ViewportSwizzleNV const *>( &rhs ) ) {}
82852 
82853  ViewportSwizzleNV & operator=( ViewportSwizzleNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
82854 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
82855 
82857  {
82858  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ViewportSwizzleNV const *>( &rhs );
82859  return *this;
82860  }
82861 
82862 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
82864  {
82865  x = x_;
82866  return *this;
82867  }
82868 
82870  {
82871  y = y_;
82872  return *this;
82873  }
82874 
82876  {
82877  z = z_;
82878  return *this;
82879  }
82880 
82882  {
82883  w = w_;
82884  return *this;
82885  }
82886 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
82887 
82888  operator VkViewportSwizzleNV const &() const VULKAN_HPP_NOEXCEPT
82889  {
82890  return *reinterpret_cast<const VkViewportSwizzleNV *>( this );
82891  }
82892 
82894  {
82895  return *reinterpret_cast<VkViewportSwizzleNV *>( this );
82896  }
82897 
82898 #if defined( VULKAN_HPP_USE_REFLECT )
82899 # if 14 <= VULKAN_HPP_CPP_VERSION
82900  auto
82901 # else
82906 # endif
82907  reflect() const VULKAN_HPP_NOEXCEPT
82908  {
82909  return std::tie( x, y, z, w );
82910  }
82911 #endif
82912 
82913 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
82914  auto operator<=>( ViewportSwizzleNV const & ) const = default;
82915 #else
82917  {
82918 # if defined( VULKAN_HPP_USE_REFLECT )
82919  return this->reflect() == rhs.reflect();
82920 # else
82921  return ( x == rhs.x ) && ( y == rhs.y ) && ( z == rhs.z ) && ( w == rhs.w );
82922 # endif
82923  }
82924 
82926  {
82927  return !operator==( rhs );
82928  }
82929 #endif
82930 
82931  public:
82936  };
82937 
82939  {
82941 
82942  static const bool allowDuplicate = false;
82943  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineViewportSwizzleStateCreateInfoNV;
82944 
82945 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
82947  uint32_t viewportCount_ = {},
82948  const VULKAN_HPP_NAMESPACE::ViewportSwizzleNV * pViewportSwizzles_ = {},
82949  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
82950  : pNext( pNext_ )
82951  , flags( flags_ )
82952  , viewportCount( viewportCount_ )
82953  , pViewportSwizzles( pViewportSwizzles_ )
82954  {
82955  }
82956 
82957  VULKAN_HPP_CONSTEXPR PipelineViewportSwizzleStateCreateInfoNV( PipelineViewportSwizzleStateCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
82958 
82960  : PipelineViewportSwizzleStateCreateInfoNV( *reinterpret_cast<PipelineViewportSwizzleStateCreateInfoNV const *>( &rhs ) )
82961  {
82962  }
82963 
82964 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
82968  const void * pNext_ = nullptr )
82969  : pNext( pNext_ ), flags( flags_ ), viewportCount( static_cast<uint32_t>( viewportSwizzles_.size() ) ), pViewportSwizzles( viewportSwizzles_.data() )
82970  {
82971  }
82972 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
82973 
82975 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
82976 
82978  {
82979  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineViewportSwizzleStateCreateInfoNV const *>( &rhs );
82980  return *this;
82981  }
82982 
82983 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
82985  {
82986  pNext = pNext_;
82987  return *this;
82988  }
82989 
82992  {
82993  flags = flags_;
82994  return *this;
82995  }
82996 
82998  {
82999  viewportCount = viewportCount_;
83000  return *this;
83001  }
83002 
83005  {
83006  pViewportSwizzles = pViewportSwizzles_;
83007  return *this;
83008  }
83009 
83010 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
83013  {
83014  viewportCount = static_cast<uint32_t>( viewportSwizzles_.size() );
83015  pViewportSwizzles = viewportSwizzles_.data();
83016  return *this;
83017  }
83018 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
83019 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
83020 
83022  {
83023  return *reinterpret_cast<const VkPipelineViewportSwizzleStateCreateInfoNV *>( this );
83024  }
83025 
83027  {
83028  return *reinterpret_cast<VkPipelineViewportSwizzleStateCreateInfoNV *>( this );
83029  }
83030 
83031 #if defined( VULKAN_HPP_USE_REFLECT )
83032 # if 14 <= VULKAN_HPP_CPP_VERSION
83033  auto
83034 # else
83035  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
83036  const void * const &,
83038  uint32_t const &,
83040 # endif
83041  reflect() const VULKAN_HPP_NOEXCEPT
83042  {
83043  return std::tie( sType, pNext, flags, viewportCount, pViewportSwizzles );
83044  }
83045 #endif
83046 
83047 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
83048  auto operator<=>( PipelineViewportSwizzleStateCreateInfoNV const & ) const = default;
83049 #else
83051  {
83052 # if defined( VULKAN_HPP_USE_REFLECT )
83053  return this->reflect() == rhs.reflect();
83054 # else
83055  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( viewportCount == rhs.viewportCount ) &&
83056  ( pViewportSwizzles == rhs.pViewportSwizzles );
83057 # endif
83058  }
83059 
83061  {
83062  return !operator==( rhs );
83063  }
83064 #endif
83065 
83066  public:
83067  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineViewportSwizzleStateCreateInfoNV;
83068  const void * pNext = {};
83070  uint32_t viewportCount = {};
83071  const VULKAN_HPP_NAMESPACE::ViewportSwizzleNV * pViewportSwizzles = {};
83072  };
83073 
83074  template <>
83076  {
83078  };
83079 
83081  {
83083 
83084 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
83085  VULKAN_HPP_CONSTEXPR ViewportWScalingNV( float xcoeff_ = {}, float ycoeff_ = {} ) VULKAN_HPP_NOEXCEPT
83086  : xcoeff( xcoeff_ )
83087  , ycoeff( ycoeff_ )
83088  {
83089  }
83090 
83091  VULKAN_HPP_CONSTEXPR ViewportWScalingNV( ViewportWScalingNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
83092 
83093  ViewportWScalingNV( VkViewportWScalingNV const & rhs ) VULKAN_HPP_NOEXCEPT : ViewportWScalingNV( *reinterpret_cast<ViewportWScalingNV const *>( &rhs ) ) {}
83094 
83095  ViewportWScalingNV & operator=( ViewportWScalingNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
83096 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
83097 
83099  {
83100  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ViewportWScalingNV const *>( &rhs );
83101  return *this;
83102  }
83103 
83104 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
83106  {
83107  xcoeff = xcoeff_;
83108  return *this;
83109  }
83110 
83112  {
83113  ycoeff = ycoeff_;
83114  return *this;
83115  }
83116 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
83117 
83119  {
83120  return *reinterpret_cast<const VkViewportWScalingNV *>( this );
83121  }
83122 
83124  {
83125  return *reinterpret_cast<VkViewportWScalingNV *>( this );
83126  }
83127 
83128 #if defined( VULKAN_HPP_USE_REFLECT )
83129 # if 14 <= VULKAN_HPP_CPP_VERSION
83130  auto
83131 # else
83132  std::tuple<float const &, float const &>
83133 # endif
83134  reflect() const VULKAN_HPP_NOEXCEPT
83135  {
83136  return std::tie( xcoeff, ycoeff );
83137  }
83138 #endif
83139 
83140 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
83141  auto operator<=>( ViewportWScalingNV const & ) const = default;
83142 #else
83144  {
83145 # if defined( VULKAN_HPP_USE_REFLECT )
83146  return this->reflect() == rhs.reflect();
83147 # else
83148  return ( xcoeff == rhs.xcoeff ) && ( ycoeff == rhs.ycoeff );
83149 # endif
83150  }
83151 
83153  {
83154  return !operator==( rhs );
83155  }
83156 #endif
83157 
83158  public:
83159  float xcoeff = {};
83160  float ycoeff = {};
83161  };
83162 
83164  {
83166 
83167  static const bool allowDuplicate = false;
83168  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePipelineViewportWScalingStateCreateInfoNV;
83169 
83170 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
83172  uint32_t viewportCount_ = {},
83173  const VULKAN_HPP_NAMESPACE::ViewportWScalingNV * pViewportWScalings_ = {},
83174  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
83175  : pNext( pNext_ )
83176  , viewportWScalingEnable( viewportWScalingEnable_ )
83177  , viewportCount( viewportCount_ )
83178  , pViewportWScalings( pViewportWScalings_ )
83179  {
83180  }
83181 
83182  VULKAN_HPP_CONSTEXPR PipelineViewportWScalingStateCreateInfoNV( PipelineViewportWScalingStateCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
83183 
83185  : PipelineViewportWScalingStateCreateInfoNV( *reinterpret_cast<PipelineViewportWScalingStateCreateInfoNV const *>( &rhs ) )
83186  {
83187  }
83188 
83189 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
83191  VULKAN_HPP_NAMESPACE::Bool32 viewportWScalingEnable_,
83193  const void * pNext_ = nullptr )
83194  : pNext( pNext_ )
83195  , viewportWScalingEnable( viewportWScalingEnable_ )
83196  , viewportCount( static_cast<uint32_t>( viewportWScalings_.size() ) )
83197  , pViewportWScalings( viewportWScalings_.data() )
83198  {
83199  }
83200 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
83201 
83203 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
83204 
83206  {
83207  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PipelineViewportWScalingStateCreateInfoNV const *>( &rhs );
83208  return *this;
83209  }
83210 
83211 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
83213  {
83214  pNext = pNext_;
83215  return *this;
83216  }
83217 
83220  {
83221  viewportWScalingEnable = viewportWScalingEnable_;
83222  return *this;
83223  }
83224 
83226  {
83227  viewportCount = viewportCount_;
83228  return *this;
83229  }
83230 
83233  {
83234  pViewportWScalings = pViewportWScalings_;
83235  return *this;
83236  }
83237 
83238 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
83241  {
83242  viewportCount = static_cast<uint32_t>( viewportWScalings_.size() );
83243  pViewportWScalings = viewportWScalings_.data();
83244  return *this;
83245  }
83246 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
83247 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
83248 
83250  {
83251  return *reinterpret_cast<const VkPipelineViewportWScalingStateCreateInfoNV *>( this );
83252  }
83253 
83255  {
83256  return *reinterpret_cast<VkPipelineViewportWScalingStateCreateInfoNV *>( this );
83257  }
83258 
83259 #if defined( VULKAN_HPP_USE_REFLECT )
83260 # if 14 <= VULKAN_HPP_CPP_VERSION
83261  auto
83262 # else
83263  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
83264  const void * const &,
83266  uint32_t const &,
83268 # endif
83269  reflect() const VULKAN_HPP_NOEXCEPT
83270  {
83271  return std::tie( sType, pNext, viewportWScalingEnable, viewportCount, pViewportWScalings );
83272  }
83273 #endif
83274 
83275 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
83276  auto operator<=>( PipelineViewportWScalingStateCreateInfoNV const & ) const = default;
83277 #else
83279  {
83280 # if defined( VULKAN_HPP_USE_REFLECT )
83281  return this->reflect() == rhs.reflect();
83282 # else
83283  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( viewportWScalingEnable == rhs.viewportWScalingEnable ) &&
83284  ( viewportCount == rhs.viewportCount ) && ( pViewportWScalings == rhs.pViewportWScalings );
83285 # endif
83286  }
83287 
83289  {
83290  return !operator==( rhs );
83291  }
83292 #endif
83293 
83294  public:
83295  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineViewportWScalingStateCreateInfoNV;
83296  const void * pNext = {};
83297  VULKAN_HPP_NAMESPACE::Bool32 viewportWScalingEnable = {};
83298  uint32_t viewportCount = {};
83299  const VULKAN_HPP_NAMESPACE::ViewportWScalingNV * pViewportWScalings = {};
83300  };
83301 
83302  template <>
83304  {
83306  };
83307 
83308 #if defined( VK_USE_PLATFORM_GGP )
83309  struct PresentFrameTokenGGP
83310  {
83311  using NativeType = VkPresentFrameTokenGGP;
83312 
83313  static const bool allowDuplicate = false;
83314  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePresentFrameTokenGGP;
83315 
83316 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
83317  VULKAN_HPP_CONSTEXPR PresentFrameTokenGGP( GgpFrameToken frameToken_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
83318  : pNext( pNext_ )
83319  , frameToken( frameToken_ )
83320  {
83321  }
83322 
83323  VULKAN_HPP_CONSTEXPR PresentFrameTokenGGP( PresentFrameTokenGGP const & rhs ) VULKAN_HPP_NOEXCEPT = default;
83324 
83325  PresentFrameTokenGGP( VkPresentFrameTokenGGP const & rhs ) VULKAN_HPP_NOEXCEPT
83326  : PresentFrameTokenGGP( *reinterpret_cast<PresentFrameTokenGGP const *>( &rhs ) )
83327  {
83328  }
83329 
83330  PresentFrameTokenGGP & operator=( PresentFrameTokenGGP const & rhs ) VULKAN_HPP_NOEXCEPT = default;
83331 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
83332 
83333  PresentFrameTokenGGP & operator=( VkPresentFrameTokenGGP const & rhs ) VULKAN_HPP_NOEXCEPT
83334  {
83335  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PresentFrameTokenGGP const *>( &rhs );
83336  return *this;
83337  }
83338 
83339 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
83340  VULKAN_HPP_CONSTEXPR_14 PresentFrameTokenGGP & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
83341  {
83342  pNext = pNext_;
83343  return *this;
83344  }
83345 
83346  VULKAN_HPP_CONSTEXPR_14 PresentFrameTokenGGP & setFrameToken( GgpFrameToken frameToken_ ) VULKAN_HPP_NOEXCEPT
83347  {
83348  frameToken = frameToken_;
83349  return *this;
83350  }
83351 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
83352 
83353  operator VkPresentFrameTokenGGP const &() const VULKAN_HPP_NOEXCEPT
83354  {
83355  return *reinterpret_cast<const VkPresentFrameTokenGGP *>( this );
83356  }
83357 
83359  {
83360  return *reinterpret_cast<VkPresentFrameTokenGGP *>( this );
83361  }
83362 
83363 # if defined( VULKAN_HPP_USE_REFLECT )
83364 # if 14 <= VULKAN_HPP_CPP_VERSION
83365  auto
83366 # else
83367  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, GgpFrameToken const &>
83368 # endif
83369  reflect() const VULKAN_HPP_NOEXCEPT
83370  {
83371  return std::tie( sType, pNext, frameToken );
83372  }
83373 # endif
83374 
83375 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
83376  std::strong_ordering operator<=>( PresentFrameTokenGGP const & rhs ) const VULKAN_HPP_NOEXCEPT
83377  {
83378  if ( auto cmp = sType <=> rhs.sType; cmp != 0 )
83379  return cmp;
83380  if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 )
83381  return cmp;
83382  if ( auto cmp = memcmp( &frameToken, &rhs.frameToken, sizeof( GgpFrameToken ) ); cmp != 0 )
83383  return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater;
83384 
83385  return std::strong_ordering::equivalent;
83386  }
83387 # endif
83388 
83389  bool operator==( PresentFrameTokenGGP const & rhs ) const VULKAN_HPP_NOEXCEPT
83390  {
83391  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memcmp( &frameToken, &rhs.frameToken, sizeof( GgpFrameToken ) ) == 0 );
83392  }
83393 
83394  bool operator!=( PresentFrameTokenGGP const & rhs ) const VULKAN_HPP_NOEXCEPT
83395  {
83396  return !operator==( rhs );
83397  }
83398 
83399  public:
83400  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePresentFrameTokenGGP;
83401  const void * pNext = {};
83402  GgpFrameToken frameToken = {};
83403  };
83404 
83405  template <>
83406  struct CppType<StructureType, StructureType::ePresentFrameTokenGGP>
83407  {
83408  using Type = PresentFrameTokenGGP;
83409  };
83410 #endif /*VK_USE_PLATFORM_GGP*/
83411 
83413  {
83415 
83416  static const bool allowDuplicate = false;
83417  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePresentIdKHR;
83418 
83419 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
83420  VULKAN_HPP_CONSTEXPR PresentIdKHR( uint32_t swapchainCount_ = {}, const uint64_t * pPresentIds_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
83421  : pNext( pNext_ )
83422  , swapchainCount( swapchainCount_ )
83423  , pPresentIds( pPresentIds_ )
83424  {
83425  }
83426 
83427  VULKAN_HPP_CONSTEXPR PresentIdKHR( PresentIdKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
83428 
83429  PresentIdKHR( VkPresentIdKHR const & rhs ) VULKAN_HPP_NOEXCEPT : PresentIdKHR( *reinterpret_cast<PresentIdKHR const *>( &rhs ) ) {}
83430 
83431 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
83432  PresentIdKHR( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const & presentIds_, const void * pNext_ = nullptr )
83433  : pNext( pNext_ ), swapchainCount( static_cast<uint32_t>( presentIds_.size() ) ), pPresentIds( presentIds_.data() )
83434  {
83435  }
83436 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
83437 
83438  PresentIdKHR & operator=( PresentIdKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
83439 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
83440 
83442  {
83443  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PresentIdKHR const *>( &rhs );
83444  return *this;
83445  }
83446 
83447 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
83449  {
83450  pNext = pNext_;
83451  return *this;
83452  }
83453 
83455  {
83456  swapchainCount = swapchainCount_;
83457  return *this;
83458  }
83459 
83461  {
83462  pPresentIds = pPresentIds_;
83463  return *this;
83464  }
83465 
83466 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
83468  {
83469  swapchainCount = static_cast<uint32_t>( presentIds_.size() );
83470  pPresentIds = presentIds_.data();
83471  return *this;
83472  }
83473 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
83474 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
83475 
83476  operator VkPresentIdKHR const &() const VULKAN_HPP_NOEXCEPT
83477  {
83478  return *reinterpret_cast<const VkPresentIdKHR *>( this );
83479  }
83480 
83482  {
83483  return *reinterpret_cast<VkPresentIdKHR *>( this );
83484  }
83485 
83486 #if defined( VULKAN_HPP_USE_REFLECT )
83487 # if 14 <= VULKAN_HPP_CPP_VERSION
83488  auto
83489 # else
83490  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &, const uint64_t * const &>
83491 # endif
83492  reflect() const VULKAN_HPP_NOEXCEPT
83493  {
83494  return std::tie( sType, pNext, swapchainCount, pPresentIds );
83495  }
83496 #endif
83497 
83498 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
83499  auto operator<=>( PresentIdKHR const & ) const = default;
83500 #else
83501  bool operator==( PresentIdKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
83502  {
83503 # if defined( VULKAN_HPP_USE_REFLECT )
83504  return this->reflect() == rhs.reflect();
83505 # else
83506  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( swapchainCount == rhs.swapchainCount ) && ( pPresentIds == rhs.pPresentIds );
83507 # endif
83508  }
83509 
83510  bool operator!=( PresentIdKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
83511  {
83512  return !operator==( rhs );
83513  }
83514 #endif
83515 
83516  public:
83517  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePresentIdKHR;
83518  const void * pNext = {};
83519  uint32_t swapchainCount = {};
83520  const uint64_t * pPresentIds = {};
83521  };
83522 
83523  template <>
83525  {
83527  };
83528 
83530  {
83532 
83533  static const bool allowDuplicate = false;
83534  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePresentInfoKHR;
83535 
83536 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
83537  VULKAN_HPP_CONSTEXPR PresentInfoKHR( uint32_t waitSemaphoreCount_ = {},
83538  const VULKAN_HPP_NAMESPACE::Semaphore * pWaitSemaphores_ = {},
83539  uint32_t swapchainCount_ = {},
83540  const VULKAN_HPP_NAMESPACE::SwapchainKHR * pSwapchains_ = {},
83541  const uint32_t * pImageIndices_ = {},
83542  VULKAN_HPP_NAMESPACE::Result * pResults_ = {},
83543  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
83544  : pNext( pNext_ )
83545  , waitSemaphoreCount( waitSemaphoreCount_ )
83546  , pWaitSemaphores( pWaitSemaphores_ )
83547  , swapchainCount( swapchainCount_ )
83548  , pSwapchains( pSwapchains_ )
83549  , pImageIndices( pImageIndices_ )
83550  , pResults( pResults_ )
83551  {
83552  }
83553 
83554  VULKAN_HPP_CONSTEXPR PresentInfoKHR( PresentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
83555 
83556  PresentInfoKHR( VkPresentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : PresentInfoKHR( *reinterpret_cast<PresentInfoKHR const *>( &rhs ) ) {}
83557 
83558 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
83563  const void * pNext_ = nullptr )
83564  : pNext( pNext_ )
83565  , waitSemaphoreCount( static_cast<uint32_t>( waitSemaphores_.size() ) )
83566  , pWaitSemaphores( waitSemaphores_.data() )
83567  , swapchainCount( static_cast<uint32_t>( swapchains_.size() ) )
83568  , pSwapchains( swapchains_.data() )
83569  , pImageIndices( imageIndices_.data() )
83570  , pResults( results_.data() )
83571  {
83572 # ifdef VULKAN_HPP_NO_EXCEPTIONS
83573  VULKAN_HPP_ASSERT( swapchains_.size() == imageIndices_.size() );
83574  VULKAN_HPP_ASSERT( results_.empty() || ( swapchains_.size() == results_.size() ) );
83575  VULKAN_HPP_ASSERT( results_.empty() || ( imageIndices_.size() == results_.size() ) );
83576 # else
83577  if ( swapchains_.size() != imageIndices_.size() )
83578  {
83579  throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::PresentInfoKHR::PresentInfoKHR: swapchains_.size() != imageIndices_.size()" );
83580  }
83581  if ( !results_.empty() && ( swapchains_.size() != results_.size() ) )
83582  {
83583  throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::PresentInfoKHR::PresentInfoKHR: !results_.empty() && ( swapchains_.size() != results_.size() )" );
83584  }
83585  if ( !results_.empty() && ( imageIndices_.size() != results_.size() ) )
83586  {
83587  throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::PresentInfoKHR::PresentInfoKHR: !results_.empty() && ( imageIndices_.size() != results_.size() )" );
83588  }
83589 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/
83590  }
83591 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
83592 
83593  PresentInfoKHR & operator=( PresentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
83594 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
83595 
83597  {
83598  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PresentInfoKHR const *>( &rhs );
83599  return *this;
83600  }
83601 
83602 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
83604  {
83605  pNext = pNext_;
83606  return *this;
83607  }
83608 
83610  {
83611  waitSemaphoreCount = waitSemaphoreCount_;
83612  return *this;
83613  }
83614 
83616  {
83617  pWaitSemaphores = pWaitSemaphores_;
83618  return *this;
83619  }
83620 
83621 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
83622  PresentInfoKHR &
83624  {
83625  waitSemaphoreCount = static_cast<uint32_t>( waitSemaphores_.size() );
83626  pWaitSemaphores = waitSemaphores_.data();
83627  return *this;
83628  }
83629 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
83630 
83632  {
83633  swapchainCount = swapchainCount_;
83634  return *this;
83635  }
83636 
83638  {
83639  pSwapchains = pSwapchains_;
83640  return *this;
83641  }
83642 
83643 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
83644  PresentInfoKHR &
83646  {
83647  swapchainCount = static_cast<uint32_t>( swapchains_.size() );
83648  pSwapchains = swapchains_.data();
83649  return *this;
83650  }
83651 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
83652 
83654  {
83655  pImageIndices = pImageIndices_;
83656  return *this;
83657  }
83658 
83659 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
83661  {
83662  swapchainCount = static_cast<uint32_t>( imageIndices_.size() );
83663  pImageIndices = imageIndices_.data();
83664  return *this;
83665  }
83666 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
83667 
83669  {
83670  pResults = pResults_;
83671  return *this;
83672  }
83673 
83674 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
83676  {
83677  swapchainCount = static_cast<uint32_t>( results_.size() );
83678  pResults = results_.data();
83679  return *this;
83680  }
83681 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
83682 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
83683 
83684  operator VkPresentInfoKHR const &() const VULKAN_HPP_NOEXCEPT
83685  {
83686  return *reinterpret_cast<const VkPresentInfoKHR *>( this );
83687  }
83688 
83690  {
83691  return *reinterpret_cast<VkPresentInfoKHR *>( this );
83692  }
83693 
83694 #if defined( VULKAN_HPP_USE_REFLECT )
83695 # if 14 <= VULKAN_HPP_CPP_VERSION
83696  auto
83697 # else
83698  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
83699  const void * const &,
83700  uint32_t const &,
83701  const VULKAN_HPP_NAMESPACE::Semaphore * const &,
83702  uint32_t const &,
83703  const VULKAN_HPP_NAMESPACE::SwapchainKHR * const &,
83704  const uint32_t * const &,
83705  VULKAN_HPP_NAMESPACE::Result * const &>
83706 # endif
83707  reflect() const VULKAN_HPP_NOEXCEPT
83708  {
83709  return std::tie( sType, pNext, waitSemaphoreCount, pWaitSemaphores, swapchainCount, pSwapchains, pImageIndices, pResults );
83710  }
83711 #endif
83712 
83713 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
83714  auto operator<=>( PresentInfoKHR const & ) const = default;
83715 #else
83717  {
83718 # if defined( VULKAN_HPP_USE_REFLECT )
83719  return this->reflect() == rhs.reflect();
83720 # else
83721  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( waitSemaphoreCount == rhs.waitSemaphoreCount ) &&
83722  ( pWaitSemaphores == rhs.pWaitSemaphores ) && ( swapchainCount == rhs.swapchainCount ) && ( pSwapchains == rhs.pSwapchains ) &&
83723  ( pImageIndices == rhs.pImageIndices ) && ( pResults == rhs.pResults );
83724 # endif
83725  }
83726 
83728  {
83729  return !operator==( rhs );
83730  }
83731 #endif
83732 
83733  public:
83734  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePresentInfoKHR;
83735  const void * pNext = {};
83736  uint32_t waitSemaphoreCount = {};
83737  const VULKAN_HPP_NAMESPACE::Semaphore * pWaitSemaphores = {};
83738  uint32_t swapchainCount = {};
83739  const VULKAN_HPP_NAMESPACE::SwapchainKHR * pSwapchains = {};
83740  const uint32_t * pImageIndices = {};
83742  };
83743 
83744  template <>
83746  {
83748  };
83749 
83751  {
83753 
83754 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
83757  : offset( offset_ )
83758  , extent( extent_ )
83759  , layer( layer_ )
83760  {
83761  }
83762 
83763  VULKAN_HPP_CONSTEXPR RectLayerKHR( RectLayerKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
83764 
83765  RectLayerKHR( VkRectLayerKHR const & rhs ) VULKAN_HPP_NOEXCEPT : RectLayerKHR( *reinterpret_cast<RectLayerKHR const *>( &rhs ) ) {}
83766 
83767  explicit RectLayerKHR( Rect2D const & rect2D, uint32_t layer_ = {} ) : offset( rect2D.offset ), extent( rect2D.extent ), layer( layer_ ) {}
83768 
83769  RectLayerKHR & operator=( RectLayerKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
83770 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
83771 
83773  {
83774  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RectLayerKHR const *>( &rhs );
83775  return *this;
83776  }
83777 
83778 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
83780  {
83781  offset = offset_;
83782  return *this;
83783  }
83784 
83786  {
83787  extent = extent_;
83788  return *this;
83789  }
83790 
83792  {
83793  layer = layer_;
83794  return *this;
83795  }
83796 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
83797 
83798  operator VkRectLayerKHR const &() const VULKAN_HPP_NOEXCEPT
83799  {
83800  return *reinterpret_cast<const VkRectLayerKHR *>( this );
83801  }
83802 
83804  {
83805  return *reinterpret_cast<VkRectLayerKHR *>( this );
83806  }
83807 
83808 #if defined( VULKAN_HPP_USE_REFLECT )
83809 # if 14 <= VULKAN_HPP_CPP_VERSION
83810  auto
83811 # else
83812  std::tuple<VULKAN_HPP_NAMESPACE::Offset2D const &, VULKAN_HPP_NAMESPACE::Extent2D const &, uint32_t const &>
83813 # endif
83814  reflect() const VULKAN_HPP_NOEXCEPT
83815  {
83816  return std::tie( offset, extent, layer );
83817  }
83818 #endif
83819 
83820 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
83821  auto operator<=>( RectLayerKHR const & ) const = default;
83822 #else
83823  bool operator==( RectLayerKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
83824  {
83825 # if defined( VULKAN_HPP_USE_REFLECT )
83826  return this->reflect() == rhs.reflect();
83827 # else
83828  return ( offset == rhs.offset ) && ( extent == rhs.extent ) && ( layer == rhs.layer );
83829 # endif
83830  }
83831 
83832  bool operator!=( RectLayerKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
83833  {
83834  return !operator==( rhs );
83835  }
83836 #endif
83837 
83838  public:
83841  uint32_t layer = {};
83842  };
83843 
83845  {
83847 
83848 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
83849  VULKAN_HPP_CONSTEXPR PresentRegionKHR( uint32_t rectangleCount_ = {}, const VULKAN_HPP_NAMESPACE::RectLayerKHR * pRectangles_ = {} ) VULKAN_HPP_NOEXCEPT
83850  : rectangleCount( rectangleCount_ )
83851  , pRectangles( pRectangles_ )
83852  {
83853  }
83854 
83855  VULKAN_HPP_CONSTEXPR PresentRegionKHR( PresentRegionKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
83856 
83857  PresentRegionKHR( VkPresentRegionKHR const & rhs ) VULKAN_HPP_NOEXCEPT : PresentRegionKHR( *reinterpret_cast<PresentRegionKHR const *>( &rhs ) ) {}
83858 
83859 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
83861  : rectangleCount( static_cast<uint32_t>( rectangles_.size() ) ), pRectangles( rectangles_.data() )
83862  {
83863  }
83864 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
83865 
83866  PresentRegionKHR & operator=( PresentRegionKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
83867 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
83868 
83870  {
83871  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PresentRegionKHR const *>( &rhs );
83872  return *this;
83873  }
83874 
83875 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
83877  {
83878  rectangleCount = rectangleCount_;
83879  return *this;
83880  }
83881 
83883  {
83884  pRectangles = pRectangles_;
83885  return *this;
83886  }
83887 
83888 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
83891  {
83892  rectangleCount = static_cast<uint32_t>( rectangles_.size() );
83893  pRectangles = rectangles_.data();
83894  return *this;
83895  }
83896 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
83897 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
83898 
83899  operator VkPresentRegionKHR const &() const VULKAN_HPP_NOEXCEPT
83900  {
83901  return *reinterpret_cast<const VkPresentRegionKHR *>( this );
83902  }
83903 
83905  {
83906  return *reinterpret_cast<VkPresentRegionKHR *>( this );
83907  }
83908 
83909 #if defined( VULKAN_HPP_USE_REFLECT )
83910 # if 14 <= VULKAN_HPP_CPP_VERSION
83911  auto
83912 # else
83913  std::tuple<uint32_t const &, const VULKAN_HPP_NAMESPACE::RectLayerKHR * const &>
83914 # endif
83915  reflect() const VULKAN_HPP_NOEXCEPT
83916  {
83917  return std::tie( rectangleCount, pRectangles );
83918  }
83919 #endif
83920 
83921 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
83922  auto operator<=>( PresentRegionKHR const & ) const = default;
83923 #else
83925  {
83926 # if defined( VULKAN_HPP_USE_REFLECT )
83927  return this->reflect() == rhs.reflect();
83928 # else
83929  return ( rectangleCount == rhs.rectangleCount ) && ( pRectangles == rhs.pRectangles );
83930 # endif
83931  }
83932 
83934  {
83935  return !operator==( rhs );
83936  }
83937 #endif
83938 
83939  public:
83940  uint32_t rectangleCount = {};
83941  const VULKAN_HPP_NAMESPACE::RectLayerKHR * pRectangles = {};
83942  };
83943 
83945  {
83947 
83948  static const bool allowDuplicate = false;
83949  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePresentRegionsKHR;
83950 
83951 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
83952  VULKAN_HPP_CONSTEXPR PresentRegionsKHR( uint32_t swapchainCount_ = {},
83953  const VULKAN_HPP_NAMESPACE::PresentRegionKHR * pRegions_ = {},
83954  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
83955  : pNext( pNext_ )
83956  , swapchainCount( swapchainCount_ )
83957  , pRegions( pRegions_ )
83958  {
83959  }
83960 
83961  VULKAN_HPP_CONSTEXPR PresentRegionsKHR( PresentRegionsKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
83962 
83963  PresentRegionsKHR( VkPresentRegionsKHR const & rhs ) VULKAN_HPP_NOEXCEPT : PresentRegionsKHR( *reinterpret_cast<PresentRegionsKHR const *>( &rhs ) ) {}
83964 
83965 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
83967  const void * pNext_ = nullptr )
83968  : pNext( pNext_ ), swapchainCount( static_cast<uint32_t>( regions_.size() ) ), pRegions( regions_.data() )
83969  {
83970  }
83971 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
83972 
83973  PresentRegionsKHR & operator=( PresentRegionsKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
83974 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
83975 
83977  {
83978  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PresentRegionsKHR const *>( &rhs );
83979  return *this;
83980  }
83981 
83982 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
83984  {
83985  pNext = pNext_;
83986  return *this;
83987  }
83988 
83990  {
83991  swapchainCount = swapchainCount_;
83992  return *this;
83993  }
83994 
83996  {
83997  pRegions = pRegions_;
83998  return *this;
83999  }
84000 
84001 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
84004  {
84005  swapchainCount = static_cast<uint32_t>( regions_.size() );
84006  pRegions = regions_.data();
84007  return *this;
84008  }
84009 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
84010 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
84011 
84012  operator VkPresentRegionsKHR const &() const VULKAN_HPP_NOEXCEPT
84013  {
84014  return *reinterpret_cast<const VkPresentRegionsKHR *>( this );
84015  }
84016 
84018  {
84019  return *reinterpret_cast<VkPresentRegionsKHR *>( this );
84020  }
84021 
84022 #if defined( VULKAN_HPP_USE_REFLECT )
84023 # if 14 <= VULKAN_HPP_CPP_VERSION
84024  auto
84025 # else
84026  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &, const VULKAN_HPP_NAMESPACE::PresentRegionKHR * const &>
84027 # endif
84028  reflect() const VULKAN_HPP_NOEXCEPT
84029  {
84030  return std::tie( sType, pNext, swapchainCount, pRegions );
84031  }
84032 #endif
84033 
84034 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
84035  auto operator<=>( PresentRegionsKHR const & ) const = default;
84036 #else
84038  {
84039 # if defined( VULKAN_HPP_USE_REFLECT )
84040  return this->reflect() == rhs.reflect();
84041 # else
84042  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( swapchainCount == rhs.swapchainCount ) && ( pRegions == rhs.pRegions );
84043 # endif
84044  }
84045 
84047  {
84048  return !operator==( rhs );
84049  }
84050 #endif
84051 
84052  public:
84053  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePresentRegionsKHR;
84054  const void * pNext = {};
84055  uint32_t swapchainCount = {};
84057  };
84058 
84059  template <>
84061  {
84063  };
84064 
84066  {
84068 
84069 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
84070  VULKAN_HPP_CONSTEXPR PresentTimeGOOGLE( uint32_t presentID_ = {}, uint64_t desiredPresentTime_ = {} ) VULKAN_HPP_NOEXCEPT
84071  : presentID( presentID_ )
84072  , desiredPresentTime( desiredPresentTime_ )
84073  {
84074  }
84075 
84076  VULKAN_HPP_CONSTEXPR PresentTimeGOOGLE( PresentTimeGOOGLE const & rhs ) VULKAN_HPP_NOEXCEPT = default;
84077 
84078  PresentTimeGOOGLE( VkPresentTimeGOOGLE const & rhs ) VULKAN_HPP_NOEXCEPT : PresentTimeGOOGLE( *reinterpret_cast<PresentTimeGOOGLE const *>( &rhs ) ) {}
84079 
84080  PresentTimeGOOGLE & operator=( PresentTimeGOOGLE const & rhs ) VULKAN_HPP_NOEXCEPT = default;
84081 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
84082 
84084  {
84085  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PresentTimeGOOGLE const *>( &rhs );
84086  return *this;
84087  }
84088 
84089 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
84091  {
84092  presentID = presentID_;
84093  return *this;
84094  }
84095 
84097  {
84098  desiredPresentTime = desiredPresentTime_;
84099  return *this;
84100  }
84101 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
84102 
84103  operator VkPresentTimeGOOGLE const &() const VULKAN_HPP_NOEXCEPT
84104  {
84105  return *reinterpret_cast<const VkPresentTimeGOOGLE *>( this );
84106  }
84107 
84109  {
84110  return *reinterpret_cast<VkPresentTimeGOOGLE *>( this );
84111  }
84112 
84113 #if defined( VULKAN_HPP_USE_REFLECT )
84114 # if 14 <= VULKAN_HPP_CPP_VERSION
84115  auto
84116 # else
84117  std::tuple<uint32_t const &, uint64_t const &>
84118 # endif
84119  reflect() const VULKAN_HPP_NOEXCEPT
84120  {
84121  return std::tie( presentID, desiredPresentTime );
84122  }
84123 #endif
84124 
84125 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
84126  auto operator<=>( PresentTimeGOOGLE const & ) const = default;
84127 #else
84129  {
84130 # if defined( VULKAN_HPP_USE_REFLECT )
84131  return this->reflect() == rhs.reflect();
84132 # else
84133  return ( presentID == rhs.presentID ) && ( desiredPresentTime == rhs.desiredPresentTime );
84134 # endif
84135  }
84136 
84138  {
84139  return !operator==( rhs );
84140  }
84141 #endif
84142 
84143  public:
84144  uint32_t presentID = {};
84145  uint64_t desiredPresentTime = {};
84146  };
84147 
84149  {
84151 
84152  static const bool allowDuplicate = false;
84153  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePresentTimesInfoGOOGLE;
84154 
84155 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
84156  VULKAN_HPP_CONSTEXPR PresentTimesInfoGOOGLE( uint32_t swapchainCount_ = {},
84157  const VULKAN_HPP_NAMESPACE::PresentTimeGOOGLE * pTimes_ = {},
84158  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
84159  : pNext( pNext_ )
84160  , swapchainCount( swapchainCount_ )
84161  , pTimes( pTimes_ )
84162  {
84163  }
84164 
84165  VULKAN_HPP_CONSTEXPR PresentTimesInfoGOOGLE( PresentTimesInfoGOOGLE const & rhs ) VULKAN_HPP_NOEXCEPT = default;
84166 
84168  : PresentTimesInfoGOOGLE( *reinterpret_cast<PresentTimesInfoGOOGLE const *>( &rhs ) )
84169  {
84170  }
84171 
84172 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
84174  const void * pNext_ = nullptr )
84175  : pNext( pNext_ ), swapchainCount( static_cast<uint32_t>( times_.size() ) ), pTimes( times_.data() )
84176  {
84177  }
84178 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
84179 
84180  PresentTimesInfoGOOGLE & operator=( PresentTimesInfoGOOGLE const & rhs ) VULKAN_HPP_NOEXCEPT = default;
84181 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
84182 
84184  {
84185  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PresentTimesInfoGOOGLE const *>( &rhs );
84186  return *this;
84187  }
84188 
84189 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
84191  {
84192  pNext = pNext_;
84193  return *this;
84194  }
84195 
84197  {
84198  swapchainCount = swapchainCount_;
84199  return *this;
84200  }
84201 
84203  {
84204  pTimes = pTimes_;
84205  return *this;
84206  }
84207 
84208 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
84211  {
84212  swapchainCount = static_cast<uint32_t>( times_.size() );
84213  pTimes = times_.data();
84214  return *this;
84215  }
84216 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
84217 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
84218 
84220  {
84221  return *reinterpret_cast<const VkPresentTimesInfoGOOGLE *>( this );
84222  }
84223 
84225  {
84226  return *reinterpret_cast<VkPresentTimesInfoGOOGLE *>( this );
84227  }
84228 
84229 #if defined( VULKAN_HPP_USE_REFLECT )
84230 # if 14 <= VULKAN_HPP_CPP_VERSION
84231  auto
84232 # else
84233  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &, const VULKAN_HPP_NAMESPACE::PresentTimeGOOGLE * const &>
84234 # endif
84235  reflect() const VULKAN_HPP_NOEXCEPT
84236  {
84237  return std::tie( sType, pNext, swapchainCount, pTimes );
84238  }
84239 #endif
84240 
84241 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
84242  auto operator<=>( PresentTimesInfoGOOGLE const & ) const = default;
84243 #else
84245  {
84246 # if defined( VULKAN_HPP_USE_REFLECT )
84247  return this->reflect() == rhs.reflect();
84248 # else
84249  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( swapchainCount == rhs.swapchainCount ) && ( pTimes == rhs.pTimes );
84250 # endif
84251  }
84252 
84254  {
84255  return !operator==( rhs );
84256  }
84257 #endif
84258 
84259  public:
84260  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePresentTimesInfoGOOGLE;
84261  const void * pNext = {};
84262  uint32_t swapchainCount = {};
84264  };
84265 
84266  template <>
84268  {
84270  };
84271 
84273  {
84275 
84276  static const bool allowDuplicate = false;
84277  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePrivateDataSlotCreateInfo;
84278 
84279 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
84281  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
84282  : pNext( pNext_ )
84283  , flags( flags_ )
84284  {
84285  }
84286 
84287  VULKAN_HPP_CONSTEXPR PrivateDataSlotCreateInfo( PrivateDataSlotCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
84288 
84290  : PrivateDataSlotCreateInfo( *reinterpret_cast<PrivateDataSlotCreateInfo const *>( &rhs ) )
84291  {
84292  }
84293 
84294  PrivateDataSlotCreateInfo & operator=( PrivateDataSlotCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
84295 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
84296 
84298  {
84299  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfo const *>( &rhs );
84300  return *this;
84301  }
84302 
84303 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
84305  {
84306  pNext = pNext_;
84307  return *this;
84308  }
84309 
84311  {
84312  flags = flags_;
84313  return *this;
84314  }
84315 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
84316 
84318  {
84319  return *reinterpret_cast<const VkPrivateDataSlotCreateInfo *>( this );
84320  }
84321 
84323  {
84324  return *reinterpret_cast<VkPrivateDataSlotCreateInfo *>( this );
84325  }
84326 
84327 #if defined( VULKAN_HPP_USE_REFLECT )
84328 # if 14 <= VULKAN_HPP_CPP_VERSION
84329  auto
84330 # else
84331  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateFlags const &>
84332 # endif
84333  reflect() const VULKAN_HPP_NOEXCEPT
84334  {
84335  return std::tie( sType, pNext, flags );
84336  }
84337 #endif
84338 
84339 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
84340  auto operator<=>( PrivateDataSlotCreateInfo const & ) const = default;
84341 #else
84343  {
84344 # if defined( VULKAN_HPP_USE_REFLECT )
84345  return this->reflect() == rhs.reflect();
84346 # else
84347  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags );
84348 # endif
84349  }
84350 
84352  {
84353  return !operator==( rhs );
84354  }
84355 #endif
84356 
84357  public:
84358  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePrivateDataSlotCreateInfo;
84359  const void * pNext = {};
84361  };
84362 
84363  template <>
84365  {
84367  };
84369 
84371  {
84373 
84374  static const bool allowDuplicate = false;
84375  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eProtectedSubmitInfo;
84376 
84377 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
84378  VULKAN_HPP_CONSTEXPR ProtectedSubmitInfo( VULKAN_HPP_NAMESPACE::Bool32 protectedSubmit_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
84379  : pNext( pNext_ )
84380  , protectedSubmit( protectedSubmit_ )
84381  {
84382  }
84383 
84384  VULKAN_HPP_CONSTEXPR ProtectedSubmitInfo( ProtectedSubmitInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
84385 
84386  ProtectedSubmitInfo( VkProtectedSubmitInfo const & rhs ) VULKAN_HPP_NOEXCEPT : ProtectedSubmitInfo( *reinterpret_cast<ProtectedSubmitInfo const *>( &rhs ) )
84387  {
84388  }
84389 
84390  ProtectedSubmitInfo & operator=( ProtectedSubmitInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
84391 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
84392 
84394  {
84395  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ProtectedSubmitInfo const *>( &rhs );
84396  return *this;
84397  }
84398 
84399 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
84401  {
84402  pNext = pNext_;
84403  return *this;
84404  }
84405 
84407  {
84408  protectedSubmit = protectedSubmit_;
84409  return *this;
84410  }
84411 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
84412 
84414  {
84415  return *reinterpret_cast<const VkProtectedSubmitInfo *>( this );
84416  }
84417 
84419  {
84420  return *reinterpret_cast<VkProtectedSubmitInfo *>( this );
84421  }
84422 
84423 #if defined( VULKAN_HPP_USE_REFLECT )
84424 # if 14 <= VULKAN_HPP_CPP_VERSION
84425  auto
84426 # else
84427  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
84428 # endif
84429  reflect() const VULKAN_HPP_NOEXCEPT
84430  {
84431  return std::tie( sType, pNext, protectedSubmit );
84432  }
84433 #endif
84434 
84435 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
84436  auto operator<=>( ProtectedSubmitInfo const & ) const = default;
84437 #else
84439  {
84440 # if defined( VULKAN_HPP_USE_REFLECT )
84441  return this->reflect() == rhs.reflect();
84442 # else
84443  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( protectedSubmit == rhs.protectedSubmit );
84444 # endif
84445  }
84446 
84448  {
84449  return !operator==( rhs );
84450  }
84451 #endif
84452 
84453  public:
84454  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eProtectedSubmitInfo;
84455  const void * pNext = {};
84456  VULKAN_HPP_NAMESPACE::Bool32 protectedSubmit = {};
84457  };
84458 
84459  template <>
84461  {
84463  };
84464 
84466  {
84468 
84469  static const bool allowDuplicate = false;
84470  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eQueryPoolCreateInfo;
84471 
84472 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
84475  uint32_t queryCount_ = {},
84476  VULKAN_HPP_NAMESPACE::QueryPipelineStatisticFlags pipelineStatistics_ = {},
84477  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
84478  : pNext( pNext_ )
84479  , flags( flags_ )
84480  , queryType( queryType_ )
84481  , queryCount( queryCount_ )
84482  , pipelineStatistics( pipelineStatistics_ )
84483  {
84484  }
84485 
84486  VULKAN_HPP_CONSTEXPR QueryPoolCreateInfo( QueryPoolCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
84487 
84488  QueryPoolCreateInfo( VkQueryPoolCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : QueryPoolCreateInfo( *reinterpret_cast<QueryPoolCreateInfo const *>( &rhs ) )
84489  {
84490  }
84491 
84492  QueryPoolCreateInfo & operator=( QueryPoolCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
84493 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
84494 
84496  {
84497  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::QueryPoolCreateInfo const *>( &rhs );
84498  return *this;
84499  }
84500 
84501 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
84503  {
84504  pNext = pNext_;
84505  return *this;
84506  }
84507 
84509  {
84510  flags = flags_;
84511  return *this;
84512  }
84513 
84515  {
84516  queryType = queryType_;
84517  return *this;
84518  }
84519 
84521  {
84522  queryCount = queryCount_;
84523  return *this;
84524  }
84525 
84528  {
84529  pipelineStatistics = pipelineStatistics_;
84530  return *this;
84531  }
84532 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
84533 
84535  {
84536  return *reinterpret_cast<const VkQueryPoolCreateInfo *>( this );
84537  }
84538 
84540  {
84541  return *reinterpret_cast<VkQueryPoolCreateInfo *>( this );
84542  }
84543 
84544 #if defined( VULKAN_HPP_USE_REFLECT )
84545 # if 14 <= VULKAN_HPP_CPP_VERSION
84546  auto
84547 # else
84548  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
84549  const void * const &,
84552  uint32_t const &,
84554 # endif
84555  reflect() const VULKAN_HPP_NOEXCEPT
84556  {
84557  return std::tie( sType, pNext, flags, queryType, queryCount, pipelineStatistics );
84558  }
84559 #endif
84560 
84561 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
84562  auto operator<=>( QueryPoolCreateInfo const & ) const = default;
84563 #else
84565  {
84566 # if defined( VULKAN_HPP_USE_REFLECT )
84567  return this->reflect() == rhs.reflect();
84568 # else
84569  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( queryType == rhs.queryType ) && ( queryCount == rhs.queryCount ) &&
84570  ( pipelineStatistics == rhs.pipelineStatistics );
84571 # endif
84572  }
84573 
84575  {
84576  return !operator==( rhs );
84577  }
84578 #endif
84579 
84580  public:
84581  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eQueryPoolCreateInfo;
84582  const void * pNext = {};
84585  uint32_t queryCount = {};
84587  };
84588 
84589  template <>
84591  {
84593  };
84594 
84596  {
84598 
84599  static const bool allowDuplicate = false;
84600  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eQueryPoolPerformanceCreateInfoKHR;
84601 
84602 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
84604  uint32_t counterIndexCount_ = {},
84605  const uint32_t * pCounterIndices_ = {},
84606  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
84607  : pNext( pNext_ )
84608  , queueFamilyIndex( queueFamilyIndex_ )
84609  , counterIndexCount( counterIndexCount_ )
84610  , pCounterIndices( pCounterIndices_ )
84611  {
84612  }
84613 
84614  VULKAN_HPP_CONSTEXPR QueryPoolPerformanceCreateInfoKHR( QueryPoolPerformanceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
84615 
84617  : QueryPoolPerformanceCreateInfoKHR( *reinterpret_cast<QueryPoolPerformanceCreateInfoKHR const *>( &rhs ) )
84618  {
84619  }
84620 
84621 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
84622  QueryPoolPerformanceCreateInfoKHR( uint32_t queueFamilyIndex_,
84624  const void * pNext_ = nullptr )
84625  : pNext( pNext_ )
84626  , queueFamilyIndex( queueFamilyIndex_ )
84627  , counterIndexCount( static_cast<uint32_t>( counterIndices_.size() ) )
84628  , pCounterIndices( counterIndices_.data() )
84629  {
84630  }
84631 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
84632 
84634 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
84635 
84637  {
84638  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::QueryPoolPerformanceCreateInfoKHR const *>( &rhs );
84639  return *this;
84640  }
84641 
84642 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
84644  {
84645  pNext = pNext_;
84646  return *this;
84647  }
84648 
84650  {
84651  queueFamilyIndex = queueFamilyIndex_;
84652  return *this;
84653  }
84654 
84656  {
84657  counterIndexCount = counterIndexCount_;
84658  return *this;
84659  }
84660 
84662  {
84663  pCounterIndices = pCounterIndices_;
84664  return *this;
84665  }
84666 
84667 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
84670  {
84671  counterIndexCount = static_cast<uint32_t>( counterIndices_.size() );
84672  pCounterIndices = counterIndices_.data();
84673  return *this;
84674  }
84675 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
84676 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
84677 
84679  {
84680  return *reinterpret_cast<const VkQueryPoolPerformanceCreateInfoKHR *>( this );
84681  }
84682 
84684  {
84685  return *reinterpret_cast<VkQueryPoolPerformanceCreateInfoKHR *>( this );
84686  }
84687 
84688 #if defined( VULKAN_HPP_USE_REFLECT )
84689 # if 14 <= VULKAN_HPP_CPP_VERSION
84690  auto
84691 # else
84692  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &, uint32_t const &, const uint32_t * const &>
84693 # endif
84694  reflect() const VULKAN_HPP_NOEXCEPT
84695  {
84696  return std::tie( sType, pNext, queueFamilyIndex, counterIndexCount, pCounterIndices );
84697  }
84698 #endif
84699 
84700 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
84701  auto operator<=>( QueryPoolPerformanceCreateInfoKHR const & ) const = default;
84702 #else
84704  {
84705 # if defined( VULKAN_HPP_USE_REFLECT )
84706  return this->reflect() == rhs.reflect();
84707 # else
84708  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( queueFamilyIndex == rhs.queueFamilyIndex ) &&
84709  ( counterIndexCount == rhs.counterIndexCount ) && ( pCounterIndices == rhs.pCounterIndices );
84710 # endif
84711  }
84712 
84714  {
84715  return !operator==( rhs );
84716  }
84717 #endif
84718 
84719  public:
84720  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eQueryPoolPerformanceCreateInfoKHR;
84721  const void * pNext = {};
84722  uint32_t queueFamilyIndex = {};
84723  uint32_t counterIndexCount = {};
84724  const uint32_t * pCounterIndices = {};
84725  };
84726 
84727  template <>
84729  {
84731  };
84732 
84734  {
84736 
84737  static const bool allowDuplicate = false;
84738  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eQueryPoolPerformanceQueryCreateInfoINTEL;
84739 
84740 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
84743  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
84744  : pNext( pNext_ )
84745  , performanceCountersSampling( performanceCountersSampling_ )
84746  {
84747  }
84748 
84750 
84752  : QueryPoolPerformanceQueryCreateInfoINTEL( *reinterpret_cast<QueryPoolPerformanceQueryCreateInfoINTEL const *>( &rhs ) )
84753  {
84754  }
84755 
84757 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
84758 
84760  {
84761  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::QueryPoolPerformanceQueryCreateInfoINTEL const *>( &rhs );
84762  return *this;
84763  }
84764 
84765 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
84767  {
84768  pNext = pNext_;
84769  return *this;
84770  }
84771 
84774  {
84775  performanceCountersSampling = performanceCountersSampling_;
84776  return *this;
84777  }
84778 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
84779 
84781  {
84782  return *reinterpret_cast<const VkQueryPoolPerformanceQueryCreateInfoINTEL *>( this );
84783  }
84784 
84786  {
84787  return *reinterpret_cast<VkQueryPoolPerformanceQueryCreateInfoINTEL *>( this );
84788  }
84789 
84790 #if defined( VULKAN_HPP_USE_REFLECT )
84791 # if 14 <= VULKAN_HPP_CPP_VERSION
84792  auto
84793 # else
84794  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::QueryPoolSamplingModeINTEL const &>
84795 # endif
84796  reflect() const VULKAN_HPP_NOEXCEPT
84797  {
84798  return std::tie( sType, pNext, performanceCountersSampling );
84799  }
84800 #endif
84801 
84802 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
84803  auto operator<=>( QueryPoolPerformanceQueryCreateInfoINTEL const & ) const = default;
84804 #else
84806  {
84807 # if defined( VULKAN_HPP_USE_REFLECT )
84808  return this->reflect() == rhs.reflect();
84809 # else
84810  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( performanceCountersSampling == rhs.performanceCountersSampling );
84811 # endif
84812  }
84813 
84815  {
84816  return !operator==( rhs );
84817  }
84818 #endif
84819 
84820  public:
84821  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eQueryPoolPerformanceQueryCreateInfoINTEL;
84822  const void * pNext = {};
84824  };
84825 
84826  template <>
84828  {
84830  };
84832 
84834  {
84836 
84837  static const bool allowDuplicate = false;
84838  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eQueueFamilyCheckpointProperties2NV;
84839 
84840 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
84842  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
84843  : pNext( pNext_ )
84844  , checkpointExecutionStageMask( checkpointExecutionStageMask_ )
84845  {
84846  }
84847 
84848  VULKAN_HPP_CONSTEXPR QueueFamilyCheckpointProperties2NV( QueueFamilyCheckpointProperties2NV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
84849 
84851  : QueueFamilyCheckpointProperties2NV( *reinterpret_cast<QueueFamilyCheckpointProperties2NV const *>( &rhs ) )
84852  {
84853  }
84854 
84856 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
84857 
84859  {
84860  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::QueueFamilyCheckpointProperties2NV const *>( &rhs );
84861  return *this;
84862  }
84863 
84865  {
84866  return *reinterpret_cast<const VkQueueFamilyCheckpointProperties2NV *>( this );
84867  }
84868 
84870  {
84871  return *reinterpret_cast<VkQueueFamilyCheckpointProperties2NV *>( this );
84872  }
84873 
84874 #if defined( VULKAN_HPP_USE_REFLECT )
84875 # if 14 <= VULKAN_HPP_CPP_VERSION
84876  auto
84877 # else
84878  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::PipelineStageFlags2 const &>
84879 # endif
84880  reflect() const VULKAN_HPP_NOEXCEPT
84881  {
84882  return std::tie( sType, pNext, checkpointExecutionStageMask );
84883  }
84884 #endif
84885 
84886 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
84887  auto operator<=>( QueueFamilyCheckpointProperties2NV const & ) const = default;
84888 #else
84890  {
84891 # if defined( VULKAN_HPP_USE_REFLECT )
84892  return this->reflect() == rhs.reflect();
84893 # else
84894  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( checkpointExecutionStageMask == rhs.checkpointExecutionStageMask );
84895 # endif
84896  }
84897 
84899  {
84900  return !operator==( rhs );
84901  }
84902 #endif
84903 
84904  public:
84905  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eQueueFamilyCheckpointProperties2NV;
84906  void * pNext = {};
84907  VULKAN_HPP_NAMESPACE::PipelineStageFlags2 checkpointExecutionStageMask = {};
84908  };
84909 
84910  template <>
84912  {
84914  };
84915 
84917  {
84919 
84920  static const bool allowDuplicate = false;
84921  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eQueueFamilyCheckpointPropertiesNV;
84922 
84923 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
84925  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
84926  : pNext( pNext_ )
84927  , checkpointExecutionStageMask( checkpointExecutionStageMask_ )
84928  {
84929  }
84930 
84931  VULKAN_HPP_CONSTEXPR QueueFamilyCheckpointPropertiesNV( QueueFamilyCheckpointPropertiesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
84932 
84934  : QueueFamilyCheckpointPropertiesNV( *reinterpret_cast<QueueFamilyCheckpointPropertiesNV const *>( &rhs ) )
84935  {
84936  }
84937 
84939 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
84940 
84942  {
84943  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::QueueFamilyCheckpointPropertiesNV const *>( &rhs );
84944  return *this;
84945  }
84946 
84948  {
84949  return *reinterpret_cast<const VkQueueFamilyCheckpointPropertiesNV *>( this );
84950  }
84951 
84953  {
84954  return *reinterpret_cast<VkQueueFamilyCheckpointPropertiesNV *>( this );
84955  }
84956 
84957 #if defined( VULKAN_HPP_USE_REFLECT )
84958 # if 14 <= VULKAN_HPP_CPP_VERSION
84959  auto
84960 # else
84961  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::PipelineStageFlags const &>
84962 # endif
84963  reflect() const VULKAN_HPP_NOEXCEPT
84964  {
84965  return std::tie( sType, pNext, checkpointExecutionStageMask );
84966  }
84967 #endif
84968 
84969 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
84970  auto operator<=>( QueueFamilyCheckpointPropertiesNV const & ) const = default;
84971 #else
84973  {
84974 # if defined( VULKAN_HPP_USE_REFLECT )
84975  return this->reflect() == rhs.reflect();
84976 # else
84977  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( checkpointExecutionStageMask == rhs.checkpointExecutionStageMask );
84978 # endif
84979  }
84980 
84982  {
84983  return !operator==( rhs );
84984  }
84985 #endif
84986 
84987  public:
84988  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eQueueFamilyCheckpointPropertiesNV;
84989  void * pNext = {};
84990  VULKAN_HPP_NAMESPACE::PipelineStageFlags checkpointExecutionStageMask = {};
84991  };
84992 
84993  template <>
84995  {
84997  };
84998 
85000  {
85002 
85003  static const bool allowDuplicate = false;
85004  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eQueueFamilyGlobalPriorityPropertiesKHR;
85005 
85006 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
85008  QueueFamilyGlobalPriorityPropertiesKHR( uint32_t priorityCount_ = {},
85009  std::array<VULKAN_HPP_NAMESPACE::QueueGlobalPriorityKHR, VK_MAX_GLOBAL_PRIORITY_SIZE_KHR> const &
85025  VULKAN_HPP_NAMESPACE::QueueGlobalPriorityKHR::eLow } },
85026  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
85027  : pNext( pNext_ )
85028  , priorityCount( priorityCount_ )
85029  , priorities( priorities_ )
85030  {
85031  }
85032 
85033  VULKAN_HPP_CONSTEXPR_14 QueueFamilyGlobalPriorityPropertiesKHR( QueueFamilyGlobalPriorityPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
85034 
85036  : QueueFamilyGlobalPriorityPropertiesKHR( *reinterpret_cast<QueueFamilyGlobalPriorityPropertiesKHR const *>( &rhs ) )
85037  {
85038  }
85039 
85041 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
85042 
85044  {
85045  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::QueueFamilyGlobalPriorityPropertiesKHR const *>( &rhs );
85046  return *this;
85047  }
85048 
85049 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
85051  {
85052  pNext = pNext_;
85053  return *this;
85054  }
85055 
85057  {
85058  priorityCount = priorityCount_;
85059  return *this;
85060  }
85061 
85063  setPriorities( std::array<VULKAN_HPP_NAMESPACE::QueueGlobalPriorityKHR, VK_MAX_GLOBAL_PRIORITY_SIZE_KHR> priorities_ ) VULKAN_HPP_NOEXCEPT
85064  {
85065  priorities = priorities_;
85066  return *this;
85067  }
85068 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
85069 
85071  {
85072  return *reinterpret_cast<const VkQueueFamilyGlobalPriorityPropertiesKHR *>( this );
85073  }
85074 
85076  {
85077  return *reinterpret_cast<VkQueueFamilyGlobalPriorityPropertiesKHR *>( this );
85078  }
85079 
85080 #if defined( VULKAN_HPP_USE_REFLECT )
85081 # if 14 <= VULKAN_HPP_CPP_VERSION
85082  auto
85083 # else
85084  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
85085  void * const &,
85086  uint32_t const &,
85088 # endif
85089  reflect() const VULKAN_HPP_NOEXCEPT
85090  {
85091  return std::tie( sType, pNext, priorityCount, priorities );
85092  }
85093 #endif
85094 
85095 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
85096  auto operator<=>( QueueFamilyGlobalPriorityPropertiesKHR const & ) const = default;
85097 #else
85099  {
85100 # if defined( VULKAN_HPP_USE_REFLECT )
85101  return this->reflect() == rhs.reflect();
85102 # else
85103  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( priorityCount == rhs.priorityCount ) && ( priorities == rhs.priorities );
85104 # endif
85105  }
85106 
85108  {
85109  return !operator==( rhs );
85110  }
85111 #endif
85112 
85113  public:
85114  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eQueueFamilyGlobalPriorityPropertiesKHR;
85115  void * pNext = {};
85116  uint32_t priorityCount = {};
85118  };
85119 
85120  template <>
85122  {
85124  };
85126 
85128  {
85130 
85131 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
85133  uint32_t queueCount_ = {},
85134  uint32_t timestampValidBits_ = {},
85135  VULKAN_HPP_NAMESPACE::Extent3D minImageTransferGranularity_ = {} ) VULKAN_HPP_NOEXCEPT
85136  : queueFlags( queueFlags_ )
85137  , queueCount( queueCount_ )
85138  , timestampValidBits( timestampValidBits_ )
85139  , minImageTransferGranularity( minImageTransferGranularity_ )
85140  {
85141  }
85142 
85143  VULKAN_HPP_CONSTEXPR QueueFamilyProperties( QueueFamilyProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
85144 
85146  : QueueFamilyProperties( *reinterpret_cast<QueueFamilyProperties const *>( &rhs ) )
85147  {
85148  }
85149 
85150  QueueFamilyProperties & operator=( QueueFamilyProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
85151 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
85152 
85154  {
85155  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::QueueFamilyProperties const *>( &rhs );
85156  return *this;
85157  }
85158 
85160  {
85161  return *reinterpret_cast<const VkQueueFamilyProperties *>( this );
85162  }
85163 
85165  {
85166  return *reinterpret_cast<VkQueueFamilyProperties *>( this );
85167  }
85168 
85169 #if defined( VULKAN_HPP_USE_REFLECT )
85170 # if 14 <= VULKAN_HPP_CPP_VERSION
85171  auto
85172 # else
85173  std::tuple<VULKAN_HPP_NAMESPACE::QueueFlags const &, uint32_t const &, uint32_t const &, VULKAN_HPP_NAMESPACE::Extent3D const &>
85174 # endif
85175  reflect() const VULKAN_HPP_NOEXCEPT
85176  {
85177  return std::tie( queueFlags, queueCount, timestampValidBits, minImageTransferGranularity );
85178  }
85179 #endif
85180 
85181 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
85182  auto operator<=>( QueueFamilyProperties const & ) const = default;
85183 #else
85185  {
85186 # if defined( VULKAN_HPP_USE_REFLECT )
85187  return this->reflect() == rhs.reflect();
85188 # else
85189  return ( queueFlags == rhs.queueFlags ) && ( queueCount == rhs.queueCount ) && ( timestampValidBits == rhs.timestampValidBits ) &&
85190  ( minImageTransferGranularity == rhs.minImageTransferGranularity );
85191 # endif
85192  }
85193 
85195  {
85196  return !operator==( rhs );
85197  }
85198 #endif
85199 
85200  public:
85202  uint32_t queueCount = {};
85203  uint32_t timestampValidBits = {};
85204  VULKAN_HPP_NAMESPACE::Extent3D minImageTransferGranularity = {};
85205  };
85206 
85208  {
85210 
85211  static const bool allowDuplicate = false;
85212  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eQueueFamilyProperties2;
85213 
85214 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
85216  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
85217  : pNext( pNext_ )
85218  , queueFamilyProperties( queueFamilyProperties_ )
85219  {
85220  }
85221 
85222  VULKAN_HPP_CONSTEXPR QueueFamilyProperties2( QueueFamilyProperties2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
85223 
85225  : QueueFamilyProperties2( *reinterpret_cast<QueueFamilyProperties2 const *>( &rhs ) )
85226  {
85227  }
85228 
85229  QueueFamilyProperties2 & operator=( QueueFamilyProperties2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
85230 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
85231 
85233  {
85234  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2 const *>( &rhs );
85235  return *this;
85236  }
85237 
85239  {
85240  return *reinterpret_cast<const VkQueueFamilyProperties2 *>( this );
85241  }
85242 
85244  {
85245  return *reinterpret_cast<VkQueueFamilyProperties2 *>( this );
85246  }
85247 
85248 #if defined( VULKAN_HPP_USE_REFLECT )
85249 # if 14 <= VULKAN_HPP_CPP_VERSION
85250  auto
85251 # else
85252  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::QueueFamilyProperties const &>
85253 # endif
85254  reflect() const VULKAN_HPP_NOEXCEPT
85255  {
85256  return std::tie( sType, pNext, queueFamilyProperties );
85257  }
85258 #endif
85259 
85260 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
85261  auto operator<=>( QueueFamilyProperties2 const & ) const = default;
85262 #else
85264  {
85265 # if defined( VULKAN_HPP_USE_REFLECT )
85266  return this->reflect() == rhs.reflect();
85267 # else
85268  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( queueFamilyProperties == rhs.queueFamilyProperties );
85269 # endif
85270  }
85271 
85273  {
85274  return !operator==( rhs );
85275  }
85276 #endif
85277 
85278  public:
85279  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eQueueFamilyProperties2;
85280  void * pNext = {};
85282  };
85283 
85284  template <>
85286  {
85288  };
85290 
85291 #if defined( VK_ENABLE_BETA_EXTENSIONS )
85292  struct QueueFamilyQueryResultStatusPropertiesKHR
85293  {
85295 
85296  static const bool allowDuplicate = false;
85297  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eQueueFamilyQueryResultStatusPropertiesKHR;
85298 
85299 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
85300  VULKAN_HPP_CONSTEXPR QueueFamilyQueryResultStatusPropertiesKHR( VULKAN_HPP_NAMESPACE::Bool32 queryResultStatusSupport_ = {},
85301  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
85302  : pNext( pNext_ )
85303  , queryResultStatusSupport( queryResultStatusSupport_ )
85304  {
85305  }
85306 
85307  VULKAN_HPP_CONSTEXPR QueueFamilyQueryResultStatusPropertiesKHR( QueueFamilyQueryResultStatusPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
85308 
85309  QueueFamilyQueryResultStatusPropertiesKHR( VkQueueFamilyQueryResultStatusPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
85310  : QueueFamilyQueryResultStatusPropertiesKHR( *reinterpret_cast<QueueFamilyQueryResultStatusPropertiesKHR const *>( &rhs ) )
85311  {
85312  }
85313 
85314  QueueFamilyQueryResultStatusPropertiesKHR & operator=( QueueFamilyQueryResultStatusPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
85315 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
85316 
85317  QueueFamilyQueryResultStatusPropertiesKHR & operator=( VkQueueFamilyQueryResultStatusPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
85318  {
85319  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::QueueFamilyQueryResultStatusPropertiesKHR const *>( &rhs );
85320  return *this;
85321  }
85322 
85324  {
85325  return *reinterpret_cast<const VkQueueFamilyQueryResultStatusPropertiesKHR *>( this );
85326  }
85327 
85329  {
85330  return *reinterpret_cast<VkQueueFamilyQueryResultStatusPropertiesKHR *>( this );
85331  }
85332 
85333 # if defined( VULKAN_HPP_USE_REFLECT )
85334 # if 14 <= VULKAN_HPP_CPP_VERSION
85335  auto
85336 # else
85337  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
85338 # endif
85339  reflect() const VULKAN_HPP_NOEXCEPT
85340  {
85341  return std::tie( sType, pNext, queryResultStatusSupport );
85342  }
85343 # endif
85344 
85345 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
85346  auto operator<=>( QueueFamilyQueryResultStatusPropertiesKHR const & ) const = default;
85347 # else
85348  bool operator==( QueueFamilyQueryResultStatusPropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
85349  {
85350 # if defined( VULKAN_HPP_USE_REFLECT )
85351  return this->reflect() == rhs.reflect();
85352 # else
85353  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( queryResultStatusSupport == rhs.queryResultStatusSupport );
85354 # endif
85355  }
85356 
85357  bool operator!=( QueueFamilyQueryResultStatusPropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
85358  {
85359  return !operator==( rhs );
85360  }
85361 # endif
85362 
85363  public:
85364  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eQueueFamilyQueryResultStatusPropertiesKHR;
85365  void * pNext = {};
85366  VULKAN_HPP_NAMESPACE::Bool32 queryResultStatusSupport = {};
85367  };
85368 
85369  template <>
85370  struct CppType<StructureType, StructureType::eQueueFamilyQueryResultStatusPropertiesKHR>
85371  {
85372  using Type = QueueFamilyQueryResultStatusPropertiesKHR;
85373  };
85374 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
85375 
85376 #if defined( VK_ENABLE_BETA_EXTENSIONS )
85377  struct QueueFamilyVideoPropertiesKHR
85378  {
85379  using NativeType = VkQueueFamilyVideoPropertiesKHR;
85380 
85381  static const bool allowDuplicate = false;
85382  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eQueueFamilyVideoPropertiesKHR;
85383 
85384 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
85385  VULKAN_HPP_CONSTEXPR QueueFamilyVideoPropertiesKHR( VULKAN_HPP_NAMESPACE::VideoCodecOperationFlagsKHR videoCodecOperations_ = {},
85386  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
85387  : pNext( pNext_ )
85388  , videoCodecOperations( videoCodecOperations_ )
85389  {
85390  }
85391 
85392  VULKAN_HPP_CONSTEXPR QueueFamilyVideoPropertiesKHR( QueueFamilyVideoPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
85393 
85394  QueueFamilyVideoPropertiesKHR( VkQueueFamilyVideoPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
85395  : QueueFamilyVideoPropertiesKHR( *reinterpret_cast<QueueFamilyVideoPropertiesKHR const *>( &rhs ) )
85396  {
85397  }
85398 
85399  QueueFamilyVideoPropertiesKHR & operator=( QueueFamilyVideoPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
85400 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
85401 
85402  QueueFamilyVideoPropertiesKHR & operator=( VkQueueFamilyVideoPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
85403  {
85404  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::QueueFamilyVideoPropertiesKHR const *>( &rhs );
85405  return *this;
85406  }
85407 
85408  operator VkQueueFamilyVideoPropertiesKHR const &() const VULKAN_HPP_NOEXCEPT
85409  {
85410  return *reinterpret_cast<const VkQueueFamilyVideoPropertiesKHR *>( this );
85411  }
85412 
85414  {
85415  return *reinterpret_cast<VkQueueFamilyVideoPropertiesKHR *>( this );
85416  }
85417 
85418 # if defined( VULKAN_HPP_USE_REFLECT )
85419 # if 14 <= VULKAN_HPP_CPP_VERSION
85420  auto
85421 # else
85422  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::VideoCodecOperationFlagsKHR const &>
85423 # endif
85424  reflect() const VULKAN_HPP_NOEXCEPT
85425  {
85426  return std::tie( sType, pNext, videoCodecOperations );
85427  }
85428 # endif
85429 
85430 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
85431  auto operator<=>( QueueFamilyVideoPropertiesKHR const & ) const = default;
85432 # else
85433  bool operator==( QueueFamilyVideoPropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
85434  {
85435 # if defined( VULKAN_HPP_USE_REFLECT )
85436  return this->reflect() == rhs.reflect();
85437 # else
85438  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( videoCodecOperations == rhs.videoCodecOperations );
85439 # endif
85440  }
85441 
85442  bool operator!=( QueueFamilyVideoPropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
85443  {
85444  return !operator==( rhs );
85445  }
85446 # endif
85447 
85448  public:
85449  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eQueueFamilyVideoPropertiesKHR;
85450  void * pNext = {};
85451  VULKAN_HPP_NAMESPACE::VideoCodecOperationFlagsKHR videoCodecOperations = {};
85452  };
85453 
85454  template <>
85455  struct CppType<StructureType, StructureType::eQueueFamilyVideoPropertiesKHR>
85456  {
85457  using Type = QueueFamilyVideoPropertiesKHR;
85458  };
85459 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
85460 
85462  {
85464 
85465  static const bool allowDuplicate = false;
85466  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRayTracingShaderGroupCreateInfoKHR;
85467 
85468 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
85471  uint32_t generalShader_ = {},
85472  uint32_t closestHitShader_ = {},
85473  uint32_t anyHitShader_ = {},
85474  uint32_t intersectionShader_ = {},
85475  const void * pShaderGroupCaptureReplayHandle_ = {},
85476  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
85477  : pNext( pNext_ )
85478  , type( type_ )
85479  , generalShader( generalShader_ )
85480  , closestHitShader( closestHitShader_ )
85481  , anyHitShader( anyHitShader_ )
85482  , intersectionShader( intersectionShader_ )
85483  , pShaderGroupCaptureReplayHandle( pShaderGroupCaptureReplayHandle_ )
85484  {
85485  }
85486 
85487  VULKAN_HPP_CONSTEXPR RayTracingShaderGroupCreateInfoKHR( RayTracingShaderGroupCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
85488 
85490  : RayTracingShaderGroupCreateInfoKHR( *reinterpret_cast<RayTracingShaderGroupCreateInfoKHR const *>( &rhs ) )
85491  {
85492  }
85493 
85495 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
85496 
85498  {
85499  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoKHR const *>( &rhs );
85500  return *this;
85501  }
85502 
85503 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
85505  {
85506  pNext = pNext_;
85507  return *this;
85508  }
85509 
85511  {
85512  type = type_;
85513  return *this;
85514  }
85515 
85517  {
85518  generalShader = generalShader_;
85519  return *this;
85520  }
85521 
85523  {
85524  closestHitShader = closestHitShader_;
85525  return *this;
85526  }
85527 
85529  {
85530  anyHitShader = anyHitShader_;
85531  return *this;
85532  }
85533 
85535  {
85536  intersectionShader = intersectionShader_;
85537  return *this;
85538  }
85539 
85541  setPShaderGroupCaptureReplayHandle( const void * pShaderGroupCaptureReplayHandle_ ) VULKAN_HPP_NOEXCEPT
85542  {
85543  pShaderGroupCaptureReplayHandle = pShaderGroupCaptureReplayHandle_;
85544  return *this;
85545  }
85546 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
85547 
85549  {
85550  return *reinterpret_cast<const VkRayTracingShaderGroupCreateInfoKHR *>( this );
85551  }
85552 
85554  {
85555  return *reinterpret_cast<VkRayTracingShaderGroupCreateInfoKHR *>( this );
85556  }
85557 
85558 #if defined( VULKAN_HPP_USE_REFLECT )
85559 # if 14 <= VULKAN_HPP_CPP_VERSION
85560  auto
85561 # else
85562  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
85563  const void * const &,
85565  uint32_t const &,
85566  uint32_t const &,
85567  uint32_t const &,
85568  uint32_t const &,
85569  const void * const &>
85570 # endif
85571  reflect() const VULKAN_HPP_NOEXCEPT
85572  {
85573  return std::tie( sType, pNext, type, generalShader, closestHitShader, anyHitShader, intersectionShader, pShaderGroupCaptureReplayHandle );
85574  }
85575 #endif
85576 
85577 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
85578  auto operator<=>( RayTracingShaderGroupCreateInfoKHR const & ) const = default;
85579 #else
85581  {
85582 # if defined( VULKAN_HPP_USE_REFLECT )
85583  return this->reflect() == rhs.reflect();
85584 # else
85585  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( type == rhs.type ) && ( generalShader == rhs.generalShader ) &&
85586  ( closestHitShader == rhs.closestHitShader ) && ( anyHitShader == rhs.anyHitShader ) && ( intersectionShader == rhs.intersectionShader ) &&
85587  ( pShaderGroupCaptureReplayHandle == rhs.pShaderGroupCaptureReplayHandle );
85588 # endif
85589  }
85590 
85592  {
85593  return !operator==( rhs );
85594  }
85595 #endif
85596 
85597  public:
85598  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eRayTracingShaderGroupCreateInfoKHR;
85599  const void * pNext = {};
85601  uint32_t generalShader = {};
85602  uint32_t closestHitShader = {};
85603  uint32_t anyHitShader = {};
85604  uint32_t intersectionShader = {};
85605  const void * pShaderGroupCaptureReplayHandle = {};
85606  };
85607 
85608  template <>
85610  {
85612  };
85613 
85615  {
85617 
85618  static const bool allowDuplicate = false;
85619  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRayTracingPipelineInterfaceCreateInfoKHR;
85620 
85621 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
85622  VULKAN_HPP_CONSTEXPR RayTracingPipelineInterfaceCreateInfoKHR( uint32_t maxPipelineRayPayloadSize_ = {},
85623  uint32_t maxPipelineRayHitAttributeSize_ = {},
85624  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
85625  : pNext( pNext_ )
85626  , maxPipelineRayPayloadSize( maxPipelineRayPayloadSize_ )
85627  , maxPipelineRayHitAttributeSize( maxPipelineRayHitAttributeSize_ )
85628  {
85629  }
85630 
85631  VULKAN_HPP_CONSTEXPR RayTracingPipelineInterfaceCreateInfoKHR( RayTracingPipelineInterfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
85632 
85634  : RayTracingPipelineInterfaceCreateInfoKHR( *reinterpret_cast<RayTracingPipelineInterfaceCreateInfoKHR const *>( &rhs ) )
85635  {
85636  }
85637 
85639 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
85640 
85642  {
85643  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RayTracingPipelineInterfaceCreateInfoKHR const *>( &rhs );
85644  return *this;
85645  }
85646 
85647 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
85649  {
85650  pNext = pNext_;
85651  return *this;
85652  }
85653 
85655  {
85656  maxPipelineRayPayloadSize = maxPipelineRayPayloadSize_;
85657  return *this;
85658  }
85659 
85661  setMaxPipelineRayHitAttributeSize( uint32_t maxPipelineRayHitAttributeSize_ ) VULKAN_HPP_NOEXCEPT
85662  {
85663  maxPipelineRayHitAttributeSize = maxPipelineRayHitAttributeSize_;
85664  return *this;
85665  }
85666 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
85667 
85669  {
85670  return *reinterpret_cast<const VkRayTracingPipelineInterfaceCreateInfoKHR *>( this );
85671  }
85672 
85674  {
85675  return *reinterpret_cast<VkRayTracingPipelineInterfaceCreateInfoKHR *>( this );
85676  }
85677 
85678 #if defined( VULKAN_HPP_USE_REFLECT )
85679 # if 14 <= VULKAN_HPP_CPP_VERSION
85680  auto
85681 # else
85682  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &, uint32_t const &>
85683 # endif
85684  reflect() const VULKAN_HPP_NOEXCEPT
85685  {
85686  return std::tie( sType, pNext, maxPipelineRayPayloadSize, maxPipelineRayHitAttributeSize );
85687  }
85688 #endif
85689 
85690 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
85691  auto operator<=>( RayTracingPipelineInterfaceCreateInfoKHR const & ) const = default;
85692 #else
85694  {
85695 # if defined( VULKAN_HPP_USE_REFLECT )
85696  return this->reflect() == rhs.reflect();
85697 # else
85698  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxPipelineRayPayloadSize == rhs.maxPipelineRayPayloadSize ) &&
85699  ( maxPipelineRayHitAttributeSize == rhs.maxPipelineRayHitAttributeSize );
85700 # endif
85701  }
85702 
85704  {
85705  return !operator==( rhs );
85706  }
85707 #endif
85708 
85709  public:
85710  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eRayTracingPipelineInterfaceCreateInfoKHR;
85711  const void * pNext = {};
85712  uint32_t maxPipelineRayPayloadSize = {};
85713  uint32_t maxPipelineRayHitAttributeSize = {};
85714  };
85715 
85716  template <>
85718  {
85720  };
85721 
85723  {
85725 
85726  static const bool allowDuplicate = false;
85727  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRayTracingPipelineCreateInfoKHR;
85728 
85729 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
85731  uint32_t stageCount_ = {},
85733  uint32_t groupCount_ = {},
85735  uint32_t maxPipelineRayRecursionDepth_ = {},
85736  const VULKAN_HPP_NAMESPACE::PipelineLibraryCreateInfoKHR * pLibraryInfo_ = {},
85738  const VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateInfo * pDynamicState_ = {},
85740  VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle_ = {},
85741  int32_t basePipelineIndex_ = {},
85742  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
85743  : pNext( pNext_ )
85744  , flags( flags_ )
85745  , stageCount( stageCount_ )
85746  , pStages( pStages_ )
85747  , groupCount( groupCount_ )
85748  , pGroups( pGroups_ )
85749  , maxPipelineRayRecursionDepth( maxPipelineRayRecursionDepth_ )
85750  , pLibraryInfo( pLibraryInfo_ )
85751  , pLibraryInterface( pLibraryInterface_ )
85752  , pDynamicState( pDynamicState_ )
85753  , layout( layout_ )
85754  , basePipelineHandle( basePipelineHandle_ )
85755  , basePipelineIndex( basePipelineIndex_ )
85756  {
85757  }
85758 
85759  VULKAN_HPP_CONSTEXPR RayTracingPipelineCreateInfoKHR( RayTracingPipelineCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
85760 
85762  : RayTracingPipelineCreateInfoKHR( *reinterpret_cast<RayTracingPipelineCreateInfoKHR const *>( &rhs ) )
85763  {
85764  }
85765 
85766 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
85771  uint32_t maxPipelineRayRecursionDepth_ = {},
85772  const VULKAN_HPP_NAMESPACE::PipelineLibraryCreateInfoKHR * pLibraryInfo_ = {},
85774  const VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateInfo * pDynamicState_ = {},
85776  VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle_ = {},
85777  int32_t basePipelineIndex_ = {},
85778  const void * pNext_ = nullptr )
85779  : pNext( pNext_ )
85780  , flags( flags_ )
85781  , stageCount( static_cast<uint32_t>( stages_.size() ) )
85782  , pStages( stages_.data() )
85783  , groupCount( static_cast<uint32_t>( groups_.size() ) )
85784  , pGroups( groups_.data() )
85785  , maxPipelineRayRecursionDepth( maxPipelineRayRecursionDepth_ )
85786  , pLibraryInfo( pLibraryInfo_ )
85787  , pLibraryInterface( pLibraryInterface_ )
85788  , pDynamicState( pDynamicState_ )
85789  , layout( layout_ )
85790  , basePipelineHandle( basePipelineHandle_ )
85791  , basePipelineIndex( basePipelineIndex_ )
85792  {
85793  }
85794 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
85795 
85796  RayTracingPipelineCreateInfoKHR & operator=( RayTracingPipelineCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
85797 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
85798 
85800  {
85801  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR const *>( &rhs );
85802  return *this;
85803  }
85804 
85805 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
85807  {
85808  pNext = pNext_;
85809  return *this;
85810  }
85811 
85813  {
85814  flags = flags_;
85815  return *this;
85816  }
85817 
85819  {
85820  stageCount = stageCount_;
85821  return *this;
85822  }
85823 
85826  {
85827  pStages = pStages_;
85828  return *this;
85829  }
85830 
85831 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
85834  {
85835  stageCount = static_cast<uint32_t>( stages_.size() );
85836  pStages = stages_.data();
85837  return *this;
85838  }
85839 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
85840 
85842  {
85843  groupCount = groupCount_;
85844  return *this;
85845  }
85846 
85849  {
85850  pGroups = pGroups_;
85851  return *this;
85852  }
85853 
85854 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
85857  {
85858  groupCount = static_cast<uint32_t>( groups_.size() );
85859  pGroups = groups_.data();
85860  return *this;
85861  }
85862 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
85863 
85865  {
85866  maxPipelineRayRecursionDepth = maxPipelineRayRecursionDepth_;
85867  return *this;
85868  }
85869 
85872  {
85873  pLibraryInfo = pLibraryInfo_;
85874  return *this;
85875  }
85876 
85879  {
85880  pLibraryInterface = pLibraryInterface_;
85881  return *this;
85882  }
85883 
85886  {
85887  pDynamicState = pDynamicState_;
85888  return *this;
85889  }
85890 
85892  {
85893  layout = layout_;
85894  return *this;
85895  }
85896 
85898  {
85899  basePipelineHandle = basePipelineHandle_;
85900  return *this;
85901  }
85902 
85904  {
85905  basePipelineIndex = basePipelineIndex_;
85906  return *this;
85907  }
85908 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
85909 
85911  {
85912  return *reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( this );
85913  }
85914 
85916  {
85917  return *reinterpret_cast<VkRayTracingPipelineCreateInfoKHR *>( this );
85918  }
85919 
85920 #if defined( VULKAN_HPP_USE_REFLECT )
85921 # if 14 <= VULKAN_HPP_CPP_VERSION
85922  auto
85923 # else
85924  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
85925  const void * const &,
85927  uint32_t const &,
85929  uint32_t const &,
85931  uint32_t const &,
85937  int32_t const &>
85938 # endif
85939  reflect() const VULKAN_HPP_NOEXCEPT
85940  {
85941  return std::tie( sType,
85942  pNext,
85943  flags,
85944  stageCount,
85945  pStages,
85946  groupCount,
85947  pGroups,
85948  maxPipelineRayRecursionDepth,
85949  pLibraryInfo,
85950  pLibraryInterface,
85951  pDynamicState,
85952  layout,
85953  basePipelineHandle,
85954  basePipelineIndex );
85955  }
85956 #endif
85957 
85958 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
85959  auto operator<=>( RayTracingPipelineCreateInfoKHR const & ) const = default;
85960 #else
85962  {
85963 # if defined( VULKAN_HPP_USE_REFLECT )
85964  return this->reflect() == rhs.reflect();
85965 # else
85966  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( stageCount == rhs.stageCount ) && ( pStages == rhs.pStages ) &&
85967  ( groupCount == rhs.groupCount ) && ( pGroups == rhs.pGroups ) && ( maxPipelineRayRecursionDepth == rhs.maxPipelineRayRecursionDepth ) &&
85968  ( pLibraryInfo == rhs.pLibraryInfo ) && ( pLibraryInterface == rhs.pLibraryInterface ) && ( pDynamicState == rhs.pDynamicState ) &&
85969  ( layout == rhs.layout ) && ( basePipelineHandle == rhs.basePipelineHandle ) && ( basePipelineIndex == rhs.basePipelineIndex );
85970 # endif
85971  }
85972 
85974  {
85975  return !operator==( rhs );
85976  }
85977 #endif
85978 
85979  public:
85980  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eRayTracingPipelineCreateInfoKHR;
85981  const void * pNext = {};
85983  uint32_t stageCount = {};
85985  uint32_t groupCount = {};
85987  uint32_t maxPipelineRayRecursionDepth = {};
85992  VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle = {};
85993  int32_t basePipelineIndex = {};
85994  };
85995 
85996  template <>
85998  {
86000  };
86001 
86003  {
86005 
86006  static const bool allowDuplicate = false;
86007  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRayTracingShaderGroupCreateInfoNV;
86008 
86009 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
86012  uint32_t generalShader_ = {},
86013  uint32_t closestHitShader_ = {},
86014  uint32_t anyHitShader_ = {},
86015  uint32_t intersectionShader_ = {},
86016  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
86017  : pNext( pNext_ )
86018  , type( type_ )
86019  , generalShader( generalShader_ )
86020  , closestHitShader( closestHitShader_ )
86021  , anyHitShader( anyHitShader_ )
86022  , intersectionShader( intersectionShader_ )
86023  {
86024  }
86025 
86026  VULKAN_HPP_CONSTEXPR RayTracingShaderGroupCreateInfoNV( RayTracingShaderGroupCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
86027 
86029  : RayTracingShaderGroupCreateInfoNV( *reinterpret_cast<RayTracingShaderGroupCreateInfoNV const *>( &rhs ) )
86030  {
86031  }
86032 
86034 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
86035 
86037  {
86038  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoNV const *>( &rhs );
86039  return *this;
86040  }
86041 
86042 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
86044  {
86045  pNext = pNext_;
86046  return *this;
86047  }
86048 
86050  {
86051  type = type_;
86052  return *this;
86053  }
86054 
86056  {
86057  generalShader = generalShader_;
86058  return *this;
86059  }
86060 
86062  {
86063  closestHitShader = closestHitShader_;
86064  return *this;
86065  }
86066 
86068  {
86069  anyHitShader = anyHitShader_;
86070  return *this;
86071  }
86072 
86074  {
86075  intersectionShader = intersectionShader_;
86076  return *this;
86077  }
86078 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
86079 
86081  {
86082  return *reinterpret_cast<const VkRayTracingShaderGroupCreateInfoNV *>( this );
86083  }
86084 
86086  {
86087  return *reinterpret_cast<VkRayTracingShaderGroupCreateInfoNV *>( this );
86088  }
86089 
86090 #if defined( VULKAN_HPP_USE_REFLECT )
86091 # if 14 <= VULKAN_HPP_CPP_VERSION
86092  auto
86093 # else
86094  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
86095  const void * const &,
86097  uint32_t const &,
86098  uint32_t const &,
86099  uint32_t const &,
86100  uint32_t const &>
86101 # endif
86102  reflect() const VULKAN_HPP_NOEXCEPT
86103  {
86104  return std::tie( sType, pNext, type, generalShader, closestHitShader, anyHitShader, intersectionShader );
86105  }
86106 #endif
86107 
86108 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
86109  auto operator<=>( RayTracingShaderGroupCreateInfoNV const & ) const = default;
86110 #else
86112  {
86113 # if defined( VULKAN_HPP_USE_REFLECT )
86114  return this->reflect() == rhs.reflect();
86115 # else
86116  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( type == rhs.type ) && ( generalShader == rhs.generalShader ) &&
86117  ( closestHitShader == rhs.closestHitShader ) && ( anyHitShader == rhs.anyHitShader ) && ( intersectionShader == rhs.intersectionShader );
86118 # endif
86119  }
86120 
86122  {
86123  return !operator==( rhs );
86124  }
86125 #endif
86126 
86127  public:
86128  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eRayTracingShaderGroupCreateInfoNV;
86129  const void * pNext = {};
86131  uint32_t generalShader = {};
86132  uint32_t closestHitShader = {};
86133  uint32_t anyHitShader = {};
86134  uint32_t intersectionShader = {};
86135  };
86136 
86137  template <>
86139  {
86141  };
86142 
86144  {
86146 
86147  static const bool allowDuplicate = false;
86148  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRayTracingPipelineCreateInfoNV;
86149 
86150 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
86152  uint32_t stageCount_ = {},
86154  uint32_t groupCount_ = {},
86156  uint32_t maxRecursionDepth_ = {},
86158  VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle_ = {},
86159  int32_t basePipelineIndex_ = {},
86160  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
86161  : pNext( pNext_ )
86162  , flags( flags_ )
86163  , stageCount( stageCount_ )
86164  , pStages( pStages_ )
86165  , groupCount( groupCount_ )
86166  , pGroups( pGroups_ )
86167  , maxRecursionDepth( maxRecursionDepth_ )
86168  , layout( layout_ )
86169  , basePipelineHandle( basePipelineHandle_ )
86170  , basePipelineIndex( basePipelineIndex_ )
86171  {
86172  }
86173 
86174  VULKAN_HPP_CONSTEXPR RayTracingPipelineCreateInfoNV( RayTracingPipelineCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
86175 
86177  : RayTracingPipelineCreateInfoNV( *reinterpret_cast<RayTracingPipelineCreateInfoNV const *>( &rhs ) )
86178  {
86179  }
86180 
86181 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
86186  uint32_t maxRecursionDepth_ = {},
86188  VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle_ = {},
86189  int32_t basePipelineIndex_ = {},
86190  const void * pNext_ = nullptr )
86191  : pNext( pNext_ )
86192  , flags( flags_ )
86193  , stageCount( static_cast<uint32_t>( stages_.size() ) )
86194  , pStages( stages_.data() )
86195  , groupCount( static_cast<uint32_t>( groups_.size() ) )
86196  , pGroups( groups_.data() )
86197  , maxRecursionDepth( maxRecursionDepth_ )
86198  , layout( layout_ )
86199  , basePipelineHandle( basePipelineHandle_ )
86200  , basePipelineIndex( basePipelineIndex_ )
86201  {
86202  }
86203 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
86204 
86205  RayTracingPipelineCreateInfoNV & operator=( RayTracingPipelineCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
86206 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
86207 
86209  {
86210  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV const *>( &rhs );
86211  return *this;
86212  }
86213 
86214 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
86216  {
86217  pNext = pNext_;
86218  return *this;
86219  }
86220 
86222  {
86223  flags = flags_;
86224  return *this;
86225  }
86226 
86228  {
86229  stageCount = stageCount_;
86230  return *this;
86231  }
86232 
86235  {
86236  pStages = pStages_;
86237  return *this;
86238  }
86239 
86240 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
86243  {
86244  stageCount = static_cast<uint32_t>( stages_.size() );
86245  pStages = stages_.data();
86246  return *this;
86247  }
86248 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
86249 
86251  {
86252  groupCount = groupCount_;
86253  return *this;
86254  }
86255 
86258  {
86259  pGroups = pGroups_;
86260  return *this;
86261  }
86262 
86263 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
86266  {
86267  groupCount = static_cast<uint32_t>( groups_.size() );
86268  pGroups = groups_.data();
86269  return *this;
86270  }
86271 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
86272 
86274  {
86275  maxRecursionDepth = maxRecursionDepth_;
86276  return *this;
86277  }
86278 
86280  {
86281  layout = layout_;
86282  return *this;
86283  }
86284 
86286  {
86287  basePipelineHandle = basePipelineHandle_;
86288  return *this;
86289  }
86290 
86292  {
86293  basePipelineIndex = basePipelineIndex_;
86294  return *this;
86295  }
86296 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
86297 
86299  {
86300  return *reinterpret_cast<const VkRayTracingPipelineCreateInfoNV *>( this );
86301  }
86302 
86304  {
86305  return *reinterpret_cast<VkRayTracingPipelineCreateInfoNV *>( this );
86306  }
86307 
86308 #if defined( VULKAN_HPP_USE_REFLECT )
86309 # if 14 <= VULKAN_HPP_CPP_VERSION
86310  auto
86311 # else
86312  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
86313  const void * const &,
86315  uint32_t const &,
86317  uint32_t const &,
86319  uint32_t const &,
86322  int32_t const &>
86323 # endif
86324  reflect() const VULKAN_HPP_NOEXCEPT
86325  {
86326  return std::tie( sType, pNext, flags, stageCount, pStages, groupCount, pGroups, maxRecursionDepth, layout, basePipelineHandle, basePipelineIndex );
86327  }
86328 #endif
86329 
86330 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
86331  auto operator<=>( RayTracingPipelineCreateInfoNV const & ) const = default;
86332 #else
86334  {
86335 # if defined( VULKAN_HPP_USE_REFLECT )
86336  return this->reflect() == rhs.reflect();
86337 # else
86338  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( stageCount == rhs.stageCount ) && ( pStages == rhs.pStages ) &&
86339  ( groupCount == rhs.groupCount ) && ( pGroups == rhs.pGroups ) && ( maxRecursionDepth == rhs.maxRecursionDepth ) && ( layout == rhs.layout ) &&
86340  ( basePipelineHandle == rhs.basePipelineHandle ) && ( basePipelineIndex == rhs.basePipelineIndex );
86341 # endif
86342  }
86343 
86345  {
86346  return !operator==( rhs );
86347  }
86348 #endif
86349 
86350  public:
86351  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eRayTracingPipelineCreateInfoNV;
86352  const void * pNext = {};
86354  uint32_t stageCount = {};
86356  uint32_t groupCount = {};
86358  uint32_t maxRecursionDepth = {};
86360  VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle = {};
86361  int32_t basePipelineIndex = {};
86362  };
86363 
86364  template <>
86366  {
86368  };
86369 
86371  {
86373 
86374 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
86375  VULKAN_HPP_CONSTEXPR RefreshCycleDurationGOOGLE( uint64_t refreshDuration_ = {} ) VULKAN_HPP_NOEXCEPT : refreshDuration( refreshDuration_ ) {}
86376 
86377  VULKAN_HPP_CONSTEXPR RefreshCycleDurationGOOGLE( RefreshCycleDurationGOOGLE const & rhs ) VULKAN_HPP_NOEXCEPT = default;
86378 
86380  : RefreshCycleDurationGOOGLE( *reinterpret_cast<RefreshCycleDurationGOOGLE const *>( &rhs ) )
86381  {
86382  }
86383 
86384  RefreshCycleDurationGOOGLE & operator=( RefreshCycleDurationGOOGLE const & rhs ) VULKAN_HPP_NOEXCEPT = default;
86385 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
86386 
86388  {
86389  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RefreshCycleDurationGOOGLE const *>( &rhs );
86390  return *this;
86391  }
86392 
86394  {
86395  return *reinterpret_cast<const VkRefreshCycleDurationGOOGLE *>( this );
86396  }
86397 
86399  {
86400  return *reinterpret_cast<VkRefreshCycleDurationGOOGLE *>( this );
86401  }
86402 
86403 #if defined( VULKAN_HPP_USE_REFLECT )
86404 # if 14 <= VULKAN_HPP_CPP_VERSION
86405  auto
86406 # else
86407  std::tuple<uint64_t const &>
86408 # endif
86409  reflect() const VULKAN_HPP_NOEXCEPT
86410  {
86411  return std::tie( refreshDuration );
86412  }
86413 #endif
86414 
86415 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
86416  auto operator<=>( RefreshCycleDurationGOOGLE const & ) const = default;
86417 #else
86419  {
86420 # if defined( VULKAN_HPP_USE_REFLECT )
86421  return this->reflect() == rhs.reflect();
86422 # else
86423  return ( refreshDuration == rhs.refreshDuration );
86424 # endif
86425  }
86426 
86428  {
86429  return !operator==( rhs );
86430  }
86431 #endif
86432 
86433  public:
86434  uint64_t refreshDuration = {};
86435  };
86436 
86438  {
86440 
86441  static const bool allowDuplicate = false;
86442  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderPassAttachmentBeginInfo;
86443 
86444 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
86445  VULKAN_HPP_CONSTEXPR RenderPassAttachmentBeginInfo( uint32_t attachmentCount_ = {},
86446  const VULKAN_HPP_NAMESPACE::ImageView * pAttachments_ = {},
86447  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
86448  : pNext( pNext_ )
86449  , attachmentCount( attachmentCount_ )
86450  , pAttachments( pAttachments_ )
86451  {
86452  }
86453 
86454  VULKAN_HPP_CONSTEXPR RenderPassAttachmentBeginInfo( RenderPassAttachmentBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
86455 
86457  : RenderPassAttachmentBeginInfo( *reinterpret_cast<RenderPassAttachmentBeginInfo const *>( &rhs ) )
86458  {
86459  }
86460 
86461 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
86463  const void * pNext_ = nullptr )
86464  : pNext( pNext_ ), attachmentCount( static_cast<uint32_t>( attachments_.size() ) ), pAttachments( attachments_.data() )
86465  {
86466  }
86467 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
86468 
86470 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
86471 
86473  {
86474  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderPassAttachmentBeginInfo const *>( &rhs );
86475  return *this;
86476  }
86477 
86478 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
86480  {
86481  pNext = pNext_;
86482  return *this;
86483  }
86484 
86486  {
86487  attachmentCount = attachmentCount_;
86488  return *this;
86489  }
86490 
86492  {
86493  pAttachments = pAttachments_;
86494  return *this;
86495  }
86496 
86497 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
86500  {
86501  attachmentCount = static_cast<uint32_t>( attachments_.size() );
86502  pAttachments = attachments_.data();
86503  return *this;
86504  }
86505 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
86506 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
86507 
86509  {
86510  return *reinterpret_cast<const VkRenderPassAttachmentBeginInfo *>( this );
86511  }
86512 
86514  {
86515  return *reinterpret_cast<VkRenderPassAttachmentBeginInfo *>( this );
86516  }
86517 
86518 #if defined( VULKAN_HPP_USE_REFLECT )
86519 # if 14 <= VULKAN_HPP_CPP_VERSION
86520  auto
86521 # else
86522  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &, const VULKAN_HPP_NAMESPACE::ImageView * const &>
86523 # endif
86524  reflect() const VULKAN_HPP_NOEXCEPT
86525  {
86526  return std::tie( sType, pNext, attachmentCount, pAttachments );
86527  }
86528 #endif
86529 
86530 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
86531  auto operator<=>( RenderPassAttachmentBeginInfo const & ) const = default;
86532 #else
86534  {
86535 # if defined( VULKAN_HPP_USE_REFLECT )
86536  return this->reflect() == rhs.reflect();
86537 # else
86538  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( attachmentCount == rhs.attachmentCount ) && ( pAttachments == rhs.pAttachments );
86539 # endif
86540  }
86541 
86543  {
86544  return !operator==( rhs );
86545  }
86546 #endif
86547 
86548  public:
86549  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eRenderPassAttachmentBeginInfo;
86550  const void * pNext = {};
86551  uint32_t attachmentCount = {};
86552  const VULKAN_HPP_NAMESPACE::ImageView * pAttachments = {};
86553  };
86554 
86555  template <>
86557  {
86559  };
86561 
86563  {
86565 
86566  static const bool allowDuplicate = false;
86567  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderPassBeginInfo;
86568 
86569 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
86571  VULKAN_HPP_NAMESPACE::Framebuffer framebuffer_ = {},
86572  VULKAN_HPP_NAMESPACE::Rect2D renderArea_ = {},
86573  uint32_t clearValueCount_ = {},
86574  const VULKAN_HPP_NAMESPACE::ClearValue * pClearValues_ = {},
86575  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
86576  : pNext( pNext_ )
86577  , renderPass( renderPass_ )
86578  , framebuffer( framebuffer_ )
86579  , renderArea( renderArea_ )
86580  , clearValueCount( clearValueCount_ )
86581  , pClearValues( pClearValues_ )
86582  {
86583  }
86584 
86585  VULKAN_HPP_CONSTEXPR_14 RenderPassBeginInfo( RenderPassBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
86586 
86587  RenderPassBeginInfo( VkRenderPassBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT : RenderPassBeginInfo( *reinterpret_cast<RenderPassBeginInfo const *>( &rhs ) )
86588  {
86589  }
86590 
86591 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
86593  VULKAN_HPP_NAMESPACE::Framebuffer framebuffer_,
86594  VULKAN_HPP_NAMESPACE::Rect2D renderArea_,
86596  const void * pNext_ = nullptr )
86597  : pNext( pNext_ )
86598  , renderPass( renderPass_ )
86599  , framebuffer( framebuffer_ )
86600  , renderArea( renderArea_ )
86601  , clearValueCount( static_cast<uint32_t>( clearValues_.size() ) )
86602  , pClearValues( clearValues_.data() )
86603  {
86604  }
86605 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
86606 
86607  RenderPassBeginInfo & operator=( RenderPassBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
86608 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
86609 
86611  {
86612  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderPassBeginInfo const *>( &rhs );
86613  return *this;
86614  }
86615 
86616 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
86618  {
86619  pNext = pNext_;
86620  return *this;
86621  }
86622 
86624  {
86625  renderPass = renderPass_;
86626  return *this;
86627  }
86628 
86630  {
86631  framebuffer = framebuffer_;
86632  return *this;
86633  }
86634 
86636  {
86637  renderArea = renderArea_;
86638  return *this;
86639  }
86640 
86642  {
86643  clearValueCount = clearValueCount_;
86644  return *this;
86645  }
86646 
86648  {
86649  pClearValues = pClearValues_;
86650  return *this;
86651  }
86652 
86653 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
86656  {
86657  clearValueCount = static_cast<uint32_t>( clearValues_.size() );
86658  pClearValues = clearValues_.data();
86659  return *this;
86660  }
86661 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
86662 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
86663 
86665  {
86666  return *reinterpret_cast<const VkRenderPassBeginInfo *>( this );
86667  }
86668 
86670  {
86671  return *reinterpret_cast<VkRenderPassBeginInfo *>( this );
86672  }
86673 
86674 #if defined( VULKAN_HPP_USE_REFLECT )
86675 # if 14 <= VULKAN_HPP_CPP_VERSION
86676  auto
86677 # else
86678  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
86679  const void * const &,
86683  uint32_t const &,
86684  const VULKAN_HPP_NAMESPACE::ClearValue * const &>
86685 # endif
86686  reflect() const VULKAN_HPP_NOEXCEPT
86687  {
86688  return std::tie( sType, pNext, renderPass, framebuffer, renderArea, clearValueCount, pClearValues );
86689  }
86690 #endif
86691 
86692 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
86693  auto operator<=>( RenderPassBeginInfo const & ) const = default;
86694 #else
86696  {
86697 # if defined( VULKAN_HPP_USE_REFLECT )
86698  return this->reflect() == rhs.reflect();
86699 # else
86700  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( renderPass == rhs.renderPass ) && ( framebuffer == rhs.framebuffer ) &&
86701  ( renderArea == rhs.renderArea ) && ( clearValueCount == rhs.clearValueCount ) && ( pClearValues == rhs.pClearValues );
86702 # endif
86703  }
86704 
86706  {
86707  return !operator==( rhs );
86708  }
86709 #endif
86710 
86711  public:
86712  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eRenderPassBeginInfo;
86713  const void * pNext = {};
86717  uint32_t clearValueCount = {};
86718  const VULKAN_HPP_NAMESPACE::ClearValue * pClearValues = {};
86719  };
86720 
86721  template <>
86723  {
86725  };
86726 
86728  {
86730 
86731 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
86734  uint32_t inputAttachmentCount_ = {},
86735  const VULKAN_HPP_NAMESPACE::AttachmentReference * pInputAttachments_ = {},
86736  uint32_t colorAttachmentCount_ = {},
86737  const VULKAN_HPP_NAMESPACE::AttachmentReference * pColorAttachments_ = {},
86738  const VULKAN_HPP_NAMESPACE::AttachmentReference * pResolveAttachments_ = {},
86739  const VULKAN_HPP_NAMESPACE::AttachmentReference * pDepthStencilAttachment_ = {},
86740  uint32_t preserveAttachmentCount_ = {},
86741  const uint32_t * pPreserveAttachments_ = {} ) VULKAN_HPP_NOEXCEPT
86742  : flags( flags_ )
86743  , pipelineBindPoint( pipelineBindPoint_ )
86744  , inputAttachmentCount( inputAttachmentCount_ )
86745  , pInputAttachments( pInputAttachments_ )
86746  , colorAttachmentCount( colorAttachmentCount_ )
86747  , pColorAttachments( pColorAttachments_ )
86748  , pResolveAttachments( pResolveAttachments_ )
86749  , pDepthStencilAttachment( pDepthStencilAttachment_ )
86750  , preserveAttachmentCount( preserveAttachmentCount_ )
86751  , pPreserveAttachments( pPreserveAttachments_ )
86752  {
86753  }
86754 
86755  VULKAN_HPP_CONSTEXPR SubpassDescription( SubpassDescription const & rhs ) VULKAN_HPP_NOEXCEPT = default;
86756 
86757  SubpassDescription( VkSubpassDescription const & rhs ) VULKAN_HPP_NOEXCEPT : SubpassDescription( *reinterpret_cast<SubpassDescription const *>( &rhs ) ) {}
86758 
86759 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
86761  VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_,
86765  const VULKAN_HPP_NAMESPACE::AttachmentReference * pDepthStencilAttachment_ = {},
86766  VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & preserveAttachments_ = {} )
86767  : flags( flags_ )
86768  , pipelineBindPoint( pipelineBindPoint_ )
86769  , inputAttachmentCount( static_cast<uint32_t>( inputAttachments_.size() ) )
86770  , pInputAttachments( inputAttachments_.data() )
86771  , colorAttachmentCount( static_cast<uint32_t>( colorAttachments_.size() ) )
86772  , pColorAttachments( colorAttachments_.data() )
86773  , pResolveAttachments( resolveAttachments_.data() )
86774  , pDepthStencilAttachment( pDepthStencilAttachment_ )
86775  , preserveAttachmentCount( static_cast<uint32_t>( preserveAttachments_.size() ) )
86776  , pPreserveAttachments( preserveAttachments_.data() )
86777  {
86778 # ifdef VULKAN_HPP_NO_EXCEPTIONS
86779  VULKAN_HPP_ASSERT( resolveAttachments_.empty() || ( colorAttachments_.size() == resolveAttachments_.size() ) );
86780 # else
86781  if ( !resolveAttachments_.empty() && ( colorAttachments_.size() != resolveAttachments_.size() ) )
86782  {
86783  throw LogicError(
86785  "::SubpassDescription::SubpassDescription: !resolveAttachments_.empty() && ( colorAttachments_.size() != resolveAttachments_.size() )" );
86786  }
86787 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/
86788  }
86789 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
86790 
86791  SubpassDescription & operator=( SubpassDescription const & rhs ) VULKAN_HPP_NOEXCEPT = default;
86792 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
86793 
86795  {
86796  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SubpassDescription const *>( &rhs );
86797  return *this;
86798  }
86799 
86800 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
86802  {
86803  flags = flags_;
86804  return *this;
86805  }
86806 
86808  {
86809  pipelineBindPoint = pipelineBindPoint_;
86810  return *this;
86811  }
86812 
86814  {
86815  inputAttachmentCount = inputAttachmentCount_;
86816  return *this;
86817  }
86818 
86821  {
86822  pInputAttachments = pInputAttachments_;
86823  return *this;
86824  }
86825 
86826 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
86829  {
86830  inputAttachmentCount = static_cast<uint32_t>( inputAttachments_.size() );
86831  pInputAttachments = inputAttachments_.data();
86832  return *this;
86833  }
86834 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
86835 
86837  {
86838  colorAttachmentCount = colorAttachmentCount_;
86839  return *this;
86840  }
86841 
86844  {
86845  pColorAttachments = pColorAttachments_;
86846  return *this;
86847  }
86848 
86849 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
86852  {
86853  colorAttachmentCount = static_cast<uint32_t>( colorAttachments_.size() );
86854  pColorAttachments = colorAttachments_.data();
86855  return *this;
86856  }
86857 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
86858 
86861  {
86862  pResolveAttachments = pResolveAttachments_;
86863  return *this;
86864  }
86865 
86866 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
86869  {
86870  colorAttachmentCount = static_cast<uint32_t>( resolveAttachments_.size() );
86871  pResolveAttachments = resolveAttachments_.data();
86872  return *this;
86873  }
86874 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
86875 
86878  {
86879  pDepthStencilAttachment = pDepthStencilAttachment_;
86880  return *this;
86881  }
86882 
86884  {
86885  preserveAttachmentCount = preserveAttachmentCount_;
86886  return *this;
86887  }
86888 
86890  {
86891  pPreserveAttachments = pPreserveAttachments_;
86892  return *this;
86893  }
86894 
86895 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
86898  {
86899  preserveAttachmentCount = static_cast<uint32_t>( preserveAttachments_.size() );
86900  pPreserveAttachments = preserveAttachments_.data();
86901  return *this;
86902  }
86903 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
86904 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
86905 
86907  {
86908  return *reinterpret_cast<const VkSubpassDescription *>( this );
86909  }
86910 
86912  {
86913  return *reinterpret_cast<VkSubpassDescription *>( this );
86914  }
86915 
86916 #if defined( VULKAN_HPP_USE_REFLECT )
86917 # if 14 <= VULKAN_HPP_CPP_VERSION
86918  auto
86919 # else
86922  uint32_t const &,
86924  uint32_t const &,
86928  uint32_t const &,
86929  const uint32_t * const &>
86930 # endif
86931  reflect() const VULKAN_HPP_NOEXCEPT
86932  {
86933  return std::tie( flags,
86934  pipelineBindPoint,
86935  inputAttachmentCount,
86936  pInputAttachments,
86937  colorAttachmentCount,
86938  pColorAttachments,
86939  pResolveAttachments,
86940  pDepthStencilAttachment,
86941  preserveAttachmentCount,
86942  pPreserveAttachments );
86943  }
86944 #endif
86945 
86946 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
86947  auto operator<=>( SubpassDescription const & ) const = default;
86948 #else
86950  {
86951 # if defined( VULKAN_HPP_USE_REFLECT )
86952  return this->reflect() == rhs.reflect();
86953 # else
86954  return ( flags == rhs.flags ) && ( pipelineBindPoint == rhs.pipelineBindPoint ) && ( inputAttachmentCount == rhs.inputAttachmentCount ) &&
86955  ( pInputAttachments == rhs.pInputAttachments ) && ( colorAttachmentCount == rhs.colorAttachmentCount ) &&
86956  ( pColorAttachments == rhs.pColorAttachments ) && ( pResolveAttachments == rhs.pResolveAttachments ) &&
86957  ( pDepthStencilAttachment == rhs.pDepthStencilAttachment ) && ( preserveAttachmentCount == rhs.preserveAttachmentCount ) &&
86958  ( pPreserveAttachments == rhs.pPreserveAttachments );
86959 # endif
86960  }
86961 
86963  {
86964  return !operator==( rhs );
86965  }
86966 #endif
86967 
86968  public:
86971  uint32_t inputAttachmentCount = {};
86972  const VULKAN_HPP_NAMESPACE::AttachmentReference * pInputAttachments = {};
86973  uint32_t colorAttachmentCount = {};
86974  const VULKAN_HPP_NAMESPACE::AttachmentReference * pColorAttachments = {};
86975  const VULKAN_HPP_NAMESPACE::AttachmentReference * pResolveAttachments = {};
86976  const VULKAN_HPP_NAMESPACE::AttachmentReference * pDepthStencilAttachment = {};
86977  uint32_t preserveAttachmentCount = {};
86978  const uint32_t * pPreserveAttachments = {};
86979  };
86980 
86982  {
86984 
86985 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
86986  VULKAN_HPP_CONSTEXPR SubpassDependency( uint32_t srcSubpass_ = {},
86987  uint32_t dstSubpass_ = {},
86988  VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask_ = {},
86989  VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask_ = {},
86990  VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask_ = {},
86991  VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_ = {},
86993  : srcSubpass( srcSubpass_ )
86994  , dstSubpass( dstSubpass_ )
86995  , srcStageMask( srcStageMask_ )
86996  , dstStageMask( dstStageMask_ )
86997  , srcAccessMask( srcAccessMask_ )
86998  , dstAccessMask( dstAccessMask_ )
86999  , dependencyFlags( dependencyFlags_ )
87000  {
87001  }
87002 
87003  VULKAN_HPP_CONSTEXPR SubpassDependency( SubpassDependency const & rhs ) VULKAN_HPP_NOEXCEPT = default;
87004 
87005  SubpassDependency( VkSubpassDependency const & rhs ) VULKAN_HPP_NOEXCEPT : SubpassDependency( *reinterpret_cast<SubpassDependency const *>( &rhs ) ) {}
87006 
87007  SubpassDependency & operator=( SubpassDependency const & rhs ) VULKAN_HPP_NOEXCEPT = default;
87008 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
87009 
87011  {
87012  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SubpassDependency const *>( &rhs );
87013  return *this;
87014  }
87015 
87016 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
87018  {
87019  srcSubpass = srcSubpass_;
87020  return *this;
87021  }
87022 
87024  {
87025  dstSubpass = dstSubpass_;
87026  return *this;
87027  }
87028 
87030  {
87031  srcStageMask = srcStageMask_;
87032  return *this;
87033  }
87034 
87036  {
87037  dstStageMask = dstStageMask_;
87038  return *this;
87039  }
87040 
87042  {
87043  srcAccessMask = srcAccessMask_;
87044  return *this;
87045  }
87046 
87048  {
87049  dstAccessMask = dstAccessMask_;
87050  return *this;
87051  }
87052 
87054  {
87055  dependencyFlags = dependencyFlags_;
87056  return *this;
87057  }
87058 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
87059 
87060  operator VkSubpassDependency const &() const VULKAN_HPP_NOEXCEPT
87061  {
87062  return *reinterpret_cast<const VkSubpassDependency *>( this );
87063  }
87064 
87066  {
87067  return *reinterpret_cast<VkSubpassDependency *>( this );
87068  }
87069 
87070 #if defined( VULKAN_HPP_USE_REFLECT )
87071 # if 14 <= VULKAN_HPP_CPP_VERSION
87072  auto
87073 # else
87074  std::tuple<uint32_t const &,
87075  uint32_t const &,
87081 # endif
87082  reflect() const VULKAN_HPP_NOEXCEPT
87083  {
87084  return std::tie( srcSubpass, dstSubpass, srcStageMask, dstStageMask, srcAccessMask, dstAccessMask, dependencyFlags );
87085  }
87086 #endif
87087 
87088 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
87089  auto operator<=>( SubpassDependency const & ) const = default;
87090 #else
87092  {
87093 # if defined( VULKAN_HPP_USE_REFLECT )
87094  return this->reflect() == rhs.reflect();
87095 # else
87096  return ( srcSubpass == rhs.srcSubpass ) && ( dstSubpass == rhs.dstSubpass ) && ( srcStageMask == rhs.srcStageMask ) &&
87097  ( dstStageMask == rhs.dstStageMask ) && ( srcAccessMask == rhs.srcAccessMask ) && ( dstAccessMask == rhs.dstAccessMask ) &&
87098  ( dependencyFlags == rhs.dependencyFlags );
87099 # endif
87100  }
87101 
87103  {
87104  return !operator==( rhs );
87105  }
87106 #endif
87107 
87108  public:
87109  uint32_t srcSubpass = {};
87110  uint32_t dstSubpass = {};
87116  };
87117 
87119  {
87121 
87122  static const bool allowDuplicate = false;
87123  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderPassCreateInfo;
87124 
87125 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
87127  uint32_t attachmentCount_ = {},
87128  const VULKAN_HPP_NAMESPACE::AttachmentDescription * pAttachments_ = {},
87129  uint32_t subpassCount_ = {},
87130  const VULKAN_HPP_NAMESPACE::SubpassDescription * pSubpasses_ = {},
87131  uint32_t dependencyCount_ = {},
87132  const VULKAN_HPP_NAMESPACE::SubpassDependency * pDependencies_ = {},
87133  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
87134  : pNext( pNext_ )
87135  , flags( flags_ )
87136  , attachmentCount( attachmentCount_ )
87137  , pAttachments( pAttachments_ )
87138  , subpassCount( subpassCount_ )
87139  , pSubpasses( pSubpasses_ )
87140  , dependencyCount( dependencyCount_ )
87141  , pDependencies( pDependencies_ )
87142  {
87143  }
87144 
87145  VULKAN_HPP_CONSTEXPR RenderPassCreateInfo( RenderPassCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
87146 
87148  : RenderPassCreateInfo( *reinterpret_cast<RenderPassCreateInfo const *>( &rhs ) )
87149  {
87150  }
87151 
87152 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
87157  const void * pNext_ = nullptr )
87158  : pNext( pNext_ )
87159  , flags( flags_ )
87160  , attachmentCount( static_cast<uint32_t>( attachments_.size() ) )
87161  , pAttachments( attachments_.data() )
87162  , subpassCount( static_cast<uint32_t>( subpasses_.size() ) )
87163  , pSubpasses( subpasses_.data() )
87164  , dependencyCount( static_cast<uint32_t>( dependencies_.size() ) )
87165  , pDependencies( dependencies_.data() )
87166  {
87167  }
87168 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
87169 
87170  RenderPassCreateInfo & operator=( RenderPassCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
87171 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
87172 
87174  {
87175  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderPassCreateInfo const *>( &rhs );
87176  return *this;
87177  }
87178 
87179 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
87181  {
87182  pNext = pNext_;
87183  return *this;
87184  }
87185 
87187  {
87188  flags = flags_;
87189  return *this;
87190  }
87191 
87193  {
87194  attachmentCount = attachmentCount_;
87195  return *this;
87196  }
87197 
87199  {
87200  pAttachments = pAttachments_;
87201  return *this;
87202  }
87203 
87204 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
87207  {
87208  attachmentCount = static_cast<uint32_t>( attachments_.size() );
87209  pAttachments = attachments_.data();
87210  return *this;
87211  }
87212 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
87213 
87215  {
87216  subpassCount = subpassCount_;
87217  return *this;
87218  }
87219 
87221  {
87222  pSubpasses = pSubpasses_;
87223  return *this;
87224  }
87225 
87226 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
87229  {
87230  subpassCount = static_cast<uint32_t>( subpasses_.size() );
87231  pSubpasses = subpasses_.data();
87232  return *this;
87233  }
87234 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
87235 
87237  {
87238  dependencyCount = dependencyCount_;
87239  return *this;
87240  }
87241 
87243  {
87244  pDependencies = pDependencies_;
87245  return *this;
87246  }
87247 
87248 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
87251  {
87252  dependencyCount = static_cast<uint32_t>( dependencies_.size() );
87253  pDependencies = dependencies_.data();
87254  return *this;
87255  }
87256 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
87257 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
87258 
87260  {
87261  return *reinterpret_cast<const VkRenderPassCreateInfo *>( this );
87262  }
87263 
87265  {
87266  return *reinterpret_cast<VkRenderPassCreateInfo *>( this );
87267  }
87268 
87269 #if defined( VULKAN_HPP_USE_REFLECT )
87270 # if 14 <= VULKAN_HPP_CPP_VERSION
87271  auto
87272 # else
87273  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
87274  const void * const &,
87276  uint32_t const &,
87278  uint32_t const &,
87280  uint32_t const &,
87282 # endif
87283  reflect() const VULKAN_HPP_NOEXCEPT
87284  {
87285  return std::tie( sType, pNext, flags, attachmentCount, pAttachments, subpassCount, pSubpasses, dependencyCount, pDependencies );
87286  }
87287 #endif
87288 
87289 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
87290  auto operator<=>( RenderPassCreateInfo const & ) const = default;
87291 #else
87293  {
87294 # if defined( VULKAN_HPP_USE_REFLECT )
87295  return this->reflect() == rhs.reflect();
87296 # else
87297  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( attachmentCount == rhs.attachmentCount ) &&
87298  ( pAttachments == rhs.pAttachments ) && ( subpassCount == rhs.subpassCount ) && ( pSubpasses == rhs.pSubpasses ) &&
87299  ( dependencyCount == rhs.dependencyCount ) && ( pDependencies == rhs.pDependencies );
87300 # endif
87301  }
87302 
87304  {
87305  return !operator==( rhs );
87306  }
87307 #endif
87308 
87309  public:
87310  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eRenderPassCreateInfo;
87311  const void * pNext = {};
87313  uint32_t attachmentCount = {};
87315  uint32_t subpassCount = {};
87317  uint32_t dependencyCount = {};
87318  const VULKAN_HPP_NAMESPACE::SubpassDependency * pDependencies = {};
87319  };
87320 
87321  template <>
87323  {
87325  };
87326 
87328  {
87330 
87331  static const bool allowDuplicate = false;
87332  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSubpassDescription2;
87333 
87334 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
87337  uint32_t viewMask_ = {},
87338  uint32_t inputAttachmentCount_ = {},
87339  const VULKAN_HPP_NAMESPACE::AttachmentReference2 * pInputAttachments_ = {},
87340  uint32_t colorAttachmentCount_ = {},
87341  const VULKAN_HPP_NAMESPACE::AttachmentReference2 * pColorAttachments_ = {},
87342  const VULKAN_HPP_NAMESPACE::AttachmentReference2 * pResolveAttachments_ = {},
87343  const VULKAN_HPP_NAMESPACE::AttachmentReference2 * pDepthStencilAttachment_ = {},
87344  uint32_t preserveAttachmentCount_ = {},
87345  const uint32_t * pPreserveAttachments_ = {},
87346  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
87347  : pNext( pNext_ )
87348  , flags( flags_ )
87349  , pipelineBindPoint( pipelineBindPoint_ )
87350  , viewMask( viewMask_ )
87351  , inputAttachmentCount( inputAttachmentCount_ )
87352  , pInputAttachments( pInputAttachments_ )
87353  , colorAttachmentCount( colorAttachmentCount_ )
87354  , pColorAttachments( pColorAttachments_ )
87355  , pResolveAttachments( pResolveAttachments_ )
87356  , pDepthStencilAttachment( pDepthStencilAttachment_ )
87357  , preserveAttachmentCount( preserveAttachmentCount_ )
87358  , pPreserveAttachments( pPreserveAttachments_ )
87359  {
87360  }
87361 
87362  VULKAN_HPP_CONSTEXPR SubpassDescription2( SubpassDescription2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
87363 
87364  SubpassDescription2( VkSubpassDescription2 const & rhs ) VULKAN_HPP_NOEXCEPT : SubpassDescription2( *reinterpret_cast<SubpassDescription2 const *>( &rhs ) )
87365  {
87366  }
87367 
87368 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
87370  VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_,
87371  uint32_t viewMask_,
87375  const VULKAN_HPP_NAMESPACE::AttachmentReference2 * pDepthStencilAttachment_ = {},
87376  VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & preserveAttachments_ = {},
87377  const void * pNext_ = nullptr )
87378  : pNext( pNext_ )
87379  , flags( flags_ )
87380  , pipelineBindPoint( pipelineBindPoint_ )
87381  , viewMask( viewMask_ )
87382  , inputAttachmentCount( static_cast<uint32_t>( inputAttachments_.size() ) )
87383  , pInputAttachments( inputAttachments_.data() )
87384  , colorAttachmentCount( static_cast<uint32_t>( colorAttachments_.size() ) )
87385  , pColorAttachments( colorAttachments_.data() )
87386  , pResolveAttachments( resolveAttachments_.data() )
87387  , pDepthStencilAttachment( pDepthStencilAttachment_ )
87388  , preserveAttachmentCount( static_cast<uint32_t>( preserveAttachments_.size() ) )
87389  , pPreserveAttachments( preserveAttachments_.data() )
87390  {
87391 # ifdef VULKAN_HPP_NO_EXCEPTIONS
87392  VULKAN_HPP_ASSERT( resolveAttachments_.empty() || ( colorAttachments_.size() == resolveAttachments_.size() ) );
87393 # else
87394  if ( !resolveAttachments_.empty() && ( colorAttachments_.size() != resolveAttachments_.size() ) )
87395  {
87396  throw LogicError(
87398  "::SubpassDescription2::SubpassDescription2: !resolveAttachments_.empty() && ( colorAttachments_.size() != resolveAttachments_.size() )" );
87399  }
87400 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/
87401  }
87402 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
87403 
87404  SubpassDescription2 & operator=( SubpassDescription2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
87405 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
87406 
87408  {
87409  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SubpassDescription2 const *>( &rhs );
87410  return *this;
87411  }
87412 
87413 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
87415  {
87416  pNext = pNext_;
87417  return *this;
87418  }
87419 
87421  {
87422  flags = flags_;
87423  return *this;
87424  }
87425 
87427  {
87428  pipelineBindPoint = pipelineBindPoint_;
87429  return *this;
87430  }
87431 
87433  {
87434  viewMask = viewMask_;
87435  return *this;
87436  }
87437 
87439  {
87440  inputAttachmentCount = inputAttachmentCount_;
87441  return *this;
87442  }
87443 
87446  {
87447  pInputAttachments = pInputAttachments_;
87448  return *this;
87449  }
87450 
87451 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
87454  {
87455  inputAttachmentCount = static_cast<uint32_t>( inputAttachments_.size() );
87456  pInputAttachments = inputAttachments_.data();
87457  return *this;
87458  }
87459 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
87460 
87462  {
87463  colorAttachmentCount = colorAttachmentCount_;
87464  return *this;
87465  }
87466 
87469  {
87470  pColorAttachments = pColorAttachments_;
87471  return *this;
87472  }
87473 
87474 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
87477  {
87478  colorAttachmentCount = static_cast<uint32_t>( colorAttachments_.size() );
87479  pColorAttachments = colorAttachments_.data();
87480  return *this;
87481  }
87482 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
87483 
87486  {
87487  pResolveAttachments = pResolveAttachments_;
87488  return *this;
87489  }
87490 
87491 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
87494  {
87495  colorAttachmentCount = static_cast<uint32_t>( resolveAttachments_.size() );
87496  pResolveAttachments = resolveAttachments_.data();
87497  return *this;
87498  }
87499 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
87500 
87503  {
87504  pDepthStencilAttachment = pDepthStencilAttachment_;
87505  return *this;
87506  }
87507 
87509  {
87510  preserveAttachmentCount = preserveAttachmentCount_;
87511  return *this;
87512  }
87513 
87515  {
87516  pPreserveAttachments = pPreserveAttachments_;
87517  return *this;
87518  }
87519 
87520 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
87523  {
87524  preserveAttachmentCount = static_cast<uint32_t>( preserveAttachments_.size() );
87525  pPreserveAttachments = preserveAttachments_.data();
87526  return *this;
87527  }
87528 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
87529 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
87530 
87532  {
87533  return *reinterpret_cast<const VkSubpassDescription2 *>( this );
87534  }
87535 
87537  {
87538  return *reinterpret_cast<VkSubpassDescription2 *>( this );
87539  }
87540 
87541 #if defined( VULKAN_HPP_USE_REFLECT )
87542 # if 14 <= VULKAN_HPP_CPP_VERSION
87543  auto
87544 # else
87545  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
87546  const void * const &,
87549  uint32_t const &,
87550  uint32_t const &,
87552  uint32_t const &,
87556  uint32_t const &,
87557  const uint32_t * const &>
87558 # endif
87559  reflect() const VULKAN_HPP_NOEXCEPT
87560  {
87561  return std::tie( sType,
87562  pNext,
87563  flags,
87564  pipelineBindPoint,
87565  viewMask,
87566  inputAttachmentCount,
87567  pInputAttachments,
87568  colorAttachmentCount,
87569  pColorAttachments,
87570  pResolveAttachments,
87571  pDepthStencilAttachment,
87572  preserveAttachmentCount,
87573  pPreserveAttachments );
87574  }
87575 #endif
87576 
87577 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
87578  auto operator<=>( SubpassDescription2 const & ) const = default;
87579 #else
87581  {
87582 # if defined( VULKAN_HPP_USE_REFLECT )
87583  return this->reflect() == rhs.reflect();
87584 # else
87585  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( pipelineBindPoint == rhs.pipelineBindPoint ) &&
87586  ( viewMask == rhs.viewMask ) && ( inputAttachmentCount == rhs.inputAttachmentCount ) && ( pInputAttachments == rhs.pInputAttachments ) &&
87587  ( colorAttachmentCount == rhs.colorAttachmentCount ) && ( pColorAttachments == rhs.pColorAttachments ) &&
87588  ( pResolveAttachments == rhs.pResolveAttachments ) && ( pDepthStencilAttachment == rhs.pDepthStencilAttachment ) &&
87589  ( preserveAttachmentCount == rhs.preserveAttachmentCount ) && ( pPreserveAttachments == rhs.pPreserveAttachments );
87590 # endif
87591  }
87592 
87594  {
87595  return !operator==( rhs );
87596  }
87597 #endif
87598 
87599  public:
87600  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSubpassDescription2;
87601  const void * pNext = {};
87604  uint32_t viewMask = {};
87605  uint32_t inputAttachmentCount = {};
87606  const VULKAN_HPP_NAMESPACE::AttachmentReference2 * pInputAttachments = {};
87607  uint32_t colorAttachmentCount = {};
87608  const VULKAN_HPP_NAMESPACE::AttachmentReference2 * pColorAttachments = {};
87609  const VULKAN_HPP_NAMESPACE::AttachmentReference2 * pResolveAttachments = {};
87610  const VULKAN_HPP_NAMESPACE::AttachmentReference2 * pDepthStencilAttachment = {};
87611  uint32_t preserveAttachmentCount = {};
87612  const uint32_t * pPreserveAttachments = {};
87613  };
87614 
87615  template <>
87617  {
87619  };
87621 
87623  {
87625 
87626  static const bool allowDuplicate = false;
87627  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSubpassDependency2;
87628 
87629 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
87630  VULKAN_HPP_CONSTEXPR SubpassDependency2( uint32_t srcSubpass_ = {},
87631  uint32_t dstSubpass_ = {},
87632  VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask_ = {},
87633  VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask_ = {},
87634  VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask_ = {},
87635  VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_ = {},
87636  VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags_ = {},
87637  int32_t viewOffset_ = {},
87638  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
87639  : pNext( pNext_ )
87640  , srcSubpass( srcSubpass_ )
87641  , dstSubpass( dstSubpass_ )
87642  , srcStageMask( srcStageMask_ )
87643  , dstStageMask( dstStageMask_ )
87644  , srcAccessMask( srcAccessMask_ )
87645  , dstAccessMask( dstAccessMask_ )
87646  , dependencyFlags( dependencyFlags_ )
87647  , viewOffset( viewOffset_ )
87648  {
87649  }
87650 
87651  VULKAN_HPP_CONSTEXPR SubpassDependency2( SubpassDependency2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
87652 
87653  SubpassDependency2( VkSubpassDependency2 const & rhs ) VULKAN_HPP_NOEXCEPT : SubpassDependency2( *reinterpret_cast<SubpassDependency2 const *>( &rhs ) ) {}
87654 
87655  SubpassDependency2 & operator=( SubpassDependency2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
87656 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
87657 
87659  {
87660  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SubpassDependency2 const *>( &rhs );
87661  return *this;
87662  }
87663 
87664 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
87666  {
87667  pNext = pNext_;
87668  return *this;
87669  }
87670 
87672  {
87673  srcSubpass = srcSubpass_;
87674  return *this;
87675  }
87676 
87678  {
87679  dstSubpass = dstSubpass_;
87680  return *this;
87681  }
87682 
87684  {
87685  srcStageMask = srcStageMask_;
87686  return *this;
87687  }
87688 
87690  {
87691  dstStageMask = dstStageMask_;
87692  return *this;
87693  }
87694 
87696  {
87697  srcAccessMask = srcAccessMask_;
87698  return *this;
87699  }
87700 
87702  {
87703  dstAccessMask = dstAccessMask_;
87704  return *this;
87705  }
87706 
87708  {
87709  dependencyFlags = dependencyFlags_;
87710  return *this;
87711  }
87712 
87714  {
87715  viewOffset = viewOffset_;
87716  return *this;
87717  }
87718 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
87719 
87721  {
87722  return *reinterpret_cast<const VkSubpassDependency2 *>( this );
87723  }
87724 
87726  {
87727  return *reinterpret_cast<VkSubpassDependency2 *>( this );
87728  }
87729 
87730 #if defined( VULKAN_HPP_USE_REFLECT )
87731 # if 14 <= VULKAN_HPP_CPP_VERSION
87732  auto
87733 # else
87734  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
87735  const void * const &,
87736  uint32_t const &,
87737  uint32_t const &,
87743  int32_t const &>
87744 # endif
87745  reflect() const VULKAN_HPP_NOEXCEPT
87746  {
87747  return std::tie( sType, pNext, srcSubpass, dstSubpass, srcStageMask, dstStageMask, srcAccessMask, dstAccessMask, dependencyFlags, viewOffset );
87748  }
87749 #endif
87750 
87751 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
87752  auto operator<=>( SubpassDependency2 const & ) const = default;
87753 #else
87755  {
87756 # if defined( VULKAN_HPP_USE_REFLECT )
87757  return this->reflect() == rhs.reflect();
87758 # else
87759  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( srcSubpass == rhs.srcSubpass ) && ( dstSubpass == rhs.dstSubpass ) &&
87760  ( srcStageMask == rhs.srcStageMask ) && ( dstStageMask == rhs.dstStageMask ) && ( srcAccessMask == rhs.srcAccessMask ) &&
87761  ( dstAccessMask == rhs.dstAccessMask ) && ( dependencyFlags == rhs.dependencyFlags ) && ( viewOffset == rhs.viewOffset );
87762 # endif
87763  }
87764 
87766  {
87767  return !operator==( rhs );
87768  }
87769 #endif
87770 
87771  public:
87772  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSubpassDependency2;
87773  const void * pNext = {};
87774  uint32_t srcSubpass = {};
87775  uint32_t dstSubpass = {};
87781  int32_t viewOffset = {};
87782  };
87783 
87784  template <>
87786  {
87788  };
87790 
87792  {
87794 
87795  static const bool allowDuplicate = false;
87796  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderPassCreateInfo2;
87797 
87798 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
87800  uint32_t attachmentCount_ = {},
87801  const VULKAN_HPP_NAMESPACE::AttachmentDescription2 * pAttachments_ = {},
87802  uint32_t subpassCount_ = {},
87803  const VULKAN_HPP_NAMESPACE::SubpassDescription2 * pSubpasses_ = {},
87804  uint32_t dependencyCount_ = {},
87805  const VULKAN_HPP_NAMESPACE::SubpassDependency2 * pDependencies_ = {},
87806  uint32_t correlatedViewMaskCount_ = {},
87807  const uint32_t * pCorrelatedViewMasks_ = {},
87808  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
87809  : pNext( pNext_ )
87810  , flags( flags_ )
87811  , attachmentCount( attachmentCount_ )
87812  , pAttachments( pAttachments_ )
87813  , subpassCount( subpassCount_ )
87814  , pSubpasses( pSubpasses_ )
87815  , dependencyCount( dependencyCount_ )
87816  , pDependencies( pDependencies_ )
87817  , correlatedViewMaskCount( correlatedViewMaskCount_ )
87818  , pCorrelatedViewMasks( pCorrelatedViewMasks_ )
87819  {
87820  }
87821 
87822  VULKAN_HPP_CONSTEXPR RenderPassCreateInfo2( RenderPassCreateInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
87823 
87825  : RenderPassCreateInfo2( *reinterpret_cast<RenderPassCreateInfo2 const *>( &rhs ) )
87826  {
87827  }
87828 
87829 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
87834  VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & correlatedViewMasks_ = {},
87835  const void * pNext_ = nullptr )
87836  : pNext( pNext_ )
87837  , flags( flags_ )
87838  , attachmentCount( static_cast<uint32_t>( attachments_.size() ) )
87839  , pAttachments( attachments_.data() )
87840  , subpassCount( static_cast<uint32_t>( subpasses_.size() ) )
87841  , pSubpasses( subpasses_.data() )
87842  , dependencyCount( static_cast<uint32_t>( dependencies_.size() ) )
87843  , pDependencies( dependencies_.data() )
87844  , correlatedViewMaskCount( static_cast<uint32_t>( correlatedViewMasks_.size() ) )
87845  , pCorrelatedViewMasks( correlatedViewMasks_.data() )
87846  {
87847  }
87848 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
87849 
87850  RenderPassCreateInfo2 & operator=( RenderPassCreateInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
87851 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
87852 
87854  {
87855  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 const *>( &rhs );
87856  return *this;
87857  }
87858 
87859 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
87861  {
87862  pNext = pNext_;
87863  return *this;
87864  }
87865 
87867  {
87868  flags = flags_;
87869  return *this;
87870  }
87871 
87873  {
87874  attachmentCount = attachmentCount_;
87875  return *this;
87876  }
87877 
87879  {
87880  pAttachments = pAttachments_;
87881  return *this;
87882  }
87883 
87884 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
87887  {
87888  attachmentCount = static_cast<uint32_t>( attachments_.size() );
87889  pAttachments = attachments_.data();
87890  return *this;
87891  }
87892 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
87893 
87895  {
87896  subpassCount = subpassCount_;
87897  return *this;
87898  }
87899 
87901  {
87902  pSubpasses = pSubpasses_;
87903  return *this;
87904  }
87905 
87906 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
87909  {
87910  subpassCount = static_cast<uint32_t>( subpasses_.size() );
87911  pSubpasses = subpasses_.data();
87912  return *this;
87913  }
87914 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
87915 
87917  {
87918  dependencyCount = dependencyCount_;
87919  return *this;
87920  }
87921 
87923  {
87924  pDependencies = pDependencies_;
87925  return *this;
87926  }
87927 
87928 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
87931  {
87932  dependencyCount = static_cast<uint32_t>( dependencies_.size() );
87933  pDependencies = dependencies_.data();
87934  return *this;
87935  }
87936 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
87937 
87939  {
87940  correlatedViewMaskCount = correlatedViewMaskCount_;
87941  return *this;
87942  }
87943 
87945  {
87946  pCorrelatedViewMasks = pCorrelatedViewMasks_;
87947  return *this;
87948  }
87949 
87950 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
87953  {
87954  correlatedViewMaskCount = static_cast<uint32_t>( correlatedViewMasks_.size() );
87955  pCorrelatedViewMasks = correlatedViewMasks_.data();
87956  return *this;
87957  }
87958 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
87959 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
87960 
87962  {
87963  return *reinterpret_cast<const VkRenderPassCreateInfo2 *>( this );
87964  }
87965 
87967  {
87968  return *reinterpret_cast<VkRenderPassCreateInfo2 *>( this );
87969  }
87970 
87971 #if defined( VULKAN_HPP_USE_REFLECT )
87972 # if 14 <= VULKAN_HPP_CPP_VERSION
87973  auto
87974 # else
87975  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
87976  const void * const &,
87978  uint32_t const &,
87980  uint32_t const &,
87982  uint32_t const &,
87984  uint32_t const &,
87985  const uint32_t * const &>
87986 # endif
87987  reflect() const VULKAN_HPP_NOEXCEPT
87988  {
87989  return std::tie( sType,
87990  pNext,
87991  flags,
87992  attachmentCount,
87993  pAttachments,
87994  subpassCount,
87995  pSubpasses,
87996  dependencyCount,
87997  pDependencies,
87998  correlatedViewMaskCount,
87999  pCorrelatedViewMasks );
88000  }
88001 #endif
88002 
88003 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
88004  auto operator<=>( RenderPassCreateInfo2 const & ) const = default;
88005 #else
88007  {
88008 # if defined( VULKAN_HPP_USE_REFLECT )
88009  return this->reflect() == rhs.reflect();
88010 # else
88011  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( attachmentCount == rhs.attachmentCount ) &&
88012  ( pAttachments == rhs.pAttachments ) && ( subpassCount == rhs.subpassCount ) && ( pSubpasses == rhs.pSubpasses ) &&
88013  ( dependencyCount == rhs.dependencyCount ) && ( pDependencies == rhs.pDependencies ) &&
88014  ( correlatedViewMaskCount == rhs.correlatedViewMaskCount ) && ( pCorrelatedViewMasks == rhs.pCorrelatedViewMasks );
88015 # endif
88016  }
88017 
88019  {
88020  return !operator==( rhs );
88021  }
88022 #endif
88023 
88024  public:
88025  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eRenderPassCreateInfo2;
88026  const void * pNext = {};
88028  uint32_t attachmentCount = {};
88030  uint32_t subpassCount = {};
88032  uint32_t dependencyCount = {};
88033  const VULKAN_HPP_NAMESPACE::SubpassDependency2 * pDependencies = {};
88034  uint32_t correlatedViewMaskCount = {};
88035  const uint32_t * pCorrelatedViewMasks = {};
88036  };
88037 
88038  template <>
88040  {
88042  };
88044 
88046  {
88048 
88049  static const bool allowDuplicate = false;
88050  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderPassCreationControlEXT;
88051 
88052 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
88054  : pNext( pNext_ )
88055  , disallowMerging( disallowMerging_ )
88056  {
88057  }
88058 
88059  VULKAN_HPP_CONSTEXPR RenderPassCreationControlEXT( RenderPassCreationControlEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
88060 
88062  : RenderPassCreationControlEXT( *reinterpret_cast<RenderPassCreationControlEXT const *>( &rhs ) )
88063  {
88064  }
88065 
88067 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
88068 
88070  {
88071  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderPassCreationControlEXT const *>( &rhs );
88072  return *this;
88073  }
88074 
88075 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
88077  {
88078  pNext = pNext_;
88079  return *this;
88080  }
88081 
88083  {
88084  disallowMerging = disallowMerging_;
88085  return *this;
88086  }
88087 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
88088 
88090  {
88091  return *reinterpret_cast<const VkRenderPassCreationControlEXT *>( this );
88092  }
88093 
88095  {
88096  return *reinterpret_cast<VkRenderPassCreationControlEXT *>( this );
88097  }
88098 
88099 #if defined( VULKAN_HPP_USE_REFLECT )
88100 # if 14 <= VULKAN_HPP_CPP_VERSION
88101  auto
88102 # else
88103  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
88104 # endif
88105  reflect() const VULKAN_HPP_NOEXCEPT
88106  {
88107  return std::tie( sType, pNext, disallowMerging );
88108  }
88109 #endif
88110 
88111 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
88112  auto operator<=>( RenderPassCreationControlEXT const & ) const = default;
88113 #else
88115  {
88116 # if defined( VULKAN_HPP_USE_REFLECT )
88117  return this->reflect() == rhs.reflect();
88118 # else
88119  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( disallowMerging == rhs.disallowMerging );
88120 # endif
88121  }
88122 
88124  {
88125  return !operator==( rhs );
88126  }
88127 #endif
88128 
88129  public:
88130  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eRenderPassCreationControlEXT;
88131  const void * pNext = {};
88132  VULKAN_HPP_NAMESPACE::Bool32 disallowMerging = {};
88133  };
88134 
88135  template <>
88137  {
88139  };
88140 
88142  {
88144 
88145 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
88147  : postMergeSubpassCount( postMergeSubpassCount_ )
88148  {
88149  }
88150 
88151  VULKAN_HPP_CONSTEXPR RenderPassCreationFeedbackInfoEXT( RenderPassCreationFeedbackInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
88152 
88154  : RenderPassCreationFeedbackInfoEXT( *reinterpret_cast<RenderPassCreationFeedbackInfoEXT const *>( &rhs ) )
88155  {
88156  }
88157 
88159 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
88160 
88162  {
88163  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderPassCreationFeedbackInfoEXT const *>( &rhs );
88164  return *this;
88165  }
88166 
88168  {
88169  return *reinterpret_cast<const VkRenderPassCreationFeedbackInfoEXT *>( this );
88170  }
88171 
88173  {
88174  return *reinterpret_cast<VkRenderPassCreationFeedbackInfoEXT *>( this );
88175  }
88176 
88177 #if defined( VULKAN_HPP_USE_REFLECT )
88178 # if 14 <= VULKAN_HPP_CPP_VERSION
88179  auto
88180 # else
88181  std::tuple<uint32_t const &>
88182 # endif
88183  reflect() const VULKAN_HPP_NOEXCEPT
88184  {
88185  return std::tie( postMergeSubpassCount );
88186  }
88187 #endif
88188 
88189 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
88190  auto operator<=>( RenderPassCreationFeedbackInfoEXT const & ) const = default;
88191 #else
88193  {
88194 # if defined( VULKAN_HPP_USE_REFLECT )
88195  return this->reflect() == rhs.reflect();
88196 # else
88197  return ( postMergeSubpassCount == rhs.postMergeSubpassCount );
88198 # endif
88199  }
88200 
88202  {
88203  return !operator==( rhs );
88204  }
88205 #endif
88206 
88207  public:
88208  uint32_t postMergeSubpassCount = {};
88209  };
88210 
88212  {
88214 
88215  static const bool allowDuplicate = false;
88216  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderPassCreationFeedbackCreateInfoEXT;
88217 
88218 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
88220  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
88221  : pNext( pNext_ )
88222  , pRenderPassFeedback( pRenderPassFeedback_ )
88223  {
88224  }
88225 
88226  VULKAN_HPP_CONSTEXPR RenderPassCreationFeedbackCreateInfoEXT( RenderPassCreationFeedbackCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
88227 
88229  : RenderPassCreationFeedbackCreateInfoEXT( *reinterpret_cast<RenderPassCreationFeedbackCreateInfoEXT const *>( &rhs ) )
88230  {
88231  }
88232 
88234 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
88235 
88237  {
88238  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderPassCreationFeedbackCreateInfoEXT const *>( &rhs );
88239  return *this;
88240  }
88241 
88242 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
88244  {
88245  pNext = pNext_;
88246  return *this;
88247  }
88248 
88251  {
88252  pRenderPassFeedback = pRenderPassFeedback_;
88253  return *this;
88254  }
88255 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
88256 
88258  {
88259  return *reinterpret_cast<const VkRenderPassCreationFeedbackCreateInfoEXT *>( this );
88260  }
88261 
88263  {
88264  return *reinterpret_cast<VkRenderPassCreationFeedbackCreateInfoEXT *>( this );
88265  }
88266 
88267 #if defined( VULKAN_HPP_USE_REFLECT )
88268 # if 14 <= VULKAN_HPP_CPP_VERSION
88269  auto
88270 # else
88271  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::RenderPassCreationFeedbackInfoEXT * const &>
88272 # endif
88273  reflect() const VULKAN_HPP_NOEXCEPT
88274  {
88275  return std::tie( sType, pNext, pRenderPassFeedback );
88276  }
88277 #endif
88278 
88279 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
88280  auto operator<=>( RenderPassCreationFeedbackCreateInfoEXT const & ) const = default;
88281 #else
88283  {
88284 # if defined( VULKAN_HPP_USE_REFLECT )
88285  return this->reflect() == rhs.reflect();
88286 # else
88287  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pRenderPassFeedback == rhs.pRenderPassFeedback );
88288 # endif
88289  }
88290 
88292  {
88293  return !operator==( rhs );
88294  }
88295 #endif
88296 
88297  public:
88298  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eRenderPassCreationFeedbackCreateInfoEXT;
88299  const void * pNext = {};
88301  };
88302 
88303  template <>
88305  {
88307  };
88308 
88310  {
88312 
88313  static const bool allowDuplicate = false;
88314  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderPassFragmentDensityMapCreateInfoEXT;
88315 
88316 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
88318  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
88319  : pNext( pNext_ )
88320  , fragmentDensityMapAttachment( fragmentDensityMapAttachment_ )
88321  {
88322  }
88323 
88324  VULKAN_HPP_CONSTEXPR RenderPassFragmentDensityMapCreateInfoEXT( RenderPassFragmentDensityMapCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
88325 
88327  : RenderPassFragmentDensityMapCreateInfoEXT( *reinterpret_cast<RenderPassFragmentDensityMapCreateInfoEXT const *>( &rhs ) )
88328  {
88329  }
88330 
88332 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
88333 
88335  {
88336  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderPassFragmentDensityMapCreateInfoEXT const *>( &rhs );
88337  return *this;
88338  }
88339 
88340 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
88342  {
88343  pNext = pNext_;
88344  return *this;
88345  }
88346 
88349  {
88350  fragmentDensityMapAttachment = fragmentDensityMapAttachment_;
88351  return *this;
88352  }
88353 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
88354 
88356  {
88357  return *reinterpret_cast<const VkRenderPassFragmentDensityMapCreateInfoEXT *>( this );
88358  }
88359 
88361  {
88362  return *reinterpret_cast<VkRenderPassFragmentDensityMapCreateInfoEXT *>( this );
88363  }
88364 
88365 #if defined( VULKAN_HPP_USE_REFLECT )
88366 # if 14 <= VULKAN_HPP_CPP_VERSION
88367  auto
88368 # else
88369  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::AttachmentReference const &>
88370 # endif
88371  reflect() const VULKAN_HPP_NOEXCEPT
88372  {
88373  return std::tie( sType, pNext, fragmentDensityMapAttachment );
88374  }
88375 #endif
88376 
88377 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
88378  auto operator<=>( RenderPassFragmentDensityMapCreateInfoEXT const & ) const = default;
88379 #else
88381  {
88382 # if defined( VULKAN_HPP_USE_REFLECT )
88383  return this->reflect() == rhs.reflect();
88384 # else
88385  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( fragmentDensityMapAttachment == rhs.fragmentDensityMapAttachment );
88386 # endif
88387  }
88388 
88390  {
88391  return !operator==( rhs );
88392  }
88393 #endif
88394 
88395  public:
88396  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eRenderPassFragmentDensityMapCreateInfoEXT;
88397  const void * pNext = {};
88398  VULKAN_HPP_NAMESPACE::AttachmentReference fragmentDensityMapAttachment = {};
88399  };
88400 
88401  template <>
88403  {
88405  };
88406 
88408  {
88410 
88411  static const bool allowDuplicate = false;
88412  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderPassInputAttachmentAspectCreateInfo;
88413 
88414 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
88416  const VULKAN_HPP_NAMESPACE::InputAttachmentAspectReference * pAspectReferences_ = {},
88417  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
88418  : pNext( pNext_ )
88419  , aspectReferenceCount( aspectReferenceCount_ )
88420  , pAspectReferences( pAspectReferences_ )
88421  {
88422  }
88423 
88424  VULKAN_HPP_CONSTEXPR RenderPassInputAttachmentAspectCreateInfo( RenderPassInputAttachmentAspectCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
88425 
88427  : RenderPassInputAttachmentAspectCreateInfo( *reinterpret_cast<RenderPassInputAttachmentAspectCreateInfo const *>( &rhs ) )
88428  {
88429  }
88430 
88431 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
88434  const void * pNext_ = nullptr )
88435  : pNext( pNext_ ), aspectReferenceCount( static_cast<uint32_t>( aspectReferences_.size() ) ), pAspectReferences( aspectReferences_.data() )
88436  {
88437  }
88438 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
88439 
88441 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
88442 
88444  {
88445  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderPassInputAttachmentAspectCreateInfo const *>( &rhs );
88446  return *this;
88447  }
88448 
88449 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
88451  {
88452  pNext = pNext_;
88453  return *this;
88454  }
88455 
88457  {
88458  aspectReferenceCount = aspectReferenceCount_;
88459  return *this;
88460  }
88461 
88464  {
88465  pAspectReferences = pAspectReferences_;
88466  return *this;
88467  }
88468 
88469 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
88472  {
88473  aspectReferenceCount = static_cast<uint32_t>( aspectReferences_.size() );
88474  pAspectReferences = aspectReferences_.data();
88475  return *this;
88476  }
88477 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
88478 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
88479 
88481  {
88482  return *reinterpret_cast<const VkRenderPassInputAttachmentAspectCreateInfo *>( this );
88483  }
88484 
88486  {
88487  return *reinterpret_cast<VkRenderPassInputAttachmentAspectCreateInfo *>( this );
88488  }
88489 
88490 #if defined( VULKAN_HPP_USE_REFLECT )
88491 # if 14 <= VULKAN_HPP_CPP_VERSION
88492  auto
88493 # else
88494  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
88495  const void * const &,
88496  uint32_t const &,
88498 # endif
88499  reflect() const VULKAN_HPP_NOEXCEPT
88500  {
88501  return std::tie( sType, pNext, aspectReferenceCount, pAspectReferences );
88502  }
88503 #endif
88504 
88505 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
88506  auto operator<=>( RenderPassInputAttachmentAspectCreateInfo const & ) const = default;
88507 #else
88509  {
88510 # if defined( VULKAN_HPP_USE_REFLECT )
88511  return this->reflect() == rhs.reflect();
88512 # else
88513  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( aspectReferenceCount == rhs.aspectReferenceCount ) &&
88514  ( pAspectReferences == rhs.pAspectReferences );
88515 # endif
88516  }
88517 
88519  {
88520  return !operator==( rhs );
88521  }
88522 #endif
88523 
88524  public:
88525  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eRenderPassInputAttachmentAspectCreateInfo;
88526  const void * pNext = {};
88527  uint32_t aspectReferenceCount = {};
88529  };
88530 
88531  template <>
88533  {
88535  };
88537 
88539  {
88541 
88542  static const bool allowDuplicate = false;
88543  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderPassMultiviewCreateInfo;
88544 
88545 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
88547  const uint32_t * pViewMasks_ = {},
88548  uint32_t dependencyCount_ = {},
88549  const int32_t * pViewOffsets_ = {},
88550  uint32_t correlationMaskCount_ = {},
88551  const uint32_t * pCorrelationMasks_ = {},
88552  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
88553  : pNext( pNext_ )
88554  , subpassCount( subpassCount_ )
88555  , pViewMasks( pViewMasks_ )
88556  , dependencyCount( dependencyCount_ )
88557  , pViewOffsets( pViewOffsets_ )
88558  , correlationMaskCount( correlationMaskCount_ )
88559  , pCorrelationMasks( pCorrelationMasks_ )
88560  {
88561  }
88562 
88563  VULKAN_HPP_CONSTEXPR RenderPassMultiviewCreateInfo( RenderPassMultiviewCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
88564 
88566  : RenderPassMultiviewCreateInfo( *reinterpret_cast<RenderPassMultiviewCreateInfo const *>( &rhs ) )
88567  {
88568  }
88569 
88570 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
88574  const void * pNext_ = nullptr )
88575  : pNext( pNext_ )
88576  , subpassCount( static_cast<uint32_t>( viewMasks_.size() ) )
88577  , pViewMasks( viewMasks_.data() )
88578  , dependencyCount( static_cast<uint32_t>( viewOffsets_.size() ) )
88579  , pViewOffsets( viewOffsets_.data() )
88580  , correlationMaskCount( static_cast<uint32_t>( correlationMasks_.size() ) )
88581  , pCorrelationMasks( correlationMasks_.data() )
88582  {
88583  }
88584 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
88585 
88586  RenderPassMultiviewCreateInfo & operator=( RenderPassMultiviewCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
88587 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
88588 
88590  {
88591  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderPassMultiviewCreateInfo const *>( &rhs );
88592  return *this;
88593  }
88594 
88595 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
88597  {
88598  pNext = pNext_;
88599  return *this;
88600  }
88601 
88603  {
88604  subpassCount = subpassCount_;
88605  return *this;
88606  }
88607 
88609  {
88610  pViewMasks = pViewMasks_;
88611  return *this;
88612  }
88613 
88614 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
88616  {
88617  subpassCount = static_cast<uint32_t>( viewMasks_.size() );
88618  pViewMasks = viewMasks_.data();
88619  return *this;
88620  }
88621 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
88622 
88624  {
88625  dependencyCount = dependencyCount_;
88626  return *this;
88627  }
88628 
88630  {
88631  pViewOffsets = pViewOffsets_;
88632  return *this;
88633  }
88634 
88635 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
88637  {
88638  dependencyCount = static_cast<uint32_t>( viewOffsets_.size() );
88639  pViewOffsets = viewOffsets_.data();
88640  return *this;
88641  }
88642 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
88643 
88645  {
88646  correlationMaskCount = correlationMaskCount_;
88647  return *this;
88648  }
88649 
88651  {
88652  pCorrelationMasks = pCorrelationMasks_;
88653  return *this;
88654  }
88655 
88656 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
88659  {
88660  correlationMaskCount = static_cast<uint32_t>( correlationMasks_.size() );
88661  pCorrelationMasks = correlationMasks_.data();
88662  return *this;
88663  }
88664 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
88665 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
88666 
88668  {
88669  return *reinterpret_cast<const VkRenderPassMultiviewCreateInfo *>( this );
88670  }
88671 
88673  {
88674  return *reinterpret_cast<VkRenderPassMultiviewCreateInfo *>( this );
88675  }
88676 
88677 #if defined( VULKAN_HPP_USE_REFLECT )
88678 # if 14 <= VULKAN_HPP_CPP_VERSION
88679  auto
88680 # else
88681  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
88682  const void * const &,
88683  uint32_t const &,
88684  const uint32_t * const &,
88685  uint32_t const &,
88686  const int32_t * const &,
88687  uint32_t const &,
88688  const uint32_t * const &>
88689 # endif
88690  reflect() const VULKAN_HPP_NOEXCEPT
88691  {
88692  return std::tie( sType, pNext, subpassCount, pViewMasks, dependencyCount, pViewOffsets, correlationMaskCount, pCorrelationMasks );
88693  }
88694 #endif
88695 
88696 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
88697  auto operator<=>( RenderPassMultiviewCreateInfo const & ) const = default;
88698 #else
88700  {
88701 # if defined( VULKAN_HPP_USE_REFLECT )
88702  return this->reflect() == rhs.reflect();
88703 # else
88704  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( subpassCount == rhs.subpassCount ) && ( pViewMasks == rhs.pViewMasks ) &&
88705  ( dependencyCount == rhs.dependencyCount ) && ( pViewOffsets == rhs.pViewOffsets ) && ( correlationMaskCount == rhs.correlationMaskCount ) &&
88706  ( pCorrelationMasks == rhs.pCorrelationMasks );
88707 # endif
88708  }
88709 
88711  {
88712  return !operator==( rhs );
88713  }
88714 #endif
88715 
88716  public:
88717  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eRenderPassMultiviewCreateInfo;
88718  const void * pNext = {};
88719  uint32_t subpassCount = {};
88720  const uint32_t * pViewMasks = {};
88721  uint32_t dependencyCount = {};
88722  const int32_t * pViewOffsets = {};
88723  uint32_t correlationMaskCount = {};
88724  const uint32_t * pCorrelationMasks = {};
88725  };
88726 
88727  template <>
88729  {
88731  };
88733 
88735  {
88737 
88738 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
88739  VULKAN_HPP_CONSTEXPR SubpassSampleLocationsEXT( uint32_t subpassIndex_ = {},
88741  : subpassIndex( subpassIndex_ )
88742  , sampleLocationsInfo( sampleLocationsInfo_ )
88743  {
88744  }
88745 
88746  VULKAN_HPP_CONSTEXPR SubpassSampleLocationsEXT( SubpassSampleLocationsEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
88747 
88749  : SubpassSampleLocationsEXT( *reinterpret_cast<SubpassSampleLocationsEXT const *>( &rhs ) )
88750  {
88751  }
88752 
88753  SubpassSampleLocationsEXT & operator=( SubpassSampleLocationsEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
88754 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
88755 
88757  {
88758  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SubpassSampleLocationsEXT const *>( &rhs );
88759  return *this;
88760  }
88761 
88762 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
88764  {
88765  subpassIndex = subpassIndex_;
88766  return *this;
88767  }
88768 
88771  {
88772  sampleLocationsInfo = sampleLocationsInfo_;
88773  return *this;
88774  }
88775 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
88776 
88778  {
88779  return *reinterpret_cast<const VkSubpassSampleLocationsEXT *>( this );
88780  }
88781 
88783  {
88784  return *reinterpret_cast<VkSubpassSampleLocationsEXT *>( this );
88785  }
88786 
88787 #if defined( VULKAN_HPP_USE_REFLECT )
88788 # if 14 <= VULKAN_HPP_CPP_VERSION
88789  auto
88790 # else
88791  std::tuple<uint32_t const &, VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT const &>
88792 # endif
88793  reflect() const VULKAN_HPP_NOEXCEPT
88794  {
88795  return std::tie( subpassIndex, sampleLocationsInfo );
88796  }
88797 #endif
88798 
88799 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
88800  auto operator<=>( SubpassSampleLocationsEXT const & ) const = default;
88801 #else
88803  {
88804 # if defined( VULKAN_HPP_USE_REFLECT )
88805  return this->reflect() == rhs.reflect();
88806 # else
88807  return ( subpassIndex == rhs.subpassIndex ) && ( sampleLocationsInfo == rhs.sampleLocationsInfo );
88808 # endif
88809  }
88810 
88812  {
88813  return !operator==( rhs );
88814  }
88815 #endif
88816 
88817  public:
88818  uint32_t subpassIndex = {};
88820  };
88821 
88823  {
88825 
88826  static const bool allowDuplicate = false;
88827  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderPassSampleLocationsBeginInfoEXT;
88828 
88829 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
88831  RenderPassSampleLocationsBeginInfoEXT( uint32_t attachmentInitialSampleLocationsCount_ = {},
88832  const VULKAN_HPP_NAMESPACE::AttachmentSampleLocationsEXT * pAttachmentInitialSampleLocations_ = {},
88833  uint32_t postSubpassSampleLocationsCount_ = {},
88834  const VULKAN_HPP_NAMESPACE::SubpassSampleLocationsEXT * pPostSubpassSampleLocations_ = {},
88835  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
88836  : pNext( pNext_ )
88837  , attachmentInitialSampleLocationsCount( attachmentInitialSampleLocationsCount_ )
88838  , pAttachmentInitialSampleLocations( pAttachmentInitialSampleLocations_ )
88839  , postSubpassSampleLocationsCount( postSubpassSampleLocationsCount_ )
88840  , pPostSubpassSampleLocations( pPostSubpassSampleLocations_ )
88841  {
88842  }
88843 
88844  VULKAN_HPP_CONSTEXPR RenderPassSampleLocationsBeginInfoEXT( RenderPassSampleLocationsBeginInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
88845 
88847  : RenderPassSampleLocationsBeginInfoEXT( *reinterpret_cast<RenderPassSampleLocationsBeginInfoEXT const *>( &rhs ) )
88848  {
88849  }
88850 
88851 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
88855  const void * pNext_ = nullptr )
88856  : pNext( pNext_ )
88857  , attachmentInitialSampleLocationsCount( static_cast<uint32_t>( attachmentInitialSampleLocations_.size() ) )
88858  , pAttachmentInitialSampleLocations( attachmentInitialSampleLocations_.data() )
88859  , postSubpassSampleLocationsCount( static_cast<uint32_t>( postSubpassSampleLocations_.size() ) )
88860  , pPostSubpassSampleLocations( postSubpassSampleLocations_.data() )
88861  {
88862  }
88863 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
88864 
88865  RenderPassSampleLocationsBeginInfoEXT & operator=( RenderPassSampleLocationsBeginInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
88866 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
88867 
88869  {
88870  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderPassSampleLocationsBeginInfoEXT const *>( &rhs );
88871  return *this;
88872  }
88873 
88874 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
88876  {
88877  pNext = pNext_;
88878  return *this;
88879  }
88880 
88882  setAttachmentInitialSampleLocationsCount( uint32_t attachmentInitialSampleLocationsCount_ ) VULKAN_HPP_NOEXCEPT
88883  {
88884  attachmentInitialSampleLocationsCount = attachmentInitialSampleLocationsCount_;
88885  return *this;
88886  }
88887 
88890  {
88891  pAttachmentInitialSampleLocations = pAttachmentInitialSampleLocations_;
88892  return *this;
88893  }
88894 
88895 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
88899  {
88900  attachmentInitialSampleLocationsCount = static_cast<uint32_t>( attachmentInitialSampleLocations_.size() );
88901  pAttachmentInitialSampleLocations = attachmentInitialSampleLocations_.data();
88902  return *this;
88903  }
88904 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
88905 
88907  setPostSubpassSampleLocationsCount( uint32_t postSubpassSampleLocationsCount_ ) VULKAN_HPP_NOEXCEPT
88908  {
88909  postSubpassSampleLocationsCount = postSubpassSampleLocationsCount_;
88910  return *this;
88911  }
88912 
88915  {
88916  pPostSubpassSampleLocations = pPostSubpassSampleLocations_;
88917  return *this;
88918  }
88919 
88920 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
88924  {
88925  postSubpassSampleLocationsCount = static_cast<uint32_t>( postSubpassSampleLocations_.size() );
88926  pPostSubpassSampleLocations = postSubpassSampleLocations_.data();
88927  return *this;
88928  }
88929 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
88930 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
88931 
88933  {
88934  return *reinterpret_cast<const VkRenderPassSampleLocationsBeginInfoEXT *>( this );
88935  }
88936 
88938  {
88939  return *reinterpret_cast<VkRenderPassSampleLocationsBeginInfoEXT *>( this );
88940  }
88941 
88942 #if defined( VULKAN_HPP_USE_REFLECT )
88943 # if 14 <= VULKAN_HPP_CPP_VERSION
88944  auto
88945 # else
88946  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
88947  const void * const &,
88948  uint32_t const &,
88950  uint32_t const &,
88952 # endif
88953  reflect() const VULKAN_HPP_NOEXCEPT
88954  {
88955  return std::tie(
88956  sType, pNext, attachmentInitialSampleLocationsCount, pAttachmentInitialSampleLocations, postSubpassSampleLocationsCount, pPostSubpassSampleLocations );
88957  }
88958 #endif
88959 
88960 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
88961  auto operator<=>( RenderPassSampleLocationsBeginInfoEXT const & ) const = default;
88962 #else
88964  {
88965 # if defined( VULKAN_HPP_USE_REFLECT )
88966  return this->reflect() == rhs.reflect();
88967 # else
88968  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( attachmentInitialSampleLocationsCount == rhs.attachmentInitialSampleLocationsCount ) &&
88969  ( pAttachmentInitialSampleLocations == rhs.pAttachmentInitialSampleLocations ) &&
88970  ( postSubpassSampleLocationsCount == rhs.postSubpassSampleLocationsCount ) && ( pPostSubpassSampleLocations == rhs.pPostSubpassSampleLocations );
88971 # endif
88972  }
88973 
88975  {
88976  return !operator==( rhs );
88977  }
88978 #endif
88979 
88980  public:
88981  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eRenderPassSampleLocationsBeginInfoEXT;
88982  const void * pNext = {};
88983  uint32_t attachmentInitialSampleLocationsCount = {};
88984  const VULKAN_HPP_NAMESPACE::AttachmentSampleLocationsEXT * pAttachmentInitialSampleLocations = {};
88985  uint32_t postSubpassSampleLocationsCount = {};
88986  const VULKAN_HPP_NAMESPACE::SubpassSampleLocationsEXT * pPostSubpassSampleLocations = {};
88987  };
88988 
88989  template <>
88991  {
88993  };
88994 
88996  {
88998 
88999 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
89002  std::array<char, VK_MAX_DESCRIPTION_SIZE> const & description_ = {},
89003  uint32_t postMergeIndex_ = {} ) VULKAN_HPP_NOEXCEPT
89004  : subpassMergeStatus( subpassMergeStatus_ )
89005  , description( description_ )
89006  , postMergeIndex( postMergeIndex_ )
89007  {
89008  }
89009 
89010  VULKAN_HPP_CONSTEXPR_14 RenderPassSubpassFeedbackInfoEXT( RenderPassSubpassFeedbackInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
89011 
89013  : RenderPassSubpassFeedbackInfoEXT( *reinterpret_cast<RenderPassSubpassFeedbackInfoEXT const *>( &rhs ) )
89014  {
89015  }
89016 
89018 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
89019 
89021  {
89022  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderPassSubpassFeedbackInfoEXT const *>( &rhs );
89023  return *this;
89024  }
89025 
89027  {
89028  return *reinterpret_cast<const VkRenderPassSubpassFeedbackInfoEXT *>( this );
89029  }
89030 
89032  {
89033  return *reinterpret_cast<VkRenderPassSubpassFeedbackInfoEXT *>( this );
89034  }
89035 
89036 #if defined( VULKAN_HPP_USE_REFLECT )
89037 # if 14 <= VULKAN_HPP_CPP_VERSION
89038  auto
89039 # else
89040  std::
89041  tuple<VULKAN_HPP_NAMESPACE::SubpassMergeStatusEXT const &, VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DESCRIPTION_SIZE> const &, uint32_t const &>
89042 # endif
89043  reflect() const VULKAN_HPP_NOEXCEPT
89044  {
89045  return std::tie( subpassMergeStatus, description, postMergeIndex );
89046  }
89047 #endif
89048 
89049 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
89050  auto operator<=>( RenderPassSubpassFeedbackInfoEXT const & ) const = default;
89051 #else
89053  {
89054 # if defined( VULKAN_HPP_USE_REFLECT )
89055  return this->reflect() == rhs.reflect();
89056 # else
89057  return ( subpassMergeStatus == rhs.subpassMergeStatus ) && ( description == rhs.description ) && ( postMergeIndex == rhs.postMergeIndex );
89058 # endif
89059  }
89060 
89062  {
89063  return !operator==( rhs );
89064  }
89065 #endif
89066 
89067  public:
89070  uint32_t postMergeIndex = {};
89071  };
89072 
89074  {
89076 
89077  static const bool allowDuplicate = false;
89078  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderPassSubpassFeedbackCreateInfoEXT;
89079 
89080 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
89082  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
89083  : pNext( pNext_ )
89084  , pSubpassFeedback( pSubpassFeedback_ )
89085  {
89086  }
89087 
89088  VULKAN_HPP_CONSTEXPR_14 RenderPassSubpassFeedbackCreateInfoEXT( RenderPassSubpassFeedbackCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
89089 
89091  : RenderPassSubpassFeedbackCreateInfoEXT( *reinterpret_cast<RenderPassSubpassFeedbackCreateInfoEXT const *>( &rhs ) )
89092  {
89093  }
89094 
89096 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
89097 
89099  {
89100  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderPassSubpassFeedbackCreateInfoEXT const *>( &rhs );
89101  return *this;
89102  }
89103 
89104 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
89106  {
89107  pNext = pNext_;
89108  return *this;
89109  }
89110 
89113  {
89114  pSubpassFeedback = pSubpassFeedback_;
89115  return *this;
89116  }
89117 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
89118 
89120  {
89121  return *reinterpret_cast<const VkRenderPassSubpassFeedbackCreateInfoEXT *>( this );
89122  }
89123 
89125  {
89126  return *reinterpret_cast<VkRenderPassSubpassFeedbackCreateInfoEXT *>( this );
89127  }
89128 
89129 #if defined( VULKAN_HPP_USE_REFLECT )
89130 # if 14 <= VULKAN_HPP_CPP_VERSION
89131  auto
89132 # else
89133  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::RenderPassSubpassFeedbackInfoEXT * const &>
89134 # endif
89135  reflect() const VULKAN_HPP_NOEXCEPT
89136  {
89137  return std::tie( sType, pNext, pSubpassFeedback );
89138  }
89139 #endif
89140 
89141 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
89142  auto operator<=>( RenderPassSubpassFeedbackCreateInfoEXT const & ) const = default;
89143 #else
89145  {
89146 # if defined( VULKAN_HPP_USE_REFLECT )
89147  return this->reflect() == rhs.reflect();
89148 # else
89149  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pSubpassFeedback == rhs.pSubpassFeedback );
89150 # endif
89151  }
89152 
89154  {
89155  return !operator==( rhs );
89156  }
89157 #endif
89158 
89159  public:
89160  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eRenderPassSubpassFeedbackCreateInfoEXT;
89161  const void * pNext = {};
89163  };
89164 
89165  template <>
89167  {
89169  };
89170 
89172  {
89174 
89175  static const bool allowDuplicate = false;
89176  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderPassTransformBeginInfoQCOM;
89177 
89178 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
89181  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
89182  : pNext( pNext_ )
89183  , transform( transform_ )
89184  {
89185  }
89186 
89188 
89190  : RenderPassTransformBeginInfoQCOM( *reinterpret_cast<RenderPassTransformBeginInfoQCOM const *>( &rhs ) )
89191  {
89192  }
89193 
89195 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
89196 
89198  {
89199  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderPassTransformBeginInfoQCOM const *>( &rhs );
89200  return *this;
89201  }
89202 
89203 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
89205  {
89206  pNext = pNext_;
89207  return *this;
89208  }
89209 
89211  {
89212  transform = transform_;
89213  return *this;
89214  }
89215 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
89216 
89218  {
89219  return *reinterpret_cast<const VkRenderPassTransformBeginInfoQCOM *>( this );
89220  }
89221 
89223  {
89224  return *reinterpret_cast<VkRenderPassTransformBeginInfoQCOM *>( this );
89225  }
89226 
89227 #if defined( VULKAN_HPP_USE_REFLECT )
89228 # if 14 <= VULKAN_HPP_CPP_VERSION
89229  auto
89230 # else
89231  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR const &>
89232 # endif
89233  reflect() const VULKAN_HPP_NOEXCEPT
89234  {
89235  return std::tie( sType, pNext, transform );
89236  }
89237 #endif
89238 
89239 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
89240  auto operator<=>( RenderPassTransformBeginInfoQCOM const & ) const = default;
89241 #else
89243  {
89244 # if defined( VULKAN_HPP_USE_REFLECT )
89245  return this->reflect() == rhs.reflect();
89246 # else
89247  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( transform == rhs.transform );
89248 # endif
89249  }
89250 
89252  {
89253  return !operator==( rhs );
89254  }
89255 #endif
89256 
89257  public:
89258  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eRenderPassTransformBeginInfoQCOM;
89259  void * pNext = {};
89261  };
89262 
89263  template <>
89265  {
89267  };
89268 
89270  {
89272 
89273  static const bool allowDuplicate = false;
89274  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderingAttachmentInfo;
89275 
89276 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
89280  VULKAN_HPP_NAMESPACE::ImageView resolveImageView_ = {},
89284  VULKAN_HPP_NAMESPACE::ClearValue clearValue_ = {},
89285  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
89286  : pNext( pNext_ )
89287  , imageView( imageView_ )
89288  , imageLayout( imageLayout_ )
89289  , resolveMode( resolveMode_ )
89290  , resolveImageView( resolveImageView_ )
89291  , resolveImageLayout( resolveImageLayout_ )
89292  , loadOp( loadOp_ )
89293  , storeOp( storeOp_ )
89294  , clearValue( clearValue_ )
89295  {
89296  }
89297 
89298  VULKAN_HPP_CONSTEXPR_14 RenderingAttachmentInfo( RenderingAttachmentInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
89299 
89301  : RenderingAttachmentInfo( *reinterpret_cast<RenderingAttachmentInfo const *>( &rhs ) )
89302  {
89303  }
89304 
89305  RenderingAttachmentInfo & operator=( RenderingAttachmentInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
89306 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
89307 
89309  {
89310  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderingAttachmentInfo const *>( &rhs );
89311  return *this;
89312  }
89313 
89314 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
89316  {
89317  pNext = pNext_;
89318  return *this;
89319  }
89320 
89322  {
89323  imageView = imageView_;
89324  return *this;
89325  }
89326 
89328  {
89329  imageLayout = imageLayout_;
89330  return *this;
89331  }
89332 
89334  {
89335  resolveMode = resolveMode_;
89336  return *this;
89337  }
89338 
89340  {
89341  resolveImageView = resolveImageView_;
89342  return *this;
89343  }
89344 
89346  {
89347  resolveImageLayout = resolveImageLayout_;
89348  return *this;
89349  }
89350 
89352  {
89353  loadOp = loadOp_;
89354  return *this;
89355  }
89356 
89358  {
89359  storeOp = storeOp_;
89360  return *this;
89361  }
89362 
89364  {
89365  clearValue = clearValue_;
89366  return *this;
89367  }
89368 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
89369 
89371  {
89372  return *reinterpret_cast<const VkRenderingAttachmentInfo *>( this );
89373  }
89374 
89376  {
89377  return *reinterpret_cast<VkRenderingAttachmentInfo *>( this );
89378  }
89379 
89380 #if defined( VULKAN_HPP_USE_REFLECT )
89381 # if 14 <= VULKAN_HPP_CPP_VERSION
89382  auto
89383 # else
89384  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
89385  const void * const &,
89394 # endif
89395  reflect() const VULKAN_HPP_NOEXCEPT
89396  {
89397  return std::tie( sType, pNext, imageView, imageLayout, resolveMode, resolveImageView, resolveImageLayout, loadOp, storeOp, clearValue );
89398  }
89399 #endif
89400 
89401  public:
89402  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eRenderingAttachmentInfo;
89403  const void * pNext = {};
89407  VULKAN_HPP_NAMESPACE::ImageView resolveImageView = {};
89412  };
89413 
89414  template <>
89416  {
89418  };
89420 
89422  {
89424 
89425  static const bool allowDuplicate = false;
89426  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderingFragmentDensityMapAttachmentInfoEXT;
89427 
89428 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
89432  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
89433  : pNext( pNext_ )
89434  , imageView( imageView_ )
89435  , imageLayout( imageLayout_ )
89436  {
89437  }
89438 
89439  VULKAN_HPP_CONSTEXPR RenderingFragmentDensityMapAttachmentInfoEXT( RenderingFragmentDensityMapAttachmentInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
89440 
89442  : RenderingFragmentDensityMapAttachmentInfoEXT( *reinterpret_cast<RenderingFragmentDensityMapAttachmentInfoEXT const *>( &rhs ) )
89443  {
89444  }
89445 
89447 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
89448 
89450  {
89451  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderingFragmentDensityMapAttachmentInfoEXT const *>( &rhs );
89452  return *this;
89453  }
89454 
89455 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
89457  {
89458  pNext = pNext_;
89459  return *this;
89460  }
89461 
89463  {
89464  imageView = imageView_;
89465  return *this;
89466  }
89467 
89469  {
89470  imageLayout = imageLayout_;
89471  return *this;
89472  }
89473 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
89474 
89476  {
89477  return *reinterpret_cast<const VkRenderingFragmentDensityMapAttachmentInfoEXT *>( this );
89478  }
89479 
89481  {
89482  return *reinterpret_cast<VkRenderingFragmentDensityMapAttachmentInfoEXT *>( this );
89483  }
89484 
89485 #if defined( VULKAN_HPP_USE_REFLECT )
89486 # if 14 <= VULKAN_HPP_CPP_VERSION
89487  auto
89488 # else
89489  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
89490  const void * const &,
89493 # endif
89494  reflect() const VULKAN_HPP_NOEXCEPT
89495  {
89496  return std::tie( sType, pNext, imageView, imageLayout );
89497  }
89498 #endif
89499 
89500 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
89501  auto operator<=>( RenderingFragmentDensityMapAttachmentInfoEXT const & ) const = default;
89502 #else
89504  {
89505 # if defined( VULKAN_HPP_USE_REFLECT )
89506  return this->reflect() == rhs.reflect();
89507 # else
89508  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( imageView == rhs.imageView ) && ( imageLayout == rhs.imageLayout );
89509 # endif
89510  }
89511 
89513  {
89514  return !operator==( rhs );
89515  }
89516 #endif
89517 
89518  public:
89519  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eRenderingFragmentDensityMapAttachmentInfoEXT;
89520  const void * pNext = {};
89523  };
89524 
89525  template <>
89527  {
89529  };
89530 
89532  {
89534 
89535  static const bool allowDuplicate = false;
89536  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderingFragmentShadingRateAttachmentInfoKHR;
89537 
89538 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
89542  VULKAN_HPP_NAMESPACE::Extent2D shadingRateAttachmentTexelSize_ = {},
89543  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
89544  : pNext( pNext_ )
89545  , imageView( imageView_ )
89546  , imageLayout( imageLayout_ )
89547  , shadingRateAttachmentTexelSize( shadingRateAttachmentTexelSize_ )
89548  {
89549  }
89550 
89552  RenderingFragmentShadingRateAttachmentInfoKHR( RenderingFragmentShadingRateAttachmentInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
89553 
89555  : RenderingFragmentShadingRateAttachmentInfoKHR( *reinterpret_cast<RenderingFragmentShadingRateAttachmentInfoKHR const *>( &rhs ) )
89556  {
89557  }
89558 
89560 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
89561 
89563  {
89564  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderingFragmentShadingRateAttachmentInfoKHR const *>( &rhs );
89565  return *this;
89566  }
89567 
89568 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
89570  {
89571  pNext = pNext_;
89572  return *this;
89573  }
89574 
89576  {
89577  imageView = imageView_;
89578  return *this;
89579  }
89580 
89582  {
89583  imageLayout = imageLayout_;
89584  return *this;
89585  }
89586 
89589  {
89590  shadingRateAttachmentTexelSize = shadingRateAttachmentTexelSize_;
89591  return *this;
89592  }
89593 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
89594 
89596  {
89597  return *reinterpret_cast<const VkRenderingFragmentShadingRateAttachmentInfoKHR *>( this );
89598  }
89599 
89601  {
89602  return *reinterpret_cast<VkRenderingFragmentShadingRateAttachmentInfoKHR *>( this );
89603  }
89604 
89605 #if defined( VULKAN_HPP_USE_REFLECT )
89606 # if 14 <= VULKAN_HPP_CPP_VERSION
89607  auto
89608 # else
89609  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
89610  const void * const &,
89614 # endif
89615  reflect() const VULKAN_HPP_NOEXCEPT
89616  {
89617  return std::tie( sType, pNext, imageView, imageLayout, shadingRateAttachmentTexelSize );
89618  }
89619 #endif
89620 
89621 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
89622  auto operator<=>( RenderingFragmentShadingRateAttachmentInfoKHR const & ) const = default;
89623 #else
89625  {
89626 # if defined( VULKAN_HPP_USE_REFLECT )
89627  return this->reflect() == rhs.reflect();
89628 # else
89629  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( imageView == rhs.imageView ) && ( imageLayout == rhs.imageLayout ) &&
89630  ( shadingRateAttachmentTexelSize == rhs.shadingRateAttachmentTexelSize );
89631 # endif
89632  }
89633 
89635  {
89636  return !operator==( rhs );
89637  }
89638 #endif
89639 
89640  public:
89641  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eRenderingFragmentShadingRateAttachmentInfoKHR;
89642  const void * pNext = {};
89645  VULKAN_HPP_NAMESPACE::Extent2D shadingRateAttachmentTexelSize = {};
89646  };
89647 
89648  template <>
89650  {
89652  };
89653 
89655  {
89657 
89658  static const bool allowDuplicate = false;
89659  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eRenderingInfo;
89660 
89661 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
89663  VULKAN_HPP_NAMESPACE::Rect2D renderArea_ = {},
89664  uint32_t layerCount_ = {},
89665  uint32_t viewMask_ = {},
89666  uint32_t colorAttachmentCount_ = {},
89667  const VULKAN_HPP_NAMESPACE::RenderingAttachmentInfo * pColorAttachments_ = {},
89668  const VULKAN_HPP_NAMESPACE::RenderingAttachmentInfo * pDepthAttachment_ = {},
89669  const VULKAN_HPP_NAMESPACE::RenderingAttachmentInfo * pStencilAttachment_ = {},
89670  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
89671  : pNext( pNext_ )
89672  , flags( flags_ )
89673  , renderArea( renderArea_ )
89674  , layerCount( layerCount_ )
89675  , viewMask( viewMask_ )
89676  , colorAttachmentCount( colorAttachmentCount_ )
89677  , pColorAttachments( pColorAttachments_ )
89678  , pDepthAttachment( pDepthAttachment_ )
89679  , pStencilAttachment( pStencilAttachment_ )
89680  {
89681  }
89682 
89683  VULKAN_HPP_CONSTEXPR_14 RenderingInfo( RenderingInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
89684 
89685  RenderingInfo( VkRenderingInfo const & rhs ) VULKAN_HPP_NOEXCEPT : RenderingInfo( *reinterpret_cast<RenderingInfo const *>( &rhs ) ) {}
89686 
89687 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
89689  VULKAN_HPP_NAMESPACE::Rect2D renderArea_,
89690  uint32_t layerCount_,
89691  uint32_t viewMask_,
89693  const VULKAN_HPP_NAMESPACE::RenderingAttachmentInfo * pDepthAttachment_ = {},
89694  const VULKAN_HPP_NAMESPACE::RenderingAttachmentInfo * pStencilAttachment_ = {},
89695  const void * pNext_ = nullptr )
89696  : pNext( pNext_ )
89697  , flags( flags_ )
89698  , renderArea( renderArea_ )
89699  , layerCount( layerCount_ )
89700  , viewMask( viewMask_ )
89701  , colorAttachmentCount( static_cast<uint32_t>( colorAttachments_.size() ) )
89702  , pColorAttachments( colorAttachments_.data() )
89703  , pDepthAttachment( pDepthAttachment_ )
89704  , pStencilAttachment( pStencilAttachment_ )
89705  {
89706  }
89707 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
89708 
89709  RenderingInfo & operator=( RenderingInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
89710 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
89711 
89713  {
89714  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::RenderingInfo const *>( &rhs );
89715  return *this;
89716  }
89717 
89718 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
89720  {
89721  pNext = pNext_;
89722  return *this;
89723  }
89724 
89726  {
89727  flags = flags_;
89728  return *this;
89729  }
89730 
89732  {
89733  renderArea = renderArea_;
89734  return *this;
89735  }
89736 
89738  {
89739  layerCount = layerCount_;
89740  return *this;
89741  }
89742 
89744  {
89745  viewMask = viewMask_;
89746  return *this;
89747  }
89748 
89750  {
89751  colorAttachmentCount = colorAttachmentCount_;
89752  return *this;
89753  }
89754 
89756  {
89757  pColorAttachments = pColorAttachments_;
89758  return *this;
89759  }
89760 
89761 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
89764  {
89765  colorAttachmentCount = static_cast<uint32_t>( colorAttachments_.size() );
89766  pColorAttachments = colorAttachments_.data();
89767  return *this;
89768  }
89769 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
89770 
89772  {
89773  pDepthAttachment = pDepthAttachment_;
89774  return *this;
89775  }
89776 
89779  {
89780  pStencilAttachment = pStencilAttachment_;
89781  return *this;
89782  }
89783 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
89784 
89785  operator VkRenderingInfo const &() const VULKAN_HPP_NOEXCEPT
89786  {
89787  return *reinterpret_cast<const VkRenderingInfo *>( this );
89788  }
89789 
89791  {
89792  return *reinterpret_cast<VkRenderingInfo *>( this );
89793  }
89794 
89795 #if defined( VULKAN_HPP_USE_REFLECT )
89796 # if 14 <= VULKAN_HPP_CPP_VERSION
89797  auto
89798 # else
89799  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
89800  const void * const &,
89803  uint32_t const &,
89804  uint32_t const &,
89805  uint32_t const &,
89809 # endif
89810  reflect() const VULKAN_HPP_NOEXCEPT
89811  {
89812  return std::tie( sType, pNext, flags, renderArea, layerCount, viewMask, colorAttachmentCount, pColorAttachments, pDepthAttachment, pStencilAttachment );
89813  }
89814 #endif
89815 
89816 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
89817  auto operator<=>( RenderingInfo const & ) const = default;
89818 #else
89820  {
89821 # if defined( VULKAN_HPP_USE_REFLECT )
89822  return this->reflect() == rhs.reflect();
89823 # else
89824  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( renderArea == rhs.renderArea ) &&
89825  ( layerCount == rhs.layerCount ) && ( viewMask == rhs.viewMask ) && ( colorAttachmentCount == rhs.colorAttachmentCount ) &&
89826  ( pColorAttachments == rhs.pColorAttachments ) && ( pDepthAttachment == rhs.pDepthAttachment ) && ( pStencilAttachment == rhs.pStencilAttachment );
89827 # endif
89828  }
89829 
89831  {
89832  return !operator==( rhs );
89833  }
89834 #endif
89835 
89836  public:
89837  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eRenderingInfo;
89838  const void * pNext = {};
89841  uint32_t layerCount = {};
89842  uint32_t viewMask = {};
89843  uint32_t colorAttachmentCount = {};
89844  const VULKAN_HPP_NAMESPACE::RenderingAttachmentInfo * pColorAttachments = {};
89845  const VULKAN_HPP_NAMESPACE::RenderingAttachmentInfo * pDepthAttachment = {};
89846  const VULKAN_HPP_NAMESPACE::RenderingAttachmentInfo * pStencilAttachment = {};
89847  };
89848 
89849  template <>
89851  {
89853  };
89855 
89857  {
89859 
89860  static const bool allowDuplicate = false;
89861  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eResolveImageInfo2;
89862 
89863 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
89866  VULKAN_HPP_NAMESPACE::Image dstImage_ = {},
89868  uint32_t regionCount_ = {},
89869  const VULKAN_HPP_NAMESPACE::ImageResolve2 * pRegions_ = {},
89870  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
89871  : pNext( pNext_ )
89872  , srcImage( srcImage_ )
89873  , srcImageLayout( srcImageLayout_ )
89874  , dstImage( dstImage_ )
89875  , dstImageLayout( dstImageLayout_ )
89876  , regionCount( regionCount_ )
89877  , pRegions( pRegions_ )
89878  {
89879  }
89880 
89881  VULKAN_HPP_CONSTEXPR ResolveImageInfo2( ResolveImageInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
89882 
89883  ResolveImageInfo2( VkResolveImageInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT : ResolveImageInfo2( *reinterpret_cast<ResolveImageInfo2 const *>( &rhs ) ) {}
89884 
89885 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
89887  VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout_,
89888  VULKAN_HPP_NAMESPACE::Image dstImage_,
89889  VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout_,
89891  const void * pNext_ = nullptr )
89892  : pNext( pNext_ )
89893  , srcImage( srcImage_ )
89894  , srcImageLayout( srcImageLayout_ )
89895  , dstImage( dstImage_ )
89896  , dstImageLayout( dstImageLayout_ )
89897  , regionCount( static_cast<uint32_t>( regions_.size() ) )
89898  , pRegions( regions_.data() )
89899  {
89900  }
89901 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
89902 
89903  ResolveImageInfo2 & operator=( ResolveImageInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
89904 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
89905 
89907  {
89908  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ResolveImageInfo2 const *>( &rhs );
89909  return *this;
89910  }
89911 
89912 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
89914  {
89915  pNext = pNext_;
89916  return *this;
89917  }
89918 
89920  {
89921  srcImage = srcImage_;
89922  return *this;
89923  }
89924 
89926  {
89927  srcImageLayout = srcImageLayout_;
89928  return *this;
89929  }
89930 
89932  {
89933  dstImage = dstImage_;
89934  return *this;
89935  }
89936 
89938  {
89939  dstImageLayout = dstImageLayout_;
89940  return *this;
89941  }
89942 
89944  {
89945  regionCount = regionCount_;
89946  return *this;
89947  }
89948 
89950  {
89951  pRegions = pRegions_;
89952  return *this;
89953  }
89954 
89955 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
89958  {
89959  regionCount = static_cast<uint32_t>( regions_.size() );
89960  pRegions = regions_.data();
89961  return *this;
89962  }
89963 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
89964 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
89965 
89966  operator VkResolveImageInfo2 const &() const VULKAN_HPP_NOEXCEPT
89967  {
89968  return *reinterpret_cast<const VkResolveImageInfo2 *>( this );
89969  }
89970 
89972  {
89973  return *reinterpret_cast<VkResolveImageInfo2 *>( this );
89974  }
89975 
89976 #if defined( VULKAN_HPP_USE_REFLECT )
89977 # if 14 <= VULKAN_HPP_CPP_VERSION
89978  auto
89979 # else
89980  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
89981  const void * const &,
89986  uint32_t const &,
89987  const VULKAN_HPP_NAMESPACE::ImageResolve2 * const &>
89988 # endif
89989  reflect() const VULKAN_HPP_NOEXCEPT
89990  {
89991  return std::tie( sType, pNext, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions );
89992  }
89993 #endif
89994 
89995 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
89996  auto operator<=>( ResolveImageInfo2 const & ) const = default;
89997 #else
89999  {
90000 # if defined( VULKAN_HPP_USE_REFLECT )
90001  return this->reflect() == rhs.reflect();
90002 # else
90003  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( srcImage == rhs.srcImage ) && ( srcImageLayout == rhs.srcImageLayout ) &&
90004  ( dstImage == rhs.dstImage ) && ( dstImageLayout == rhs.dstImageLayout ) && ( regionCount == rhs.regionCount ) && ( pRegions == rhs.pRegions );
90005 # endif
90006  }
90007 
90009  {
90010  return !operator==( rhs );
90011  }
90012 #endif
90013 
90014  public:
90015  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eResolveImageInfo2;
90016  const void * pNext = {};
90021  uint32_t regionCount = {};
90023  };
90024 
90025  template <>
90027  {
90029  };
90031 
90033  {
90035 
90036  static const bool allowDuplicate = false;
90037  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSamplerBorderColorComponentMappingCreateInfoEXT;
90038 
90039 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
90041  VULKAN_HPP_NAMESPACE::Bool32 srgb_ = {},
90042  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
90043  : pNext( pNext_ )
90044  , components( components_ )
90045  , srgb( srgb_ )
90046  {
90047  }
90048 
90050  SamplerBorderColorComponentMappingCreateInfoEXT( SamplerBorderColorComponentMappingCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
90051 
90053  : SamplerBorderColorComponentMappingCreateInfoEXT( *reinterpret_cast<SamplerBorderColorComponentMappingCreateInfoEXT const *>( &rhs ) )
90054  {
90055  }
90056 
90058 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
90059 
90061  {
90062  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SamplerBorderColorComponentMappingCreateInfoEXT const *>( &rhs );
90063  return *this;
90064  }
90065 
90066 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
90068  {
90069  pNext = pNext_;
90070  return *this;
90071  }
90072 
90075  {
90076  components = components_;
90077  return *this;
90078  }
90079 
90081  {
90082  srgb = srgb_;
90083  return *this;
90084  }
90085 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
90086 
90088  {
90089  return *reinterpret_cast<const VkSamplerBorderColorComponentMappingCreateInfoEXT *>( this );
90090  }
90091 
90093  {
90094  return *reinterpret_cast<VkSamplerBorderColorComponentMappingCreateInfoEXT *>( this );
90095  }
90096 
90097 #if defined( VULKAN_HPP_USE_REFLECT )
90098 # if 14 <= VULKAN_HPP_CPP_VERSION
90099  auto
90100 # else
90101  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
90102  const void * const &,
90105 # endif
90106  reflect() const VULKAN_HPP_NOEXCEPT
90107  {
90108  return std::tie( sType, pNext, components, srgb );
90109  }
90110 #endif
90111 
90112 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
90113  auto operator<=>( SamplerBorderColorComponentMappingCreateInfoEXT const & ) const = default;
90114 #else
90116  {
90117 # if defined( VULKAN_HPP_USE_REFLECT )
90118  return this->reflect() == rhs.reflect();
90119 # else
90120  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( components == rhs.components ) && ( srgb == rhs.srgb );
90121 # endif
90122  }
90123 
90125  {
90126  return !operator==( rhs );
90127  }
90128 #endif
90129 
90130  public:
90131  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSamplerBorderColorComponentMappingCreateInfoEXT;
90132  const void * pNext = {};
90135  };
90136 
90137  template <>
90139  {
90141  };
90142 
90144  {
90146 
90147  static const bool allowDuplicate = false;
90148  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSamplerCaptureDescriptorDataInfoEXT;
90149 
90150 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
90152  : pNext( pNext_ )
90153  , sampler( sampler_ )
90154  {
90155  }
90156 
90157  VULKAN_HPP_CONSTEXPR SamplerCaptureDescriptorDataInfoEXT( SamplerCaptureDescriptorDataInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
90158 
90160  : SamplerCaptureDescriptorDataInfoEXT( *reinterpret_cast<SamplerCaptureDescriptorDataInfoEXT const *>( &rhs ) )
90161  {
90162  }
90163 
90165 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
90166 
90168  {
90169  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SamplerCaptureDescriptorDataInfoEXT const *>( &rhs );
90170  return *this;
90171  }
90172 
90173 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
90175  {
90176  pNext = pNext_;
90177  return *this;
90178  }
90179 
90181  {
90182  sampler = sampler_;
90183  return *this;
90184  }
90185 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
90186 
90188  {
90189  return *reinterpret_cast<const VkSamplerCaptureDescriptorDataInfoEXT *>( this );
90190  }
90191 
90193  {
90194  return *reinterpret_cast<VkSamplerCaptureDescriptorDataInfoEXT *>( this );
90195  }
90196 
90197 #if defined( VULKAN_HPP_USE_REFLECT )
90198 # if 14 <= VULKAN_HPP_CPP_VERSION
90199  auto
90200 # else
90201  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::Sampler const &>
90202 # endif
90203  reflect() const VULKAN_HPP_NOEXCEPT
90204  {
90205  return std::tie( sType, pNext, sampler );
90206  }
90207 #endif
90208 
90209 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
90210  auto operator<=>( SamplerCaptureDescriptorDataInfoEXT const & ) const = default;
90211 #else
90213  {
90214 # if defined( VULKAN_HPP_USE_REFLECT )
90215  return this->reflect() == rhs.reflect();
90216 # else
90217  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( sampler == rhs.sampler );
90218 # endif
90219  }
90220 
90222  {
90223  return !operator==( rhs );
90224  }
90225 #endif
90226 
90227  public:
90228  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSamplerCaptureDescriptorDataInfoEXT;
90229  const void * pNext = {};
90231  };
90232 
90233  template <>
90235  {
90237  };
90238 
90240  {
90242 
90243  static const bool allowDuplicate = false;
90244  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSamplerCreateInfo;
90245 
90246 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
90254  float mipLodBias_ = {},
90255  VULKAN_HPP_NAMESPACE::Bool32 anisotropyEnable_ = {},
90256  float maxAnisotropy_ = {},
90257  VULKAN_HPP_NAMESPACE::Bool32 compareEnable_ = {},
90259  float minLod_ = {},
90260  float maxLod_ = {},
90262  VULKAN_HPP_NAMESPACE::Bool32 unnormalizedCoordinates_ = {},
90263  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
90264  : pNext( pNext_ )
90265  , flags( flags_ )
90266  , magFilter( magFilter_ )
90267  , minFilter( minFilter_ )
90268  , mipmapMode( mipmapMode_ )
90269  , addressModeU( addressModeU_ )
90270  , addressModeV( addressModeV_ )
90271  , addressModeW( addressModeW_ )
90272  , mipLodBias( mipLodBias_ )
90273  , anisotropyEnable( anisotropyEnable_ )
90274  , maxAnisotropy( maxAnisotropy_ )
90275  , compareEnable( compareEnable_ )
90276  , compareOp( compareOp_ )
90277  , minLod( minLod_ )
90278  , maxLod( maxLod_ )
90279  , borderColor( borderColor_ )
90280  , unnormalizedCoordinates( unnormalizedCoordinates_ )
90281  {
90282  }
90283 
90284  VULKAN_HPP_CONSTEXPR SamplerCreateInfo( SamplerCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
90285 
90286  SamplerCreateInfo( VkSamplerCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : SamplerCreateInfo( *reinterpret_cast<SamplerCreateInfo const *>( &rhs ) ) {}
90287 
90288  SamplerCreateInfo & operator=( SamplerCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
90289 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
90290 
90292  {
90293  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SamplerCreateInfo const *>( &rhs );
90294  return *this;
90295  }
90296 
90297 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
90299  {
90300  pNext = pNext_;
90301  return *this;
90302  }
90303 
90305  {
90306  flags = flags_;
90307  return *this;
90308  }
90309 
90311  {
90312  magFilter = magFilter_;
90313  return *this;
90314  }
90315 
90317  {
90318  minFilter = minFilter_;
90319  return *this;
90320  }
90321 
90323  {
90324  mipmapMode = mipmapMode_;
90325  return *this;
90326  }
90327 
90329  {
90330  addressModeU = addressModeU_;
90331  return *this;
90332  }
90333 
90335  {
90336  addressModeV = addressModeV_;
90337  return *this;
90338  }
90339 
90341  {
90342  addressModeW = addressModeW_;
90343  return *this;
90344  }
90345 
90347  {
90348  mipLodBias = mipLodBias_;
90349  return *this;
90350  }
90351 
90353  {
90354  anisotropyEnable = anisotropyEnable_;
90355  return *this;
90356  }
90357 
90359  {
90360  maxAnisotropy = maxAnisotropy_;
90361  return *this;
90362  }
90363 
90365  {
90366  compareEnable = compareEnable_;
90367  return *this;
90368  }
90369 
90371  {
90372  compareOp = compareOp_;
90373  return *this;
90374  }
90375 
90377  {
90378  minLod = minLod_;
90379  return *this;
90380  }
90381 
90383  {
90384  maxLod = maxLod_;
90385  return *this;
90386  }
90387 
90389  {
90390  borderColor = borderColor_;
90391  return *this;
90392  }
90393 
90395  {
90396  unnormalizedCoordinates = unnormalizedCoordinates_;
90397  return *this;
90398  }
90399 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
90400 
90401  operator VkSamplerCreateInfo const &() const VULKAN_HPP_NOEXCEPT
90402  {
90403  return *reinterpret_cast<const VkSamplerCreateInfo *>( this );
90404  }
90405 
90407  {
90408  return *reinterpret_cast<VkSamplerCreateInfo *>( this );
90409  }
90410 
90411 #if defined( VULKAN_HPP_USE_REFLECT )
90412 # if 14 <= VULKAN_HPP_CPP_VERSION
90413  auto
90414 # else
90415  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
90416  const void * const &,
90424  float const &,
90426  float const &,
90429  float const &,
90430  float const &,
90433 # endif
90434  reflect() const VULKAN_HPP_NOEXCEPT
90435  {
90436  return std::tie( sType,
90437  pNext,
90438  flags,
90439  magFilter,
90440  minFilter,
90441  mipmapMode,
90442  addressModeU,
90443  addressModeV,
90444  addressModeW,
90445  mipLodBias,
90446  anisotropyEnable,
90447  maxAnisotropy,
90448  compareEnable,
90449  compareOp,
90450  minLod,
90451  maxLod,
90452  borderColor,
90453  unnormalizedCoordinates );
90454  }
90455 #endif
90456 
90457 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
90458  auto operator<=>( SamplerCreateInfo const & ) const = default;
90459 #else
90461  {
90462 # if defined( VULKAN_HPP_USE_REFLECT )
90463  return this->reflect() == rhs.reflect();
90464 # else
90465  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( magFilter == rhs.magFilter ) && ( minFilter == rhs.minFilter ) &&
90466  ( mipmapMode == rhs.mipmapMode ) && ( addressModeU == rhs.addressModeU ) && ( addressModeV == rhs.addressModeV ) &&
90467  ( addressModeW == rhs.addressModeW ) && ( mipLodBias == rhs.mipLodBias ) && ( anisotropyEnable == rhs.anisotropyEnable ) &&
90468  ( maxAnisotropy == rhs.maxAnisotropy ) && ( compareEnable == rhs.compareEnable ) && ( compareOp == rhs.compareOp ) && ( minLod == rhs.minLod ) &&
90469  ( maxLod == rhs.maxLod ) && ( borderColor == rhs.borderColor ) && ( unnormalizedCoordinates == rhs.unnormalizedCoordinates );
90470 # endif
90471  }
90472 
90474  {
90475  return !operator==( rhs );
90476  }
90477 #endif
90478 
90479  public:
90480  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSamplerCreateInfo;
90481  const void * pNext = {};
90489  float mipLodBias = {};
90490  VULKAN_HPP_NAMESPACE::Bool32 anisotropyEnable = {};
90491  float maxAnisotropy = {};
90492  VULKAN_HPP_NAMESPACE::Bool32 compareEnable = {};
90494  float minLod = {};
90495  float maxLod = {};
90497  VULKAN_HPP_NAMESPACE::Bool32 unnormalizedCoordinates = {};
90498  };
90499 
90500  template <>
90502  {
90504  };
90505 
90507  {
90509 
90510  static const bool allowDuplicate = false;
90511  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSamplerCustomBorderColorCreateInfoEXT;
90512 
90513 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
90516  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
90517  : pNext( pNext_ )
90518  , customBorderColor( customBorderColor_ )
90519  , format( format_ )
90520  {
90521  }
90522 
90523  VULKAN_HPP_CONSTEXPR_14 SamplerCustomBorderColorCreateInfoEXT( SamplerCustomBorderColorCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
90524 
90526  : SamplerCustomBorderColorCreateInfoEXT( *reinterpret_cast<SamplerCustomBorderColorCreateInfoEXT const *>( &rhs ) )
90527  {
90528  }
90529 
90531 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
90532 
90534  {
90535  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SamplerCustomBorderColorCreateInfoEXT const *>( &rhs );
90536  return *this;
90537  }
90538 
90539 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
90541  {
90542  pNext = pNext_;
90543  return *this;
90544  }
90545 
90548  {
90549  customBorderColor = customBorderColor_;
90550  return *this;
90551  }
90552 
90554  {
90555  format = format_;
90556  return *this;
90557  }
90558 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
90559 
90561  {
90562  return *reinterpret_cast<const VkSamplerCustomBorderColorCreateInfoEXT *>( this );
90563  }
90564 
90566  {
90567  return *reinterpret_cast<VkSamplerCustomBorderColorCreateInfoEXT *>( this );
90568  }
90569 
90570 #if defined( VULKAN_HPP_USE_REFLECT )
90571 # if 14 <= VULKAN_HPP_CPP_VERSION
90572  auto
90573 # else
90574  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
90575  const void * const &,
90578 # endif
90579  reflect() const VULKAN_HPP_NOEXCEPT
90580  {
90581  return std::tie( sType, pNext, customBorderColor, format );
90582  }
90583 #endif
90584 
90585  public:
90586  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSamplerCustomBorderColorCreateInfoEXT;
90587  const void * pNext = {};
90590  };
90591 
90592  template <>
90594  {
90596  };
90597 
90599  {
90601 
90602  static const bool allowDuplicate = false;
90603  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSamplerReductionModeCreateInfo;
90604 
90605 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
90608  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
90609  : pNext( pNext_ )
90610  , reductionMode( reductionMode_ )
90611  {
90612  }
90613 
90615 
90617  : SamplerReductionModeCreateInfo( *reinterpret_cast<SamplerReductionModeCreateInfo const *>( &rhs ) )
90618  {
90619  }
90620 
90622 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
90623 
90625  {
90626  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SamplerReductionModeCreateInfo const *>( &rhs );
90627  return *this;
90628  }
90629 
90630 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
90632  {
90633  pNext = pNext_;
90634  return *this;
90635  }
90636 
90638  {
90639  reductionMode = reductionMode_;
90640  return *this;
90641  }
90642 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
90643 
90645  {
90646  return *reinterpret_cast<const VkSamplerReductionModeCreateInfo *>( this );
90647  }
90648 
90650  {
90651  return *reinterpret_cast<VkSamplerReductionModeCreateInfo *>( this );
90652  }
90653 
90654 #if defined( VULKAN_HPP_USE_REFLECT )
90655 # if 14 <= VULKAN_HPP_CPP_VERSION
90656  auto
90657 # else
90658  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::SamplerReductionMode const &>
90659 # endif
90660  reflect() const VULKAN_HPP_NOEXCEPT
90661  {
90662  return std::tie( sType, pNext, reductionMode );
90663  }
90664 #endif
90665 
90666 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
90667  auto operator<=>( SamplerReductionModeCreateInfo const & ) const = default;
90668 #else
90670  {
90671 # if defined( VULKAN_HPP_USE_REFLECT )
90672  return this->reflect() == rhs.reflect();
90673 # else
90674  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( reductionMode == rhs.reductionMode );
90675 # endif
90676  }
90677 
90679  {
90680  return !operator==( rhs );
90681  }
90682 #endif
90683 
90684  public:
90685  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSamplerReductionModeCreateInfo;
90686  const void * pNext = {};
90688  };
90689 
90690  template <>
90692  {
90694  };
90696 
90698  {
90700 
90701  static const bool allowDuplicate = false;
90702  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSamplerYcbcrConversionCreateInfo;
90703 
90704 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
90709  VULKAN_HPP_NAMESPACE::ComponentMapping components_ = {},
90713  VULKAN_HPP_NAMESPACE::Bool32 forceExplicitReconstruction_ = {},
90714  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
90715  : pNext( pNext_ )
90716  , format( format_ )
90717  , ycbcrModel( ycbcrModel_ )
90718  , ycbcrRange( ycbcrRange_ )
90719  , components( components_ )
90720  , xChromaOffset( xChromaOffset_ )
90721  , yChromaOffset( yChromaOffset_ )
90722  , chromaFilter( chromaFilter_ )
90723  , forceExplicitReconstruction( forceExplicitReconstruction_ )
90724  {
90725  }
90726 
90727  VULKAN_HPP_CONSTEXPR SamplerYcbcrConversionCreateInfo( SamplerYcbcrConversionCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
90728 
90730  : SamplerYcbcrConversionCreateInfo( *reinterpret_cast<SamplerYcbcrConversionCreateInfo const *>( &rhs ) )
90731  {
90732  }
90733 
90735 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
90736 
90738  {
90739  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo const *>( &rhs );
90740  return *this;
90741  }
90742 
90743 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
90745  {
90746  pNext = pNext_;
90747  return *this;
90748  }
90749 
90751  {
90752  format = format_;
90753  return *this;
90754  }
90755 
90758  {
90759  ycbcrModel = ycbcrModel_;
90760  return *this;
90761  }
90762 
90764  {
90765  ycbcrRange = ycbcrRange_;
90766  return *this;
90767  }
90768 
90770  {
90771  components = components_;
90772  return *this;
90773  }
90774 
90776  {
90777  xChromaOffset = xChromaOffset_;
90778  return *this;
90779  }
90780 
90782  {
90783  yChromaOffset = yChromaOffset_;
90784  return *this;
90785  }
90786 
90788  {
90789  chromaFilter = chromaFilter_;
90790  return *this;
90791  }
90792 
90795  {
90796  forceExplicitReconstruction = forceExplicitReconstruction_;
90797  return *this;
90798  }
90799 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
90800 
90802  {
90803  return *reinterpret_cast<const VkSamplerYcbcrConversionCreateInfo *>( this );
90804  }
90805 
90807  {
90808  return *reinterpret_cast<VkSamplerYcbcrConversionCreateInfo *>( this );
90809  }
90810 
90811 #if defined( VULKAN_HPP_USE_REFLECT )
90812 # if 14 <= VULKAN_HPP_CPP_VERSION
90813  auto
90814 # else
90815  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
90816  const void * const &,
90825 # endif
90826  reflect() const VULKAN_HPP_NOEXCEPT
90827  {
90828  return std::tie( sType, pNext, format, ycbcrModel, ycbcrRange, components, xChromaOffset, yChromaOffset, chromaFilter, forceExplicitReconstruction );
90829  }
90830 #endif
90831 
90832 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
90833  auto operator<=>( SamplerYcbcrConversionCreateInfo const & ) const = default;
90834 #else
90836  {
90837 # if defined( VULKAN_HPP_USE_REFLECT )
90838  return this->reflect() == rhs.reflect();
90839 # else
90840  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( format == rhs.format ) && ( ycbcrModel == rhs.ycbcrModel ) &&
90841  ( ycbcrRange == rhs.ycbcrRange ) && ( components == rhs.components ) && ( xChromaOffset == rhs.xChromaOffset ) &&
90842  ( yChromaOffset == rhs.yChromaOffset ) && ( chromaFilter == rhs.chromaFilter ) &&
90843  ( forceExplicitReconstruction == rhs.forceExplicitReconstruction );
90844 # endif
90845  }
90846 
90848  {
90849  return !operator==( rhs );
90850  }
90851 #endif
90852 
90853  public:
90854  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSamplerYcbcrConversionCreateInfo;
90855  const void * pNext = {};
90863  VULKAN_HPP_NAMESPACE::Bool32 forceExplicitReconstruction = {};
90864  };
90865 
90866  template <>
90868  {
90870  };
90872 
90874  {
90876 
90877  static const bool allowDuplicate = false;
90878  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSamplerYcbcrConversionImageFormatProperties;
90879 
90880 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
90881  VULKAN_HPP_CONSTEXPR SamplerYcbcrConversionImageFormatProperties( uint32_t combinedImageSamplerDescriptorCount_ = {},
90882  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
90883  : pNext( pNext_ )
90884  , combinedImageSamplerDescriptorCount( combinedImageSamplerDescriptorCount_ )
90885  {
90886  }
90887 
90888  VULKAN_HPP_CONSTEXPR SamplerYcbcrConversionImageFormatProperties( SamplerYcbcrConversionImageFormatProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
90889 
90891  : SamplerYcbcrConversionImageFormatProperties( *reinterpret_cast<SamplerYcbcrConversionImageFormatProperties const *>( &rhs ) )
90892  {
90893  }
90894 
90896 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
90897 
90899  {
90900  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionImageFormatProperties const *>( &rhs );
90901  return *this;
90902  }
90903 
90905  {
90906  return *reinterpret_cast<const VkSamplerYcbcrConversionImageFormatProperties *>( this );
90907  }
90908 
90910  {
90911  return *reinterpret_cast<VkSamplerYcbcrConversionImageFormatProperties *>( this );
90912  }
90913 
90914 #if defined( VULKAN_HPP_USE_REFLECT )
90915 # if 14 <= VULKAN_HPP_CPP_VERSION
90916  auto
90917 # else
90918  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, uint32_t const &>
90919 # endif
90920  reflect() const VULKAN_HPP_NOEXCEPT
90921  {
90922  return std::tie( sType, pNext, combinedImageSamplerDescriptorCount );
90923  }
90924 #endif
90925 
90926 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
90927  auto operator<=>( SamplerYcbcrConversionImageFormatProperties const & ) const = default;
90928 #else
90930  {
90931 # if defined( VULKAN_HPP_USE_REFLECT )
90932  return this->reflect() == rhs.reflect();
90933 # else
90934  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( combinedImageSamplerDescriptorCount == rhs.combinedImageSamplerDescriptorCount );
90935 # endif
90936  }
90937 
90939  {
90940  return !operator==( rhs );
90941  }
90942 #endif
90943 
90944  public:
90945  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSamplerYcbcrConversionImageFormatProperties;
90946  void * pNext = {};
90947  uint32_t combinedImageSamplerDescriptorCount = {};
90948  };
90949 
90950  template <>
90952  {
90954  };
90956 
90958  {
90960 
90961  static const bool allowDuplicate = false;
90962  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSamplerYcbcrConversionInfo;
90963 
90964 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
90966  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
90967  : pNext( pNext_ )
90968  , conversion( conversion_ )
90969  {
90970  }
90971 
90972  VULKAN_HPP_CONSTEXPR SamplerYcbcrConversionInfo( SamplerYcbcrConversionInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
90973 
90975  : SamplerYcbcrConversionInfo( *reinterpret_cast<SamplerYcbcrConversionInfo const *>( &rhs ) )
90976  {
90977  }
90978 
90979  SamplerYcbcrConversionInfo & operator=( SamplerYcbcrConversionInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
90980 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
90981 
90983  {
90984  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionInfo const *>( &rhs );
90985  return *this;
90986  }
90987 
90988 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
90990  {
90991  pNext = pNext_;
90992  return *this;
90993  }
90994 
90996  {
90997  conversion = conversion_;
90998  return *this;
90999  }
91000 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
91001 
91003  {
91004  return *reinterpret_cast<const VkSamplerYcbcrConversionInfo *>( this );
91005  }
91006 
91008  {
91009  return *reinterpret_cast<VkSamplerYcbcrConversionInfo *>( this );
91010  }
91011 
91012 #if defined( VULKAN_HPP_USE_REFLECT )
91013 # if 14 <= VULKAN_HPP_CPP_VERSION
91014  auto
91015 # else
91016  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion const &>
91017 # endif
91018  reflect() const VULKAN_HPP_NOEXCEPT
91019  {
91020  return std::tie( sType, pNext, conversion );
91021  }
91022 #endif
91023 
91024 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
91025  auto operator<=>( SamplerYcbcrConversionInfo const & ) const = default;
91026 #else
91028  {
91029 # if defined( VULKAN_HPP_USE_REFLECT )
91030  return this->reflect() == rhs.reflect();
91031 # else
91032  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( conversion == rhs.conversion );
91033 # endif
91034  }
91035 
91037  {
91038  return !operator==( rhs );
91039  }
91040 #endif
91041 
91042  public:
91043  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSamplerYcbcrConversionInfo;
91044  const void * pNext = {};
91046  };
91047 
91048  template <>
91050  {
91052  };
91054 
91055 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
91056  struct ScreenSurfaceCreateInfoQNX
91057  {
91058  using NativeType = VkScreenSurfaceCreateInfoQNX;
91059 
91060  static const bool allowDuplicate = false;
91061  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eScreenSurfaceCreateInfoQNX;
91062 
91063 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
91064  VULKAN_HPP_CONSTEXPR ScreenSurfaceCreateInfoQNX( VULKAN_HPP_NAMESPACE::ScreenSurfaceCreateFlagsQNX flags_ = {},
91065  struct _screen_context * context_ = {},
91066  struct _screen_window * window_ = {},
91067  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
91068  : pNext( pNext_ )
91069  , flags( flags_ )
91070  , context( context_ )
91071  , window( window_ )
91072  {
91073  }
91074 
91075  VULKAN_HPP_CONSTEXPR ScreenSurfaceCreateInfoQNX( ScreenSurfaceCreateInfoQNX const & rhs ) VULKAN_HPP_NOEXCEPT = default;
91076 
91077  ScreenSurfaceCreateInfoQNX( VkScreenSurfaceCreateInfoQNX const & rhs ) VULKAN_HPP_NOEXCEPT
91078  : ScreenSurfaceCreateInfoQNX( *reinterpret_cast<ScreenSurfaceCreateInfoQNX const *>( &rhs ) )
91079  {
91080  }
91081 
91082  ScreenSurfaceCreateInfoQNX & operator=( ScreenSurfaceCreateInfoQNX const & rhs ) VULKAN_HPP_NOEXCEPT = default;
91083 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
91084 
91085  ScreenSurfaceCreateInfoQNX & operator=( VkScreenSurfaceCreateInfoQNX const & rhs ) VULKAN_HPP_NOEXCEPT
91086  {
91087  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ScreenSurfaceCreateInfoQNX const *>( &rhs );
91088  return *this;
91089  }
91090 
91091 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
91092  VULKAN_HPP_CONSTEXPR_14 ScreenSurfaceCreateInfoQNX & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
91093  {
91094  pNext = pNext_;
91095  return *this;
91096  }
91097 
91098  VULKAN_HPP_CONSTEXPR_14 ScreenSurfaceCreateInfoQNX & setFlags( VULKAN_HPP_NAMESPACE::ScreenSurfaceCreateFlagsQNX flags_ ) VULKAN_HPP_NOEXCEPT
91099  {
91100  flags = flags_;
91101  return *this;
91102  }
91103 
91104  VULKAN_HPP_CONSTEXPR_14 ScreenSurfaceCreateInfoQNX & setContext( struct _screen_context * context_ ) VULKAN_HPP_NOEXCEPT
91105  {
91106  context = context_;
91107  return *this;
91108  }
91109 
91110  VULKAN_HPP_CONSTEXPR_14 ScreenSurfaceCreateInfoQNX & setWindow( struct _screen_window * window_ ) VULKAN_HPP_NOEXCEPT
91111  {
91112  window = window_;
91113  return *this;
91114  }
91115 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
91116 
91117  operator VkScreenSurfaceCreateInfoQNX const &() const VULKAN_HPP_NOEXCEPT
91118  {
91119  return *reinterpret_cast<const VkScreenSurfaceCreateInfoQNX *>( this );
91120  }
91121 
91123  {
91124  return *reinterpret_cast<VkScreenSurfaceCreateInfoQNX *>( this );
91125  }
91126 
91127 # if defined( VULKAN_HPP_USE_REFLECT )
91128 # if 14 <= VULKAN_HPP_CPP_VERSION
91129  auto
91130 # else
91131  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
91132  const void * const &,
91133  VULKAN_HPP_NAMESPACE::ScreenSurfaceCreateFlagsQNX const &,
91134  struct _screen_context * const &,
91135  struct _screen_window * const &>
91136 # endif
91137  reflect() const VULKAN_HPP_NOEXCEPT
91138  {
91139  return std::tie( sType, pNext, flags, context, window );
91140  }
91141 # endif
91142 
91143 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
91144  auto operator<=>( ScreenSurfaceCreateInfoQNX const & ) const = default;
91145 # else
91146  bool operator==( ScreenSurfaceCreateInfoQNX const & rhs ) const VULKAN_HPP_NOEXCEPT
91147  {
91148 # if defined( VULKAN_HPP_USE_REFLECT )
91149  return this->reflect() == rhs.reflect();
91150 # else
91151  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( context == rhs.context ) && ( window == rhs.window );
91152 # endif
91153  }
91154 
91155  bool operator!=( ScreenSurfaceCreateInfoQNX const & rhs ) const VULKAN_HPP_NOEXCEPT
91156  {
91157  return !operator==( rhs );
91158  }
91159 # endif
91160 
91161  public:
91162  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eScreenSurfaceCreateInfoQNX;
91163  const void * pNext = {};
91164  VULKAN_HPP_NAMESPACE::ScreenSurfaceCreateFlagsQNX flags = {};
91165  struct _screen_context * context = {};
91166  struct _screen_window * window = {};
91167  };
91168 
91169  template <>
91170  struct CppType<StructureType, StructureType::eScreenSurfaceCreateInfoQNX>
91171  {
91172  using Type = ScreenSurfaceCreateInfoQNX;
91173  };
91174 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
91175 
91177  {
91179 
91180  static const bool allowDuplicate = false;
91181  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSemaphoreCreateInfo;
91182 
91183 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
91185  : pNext( pNext_ )
91186  , flags( flags_ )
91187  {
91188  }
91189 
91190  VULKAN_HPP_CONSTEXPR SemaphoreCreateInfo( SemaphoreCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
91191 
91192  SemaphoreCreateInfo( VkSemaphoreCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT : SemaphoreCreateInfo( *reinterpret_cast<SemaphoreCreateInfo const *>( &rhs ) )
91193  {
91194  }
91195 
91196  SemaphoreCreateInfo & operator=( SemaphoreCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
91197 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
91198 
91200  {
91201  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SemaphoreCreateInfo const *>( &rhs );
91202  return *this;
91203  }
91204 
91205 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
91207  {
91208  pNext = pNext_;
91209  return *this;
91210  }
91211 
91213  {
91214  flags = flags_;
91215  return *this;
91216  }
91217 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
91218 
91220  {
91221  return *reinterpret_cast<const VkSemaphoreCreateInfo *>( this );
91222  }
91223 
91225  {
91226  return *reinterpret_cast<VkSemaphoreCreateInfo *>( this );
91227  }
91228 
91229 #if defined( VULKAN_HPP_USE_REFLECT )
91230 # if 14 <= VULKAN_HPP_CPP_VERSION
91231  auto
91232 # else
91233  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::SemaphoreCreateFlags const &>
91234 # endif
91235  reflect() const VULKAN_HPP_NOEXCEPT
91236  {
91237  return std::tie( sType, pNext, flags );
91238  }
91239 #endif
91240 
91241 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
91242  auto operator<=>( SemaphoreCreateInfo const & ) const = default;
91243 #else
91245  {
91246 # if defined( VULKAN_HPP_USE_REFLECT )
91247  return this->reflect() == rhs.reflect();
91248 # else
91249  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags );
91250 # endif
91251  }
91252 
91254  {
91255  return !operator==( rhs );
91256  }
91257 #endif
91258 
91259  public:
91260  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSemaphoreCreateInfo;
91261  const void * pNext = {};
91263  };
91264 
91265  template <>
91267  {
91269  };
91270 
91272  {
91274 
91275  static const bool allowDuplicate = false;
91276  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSemaphoreGetFdInfoKHR;
91277 
91278 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
91280  VULKAN_HPP_NAMESPACE::Semaphore semaphore_ = {},
91282  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
91283  : pNext( pNext_ )
91284  , semaphore( semaphore_ )
91285  , handleType( handleType_ )
91286  {
91287  }
91288 
91289  VULKAN_HPP_CONSTEXPR SemaphoreGetFdInfoKHR( SemaphoreGetFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
91290 
91292  : SemaphoreGetFdInfoKHR( *reinterpret_cast<SemaphoreGetFdInfoKHR const *>( &rhs ) )
91293  {
91294  }
91295 
91296  SemaphoreGetFdInfoKHR & operator=( SemaphoreGetFdInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
91297 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
91298 
91300  {
91301  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SemaphoreGetFdInfoKHR const *>( &rhs );
91302  return *this;
91303  }
91304 
91305 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
91307  {
91308  pNext = pNext_;
91309  return *this;
91310  }
91311 
91313  {
91314  semaphore = semaphore_;
91315  return *this;
91316  }
91317 
91319  {
91320  handleType = handleType_;
91321  return *this;
91322  }
91323 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
91324 
91326  {
91327  return *reinterpret_cast<const VkSemaphoreGetFdInfoKHR *>( this );
91328  }
91329 
91331  {
91332  return *reinterpret_cast<VkSemaphoreGetFdInfoKHR *>( this );
91333  }
91334 
91335 #if defined( VULKAN_HPP_USE_REFLECT )
91336 # if 14 <= VULKAN_HPP_CPP_VERSION
91337  auto
91338 # else
91339  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
91340  const void * const &,
91343 # endif
91344  reflect() const VULKAN_HPP_NOEXCEPT
91345  {
91346  return std::tie( sType, pNext, semaphore, handleType );
91347  }
91348 #endif
91349 
91350 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
91351  auto operator<=>( SemaphoreGetFdInfoKHR const & ) const = default;
91352 #else
91354  {
91355 # if defined( VULKAN_HPP_USE_REFLECT )
91356  return this->reflect() == rhs.reflect();
91357 # else
91358  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( semaphore == rhs.semaphore ) && ( handleType == rhs.handleType );
91359 # endif
91360  }
91361 
91363  {
91364  return !operator==( rhs );
91365  }
91366 #endif
91367 
91368  public:
91369  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSemaphoreGetFdInfoKHR;
91370  const void * pNext = {};
91373  };
91374 
91375  template <>
91377  {
91379  };
91380 
91381 #if defined( VK_USE_PLATFORM_WIN32_KHR )
91382  struct SemaphoreGetWin32HandleInfoKHR
91383  {
91384  using NativeType = VkSemaphoreGetWin32HandleInfoKHR;
91385 
91386  static const bool allowDuplicate = false;
91387  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSemaphoreGetWin32HandleInfoKHR;
91388 
91389 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
91390  VULKAN_HPP_CONSTEXPR SemaphoreGetWin32HandleInfoKHR(
91391  VULKAN_HPP_NAMESPACE::Semaphore semaphore_ = {},
91393  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
91394  : pNext( pNext_ )
91395  , semaphore( semaphore_ )
91396  , handleType( handleType_ )
91397  {
91398  }
91399 
91400  VULKAN_HPP_CONSTEXPR SemaphoreGetWin32HandleInfoKHR( SemaphoreGetWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
91401 
91402  SemaphoreGetWin32HandleInfoKHR( VkSemaphoreGetWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
91403  : SemaphoreGetWin32HandleInfoKHR( *reinterpret_cast<SemaphoreGetWin32HandleInfoKHR const *>( &rhs ) )
91404  {
91405  }
91406 
91407  SemaphoreGetWin32HandleInfoKHR & operator=( SemaphoreGetWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
91408 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
91409 
91410  SemaphoreGetWin32HandleInfoKHR & operator=( VkSemaphoreGetWin32HandleInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
91411  {
91412  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SemaphoreGetWin32HandleInfoKHR const *>( &rhs );
91413  return *this;
91414  }
91415 
91416 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
91417  VULKAN_HPP_CONSTEXPR_14 SemaphoreGetWin32HandleInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
91418  {
91419  pNext = pNext_;
91420  return *this;
91421  }
91422 
91423  VULKAN_HPP_CONSTEXPR_14 SemaphoreGetWin32HandleInfoKHR & setSemaphore( VULKAN_HPP_NAMESPACE::Semaphore semaphore_ ) VULKAN_HPP_NOEXCEPT
91424  {
91425  semaphore = semaphore_;
91426  return *this;
91427  }
91428 
91429  VULKAN_HPP_CONSTEXPR_14 SemaphoreGetWin32HandleInfoKHR &
91431  {
91432  handleType = handleType_;
91433  return *this;
91434  }
91435 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
91436 
91437  operator VkSemaphoreGetWin32HandleInfoKHR const &() const VULKAN_HPP_NOEXCEPT
91438  {
91439  return *reinterpret_cast<const VkSemaphoreGetWin32HandleInfoKHR *>( this );
91440  }
91441 
91443  {
91444  return *reinterpret_cast<VkSemaphoreGetWin32HandleInfoKHR *>( this );
91445  }
91446 
91447 # if defined( VULKAN_HPP_USE_REFLECT )
91448 # if 14 <= VULKAN_HPP_CPP_VERSION
91449  auto
91450 # else
91451  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
91452  const void * const &,
91455 # endif
91456  reflect() const VULKAN_HPP_NOEXCEPT
91457  {
91458  return std::tie( sType, pNext, semaphore, handleType );
91459  }
91460 # endif
91461 
91462 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
91463  auto operator<=>( SemaphoreGetWin32HandleInfoKHR const & ) const = default;
91464 # else
91465  bool operator==( SemaphoreGetWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
91466  {
91467 # if defined( VULKAN_HPP_USE_REFLECT )
91468  return this->reflect() == rhs.reflect();
91469 # else
91470  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( semaphore == rhs.semaphore ) && ( handleType == rhs.handleType );
91471 # endif
91472  }
91473 
91474  bool operator!=( SemaphoreGetWin32HandleInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
91475  {
91476  return !operator==( rhs );
91477  }
91478 # endif
91479 
91480  public:
91481  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSemaphoreGetWin32HandleInfoKHR;
91482  const void * pNext = {};
91483  VULKAN_HPP_NAMESPACE::Semaphore semaphore = {};
91485  };
91486 
91487  template <>
91488  struct CppType<StructureType, StructureType::eSemaphoreGetWin32HandleInfoKHR>
91489  {
91490  using Type = SemaphoreGetWin32HandleInfoKHR;
91491  };
91492 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
91493 
91494 #if defined( VK_USE_PLATFORM_FUCHSIA )
91495  struct SemaphoreGetZirconHandleInfoFUCHSIA
91496  {
91497  using NativeType = VkSemaphoreGetZirconHandleInfoFUCHSIA;
91498 
91499  static const bool allowDuplicate = false;
91500  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSemaphoreGetZirconHandleInfoFUCHSIA;
91501 
91502 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
91503  VULKAN_HPP_CONSTEXPR SemaphoreGetZirconHandleInfoFUCHSIA(
91504  VULKAN_HPP_NAMESPACE::Semaphore semaphore_ = {},
91506  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
91507  : pNext( pNext_ )
91508  , semaphore( semaphore_ )
91509  , handleType( handleType_ )
91510  {
91511  }
91512 
91513  VULKAN_HPP_CONSTEXPR SemaphoreGetZirconHandleInfoFUCHSIA( SemaphoreGetZirconHandleInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
91514 
91515  SemaphoreGetZirconHandleInfoFUCHSIA( VkSemaphoreGetZirconHandleInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
91516  : SemaphoreGetZirconHandleInfoFUCHSIA( *reinterpret_cast<SemaphoreGetZirconHandleInfoFUCHSIA const *>( &rhs ) )
91517  {
91518  }
91519 
91520  SemaphoreGetZirconHandleInfoFUCHSIA & operator=( SemaphoreGetZirconHandleInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
91521 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
91522 
91523  SemaphoreGetZirconHandleInfoFUCHSIA & operator=( VkSemaphoreGetZirconHandleInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
91524  {
91525  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SemaphoreGetZirconHandleInfoFUCHSIA const *>( &rhs );
91526  return *this;
91527  }
91528 
91529 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
91530  VULKAN_HPP_CONSTEXPR_14 SemaphoreGetZirconHandleInfoFUCHSIA & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
91531  {
91532  pNext = pNext_;
91533  return *this;
91534  }
91535 
91536  VULKAN_HPP_CONSTEXPR_14 SemaphoreGetZirconHandleInfoFUCHSIA & setSemaphore( VULKAN_HPP_NAMESPACE::Semaphore semaphore_ ) VULKAN_HPP_NOEXCEPT
91537  {
91538  semaphore = semaphore_;
91539  return *this;
91540  }
91541 
91542  VULKAN_HPP_CONSTEXPR_14 SemaphoreGetZirconHandleInfoFUCHSIA &
91544  {
91545  handleType = handleType_;
91546  return *this;
91547  }
91548 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
91549 
91551  {
91552  return *reinterpret_cast<const VkSemaphoreGetZirconHandleInfoFUCHSIA *>( this );
91553  }
91554 
91556  {
91557  return *reinterpret_cast<VkSemaphoreGetZirconHandleInfoFUCHSIA *>( this );
91558  }
91559 
91560 # if defined( VULKAN_HPP_USE_REFLECT )
91561 # if 14 <= VULKAN_HPP_CPP_VERSION
91562  auto
91563 # else
91564  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
91565  const void * const &,
91568 # endif
91569  reflect() const VULKAN_HPP_NOEXCEPT
91570  {
91571  return std::tie( sType, pNext, semaphore, handleType );
91572  }
91573 # endif
91574 
91575 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
91576  auto operator<=>( SemaphoreGetZirconHandleInfoFUCHSIA const & ) const = default;
91577 # else
91578  bool operator==( SemaphoreGetZirconHandleInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
91579  {
91580 # if defined( VULKAN_HPP_USE_REFLECT )
91581  return this->reflect() == rhs.reflect();
91582 # else
91583  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( semaphore == rhs.semaphore ) && ( handleType == rhs.handleType );
91584 # endif
91585  }
91586 
91587  bool operator!=( SemaphoreGetZirconHandleInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
91588  {
91589  return !operator==( rhs );
91590  }
91591 # endif
91592 
91593  public:
91594  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSemaphoreGetZirconHandleInfoFUCHSIA;
91595  const void * pNext = {};
91596  VULKAN_HPP_NAMESPACE::Semaphore semaphore = {};
91598  };
91599 
91600  template <>
91601  struct CppType<StructureType, StructureType::eSemaphoreGetZirconHandleInfoFUCHSIA>
91602  {
91603  using Type = SemaphoreGetZirconHandleInfoFUCHSIA;
91604  };
91605 #endif /*VK_USE_PLATFORM_FUCHSIA*/
91606 
91608  {
91610 
91611  static const bool allowDuplicate = false;
91612  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSemaphoreSignalInfo;
91613 
91614 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
91616  SemaphoreSignalInfo( VULKAN_HPP_NAMESPACE::Semaphore semaphore_ = {}, uint64_t value_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
91617  : pNext( pNext_ )
91618  , semaphore( semaphore_ )
91619  , value( value_ )
91620  {
91621  }
91622 
91623  VULKAN_HPP_CONSTEXPR SemaphoreSignalInfo( SemaphoreSignalInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
91624 
91625  SemaphoreSignalInfo( VkSemaphoreSignalInfo const & rhs ) VULKAN_HPP_NOEXCEPT : SemaphoreSignalInfo( *reinterpret_cast<SemaphoreSignalInfo const *>( &rhs ) )
91626  {
91627  }
91628 
91629  SemaphoreSignalInfo & operator=( SemaphoreSignalInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
91630 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
91631 
91633  {
91634  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo const *>( &rhs );
91635  return *this;
91636  }
91637 
91638 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
91640  {
91641  pNext = pNext_;
91642  return *this;
91643  }
91644 
91646  {
91647  semaphore = semaphore_;
91648  return *this;
91649  }
91650 
91652  {
91653  value = value_;
91654  return *this;
91655  }
91656 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
91657 
91659  {
91660  return *reinterpret_cast<const VkSemaphoreSignalInfo *>( this );
91661  }
91662 
91664  {
91665  return *reinterpret_cast<VkSemaphoreSignalInfo *>( this );
91666  }
91667 
91668 #if defined( VULKAN_HPP_USE_REFLECT )
91669 # if 14 <= VULKAN_HPP_CPP_VERSION
91670  auto
91671 # else
91672  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::Semaphore const &, uint64_t const &>
91673 # endif
91674  reflect() const VULKAN_HPP_NOEXCEPT
91675  {
91676  return std::tie( sType, pNext, semaphore, value );
91677  }
91678 #endif
91679 
91680 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
91681  auto operator<=>( SemaphoreSignalInfo const & ) const = default;
91682 #else
91684  {
91685 # if defined( VULKAN_HPP_USE_REFLECT )
91686  return this->reflect() == rhs.reflect();
91687 # else
91688  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( semaphore == rhs.semaphore ) && ( value == rhs.value );
91689 # endif
91690  }
91691 
91693  {
91694  return !operator==( rhs );
91695  }
91696 #endif
91697 
91698  public:
91699  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSemaphoreSignalInfo;
91700  const void * pNext = {};
91702  uint64_t value = {};
91703  };
91704 
91705  template <>
91707  {
91709  };
91711 
91713  {
91715 
91716  static const bool allowDuplicate = false;
91717  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSemaphoreSubmitInfo;
91718 
91719 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
91721  uint64_t value_ = {},
91723  uint32_t deviceIndex_ = {},
91724  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
91725  : pNext( pNext_ )
91726  , semaphore( semaphore_ )
91727  , value( value_ )
91728  , stageMask( stageMask_ )
91729  , deviceIndex( deviceIndex_ )
91730  {
91731  }
91732 
91733  VULKAN_HPP_CONSTEXPR SemaphoreSubmitInfo( SemaphoreSubmitInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
91734 
91735  SemaphoreSubmitInfo( VkSemaphoreSubmitInfo const & rhs ) VULKAN_HPP_NOEXCEPT : SemaphoreSubmitInfo( *reinterpret_cast<SemaphoreSubmitInfo const *>( &rhs ) )
91736  {
91737  }
91738 
91739  SemaphoreSubmitInfo & operator=( SemaphoreSubmitInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
91740 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
91741 
91743  {
91744  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SemaphoreSubmitInfo const *>( &rhs );
91745  return *this;
91746  }
91747 
91748 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
91750  {
91751  pNext = pNext_;
91752  return *this;
91753  }
91754 
91756  {
91757  semaphore = semaphore_;
91758  return *this;
91759  }
91760 
91762  {
91763  value = value_;
91764  return *this;
91765  }
91766 
91768  {
91769  stageMask = stageMask_;
91770  return *this;
91771  }
91772 
91774  {
91775  deviceIndex = deviceIndex_;
91776  return *this;
91777  }
91778 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
91779 
91781  {
91782  return *reinterpret_cast<const VkSemaphoreSubmitInfo *>( this );
91783  }
91784 
91786  {
91787  return *reinterpret_cast<VkSemaphoreSubmitInfo *>( this );
91788  }
91789 
91790 #if defined( VULKAN_HPP_USE_REFLECT )
91791 # if 14 <= VULKAN_HPP_CPP_VERSION
91792  auto
91793 # else
91794  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
91795  const void * const &,
91797  uint64_t const &,
91799  uint32_t const &>
91800 # endif
91801  reflect() const VULKAN_HPP_NOEXCEPT
91802  {
91803  return std::tie( sType, pNext, semaphore, value, stageMask, deviceIndex );
91804  }
91805 #endif
91806 
91807 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
91808  auto operator<=>( SemaphoreSubmitInfo const & ) const = default;
91809 #else
91811  {
91812 # if defined( VULKAN_HPP_USE_REFLECT )
91813  return this->reflect() == rhs.reflect();
91814 # else
91815  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( semaphore == rhs.semaphore ) && ( value == rhs.value ) && ( stageMask == rhs.stageMask ) &&
91816  ( deviceIndex == rhs.deviceIndex );
91817 # endif
91818  }
91819 
91821  {
91822  return !operator==( rhs );
91823  }
91824 #endif
91825 
91826  public:
91827  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSemaphoreSubmitInfo;
91828  const void * pNext = {};
91830  uint64_t value = {};
91832  uint32_t deviceIndex = {};
91833  };
91834 
91835  template <>
91837  {
91839  };
91841 
91843  {
91845 
91846  static const bool allowDuplicate = false;
91847  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSemaphoreTypeCreateInfo;
91848 
91849 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
91851  uint64_t initialValue_ = {},
91852  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
91853  : pNext( pNext_ )
91854  , semaphoreType( semaphoreType_ )
91855  , initialValue( initialValue_ )
91856  {
91857  }
91858 
91859  VULKAN_HPP_CONSTEXPR SemaphoreTypeCreateInfo( SemaphoreTypeCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
91860 
91862  : SemaphoreTypeCreateInfo( *reinterpret_cast<SemaphoreTypeCreateInfo const *>( &rhs ) )
91863  {
91864  }
91865 
91866  SemaphoreTypeCreateInfo & operator=( SemaphoreTypeCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
91867 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
91868 
91870  {
91871  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SemaphoreTypeCreateInfo const *>( &rhs );
91872  return *this;
91873  }
91874 
91875 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
91877  {
91878  pNext = pNext_;
91879  return *this;
91880  }
91881 
91883  {
91884  semaphoreType = semaphoreType_;
91885  return *this;
91886  }
91887 
91889  {
91890  initialValue = initialValue_;
91891  return *this;
91892  }
91893 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
91894 
91896  {
91897  return *reinterpret_cast<const VkSemaphoreTypeCreateInfo *>( this );
91898  }
91899 
91901  {
91902  return *reinterpret_cast<VkSemaphoreTypeCreateInfo *>( this );
91903  }
91904 
91905 #if defined( VULKAN_HPP_USE_REFLECT )
91906 # if 14 <= VULKAN_HPP_CPP_VERSION
91907  auto
91908 # else
91909  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::SemaphoreType const &, uint64_t const &>
91910 # endif
91911  reflect() const VULKAN_HPP_NOEXCEPT
91912  {
91913  return std::tie( sType, pNext, semaphoreType, initialValue );
91914  }
91915 #endif
91916 
91917 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
91918  auto operator<=>( SemaphoreTypeCreateInfo const & ) const = default;
91919 #else
91921  {
91922 # if defined( VULKAN_HPP_USE_REFLECT )
91923  return this->reflect() == rhs.reflect();
91924 # else
91925  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( semaphoreType == rhs.semaphoreType ) && ( initialValue == rhs.initialValue );
91926 # endif
91927  }
91928 
91930  {
91931  return !operator==( rhs );
91932  }
91933 #endif
91934 
91935  public:
91936  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSemaphoreTypeCreateInfo;
91937  const void * pNext = {};
91939  uint64_t initialValue = {};
91940  };
91941 
91942  template <>
91944  {
91946  };
91948 
91950  {
91952 
91953  static const bool allowDuplicate = false;
91954  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSemaphoreWaitInfo;
91955 
91956 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
91958  uint32_t semaphoreCount_ = {},
91959  const VULKAN_HPP_NAMESPACE::Semaphore * pSemaphores_ = {},
91960  const uint64_t * pValues_ = {},
91961  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
91962  : pNext( pNext_ )
91963  , flags( flags_ )
91964  , semaphoreCount( semaphoreCount_ )
91965  , pSemaphores( pSemaphores_ )
91966  , pValues( pValues_ )
91967  {
91968  }
91969 
91970  VULKAN_HPP_CONSTEXPR SemaphoreWaitInfo( SemaphoreWaitInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
91971 
91972  SemaphoreWaitInfo( VkSemaphoreWaitInfo const & rhs ) VULKAN_HPP_NOEXCEPT : SemaphoreWaitInfo( *reinterpret_cast<SemaphoreWaitInfo const *>( &rhs ) ) {}
91973 
91974 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
91978  const void * pNext_ = nullptr )
91979  : pNext( pNext_ )
91980  , flags( flags_ )
91981  , semaphoreCount( static_cast<uint32_t>( semaphores_.size() ) )
91982  , pSemaphores( semaphores_.data() )
91983  , pValues( values_.data() )
91984  {
91985 # ifdef VULKAN_HPP_NO_EXCEPTIONS
91986  VULKAN_HPP_ASSERT( semaphores_.size() == values_.size() );
91987 # else
91988  if ( semaphores_.size() != values_.size() )
91989  {
91990  throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::SemaphoreWaitInfo::SemaphoreWaitInfo: semaphores_.size() != values_.size()" );
91991  }
91992 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/
91993  }
91994 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
91995 
91996  SemaphoreWaitInfo & operator=( SemaphoreWaitInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
91997 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
91998 
92000  {
92001  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo const *>( &rhs );
92002  return *this;
92003  }
92004 
92005 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
92007  {
92008  pNext = pNext_;
92009  return *this;
92010  }
92011 
92013  {
92014  flags = flags_;
92015  return *this;
92016  }
92017 
92019  {
92020  semaphoreCount = semaphoreCount_;
92021  return *this;
92022  }
92023 
92025  {
92026  pSemaphores = pSemaphores_;
92027  return *this;
92028  }
92029 
92030 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
92033  {
92034  semaphoreCount = static_cast<uint32_t>( semaphores_.size() );
92035  pSemaphores = semaphores_.data();
92036  return *this;
92037  }
92038 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
92039 
92041  {
92042  pValues = pValues_;
92043  return *this;
92044  }
92045 
92046 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
92048  {
92049  semaphoreCount = static_cast<uint32_t>( values_.size() );
92050  pValues = values_.data();
92051  return *this;
92052  }
92053 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
92054 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
92055 
92056  operator VkSemaphoreWaitInfo const &() const VULKAN_HPP_NOEXCEPT
92057  {
92058  return *reinterpret_cast<const VkSemaphoreWaitInfo *>( this );
92059  }
92060 
92062  {
92063  return *reinterpret_cast<VkSemaphoreWaitInfo *>( this );
92064  }
92065 
92066 #if defined( VULKAN_HPP_USE_REFLECT )
92067 # if 14 <= VULKAN_HPP_CPP_VERSION
92068  auto
92069 # else
92070  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
92071  const void * const &,
92073  uint32_t const &,
92074  const VULKAN_HPP_NAMESPACE::Semaphore * const &,
92075  const uint64_t * const &>
92076 # endif
92077  reflect() const VULKAN_HPP_NOEXCEPT
92078  {
92079  return std::tie( sType, pNext, flags, semaphoreCount, pSemaphores, pValues );
92080  }
92081 #endif
92082 
92083 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
92084  auto operator<=>( SemaphoreWaitInfo const & ) const = default;
92085 #else
92087  {
92088 # if defined( VULKAN_HPP_USE_REFLECT )
92089  return this->reflect() == rhs.reflect();
92090 # else
92091  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( semaphoreCount == rhs.semaphoreCount ) &&
92092  ( pSemaphores == rhs.pSemaphores ) && ( pValues == rhs.pValues );
92093 # endif
92094  }
92095 
92097  {
92098  return !operator==( rhs );
92099  }
92100 #endif
92101 
92102  public:
92103  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSemaphoreWaitInfo;
92104  const void * pNext = {};
92106  uint32_t semaphoreCount = {};
92107  const VULKAN_HPP_NAMESPACE::Semaphore * pSemaphores = {};
92108  const uint64_t * pValues = {};
92109  };
92110 
92111  template <>
92113  {
92115  };
92117 
92119  {
92121 
92122 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
92124 
92125  VULKAN_HPP_CONSTEXPR SetStateFlagsIndirectCommandNV( SetStateFlagsIndirectCommandNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
92126 
92128  : SetStateFlagsIndirectCommandNV( *reinterpret_cast<SetStateFlagsIndirectCommandNV const *>( &rhs ) )
92129  {
92130  }
92131 
92133 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
92134 
92136  {
92137  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SetStateFlagsIndirectCommandNV const *>( &rhs );
92138  return *this;
92139  }
92140 
92141 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
92143  {
92144  data = data_;
92145  return *this;
92146  }
92147 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
92148 
92150  {
92151  return *reinterpret_cast<const VkSetStateFlagsIndirectCommandNV *>( this );
92152  }
92153 
92155  {
92156  return *reinterpret_cast<VkSetStateFlagsIndirectCommandNV *>( this );
92157  }
92158 
92159 #if defined( VULKAN_HPP_USE_REFLECT )
92160 # if 14 <= VULKAN_HPP_CPP_VERSION
92161  auto
92162 # else
92163  std::tuple<uint32_t const &>
92164 # endif
92165  reflect() const VULKAN_HPP_NOEXCEPT
92166  {
92167  return std::tie( data );
92168  }
92169 #endif
92170 
92171 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
92172  auto operator<=>( SetStateFlagsIndirectCommandNV const & ) const = default;
92173 #else
92175  {
92176 # if defined( VULKAN_HPP_USE_REFLECT )
92177  return this->reflect() == rhs.reflect();
92178 # else
92179  return ( data == rhs.data );
92180 # endif
92181  }
92182 
92184  {
92185  return !operator==( rhs );
92186  }
92187 #endif
92188 
92189  public:
92190  uint32_t data = {};
92191  };
92192 
92194  {
92196 
92197  static const bool allowDuplicate = false;
92198  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eShaderModuleCreateInfo;
92199 
92200 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
92202  size_t codeSize_ = {},
92203  const uint32_t * pCode_ = {},
92204  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
92205  : pNext( pNext_ )
92206  , flags( flags_ )
92207  , codeSize( codeSize_ )
92208  , pCode( pCode_ )
92209  {
92210  }
92211 
92212  VULKAN_HPP_CONSTEXPR ShaderModuleCreateInfo( ShaderModuleCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
92213 
92215  : ShaderModuleCreateInfo( *reinterpret_cast<ShaderModuleCreateInfo const *>( &rhs ) )
92216  {
92217  }
92218 
92219 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
92222  const void * pNext_ = nullptr )
92223  : pNext( pNext_ ), flags( flags_ ), codeSize( code_.size() * 4 ), pCode( code_.data() )
92224  {
92225  }
92226 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
92227 
92228  ShaderModuleCreateInfo & operator=( ShaderModuleCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
92229 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
92230 
92232  {
92233  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo const *>( &rhs );
92234  return *this;
92235  }
92236 
92237 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
92239  {
92240  pNext = pNext_;
92241  return *this;
92242  }
92243 
92245  {
92246  flags = flags_;
92247  return *this;
92248  }
92249 
92251  {
92252  codeSize = codeSize_;
92253  return *this;
92254  }
92255 
92257  {
92258  pCode = pCode_;
92259  return *this;
92260  }
92261 
92262 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
92264  {
92265  codeSize = code_.size() * 4;
92266  pCode = code_.data();
92267  return *this;
92268  }
92269 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
92270 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
92271 
92273  {
92274  return *reinterpret_cast<const VkShaderModuleCreateInfo *>( this );
92275  }
92276 
92278  {
92279  return *reinterpret_cast<VkShaderModuleCreateInfo *>( this );
92280  }
92281 
92282 #if defined( VULKAN_HPP_USE_REFLECT )
92283 # if 14 <= VULKAN_HPP_CPP_VERSION
92284  auto
92285 # else
92286  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
92287  const void * const &,
92289  size_t const &,
92290  const uint32_t * const &>
92291 # endif
92292  reflect() const VULKAN_HPP_NOEXCEPT
92293  {
92294  return std::tie( sType, pNext, flags, codeSize, pCode );
92295  }
92296 #endif
92297 
92298 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
92299  auto operator<=>( ShaderModuleCreateInfo const & ) const = default;
92300 #else
92302  {
92303 # if defined( VULKAN_HPP_USE_REFLECT )
92304  return this->reflect() == rhs.reflect();
92305 # else
92306  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( codeSize == rhs.codeSize ) && ( pCode == rhs.pCode );
92307 # endif
92308  }
92309 
92311  {
92312  return !operator==( rhs );
92313  }
92314 #endif
92315 
92316  public:
92317  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eShaderModuleCreateInfo;
92318  const void * pNext = {};
92320  size_t codeSize = {};
92321  const uint32_t * pCode = {};
92322  };
92323 
92324  template <>
92326  {
92328  };
92329 
92331  {
92333 
92334  static const bool allowDuplicate = false;
92335  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eShaderModuleIdentifierEXT;
92336 
92337 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
92338  VULKAN_HPP_CONSTEXPR_14 ShaderModuleIdentifierEXT( uint32_t identifierSize_ = {},
92339  std::array<uint8_t, VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT> const & identifier_ = {},
92340  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
92341  : pNext( pNext_ )
92342  , identifierSize( identifierSize_ )
92343  , identifier( identifier_ )
92344  {
92345  }
92346 
92347  VULKAN_HPP_CONSTEXPR_14 ShaderModuleIdentifierEXT( ShaderModuleIdentifierEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
92348 
92350  : ShaderModuleIdentifierEXT( *reinterpret_cast<ShaderModuleIdentifierEXT const *>( &rhs ) )
92351  {
92352  }
92353 
92354  ShaderModuleIdentifierEXT & operator=( ShaderModuleIdentifierEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
92355 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
92356 
92358  {
92359  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ShaderModuleIdentifierEXT const *>( &rhs );
92360  return *this;
92361  }
92362 
92364  {
92365  return *reinterpret_cast<const VkShaderModuleIdentifierEXT *>( this );
92366  }
92367 
92369  {
92370  return *reinterpret_cast<VkShaderModuleIdentifierEXT *>( this );
92371  }
92372 
92373 #if defined( VULKAN_HPP_USE_REFLECT )
92374 # if 14 <= VULKAN_HPP_CPP_VERSION
92375  auto
92376 # else
92377  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
92378  void * const &,
92379  uint32_t const &,
92381 # endif
92382  reflect() const VULKAN_HPP_NOEXCEPT
92383  {
92384  return std::tie( sType, pNext, identifierSize, identifier );
92385  }
92386 #endif
92387 
92388 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
92389  auto operator<=>( ShaderModuleIdentifierEXT const & ) const = default;
92390 #else
92392  {
92393 # if defined( VULKAN_HPP_USE_REFLECT )
92394  return this->reflect() == rhs.reflect();
92395 # else
92396  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( identifierSize == rhs.identifierSize ) && ( identifier == rhs.identifier );
92397 # endif
92398  }
92399 
92401  {
92402  return !operator==( rhs );
92403  }
92404 #endif
92405 
92406  public:
92407  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eShaderModuleIdentifierEXT;
92408  void * pNext = {};
92409  uint32_t identifierSize = {};
92411  };
92412 
92413  template <>
92415  {
92417  };
92418 
92420  {
92422 
92423  static const bool allowDuplicate = false;
92424  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eShaderModuleValidationCacheCreateInfoEXT;
92425 
92426 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
92428  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
92429  : pNext( pNext_ )
92430  , validationCache( validationCache_ )
92431  {
92432  }
92433 
92434  VULKAN_HPP_CONSTEXPR ShaderModuleValidationCacheCreateInfoEXT( ShaderModuleValidationCacheCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
92435 
92437  : ShaderModuleValidationCacheCreateInfoEXT( *reinterpret_cast<ShaderModuleValidationCacheCreateInfoEXT const *>( &rhs ) )
92438  {
92439  }
92440 
92442 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
92443 
92445  {
92446  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ShaderModuleValidationCacheCreateInfoEXT const *>( &rhs );
92447  return *this;
92448  }
92449 
92450 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
92452  {
92453  pNext = pNext_;
92454  return *this;
92455  }
92456 
92459  {
92460  validationCache = validationCache_;
92461  return *this;
92462  }
92463 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
92464 
92466  {
92467  return *reinterpret_cast<const VkShaderModuleValidationCacheCreateInfoEXT *>( this );
92468  }
92469 
92471  {
92472  return *reinterpret_cast<VkShaderModuleValidationCacheCreateInfoEXT *>( this );
92473  }
92474 
92475 #if defined( VULKAN_HPP_USE_REFLECT )
92476 # if 14 <= VULKAN_HPP_CPP_VERSION
92477  auto
92478 # else
92479  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::ValidationCacheEXT const &>
92480 # endif
92481  reflect() const VULKAN_HPP_NOEXCEPT
92482  {
92483  return std::tie( sType, pNext, validationCache );
92484  }
92485 #endif
92486 
92487 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
92488  auto operator<=>( ShaderModuleValidationCacheCreateInfoEXT const & ) const = default;
92489 #else
92491  {
92492 # if defined( VULKAN_HPP_USE_REFLECT )
92493  return this->reflect() == rhs.reflect();
92494 # else
92495  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( validationCache == rhs.validationCache );
92496 # endif
92497  }
92498 
92500  {
92501  return !operator==( rhs );
92502  }
92503 #endif
92504 
92505  public:
92506  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eShaderModuleValidationCacheCreateInfoEXT;
92507  const void * pNext = {};
92509  };
92510 
92511  template <>
92513  {
92515  };
92516 
92518  {
92520 
92521 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
92522  VULKAN_HPP_CONSTEXPR ShaderResourceUsageAMD( uint32_t numUsedVgprs_ = {},
92523  uint32_t numUsedSgprs_ = {},
92524  uint32_t ldsSizePerLocalWorkGroup_ = {},
92525  size_t ldsUsageSizeInBytes_ = {},
92526  size_t scratchMemUsageInBytes_ = {} ) VULKAN_HPP_NOEXCEPT
92527  : numUsedVgprs( numUsedVgprs_ )
92528  , numUsedSgprs( numUsedSgprs_ )
92529  , ldsSizePerLocalWorkGroup( ldsSizePerLocalWorkGroup_ )
92530  , ldsUsageSizeInBytes( ldsUsageSizeInBytes_ )
92531  , scratchMemUsageInBytes( scratchMemUsageInBytes_ )
92532  {
92533  }
92534 
92535  VULKAN_HPP_CONSTEXPR ShaderResourceUsageAMD( ShaderResourceUsageAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default;
92536 
92538  : ShaderResourceUsageAMD( *reinterpret_cast<ShaderResourceUsageAMD const *>( &rhs ) )
92539  {
92540  }
92541 
92542  ShaderResourceUsageAMD & operator=( ShaderResourceUsageAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default;
92543 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
92544 
92546  {
92547  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ShaderResourceUsageAMD const *>( &rhs );
92548  return *this;
92549  }
92550 
92552  {
92553  return *reinterpret_cast<const VkShaderResourceUsageAMD *>( this );
92554  }
92555 
92557  {
92558  return *reinterpret_cast<VkShaderResourceUsageAMD *>( this );
92559  }
92560 
92561 #if defined( VULKAN_HPP_USE_REFLECT )
92562 # if 14 <= VULKAN_HPP_CPP_VERSION
92563  auto
92564 # else
92565  std::tuple<uint32_t const &, uint32_t const &, uint32_t const &, size_t const &, size_t const &>
92566 # endif
92567  reflect() const VULKAN_HPP_NOEXCEPT
92568  {
92569  return std::tie( numUsedVgprs, numUsedSgprs, ldsSizePerLocalWorkGroup, ldsUsageSizeInBytes, scratchMemUsageInBytes );
92570  }
92571 #endif
92572 
92573 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
92574  auto operator<=>( ShaderResourceUsageAMD const & ) const = default;
92575 #else
92577  {
92578 # if defined( VULKAN_HPP_USE_REFLECT )
92579  return this->reflect() == rhs.reflect();
92580 # else
92581  return ( numUsedVgprs == rhs.numUsedVgprs ) && ( numUsedSgprs == rhs.numUsedSgprs ) && ( ldsSizePerLocalWorkGroup == rhs.ldsSizePerLocalWorkGroup ) &&
92582  ( ldsUsageSizeInBytes == rhs.ldsUsageSizeInBytes ) && ( scratchMemUsageInBytes == rhs.scratchMemUsageInBytes );
92583 # endif
92584  }
92585 
92587  {
92588  return !operator==( rhs );
92589  }
92590 #endif
92591 
92592  public:
92593  uint32_t numUsedVgprs = {};
92594  uint32_t numUsedSgprs = {};
92595  uint32_t ldsSizePerLocalWorkGroup = {};
92596  size_t ldsUsageSizeInBytes = {};
92597  size_t scratchMemUsageInBytes = {};
92598  };
92599 
92601  {
92603 
92604 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
92607  uint32_t numPhysicalVgprs_ = {},
92608  uint32_t numPhysicalSgprs_ = {},
92609  uint32_t numAvailableVgprs_ = {},
92610  uint32_t numAvailableSgprs_ = {},
92611  std::array<uint32_t, 3> const & computeWorkGroupSize_ = {} ) VULKAN_HPP_NOEXCEPT
92612  : shaderStageMask( shaderStageMask_ )
92613  , resourceUsage( resourceUsage_ )
92614  , numPhysicalVgprs( numPhysicalVgprs_ )
92615  , numPhysicalSgprs( numPhysicalSgprs_ )
92616  , numAvailableVgprs( numAvailableVgprs_ )
92617  , numAvailableSgprs( numAvailableSgprs_ )
92618  , computeWorkGroupSize( computeWorkGroupSize_ )
92619  {
92620  }
92621 
92622  VULKAN_HPP_CONSTEXPR_14 ShaderStatisticsInfoAMD( ShaderStatisticsInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default;
92623 
92625  : ShaderStatisticsInfoAMD( *reinterpret_cast<ShaderStatisticsInfoAMD const *>( &rhs ) )
92626  {
92627  }
92628 
92629  ShaderStatisticsInfoAMD & operator=( ShaderStatisticsInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default;
92630 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
92631 
92633  {
92634  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ShaderStatisticsInfoAMD const *>( &rhs );
92635  return *this;
92636  }
92637 
92639  {
92640  return *reinterpret_cast<const VkShaderStatisticsInfoAMD *>( this );
92641  }
92642 
92644  {
92645  return *reinterpret_cast<VkShaderStatisticsInfoAMD *>( this );
92646  }
92647 
92648 #if defined( VULKAN_HPP_USE_REFLECT )
92649 # if 14 <= VULKAN_HPP_CPP_VERSION
92650  auto
92651 # else
92652  std::tuple<VULKAN_HPP_NAMESPACE::ShaderStageFlags const &,
92654  uint32_t const &,
92655  uint32_t const &,
92656  uint32_t const &,
92657  uint32_t const &,
92659 # endif
92660  reflect() const VULKAN_HPP_NOEXCEPT
92661  {
92662  return std::tie( shaderStageMask, resourceUsage, numPhysicalVgprs, numPhysicalSgprs, numAvailableVgprs, numAvailableSgprs, computeWorkGroupSize );
92663  }
92664 #endif
92665 
92666 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
92667  auto operator<=>( ShaderStatisticsInfoAMD const & ) const = default;
92668 #else
92670  {
92671 # if defined( VULKAN_HPP_USE_REFLECT )
92672  return this->reflect() == rhs.reflect();
92673 # else
92674  return ( shaderStageMask == rhs.shaderStageMask ) && ( resourceUsage == rhs.resourceUsage ) && ( numPhysicalVgprs == rhs.numPhysicalVgprs ) &&
92675  ( numPhysicalSgprs == rhs.numPhysicalSgprs ) && ( numAvailableVgprs == rhs.numAvailableVgprs ) && ( numAvailableSgprs == rhs.numAvailableSgprs ) &&
92676  ( computeWorkGroupSize == rhs.computeWorkGroupSize );
92677 # endif
92678  }
92679 
92681  {
92682  return !operator==( rhs );
92683  }
92684 #endif
92685 
92686  public:
92689  uint32_t numPhysicalVgprs = {};
92690  uint32_t numPhysicalSgprs = {};
92691  uint32_t numAvailableVgprs = {};
92692  uint32_t numAvailableSgprs = {};
92694  };
92695 
92697  {
92699 
92700  static const bool allowDuplicate = false;
92701  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSharedPresentSurfaceCapabilitiesKHR;
92702 
92703 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
92705  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
92706  : pNext( pNext_ )
92707  , sharedPresentSupportedUsageFlags( sharedPresentSupportedUsageFlags_ )
92708  {
92709  }
92710 
92711  VULKAN_HPP_CONSTEXPR SharedPresentSurfaceCapabilitiesKHR( SharedPresentSurfaceCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
92712 
92714  : SharedPresentSurfaceCapabilitiesKHR( *reinterpret_cast<SharedPresentSurfaceCapabilitiesKHR const *>( &rhs ) )
92715  {
92716  }
92717 
92719 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
92720 
92722  {
92723  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SharedPresentSurfaceCapabilitiesKHR const *>( &rhs );
92724  return *this;
92725  }
92726 
92728  {
92729  return *reinterpret_cast<const VkSharedPresentSurfaceCapabilitiesKHR *>( this );
92730  }
92731 
92733  {
92734  return *reinterpret_cast<VkSharedPresentSurfaceCapabilitiesKHR *>( this );
92735  }
92736 
92737 #if defined( VULKAN_HPP_USE_REFLECT )
92738 # if 14 <= VULKAN_HPP_CPP_VERSION
92739  auto
92740 # else
92741  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::ImageUsageFlags const &>
92742 # endif
92743  reflect() const VULKAN_HPP_NOEXCEPT
92744  {
92745  return std::tie( sType, pNext, sharedPresentSupportedUsageFlags );
92746  }
92747 #endif
92748 
92749 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
92750  auto operator<=>( SharedPresentSurfaceCapabilitiesKHR const & ) const = default;
92751 #else
92753  {
92754 # if defined( VULKAN_HPP_USE_REFLECT )
92755  return this->reflect() == rhs.reflect();
92756 # else
92757  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( sharedPresentSupportedUsageFlags == rhs.sharedPresentSupportedUsageFlags );
92758 # endif
92759  }
92760 
92762  {
92763  return !operator==( rhs );
92764  }
92765 #endif
92766 
92767  public:
92768  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSharedPresentSurfaceCapabilitiesKHR;
92769  void * pNext = {};
92770  VULKAN_HPP_NAMESPACE::ImageUsageFlags sharedPresentSupportedUsageFlags = {};
92771  };
92772 
92773  template <>
92775  {
92777  };
92778 
92780  {
92782 
92783 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
92785  VULKAN_HPP_NAMESPACE::Extent3D imageGranularity_ = {},
92787  : aspectMask( aspectMask_ )
92788  , imageGranularity( imageGranularity_ )
92789  , flags( flags_ )
92790  {
92791  }
92792 
92793  VULKAN_HPP_CONSTEXPR SparseImageFormatProperties( SparseImageFormatProperties const & rhs ) VULKAN_HPP_NOEXCEPT = default;
92794 
92796  : SparseImageFormatProperties( *reinterpret_cast<SparseImageFormatProperties const *>( &rhs ) )
92797  {
92798  }
92799 
92801 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
92802 
92804  {
92805  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties const *>( &rhs );
92806  return *this;
92807  }
92808 
92810  {
92811  return *reinterpret_cast<const VkSparseImageFormatProperties *>( this );
92812  }
92813 
92815  {
92816  return *reinterpret_cast<VkSparseImageFormatProperties *>( this );
92817  }
92818 
92819 #if defined( VULKAN_HPP_USE_REFLECT )
92820 # if 14 <= VULKAN_HPP_CPP_VERSION
92821  auto
92822 # else
92823  std::tuple<VULKAN_HPP_NAMESPACE::ImageAspectFlags const &, VULKAN_HPP_NAMESPACE::Extent3D const &, VULKAN_HPP_NAMESPACE::SparseImageFormatFlags const &>
92824 # endif
92825  reflect() const VULKAN_HPP_NOEXCEPT
92826  {
92827  return std::tie( aspectMask, imageGranularity, flags );
92828  }
92829 #endif
92830 
92831 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
92832  auto operator<=>( SparseImageFormatProperties const & ) const = default;
92833 #else
92835  {
92836 # if defined( VULKAN_HPP_USE_REFLECT )
92837  return this->reflect() == rhs.reflect();
92838 # else
92839  return ( aspectMask == rhs.aspectMask ) && ( imageGranularity == rhs.imageGranularity ) && ( flags == rhs.flags );
92840 # endif
92841  }
92842 
92844  {
92845  return !operator==( rhs );
92846  }
92847 #endif
92848 
92849  public:
92851  VULKAN_HPP_NAMESPACE::Extent3D imageGranularity = {};
92853  };
92854 
92856  {
92858 
92859  static const bool allowDuplicate = false;
92860  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSparseImageFormatProperties2;
92861 
92862 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
92864  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
92865  : pNext( pNext_ )
92866  , properties( properties_ )
92867  {
92868  }
92869 
92870  VULKAN_HPP_CONSTEXPR SparseImageFormatProperties2( SparseImageFormatProperties2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
92871 
92873  : SparseImageFormatProperties2( *reinterpret_cast<SparseImageFormatProperties2 const *>( &rhs ) )
92874  {
92875  }
92876 
92878 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
92879 
92881  {
92882  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2 const *>( &rhs );
92883  return *this;
92884  }
92885 
92887  {
92888  return *reinterpret_cast<const VkSparseImageFormatProperties2 *>( this );
92889  }
92890 
92892  {
92893  return *reinterpret_cast<VkSparseImageFormatProperties2 *>( this );
92894  }
92895 
92896 #if defined( VULKAN_HPP_USE_REFLECT )
92897 # if 14 <= VULKAN_HPP_CPP_VERSION
92898  auto
92899 # else
92900  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::SparseImageFormatProperties const &>
92901 # endif
92902  reflect() const VULKAN_HPP_NOEXCEPT
92903  {
92904  return std::tie( sType, pNext, properties );
92905  }
92906 #endif
92907 
92908 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
92909  auto operator<=>( SparseImageFormatProperties2 const & ) const = default;
92910 #else
92912  {
92913 # if defined( VULKAN_HPP_USE_REFLECT )
92914  return this->reflect() == rhs.reflect();
92915 # else
92916  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( properties == rhs.properties );
92917 # endif
92918  }
92919 
92921  {
92922  return !operator==( rhs );
92923  }
92924 #endif
92925 
92926  public:
92927  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSparseImageFormatProperties2;
92928  void * pNext = {};
92930  };
92931 
92932  template <>
92934  {
92936  };
92938 
92940  {
92942 
92943 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
92945  uint32_t imageMipTailFirstLod_ = {},
92946  VULKAN_HPP_NAMESPACE::DeviceSize imageMipTailSize_ = {},
92947  VULKAN_HPP_NAMESPACE::DeviceSize imageMipTailOffset_ = {},
92948  VULKAN_HPP_NAMESPACE::DeviceSize imageMipTailStride_ = {} ) VULKAN_HPP_NOEXCEPT
92949  : formatProperties( formatProperties_ )
92950  , imageMipTailFirstLod( imageMipTailFirstLod_ )
92951  , imageMipTailSize( imageMipTailSize_ )
92952  , imageMipTailOffset( imageMipTailOffset_ )
92953  , imageMipTailStride( imageMipTailStride_ )
92954  {
92955  }
92956 
92957  VULKAN_HPP_CONSTEXPR SparseImageMemoryRequirements( SparseImageMemoryRequirements const & rhs ) VULKAN_HPP_NOEXCEPT = default;
92958 
92960  : SparseImageMemoryRequirements( *reinterpret_cast<SparseImageMemoryRequirements const *>( &rhs ) )
92961  {
92962  }
92963 
92965 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
92966 
92968  {
92969  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements const *>( &rhs );
92970  return *this;
92971  }
92972 
92974  {
92975  return *reinterpret_cast<const VkSparseImageMemoryRequirements *>( this );
92976  }
92977 
92979  {
92980  return *reinterpret_cast<VkSparseImageMemoryRequirements *>( this );
92981  }
92982 
92983 #if defined( VULKAN_HPP_USE_REFLECT )
92984 # if 14 <= VULKAN_HPP_CPP_VERSION
92985  auto
92986 # else
92988  uint32_t const &,
92992 # endif
92993  reflect() const VULKAN_HPP_NOEXCEPT
92994  {
92995  return std::tie( formatProperties, imageMipTailFirstLod, imageMipTailSize, imageMipTailOffset, imageMipTailStride );
92996  }
92997 #endif
92998 
92999 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
93000  auto operator<=>( SparseImageMemoryRequirements const & ) const = default;
93001 #else
93003  {
93004 # if defined( VULKAN_HPP_USE_REFLECT )
93005  return this->reflect() == rhs.reflect();
93006 # else
93007  return ( formatProperties == rhs.formatProperties ) && ( imageMipTailFirstLod == rhs.imageMipTailFirstLod ) &&
93008  ( imageMipTailSize == rhs.imageMipTailSize ) && ( imageMipTailOffset == rhs.imageMipTailOffset ) &&
93009  ( imageMipTailStride == rhs.imageMipTailStride );
93010 # endif
93011  }
93012 
93014  {
93015  return !operator==( rhs );
93016  }
93017 #endif
93018 
93019  public:
93021  uint32_t imageMipTailFirstLod = {};
93022  VULKAN_HPP_NAMESPACE::DeviceSize imageMipTailSize = {};
93023  VULKAN_HPP_NAMESPACE::DeviceSize imageMipTailOffset = {};
93024  VULKAN_HPP_NAMESPACE::DeviceSize imageMipTailStride = {};
93025  };
93026 
93028  {
93030 
93031  static const bool allowDuplicate = false;
93032  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSparseImageMemoryRequirements2;
93033 
93034 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
93036  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
93037  : pNext( pNext_ )
93038  , memoryRequirements( memoryRequirements_ )
93039  {
93040  }
93041 
93042  VULKAN_HPP_CONSTEXPR SparseImageMemoryRequirements2( SparseImageMemoryRequirements2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
93043 
93045  : SparseImageMemoryRequirements2( *reinterpret_cast<SparseImageMemoryRequirements2 const *>( &rhs ) )
93046  {
93047  }
93048 
93050 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
93051 
93053  {
93054  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2 const *>( &rhs );
93055  return *this;
93056  }
93057 
93059  {
93060  return *reinterpret_cast<const VkSparseImageMemoryRequirements2 *>( this );
93061  }
93062 
93064  {
93065  return *reinterpret_cast<VkSparseImageMemoryRequirements2 *>( this );
93066  }
93067 
93068 #if defined( VULKAN_HPP_USE_REFLECT )
93069 # if 14 <= VULKAN_HPP_CPP_VERSION
93070  auto
93071 # else
93072  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements const &>
93073 # endif
93074  reflect() const VULKAN_HPP_NOEXCEPT
93075  {
93076  return std::tie( sType, pNext, memoryRequirements );
93077  }
93078 #endif
93079 
93080 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
93081  auto operator<=>( SparseImageMemoryRequirements2 const & ) const = default;
93082 #else
93084  {
93085 # if defined( VULKAN_HPP_USE_REFLECT )
93086  return this->reflect() == rhs.reflect();
93087 # else
93088  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memoryRequirements == rhs.memoryRequirements );
93089 # endif
93090  }
93091 
93093  {
93094  return !operator==( rhs );
93095  }
93096 #endif
93097 
93098  public:
93099  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSparseImageMemoryRequirements2;
93100  void * pNext = {};
93102  };
93103 
93104  template <>
93106  {
93108  };
93110 
93111 #if defined( VK_USE_PLATFORM_GGP )
93112  struct StreamDescriptorSurfaceCreateInfoGGP
93113  {
93114  using NativeType = VkStreamDescriptorSurfaceCreateInfoGGP;
93115 
93116  static const bool allowDuplicate = false;
93117  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eStreamDescriptorSurfaceCreateInfoGGP;
93118 
93119 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
93120  VULKAN_HPP_CONSTEXPR StreamDescriptorSurfaceCreateInfoGGP( VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateFlagsGGP flags_ = {},
93121  GgpStreamDescriptor streamDescriptor_ = {},
93122  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
93123  : pNext( pNext_ )
93124  , flags( flags_ )
93125  , streamDescriptor( streamDescriptor_ )
93126  {
93127  }
93128 
93129  VULKAN_HPP_CONSTEXPR StreamDescriptorSurfaceCreateInfoGGP( StreamDescriptorSurfaceCreateInfoGGP const & rhs ) VULKAN_HPP_NOEXCEPT = default;
93130 
93131  StreamDescriptorSurfaceCreateInfoGGP( VkStreamDescriptorSurfaceCreateInfoGGP const & rhs ) VULKAN_HPP_NOEXCEPT
93132  : StreamDescriptorSurfaceCreateInfoGGP( *reinterpret_cast<StreamDescriptorSurfaceCreateInfoGGP const *>( &rhs ) )
93133  {
93134  }
93135 
93136  StreamDescriptorSurfaceCreateInfoGGP & operator=( StreamDescriptorSurfaceCreateInfoGGP const & rhs ) VULKAN_HPP_NOEXCEPT = default;
93137 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
93138 
93139  StreamDescriptorSurfaceCreateInfoGGP & operator=( VkStreamDescriptorSurfaceCreateInfoGGP const & rhs ) VULKAN_HPP_NOEXCEPT
93140  {
93141  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateInfoGGP const *>( &rhs );
93142  return *this;
93143  }
93144 
93145 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
93146  VULKAN_HPP_CONSTEXPR_14 StreamDescriptorSurfaceCreateInfoGGP & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
93147  {
93148  pNext = pNext_;
93149  return *this;
93150  }
93151 
93152  VULKAN_HPP_CONSTEXPR_14 StreamDescriptorSurfaceCreateInfoGGP &
93153  setFlags( VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateFlagsGGP flags_ ) VULKAN_HPP_NOEXCEPT
93154  {
93155  flags = flags_;
93156  return *this;
93157  }
93158 
93159  VULKAN_HPP_CONSTEXPR_14 StreamDescriptorSurfaceCreateInfoGGP & setStreamDescriptor( GgpStreamDescriptor streamDescriptor_ ) VULKAN_HPP_NOEXCEPT
93160  {
93161  streamDescriptor = streamDescriptor_;
93162  return *this;
93163  }
93164 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
93165 
93167  {
93168  return *reinterpret_cast<const VkStreamDescriptorSurfaceCreateInfoGGP *>( this );
93169  }
93170 
93172  {
93173  return *reinterpret_cast<VkStreamDescriptorSurfaceCreateInfoGGP *>( this );
93174  }
93175 
93176 # if defined( VULKAN_HPP_USE_REFLECT )
93177 # if 14 <= VULKAN_HPP_CPP_VERSION
93178  auto
93179 # else
93180  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
93181  const void * const &,
93182  VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateFlagsGGP const &,
93183  GgpStreamDescriptor const &>
93184 # endif
93185  reflect() const VULKAN_HPP_NOEXCEPT
93186  {
93187  return std::tie( sType, pNext, flags, streamDescriptor );
93188  }
93189 # endif
93190 
93191 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
93192  std::strong_ordering operator<=>( StreamDescriptorSurfaceCreateInfoGGP const & rhs ) const VULKAN_HPP_NOEXCEPT
93193  {
93194  if ( auto cmp = sType <=> rhs.sType; cmp != 0 )
93195  return cmp;
93196  if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 )
93197  return cmp;
93198  if ( auto cmp = flags <=> rhs.flags; cmp != 0 )
93199  return cmp;
93200  if ( auto cmp = memcmp( &streamDescriptor, &rhs.streamDescriptor, sizeof( GgpStreamDescriptor ) ); cmp != 0 )
93201  return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater;
93202 
93203  return std::strong_ordering::equivalent;
93204  }
93205 # endif
93206 
93207  bool operator==( StreamDescriptorSurfaceCreateInfoGGP const & rhs ) const VULKAN_HPP_NOEXCEPT
93208  {
93209  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
93210  ( memcmp( &streamDescriptor, &rhs.streamDescriptor, sizeof( GgpStreamDescriptor ) ) == 0 );
93211  }
93212 
93213  bool operator!=( StreamDescriptorSurfaceCreateInfoGGP const & rhs ) const VULKAN_HPP_NOEXCEPT
93214  {
93215  return !operator==( rhs );
93216  }
93217 
93218  public:
93219  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eStreamDescriptorSurfaceCreateInfoGGP;
93220  const void * pNext = {};
93221  VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateFlagsGGP flags = {};
93222  GgpStreamDescriptor streamDescriptor = {};
93223  };
93224 
93225  template <>
93226  struct CppType<StructureType, StructureType::eStreamDescriptorSurfaceCreateInfoGGP>
93227  {
93228  using Type = StreamDescriptorSurfaceCreateInfoGGP;
93229  };
93230 #endif /*VK_USE_PLATFORM_GGP*/
93231 
93233  {
93235 
93236 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
93238  VULKAN_HPP_NAMESPACE::DeviceSize stride_ = {},
93240  : deviceAddress( deviceAddress_ )
93241  , stride( stride_ )
93242  , size( size_ )
93243  {
93244  }
93245 
93246  VULKAN_HPP_CONSTEXPR StridedDeviceAddressRegionKHR( StridedDeviceAddressRegionKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
93247 
93249  : StridedDeviceAddressRegionKHR( *reinterpret_cast<StridedDeviceAddressRegionKHR const *>( &rhs ) )
93250  {
93251  }
93252 
93254 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
93255 
93257  {
93258  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR const *>( &rhs );
93259  return *this;
93260  }
93261 
93262 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
93264  {
93265  deviceAddress = deviceAddress_;
93266  return *this;
93267  }
93268 
93270  {
93271  stride = stride_;
93272  return *this;
93273  }
93274 
93276  {
93277  size = size_;
93278  return *this;
93279  }
93280 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
93281 
93283  {
93284  return *reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( this );
93285  }
93286 
93288  {
93289  return *reinterpret_cast<VkStridedDeviceAddressRegionKHR *>( this );
93290  }
93291 
93292 #if defined( VULKAN_HPP_USE_REFLECT )
93293 # if 14 <= VULKAN_HPP_CPP_VERSION
93294  auto
93295 # else
93296  std::tuple<VULKAN_HPP_NAMESPACE::DeviceAddress const &, VULKAN_HPP_NAMESPACE::DeviceSize const &, VULKAN_HPP_NAMESPACE::DeviceSize const &>
93297 # endif
93298  reflect() const VULKAN_HPP_NOEXCEPT
93299  {
93300  return std::tie( deviceAddress, stride, size );
93301  }
93302 #endif
93303 
93304 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
93305  auto operator<=>( StridedDeviceAddressRegionKHR const & ) const = default;
93306 #else
93308  {
93309 # if defined( VULKAN_HPP_USE_REFLECT )
93310  return this->reflect() == rhs.reflect();
93311 # else
93312  return ( deviceAddress == rhs.deviceAddress ) && ( stride == rhs.stride ) && ( size == rhs.size );
93313 # endif
93314  }
93315 
93317  {
93318  return !operator==( rhs );
93319  }
93320 #endif
93321 
93322  public:
93326  };
93327 
93328  struct SubmitInfo
93329  {
93331 
93332  static const bool allowDuplicate = false;
93333  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSubmitInfo;
93334 
93335 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
93336  VULKAN_HPP_CONSTEXPR SubmitInfo( uint32_t waitSemaphoreCount_ = {},
93337  const VULKAN_HPP_NAMESPACE::Semaphore * pWaitSemaphores_ = {},
93338  const VULKAN_HPP_NAMESPACE::PipelineStageFlags * pWaitDstStageMask_ = {},
93339  uint32_t commandBufferCount_ = {},
93340  const VULKAN_HPP_NAMESPACE::CommandBuffer * pCommandBuffers_ = {},
93341  uint32_t signalSemaphoreCount_ = {},
93342  const VULKAN_HPP_NAMESPACE::Semaphore * pSignalSemaphores_ = {},
93343  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
93344  : pNext( pNext_ )
93345  , waitSemaphoreCount( waitSemaphoreCount_ )
93346  , pWaitSemaphores( pWaitSemaphores_ )
93347  , pWaitDstStageMask( pWaitDstStageMask_ )
93348  , commandBufferCount( commandBufferCount_ )
93349  , pCommandBuffers( pCommandBuffers_ )
93350  , signalSemaphoreCount( signalSemaphoreCount_ )
93351  , pSignalSemaphores( pSignalSemaphores_ )
93352  {
93353  }
93354 
93355  VULKAN_HPP_CONSTEXPR SubmitInfo( SubmitInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
93356 
93357  SubmitInfo( VkSubmitInfo const & rhs ) VULKAN_HPP_NOEXCEPT : SubmitInfo( *reinterpret_cast<SubmitInfo const *>( &rhs ) ) {}
93358 
93359 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
93364  const void * pNext_ = nullptr )
93365  : pNext( pNext_ )
93366  , waitSemaphoreCount( static_cast<uint32_t>( waitSemaphores_.size() ) )
93367  , pWaitSemaphores( waitSemaphores_.data() )
93368  , pWaitDstStageMask( waitDstStageMask_.data() )
93369  , commandBufferCount( static_cast<uint32_t>( commandBuffers_.size() ) )
93370  , pCommandBuffers( commandBuffers_.data() )
93371  , signalSemaphoreCount( static_cast<uint32_t>( signalSemaphores_.size() ) )
93372  , pSignalSemaphores( signalSemaphores_.data() )
93373  {
93374 # ifdef VULKAN_HPP_NO_EXCEPTIONS
93375  VULKAN_HPP_ASSERT( waitSemaphores_.size() == waitDstStageMask_.size() );
93376 # else
93377  if ( waitSemaphores_.size() != waitDstStageMask_.size() )
93378  {
93379  throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::SubmitInfo::SubmitInfo: waitSemaphores_.size() != waitDstStageMask_.size()" );
93380  }
93381 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/
93382  }
93383 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
93384 
93385  SubmitInfo & operator=( SubmitInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
93386 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
93387 
93389  {
93390  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SubmitInfo const *>( &rhs );
93391  return *this;
93392  }
93393 
93394 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
93396  {
93397  pNext = pNext_;
93398  return *this;
93399  }
93400 
93402  {
93403  waitSemaphoreCount = waitSemaphoreCount_;
93404  return *this;
93405  }
93406 
93408  {
93409  pWaitSemaphores = pWaitSemaphores_;
93410  return *this;
93411  }
93412 
93413 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
93414  SubmitInfo &
93416  {
93417  waitSemaphoreCount = static_cast<uint32_t>( waitSemaphores_.size() );
93418  pWaitSemaphores = waitSemaphores_.data();
93419  return *this;
93420  }
93421 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
93422 
93424  {
93425  pWaitDstStageMask = pWaitDstStageMask_;
93426  return *this;
93427  }
93428 
93429 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
93432  {
93433  waitSemaphoreCount = static_cast<uint32_t>( waitDstStageMask_.size() );
93434  pWaitDstStageMask = waitDstStageMask_.data();
93435  return *this;
93436  }
93437 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
93438 
93440  {
93441  commandBufferCount = commandBufferCount_;
93442  return *this;
93443  }
93444 
93446  {
93447  pCommandBuffers = pCommandBuffers_;
93448  return *this;
93449  }
93450 
93451 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
93452  SubmitInfo &
93454  {
93455  commandBufferCount = static_cast<uint32_t>( commandBuffers_.size() );
93456  pCommandBuffers = commandBuffers_.data();
93457  return *this;
93458  }
93459 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
93460 
93462  {
93463  signalSemaphoreCount = signalSemaphoreCount_;
93464  return *this;
93465  }
93466 
93468  {
93469  pSignalSemaphores = pSignalSemaphores_;
93470  return *this;
93471  }
93472 
93473 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
93474  SubmitInfo &
93476  {
93477  signalSemaphoreCount = static_cast<uint32_t>( signalSemaphores_.size() );
93478  pSignalSemaphores = signalSemaphores_.data();
93479  return *this;
93480  }
93481 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
93482 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
93483 
93484  operator VkSubmitInfo const &() const VULKAN_HPP_NOEXCEPT
93485  {
93486  return *reinterpret_cast<const VkSubmitInfo *>( this );
93487  }
93488 
93490  {
93491  return *reinterpret_cast<VkSubmitInfo *>( this );
93492  }
93493 
93494 #if defined( VULKAN_HPP_USE_REFLECT )
93495 # if 14 <= VULKAN_HPP_CPP_VERSION
93496  auto
93497 # else
93498  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
93499  const void * const &,
93500  uint32_t const &,
93501  const VULKAN_HPP_NAMESPACE::Semaphore * const &,
93503  uint32_t const &,
93504  const VULKAN_HPP_NAMESPACE::CommandBuffer * const &,
93505  uint32_t const &,
93506  const VULKAN_HPP_NAMESPACE::Semaphore * const &>
93507 # endif
93508  reflect() const VULKAN_HPP_NOEXCEPT
93509  {
93510  return std::tie(
93511  sType, pNext, waitSemaphoreCount, pWaitSemaphores, pWaitDstStageMask, commandBufferCount, pCommandBuffers, signalSemaphoreCount, pSignalSemaphores );
93512  }
93513 #endif
93514 
93515 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
93516  auto operator<=>( SubmitInfo const & ) const = default;
93517 #else
93518  bool operator==( SubmitInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
93519  {
93520 # if defined( VULKAN_HPP_USE_REFLECT )
93521  return this->reflect() == rhs.reflect();
93522 # else
93523  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( waitSemaphoreCount == rhs.waitSemaphoreCount ) &&
93524  ( pWaitSemaphores == rhs.pWaitSemaphores ) && ( pWaitDstStageMask == rhs.pWaitDstStageMask ) && ( commandBufferCount == rhs.commandBufferCount ) &&
93525  ( pCommandBuffers == rhs.pCommandBuffers ) && ( signalSemaphoreCount == rhs.signalSemaphoreCount ) &&
93526  ( pSignalSemaphores == rhs.pSignalSemaphores );
93527 # endif
93528  }
93529 
93530  bool operator!=( SubmitInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
93531  {
93532  return !operator==( rhs );
93533  }
93534 #endif
93535 
93536  public:
93537  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSubmitInfo;
93538  const void * pNext = {};
93539  uint32_t waitSemaphoreCount = {};
93540  const VULKAN_HPP_NAMESPACE::Semaphore * pWaitSemaphores = {};
93541  const VULKAN_HPP_NAMESPACE::PipelineStageFlags * pWaitDstStageMask = {};
93542  uint32_t commandBufferCount = {};
93543  const VULKAN_HPP_NAMESPACE::CommandBuffer * pCommandBuffers = {};
93544  uint32_t signalSemaphoreCount = {};
93545  const VULKAN_HPP_NAMESPACE::Semaphore * pSignalSemaphores = {};
93546  };
93547 
93548  template <>
93550  {
93551  using Type = SubmitInfo;
93552  };
93553 
93555  {
93557 
93558  static const bool allowDuplicate = false;
93559  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSubmitInfo2;
93560 
93561 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
93563  uint32_t waitSemaphoreInfoCount_ = {},
93564  const VULKAN_HPP_NAMESPACE::SemaphoreSubmitInfo * pWaitSemaphoreInfos_ = {},
93565  uint32_t commandBufferInfoCount_ = {},
93566  const VULKAN_HPP_NAMESPACE::CommandBufferSubmitInfo * pCommandBufferInfos_ = {},
93567  uint32_t signalSemaphoreInfoCount_ = {},
93568  const VULKAN_HPP_NAMESPACE::SemaphoreSubmitInfo * pSignalSemaphoreInfos_ = {},
93569  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
93570  : pNext( pNext_ )
93571  , flags( flags_ )
93572  , waitSemaphoreInfoCount( waitSemaphoreInfoCount_ )
93573  , pWaitSemaphoreInfos( pWaitSemaphoreInfos_ )
93574  , commandBufferInfoCount( commandBufferInfoCount_ )
93575  , pCommandBufferInfos( pCommandBufferInfos_ )
93576  , signalSemaphoreInfoCount( signalSemaphoreInfoCount_ )
93577  , pSignalSemaphoreInfos( pSignalSemaphoreInfos_ )
93578  {
93579  }
93580 
93581  VULKAN_HPP_CONSTEXPR SubmitInfo2( SubmitInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
93582 
93583  SubmitInfo2( VkSubmitInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT : SubmitInfo2( *reinterpret_cast<SubmitInfo2 const *>( &rhs ) ) {}
93584 
93585 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
93590  const void * pNext_ = nullptr )
93591  : pNext( pNext_ )
93592  , flags( flags_ )
93593  , waitSemaphoreInfoCount( static_cast<uint32_t>( waitSemaphoreInfos_.size() ) )
93594  , pWaitSemaphoreInfos( waitSemaphoreInfos_.data() )
93595  , commandBufferInfoCount( static_cast<uint32_t>( commandBufferInfos_.size() ) )
93596  , pCommandBufferInfos( commandBufferInfos_.data() )
93597  , signalSemaphoreInfoCount( static_cast<uint32_t>( signalSemaphoreInfos_.size() ) )
93598  , pSignalSemaphoreInfos( signalSemaphoreInfos_.data() )
93599  {
93600  }
93601 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
93602 
93603  SubmitInfo2 & operator=( SubmitInfo2 const & rhs ) VULKAN_HPP_NOEXCEPT = default;
93604 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
93605 
93607  {
93608  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SubmitInfo2 const *>( &rhs );
93609  return *this;
93610  }
93611 
93612 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
93614  {
93615  pNext = pNext_;
93616  return *this;
93617  }
93618 
93620  {
93621  flags = flags_;
93622  return *this;
93623  }
93624 
93626  {
93627  waitSemaphoreInfoCount = waitSemaphoreInfoCount_;
93628  return *this;
93629  }
93630 
93632  {
93633  pWaitSemaphoreInfos = pWaitSemaphoreInfos_;
93634  return *this;
93635  }
93636 
93637 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
93640  {
93641  waitSemaphoreInfoCount = static_cast<uint32_t>( waitSemaphoreInfos_.size() );
93642  pWaitSemaphoreInfos = waitSemaphoreInfos_.data();
93643  return *this;
93644  }
93645 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
93646 
93648  {
93649  commandBufferInfoCount = commandBufferInfoCount_;
93650  return *this;
93651  }
93652 
93655  {
93656  pCommandBufferInfos = pCommandBufferInfos_;
93657  return *this;
93658  }
93659 
93660 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
93663  {
93664  commandBufferInfoCount = static_cast<uint32_t>( commandBufferInfos_.size() );
93665  pCommandBufferInfos = commandBufferInfos_.data();
93666  return *this;
93667  }
93668 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
93669 
93671  {
93672  signalSemaphoreInfoCount = signalSemaphoreInfoCount_;
93673  return *this;
93674  }
93675 
93678  {
93679  pSignalSemaphoreInfos = pSignalSemaphoreInfos_;
93680  return *this;
93681  }
93682 
93683 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
93686  {
93687  signalSemaphoreInfoCount = static_cast<uint32_t>( signalSemaphoreInfos_.size() );
93688  pSignalSemaphoreInfos = signalSemaphoreInfos_.data();
93689  return *this;
93690  }
93691 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
93692 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
93693 
93694  operator VkSubmitInfo2 const &() const VULKAN_HPP_NOEXCEPT
93695  {
93696  return *reinterpret_cast<const VkSubmitInfo2 *>( this );
93697  }
93698 
93700  {
93701  return *reinterpret_cast<VkSubmitInfo2 *>( this );
93702  }
93703 
93704 #if defined( VULKAN_HPP_USE_REFLECT )
93705 # if 14 <= VULKAN_HPP_CPP_VERSION
93706  auto
93707 # else
93708  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
93709  const void * const &,
93711  uint32_t const &,
93713  uint32_t const &,
93715  uint32_t const &,
93717 # endif
93718  reflect() const VULKAN_HPP_NOEXCEPT
93719  {
93720  return std::tie( sType,
93721  pNext,
93722  flags,
93723  waitSemaphoreInfoCount,
93724  pWaitSemaphoreInfos,
93725  commandBufferInfoCount,
93726  pCommandBufferInfos,
93727  signalSemaphoreInfoCount,
93728  pSignalSemaphoreInfos );
93729  }
93730 #endif
93731 
93732 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
93733  auto operator<=>( SubmitInfo2 const & ) const = default;
93734 #else
93735  bool operator==( SubmitInfo2 const & rhs ) const VULKAN_HPP_NOEXCEPT
93736  {
93737 # if defined( VULKAN_HPP_USE_REFLECT )
93738  return this->reflect() == rhs.reflect();
93739 # else
93740  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( waitSemaphoreInfoCount == rhs.waitSemaphoreInfoCount ) &&
93741  ( pWaitSemaphoreInfos == rhs.pWaitSemaphoreInfos ) && ( commandBufferInfoCount == rhs.commandBufferInfoCount ) &&
93742  ( pCommandBufferInfos == rhs.pCommandBufferInfos ) && ( signalSemaphoreInfoCount == rhs.signalSemaphoreInfoCount ) &&
93743  ( pSignalSemaphoreInfos == rhs.pSignalSemaphoreInfos );
93744 # endif
93745  }
93746 
93747  bool operator!=( SubmitInfo2 const & rhs ) const VULKAN_HPP_NOEXCEPT
93748  {
93749  return !operator==( rhs );
93750  }
93751 #endif
93752 
93753  public:
93754  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSubmitInfo2;
93755  const void * pNext = {};
93757  uint32_t waitSemaphoreInfoCount = {};
93758  const VULKAN_HPP_NAMESPACE::SemaphoreSubmitInfo * pWaitSemaphoreInfos = {};
93759  uint32_t commandBufferInfoCount = {};
93760  const VULKAN_HPP_NAMESPACE::CommandBufferSubmitInfo * pCommandBufferInfos = {};
93761  uint32_t signalSemaphoreInfoCount = {};
93762  const VULKAN_HPP_NAMESPACE::SemaphoreSubmitInfo * pSignalSemaphoreInfos = {};
93763  };
93764 
93765  template <>
93767  {
93769  };
93770  using SubmitInfo2KHR = SubmitInfo2;
93771 
93773  {
93775 
93776  static const bool allowDuplicate = false;
93777  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSubpassBeginInfo;
93778 
93779 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
93781  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
93782  : pNext( pNext_ )
93783  , contents( contents_ )
93784  {
93785  }
93786 
93788 
93789  SubpassBeginInfo( VkSubpassBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT : SubpassBeginInfo( *reinterpret_cast<SubpassBeginInfo const *>( &rhs ) ) {}
93790 
93791  SubpassBeginInfo & operator=( SubpassBeginInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
93792 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
93793 
93795  {
93796  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SubpassBeginInfo const *>( &rhs );
93797  return *this;
93798  }
93799 
93800 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
93802  {
93803  pNext = pNext_;
93804  return *this;
93805  }
93806 
93808  {
93809  contents = contents_;
93810  return *this;
93811  }
93812 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
93813 
93814  operator VkSubpassBeginInfo const &() const VULKAN_HPP_NOEXCEPT
93815  {
93816  return *reinterpret_cast<const VkSubpassBeginInfo *>( this );
93817  }
93818 
93820  {
93821  return *reinterpret_cast<VkSubpassBeginInfo *>( this );
93822  }
93823 
93824 #if defined( VULKAN_HPP_USE_REFLECT )
93825 # if 14 <= VULKAN_HPP_CPP_VERSION
93826  auto
93827 # else
93828  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::SubpassContents const &>
93829 # endif
93830  reflect() const VULKAN_HPP_NOEXCEPT
93831  {
93832  return std::tie( sType, pNext, contents );
93833  }
93834 #endif
93835 
93836 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
93837  auto operator<=>( SubpassBeginInfo const & ) const = default;
93838 #else
93840  {
93841 # if defined( VULKAN_HPP_USE_REFLECT )
93842  return this->reflect() == rhs.reflect();
93843 # else
93844  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( contents == rhs.contents );
93845 # endif
93846  }
93847 
93849  {
93850  return !operator==( rhs );
93851  }
93852 #endif
93853 
93854  public:
93855  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSubpassBeginInfo;
93856  const void * pNext = {};
93858  };
93859 
93860  template <>
93862  {
93864  };
93866 
93868  {
93870 
93871  static const bool allowDuplicate = false;
93872  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSubpassDescriptionDepthStencilResolve;
93873 
93874 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
93878  const VULKAN_HPP_NAMESPACE::AttachmentReference2 * pDepthStencilResolveAttachment_ = {},
93879  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
93880  : pNext( pNext_ )
93881  , depthResolveMode( depthResolveMode_ )
93882  , stencilResolveMode( stencilResolveMode_ )
93883  , pDepthStencilResolveAttachment( pDepthStencilResolveAttachment_ )
93884  {
93885  }
93886 
93887  VULKAN_HPP_CONSTEXPR SubpassDescriptionDepthStencilResolve( SubpassDescriptionDepthStencilResolve const & rhs ) VULKAN_HPP_NOEXCEPT = default;
93888 
93890  : SubpassDescriptionDepthStencilResolve( *reinterpret_cast<SubpassDescriptionDepthStencilResolve const *>( &rhs ) )
93891  {
93892  }
93893 
93895 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
93896 
93898  {
93899  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SubpassDescriptionDepthStencilResolve const *>( &rhs );
93900  return *this;
93901  }
93902 
93903 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
93905  {
93906  pNext = pNext_;
93907  return *this;
93908  }
93909 
93912  {
93913  depthResolveMode = depthResolveMode_;
93914  return *this;
93915  }
93916 
93919  {
93920  stencilResolveMode = stencilResolveMode_;
93921  return *this;
93922  }
93923 
93926  {
93927  pDepthStencilResolveAttachment = pDepthStencilResolveAttachment_;
93928  return *this;
93929  }
93930 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
93931 
93933  {
93934  return *reinterpret_cast<const VkSubpassDescriptionDepthStencilResolve *>( this );
93935  }
93936 
93938  {
93939  return *reinterpret_cast<VkSubpassDescriptionDepthStencilResolve *>( this );
93940  }
93941 
93942 #if defined( VULKAN_HPP_USE_REFLECT )
93943 # if 14 <= VULKAN_HPP_CPP_VERSION
93944  auto
93945 # else
93946  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
93947  const void * const &,
93951 # endif
93952  reflect() const VULKAN_HPP_NOEXCEPT
93953  {
93954  return std::tie( sType, pNext, depthResolveMode, stencilResolveMode, pDepthStencilResolveAttachment );
93955  }
93956 #endif
93957 
93958 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
93959  auto operator<=>( SubpassDescriptionDepthStencilResolve const & ) const = default;
93960 #else
93962  {
93963 # if defined( VULKAN_HPP_USE_REFLECT )
93964  return this->reflect() == rhs.reflect();
93965 # else
93966  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( depthResolveMode == rhs.depthResolveMode ) &&
93967  ( stencilResolveMode == rhs.stencilResolveMode ) && ( pDepthStencilResolveAttachment == rhs.pDepthStencilResolveAttachment );
93968 # endif
93969  }
93970 
93972  {
93973  return !operator==( rhs );
93974  }
93975 #endif
93976 
93977  public:
93978  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSubpassDescriptionDepthStencilResolve;
93979  const void * pNext = {};
93982  const VULKAN_HPP_NAMESPACE::AttachmentReference2 * pDepthStencilResolveAttachment = {};
93983  };
93984 
93985  template <>
93987  {
93989  };
93991 
93993  {
93995 
93996  static const bool allowDuplicate = false;
93997  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSubpassEndInfo;
93998 
93999 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
94000  VULKAN_HPP_CONSTEXPR SubpassEndInfo( const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext( pNext_ ) {}
94001 
94003 
94004  SubpassEndInfo( VkSubpassEndInfo const & rhs ) VULKAN_HPP_NOEXCEPT : SubpassEndInfo( *reinterpret_cast<SubpassEndInfo const *>( &rhs ) ) {}
94005 
94006  SubpassEndInfo & operator=( SubpassEndInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
94007 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
94008 
94010  {
94011  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SubpassEndInfo const *>( &rhs );
94012  return *this;
94013  }
94014 
94015 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
94017  {
94018  pNext = pNext_;
94019  return *this;
94020  }
94021 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
94022 
94023  operator VkSubpassEndInfo const &() const VULKAN_HPP_NOEXCEPT
94024  {
94025  return *reinterpret_cast<const VkSubpassEndInfo *>( this );
94026  }
94027 
94029  {
94030  return *reinterpret_cast<VkSubpassEndInfo *>( this );
94031  }
94032 
94033 #if defined( VULKAN_HPP_USE_REFLECT )
94034 # if 14 <= VULKAN_HPP_CPP_VERSION
94035  auto
94036 # else
94037  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &>
94038 # endif
94039  reflect() const VULKAN_HPP_NOEXCEPT
94040  {
94041  return std::tie( sType, pNext );
94042  }
94043 #endif
94044 
94045 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
94046  auto operator<=>( SubpassEndInfo const & ) const = default;
94047 #else
94049  {
94050 # if defined( VULKAN_HPP_USE_REFLECT )
94051  return this->reflect() == rhs.reflect();
94052 # else
94053  return ( sType == rhs.sType ) && ( pNext == rhs.pNext );
94054 # endif
94055  }
94056 
94058  {
94059  return !operator==( rhs );
94060  }
94061 #endif
94062 
94063  public:
94064  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSubpassEndInfo;
94065  const void * pNext = {};
94066  };
94067 
94068  template <>
94070  {
94072  };
94074 
94076  {
94078 
94079  static const bool allowDuplicate = false;
94080  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSubpassFragmentDensityMapOffsetEndInfoQCOM;
94081 
94082 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
94083  VULKAN_HPP_CONSTEXPR SubpassFragmentDensityMapOffsetEndInfoQCOM( uint32_t fragmentDensityOffsetCount_ = {},
94084  const VULKAN_HPP_NAMESPACE::Offset2D * pFragmentDensityOffsets_ = {},
94085  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
94086  : pNext( pNext_ )
94087  , fragmentDensityOffsetCount( fragmentDensityOffsetCount_ )
94088  , pFragmentDensityOffsets( pFragmentDensityOffsets_ )
94089  {
94090  }
94091 
94092  VULKAN_HPP_CONSTEXPR SubpassFragmentDensityMapOffsetEndInfoQCOM( SubpassFragmentDensityMapOffsetEndInfoQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default;
94093 
94095  : SubpassFragmentDensityMapOffsetEndInfoQCOM( *reinterpret_cast<SubpassFragmentDensityMapOffsetEndInfoQCOM const *>( &rhs ) )
94096  {
94097  }
94098 
94099 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
94101  VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::Offset2D> const & fragmentDensityOffsets_, const void * pNext_ = nullptr )
94102  : pNext( pNext_ )
94103  , fragmentDensityOffsetCount( static_cast<uint32_t>( fragmentDensityOffsets_.size() ) )
94104  , pFragmentDensityOffsets( fragmentDensityOffsets_.data() )
94105  {
94106  }
94107 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
94108 
94110 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
94111 
94113  {
94114  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SubpassFragmentDensityMapOffsetEndInfoQCOM const *>( &rhs );
94115  return *this;
94116  }
94117 
94118 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
94120  {
94121  pNext = pNext_;
94122  return *this;
94123  }
94124 
94126  setFragmentDensityOffsetCount( uint32_t fragmentDensityOffsetCount_ ) VULKAN_HPP_NOEXCEPT
94127  {
94128  fragmentDensityOffsetCount = fragmentDensityOffsetCount_;
94129  return *this;
94130  }
94131 
94134  {
94135  pFragmentDensityOffsets = pFragmentDensityOffsets_;
94136  return *this;
94137  }
94138 
94139 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
94142  {
94143  fragmentDensityOffsetCount = static_cast<uint32_t>( fragmentDensityOffsets_.size() );
94144  pFragmentDensityOffsets = fragmentDensityOffsets_.data();
94145  return *this;
94146  }
94147 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
94148 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
94149 
94151  {
94152  return *reinterpret_cast<const VkSubpassFragmentDensityMapOffsetEndInfoQCOM *>( this );
94153  }
94154 
94156  {
94157  return *reinterpret_cast<VkSubpassFragmentDensityMapOffsetEndInfoQCOM *>( this );
94158  }
94159 
94160 #if defined( VULKAN_HPP_USE_REFLECT )
94161 # if 14 <= VULKAN_HPP_CPP_VERSION
94162  auto
94163 # else
94164  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &, const VULKAN_HPP_NAMESPACE::Offset2D * const &>
94165 # endif
94166  reflect() const VULKAN_HPP_NOEXCEPT
94167  {
94168  return std::tie( sType, pNext, fragmentDensityOffsetCount, pFragmentDensityOffsets );
94169  }
94170 #endif
94171 
94172 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
94173  auto operator<=>( SubpassFragmentDensityMapOffsetEndInfoQCOM const & ) const = default;
94174 #else
94176  {
94177 # if defined( VULKAN_HPP_USE_REFLECT )
94178  return this->reflect() == rhs.reflect();
94179 # else
94180  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( fragmentDensityOffsetCount == rhs.fragmentDensityOffsetCount ) &&
94181  ( pFragmentDensityOffsets == rhs.pFragmentDensityOffsets );
94182 # endif
94183  }
94184 
94186  {
94187  return !operator==( rhs );
94188  }
94189 #endif
94190 
94191  public:
94192  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSubpassFragmentDensityMapOffsetEndInfoQCOM;
94193  const void * pNext = {};
94194  uint32_t fragmentDensityOffsetCount = {};
94195  const VULKAN_HPP_NAMESPACE::Offset2D * pFragmentDensityOffsets = {};
94196  };
94197 
94198  template <>
94200  {
94202  };
94203 
94205  {
94207 
94208  static const bool allowDuplicate = false;
94209  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSubpassResolvePerformanceQueryEXT;
94210 
94211 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
94213  : pNext( pNext_ )
94214  , optimal( optimal_ )
94215  {
94216  }
94217 
94218  VULKAN_HPP_CONSTEXPR SubpassResolvePerformanceQueryEXT( SubpassResolvePerformanceQueryEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
94219 
94221  : SubpassResolvePerformanceQueryEXT( *reinterpret_cast<SubpassResolvePerformanceQueryEXT const *>( &rhs ) )
94222  {
94223  }
94224 
94226 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
94227 
94229  {
94230  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SubpassResolvePerformanceQueryEXT const *>( &rhs );
94231  return *this;
94232  }
94233 
94235  {
94236  return *reinterpret_cast<const VkSubpassResolvePerformanceQueryEXT *>( this );
94237  }
94238 
94240  {
94241  return *reinterpret_cast<VkSubpassResolvePerformanceQueryEXT *>( this );
94242  }
94243 
94244 #if defined( VULKAN_HPP_USE_REFLECT )
94245 # if 14 <= VULKAN_HPP_CPP_VERSION
94246  auto
94247 # else
94248  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
94249 # endif
94250  reflect() const VULKAN_HPP_NOEXCEPT
94251  {
94252  return std::tie( sType, pNext, optimal );
94253  }
94254 #endif
94255 
94256 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
94257  auto operator<=>( SubpassResolvePerformanceQueryEXT const & ) const = default;
94258 #else
94260  {
94261 # if defined( VULKAN_HPP_USE_REFLECT )
94262  return this->reflect() == rhs.reflect();
94263 # else
94264  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( optimal == rhs.optimal );
94265 # endif
94266  }
94267 
94269  {
94270  return !operator==( rhs );
94271  }
94272 #endif
94273 
94274  public:
94275  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSubpassResolvePerformanceQueryEXT;
94276  void * pNext = {};
94278  };
94279 
94280  template <>
94282  {
94284  };
94285 
94287  {
94289 
94290  static const bool allowDuplicate = false;
94291  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSubpassShadingPipelineCreateInfoHUAWEI;
94292 
94293 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
94295  uint32_t subpass_ = {},
94296  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
94297  : pNext( pNext_ )
94298  , renderPass( renderPass_ )
94299  , subpass( subpass_ )
94300  {
94301  }
94302 
94303  VULKAN_HPP_CONSTEXPR SubpassShadingPipelineCreateInfoHUAWEI( SubpassShadingPipelineCreateInfoHUAWEI const & rhs ) VULKAN_HPP_NOEXCEPT = default;
94304 
94306  : SubpassShadingPipelineCreateInfoHUAWEI( *reinterpret_cast<SubpassShadingPipelineCreateInfoHUAWEI const *>( &rhs ) )
94307  {
94308  }
94309 
94311 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
94312 
94314  {
94315  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SubpassShadingPipelineCreateInfoHUAWEI const *>( &rhs );
94316  return *this;
94317  }
94318 
94320  {
94321  return *reinterpret_cast<const VkSubpassShadingPipelineCreateInfoHUAWEI *>( this );
94322  }
94323 
94325  {
94326  return *reinterpret_cast<VkSubpassShadingPipelineCreateInfoHUAWEI *>( this );
94327  }
94328 
94329 #if defined( VULKAN_HPP_USE_REFLECT )
94330 # if 14 <= VULKAN_HPP_CPP_VERSION
94331  auto
94332 # else
94333  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::RenderPass const &, uint32_t const &>
94334 # endif
94335  reflect() const VULKAN_HPP_NOEXCEPT
94336  {
94337  return std::tie( sType, pNext, renderPass, subpass );
94338  }
94339 #endif
94340 
94341 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
94342  auto operator<=>( SubpassShadingPipelineCreateInfoHUAWEI const & ) const = default;
94343 #else
94345  {
94346 # if defined( VULKAN_HPP_USE_REFLECT )
94347  return this->reflect() == rhs.reflect();
94348 # else
94349  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( renderPass == rhs.renderPass ) && ( subpass == rhs.subpass );
94350 # endif
94351  }
94352 
94354  {
94355  return !operator==( rhs );
94356  }
94357 #endif
94358 
94359  public:
94360  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSubpassShadingPipelineCreateInfoHUAWEI;
94361  void * pNext = {};
94363  uint32_t subpass = {};
94364  };
94365 
94366  template <>
94368  {
94370  };
94371 
94373  {
94375 
94376  static const bool allowDuplicate = false;
94377  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSubresourceLayout2EXT;
94378 
94379 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
94381  : pNext( pNext_ )
94382  , subresourceLayout( subresourceLayout_ )
94383  {
94384  }
94385 
94386  VULKAN_HPP_CONSTEXPR SubresourceLayout2EXT( SubresourceLayout2EXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
94387 
94389  : SubresourceLayout2EXT( *reinterpret_cast<SubresourceLayout2EXT const *>( &rhs ) )
94390  {
94391  }
94392 
94393  SubresourceLayout2EXT & operator=( SubresourceLayout2EXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
94394 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
94395 
94397  {
94398  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SubresourceLayout2EXT const *>( &rhs );
94399  return *this;
94400  }
94401 
94403  {
94404  return *reinterpret_cast<const VkSubresourceLayout2EXT *>( this );
94405  }
94406 
94408  {
94409  return *reinterpret_cast<VkSubresourceLayout2EXT *>( this );
94410  }
94411 
94412 #if defined( VULKAN_HPP_USE_REFLECT )
94413 # if 14 <= VULKAN_HPP_CPP_VERSION
94414  auto
94415 # else
94416  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::SubresourceLayout const &>
94417 # endif
94418  reflect() const VULKAN_HPP_NOEXCEPT
94419  {
94420  return std::tie( sType, pNext, subresourceLayout );
94421  }
94422 #endif
94423 
94424 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
94425  auto operator<=>( SubresourceLayout2EXT const & ) const = default;
94426 #else
94428  {
94429 # if defined( VULKAN_HPP_USE_REFLECT )
94430  return this->reflect() == rhs.reflect();
94431 # else
94432  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( subresourceLayout == rhs.subresourceLayout );
94433 # endif
94434  }
94435 
94437  {
94438  return !operator==( rhs );
94439  }
94440 #endif
94441 
94442  public:
94443  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSubresourceLayout2EXT;
94444  void * pNext = {};
94446  };
94447 
94448  template <>
94450  {
94452  };
94453 
94455  {
94457 
94458  static const bool allowDuplicate = false;
94459  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSurfaceCapabilities2EXT;
94460 
94461 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
94463  uint32_t minImageCount_ = {},
94464  uint32_t maxImageCount_ = {},
94465  VULKAN_HPP_NAMESPACE::Extent2D currentExtent_ = {},
94466  VULKAN_HPP_NAMESPACE::Extent2D minImageExtent_ = {},
94467  VULKAN_HPP_NAMESPACE::Extent2D maxImageExtent_ = {},
94468  uint32_t maxImageArrayLayers_ = {},
94469  VULKAN_HPP_NAMESPACE::SurfaceTransformFlagsKHR supportedTransforms_ = {},
94471  VULKAN_HPP_NAMESPACE::CompositeAlphaFlagsKHR supportedCompositeAlpha_ = {},
94472  VULKAN_HPP_NAMESPACE::ImageUsageFlags supportedUsageFlags_ = {},
94473  VULKAN_HPP_NAMESPACE::SurfaceCounterFlagsEXT supportedSurfaceCounters_ = {},
94474  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
94475  : pNext( pNext_ )
94476  , minImageCount( minImageCount_ )
94477  , maxImageCount( maxImageCount_ )
94478  , currentExtent( currentExtent_ )
94479  , minImageExtent( minImageExtent_ )
94480  , maxImageExtent( maxImageExtent_ )
94481  , maxImageArrayLayers( maxImageArrayLayers_ )
94482  , supportedTransforms( supportedTransforms_ )
94483  , currentTransform( currentTransform_ )
94484  , supportedCompositeAlpha( supportedCompositeAlpha_ )
94485  , supportedUsageFlags( supportedUsageFlags_ )
94486  , supportedSurfaceCounters( supportedSurfaceCounters_ )
94487  {
94488  }
94489 
94490  VULKAN_HPP_CONSTEXPR SurfaceCapabilities2EXT( SurfaceCapabilities2EXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
94491 
94493  : SurfaceCapabilities2EXT( *reinterpret_cast<SurfaceCapabilities2EXT const *>( &rhs ) )
94494  {
94495  }
94496 
94497  SurfaceCapabilities2EXT & operator=( SurfaceCapabilities2EXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
94498 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
94499 
94501  {
94502  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SurfaceCapabilities2EXT const *>( &rhs );
94503  return *this;
94504  }
94505 
94507  {
94508  return *reinterpret_cast<const VkSurfaceCapabilities2EXT *>( this );
94509  }
94510 
94512  {
94513  return *reinterpret_cast<VkSurfaceCapabilities2EXT *>( this );
94514  }
94515 
94516 #if defined( VULKAN_HPP_USE_REFLECT )
94517 # if 14 <= VULKAN_HPP_CPP_VERSION
94518  auto
94519 # else
94520  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
94521  void * const &,
94522  uint32_t const &,
94523  uint32_t const &,
94527  uint32_t const &,
94533 # endif
94534  reflect() const VULKAN_HPP_NOEXCEPT
94535  {
94536  return std::tie( sType,
94537  pNext,
94538  minImageCount,
94539  maxImageCount,
94540  currentExtent,
94541  minImageExtent,
94542  maxImageExtent,
94543  maxImageArrayLayers,
94544  supportedTransforms,
94545  currentTransform,
94546  supportedCompositeAlpha,
94547  supportedUsageFlags,
94548  supportedSurfaceCounters );
94549  }
94550 #endif
94551 
94552 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
94553  auto operator<=>( SurfaceCapabilities2EXT const & ) const = default;
94554 #else
94556  {
94557 # if defined( VULKAN_HPP_USE_REFLECT )
94558  return this->reflect() == rhs.reflect();
94559 # else
94560  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( minImageCount == rhs.minImageCount ) && ( maxImageCount == rhs.maxImageCount ) &&
94561  ( currentExtent == rhs.currentExtent ) && ( minImageExtent == rhs.minImageExtent ) && ( maxImageExtent == rhs.maxImageExtent ) &&
94562  ( maxImageArrayLayers == rhs.maxImageArrayLayers ) && ( supportedTransforms == rhs.supportedTransforms ) &&
94563  ( currentTransform == rhs.currentTransform ) && ( supportedCompositeAlpha == rhs.supportedCompositeAlpha ) &&
94564  ( supportedUsageFlags == rhs.supportedUsageFlags ) && ( supportedSurfaceCounters == rhs.supportedSurfaceCounters );
94565 # endif
94566  }
94567 
94569  {
94570  return !operator==( rhs );
94571  }
94572 #endif
94573 
94574  public:
94575  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSurfaceCapabilities2EXT;
94576  void * pNext = {};
94577  uint32_t minImageCount = {};
94578  uint32_t maxImageCount = {};
94580  VULKAN_HPP_NAMESPACE::Extent2D minImageExtent = {};
94581  VULKAN_HPP_NAMESPACE::Extent2D maxImageExtent = {};
94582  uint32_t maxImageArrayLayers = {};
94585  VULKAN_HPP_NAMESPACE::CompositeAlphaFlagsKHR supportedCompositeAlpha = {};
94586  VULKAN_HPP_NAMESPACE::ImageUsageFlags supportedUsageFlags = {};
94587  VULKAN_HPP_NAMESPACE::SurfaceCounterFlagsEXT supportedSurfaceCounters = {};
94588  };
94589 
94590  template <>
94592  {
94594  };
94595 
94597  {
94599 
94600 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
94602  uint32_t minImageCount_ = {},
94603  uint32_t maxImageCount_ = {},
94604  VULKAN_HPP_NAMESPACE::Extent2D currentExtent_ = {},
94605  VULKAN_HPP_NAMESPACE::Extent2D minImageExtent_ = {},
94606  VULKAN_HPP_NAMESPACE::Extent2D maxImageExtent_ = {},
94607  uint32_t maxImageArrayLayers_ = {},
94608  VULKAN_HPP_NAMESPACE::SurfaceTransformFlagsKHR supportedTransforms_ = {},
94610  VULKAN_HPP_NAMESPACE::CompositeAlphaFlagsKHR supportedCompositeAlpha_ = {},
94612  : minImageCount( minImageCount_ )
94613  , maxImageCount( maxImageCount_ )
94614  , currentExtent( currentExtent_ )
94615  , minImageExtent( minImageExtent_ )
94616  , maxImageExtent( maxImageExtent_ )
94617  , maxImageArrayLayers( maxImageArrayLayers_ )
94618  , supportedTransforms( supportedTransforms_ )
94619  , currentTransform( currentTransform_ )
94620  , supportedCompositeAlpha( supportedCompositeAlpha_ )
94621  , supportedUsageFlags( supportedUsageFlags_ )
94622  {
94623  }
94624 
94625  VULKAN_HPP_CONSTEXPR SurfaceCapabilitiesKHR( SurfaceCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
94626 
94628  : SurfaceCapabilitiesKHR( *reinterpret_cast<SurfaceCapabilitiesKHR const *>( &rhs ) )
94629  {
94630  }
94631 
94632  SurfaceCapabilitiesKHR & operator=( SurfaceCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
94633 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
94634 
94636  {
94637  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR const *>( &rhs );
94638  return *this;
94639  }
94640 
94642  {
94643  return *reinterpret_cast<const VkSurfaceCapabilitiesKHR *>( this );
94644  }
94645 
94647  {
94648  return *reinterpret_cast<VkSurfaceCapabilitiesKHR *>( this );
94649  }
94650 
94651 #if defined( VULKAN_HPP_USE_REFLECT )
94652 # if 14 <= VULKAN_HPP_CPP_VERSION
94653  auto
94654 # else
94655  std::tuple<uint32_t const &,
94656  uint32_t const &,
94660  uint32_t const &,
94665 # endif
94666  reflect() const VULKAN_HPP_NOEXCEPT
94667  {
94668  return std::tie( minImageCount,
94669  maxImageCount,
94670  currentExtent,
94671  minImageExtent,
94672  maxImageExtent,
94673  maxImageArrayLayers,
94674  supportedTransforms,
94675  currentTransform,
94676  supportedCompositeAlpha,
94677  supportedUsageFlags );
94678  }
94679 #endif
94680 
94681 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
94682  auto operator<=>( SurfaceCapabilitiesKHR const & ) const = default;
94683 #else
94685  {
94686 # if defined( VULKAN_HPP_USE_REFLECT )
94687  return this->reflect() == rhs.reflect();
94688 # else
94689  return ( minImageCount == rhs.minImageCount ) && ( maxImageCount == rhs.maxImageCount ) && ( currentExtent == rhs.currentExtent ) &&
94690  ( minImageExtent == rhs.minImageExtent ) && ( maxImageExtent == rhs.maxImageExtent ) && ( maxImageArrayLayers == rhs.maxImageArrayLayers ) &&
94691  ( supportedTransforms == rhs.supportedTransforms ) && ( currentTransform == rhs.currentTransform ) &&
94692  ( supportedCompositeAlpha == rhs.supportedCompositeAlpha ) && ( supportedUsageFlags == rhs.supportedUsageFlags );
94693 # endif
94694  }
94695 
94697  {
94698  return !operator==( rhs );
94699  }
94700 #endif
94701 
94702  public:
94703  uint32_t minImageCount = {};
94704  uint32_t maxImageCount = {};
94706  VULKAN_HPP_NAMESPACE::Extent2D minImageExtent = {};
94707  VULKAN_HPP_NAMESPACE::Extent2D maxImageExtent = {};
94708  uint32_t maxImageArrayLayers = {};
94711  VULKAN_HPP_NAMESPACE::CompositeAlphaFlagsKHR supportedCompositeAlpha = {};
94712  VULKAN_HPP_NAMESPACE::ImageUsageFlags supportedUsageFlags = {};
94713  };
94714 
94716  {
94718 
94719  static const bool allowDuplicate = false;
94720  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSurfaceCapabilities2KHR;
94721 
94722 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
94724  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
94725  : pNext( pNext_ )
94726  , surfaceCapabilities( surfaceCapabilities_ )
94727  {
94728  }
94729 
94730  VULKAN_HPP_CONSTEXPR SurfaceCapabilities2KHR( SurfaceCapabilities2KHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
94731 
94733  : SurfaceCapabilities2KHR( *reinterpret_cast<SurfaceCapabilities2KHR const *>( &rhs ) )
94734  {
94735  }
94736 
94737  SurfaceCapabilities2KHR & operator=( SurfaceCapabilities2KHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
94738 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
94739 
94741  {
94742  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR const *>( &rhs );
94743  return *this;
94744  }
94745 
94747  {
94748  return *reinterpret_cast<const VkSurfaceCapabilities2KHR *>( this );
94749  }
94750 
94752  {
94753  return *reinterpret_cast<VkSurfaceCapabilities2KHR *>( this );
94754  }
94755 
94756 #if defined( VULKAN_HPP_USE_REFLECT )
94757 # if 14 <= VULKAN_HPP_CPP_VERSION
94758  auto
94759 # else
94760  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR const &>
94761 # endif
94762  reflect() const VULKAN_HPP_NOEXCEPT
94763  {
94764  return std::tie( sType, pNext, surfaceCapabilities );
94765  }
94766 #endif
94767 
94768 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
94769  auto operator<=>( SurfaceCapabilities2KHR const & ) const = default;
94770 #else
94772  {
94773 # if defined( VULKAN_HPP_USE_REFLECT )
94774  return this->reflect() == rhs.reflect();
94775 # else
94776  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( surfaceCapabilities == rhs.surfaceCapabilities );
94777 # endif
94778  }
94779 
94781  {
94782  return !operator==( rhs );
94783  }
94784 #endif
94785 
94786  public:
94787  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSurfaceCapabilities2KHR;
94788  void * pNext = {};
94790  };
94791 
94792  template <>
94794  {
94796  };
94797 
94798 #if defined( VK_USE_PLATFORM_WIN32_KHR )
94799  struct SurfaceCapabilitiesFullScreenExclusiveEXT
94800  {
94802 
94803  static const bool allowDuplicate = false;
94804  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSurfaceCapabilitiesFullScreenExclusiveEXT;
94805 
94806 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
94807  VULKAN_HPP_CONSTEXPR SurfaceCapabilitiesFullScreenExclusiveEXT( VULKAN_HPP_NAMESPACE::Bool32 fullScreenExclusiveSupported_ = {},
94808  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
94809  : pNext( pNext_ )
94810  , fullScreenExclusiveSupported( fullScreenExclusiveSupported_ )
94811  {
94812  }
94813 
94814  VULKAN_HPP_CONSTEXPR SurfaceCapabilitiesFullScreenExclusiveEXT( SurfaceCapabilitiesFullScreenExclusiveEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
94815 
94816  SurfaceCapabilitiesFullScreenExclusiveEXT( VkSurfaceCapabilitiesFullScreenExclusiveEXT const & rhs ) VULKAN_HPP_NOEXCEPT
94817  : SurfaceCapabilitiesFullScreenExclusiveEXT( *reinterpret_cast<SurfaceCapabilitiesFullScreenExclusiveEXT const *>( &rhs ) )
94818  {
94819  }
94820 
94821  SurfaceCapabilitiesFullScreenExclusiveEXT & operator=( SurfaceCapabilitiesFullScreenExclusiveEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
94822 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
94823 
94824  SurfaceCapabilitiesFullScreenExclusiveEXT & operator=( VkSurfaceCapabilitiesFullScreenExclusiveEXT const & rhs ) VULKAN_HPP_NOEXCEPT
94825  {
94826  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesFullScreenExclusiveEXT const *>( &rhs );
94827  return *this;
94828  }
94829 
94830 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
94831  VULKAN_HPP_CONSTEXPR_14 SurfaceCapabilitiesFullScreenExclusiveEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
94832  {
94833  pNext = pNext_;
94834  return *this;
94835  }
94836 
94837  VULKAN_HPP_CONSTEXPR_14 SurfaceCapabilitiesFullScreenExclusiveEXT &
94838  setFullScreenExclusiveSupported( VULKAN_HPP_NAMESPACE::Bool32 fullScreenExclusiveSupported_ ) VULKAN_HPP_NOEXCEPT
94839  {
94840  fullScreenExclusiveSupported = fullScreenExclusiveSupported_;
94841  return *this;
94842  }
94843 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
94844 
94846  {
94847  return *reinterpret_cast<const VkSurfaceCapabilitiesFullScreenExclusiveEXT *>( this );
94848  }
94849 
94851  {
94852  return *reinterpret_cast<VkSurfaceCapabilitiesFullScreenExclusiveEXT *>( this );
94853  }
94854 
94855 # if defined( VULKAN_HPP_USE_REFLECT )
94856 # if 14 <= VULKAN_HPP_CPP_VERSION
94857  auto
94858 # else
94859  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
94860 # endif
94861  reflect() const VULKAN_HPP_NOEXCEPT
94862  {
94863  return std::tie( sType, pNext, fullScreenExclusiveSupported );
94864  }
94865 # endif
94866 
94867 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
94868  auto operator<=>( SurfaceCapabilitiesFullScreenExclusiveEXT const & ) const = default;
94869 # else
94870  bool operator==( SurfaceCapabilitiesFullScreenExclusiveEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
94871  {
94872 # if defined( VULKAN_HPP_USE_REFLECT )
94873  return this->reflect() == rhs.reflect();
94874 # else
94875  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( fullScreenExclusiveSupported == rhs.fullScreenExclusiveSupported );
94876 # endif
94877  }
94878 
94879  bool operator!=( SurfaceCapabilitiesFullScreenExclusiveEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
94880  {
94881  return !operator==( rhs );
94882  }
94883 # endif
94884 
94885  public:
94886  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSurfaceCapabilitiesFullScreenExclusiveEXT;
94887  void * pNext = {};
94888  VULKAN_HPP_NAMESPACE::Bool32 fullScreenExclusiveSupported = {};
94889  };
94890 
94891  template <>
94892  struct CppType<StructureType, StructureType::eSurfaceCapabilitiesFullScreenExclusiveEXT>
94893  {
94894  using Type = SurfaceCapabilitiesFullScreenExclusiveEXT;
94895  };
94896 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
94897 
94899  {
94901 
94902  static const bool allowDuplicate = false;
94903  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSurfaceCapabilitiesPresentBarrierNV;
94904 
94905 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
94907  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
94908  : pNext( pNext_ )
94909  , presentBarrierSupported( presentBarrierSupported_ )
94910  {
94911  }
94912 
94913  VULKAN_HPP_CONSTEXPR SurfaceCapabilitiesPresentBarrierNV( SurfaceCapabilitiesPresentBarrierNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
94914 
94916  : SurfaceCapabilitiesPresentBarrierNV( *reinterpret_cast<SurfaceCapabilitiesPresentBarrierNV const *>( &rhs ) )
94917  {
94918  }
94919 
94921 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
94922 
94924  {
94925  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesPresentBarrierNV const *>( &rhs );
94926  return *this;
94927  }
94928 
94929 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
94931  {
94932  pNext = pNext_;
94933  return *this;
94934  }
94935 
94938  {
94939  presentBarrierSupported = presentBarrierSupported_;
94940  return *this;
94941  }
94942 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
94943 
94945  {
94946  return *reinterpret_cast<const VkSurfaceCapabilitiesPresentBarrierNV *>( this );
94947  }
94948 
94950  {
94951  return *reinterpret_cast<VkSurfaceCapabilitiesPresentBarrierNV *>( this );
94952  }
94953 
94954 #if defined( VULKAN_HPP_USE_REFLECT )
94955 # if 14 <= VULKAN_HPP_CPP_VERSION
94956  auto
94957 # else
94958  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
94959 # endif
94960  reflect() const VULKAN_HPP_NOEXCEPT
94961  {
94962  return std::tie( sType, pNext, presentBarrierSupported );
94963  }
94964 #endif
94965 
94966 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
94967  auto operator<=>( SurfaceCapabilitiesPresentBarrierNV const & ) const = default;
94968 #else
94970  {
94971 # if defined( VULKAN_HPP_USE_REFLECT )
94972  return this->reflect() == rhs.reflect();
94973 # else
94974  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( presentBarrierSupported == rhs.presentBarrierSupported );
94975 # endif
94976  }
94977 
94979  {
94980  return !operator==( rhs );
94981  }
94982 #endif
94983 
94984  public:
94985  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSurfaceCapabilitiesPresentBarrierNV;
94986  void * pNext = {};
94987  VULKAN_HPP_NAMESPACE::Bool32 presentBarrierSupported = {};
94988  };
94989 
94990  template <>
94992  {
94994  };
94995 
94997  {
94999 
95000 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
95004  : format( format_ )
95005  , colorSpace( colorSpace_ )
95006  {
95007  }
95008 
95010 
95011  SurfaceFormatKHR( VkSurfaceFormatKHR const & rhs ) VULKAN_HPP_NOEXCEPT : SurfaceFormatKHR( *reinterpret_cast<SurfaceFormatKHR const *>( &rhs ) ) {}
95012 
95013  SurfaceFormatKHR & operator=( SurfaceFormatKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
95014 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
95015 
95017  {
95018  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SurfaceFormatKHR const *>( &rhs );
95019  return *this;
95020  }
95021 
95022  operator VkSurfaceFormatKHR const &() const VULKAN_HPP_NOEXCEPT
95023  {
95024  return *reinterpret_cast<const VkSurfaceFormatKHR *>( this );
95025  }
95026 
95028  {
95029  return *reinterpret_cast<VkSurfaceFormatKHR *>( this );
95030  }
95031 
95032 #if defined( VULKAN_HPP_USE_REFLECT )
95033 # if 14 <= VULKAN_HPP_CPP_VERSION
95034  auto
95035 # else
95036  std::tuple<VULKAN_HPP_NAMESPACE::Format const &, VULKAN_HPP_NAMESPACE::ColorSpaceKHR const &>
95037 # endif
95038  reflect() const VULKAN_HPP_NOEXCEPT
95039  {
95040  return std::tie( format, colorSpace );
95041  }
95042 #endif
95043 
95044 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
95045  auto operator<=>( SurfaceFormatKHR const & ) const = default;
95046 #else
95048  {
95049 # if defined( VULKAN_HPP_USE_REFLECT )
95050  return this->reflect() == rhs.reflect();
95051 # else
95052  return ( format == rhs.format ) && ( colorSpace == rhs.colorSpace );
95053 # endif
95054  }
95055 
95057  {
95058  return !operator==( rhs );
95059  }
95060 #endif
95061 
95062  public:
95065  };
95066 
95068  {
95070 
95071  static const bool allowDuplicate = false;
95072  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSurfaceFormat2KHR;
95073 
95074 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
95076  : pNext( pNext_ )
95077  , surfaceFormat( surfaceFormat_ )
95078  {
95079  }
95080 
95081  VULKAN_HPP_CONSTEXPR SurfaceFormat2KHR( SurfaceFormat2KHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
95082 
95083  SurfaceFormat2KHR( VkSurfaceFormat2KHR const & rhs ) VULKAN_HPP_NOEXCEPT : SurfaceFormat2KHR( *reinterpret_cast<SurfaceFormat2KHR const *>( &rhs ) ) {}
95084 
95085  SurfaceFormat2KHR & operator=( SurfaceFormat2KHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
95086 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
95087 
95089  {
95090  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR const *>( &rhs );
95091  return *this;
95092  }
95093 
95094  operator VkSurfaceFormat2KHR const &() const VULKAN_HPP_NOEXCEPT
95095  {
95096  return *reinterpret_cast<const VkSurfaceFormat2KHR *>( this );
95097  }
95098 
95100  {
95101  return *reinterpret_cast<VkSurfaceFormat2KHR *>( this );
95102  }
95103 
95104 #if defined( VULKAN_HPP_USE_REFLECT )
95105 # if 14 <= VULKAN_HPP_CPP_VERSION
95106  auto
95107 # else
95108  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::SurfaceFormatKHR const &>
95109 # endif
95110  reflect() const VULKAN_HPP_NOEXCEPT
95111  {
95112  return std::tie( sType, pNext, surfaceFormat );
95113  }
95114 #endif
95115 
95116 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
95117  auto operator<=>( SurfaceFormat2KHR const & ) const = default;
95118 #else
95120  {
95121 # if defined( VULKAN_HPP_USE_REFLECT )
95122  return this->reflect() == rhs.reflect();
95123 # else
95124  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( surfaceFormat == rhs.surfaceFormat );
95125 # endif
95126  }
95127 
95129  {
95130  return !operator==( rhs );
95131  }
95132 #endif
95133 
95134  public:
95135  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSurfaceFormat2KHR;
95136  void * pNext = {};
95138  };
95139 
95140  template <>
95142  {
95144  };
95145 
95146 #if defined( VK_USE_PLATFORM_WIN32_KHR )
95147  struct SurfaceFullScreenExclusiveInfoEXT
95148  {
95149  using NativeType = VkSurfaceFullScreenExclusiveInfoEXT;
95150 
95151  static const bool allowDuplicate = false;
95152  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSurfaceFullScreenExclusiveInfoEXT;
95153 
95154 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
95155  VULKAN_HPP_CONSTEXPR SurfaceFullScreenExclusiveInfoEXT(
95156  VULKAN_HPP_NAMESPACE::FullScreenExclusiveEXT fullScreenExclusive_ = VULKAN_HPP_NAMESPACE::FullScreenExclusiveEXT::eDefault,
95157  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
95158  : pNext( pNext_ )
95159  , fullScreenExclusive( fullScreenExclusive_ )
95160  {
95161  }
95162 
95163  VULKAN_HPP_CONSTEXPR SurfaceFullScreenExclusiveInfoEXT( SurfaceFullScreenExclusiveInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
95164 
95165  SurfaceFullScreenExclusiveInfoEXT( VkSurfaceFullScreenExclusiveInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
95166  : SurfaceFullScreenExclusiveInfoEXT( *reinterpret_cast<SurfaceFullScreenExclusiveInfoEXT const *>( &rhs ) )
95167  {
95168  }
95169 
95170  SurfaceFullScreenExclusiveInfoEXT & operator=( SurfaceFullScreenExclusiveInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
95171 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
95172 
95173  SurfaceFullScreenExclusiveInfoEXT & operator=( VkSurfaceFullScreenExclusiveInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
95174  {
95175  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SurfaceFullScreenExclusiveInfoEXT const *>( &rhs );
95176  return *this;
95177  }
95178 
95179 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
95180  VULKAN_HPP_CONSTEXPR_14 SurfaceFullScreenExclusiveInfoEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
95181  {
95182  pNext = pNext_;
95183  return *this;
95184  }
95185 
95186  VULKAN_HPP_CONSTEXPR_14 SurfaceFullScreenExclusiveInfoEXT &
95187  setFullScreenExclusive( VULKAN_HPP_NAMESPACE::FullScreenExclusiveEXT fullScreenExclusive_ ) VULKAN_HPP_NOEXCEPT
95188  {
95189  fullScreenExclusive = fullScreenExclusive_;
95190  return *this;
95191  }
95192 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
95193 
95195  {
95196  return *reinterpret_cast<const VkSurfaceFullScreenExclusiveInfoEXT *>( this );
95197  }
95198 
95200  {
95201  return *reinterpret_cast<VkSurfaceFullScreenExclusiveInfoEXT *>( this );
95202  }
95203 
95204 # if defined( VULKAN_HPP_USE_REFLECT )
95205 # if 14 <= VULKAN_HPP_CPP_VERSION
95206  auto
95207 # else
95208  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::FullScreenExclusiveEXT const &>
95209 # endif
95210  reflect() const VULKAN_HPP_NOEXCEPT
95211  {
95212  return std::tie( sType, pNext, fullScreenExclusive );
95213  }
95214 # endif
95215 
95216 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
95217  auto operator<=>( SurfaceFullScreenExclusiveInfoEXT const & ) const = default;
95218 # else
95219  bool operator==( SurfaceFullScreenExclusiveInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
95220  {
95221 # if defined( VULKAN_HPP_USE_REFLECT )
95222  return this->reflect() == rhs.reflect();
95223 # else
95224  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( fullScreenExclusive == rhs.fullScreenExclusive );
95225 # endif
95226  }
95227 
95228  bool operator!=( SurfaceFullScreenExclusiveInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
95229  {
95230  return !operator==( rhs );
95231  }
95232 # endif
95233 
95234  public:
95235  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSurfaceFullScreenExclusiveInfoEXT;
95236  void * pNext = {};
95237  VULKAN_HPP_NAMESPACE::FullScreenExclusiveEXT fullScreenExclusive = VULKAN_HPP_NAMESPACE::FullScreenExclusiveEXT::eDefault;
95238  };
95239 
95240  template <>
95241  struct CppType<StructureType, StructureType::eSurfaceFullScreenExclusiveInfoEXT>
95242  {
95243  using Type = SurfaceFullScreenExclusiveInfoEXT;
95244  };
95245 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
95246 
95247 #if defined( VK_USE_PLATFORM_WIN32_KHR )
95248  struct SurfaceFullScreenExclusiveWin32InfoEXT
95249  {
95250  using NativeType = VkSurfaceFullScreenExclusiveWin32InfoEXT;
95251 
95252  static const bool allowDuplicate = false;
95253  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSurfaceFullScreenExclusiveWin32InfoEXT;
95254 
95255 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
95256  VULKAN_HPP_CONSTEXPR SurfaceFullScreenExclusiveWin32InfoEXT( HMONITOR hmonitor_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
95257  : pNext( pNext_ )
95258  , hmonitor( hmonitor_ )
95259  {
95260  }
95261 
95262  VULKAN_HPP_CONSTEXPR SurfaceFullScreenExclusiveWin32InfoEXT( SurfaceFullScreenExclusiveWin32InfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
95263 
95264  SurfaceFullScreenExclusiveWin32InfoEXT( VkSurfaceFullScreenExclusiveWin32InfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
95265  : SurfaceFullScreenExclusiveWin32InfoEXT( *reinterpret_cast<SurfaceFullScreenExclusiveWin32InfoEXT const *>( &rhs ) )
95266  {
95267  }
95268 
95269  SurfaceFullScreenExclusiveWin32InfoEXT & operator=( SurfaceFullScreenExclusiveWin32InfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
95270 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
95271 
95272  SurfaceFullScreenExclusiveWin32InfoEXT & operator=( VkSurfaceFullScreenExclusiveWin32InfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
95273  {
95274  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SurfaceFullScreenExclusiveWin32InfoEXT const *>( &rhs );
95275  return *this;
95276  }
95277 
95278 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
95279  VULKAN_HPP_CONSTEXPR_14 SurfaceFullScreenExclusiveWin32InfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
95280  {
95281  pNext = pNext_;
95282  return *this;
95283  }
95284 
95285  VULKAN_HPP_CONSTEXPR_14 SurfaceFullScreenExclusiveWin32InfoEXT & setHmonitor( HMONITOR hmonitor_ ) VULKAN_HPP_NOEXCEPT
95286  {
95287  hmonitor = hmonitor_;
95288  return *this;
95289  }
95290 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
95291 
95293  {
95294  return *reinterpret_cast<const VkSurfaceFullScreenExclusiveWin32InfoEXT *>( this );
95295  }
95296 
95298  {
95299  return *reinterpret_cast<VkSurfaceFullScreenExclusiveWin32InfoEXT *>( this );
95300  }
95301 
95302 # if defined( VULKAN_HPP_USE_REFLECT )
95303 # if 14 <= VULKAN_HPP_CPP_VERSION
95304  auto
95305 # else
95306  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, HMONITOR const &>
95307 # endif
95308  reflect() const VULKAN_HPP_NOEXCEPT
95309  {
95310  return std::tie( sType, pNext, hmonitor );
95311  }
95312 # endif
95313 
95314 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
95315  auto operator<=>( SurfaceFullScreenExclusiveWin32InfoEXT const & ) const = default;
95316 # else
95317  bool operator==( SurfaceFullScreenExclusiveWin32InfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
95318  {
95319 # if defined( VULKAN_HPP_USE_REFLECT )
95320  return this->reflect() == rhs.reflect();
95321 # else
95322  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( hmonitor == rhs.hmonitor );
95323 # endif
95324  }
95325 
95326  bool operator!=( SurfaceFullScreenExclusiveWin32InfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
95327  {
95328  return !operator==( rhs );
95329  }
95330 # endif
95331 
95332  public:
95333  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSurfaceFullScreenExclusiveWin32InfoEXT;
95334  const void * pNext = {};
95335  HMONITOR hmonitor = {};
95336  };
95337 
95338  template <>
95339  struct CppType<StructureType, StructureType::eSurfaceFullScreenExclusiveWin32InfoEXT>
95340  {
95341  using Type = SurfaceFullScreenExclusiveWin32InfoEXT;
95342  };
95343 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
95344 
95346  {
95348 
95349  static const bool allowDuplicate = false;
95350  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSurfaceProtectedCapabilitiesKHR;
95351 
95352 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
95354  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
95355  : pNext( pNext_ )
95356  , supportsProtected( supportsProtected_ )
95357  {
95358  }
95359 
95360  VULKAN_HPP_CONSTEXPR SurfaceProtectedCapabilitiesKHR( SurfaceProtectedCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
95361 
95363  : SurfaceProtectedCapabilitiesKHR( *reinterpret_cast<SurfaceProtectedCapabilitiesKHR const *>( &rhs ) )
95364  {
95365  }
95366 
95368 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
95369 
95371  {
95372  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SurfaceProtectedCapabilitiesKHR const *>( &rhs );
95373  return *this;
95374  }
95375 
95376 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
95378  {
95379  pNext = pNext_;
95380  return *this;
95381  }
95382 
95384  {
95385  supportsProtected = supportsProtected_;
95386  return *this;
95387  }
95388 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
95389 
95391  {
95392  return *reinterpret_cast<const VkSurfaceProtectedCapabilitiesKHR *>( this );
95393  }
95394 
95396  {
95397  return *reinterpret_cast<VkSurfaceProtectedCapabilitiesKHR *>( this );
95398  }
95399 
95400 #if defined( VULKAN_HPP_USE_REFLECT )
95401 # if 14 <= VULKAN_HPP_CPP_VERSION
95402  auto
95403 # else
95404  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
95405 # endif
95406  reflect() const VULKAN_HPP_NOEXCEPT
95407  {
95408  return std::tie( sType, pNext, supportsProtected );
95409  }
95410 #endif
95411 
95412 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
95413  auto operator<=>( SurfaceProtectedCapabilitiesKHR const & ) const = default;
95414 #else
95416  {
95417 # if defined( VULKAN_HPP_USE_REFLECT )
95418  return this->reflect() == rhs.reflect();
95419 # else
95420  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( supportsProtected == rhs.supportsProtected );
95421 # endif
95422  }
95423 
95425  {
95426  return !operator==( rhs );
95427  }
95428 #endif
95429 
95430  public:
95431  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSurfaceProtectedCapabilitiesKHR;
95432  const void * pNext = {};
95433  VULKAN_HPP_NAMESPACE::Bool32 supportsProtected = {};
95434  };
95435 
95436  template <>
95438  {
95440  };
95441 
95443  {
95445 
95446  static const bool allowDuplicate = false;
95447  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSwapchainCounterCreateInfoEXT;
95448 
95449 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
95451  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
95452  : pNext( pNext_ )
95453  , surfaceCounters( surfaceCounters_ )
95454  {
95455  }
95456 
95457  VULKAN_HPP_CONSTEXPR SwapchainCounterCreateInfoEXT( SwapchainCounterCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
95458 
95460  : SwapchainCounterCreateInfoEXT( *reinterpret_cast<SwapchainCounterCreateInfoEXT const *>( &rhs ) )
95461  {
95462  }
95463 
95465 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
95466 
95468  {
95469  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SwapchainCounterCreateInfoEXT const *>( &rhs );
95470  return *this;
95471  }
95472 
95473 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
95475  {
95476  pNext = pNext_;
95477  return *this;
95478  }
95479 
95482  {
95483  surfaceCounters = surfaceCounters_;
95484  return *this;
95485  }
95486 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
95487 
95489  {
95490  return *reinterpret_cast<const VkSwapchainCounterCreateInfoEXT *>( this );
95491  }
95492 
95494  {
95495  return *reinterpret_cast<VkSwapchainCounterCreateInfoEXT *>( this );
95496  }
95497 
95498 #if defined( VULKAN_HPP_USE_REFLECT )
95499 # if 14 <= VULKAN_HPP_CPP_VERSION
95500  auto
95501 # else
95502  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::SurfaceCounterFlagsEXT const &>
95503 # endif
95504  reflect() const VULKAN_HPP_NOEXCEPT
95505  {
95506  return std::tie( sType, pNext, surfaceCounters );
95507  }
95508 #endif
95509 
95510 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
95511  auto operator<=>( SwapchainCounterCreateInfoEXT const & ) const = default;
95512 #else
95514  {
95515 # if defined( VULKAN_HPP_USE_REFLECT )
95516  return this->reflect() == rhs.reflect();
95517 # else
95518  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( surfaceCounters == rhs.surfaceCounters );
95519 # endif
95520  }
95521 
95523  {
95524  return !operator==( rhs );
95525  }
95526 #endif
95527 
95528  public:
95529  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSwapchainCounterCreateInfoEXT;
95530  const void * pNext = {};
95532  };
95533 
95534  template <>
95536  {
95538  };
95539 
95541  {
95543 
95544  static const bool allowDuplicate = false;
95545  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSwapchainCreateInfoKHR;
95546 
95547 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
95550  VULKAN_HPP_NAMESPACE::SurfaceKHR surface_ = {},
95551  uint32_t minImageCount_ = {},
95554  VULKAN_HPP_NAMESPACE::Extent2D imageExtent_ = {},
95555  uint32_t imageArrayLayers_ = {},
95556  VULKAN_HPP_NAMESPACE::ImageUsageFlags imageUsage_ = {},
95558  uint32_t queueFamilyIndexCount_ = {},
95559  const uint32_t * pQueueFamilyIndices_ = {},
95563  VULKAN_HPP_NAMESPACE::Bool32 clipped_ = {},
95564  VULKAN_HPP_NAMESPACE::SwapchainKHR oldSwapchain_ = {},
95565  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
95566  : pNext( pNext_ )
95567  , flags( flags_ )
95568  , surface( surface_ )
95569  , minImageCount( minImageCount_ )
95570  , imageFormat( imageFormat_ )
95571  , imageColorSpace( imageColorSpace_ )
95572  , imageExtent( imageExtent_ )
95573  , imageArrayLayers( imageArrayLayers_ )
95574  , imageUsage( imageUsage_ )
95575  , imageSharingMode( imageSharingMode_ )
95576  , queueFamilyIndexCount( queueFamilyIndexCount_ )
95577  , pQueueFamilyIndices( pQueueFamilyIndices_ )
95578  , preTransform( preTransform_ )
95579  , compositeAlpha( compositeAlpha_ )
95580  , presentMode( presentMode_ )
95581  , clipped( clipped_ )
95582  , oldSwapchain( oldSwapchain_ )
95583  {
95584  }
95585 
95586  VULKAN_HPP_CONSTEXPR SwapchainCreateInfoKHR( SwapchainCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
95587 
95589  : SwapchainCreateInfoKHR( *reinterpret_cast<SwapchainCreateInfoKHR const *>( &rhs ) )
95590  {
95591  }
95592 
95593 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
95596  uint32_t minImageCount_,
95597  VULKAN_HPP_NAMESPACE::Format imageFormat_,
95598  VULKAN_HPP_NAMESPACE::ColorSpaceKHR imageColorSpace_,
95599  VULKAN_HPP_NAMESPACE::Extent2D imageExtent_,
95600  uint32_t imageArrayLayers_,
95602  VULKAN_HPP_NAMESPACE::SharingMode imageSharingMode_,
95607  VULKAN_HPP_NAMESPACE::Bool32 clipped_ = {},
95608  VULKAN_HPP_NAMESPACE::SwapchainKHR oldSwapchain_ = {},
95609  const void * pNext_ = nullptr )
95610  : pNext( pNext_ )
95611  , flags( flags_ )
95612  , surface( surface_ )
95613  , minImageCount( minImageCount_ )
95614  , imageFormat( imageFormat_ )
95615  , imageColorSpace( imageColorSpace_ )
95616  , imageExtent( imageExtent_ )
95617  , imageArrayLayers( imageArrayLayers_ )
95618  , imageUsage( imageUsage_ )
95619  , imageSharingMode( imageSharingMode_ )
95620  , queueFamilyIndexCount( static_cast<uint32_t>( queueFamilyIndices_.size() ) )
95621  , pQueueFamilyIndices( queueFamilyIndices_.data() )
95622  , preTransform( preTransform_ )
95623  , compositeAlpha( compositeAlpha_ )
95624  , presentMode( presentMode_ )
95625  , clipped( clipped_ )
95626  , oldSwapchain( oldSwapchain_ )
95627  {
95628  }
95629 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
95630 
95631  SwapchainCreateInfoKHR & operator=( SwapchainCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
95632 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
95633 
95635  {
95636  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR const *>( &rhs );
95637  return *this;
95638  }
95639 
95640 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
95642  {
95643  pNext = pNext_;
95644  return *this;
95645  }
95646 
95648  {
95649  flags = flags_;
95650  return *this;
95651  }
95652 
95654  {
95655  surface = surface_;
95656  return *this;
95657  }
95658 
95660  {
95661  minImageCount = minImageCount_;
95662  return *this;
95663  }
95664 
95666  {
95667  imageFormat = imageFormat_;
95668  return *this;
95669  }
95670 
95672  {
95673  imageColorSpace = imageColorSpace_;
95674  return *this;
95675  }
95676 
95678  {
95679  imageExtent = imageExtent_;
95680  return *this;
95681  }
95682 
95684  {
95685  imageArrayLayers = imageArrayLayers_;
95686  return *this;
95687  }
95688 
95690  {
95691  imageUsage = imageUsage_;
95692  return *this;
95693  }
95694 
95696  {
95697  imageSharingMode = imageSharingMode_;
95698  return *this;
95699  }
95700 
95702  {
95703  queueFamilyIndexCount = queueFamilyIndexCount_;
95704  return *this;
95705  }
95706 
95708  {
95709  pQueueFamilyIndices = pQueueFamilyIndices_;
95710  return *this;
95711  }
95712 
95713 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
95716  {
95717  queueFamilyIndexCount = static_cast<uint32_t>( queueFamilyIndices_.size() );
95718  pQueueFamilyIndices = queueFamilyIndices_.data();
95719  return *this;
95720  }
95721 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
95722 
95724  {
95725  preTransform = preTransform_;
95726  return *this;
95727  }
95728 
95730  {
95731  compositeAlpha = compositeAlpha_;
95732  return *this;
95733  }
95734 
95736  {
95737  presentMode = presentMode_;
95738  return *this;
95739  }
95740 
95742  {
95743  clipped = clipped_;
95744  return *this;
95745  }
95746 
95748  {
95749  oldSwapchain = oldSwapchain_;
95750  return *this;
95751  }
95752 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
95753 
95755  {
95756  return *reinterpret_cast<const VkSwapchainCreateInfoKHR *>( this );
95757  }
95758 
95760  {
95761  return *reinterpret_cast<VkSwapchainCreateInfoKHR *>( this );
95762  }
95763 
95764 #if defined( VULKAN_HPP_USE_REFLECT )
95765 # if 14 <= VULKAN_HPP_CPP_VERSION
95766  auto
95767 # else
95768  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
95769  const void * const &,
95772  uint32_t const &,
95776  uint32_t const &,
95779  uint32_t const &,
95780  const uint32_t * const &,
95786 # endif
95787  reflect() const VULKAN_HPP_NOEXCEPT
95788  {
95789  return std::tie( sType,
95790  pNext,
95791  flags,
95792  surface,
95793  minImageCount,
95794  imageFormat,
95795  imageColorSpace,
95796  imageExtent,
95797  imageArrayLayers,
95798  imageUsage,
95799  imageSharingMode,
95800  queueFamilyIndexCount,
95801  pQueueFamilyIndices,
95802  preTransform,
95803  compositeAlpha,
95804  presentMode,
95805  clipped,
95806  oldSwapchain );
95807  }
95808 #endif
95809 
95810 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
95811  auto operator<=>( SwapchainCreateInfoKHR const & ) const = default;
95812 #else
95814  {
95815 # if defined( VULKAN_HPP_USE_REFLECT )
95816  return this->reflect() == rhs.reflect();
95817 # else
95818  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( surface == rhs.surface ) &&
95819  ( minImageCount == rhs.minImageCount ) && ( imageFormat == rhs.imageFormat ) && ( imageColorSpace == rhs.imageColorSpace ) &&
95820  ( imageExtent == rhs.imageExtent ) && ( imageArrayLayers == rhs.imageArrayLayers ) && ( imageUsage == rhs.imageUsage ) &&
95821  ( imageSharingMode == rhs.imageSharingMode ) && ( queueFamilyIndexCount == rhs.queueFamilyIndexCount ) &&
95822  ( pQueueFamilyIndices == rhs.pQueueFamilyIndices ) && ( preTransform == rhs.preTransform ) && ( compositeAlpha == rhs.compositeAlpha ) &&
95823  ( presentMode == rhs.presentMode ) && ( clipped == rhs.clipped ) && ( oldSwapchain == rhs.oldSwapchain );
95824 # endif
95825  }
95826 
95828  {
95829  return !operator==( rhs );
95830  }
95831 #endif
95832 
95833  public:
95834  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSwapchainCreateInfoKHR;
95835  const void * pNext = {};
95838  uint32_t minImageCount = {};
95842  uint32_t imageArrayLayers = {};
95845  uint32_t queueFamilyIndexCount = {};
95846  const uint32_t * pQueueFamilyIndices = {};
95852  };
95853 
95854  template <>
95856  {
95858  };
95859 
95861  {
95863 
95864  static const bool allowDuplicate = false;
95865  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSwapchainDisplayNativeHdrCreateInfoAMD;
95866 
95867 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
95869  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
95870  : pNext( pNext_ )
95871  , localDimmingEnable( localDimmingEnable_ )
95872  {
95873  }
95874 
95875  VULKAN_HPP_CONSTEXPR SwapchainDisplayNativeHdrCreateInfoAMD( SwapchainDisplayNativeHdrCreateInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default;
95876 
95878  : SwapchainDisplayNativeHdrCreateInfoAMD( *reinterpret_cast<SwapchainDisplayNativeHdrCreateInfoAMD const *>( &rhs ) )
95879  {
95880  }
95881 
95883 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
95884 
95886  {
95887  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SwapchainDisplayNativeHdrCreateInfoAMD const *>( &rhs );
95888  return *this;
95889  }
95890 
95891 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
95893  {
95894  pNext = pNext_;
95895  return *this;
95896  }
95897 
95900  {
95901  localDimmingEnable = localDimmingEnable_;
95902  return *this;
95903  }
95904 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
95905 
95907  {
95908  return *reinterpret_cast<const VkSwapchainDisplayNativeHdrCreateInfoAMD *>( this );
95909  }
95910 
95912  {
95913  return *reinterpret_cast<VkSwapchainDisplayNativeHdrCreateInfoAMD *>( this );
95914  }
95915 
95916 #if defined( VULKAN_HPP_USE_REFLECT )
95917 # if 14 <= VULKAN_HPP_CPP_VERSION
95918  auto
95919 # else
95920  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
95921 # endif
95922  reflect() const VULKAN_HPP_NOEXCEPT
95923  {
95924  return std::tie( sType, pNext, localDimmingEnable );
95925  }
95926 #endif
95927 
95928 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
95929  auto operator<=>( SwapchainDisplayNativeHdrCreateInfoAMD const & ) const = default;
95930 #else
95932  {
95933 # if defined( VULKAN_HPP_USE_REFLECT )
95934  return this->reflect() == rhs.reflect();
95935 # else
95936  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( localDimmingEnable == rhs.localDimmingEnable );
95937 # endif
95938  }
95939 
95941  {
95942  return !operator==( rhs );
95943  }
95944 #endif
95945 
95946  public:
95947  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSwapchainDisplayNativeHdrCreateInfoAMD;
95948  const void * pNext = {};
95949  VULKAN_HPP_NAMESPACE::Bool32 localDimmingEnable = {};
95950  };
95951 
95952  template <>
95954  {
95956  };
95957 
95959  {
95961 
95962  static const bool allowDuplicate = false;
95963  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSwapchainPresentBarrierCreateInfoNV;
95964 
95965 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
95967  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
95968  : pNext( pNext_ )
95969  , presentBarrierEnable( presentBarrierEnable_ )
95970  {
95971  }
95972 
95973  VULKAN_HPP_CONSTEXPR SwapchainPresentBarrierCreateInfoNV( SwapchainPresentBarrierCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
95974 
95976  : SwapchainPresentBarrierCreateInfoNV( *reinterpret_cast<SwapchainPresentBarrierCreateInfoNV const *>( &rhs ) )
95977  {
95978  }
95979 
95981 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
95982 
95984  {
95985  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SwapchainPresentBarrierCreateInfoNV const *>( &rhs );
95986  return *this;
95987  }
95988 
95989 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
95991  {
95992  pNext = pNext_;
95993  return *this;
95994  }
95995 
95998  {
95999  presentBarrierEnable = presentBarrierEnable_;
96000  return *this;
96001  }
96002 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
96003 
96005  {
96006  return *reinterpret_cast<const VkSwapchainPresentBarrierCreateInfoNV *>( this );
96007  }
96008 
96010  {
96011  return *reinterpret_cast<VkSwapchainPresentBarrierCreateInfoNV *>( this );
96012  }
96013 
96014 #if defined( VULKAN_HPP_USE_REFLECT )
96015 # if 14 <= VULKAN_HPP_CPP_VERSION
96016  auto
96017 # else
96018  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
96019 # endif
96020  reflect() const VULKAN_HPP_NOEXCEPT
96021  {
96022  return std::tie( sType, pNext, presentBarrierEnable );
96023  }
96024 #endif
96025 
96026 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
96027  auto operator<=>( SwapchainPresentBarrierCreateInfoNV const & ) const = default;
96028 #else
96030  {
96031 # if defined( VULKAN_HPP_USE_REFLECT )
96032  return this->reflect() == rhs.reflect();
96033 # else
96034  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( presentBarrierEnable == rhs.presentBarrierEnable );
96035 # endif
96036  }
96037 
96039  {
96040  return !operator==( rhs );
96041  }
96042 #endif
96043 
96044  public:
96045  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSwapchainPresentBarrierCreateInfoNV;
96046  void * pNext = {};
96047  VULKAN_HPP_NAMESPACE::Bool32 presentBarrierEnable = {};
96048  };
96049 
96050  template <>
96052  {
96054  };
96055 
96057  {
96059 
96060  static const bool allowDuplicate = false;
96061  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eTextureLodGatherFormatPropertiesAMD;
96062 
96063 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
96065  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
96066  : pNext( pNext_ )
96067  , supportsTextureGatherLODBiasAMD( supportsTextureGatherLODBiasAMD_ )
96068  {
96069  }
96070 
96071  VULKAN_HPP_CONSTEXPR TextureLODGatherFormatPropertiesAMD( TextureLODGatherFormatPropertiesAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default;
96072 
96074  : TextureLODGatherFormatPropertiesAMD( *reinterpret_cast<TextureLODGatherFormatPropertiesAMD const *>( &rhs ) )
96075  {
96076  }
96077 
96079 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
96080 
96082  {
96083  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::TextureLODGatherFormatPropertiesAMD const *>( &rhs );
96084  return *this;
96085  }
96086 
96088  {
96089  return *reinterpret_cast<const VkTextureLODGatherFormatPropertiesAMD *>( this );
96090  }
96091 
96093  {
96094  return *reinterpret_cast<VkTextureLODGatherFormatPropertiesAMD *>( this );
96095  }
96096 
96097 #if defined( VULKAN_HPP_USE_REFLECT )
96098 # if 14 <= VULKAN_HPP_CPP_VERSION
96099  auto
96100 # else
96101  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &>
96102 # endif
96103  reflect() const VULKAN_HPP_NOEXCEPT
96104  {
96105  return std::tie( sType, pNext, supportsTextureGatherLODBiasAMD );
96106  }
96107 #endif
96108 
96109 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
96110  auto operator<=>( TextureLODGatherFormatPropertiesAMD const & ) const = default;
96111 #else
96113  {
96114 # if defined( VULKAN_HPP_USE_REFLECT )
96115  return this->reflect() == rhs.reflect();
96116 # else
96117  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( supportsTextureGatherLODBiasAMD == rhs.supportsTextureGatherLODBiasAMD );
96118 # endif
96119  }
96120 
96122  {
96123  return !operator==( rhs );
96124  }
96125 #endif
96126 
96127  public:
96128  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eTextureLodGatherFormatPropertiesAMD;
96129  void * pNext = {};
96130  VULKAN_HPP_NAMESPACE::Bool32 supportsTextureGatherLODBiasAMD = {};
96131  };
96132 
96133  template <>
96135  {
96137  };
96138 
96140  {
96142 
96143  static const bool allowDuplicate = false;
96144  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eTilePropertiesQCOM;
96145 
96146 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
96148  VULKAN_HPP_NAMESPACE::Extent2D apronSize_ = {},
96149  VULKAN_HPP_NAMESPACE::Offset2D origin_ = {},
96150  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
96151  : pNext( pNext_ )
96152  , tileSize( tileSize_ )
96153  , apronSize( apronSize_ )
96154  , origin( origin_ )
96155  {
96156  }
96157 
96158  VULKAN_HPP_CONSTEXPR TilePropertiesQCOM( TilePropertiesQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default;
96159 
96160  TilePropertiesQCOM( VkTilePropertiesQCOM const & rhs ) VULKAN_HPP_NOEXCEPT : TilePropertiesQCOM( *reinterpret_cast<TilePropertiesQCOM const *>( &rhs ) ) {}
96161 
96162  TilePropertiesQCOM & operator=( TilePropertiesQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default;
96163 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
96164 
96166  {
96167  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::TilePropertiesQCOM const *>( &rhs );
96168  return *this;
96169  }
96170 
96171 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
96173  {
96174  pNext = pNext_;
96175  return *this;
96176  }
96177 
96179  {
96180  tileSize = tileSize_;
96181  return *this;
96182  }
96183 
96185  {
96186  apronSize = apronSize_;
96187  return *this;
96188  }
96189 
96191  {
96192  origin = origin_;
96193  return *this;
96194  }
96195 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
96196 
96198  {
96199  return *reinterpret_cast<const VkTilePropertiesQCOM *>( this );
96200  }
96201 
96203  {
96204  return *reinterpret_cast<VkTilePropertiesQCOM *>( this );
96205  }
96206 
96207 #if defined( VULKAN_HPP_USE_REFLECT )
96208 # if 14 <= VULKAN_HPP_CPP_VERSION
96209  auto
96210 # else
96211  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
96212  void * const &,
96216 # endif
96217  reflect() const VULKAN_HPP_NOEXCEPT
96218  {
96219  return std::tie( sType, pNext, tileSize, apronSize, origin );
96220  }
96221 #endif
96222 
96223 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
96224  auto operator<=>( TilePropertiesQCOM const & ) const = default;
96225 #else
96227  {
96228 # if defined( VULKAN_HPP_USE_REFLECT )
96229  return this->reflect() == rhs.reflect();
96230 # else
96231  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( tileSize == rhs.tileSize ) && ( apronSize == rhs.apronSize ) && ( origin == rhs.origin );
96232 # endif
96233  }
96234 
96236  {
96237  return !operator==( rhs );
96238  }
96239 #endif
96240 
96241  public:
96242  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eTilePropertiesQCOM;
96243  void * pNext = {};
96247  };
96248 
96249  template <>
96251  {
96253  };
96254 
96256  {
96258 
96259  static const bool allowDuplicate = false;
96260  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eTimelineSemaphoreSubmitInfo;
96261 
96262 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
96263  VULKAN_HPP_CONSTEXPR TimelineSemaphoreSubmitInfo( uint32_t waitSemaphoreValueCount_ = {},
96264  const uint64_t * pWaitSemaphoreValues_ = {},
96265  uint32_t signalSemaphoreValueCount_ = {},
96266  const uint64_t * pSignalSemaphoreValues_ = {},
96267  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
96268  : pNext( pNext_ )
96269  , waitSemaphoreValueCount( waitSemaphoreValueCount_ )
96270  , pWaitSemaphoreValues( pWaitSemaphoreValues_ )
96271  , signalSemaphoreValueCount( signalSemaphoreValueCount_ )
96272  , pSignalSemaphoreValues( pSignalSemaphoreValues_ )
96273  {
96274  }
96275 
96276  VULKAN_HPP_CONSTEXPR TimelineSemaphoreSubmitInfo( TimelineSemaphoreSubmitInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
96277 
96279  : TimelineSemaphoreSubmitInfo( *reinterpret_cast<TimelineSemaphoreSubmitInfo const *>( &rhs ) )
96280  {
96281  }
96282 
96283 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
96285  VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint64_t> const & signalSemaphoreValues_ = {},
96286  const void * pNext_ = nullptr )
96287  : pNext( pNext_ )
96288  , waitSemaphoreValueCount( static_cast<uint32_t>( waitSemaphoreValues_.size() ) )
96289  , pWaitSemaphoreValues( waitSemaphoreValues_.data() )
96290  , signalSemaphoreValueCount( static_cast<uint32_t>( signalSemaphoreValues_.size() ) )
96291  , pSignalSemaphoreValues( signalSemaphoreValues_.data() )
96292  {
96293  }
96294 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
96295 
96296  TimelineSemaphoreSubmitInfo & operator=( TimelineSemaphoreSubmitInfo const & rhs ) VULKAN_HPP_NOEXCEPT = default;
96297 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
96298 
96300  {
96301  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::TimelineSemaphoreSubmitInfo const *>( &rhs );
96302  return *this;
96303  }
96304 
96305 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
96307  {
96308  pNext = pNext_;
96309  return *this;
96310  }
96311 
96313  {
96314  waitSemaphoreValueCount = waitSemaphoreValueCount_;
96315  return *this;
96316  }
96317 
96319  {
96320  pWaitSemaphoreValues = pWaitSemaphoreValues_;
96321  return *this;
96322  }
96323 
96324 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
96327  {
96328  waitSemaphoreValueCount = static_cast<uint32_t>( waitSemaphoreValues_.size() );
96329  pWaitSemaphoreValues = waitSemaphoreValues_.data();
96330  return *this;
96331  }
96332 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
96333 
96335  {
96336  signalSemaphoreValueCount = signalSemaphoreValueCount_;
96337  return *this;
96338  }
96339 
96341  {
96342  pSignalSemaphoreValues = pSignalSemaphoreValues_;
96343  return *this;
96344  }
96345 
96346 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
96349  {
96350  signalSemaphoreValueCount = static_cast<uint32_t>( signalSemaphoreValues_.size() );
96351  pSignalSemaphoreValues = signalSemaphoreValues_.data();
96352  return *this;
96353  }
96354 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
96355 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
96356 
96358  {
96359  return *reinterpret_cast<const VkTimelineSemaphoreSubmitInfo *>( this );
96360  }
96361 
96363  {
96364  return *reinterpret_cast<VkTimelineSemaphoreSubmitInfo *>( this );
96365  }
96366 
96367 #if defined( VULKAN_HPP_USE_REFLECT )
96368 # if 14 <= VULKAN_HPP_CPP_VERSION
96369  auto
96370 # else
96371  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
96372  const void * const &,
96373  uint32_t const &,
96374  const uint64_t * const &,
96375  uint32_t const &,
96376  const uint64_t * const &>
96377 # endif
96378  reflect() const VULKAN_HPP_NOEXCEPT
96379  {
96380  return std::tie( sType, pNext, waitSemaphoreValueCount, pWaitSemaphoreValues, signalSemaphoreValueCount, pSignalSemaphoreValues );
96381  }
96382 #endif
96383 
96384 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
96385  auto operator<=>( TimelineSemaphoreSubmitInfo const & ) const = default;
96386 #else
96388  {
96389 # if defined( VULKAN_HPP_USE_REFLECT )
96390  return this->reflect() == rhs.reflect();
96391 # else
96392  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( waitSemaphoreValueCount == rhs.waitSemaphoreValueCount ) &&
96393  ( pWaitSemaphoreValues == rhs.pWaitSemaphoreValues ) && ( signalSemaphoreValueCount == rhs.signalSemaphoreValueCount ) &&
96394  ( pSignalSemaphoreValues == rhs.pSignalSemaphoreValues );
96395 # endif
96396  }
96397 
96399  {
96400  return !operator==( rhs );
96401  }
96402 #endif
96403 
96404  public:
96405  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eTimelineSemaphoreSubmitInfo;
96406  const void * pNext = {};
96407  uint32_t waitSemaphoreValueCount = {};
96408  const uint64_t * pWaitSemaphoreValues = {};
96409  uint32_t signalSemaphoreValueCount = {};
96410  const uint64_t * pSignalSemaphoreValues = {};
96411  };
96412 
96413  template <>
96415  {
96417  };
96419 
96421  {
96423 
96424 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
96426  VULKAN_HPP_NAMESPACE::DeviceSize raygenShaderRecordSize_ = {},
96427  VULKAN_HPP_NAMESPACE::DeviceAddress missShaderBindingTableAddress_ = {},
96428  VULKAN_HPP_NAMESPACE::DeviceSize missShaderBindingTableSize_ = {},
96429  VULKAN_HPP_NAMESPACE::DeviceSize missShaderBindingTableStride_ = {},
96430  VULKAN_HPP_NAMESPACE::DeviceAddress hitShaderBindingTableAddress_ = {},
96431  VULKAN_HPP_NAMESPACE::DeviceSize hitShaderBindingTableSize_ = {},
96432  VULKAN_HPP_NAMESPACE::DeviceSize hitShaderBindingTableStride_ = {},
96433  VULKAN_HPP_NAMESPACE::DeviceAddress callableShaderBindingTableAddress_ = {},
96434  VULKAN_HPP_NAMESPACE::DeviceSize callableShaderBindingTableSize_ = {},
96435  VULKAN_HPP_NAMESPACE::DeviceSize callableShaderBindingTableStride_ = {},
96436  uint32_t width_ = {},
96437  uint32_t height_ = {},
96438  uint32_t depth_ = {} ) VULKAN_HPP_NOEXCEPT
96439  : raygenShaderRecordAddress( raygenShaderRecordAddress_ )
96440  , raygenShaderRecordSize( raygenShaderRecordSize_ )
96441  , missShaderBindingTableAddress( missShaderBindingTableAddress_ )
96442  , missShaderBindingTableSize( missShaderBindingTableSize_ )
96443  , missShaderBindingTableStride( missShaderBindingTableStride_ )
96444  , hitShaderBindingTableAddress( hitShaderBindingTableAddress_ )
96445  , hitShaderBindingTableSize( hitShaderBindingTableSize_ )
96446  , hitShaderBindingTableStride( hitShaderBindingTableStride_ )
96447  , callableShaderBindingTableAddress( callableShaderBindingTableAddress_ )
96448  , callableShaderBindingTableSize( callableShaderBindingTableSize_ )
96449  , callableShaderBindingTableStride( callableShaderBindingTableStride_ )
96450  , width( width_ )
96451  , height( height_ )
96452  , depth( depth_ )
96453  {
96454  }
96455 
96456  VULKAN_HPP_CONSTEXPR TraceRaysIndirectCommand2KHR( TraceRaysIndirectCommand2KHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
96457 
96459  : TraceRaysIndirectCommand2KHR( *reinterpret_cast<TraceRaysIndirectCommand2KHR const *>( &rhs ) )
96460  {
96461  }
96462 
96464 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
96465 
96467  {
96468  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::TraceRaysIndirectCommand2KHR const *>( &rhs );
96469  return *this;
96470  }
96471 
96472 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
96475  {
96476  raygenShaderRecordAddress = raygenShaderRecordAddress_;
96477  return *this;
96478  }
96479 
96482  {
96483  raygenShaderRecordSize = raygenShaderRecordSize_;
96484  return *this;
96485  }
96486 
96489  {
96490  missShaderBindingTableAddress = missShaderBindingTableAddress_;
96491  return *this;
96492  }
96493 
96496  {
96497  missShaderBindingTableSize = missShaderBindingTableSize_;
96498  return *this;
96499  }
96500 
96503  {
96504  missShaderBindingTableStride = missShaderBindingTableStride_;
96505  return *this;
96506  }
96507 
96510  {
96511  hitShaderBindingTableAddress = hitShaderBindingTableAddress_;
96512  return *this;
96513  }
96514 
96517  {
96518  hitShaderBindingTableSize = hitShaderBindingTableSize_;
96519  return *this;
96520  }
96521 
96524  {
96525  hitShaderBindingTableStride = hitShaderBindingTableStride_;
96526  return *this;
96527  }
96528 
96531  {
96532  callableShaderBindingTableAddress = callableShaderBindingTableAddress_;
96533  return *this;
96534  }
96535 
96538  {
96539  callableShaderBindingTableSize = callableShaderBindingTableSize_;
96540  return *this;
96541  }
96542 
96545  {
96546  callableShaderBindingTableStride = callableShaderBindingTableStride_;
96547  return *this;
96548  }
96549 
96551  {
96552  width = width_;
96553  return *this;
96554  }
96555 
96557  {
96558  height = height_;
96559  return *this;
96560  }
96561 
96563  {
96564  depth = depth_;
96565  return *this;
96566  }
96567 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
96568 
96570  {
96571  return *reinterpret_cast<const VkTraceRaysIndirectCommand2KHR *>( this );
96572  }
96573 
96575  {
96576  return *reinterpret_cast<VkTraceRaysIndirectCommand2KHR *>( this );
96577  }
96578 
96579 #if defined( VULKAN_HPP_USE_REFLECT )
96580 # if 14 <= VULKAN_HPP_CPP_VERSION
96581  auto
96582 # else
96583  std::tuple<VULKAN_HPP_NAMESPACE::DeviceAddress const &,
96594  uint32_t const &,
96595  uint32_t const &,
96596  uint32_t const &>
96597 # endif
96598  reflect() const VULKAN_HPP_NOEXCEPT
96599  {
96600  return std::tie( raygenShaderRecordAddress,
96601  raygenShaderRecordSize,
96602  missShaderBindingTableAddress,
96603  missShaderBindingTableSize,
96604  missShaderBindingTableStride,
96605  hitShaderBindingTableAddress,
96606  hitShaderBindingTableSize,
96607  hitShaderBindingTableStride,
96608  callableShaderBindingTableAddress,
96609  callableShaderBindingTableSize,
96610  callableShaderBindingTableStride,
96611  width,
96612  height,
96613  depth );
96614  }
96615 #endif
96616 
96617 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
96618  auto operator<=>( TraceRaysIndirectCommand2KHR const & ) const = default;
96619 #else
96621  {
96622 # if defined( VULKAN_HPP_USE_REFLECT )
96623  return this->reflect() == rhs.reflect();
96624 # else
96625  return ( raygenShaderRecordAddress == rhs.raygenShaderRecordAddress ) && ( raygenShaderRecordSize == rhs.raygenShaderRecordSize ) &&
96626  ( missShaderBindingTableAddress == rhs.missShaderBindingTableAddress ) && ( missShaderBindingTableSize == rhs.missShaderBindingTableSize ) &&
96627  ( missShaderBindingTableStride == rhs.missShaderBindingTableStride ) && ( hitShaderBindingTableAddress == rhs.hitShaderBindingTableAddress ) &&
96628  ( hitShaderBindingTableSize == rhs.hitShaderBindingTableSize ) && ( hitShaderBindingTableStride == rhs.hitShaderBindingTableStride ) &&
96629  ( callableShaderBindingTableAddress == rhs.callableShaderBindingTableAddress ) &&
96630  ( callableShaderBindingTableSize == rhs.callableShaderBindingTableSize ) &&
96631  ( callableShaderBindingTableStride == rhs.callableShaderBindingTableStride ) && ( width == rhs.width ) && ( height == rhs.height ) &&
96632  ( depth == rhs.depth );
96633 # endif
96634  }
96635 
96637  {
96638  return !operator==( rhs );
96639  }
96640 #endif
96641 
96642  public:
96643  VULKAN_HPP_NAMESPACE::DeviceAddress raygenShaderRecordAddress = {};
96644  VULKAN_HPP_NAMESPACE::DeviceSize raygenShaderRecordSize = {};
96645  VULKAN_HPP_NAMESPACE::DeviceAddress missShaderBindingTableAddress = {};
96646  VULKAN_HPP_NAMESPACE::DeviceSize missShaderBindingTableSize = {};
96647  VULKAN_HPP_NAMESPACE::DeviceSize missShaderBindingTableStride = {};
96648  VULKAN_HPP_NAMESPACE::DeviceAddress hitShaderBindingTableAddress = {};
96649  VULKAN_HPP_NAMESPACE::DeviceSize hitShaderBindingTableSize = {};
96650  VULKAN_HPP_NAMESPACE::DeviceSize hitShaderBindingTableStride = {};
96651  VULKAN_HPP_NAMESPACE::DeviceAddress callableShaderBindingTableAddress = {};
96652  VULKAN_HPP_NAMESPACE::DeviceSize callableShaderBindingTableSize = {};
96653  VULKAN_HPP_NAMESPACE::DeviceSize callableShaderBindingTableStride = {};
96654  uint32_t width = {};
96655  uint32_t height = {};
96656  uint32_t depth = {};
96657  };
96658 
96660  {
96662 
96663 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
96664  VULKAN_HPP_CONSTEXPR TraceRaysIndirectCommandKHR( uint32_t width_ = {}, uint32_t height_ = {}, uint32_t depth_ = {} ) VULKAN_HPP_NOEXCEPT
96665  : width( width_ )
96666  , height( height_ )
96667  , depth( depth_ )
96668  {
96669  }
96670 
96671  VULKAN_HPP_CONSTEXPR TraceRaysIndirectCommandKHR( TraceRaysIndirectCommandKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
96672 
96674  : TraceRaysIndirectCommandKHR( *reinterpret_cast<TraceRaysIndirectCommandKHR const *>( &rhs ) )
96675  {
96676  }
96677 
96678  explicit TraceRaysIndirectCommandKHR( Extent2D const & extent2D, uint32_t depth_ = {} )
96679  : width( extent2D.width ), height( extent2D.height ), depth( depth_ )
96680  {
96681  }
96682 
96683  TraceRaysIndirectCommandKHR & operator=( TraceRaysIndirectCommandKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
96684 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
96685 
96687  {
96688  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::TraceRaysIndirectCommandKHR const *>( &rhs );
96689  return *this;
96690  }
96691 
96692 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
96694  {
96695  width = width_;
96696  return *this;
96697  }
96698 
96700  {
96701  height = height_;
96702  return *this;
96703  }
96704 
96706  {
96707  depth = depth_;
96708  return *this;
96709  }
96710 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
96711 
96713  {
96714  return *reinterpret_cast<const VkTraceRaysIndirectCommandKHR *>( this );
96715  }
96716 
96718  {
96719  return *reinterpret_cast<VkTraceRaysIndirectCommandKHR *>( this );
96720  }
96721 
96722 #if defined( VULKAN_HPP_USE_REFLECT )
96723 # if 14 <= VULKAN_HPP_CPP_VERSION
96724  auto
96725 # else
96726  std::tuple<uint32_t const &, uint32_t const &, uint32_t const &>
96727 # endif
96728  reflect() const VULKAN_HPP_NOEXCEPT
96729  {
96730  return std::tie( width, height, depth );
96731  }
96732 #endif
96733 
96734 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
96735  auto operator<=>( TraceRaysIndirectCommandKHR const & ) const = default;
96736 #else
96738  {
96739 # if defined( VULKAN_HPP_USE_REFLECT )
96740  return this->reflect() == rhs.reflect();
96741 # else
96742  return ( width == rhs.width ) && ( height == rhs.height ) && ( depth == rhs.depth );
96743 # endif
96744  }
96745 
96747  {
96748  return !operator==( rhs );
96749  }
96750 #endif
96751 
96752  public:
96753  uint32_t width = {};
96754  uint32_t height = {};
96755  uint32_t depth = {};
96756  };
96757 
96759  {
96761 
96762  static const bool allowDuplicate = false;
96763  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eValidationCacheCreateInfoEXT;
96764 
96765 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
96767  size_t initialDataSize_ = {},
96768  const void * pInitialData_ = {},
96769  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
96770  : pNext( pNext_ )
96771  , flags( flags_ )
96772  , initialDataSize( initialDataSize_ )
96773  , pInitialData( pInitialData_ )
96774  {
96775  }
96776 
96777  VULKAN_HPP_CONSTEXPR ValidationCacheCreateInfoEXT( ValidationCacheCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
96778 
96780  : ValidationCacheCreateInfoEXT( *reinterpret_cast<ValidationCacheCreateInfoEXT const *>( &rhs ) )
96781  {
96782  }
96783 
96784 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
96785  template <typename T>
96788  const void * pNext_ = nullptr )
96789  : pNext( pNext_ ), flags( flags_ ), initialDataSize( initialData_.size() * sizeof( T ) ), pInitialData( initialData_.data() )
96790  {
96791  }
96792 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
96793 
96795 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
96796 
96798  {
96799  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ValidationCacheCreateInfoEXT const *>( &rhs );
96800  return *this;
96801  }
96802 
96803 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
96805  {
96806  pNext = pNext_;
96807  return *this;
96808  }
96809 
96811  {
96812  flags = flags_;
96813  return *this;
96814  }
96815 
96817  {
96818  initialDataSize = initialDataSize_;
96819  return *this;
96820  }
96821 
96823  {
96824  pInitialData = pInitialData_;
96825  return *this;
96826  }
96827 
96828 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
96829  template <typename T>
96831  {
96832  initialDataSize = initialData_.size() * sizeof( T );
96833  pInitialData = initialData_.data();
96834  return *this;
96835  }
96836 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
96837 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
96838 
96840  {
96841  return *reinterpret_cast<const VkValidationCacheCreateInfoEXT *>( this );
96842  }
96843 
96845  {
96846  return *reinterpret_cast<VkValidationCacheCreateInfoEXT *>( this );
96847  }
96848 
96849 #if defined( VULKAN_HPP_USE_REFLECT )
96850 # if 14 <= VULKAN_HPP_CPP_VERSION
96851  auto
96852 # else
96853  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
96854  const void * const &,
96856  size_t const &,
96857  const void * const &>
96858 # endif
96859  reflect() const VULKAN_HPP_NOEXCEPT
96860  {
96861  return std::tie( sType, pNext, flags, initialDataSize, pInitialData );
96862  }
96863 #endif
96864 
96865 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
96866  auto operator<=>( ValidationCacheCreateInfoEXT const & ) const = default;
96867 #else
96869  {
96870 # if defined( VULKAN_HPP_USE_REFLECT )
96871  return this->reflect() == rhs.reflect();
96872 # else
96873  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( initialDataSize == rhs.initialDataSize ) &&
96874  ( pInitialData == rhs.pInitialData );
96875 # endif
96876  }
96877 
96879  {
96880  return !operator==( rhs );
96881  }
96882 #endif
96883 
96884  public:
96885  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eValidationCacheCreateInfoEXT;
96886  const void * pNext = {};
96888  size_t initialDataSize = {};
96889  const void * pInitialData = {};
96890  };
96891 
96892  template <>
96894  {
96896  };
96897 
96899  {
96901 
96902  static const bool allowDuplicate = false;
96903  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eValidationFeaturesEXT;
96904 
96905 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
96906  VULKAN_HPP_CONSTEXPR ValidationFeaturesEXT( uint32_t enabledValidationFeatureCount_ = {},
96907  const VULKAN_HPP_NAMESPACE::ValidationFeatureEnableEXT * pEnabledValidationFeatures_ = {},
96908  uint32_t disabledValidationFeatureCount_ = {},
96909  const VULKAN_HPP_NAMESPACE::ValidationFeatureDisableEXT * pDisabledValidationFeatures_ = {},
96910  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
96911  : pNext( pNext_ )
96912  , enabledValidationFeatureCount( enabledValidationFeatureCount_ )
96913  , pEnabledValidationFeatures( pEnabledValidationFeatures_ )
96914  , disabledValidationFeatureCount( disabledValidationFeatureCount_ )
96915  , pDisabledValidationFeatures( pDisabledValidationFeatures_ )
96916  {
96917  }
96918 
96919  VULKAN_HPP_CONSTEXPR ValidationFeaturesEXT( ValidationFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
96920 
96922  : ValidationFeaturesEXT( *reinterpret_cast<ValidationFeaturesEXT const *>( &rhs ) )
96923  {
96924  }
96925 
96926 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
96930  const void * pNext_ = nullptr )
96931  : pNext( pNext_ )
96932  , enabledValidationFeatureCount( static_cast<uint32_t>( enabledValidationFeatures_.size() ) )
96933  , pEnabledValidationFeatures( enabledValidationFeatures_.data() )
96934  , disabledValidationFeatureCount( static_cast<uint32_t>( disabledValidationFeatures_.size() ) )
96935  , pDisabledValidationFeatures( disabledValidationFeatures_.data() )
96936  {
96937  }
96938 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
96939 
96940  ValidationFeaturesEXT & operator=( ValidationFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
96941 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
96942 
96944  {
96945  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ValidationFeaturesEXT const *>( &rhs );
96946  return *this;
96947  }
96948 
96949 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
96951  {
96952  pNext = pNext_;
96953  return *this;
96954  }
96955 
96957  {
96958  enabledValidationFeatureCount = enabledValidationFeatureCount_;
96959  return *this;
96960  }
96961 
96964  {
96965  pEnabledValidationFeatures = pEnabledValidationFeatures_;
96966  return *this;
96967  }
96968 
96969 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
96973  {
96974  enabledValidationFeatureCount = static_cast<uint32_t>( enabledValidationFeatures_.size() );
96975  pEnabledValidationFeatures = enabledValidationFeatures_.data();
96976  return *this;
96977  }
96978 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
96979 
96981  {
96982  disabledValidationFeatureCount = disabledValidationFeatureCount_;
96983  return *this;
96984  }
96985 
96988  {
96989  pDisabledValidationFeatures = pDisabledValidationFeatures_;
96990  return *this;
96991  }
96992 
96993 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
96997  {
96998  disabledValidationFeatureCount = static_cast<uint32_t>( disabledValidationFeatures_.size() );
96999  pDisabledValidationFeatures = disabledValidationFeatures_.data();
97000  return *this;
97001  }
97002 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
97003 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
97004 
97006  {
97007  return *reinterpret_cast<const VkValidationFeaturesEXT *>( this );
97008  }
97009 
97011  {
97012  return *reinterpret_cast<VkValidationFeaturesEXT *>( this );
97013  }
97014 
97015 #if defined( VULKAN_HPP_USE_REFLECT )
97016 # if 14 <= VULKAN_HPP_CPP_VERSION
97017  auto
97018 # else
97019  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
97020  const void * const &,
97021  uint32_t const &,
97023  uint32_t const &,
97025 # endif
97026  reflect() const VULKAN_HPP_NOEXCEPT
97027  {
97028  return std::tie( sType, pNext, enabledValidationFeatureCount, pEnabledValidationFeatures, disabledValidationFeatureCount, pDisabledValidationFeatures );
97029  }
97030 #endif
97031 
97032 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
97033  auto operator<=>( ValidationFeaturesEXT const & ) const = default;
97034 #else
97036  {
97037 # if defined( VULKAN_HPP_USE_REFLECT )
97038  return this->reflect() == rhs.reflect();
97039 # else
97040  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( enabledValidationFeatureCount == rhs.enabledValidationFeatureCount ) &&
97041  ( pEnabledValidationFeatures == rhs.pEnabledValidationFeatures ) && ( disabledValidationFeatureCount == rhs.disabledValidationFeatureCount ) &&
97042  ( pDisabledValidationFeatures == rhs.pDisabledValidationFeatures );
97043 # endif
97044  }
97045 
97047  {
97048  return !operator==( rhs );
97049  }
97050 #endif
97051 
97052  public:
97053  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eValidationFeaturesEXT;
97054  const void * pNext = {};
97055  uint32_t enabledValidationFeatureCount = {};
97056  const VULKAN_HPP_NAMESPACE::ValidationFeatureEnableEXT * pEnabledValidationFeatures = {};
97057  uint32_t disabledValidationFeatureCount = {};
97058  const VULKAN_HPP_NAMESPACE::ValidationFeatureDisableEXT * pDisabledValidationFeatures = {};
97059  };
97060 
97061  template <>
97063  {
97065  };
97066 
97068  {
97070 
97071  static const bool allowDuplicate = false;
97072  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eValidationFlagsEXT;
97073 
97074 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
97075  VULKAN_HPP_CONSTEXPR ValidationFlagsEXT( uint32_t disabledValidationCheckCount_ = {},
97076  const VULKAN_HPP_NAMESPACE::ValidationCheckEXT * pDisabledValidationChecks_ = {},
97077  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
97078  : pNext( pNext_ )
97079  , disabledValidationCheckCount( disabledValidationCheckCount_ )
97080  , pDisabledValidationChecks( pDisabledValidationChecks_ )
97081  {
97082  }
97083 
97084  VULKAN_HPP_CONSTEXPR ValidationFlagsEXT( ValidationFlagsEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
97085 
97086  ValidationFlagsEXT( VkValidationFlagsEXT const & rhs ) VULKAN_HPP_NOEXCEPT : ValidationFlagsEXT( *reinterpret_cast<ValidationFlagsEXT const *>( &rhs ) ) {}
97087 
97088 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
97090  const void * pNext_ = nullptr )
97091  : pNext( pNext_ )
97092  , disabledValidationCheckCount( static_cast<uint32_t>( disabledValidationChecks_.size() ) )
97093  , pDisabledValidationChecks( disabledValidationChecks_.data() )
97094  {
97095  }
97096 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
97097 
97098  ValidationFlagsEXT & operator=( ValidationFlagsEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
97099 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
97100 
97102  {
97103  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ValidationFlagsEXT const *>( &rhs );
97104  return *this;
97105  }
97106 
97107 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
97109  {
97110  pNext = pNext_;
97111  return *this;
97112  }
97113 
97115  {
97116  disabledValidationCheckCount = disabledValidationCheckCount_;
97117  return *this;
97118  }
97119 
97122  {
97123  pDisabledValidationChecks = pDisabledValidationChecks_;
97124  return *this;
97125  }
97126 
97127 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
97130  {
97131  disabledValidationCheckCount = static_cast<uint32_t>( disabledValidationChecks_.size() );
97132  pDisabledValidationChecks = disabledValidationChecks_.data();
97133  return *this;
97134  }
97135 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
97136 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
97137 
97139  {
97140  return *reinterpret_cast<const VkValidationFlagsEXT *>( this );
97141  }
97142 
97144  {
97145  return *reinterpret_cast<VkValidationFlagsEXT *>( this );
97146  }
97147 
97148 #if defined( VULKAN_HPP_USE_REFLECT )
97149 # if 14 <= VULKAN_HPP_CPP_VERSION
97150  auto
97151 # else
97152  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &, const VULKAN_HPP_NAMESPACE::ValidationCheckEXT * const &>
97153 # endif
97154  reflect() const VULKAN_HPP_NOEXCEPT
97155  {
97156  return std::tie( sType, pNext, disabledValidationCheckCount, pDisabledValidationChecks );
97157  }
97158 #endif
97159 
97160 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
97161  auto operator<=>( ValidationFlagsEXT const & ) const = default;
97162 #else
97164  {
97165 # if defined( VULKAN_HPP_USE_REFLECT )
97166  return this->reflect() == rhs.reflect();
97167 # else
97168  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( disabledValidationCheckCount == rhs.disabledValidationCheckCount ) &&
97169  ( pDisabledValidationChecks == rhs.pDisabledValidationChecks );
97170 # endif
97171  }
97172 
97174  {
97175  return !operator==( rhs );
97176  }
97177 #endif
97178 
97179  public:
97180  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eValidationFlagsEXT;
97181  const void * pNext = {};
97182  uint32_t disabledValidationCheckCount = {};
97183  const VULKAN_HPP_NAMESPACE::ValidationCheckEXT * pDisabledValidationChecks = {};
97184  };
97185 
97186  template <>
97188  {
97190  };
97191 
97193  {
97195 
97196  static const bool allowDuplicate = false;
97197  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVertexInputAttributeDescription2EXT;
97198 
97199 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
97201  uint32_t binding_ = {},
97203  uint32_t offset_ = {},
97204  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
97205  : pNext( pNext_ )
97206  , location( location_ )
97207  , binding( binding_ )
97208  , format( format_ )
97209  , offset( offset_ )
97210  {
97211  }
97212 
97213  VULKAN_HPP_CONSTEXPR VertexInputAttributeDescription2EXT( VertexInputAttributeDescription2EXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
97214 
97216  : VertexInputAttributeDescription2EXT( *reinterpret_cast<VertexInputAttributeDescription2EXT const *>( &rhs ) )
97217  {
97218  }
97219 
97221 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
97222 
97224  {
97225  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription2EXT const *>( &rhs );
97226  return *this;
97227  }
97228 
97229 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
97231  {
97232  pNext = pNext_;
97233  return *this;
97234  }
97235 
97237  {
97238  location = location_;
97239  return *this;
97240  }
97241 
97243  {
97244  binding = binding_;
97245  return *this;
97246  }
97247 
97249  {
97250  format = format_;
97251  return *this;
97252  }
97253 
97255  {
97256  offset = offset_;
97257  return *this;
97258  }
97259 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
97260 
97262  {
97263  return *reinterpret_cast<const VkVertexInputAttributeDescription2EXT *>( this );
97264  }
97265 
97267  {
97268  return *reinterpret_cast<VkVertexInputAttributeDescription2EXT *>( this );
97269  }
97270 
97271 #if defined( VULKAN_HPP_USE_REFLECT )
97272 # if 14 <= VULKAN_HPP_CPP_VERSION
97273  auto
97274 # else
97275  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
97276  void * const &,
97277  uint32_t const &,
97278  uint32_t const &,
97280  uint32_t const &>
97281 # endif
97282  reflect() const VULKAN_HPP_NOEXCEPT
97283  {
97284  return std::tie( sType, pNext, location, binding, format, offset );
97285  }
97286 #endif
97287 
97288 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
97289  auto operator<=>( VertexInputAttributeDescription2EXT const & ) const = default;
97290 #else
97292  {
97293 # if defined( VULKAN_HPP_USE_REFLECT )
97294  return this->reflect() == rhs.reflect();
97295 # else
97296  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( location == rhs.location ) && ( binding == rhs.binding ) && ( format == rhs.format ) &&
97297  ( offset == rhs.offset );
97298 # endif
97299  }
97300 
97302  {
97303  return !operator==( rhs );
97304  }
97305 #endif
97306 
97307  public:
97308  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVertexInputAttributeDescription2EXT;
97309  void * pNext = {};
97310  uint32_t location = {};
97311  uint32_t binding = {};
97313  uint32_t offset = {};
97314  };
97315 
97316  template <>
97318  {
97320  };
97321 
97323  {
97325 
97326  static const bool allowDuplicate = false;
97327  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVertexInputBindingDescription2EXT;
97328 
97329 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
97331  uint32_t stride_ = {},
97333  uint32_t divisor_ = {},
97334  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
97335  : pNext( pNext_ )
97336  , binding( binding_ )
97337  , stride( stride_ )
97338  , inputRate( inputRate_ )
97339  , divisor( divisor_ )
97340  {
97341  }
97342 
97343  VULKAN_HPP_CONSTEXPR VertexInputBindingDescription2EXT( VertexInputBindingDescription2EXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
97344 
97346  : VertexInputBindingDescription2EXT( *reinterpret_cast<VertexInputBindingDescription2EXT const *>( &rhs ) )
97347  {
97348  }
97349 
97351 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
97352 
97354  {
97355  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VertexInputBindingDescription2EXT const *>( &rhs );
97356  return *this;
97357  }
97358 
97359 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
97361  {
97362  pNext = pNext_;
97363  return *this;
97364  }
97365 
97367  {
97368  binding = binding_;
97369  return *this;
97370  }
97371 
97373  {
97374  stride = stride_;
97375  return *this;
97376  }
97377 
97379  {
97380  inputRate = inputRate_;
97381  return *this;
97382  }
97383 
97385  {
97386  divisor = divisor_;
97387  return *this;
97388  }
97389 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
97390 
97392  {
97393  return *reinterpret_cast<const VkVertexInputBindingDescription2EXT *>( this );
97394  }
97395 
97397  {
97398  return *reinterpret_cast<VkVertexInputBindingDescription2EXT *>( this );
97399  }
97400 
97401 #if defined( VULKAN_HPP_USE_REFLECT )
97402 # if 14 <= VULKAN_HPP_CPP_VERSION
97403  auto
97404 # else
97405  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
97406  void * const &,
97407  uint32_t const &,
97408  uint32_t const &,
97410  uint32_t const &>
97411 # endif
97412  reflect() const VULKAN_HPP_NOEXCEPT
97413  {
97414  return std::tie( sType, pNext, binding, stride, inputRate, divisor );
97415  }
97416 #endif
97417 
97418 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
97419  auto operator<=>( VertexInputBindingDescription2EXT const & ) const = default;
97420 #else
97422  {
97423 # if defined( VULKAN_HPP_USE_REFLECT )
97424  return this->reflect() == rhs.reflect();
97425 # else
97426  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( binding == rhs.binding ) && ( stride == rhs.stride ) && ( inputRate == rhs.inputRate ) &&
97427  ( divisor == rhs.divisor );
97428 # endif
97429  }
97430 
97432  {
97433  return !operator==( rhs );
97434  }
97435 #endif
97436 
97437  public:
97438  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVertexInputBindingDescription2EXT;
97439  void * pNext = {};
97440  uint32_t binding = {};
97441  uint32_t stride = {};
97443  uint32_t divisor = {};
97444  };
97445 
97446  template <>
97448  {
97450  };
97451 
97452 #if defined( VK_USE_PLATFORM_VI_NN )
97453  struct ViSurfaceCreateInfoNN
97454  {
97455  using NativeType = VkViSurfaceCreateInfoNN;
97456 
97457  static const bool allowDuplicate = false;
97458  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eViSurfaceCreateInfoNN;
97459 
97460 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
97462  ViSurfaceCreateInfoNN( VULKAN_HPP_NAMESPACE::ViSurfaceCreateFlagsNN flags_ = {}, void * window_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
97463  : pNext( pNext_ )
97464  , flags( flags_ )
97465  , window( window_ )
97466  {
97467  }
97468 
97469  VULKAN_HPP_CONSTEXPR ViSurfaceCreateInfoNN( ViSurfaceCreateInfoNN const & rhs ) VULKAN_HPP_NOEXCEPT = default;
97470 
97471  ViSurfaceCreateInfoNN( VkViSurfaceCreateInfoNN const & rhs ) VULKAN_HPP_NOEXCEPT
97472  : ViSurfaceCreateInfoNN( *reinterpret_cast<ViSurfaceCreateInfoNN const *>( &rhs ) )
97473  {
97474  }
97475 
97476  ViSurfaceCreateInfoNN & operator=( ViSurfaceCreateInfoNN const & rhs ) VULKAN_HPP_NOEXCEPT = default;
97477 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
97478 
97479  ViSurfaceCreateInfoNN & operator=( VkViSurfaceCreateInfoNN const & rhs ) VULKAN_HPP_NOEXCEPT
97480  {
97481  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ViSurfaceCreateInfoNN const *>( &rhs );
97482  return *this;
97483  }
97484 
97485 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
97486  VULKAN_HPP_CONSTEXPR_14 ViSurfaceCreateInfoNN & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
97487  {
97488  pNext = pNext_;
97489  return *this;
97490  }
97491 
97492  VULKAN_HPP_CONSTEXPR_14 ViSurfaceCreateInfoNN & setFlags( VULKAN_HPP_NAMESPACE::ViSurfaceCreateFlagsNN flags_ ) VULKAN_HPP_NOEXCEPT
97493  {
97494  flags = flags_;
97495  return *this;
97496  }
97497 
97498  VULKAN_HPP_CONSTEXPR_14 ViSurfaceCreateInfoNN & setWindow( void * window_ ) VULKAN_HPP_NOEXCEPT
97499  {
97500  window = window_;
97501  return *this;
97502  }
97503 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
97504 
97505  operator VkViSurfaceCreateInfoNN const &() const VULKAN_HPP_NOEXCEPT
97506  {
97507  return *reinterpret_cast<const VkViSurfaceCreateInfoNN *>( this );
97508  }
97509 
97511  {
97512  return *reinterpret_cast<VkViSurfaceCreateInfoNN *>( this );
97513  }
97514 
97515 # if defined( VULKAN_HPP_USE_REFLECT )
97516 # if 14 <= VULKAN_HPP_CPP_VERSION
97517  auto
97518 # else
97519  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::ViSurfaceCreateFlagsNN const &, void * const &>
97520 # endif
97521  reflect() const VULKAN_HPP_NOEXCEPT
97522  {
97523  return std::tie( sType, pNext, flags, window );
97524  }
97525 # endif
97526 
97527 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
97528  auto operator<=>( ViSurfaceCreateInfoNN const & ) const = default;
97529 # else
97530  bool operator==( ViSurfaceCreateInfoNN const & rhs ) const VULKAN_HPP_NOEXCEPT
97531  {
97532 # if defined( VULKAN_HPP_USE_REFLECT )
97533  return this->reflect() == rhs.reflect();
97534 # else
97535  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( window == rhs.window );
97536 # endif
97537  }
97538 
97539  bool operator!=( ViSurfaceCreateInfoNN const & rhs ) const VULKAN_HPP_NOEXCEPT
97540  {
97541  return !operator==( rhs );
97542  }
97543 # endif
97544 
97545  public:
97546  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eViSurfaceCreateInfoNN;
97547  const void * pNext = {};
97548  VULKAN_HPP_NAMESPACE::ViSurfaceCreateFlagsNN flags = {};
97549  void * window = {};
97550  };
97551 
97552  template <>
97553  struct CppType<StructureType, StructureType::eViSurfaceCreateInfoNN>
97554  {
97555  using Type = ViSurfaceCreateInfoNN;
97556  };
97557 #endif /*VK_USE_PLATFORM_VI_NN*/
97558 
97559 #if defined( VK_ENABLE_BETA_EXTENSIONS )
97560  struct VideoPictureResourceInfoKHR
97561  {
97562  using NativeType = VkVideoPictureResourceInfoKHR;
97563 
97564  static const bool allowDuplicate = false;
97565  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoPictureResourceInfoKHR;
97566 
97567 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
97568  VULKAN_HPP_CONSTEXPR VideoPictureResourceInfoKHR( VULKAN_HPP_NAMESPACE::Offset2D codedOffset_ = {},
97569  VULKAN_HPP_NAMESPACE::Extent2D codedExtent_ = {},
97570  uint32_t baseArrayLayer_ = {},
97571  VULKAN_HPP_NAMESPACE::ImageView imageViewBinding_ = {},
97572  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
97573  : pNext( pNext_ )
97574  , codedOffset( codedOffset_ )
97575  , codedExtent( codedExtent_ )
97576  , baseArrayLayer( baseArrayLayer_ )
97577  , imageViewBinding( imageViewBinding_ )
97578  {
97579  }
97580 
97581  VULKAN_HPP_CONSTEXPR VideoPictureResourceInfoKHR( VideoPictureResourceInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
97582 
97583  VideoPictureResourceInfoKHR( VkVideoPictureResourceInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
97584  : VideoPictureResourceInfoKHR( *reinterpret_cast<VideoPictureResourceInfoKHR const *>( &rhs ) )
97585  {
97586  }
97587 
97588  VideoPictureResourceInfoKHR & operator=( VideoPictureResourceInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
97589 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
97590 
97591  VideoPictureResourceInfoKHR & operator=( VkVideoPictureResourceInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
97592  {
97593  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoPictureResourceInfoKHR const *>( &rhs );
97594  return *this;
97595  }
97596 
97597 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
97598  VULKAN_HPP_CONSTEXPR_14 VideoPictureResourceInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
97599  {
97600  pNext = pNext_;
97601  return *this;
97602  }
97603 
97604  VULKAN_HPP_CONSTEXPR_14 VideoPictureResourceInfoKHR & setCodedOffset( VULKAN_HPP_NAMESPACE::Offset2D const & codedOffset_ ) VULKAN_HPP_NOEXCEPT
97605  {
97606  codedOffset = codedOffset_;
97607  return *this;
97608  }
97609 
97610  VULKAN_HPP_CONSTEXPR_14 VideoPictureResourceInfoKHR & setCodedExtent( VULKAN_HPP_NAMESPACE::Extent2D const & codedExtent_ ) VULKAN_HPP_NOEXCEPT
97611  {
97612  codedExtent = codedExtent_;
97613  return *this;
97614  }
97615 
97616  VULKAN_HPP_CONSTEXPR_14 VideoPictureResourceInfoKHR & setBaseArrayLayer( uint32_t baseArrayLayer_ ) VULKAN_HPP_NOEXCEPT
97617  {
97618  baseArrayLayer = baseArrayLayer_;
97619  return *this;
97620  }
97621 
97622  VULKAN_HPP_CONSTEXPR_14 VideoPictureResourceInfoKHR & setImageViewBinding( VULKAN_HPP_NAMESPACE::ImageView imageViewBinding_ ) VULKAN_HPP_NOEXCEPT
97623  {
97624  imageViewBinding = imageViewBinding_;
97625  return *this;
97626  }
97627 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
97628 
97629  operator VkVideoPictureResourceInfoKHR const &() const VULKAN_HPP_NOEXCEPT
97630  {
97631  return *reinterpret_cast<const VkVideoPictureResourceInfoKHR *>( this );
97632  }
97633 
97635  {
97636  return *reinterpret_cast<VkVideoPictureResourceInfoKHR *>( this );
97637  }
97638 
97639 # if defined( VULKAN_HPP_USE_REFLECT )
97640 # if 14 <= VULKAN_HPP_CPP_VERSION
97641  auto
97642 # else
97643  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
97644  const void * const &,
97647  uint32_t const &,
97649 # endif
97650  reflect() const VULKAN_HPP_NOEXCEPT
97651  {
97652  return std::tie( sType, pNext, codedOffset, codedExtent, baseArrayLayer, imageViewBinding );
97653  }
97654 # endif
97655 
97656 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
97657  auto operator<=>( VideoPictureResourceInfoKHR const & ) const = default;
97658 # else
97659  bool operator==( VideoPictureResourceInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
97660  {
97661 # if defined( VULKAN_HPP_USE_REFLECT )
97662  return this->reflect() == rhs.reflect();
97663 # else
97664  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( codedOffset == rhs.codedOffset ) && ( codedExtent == rhs.codedExtent ) &&
97665  ( baseArrayLayer == rhs.baseArrayLayer ) && ( imageViewBinding == rhs.imageViewBinding );
97666 # endif
97667  }
97668 
97669  bool operator!=( VideoPictureResourceInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
97670  {
97671  return !operator==( rhs );
97672  }
97673 # endif
97674 
97675  public:
97676  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoPictureResourceInfoKHR;
97677  const void * pNext = {};
97678  VULKAN_HPP_NAMESPACE::Offset2D codedOffset = {};
97679  VULKAN_HPP_NAMESPACE::Extent2D codedExtent = {};
97680  uint32_t baseArrayLayer = {};
97681  VULKAN_HPP_NAMESPACE::ImageView imageViewBinding = {};
97682  };
97683 
97684  template <>
97685  struct CppType<StructureType, StructureType::eVideoPictureResourceInfoKHR>
97686  {
97687  using Type = VideoPictureResourceInfoKHR;
97688  };
97689 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
97690 
97691 #if defined( VK_ENABLE_BETA_EXTENSIONS )
97692  struct VideoReferenceSlotInfoKHR
97693  {
97694  using NativeType = VkVideoReferenceSlotInfoKHR;
97695 
97696  static const bool allowDuplicate = false;
97697  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoReferenceSlotInfoKHR;
97698 
97699 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
97700  VULKAN_HPP_CONSTEXPR VideoReferenceSlotInfoKHR( int32_t slotIndex_ = {},
97701  const VULKAN_HPP_NAMESPACE::VideoPictureResourceInfoKHR * pPictureResource_ = {},
97702  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
97703  : pNext( pNext_ )
97704  , slotIndex( slotIndex_ )
97705  , pPictureResource( pPictureResource_ )
97706  {
97707  }
97708 
97709  VULKAN_HPP_CONSTEXPR VideoReferenceSlotInfoKHR( VideoReferenceSlotInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
97710 
97711  VideoReferenceSlotInfoKHR( VkVideoReferenceSlotInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
97712  : VideoReferenceSlotInfoKHR( *reinterpret_cast<VideoReferenceSlotInfoKHR const *>( &rhs ) )
97713  {
97714  }
97715 
97716  VideoReferenceSlotInfoKHR & operator=( VideoReferenceSlotInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
97717 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
97718 
97719  VideoReferenceSlotInfoKHR & operator=( VkVideoReferenceSlotInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
97720  {
97721  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoReferenceSlotInfoKHR const *>( &rhs );
97722  return *this;
97723  }
97724 
97725 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
97726  VULKAN_HPP_CONSTEXPR_14 VideoReferenceSlotInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
97727  {
97728  pNext = pNext_;
97729  return *this;
97730  }
97731 
97732  VULKAN_HPP_CONSTEXPR_14 VideoReferenceSlotInfoKHR & setSlotIndex( int32_t slotIndex_ ) VULKAN_HPP_NOEXCEPT
97733  {
97734  slotIndex = slotIndex_;
97735  return *this;
97736  }
97737 
97738  VULKAN_HPP_CONSTEXPR_14 VideoReferenceSlotInfoKHR &
97739  setPPictureResource( const VULKAN_HPP_NAMESPACE::VideoPictureResourceInfoKHR * pPictureResource_ ) VULKAN_HPP_NOEXCEPT
97740  {
97741  pPictureResource = pPictureResource_;
97742  return *this;
97743  }
97744 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
97745 
97746  operator VkVideoReferenceSlotInfoKHR const &() const VULKAN_HPP_NOEXCEPT
97747  {
97748  return *reinterpret_cast<const VkVideoReferenceSlotInfoKHR *>( this );
97749  }
97750 
97752  {
97753  return *reinterpret_cast<VkVideoReferenceSlotInfoKHR *>( this );
97754  }
97755 
97756 # if defined( VULKAN_HPP_USE_REFLECT )
97757 # if 14 <= VULKAN_HPP_CPP_VERSION
97758  auto
97759 # else
97760  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
97761  const void * const &,
97762  int32_t const &,
97763  const VULKAN_HPP_NAMESPACE::VideoPictureResourceInfoKHR * const &>
97764 # endif
97765  reflect() const VULKAN_HPP_NOEXCEPT
97766  {
97767  return std::tie( sType, pNext, slotIndex, pPictureResource );
97768  }
97769 # endif
97770 
97771 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
97772  auto operator<=>( VideoReferenceSlotInfoKHR const & ) const = default;
97773 # else
97774  bool operator==( VideoReferenceSlotInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
97775  {
97776 # if defined( VULKAN_HPP_USE_REFLECT )
97777  return this->reflect() == rhs.reflect();
97778 # else
97779  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( slotIndex == rhs.slotIndex ) && ( pPictureResource == rhs.pPictureResource );
97780 # endif
97781  }
97782 
97783  bool operator!=( VideoReferenceSlotInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
97784  {
97785  return !operator==( rhs );
97786  }
97787 # endif
97788 
97789  public:
97790  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoReferenceSlotInfoKHR;
97791  const void * pNext = {};
97792  int32_t slotIndex = {};
97793  const VULKAN_HPP_NAMESPACE::VideoPictureResourceInfoKHR * pPictureResource = {};
97794  };
97795 
97796  template <>
97797  struct CppType<StructureType, StructureType::eVideoReferenceSlotInfoKHR>
97798  {
97799  using Type = VideoReferenceSlotInfoKHR;
97800  };
97801 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
97802 
97803 #if defined( VK_ENABLE_BETA_EXTENSIONS )
97804  struct VideoBeginCodingInfoKHR
97805  {
97806  using NativeType = VkVideoBeginCodingInfoKHR;
97807 
97808  static const bool allowDuplicate = false;
97809  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoBeginCodingInfoKHR;
97810 
97811 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
97812  VULKAN_HPP_CONSTEXPR VideoBeginCodingInfoKHR( VULKAN_HPP_NAMESPACE::VideoBeginCodingFlagsKHR flags_ = {},
97813  VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession_ = {},
97814  VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR videoSessionParameters_ = {},
97815  uint32_t referenceSlotCount_ = {},
97816  const VULKAN_HPP_NAMESPACE::VideoReferenceSlotInfoKHR * pReferenceSlots_ = {},
97817  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
97818  : pNext( pNext_ )
97819  , flags( flags_ )
97820  , videoSession( videoSession_ )
97821  , videoSessionParameters( videoSessionParameters_ )
97822  , referenceSlotCount( referenceSlotCount_ )
97823  , pReferenceSlots( pReferenceSlots_ )
97824  {
97825  }
97826 
97827  VULKAN_HPP_CONSTEXPR VideoBeginCodingInfoKHR( VideoBeginCodingInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
97828 
97829  VideoBeginCodingInfoKHR( VkVideoBeginCodingInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
97830  : VideoBeginCodingInfoKHR( *reinterpret_cast<VideoBeginCodingInfoKHR const *>( &rhs ) )
97831  {
97832  }
97833 
97834 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
97835  VideoBeginCodingInfoKHR( VULKAN_HPP_NAMESPACE::VideoBeginCodingFlagsKHR flags_,
97836  VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession_,
97837  VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR videoSessionParameters_,
97839  const void * pNext_ = nullptr )
97840  : pNext( pNext_ )
97841  , flags( flags_ )
97842  , videoSession( videoSession_ )
97843  , videoSessionParameters( videoSessionParameters_ )
97844  , referenceSlotCount( static_cast<uint32_t>( referenceSlots_.size() ) )
97845  , pReferenceSlots( referenceSlots_.data() )
97846  {
97847  }
97848 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
97849 
97850  VideoBeginCodingInfoKHR & operator=( VideoBeginCodingInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
97851 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
97852 
97853  VideoBeginCodingInfoKHR & operator=( VkVideoBeginCodingInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
97854  {
97855  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoBeginCodingInfoKHR const *>( &rhs );
97856  return *this;
97857  }
97858 
97859 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
97860  VULKAN_HPP_CONSTEXPR_14 VideoBeginCodingInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
97861  {
97862  pNext = pNext_;
97863  return *this;
97864  }
97865 
97866  VULKAN_HPP_CONSTEXPR_14 VideoBeginCodingInfoKHR & setFlags( VULKAN_HPP_NAMESPACE::VideoBeginCodingFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT
97867  {
97868  flags = flags_;
97869  return *this;
97870  }
97871 
97872  VULKAN_HPP_CONSTEXPR_14 VideoBeginCodingInfoKHR & setVideoSession( VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession_ ) VULKAN_HPP_NOEXCEPT
97873  {
97874  videoSession = videoSession_;
97875  return *this;
97876  }
97877 
97878  VULKAN_HPP_CONSTEXPR_14 VideoBeginCodingInfoKHR &
97879  setVideoSessionParameters( VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR videoSessionParameters_ ) VULKAN_HPP_NOEXCEPT
97880  {
97881  videoSessionParameters = videoSessionParameters_;
97882  return *this;
97883  }
97884 
97885  VULKAN_HPP_CONSTEXPR_14 VideoBeginCodingInfoKHR & setReferenceSlotCount( uint32_t referenceSlotCount_ ) VULKAN_HPP_NOEXCEPT
97886  {
97887  referenceSlotCount = referenceSlotCount_;
97888  return *this;
97889  }
97890 
97891  VULKAN_HPP_CONSTEXPR_14 VideoBeginCodingInfoKHR &
97892  setPReferenceSlots( const VULKAN_HPP_NAMESPACE::VideoReferenceSlotInfoKHR * pReferenceSlots_ ) VULKAN_HPP_NOEXCEPT
97893  {
97894  pReferenceSlots = pReferenceSlots_;
97895  return *this;
97896  }
97897 
97898 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
97899  VideoBeginCodingInfoKHR & setReferenceSlots(
97901  {
97902  referenceSlotCount = static_cast<uint32_t>( referenceSlots_.size() );
97903  pReferenceSlots = referenceSlots_.data();
97904  return *this;
97905  }
97906 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
97907 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
97908 
97909  operator VkVideoBeginCodingInfoKHR const &() const VULKAN_HPP_NOEXCEPT
97910  {
97911  return *reinterpret_cast<const VkVideoBeginCodingInfoKHR *>( this );
97912  }
97913 
97915  {
97916  return *reinterpret_cast<VkVideoBeginCodingInfoKHR *>( this );
97917  }
97918 
97919 # if defined( VULKAN_HPP_USE_REFLECT )
97920 # if 14 <= VULKAN_HPP_CPP_VERSION
97921  auto
97922 # else
97923  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
97924  const void * const &,
97925  VULKAN_HPP_NAMESPACE::VideoBeginCodingFlagsKHR const &,
97926  VULKAN_HPP_NAMESPACE::VideoSessionKHR const &,
97927  VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR const &,
97928  uint32_t const &,
97929  const VULKAN_HPP_NAMESPACE::VideoReferenceSlotInfoKHR * const &>
97930 # endif
97931  reflect() const VULKAN_HPP_NOEXCEPT
97932  {
97933  return std::tie( sType, pNext, flags, videoSession, videoSessionParameters, referenceSlotCount, pReferenceSlots );
97934  }
97935 # endif
97936 
97937 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
97938  auto operator<=>( VideoBeginCodingInfoKHR const & ) const = default;
97939 # else
97940  bool operator==( VideoBeginCodingInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
97941  {
97942 # if defined( VULKAN_HPP_USE_REFLECT )
97943  return this->reflect() == rhs.reflect();
97944 # else
97945  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( videoSession == rhs.videoSession ) &&
97946  ( videoSessionParameters == rhs.videoSessionParameters ) && ( referenceSlotCount == rhs.referenceSlotCount ) &&
97947  ( pReferenceSlots == rhs.pReferenceSlots );
97948 # endif
97949  }
97950 
97951  bool operator!=( VideoBeginCodingInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
97952  {
97953  return !operator==( rhs );
97954  }
97955 # endif
97956 
97957  public:
97958  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoBeginCodingInfoKHR;
97959  const void * pNext = {};
97960  VULKAN_HPP_NAMESPACE::VideoBeginCodingFlagsKHR flags = {};
97961  VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession = {};
97962  VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR videoSessionParameters = {};
97963  uint32_t referenceSlotCount = {};
97964  const VULKAN_HPP_NAMESPACE::VideoReferenceSlotInfoKHR * pReferenceSlots = {};
97965  };
97966 
97967  template <>
97968  struct CppType<StructureType, StructureType::eVideoBeginCodingInfoKHR>
97969  {
97970  using Type = VideoBeginCodingInfoKHR;
97971  };
97972 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
97973 
97974 #if defined( VK_ENABLE_BETA_EXTENSIONS )
97975  struct VideoCapabilitiesKHR
97976  {
97977  using NativeType = VkVideoCapabilitiesKHR;
97978 
97979  static const bool allowDuplicate = false;
97980  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoCapabilitiesKHR;
97981 
97982 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
97983  VULKAN_HPP_CONSTEXPR_14 VideoCapabilitiesKHR( VULKAN_HPP_NAMESPACE::VideoCapabilityFlagsKHR flags_ = {},
97984  VULKAN_HPP_NAMESPACE::DeviceSize minBitstreamBufferOffsetAlignment_ = {},
97985  VULKAN_HPP_NAMESPACE::DeviceSize minBitstreamBufferSizeAlignment_ = {},
97986  VULKAN_HPP_NAMESPACE::Extent2D pictureAccessGranularity_ = {},
97987  VULKAN_HPP_NAMESPACE::Extent2D minCodedExtent_ = {},
97988  VULKAN_HPP_NAMESPACE::Extent2D maxCodedExtent_ = {},
97989  uint32_t maxDpbSlots_ = {},
97990  uint32_t maxActiveReferencePictures_ = {},
97991  VULKAN_HPP_NAMESPACE::ExtensionProperties stdHeaderVersion_ = {},
97992  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
97993  : pNext( pNext_ )
97994  , flags( flags_ )
97995  , minBitstreamBufferOffsetAlignment( minBitstreamBufferOffsetAlignment_ )
97996  , minBitstreamBufferSizeAlignment( minBitstreamBufferSizeAlignment_ )
97997  , pictureAccessGranularity( pictureAccessGranularity_ )
97998  , minCodedExtent( minCodedExtent_ )
97999  , maxCodedExtent( maxCodedExtent_ )
98000  , maxDpbSlots( maxDpbSlots_ )
98001  , maxActiveReferencePictures( maxActiveReferencePictures_ )
98002  , stdHeaderVersion( stdHeaderVersion_ )
98003  {
98004  }
98005 
98006  VULKAN_HPP_CONSTEXPR_14 VideoCapabilitiesKHR( VideoCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
98007 
98008  VideoCapabilitiesKHR( VkVideoCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
98009  : VideoCapabilitiesKHR( *reinterpret_cast<VideoCapabilitiesKHR const *>( &rhs ) )
98010  {
98011  }
98012 
98013  VideoCapabilitiesKHR & operator=( VideoCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
98014 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
98015 
98016  VideoCapabilitiesKHR & operator=( VkVideoCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
98017  {
98018  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoCapabilitiesKHR const *>( &rhs );
98019  return *this;
98020  }
98021 
98022  operator VkVideoCapabilitiesKHR const &() const VULKAN_HPP_NOEXCEPT
98023  {
98024  return *reinterpret_cast<const VkVideoCapabilitiesKHR *>( this );
98025  }
98026 
98028  {
98029  return *reinterpret_cast<VkVideoCapabilitiesKHR *>( this );
98030  }
98031 
98032 # if defined( VULKAN_HPP_USE_REFLECT )
98033 # if 14 <= VULKAN_HPP_CPP_VERSION
98034  auto
98035 # else
98036  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
98037  void * const &,
98038  VULKAN_HPP_NAMESPACE::VideoCapabilityFlagsKHR const &,
98044  uint32_t const &,
98045  uint32_t const &,
98047 # endif
98048  reflect() const VULKAN_HPP_NOEXCEPT
98049  {
98050  return std::tie( sType,
98051  pNext,
98052  flags,
98053  minBitstreamBufferOffsetAlignment,
98054  minBitstreamBufferSizeAlignment,
98055  pictureAccessGranularity,
98056  minCodedExtent,
98057  maxCodedExtent,
98058  maxDpbSlots,
98059  maxActiveReferencePictures,
98060  stdHeaderVersion );
98061  }
98062 # endif
98063 
98064 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
98065  auto operator<=>( VideoCapabilitiesKHR const & ) const = default;
98066 # else
98067  bool operator==( VideoCapabilitiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
98068  {
98069 # if defined( VULKAN_HPP_USE_REFLECT )
98070  return this->reflect() == rhs.reflect();
98071 # else
98072  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
98073  ( minBitstreamBufferOffsetAlignment == rhs.minBitstreamBufferOffsetAlignment ) &&
98074  ( minBitstreamBufferSizeAlignment == rhs.minBitstreamBufferSizeAlignment ) && ( pictureAccessGranularity == rhs.pictureAccessGranularity ) &&
98075  ( minCodedExtent == rhs.minCodedExtent ) && ( maxCodedExtent == rhs.maxCodedExtent ) && ( maxDpbSlots == rhs.maxDpbSlots ) &&
98076  ( maxActiveReferencePictures == rhs.maxActiveReferencePictures ) && ( stdHeaderVersion == rhs.stdHeaderVersion );
98077 # endif
98078  }
98079 
98080  bool operator!=( VideoCapabilitiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
98081  {
98082  return !operator==( rhs );
98083  }
98084 # endif
98085 
98086  public:
98087  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoCapabilitiesKHR;
98088  void * pNext = {};
98089  VULKAN_HPP_NAMESPACE::VideoCapabilityFlagsKHR flags = {};
98090  VULKAN_HPP_NAMESPACE::DeviceSize minBitstreamBufferOffsetAlignment = {};
98091  VULKAN_HPP_NAMESPACE::DeviceSize minBitstreamBufferSizeAlignment = {};
98092  VULKAN_HPP_NAMESPACE::Extent2D pictureAccessGranularity = {};
98093  VULKAN_HPP_NAMESPACE::Extent2D minCodedExtent = {};
98094  VULKAN_HPP_NAMESPACE::Extent2D maxCodedExtent = {};
98095  uint32_t maxDpbSlots = {};
98096  uint32_t maxActiveReferencePictures = {};
98097  VULKAN_HPP_NAMESPACE::ExtensionProperties stdHeaderVersion = {};
98098  };
98099 
98100  template <>
98101  struct CppType<StructureType, StructureType::eVideoCapabilitiesKHR>
98102  {
98103  using Type = VideoCapabilitiesKHR;
98104  };
98105 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
98106 
98107 #if defined( VK_ENABLE_BETA_EXTENSIONS )
98108  struct VideoCodingControlInfoKHR
98109  {
98110  using NativeType = VkVideoCodingControlInfoKHR;
98111 
98112  static const bool allowDuplicate = false;
98113  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoCodingControlInfoKHR;
98114 
98115 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
98116  VULKAN_HPP_CONSTEXPR VideoCodingControlInfoKHR( VULKAN_HPP_NAMESPACE::VideoCodingControlFlagsKHR flags_ = {},
98117  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
98118  : pNext( pNext_ )
98119  , flags( flags_ )
98120  {
98121  }
98122 
98123  VULKAN_HPP_CONSTEXPR VideoCodingControlInfoKHR( VideoCodingControlInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
98124 
98125  VideoCodingControlInfoKHR( VkVideoCodingControlInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
98126  : VideoCodingControlInfoKHR( *reinterpret_cast<VideoCodingControlInfoKHR const *>( &rhs ) )
98127  {
98128  }
98129 
98130  VideoCodingControlInfoKHR & operator=( VideoCodingControlInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
98131 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
98132 
98133  VideoCodingControlInfoKHR & operator=( VkVideoCodingControlInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
98134  {
98135  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoCodingControlInfoKHR const *>( &rhs );
98136  return *this;
98137  }
98138 
98139 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
98140  VULKAN_HPP_CONSTEXPR_14 VideoCodingControlInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
98141  {
98142  pNext = pNext_;
98143  return *this;
98144  }
98145 
98146  VULKAN_HPP_CONSTEXPR_14 VideoCodingControlInfoKHR & setFlags( VULKAN_HPP_NAMESPACE::VideoCodingControlFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT
98147  {
98148  flags = flags_;
98149  return *this;
98150  }
98151 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
98152 
98153  operator VkVideoCodingControlInfoKHR const &() const VULKAN_HPP_NOEXCEPT
98154  {
98155  return *reinterpret_cast<const VkVideoCodingControlInfoKHR *>( this );
98156  }
98157 
98159  {
98160  return *reinterpret_cast<VkVideoCodingControlInfoKHR *>( this );
98161  }
98162 
98163 # if defined( VULKAN_HPP_USE_REFLECT )
98164 # if 14 <= VULKAN_HPP_CPP_VERSION
98165  auto
98166 # else
98167  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::VideoCodingControlFlagsKHR const &>
98168 # endif
98169  reflect() const VULKAN_HPP_NOEXCEPT
98170  {
98171  return std::tie( sType, pNext, flags );
98172  }
98173 # endif
98174 
98175 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
98176  auto operator<=>( VideoCodingControlInfoKHR const & ) const = default;
98177 # else
98178  bool operator==( VideoCodingControlInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
98179  {
98180 # if defined( VULKAN_HPP_USE_REFLECT )
98181  return this->reflect() == rhs.reflect();
98182 # else
98183  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags );
98184 # endif
98185  }
98186 
98187  bool operator!=( VideoCodingControlInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
98188  {
98189  return !operator==( rhs );
98190  }
98191 # endif
98192 
98193  public:
98194  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoCodingControlInfoKHR;
98195  const void * pNext = {};
98196  VULKAN_HPP_NAMESPACE::VideoCodingControlFlagsKHR flags = {};
98197  };
98198 
98199  template <>
98200  struct CppType<StructureType, StructureType::eVideoCodingControlInfoKHR>
98201  {
98202  using Type = VideoCodingControlInfoKHR;
98203  };
98204 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
98205 
98206 #if defined( VK_ENABLE_BETA_EXTENSIONS )
98207  struct VideoDecodeCapabilitiesKHR
98208  {
98209  using NativeType = VkVideoDecodeCapabilitiesKHR;
98210 
98211  static const bool allowDuplicate = false;
98212  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoDecodeCapabilitiesKHR;
98213 
98214 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
98215  VULKAN_HPP_CONSTEXPR VideoDecodeCapabilitiesKHR( VULKAN_HPP_NAMESPACE::VideoDecodeCapabilityFlagsKHR flags_ = {},
98216  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
98217  : pNext( pNext_ )
98218  , flags( flags_ )
98219  {
98220  }
98221 
98222  VULKAN_HPP_CONSTEXPR VideoDecodeCapabilitiesKHR( VideoDecodeCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
98223 
98224  VideoDecodeCapabilitiesKHR( VkVideoDecodeCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
98225  : VideoDecodeCapabilitiesKHR( *reinterpret_cast<VideoDecodeCapabilitiesKHR const *>( &rhs ) )
98226  {
98227  }
98228 
98229  VideoDecodeCapabilitiesKHR & operator=( VideoDecodeCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
98230 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
98231 
98232  VideoDecodeCapabilitiesKHR & operator=( VkVideoDecodeCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
98233  {
98234  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoDecodeCapabilitiesKHR const *>( &rhs );
98235  return *this;
98236  }
98237 
98238  operator VkVideoDecodeCapabilitiesKHR const &() const VULKAN_HPP_NOEXCEPT
98239  {
98240  return *reinterpret_cast<const VkVideoDecodeCapabilitiesKHR *>( this );
98241  }
98242 
98244  {
98245  return *reinterpret_cast<VkVideoDecodeCapabilitiesKHR *>( this );
98246  }
98247 
98248 # if defined( VULKAN_HPP_USE_REFLECT )
98249 # if 14 <= VULKAN_HPP_CPP_VERSION
98250  auto
98251 # else
98252  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::VideoDecodeCapabilityFlagsKHR const &>
98253 # endif
98254  reflect() const VULKAN_HPP_NOEXCEPT
98255  {
98256  return std::tie( sType, pNext, flags );
98257  }
98258 # endif
98259 
98260 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
98261  auto operator<=>( VideoDecodeCapabilitiesKHR const & ) const = default;
98262 # else
98263  bool operator==( VideoDecodeCapabilitiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
98264  {
98265 # if defined( VULKAN_HPP_USE_REFLECT )
98266  return this->reflect() == rhs.reflect();
98267 # else
98268  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags );
98269 # endif
98270  }
98271 
98272  bool operator!=( VideoDecodeCapabilitiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
98273  {
98274  return !operator==( rhs );
98275  }
98276 # endif
98277 
98278  public:
98279  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoDecodeCapabilitiesKHR;
98280  void * pNext = {};
98281  VULKAN_HPP_NAMESPACE::VideoDecodeCapabilityFlagsKHR flags = {};
98282  };
98283 
98284  template <>
98285  struct CppType<StructureType, StructureType::eVideoDecodeCapabilitiesKHR>
98286  {
98287  using Type = VideoDecodeCapabilitiesKHR;
98288  };
98289 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
98290 
98291 #if defined( VK_ENABLE_BETA_EXTENSIONS )
98292  struct VideoDecodeH264CapabilitiesEXT
98293  {
98294  using NativeType = VkVideoDecodeH264CapabilitiesEXT;
98295 
98296  static const bool allowDuplicate = false;
98297  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoDecodeH264CapabilitiesEXT;
98298 
98299 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
98300  VULKAN_HPP_CONSTEXPR VideoDecodeH264CapabilitiesEXT( StdVideoH264LevelIdc maxLevelIdc_ = {},
98301  VULKAN_HPP_NAMESPACE::Offset2D fieldOffsetGranularity_ = {},
98302  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
98303  : pNext( pNext_ )
98304  , maxLevelIdc( maxLevelIdc_ )
98305  , fieldOffsetGranularity( fieldOffsetGranularity_ )
98306  {
98307  }
98308 
98309  VULKAN_HPP_CONSTEXPR VideoDecodeH264CapabilitiesEXT( VideoDecodeH264CapabilitiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
98310 
98311  VideoDecodeH264CapabilitiesEXT( VkVideoDecodeH264CapabilitiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
98312  : VideoDecodeH264CapabilitiesEXT( *reinterpret_cast<VideoDecodeH264CapabilitiesEXT const *>( &rhs ) )
98313  {
98314  }
98315 
98316  VideoDecodeH264CapabilitiesEXT & operator=( VideoDecodeH264CapabilitiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
98317 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
98318 
98319  VideoDecodeH264CapabilitiesEXT & operator=( VkVideoDecodeH264CapabilitiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
98320  {
98321  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoDecodeH264CapabilitiesEXT const *>( &rhs );
98322  return *this;
98323  }
98324 
98325  operator VkVideoDecodeH264CapabilitiesEXT const &() const VULKAN_HPP_NOEXCEPT
98326  {
98327  return *reinterpret_cast<const VkVideoDecodeH264CapabilitiesEXT *>( this );
98328  }
98329 
98331  {
98332  return *reinterpret_cast<VkVideoDecodeH264CapabilitiesEXT *>( this );
98333  }
98334 
98335 # if defined( VULKAN_HPP_USE_REFLECT )
98336 # if 14 <= VULKAN_HPP_CPP_VERSION
98337  auto
98338 # else
98339  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, StdVideoH264LevelIdc const &, VULKAN_HPP_NAMESPACE::Offset2D const &>
98340 # endif
98341  reflect() const VULKAN_HPP_NOEXCEPT
98342  {
98343  return std::tie( sType, pNext, maxLevelIdc, fieldOffsetGranularity );
98344  }
98345 # endif
98346 
98347 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
98348  std::strong_ordering operator<=>( VideoDecodeH264CapabilitiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
98349  {
98350  if ( auto cmp = sType <=> rhs.sType; cmp != 0 )
98351  return cmp;
98352  if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 )
98353  return cmp;
98354  if ( auto cmp = memcmp( &maxLevelIdc, &rhs.maxLevelIdc, sizeof( StdVideoH264LevelIdc ) ); cmp != 0 )
98355  return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater;
98356  if ( auto cmp = fieldOffsetGranularity <=> rhs.fieldOffsetGranularity; cmp != 0 )
98357  return cmp;
98358 
98359  return std::strong_ordering::equivalent;
98360  }
98361 # endif
98362 
98363  bool operator==( VideoDecodeH264CapabilitiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
98364  {
98365  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memcmp( &maxLevelIdc, &rhs.maxLevelIdc, sizeof( StdVideoH264LevelIdc ) ) == 0 ) &&
98366  ( fieldOffsetGranularity == rhs.fieldOffsetGranularity );
98367  }
98368 
98369  bool operator!=( VideoDecodeH264CapabilitiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
98370  {
98371  return !operator==( rhs );
98372  }
98373 
98374  public:
98375  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoDecodeH264CapabilitiesEXT;
98376  void * pNext = {};
98377  StdVideoH264LevelIdc maxLevelIdc = {};
98378  VULKAN_HPP_NAMESPACE::Offset2D fieldOffsetGranularity = {};
98379  };
98380 
98381  template <>
98382  struct CppType<StructureType, StructureType::eVideoDecodeH264CapabilitiesEXT>
98383  {
98384  using Type = VideoDecodeH264CapabilitiesEXT;
98385  };
98386 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
98387 
98388 #if defined( VK_ENABLE_BETA_EXTENSIONS )
98389  struct VideoDecodeH264DpbSlotInfoEXT
98390  {
98391  using NativeType = VkVideoDecodeH264DpbSlotInfoEXT;
98392 
98393  static const bool allowDuplicate = false;
98394  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoDecodeH264DpbSlotInfoEXT;
98395 
98396 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
98397  VULKAN_HPP_CONSTEXPR VideoDecodeH264DpbSlotInfoEXT( const StdVideoDecodeH264ReferenceInfo * pStdReferenceInfo_ = {},
98398  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
98399  : pNext( pNext_ )
98400  , pStdReferenceInfo( pStdReferenceInfo_ )
98401  {
98402  }
98403 
98404  VULKAN_HPP_CONSTEXPR VideoDecodeH264DpbSlotInfoEXT( VideoDecodeH264DpbSlotInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
98405 
98406  VideoDecodeH264DpbSlotInfoEXT( VkVideoDecodeH264DpbSlotInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
98407  : VideoDecodeH264DpbSlotInfoEXT( *reinterpret_cast<VideoDecodeH264DpbSlotInfoEXT const *>( &rhs ) )
98408  {
98409  }
98410 
98411  VideoDecodeH264DpbSlotInfoEXT & operator=( VideoDecodeH264DpbSlotInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
98412 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
98413 
98414  VideoDecodeH264DpbSlotInfoEXT & operator=( VkVideoDecodeH264DpbSlotInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
98415  {
98416  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoDecodeH264DpbSlotInfoEXT const *>( &rhs );
98417  return *this;
98418  }
98419 
98420 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
98421  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH264DpbSlotInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
98422  {
98423  pNext = pNext_;
98424  return *this;
98425  }
98426 
98427  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH264DpbSlotInfoEXT &
98428  setPStdReferenceInfo( const StdVideoDecodeH264ReferenceInfo * pStdReferenceInfo_ ) VULKAN_HPP_NOEXCEPT
98429  {
98430  pStdReferenceInfo = pStdReferenceInfo_;
98431  return *this;
98432  }
98433 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
98434 
98435  operator VkVideoDecodeH264DpbSlotInfoEXT const &() const VULKAN_HPP_NOEXCEPT
98436  {
98437  return *reinterpret_cast<const VkVideoDecodeH264DpbSlotInfoEXT *>( this );
98438  }
98439 
98441  {
98442  return *reinterpret_cast<VkVideoDecodeH264DpbSlotInfoEXT *>( this );
98443  }
98444 
98445 # if defined( VULKAN_HPP_USE_REFLECT )
98446 # if 14 <= VULKAN_HPP_CPP_VERSION
98447  auto
98448 # else
98449  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, const StdVideoDecodeH264ReferenceInfo * const &>
98450 # endif
98451  reflect() const VULKAN_HPP_NOEXCEPT
98452  {
98453  return std::tie( sType, pNext, pStdReferenceInfo );
98454  }
98455 # endif
98456 
98457 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
98458  auto operator<=>( VideoDecodeH264DpbSlotInfoEXT const & ) const = default;
98459 # else
98460  bool operator==( VideoDecodeH264DpbSlotInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
98461  {
98462 # if defined( VULKAN_HPP_USE_REFLECT )
98463  return this->reflect() == rhs.reflect();
98464 # else
98465  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pStdReferenceInfo == rhs.pStdReferenceInfo );
98466 # endif
98467  }
98468 
98469  bool operator!=( VideoDecodeH264DpbSlotInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
98470  {
98471  return !operator==( rhs );
98472  }
98473 # endif
98474 
98475  public:
98476  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoDecodeH264DpbSlotInfoEXT;
98477  const void * pNext = {};
98478  const StdVideoDecodeH264ReferenceInfo * pStdReferenceInfo = {};
98479  };
98480 
98481  template <>
98482  struct CppType<StructureType, StructureType::eVideoDecodeH264DpbSlotInfoEXT>
98483  {
98484  using Type = VideoDecodeH264DpbSlotInfoEXT;
98485  };
98486 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
98487 
98488 #if defined( VK_ENABLE_BETA_EXTENSIONS )
98489  struct VideoDecodeH264PictureInfoEXT
98490  {
98491  using NativeType = VkVideoDecodeH264PictureInfoEXT;
98492 
98493  static const bool allowDuplicate = false;
98494  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoDecodeH264PictureInfoEXT;
98495 
98496 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
98497  VULKAN_HPP_CONSTEXPR VideoDecodeH264PictureInfoEXT( const StdVideoDecodeH264PictureInfo * pStdPictureInfo_ = {},
98498  uint32_t sliceCount_ = {},
98499  const uint32_t * pSliceOffsets_ = {},
98500  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
98501  : pNext( pNext_ )
98502  , pStdPictureInfo( pStdPictureInfo_ )
98503  , sliceCount( sliceCount_ )
98504  , pSliceOffsets( pSliceOffsets_ )
98505  {
98506  }
98507 
98508  VULKAN_HPP_CONSTEXPR VideoDecodeH264PictureInfoEXT( VideoDecodeH264PictureInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
98509 
98510  VideoDecodeH264PictureInfoEXT( VkVideoDecodeH264PictureInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
98511  : VideoDecodeH264PictureInfoEXT( *reinterpret_cast<VideoDecodeH264PictureInfoEXT const *>( &rhs ) )
98512  {
98513  }
98514 
98515 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
98516  VideoDecodeH264PictureInfoEXT( const StdVideoDecodeH264PictureInfo * pStdPictureInfo_,
98518  const void * pNext_ = nullptr )
98519  : pNext( pNext_ ), pStdPictureInfo( pStdPictureInfo_ ), sliceCount( static_cast<uint32_t>( sliceOffsets_.size() ) ), pSliceOffsets( sliceOffsets_.data() )
98520  {
98521  }
98522 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
98523 
98524  VideoDecodeH264PictureInfoEXT & operator=( VideoDecodeH264PictureInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
98525 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
98526 
98527  VideoDecodeH264PictureInfoEXT & operator=( VkVideoDecodeH264PictureInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
98528  {
98529  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoDecodeH264PictureInfoEXT const *>( &rhs );
98530  return *this;
98531  }
98532 
98533 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
98534  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH264PictureInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
98535  {
98536  pNext = pNext_;
98537  return *this;
98538  }
98539 
98540  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH264PictureInfoEXT & setPStdPictureInfo( const StdVideoDecodeH264PictureInfo * pStdPictureInfo_ ) VULKAN_HPP_NOEXCEPT
98541  {
98542  pStdPictureInfo = pStdPictureInfo_;
98543  return *this;
98544  }
98545 
98546  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH264PictureInfoEXT & setSliceCount( uint32_t sliceCount_ ) VULKAN_HPP_NOEXCEPT
98547  {
98548  sliceCount = sliceCount_;
98549  return *this;
98550  }
98551 
98552  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH264PictureInfoEXT & setPSliceOffsets( const uint32_t * pSliceOffsets_ ) VULKAN_HPP_NOEXCEPT
98553  {
98554  pSliceOffsets = pSliceOffsets_;
98555  return *this;
98556  }
98557 
98558 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
98559  VideoDecodeH264PictureInfoEXT & setSliceOffsets( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & sliceOffsets_ ) VULKAN_HPP_NOEXCEPT
98560  {
98561  sliceCount = static_cast<uint32_t>( sliceOffsets_.size() );
98562  pSliceOffsets = sliceOffsets_.data();
98563  return *this;
98564  }
98565 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
98566 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
98567 
98568  operator VkVideoDecodeH264PictureInfoEXT const &() const VULKAN_HPP_NOEXCEPT
98569  {
98570  return *reinterpret_cast<const VkVideoDecodeH264PictureInfoEXT *>( this );
98571  }
98572 
98574  {
98575  return *reinterpret_cast<VkVideoDecodeH264PictureInfoEXT *>( this );
98576  }
98577 
98578 # if defined( VULKAN_HPP_USE_REFLECT )
98579 # if 14 <= VULKAN_HPP_CPP_VERSION
98580  auto
98581 # else
98582  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
98583  const void * const &,
98584  const StdVideoDecodeH264PictureInfo * const &,
98585  uint32_t const &,
98586  const uint32_t * const &>
98587 # endif
98588  reflect() const VULKAN_HPP_NOEXCEPT
98589  {
98590  return std::tie( sType, pNext, pStdPictureInfo, sliceCount, pSliceOffsets );
98591  }
98592 # endif
98593 
98594 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
98595  auto operator<=>( VideoDecodeH264PictureInfoEXT const & ) const = default;
98596 # else
98597  bool operator==( VideoDecodeH264PictureInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
98598  {
98599 # if defined( VULKAN_HPP_USE_REFLECT )
98600  return this->reflect() == rhs.reflect();
98601 # else
98602  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pStdPictureInfo == rhs.pStdPictureInfo ) && ( sliceCount == rhs.sliceCount ) &&
98603  ( pSliceOffsets == rhs.pSliceOffsets );
98604 # endif
98605  }
98606 
98607  bool operator!=( VideoDecodeH264PictureInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
98608  {
98609  return !operator==( rhs );
98610  }
98611 # endif
98612 
98613  public:
98614  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoDecodeH264PictureInfoEXT;
98615  const void * pNext = {};
98616  const StdVideoDecodeH264PictureInfo * pStdPictureInfo = {};
98617  uint32_t sliceCount = {};
98618  const uint32_t * pSliceOffsets = {};
98619  };
98620 
98621  template <>
98622  struct CppType<StructureType, StructureType::eVideoDecodeH264PictureInfoEXT>
98623  {
98624  using Type = VideoDecodeH264PictureInfoEXT;
98625  };
98626 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
98627 
98628 #if defined( VK_ENABLE_BETA_EXTENSIONS )
98629  struct VideoDecodeH264ProfileInfoEXT
98630  {
98631  using NativeType = VkVideoDecodeH264ProfileInfoEXT;
98632 
98633  static const bool allowDuplicate = false;
98634  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoDecodeH264ProfileInfoEXT;
98635 
98636 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
98637  VULKAN_HPP_CONSTEXPR VideoDecodeH264ProfileInfoEXT( StdVideoH264ProfileIdc stdProfileIdc_ = {},
98638  VULKAN_HPP_NAMESPACE::VideoDecodeH264PictureLayoutFlagBitsEXT pictureLayout_ =
98639  VULKAN_HPP_NAMESPACE::VideoDecodeH264PictureLayoutFlagBitsEXT::eProgressive,
98640  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
98641  : pNext( pNext_ )
98642  , stdProfileIdc( stdProfileIdc_ )
98643  , pictureLayout( pictureLayout_ )
98644  {
98645  }
98646 
98647  VULKAN_HPP_CONSTEXPR VideoDecodeH264ProfileInfoEXT( VideoDecodeH264ProfileInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
98648 
98649  VideoDecodeH264ProfileInfoEXT( VkVideoDecodeH264ProfileInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
98650  : VideoDecodeH264ProfileInfoEXT( *reinterpret_cast<VideoDecodeH264ProfileInfoEXT const *>( &rhs ) )
98651  {
98652  }
98653 
98654  VideoDecodeH264ProfileInfoEXT & operator=( VideoDecodeH264ProfileInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
98655 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
98656 
98657  VideoDecodeH264ProfileInfoEXT & operator=( VkVideoDecodeH264ProfileInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
98658  {
98659  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoDecodeH264ProfileInfoEXT const *>( &rhs );
98660  return *this;
98661  }
98662 
98663 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
98664  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH264ProfileInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
98665  {
98666  pNext = pNext_;
98667  return *this;
98668  }
98669 
98670  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH264ProfileInfoEXT & setStdProfileIdc( StdVideoH264ProfileIdc stdProfileIdc_ ) VULKAN_HPP_NOEXCEPT
98671  {
98672  stdProfileIdc = stdProfileIdc_;
98673  return *this;
98674  }
98675 
98676  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH264ProfileInfoEXT &
98677  setPictureLayout( VULKAN_HPP_NAMESPACE::VideoDecodeH264PictureLayoutFlagBitsEXT pictureLayout_ ) VULKAN_HPP_NOEXCEPT
98678  {
98679  pictureLayout = pictureLayout_;
98680  return *this;
98681  }
98682 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
98683 
98684  operator VkVideoDecodeH264ProfileInfoEXT const &() const VULKAN_HPP_NOEXCEPT
98685  {
98686  return *reinterpret_cast<const VkVideoDecodeH264ProfileInfoEXT *>( this );
98687  }
98688 
98690  {
98691  return *reinterpret_cast<VkVideoDecodeH264ProfileInfoEXT *>( this );
98692  }
98693 
98694 # if defined( VULKAN_HPP_USE_REFLECT )
98695 # if 14 <= VULKAN_HPP_CPP_VERSION
98696  auto
98697 # else
98698  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
98699  const void * const &,
98700  StdVideoH264ProfileIdc const &,
98701  VULKAN_HPP_NAMESPACE::VideoDecodeH264PictureLayoutFlagBitsEXT const &>
98702 # endif
98703  reflect() const VULKAN_HPP_NOEXCEPT
98704  {
98705  return std::tie( sType, pNext, stdProfileIdc, pictureLayout );
98706  }
98707 # endif
98708 
98709 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
98710  std::strong_ordering operator<=>( VideoDecodeH264ProfileInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
98711  {
98712  if ( auto cmp = sType <=> rhs.sType; cmp != 0 )
98713  return cmp;
98714  if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 )
98715  return cmp;
98716  if ( auto cmp = memcmp( &stdProfileIdc, &rhs.stdProfileIdc, sizeof( StdVideoH264ProfileIdc ) ); cmp != 0 )
98717  return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater;
98718  if ( auto cmp = pictureLayout <=> rhs.pictureLayout; cmp != 0 )
98719  return cmp;
98720 
98721  return std::strong_ordering::equivalent;
98722  }
98723 # endif
98724 
98725  bool operator==( VideoDecodeH264ProfileInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
98726  {
98727  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memcmp( &stdProfileIdc, &rhs.stdProfileIdc, sizeof( StdVideoH264ProfileIdc ) ) == 0 ) &&
98728  ( pictureLayout == rhs.pictureLayout );
98729  }
98730 
98731  bool operator!=( VideoDecodeH264ProfileInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
98732  {
98733  return !operator==( rhs );
98734  }
98735 
98736  public:
98737  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoDecodeH264ProfileInfoEXT;
98738  const void * pNext = {};
98739  StdVideoH264ProfileIdc stdProfileIdc = {};
98740  VULKAN_HPP_NAMESPACE::VideoDecodeH264PictureLayoutFlagBitsEXT pictureLayout = VULKAN_HPP_NAMESPACE::VideoDecodeH264PictureLayoutFlagBitsEXT::eProgressive;
98741  };
98742 
98743  template <>
98744  struct CppType<StructureType, StructureType::eVideoDecodeH264ProfileInfoEXT>
98745  {
98746  using Type = VideoDecodeH264ProfileInfoEXT;
98747  };
98748 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
98749 
98750 #if defined( VK_ENABLE_BETA_EXTENSIONS )
98751  struct VideoDecodeH264SessionParametersAddInfoEXT
98752  {
98754 
98755  static const bool allowDuplicate = false;
98756  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoDecodeH264SessionParametersAddInfoEXT;
98757 
98758 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
98759  VULKAN_HPP_CONSTEXPR VideoDecodeH264SessionParametersAddInfoEXT( uint32_t stdSPSCount_ = {},
98760  const StdVideoH264SequenceParameterSet * pStdSPSs_ = {},
98761  uint32_t stdPPSCount_ = {},
98762  const StdVideoH264PictureParameterSet * pStdPPSs_ = {},
98763  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
98764  : pNext( pNext_ )
98765  , stdSPSCount( stdSPSCount_ )
98766  , pStdSPSs( pStdSPSs_ )
98767  , stdPPSCount( stdPPSCount_ )
98768  , pStdPPSs( pStdPPSs_ )
98769  {
98770  }
98771 
98772  VULKAN_HPP_CONSTEXPR VideoDecodeH264SessionParametersAddInfoEXT( VideoDecodeH264SessionParametersAddInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
98773 
98774  VideoDecodeH264SessionParametersAddInfoEXT( VkVideoDecodeH264SessionParametersAddInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
98775  : VideoDecodeH264SessionParametersAddInfoEXT( *reinterpret_cast<VideoDecodeH264SessionParametersAddInfoEXT const *>( &rhs ) )
98776  {
98777  }
98778 
98779 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
98780  VideoDecodeH264SessionParametersAddInfoEXT( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const StdVideoH264SequenceParameterSet> const & stdSPSs_,
98782  const void * pNext_ = nullptr )
98783  : pNext( pNext_ )
98784  , stdSPSCount( static_cast<uint32_t>( stdSPSs_.size() ) )
98785  , pStdSPSs( stdSPSs_.data() )
98786  , stdPPSCount( static_cast<uint32_t>( stdPPSs_.size() ) )
98787  , pStdPPSs( stdPPSs_.data() )
98788  {
98789  }
98790 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
98791 
98792  VideoDecodeH264SessionParametersAddInfoEXT & operator=( VideoDecodeH264SessionParametersAddInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
98793 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
98794 
98795  VideoDecodeH264SessionParametersAddInfoEXT & operator=( VkVideoDecodeH264SessionParametersAddInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
98796  {
98797  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoDecodeH264SessionParametersAddInfoEXT const *>( &rhs );
98798  return *this;
98799  }
98800 
98801 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
98802  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH264SessionParametersAddInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
98803  {
98804  pNext = pNext_;
98805  return *this;
98806  }
98807 
98808  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH264SessionParametersAddInfoEXT & setStdSPSCount( uint32_t stdSPSCount_ ) VULKAN_HPP_NOEXCEPT
98809  {
98810  stdSPSCount = stdSPSCount_;
98811  return *this;
98812  }
98813 
98814  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH264SessionParametersAddInfoEXT & setPStdSPSs( const StdVideoH264SequenceParameterSet * pStdSPSs_ ) VULKAN_HPP_NOEXCEPT
98815  {
98816  pStdSPSs = pStdSPSs_;
98817  return *this;
98818  }
98819 
98820 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
98821  VideoDecodeH264SessionParametersAddInfoEXT &
98823  {
98824  stdSPSCount = static_cast<uint32_t>( stdSPSs_.size() );
98825  pStdSPSs = stdSPSs_.data();
98826  return *this;
98827  }
98828 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
98829 
98830  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH264SessionParametersAddInfoEXT & setStdPPSCount( uint32_t stdPPSCount_ ) VULKAN_HPP_NOEXCEPT
98831  {
98832  stdPPSCount = stdPPSCount_;
98833  return *this;
98834  }
98835 
98836  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH264SessionParametersAddInfoEXT & setPStdPPSs( const StdVideoH264PictureParameterSet * pStdPPSs_ ) VULKAN_HPP_NOEXCEPT
98837  {
98838  pStdPPSs = pStdPPSs_;
98839  return *this;
98840  }
98841 
98842 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
98843  VideoDecodeH264SessionParametersAddInfoEXT &
98845  {
98846  stdPPSCount = static_cast<uint32_t>( stdPPSs_.size() );
98847  pStdPPSs = stdPPSs_.data();
98848  return *this;
98849  }
98850 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
98851 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
98852 
98854  {
98855  return *reinterpret_cast<const VkVideoDecodeH264SessionParametersAddInfoEXT *>( this );
98856  }
98857 
98859  {
98860  return *reinterpret_cast<VkVideoDecodeH264SessionParametersAddInfoEXT *>( this );
98861  }
98862 
98863 # if defined( VULKAN_HPP_USE_REFLECT )
98864 # if 14 <= VULKAN_HPP_CPP_VERSION
98865  auto
98866 # else
98867  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
98868  const void * const &,
98869  uint32_t const &,
98870  const StdVideoH264SequenceParameterSet * const &,
98871  uint32_t const &,
98872  const StdVideoH264PictureParameterSet * const &>
98873 # endif
98874  reflect() const VULKAN_HPP_NOEXCEPT
98875  {
98876  return std::tie( sType, pNext, stdSPSCount, pStdSPSs, stdPPSCount, pStdPPSs );
98877  }
98878 # endif
98879 
98880 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
98881  auto operator<=>( VideoDecodeH264SessionParametersAddInfoEXT const & ) const = default;
98882 # else
98883  bool operator==( VideoDecodeH264SessionParametersAddInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
98884  {
98885 # if defined( VULKAN_HPP_USE_REFLECT )
98886  return this->reflect() == rhs.reflect();
98887 # else
98888  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( stdSPSCount == rhs.stdSPSCount ) && ( pStdSPSs == rhs.pStdSPSs ) &&
98889  ( stdPPSCount == rhs.stdPPSCount ) && ( pStdPPSs == rhs.pStdPPSs );
98890 # endif
98891  }
98892 
98893  bool operator!=( VideoDecodeH264SessionParametersAddInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
98894  {
98895  return !operator==( rhs );
98896  }
98897 # endif
98898 
98899  public:
98900  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoDecodeH264SessionParametersAddInfoEXT;
98901  const void * pNext = {};
98902  uint32_t stdSPSCount = {};
98903  const StdVideoH264SequenceParameterSet * pStdSPSs = {};
98904  uint32_t stdPPSCount = {};
98905  const StdVideoH264PictureParameterSet * pStdPPSs = {};
98906  };
98907 
98908  template <>
98909  struct CppType<StructureType, StructureType::eVideoDecodeH264SessionParametersAddInfoEXT>
98910  {
98911  using Type = VideoDecodeH264SessionParametersAddInfoEXT;
98912  };
98913 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
98914 
98915 #if defined( VK_ENABLE_BETA_EXTENSIONS )
98916  struct VideoDecodeH264SessionParametersCreateInfoEXT
98917  {
98919 
98920  static const bool allowDuplicate = false;
98921  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoDecodeH264SessionParametersCreateInfoEXT;
98922 
98923 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
98925  VideoDecodeH264SessionParametersCreateInfoEXT( uint32_t maxStdSPSCount_ = {},
98926  uint32_t maxStdPPSCount_ = {},
98927  const VULKAN_HPP_NAMESPACE::VideoDecodeH264SessionParametersAddInfoEXT * pParametersAddInfo_ = {},
98928  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
98929  : pNext( pNext_ )
98930  , maxStdSPSCount( maxStdSPSCount_ )
98931  , maxStdPPSCount( maxStdPPSCount_ )
98932  , pParametersAddInfo( pParametersAddInfo_ )
98933  {
98934  }
98935 
98937  VideoDecodeH264SessionParametersCreateInfoEXT( VideoDecodeH264SessionParametersCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
98938 
98939  VideoDecodeH264SessionParametersCreateInfoEXT( VkVideoDecodeH264SessionParametersCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
98940  : VideoDecodeH264SessionParametersCreateInfoEXT( *reinterpret_cast<VideoDecodeH264SessionParametersCreateInfoEXT const *>( &rhs ) )
98941  {
98942  }
98943 
98944  VideoDecodeH264SessionParametersCreateInfoEXT & operator=( VideoDecodeH264SessionParametersCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
98945 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
98946 
98947  VideoDecodeH264SessionParametersCreateInfoEXT & operator=( VkVideoDecodeH264SessionParametersCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
98948  {
98949  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoDecodeH264SessionParametersCreateInfoEXT const *>( &rhs );
98950  return *this;
98951  }
98952 
98953 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
98954  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH264SessionParametersCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
98955  {
98956  pNext = pNext_;
98957  return *this;
98958  }
98959 
98960  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH264SessionParametersCreateInfoEXT & setMaxStdSPSCount( uint32_t maxStdSPSCount_ ) VULKAN_HPP_NOEXCEPT
98961  {
98962  maxStdSPSCount = maxStdSPSCount_;
98963  return *this;
98964  }
98965 
98966  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH264SessionParametersCreateInfoEXT & setMaxStdPPSCount( uint32_t maxStdPPSCount_ ) VULKAN_HPP_NOEXCEPT
98967  {
98968  maxStdPPSCount = maxStdPPSCount_;
98969  return *this;
98970  }
98971 
98972  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH264SessionParametersCreateInfoEXT &
98973  setPParametersAddInfo( const VULKAN_HPP_NAMESPACE::VideoDecodeH264SessionParametersAddInfoEXT * pParametersAddInfo_ ) VULKAN_HPP_NOEXCEPT
98974  {
98975  pParametersAddInfo = pParametersAddInfo_;
98976  return *this;
98977  }
98978 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
98979 
98981  {
98982  return *reinterpret_cast<const VkVideoDecodeH264SessionParametersCreateInfoEXT *>( this );
98983  }
98984 
98986  {
98987  return *reinterpret_cast<VkVideoDecodeH264SessionParametersCreateInfoEXT *>( this );
98988  }
98989 
98990 # if defined( VULKAN_HPP_USE_REFLECT )
98991 # if 14 <= VULKAN_HPP_CPP_VERSION
98992  auto
98993 # else
98994  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
98995  const void * const &,
98996  uint32_t const &,
98997  uint32_t const &,
98998  const VULKAN_HPP_NAMESPACE::VideoDecodeH264SessionParametersAddInfoEXT * const &>
98999 # endif
99000  reflect() const VULKAN_HPP_NOEXCEPT
99001  {
99002  return std::tie( sType, pNext, maxStdSPSCount, maxStdPPSCount, pParametersAddInfo );
99003  }
99004 # endif
99005 
99006 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
99007  auto operator<=>( VideoDecodeH264SessionParametersCreateInfoEXT const & ) const = default;
99008 # else
99009  bool operator==( VideoDecodeH264SessionParametersCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
99010  {
99011 # if defined( VULKAN_HPP_USE_REFLECT )
99012  return this->reflect() == rhs.reflect();
99013 # else
99014  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxStdSPSCount == rhs.maxStdSPSCount ) && ( maxStdPPSCount == rhs.maxStdPPSCount ) &&
99015  ( pParametersAddInfo == rhs.pParametersAddInfo );
99016 # endif
99017  }
99018 
99019  bool operator!=( VideoDecodeH264SessionParametersCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
99020  {
99021  return !operator==( rhs );
99022  }
99023 # endif
99024 
99025  public:
99026  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoDecodeH264SessionParametersCreateInfoEXT;
99027  const void * pNext = {};
99028  uint32_t maxStdSPSCount = {};
99029  uint32_t maxStdPPSCount = {};
99030  const VULKAN_HPP_NAMESPACE::VideoDecodeH264SessionParametersAddInfoEXT * pParametersAddInfo = {};
99031  };
99032 
99033  template <>
99034  struct CppType<StructureType, StructureType::eVideoDecodeH264SessionParametersCreateInfoEXT>
99035  {
99036  using Type = VideoDecodeH264SessionParametersCreateInfoEXT;
99037  };
99038 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
99039 
99040 #if defined( VK_ENABLE_BETA_EXTENSIONS )
99041  struct VideoDecodeH265CapabilitiesEXT
99042  {
99043  using NativeType = VkVideoDecodeH265CapabilitiesEXT;
99044 
99045  static const bool allowDuplicate = false;
99046  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoDecodeH265CapabilitiesEXT;
99047 
99048 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
99049  VULKAN_HPP_CONSTEXPR VideoDecodeH265CapabilitiesEXT( StdVideoH265LevelIdc maxLevelIdc_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
99050  : pNext( pNext_ )
99051  , maxLevelIdc( maxLevelIdc_ )
99052  {
99053  }
99054 
99055  VULKAN_HPP_CONSTEXPR VideoDecodeH265CapabilitiesEXT( VideoDecodeH265CapabilitiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
99056 
99057  VideoDecodeH265CapabilitiesEXT( VkVideoDecodeH265CapabilitiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
99058  : VideoDecodeH265CapabilitiesEXT( *reinterpret_cast<VideoDecodeH265CapabilitiesEXT const *>( &rhs ) )
99059  {
99060  }
99061 
99062  VideoDecodeH265CapabilitiesEXT & operator=( VideoDecodeH265CapabilitiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
99063 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
99064 
99065  VideoDecodeH265CapabilitiesEXT & operator=( VkVideoDecodeH265CapabilitiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
99066  {
99067  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoDecodeH265CapabilitiesEXT const *>( &rhs );
99068  return *this;
99069  }
99070 
99071  operator VkVideoDecodeH265CapabilitiesEXT const &() const VULKAN_HPP_NOEXCEPT
99072  {
99073  return *reinterpret_cast<const VkVideoDecodeH265CapabilitiesEXT *>( this );
99074  }
99075 
99077  {
99078  return *reinterpret_cast<VkVideoDecodeH265CapabilitiesEXT *>( this );
99079  }
99080 
99081 # if defined( VULKAN_HPP_USE_REFLECT )
99082 # if 14 <= VULKAN_HPP_CPP_VERSION
99083  auto
99084 # else
99085  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, StdVideoH265LevelIdc const &>
99086 # endif
99087  reflect() const VULKAN_HPP_NOEXCEPT
99088  {
99089  return std::tie( sType, pNext, maxLevelIdc );
99090  }
99091 # endif
99092 
99093 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
99094  std::strong_ordering operator<=>( VideoDecodeH265CapabilitiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
99095  {
99096  if ( auto cmp = sType <=> rhs.sType; cmp != 0 )
99097  return cmp;
99098  if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 )
99099  return cmp;
99100  if ( auto cmp = memcmp( &maxLevelIdc, &rhs.maxLevelIdc, sizeof( StdVideoH265LevelIdc ) ); cmp != 0 )
99101  return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater;
99102 
99103  return std::strong_ordering::equivalent;
99104  }
99105 # endif
99106 
99107  bool operator==( VideoDecodeH265CapabilitiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
99108  {
99109  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memcmp( &maxLevelIdc, &rhs.maxLevelIdc, sizeof( StdVideoH265LevelIdc ) ) == 0 );
99110  }
99111 
99112  bool operator!=( VideoDecodeH265CapabilitiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
99113  {
99114  return !operator==( rhs );
99115  }
99116 
99117  public:
99118  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoDecodeH265CapabilitiesEXT;
99119  void * pNext = {};
99120  StdVideoH265LevelIdc maxLevelIdc = {};
99121  };
99122 
99123  template <>
99124  struct CppType<StructureType, StructureType::eVideoDecodeH265CapabilitiesEXT>
99125  {
99126  using Type = VideoDecodeH265CapabilitiesEXT;
99127  };
99128 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
99129 
99130 #if defined( VK_ENABLE_BETA_EXTENSIONS )
99131  struct VideoDecodeH265DpbSlotInfoEXT
99132  {
99133  using NativeType = VkVideoDecodeH265DpbSlotInfoEXT;
99134 
99135  static const bool allowDuplicate = false;
99136  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoDecodeH265DpbSlotInfoEXT;
99137 
99138 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
99139  VULKAN_HPP_CONSTEXPR VideoDecodeH265DpbSlotInfoEXT( const StdVideoDecodeH265ReferenceInfo * pStdReferenceInfo_ = {},
99140  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
99141  : pNext( pNext_ )
99142  , pStdReferenceInfo( pStdReferenceInfo_ )
99143  {
99144  }
99145 
99146  VULKAN_HPP_CONSTEXPR VideoDecodeH265DpbSlotInfoEXT( VideoDecodeH265DpbSlotInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
99147 
99148  VideoDecodeH265DpbSlotInfoEXT( VkVideoDecodeH265DpbSlotInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
99149  : VideoDecodeH265DpbSlotInfoEXT( *reinterpret_cast<VideoDecodeH265DpbSlotInfoEXT const *>( &rhs ) )
99150  {
99151  }
99152 
99153  VideoDecodeH265DpbSlotInfoEXT & operator=( VideoDecodeH265DpbSlotInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
99154 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
99155 
99156  VideoDecodeH265DpbSlotInfoEXT & operator=( VkVideoDecodeH265DpbSlotInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
99157  {
99158  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoDecodeH265DpbSlotInfoEXT const *>( &rhs );
99159  return *this;
99160  }
99161 
99162 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
99163  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH265DpbSlotInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
99164  {
99165  pNext = pNext_;
99166  return *this;
99167  }
99168 
99169  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH265DpbSlotInfoEXT &
99170  setPStdReferenceInfo( const StdVideoDecodeH265ReferenceInfo * pStdReferenceInfo_ ) VULKAN_HPP_NOEXCEPT
99171  {
99172  pStdReferenceInfo = pStdReferenceInfo_;
99173  return *this;
99174  }
99175 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
99176 
99177  operator VkVideoDecodeH265DpbSlotInfoEXT const &() const VULKAN_HPP_NOEXCEPT
99178  {
99179  return *reinterpret_cast<const VkVideoDecodeH265DpbSlotInfoEXT *>( this );
99180  }
99181 
99183  {
99184  return *reinterpret_cast<VkVideoDecodeH265DpbSlotInfoEXT *>( this );
99185  }
99186 
99187 # if defined( VULKAN_HPP_USE_REFLECT )
99188 # if 14 <= VULKAN_HPP_CPP_VERSION
99189  auto
99190 # else
99191  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, const StdVideoDecodeH265ReferenceInfo * const &>
99192 # endif
99193  reflect() const VULKAN_HPP_NOEXCEPT
99194  {
99195  return std::tie( sType, pNext, pStdReferenceInfo );
99196  }
99197 # endif
99198 
99199 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
99200  auto operator<=>( VideoDecodeH265DpbSlotInfoEXT const & ) const = default;
99201 # else
99202  bool operator==( VideoDecodeH265DpbSlotInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
99203  {
99204 # if defined( VULKAN_HPP_USE_REFLECT )
99205  return this->reflect() == rhs.reflect();
99206 # else
99207  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pStdReferenceInfo == rhs.pStdReferenceInfo );
99208 # endif
99209  }
99210 
99211  bool operator!=( VideoDecodeH265DpbSlotInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
99212  {
99213  return !operator==( rhs );
99214  }
99215 # endif
99216 
99217  public:
99218  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoDecodeH265DpbSlotInfoEXT;
99219  const void * pNext = {};
99220  const StdVideoDecodeH265ReferenceInfo * pStdReferenceInfo = {};
99221  };
99222 
99223  template <>
99224  struct CppType<StructureType, StructureType::eVideoDecodeH265DpbSlotInfoEXT>
99225  {
99226  using Type = VideoDecodeH265DpbSlotInfoEXT;
99227  };
99228 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
99229 
99230 #if defined( VK_ENABLE_BETA_EXTENSIONS )
99231  struct VideoDecodeH265PictureInfoEXT
99232  {
99233  using NativeType = VkVideoDecodeH265PictureInfoEXT;
99234 
99235  static const bool allowDuplicate = false;
99236  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoDecodeH265PictureInfoEXT;
99237 
99238 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
99239  VULKAN_HPP_CONSTEXPR VideoDecodeH265PictureInfoEXT( StdVideoDecodeH265PictureInfo * pStdPictureInfo_ = {},
99240  uint32_t sliceSegmentCount_ = {},
99241  const uint32_t * pSliceSegmentOffsets_ = {},
99242  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
99243  : pNext( pNext_ )
99244  , pStdPictureInfo( pStdPictureInfo_ )
99245  , sliceSegmentCount( sliceSegmentCount_ )
99246  , pSliceSegmentOffsets( pSliceSegmentOffsets_ )
99247  {
99248  }
99249 
99250  VULKAN_HPP_CONSTEXPR VideoDecodeH265PictureInfoEXT( VideoDecodeH265PictureInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
99251 
99252  VideoDecodeH265PictureInfoEXT( VkVideoDecodeH265PictureInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
99253  : VideoDecodeH265PictureInfoEXT( *reinterpret_cast<VideoDecodeH265PictureInfoEXT const *>( &rhs ) )
99254  {
99255  }
99256 
99257 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
99258  VideoDecodeH265PictureInfoEXT( StdVideoDecodeH265PictureInfo * pStdPictureInfo_,
99260  const void * pNext_ = nullptr )
99261  : pNext( pNext_ )
99262  , pStdPictureInfo( pStdPictureInfo_ )
99263  , sliceSegmentCount( static_cast<uint32_t>( sliceSegmentOffsets_.size() ) )
99264  , pSliceSegmentOffsets( sliceSegmentOffsets_.data() )
99265  {
99266  }
99267 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
99268 
99269  VideoDecodeH265PictureInfoEXT & operator=( VideoDecodeH265PictureInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
99270 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
99271 
99272  VideoDecodeH265PictureInfoEXT & operator=( VkVideoDecodeH265PictureInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
99273  {
99274  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoDecodeH265PictureInfoEXT const *>( &rhs );
99275  return *this;
99276  }
99277 
99278 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
99279  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH265PictureInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
99280  {
99281  pNext = pNext_;
99282  return *this;
99283  }
99284 
99285  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH265PictureInfoEXT & setPStdPictureInfo( StdVideoDecodeH265PictureInfo * pStdPictureInfo_ ) VULKAN_HPP_NOEXCEPT
99286  {
99287  pStdPictureInfo = pStdPictureInfo_;
99288  return *this;
99289  }
99290 
99291  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH265PictureInfoEXT & setSliceSegmentCount( uint32_t sliceSegmentCount_ ) VULKAN_HPP_NOEXCEPT
99292  {
99293  sliceSegmentCount = sliceSegmentCount_;
99294  return *this;
99295  }
99296 
99297  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH265PictureInfoEXT & setPSliceSegmentOffsets( const uint32_t * pSliceSegmentOffsets_ ) VULKAN_HPP_NOEXCEPT
99298  {
99299  pSliceSegmentOffsets = pSliceSegmentOffsets_;
99300  return *this;
99301  }
99302 
99303 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
99304  VideoDecodeH265PictureInfoEXT &
99305  setSliceSegmentOffsets( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & sliceSegmentOffsets_ ) VULKAN_HPP_NOEXCEPT
99306  {
99307  sliceSegmentCount = static_cast<uint32_t>( sliceSegmentOffsets_.size() );
99308  pSliceSegmentOffsets = sliceSegmentOffsets_.data();
99309  return *this;
99310  }
99311 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
99312 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
99313 
99314  operator VkVideoDecodeH265PictureInfoEXT const &() const VULKAN_HPP_NOEXCEPT
99315  {
99316  return *reinterpret_cast<const VkVideoDecodeH265PictureInfoEXT *>( this );
99317  }
99318 
99320  {
99321  return *reinterpret_cast<VkVideoDecodeH265PictureInfoEXT *>( this );
99322  }
99323 
99324 # if defined( VULKAN_HPP_USE_REFLECT )
99325 # if 14 <= VULKAN_HPP_CPP_VERSION
99326  auto
99327 # else
99328  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
99329  const void * const &,
99330  StdVideoDecodeH265PictureInfo * const &,
99331  uint32_t const &,
99332  const uint32_t * const &>
99333 # endif
99334  reflect() const VULKAN_HPP_NOEXCEPT
99335  {
99336  return std::tie( sType, pNext, pStdPictureInfo, sliceSegmentCount, pSliceSegmentOffsets );
99337  }
99338 # endif
99339 
99340 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
99341  auto operator<=>( VideoDecodeH265PictureInfoEXT const & ) const = default;
99342 # else
99343  bool operator==( VideoDecodeH265PictureInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
99344  {
99345 # if defined( VULKAN_HPP_USE_REFLECT )
99346  return this->reflect() == rhs.reflect();
99347 # else
99348  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pStdPictureInfo == rhs.pStdPictureInfo ) && ( sliceSegmentCount == rhs.sliceSegmentCount ) &&
99349  ( pSliceSegmentOffsets == rhs.pSliceSegmentOffsets );
99350 # endif
99351  }
99352 
99353  bool operator!=( VideoDecodeH265PictureInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
99354  {
99355  return !operator==( rhs );
99356  }
99357 # endif
99358 
99359  public:
99360  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoDecodeH265PictureInfoEXT;
99361  const void * pNext = {};
99362  StdVideoDecodeH265PictureInfo * pStdPictureInfo = {};
99363  uint32_t sliceSegmentCount = {};
99364  const uint32_t * pSliceSegmentOffsets = {};
99365  };
99366 
99367  template <>
99368  struct CppType<StructureType, StructureType::eVideoDecodeH265PictureInfoEXT>
99369  {
99370  using Type = VideoDecodeH265PictureInfoEXT;
99371  };
99372 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
99373 
99374 #if defined( VK_ENABLE_BETA_EXTENSIONS )
99375  struct VideoDecodeH265ProfileInfoEXT
99376  {
99377  using NativeType = VkVideoDecodeH265ProfileInfoEXT;
99378 
99379  static const bool allowDuplicate = false;
99380  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoDecodeH265ProfileInfoEXT;
99381 
99382 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
99383  VULKAN_HPP_CONSTEXPR VideoDecodeH265ProfileInfoEXT( StdVideoH265ProfileIdc stdProfileIdc_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
99384  : pNext( pNext_ )
99385  , stdProfileIdc( stdProfileIdc_ )
99386  {
99387  }
99388 
99389  VULKAN_HPP_CONSTEXPR VideoDecodeH265ProfileInfoEXT( VideoDecodeH265ProfileInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
99390 
99391  VideoDecodeH265ProfileInfoEXT( VkVideoDecodeH265ProfileInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
99392  : VideoDecodeH265ProfileInfoEXT( *reinterpret_cast<VideoDecodeH265ProfileInfoEXT const *>( &rhs ) )
99393  {
99394  }
99395 
99396  VideoDecodeH265ProfileInfoEXT & operator=( VideoDecodeH265ProfileInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
99397 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
99398 
99399  VideoDecodeH265ProfileInfoEXT & operator=( VkVideoDecodeH265ProfileInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
99400  {
99401  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoDecodeH265ProfileInfoEXT const *>( &rhs );
99402  return *this;
99403  }
99404 
99405 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
99406  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH265ProfileInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
99407  {
99408  pNext = pNext_;
99409  return *this;
99410  }
99411 
99412  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH265ProfileInfoEXT & setStdProfileIdc( StdVideoH265ProfileIdc stdProfileIdc_ ) VULKAN_HPP_NOEXCEPT
99413  {
99414  stdProfileIdc = stdProfileIdc_;
99415  return *this;
99416  }
99417 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
99418 
99419  operator VkVideoDecodeH265ProfileInfoEXT const &() const VULKAN_HPP_NOEXCEPT
99420  {
99421  return *reinterpret_cast<const VkVideoDecodeH265ProfileInfoEXT *>( this );
99422  }
99423 
99425  {
99426  return *reinterpret_cast<VkVideoDecodeH265ProfileInfoEXT *>( this );
99427  }
99428 
99429 # if defined( VULKAN_HPP_USE_REFLECT )
99430 # if 14 <= VULKAN_HPP_CPP_VERSION
99431  auto
99432 # else
99433  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, StdVideoH265ProfileIdc const &>
99434 # endif
99435  reflect() const VULKAN_HPP_NOEXCEPT
99436  {
99437  return std::tie( sType, pNext, stdProfileIdc );
99438  }
99439 # endif
99440 
99441 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
99442  std::strong_ordering operator<=>( VideoDecodeH265ProfileInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
99443  {
99444  if ( auto cmp = sType <=> rhs.sType; cmp != 0 )
99445  return cmp;
99446  if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 )
99447  return cmp;
99448  if ( auto cmp = memcmp( &stdProfileIdc, &rhs.stdProfileIdc, sizeof( StdVideoH265ProfileIdc ) ); cmp != 0 )
99449  return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater;
99450 
99451  return std::strong_ordering::equivalent;
99452  }
99453 # endif
99454 
99455  bool operator==( VideoDecodeH265ProfileInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
99456  {
99457  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memcmp( &stdProfileIdc, &rhs.stdProfileIdc, sizeof( StdVideoH265ProfileIdc ) ) == 0 );
99458  }
99459 
99460  bool operator!=( VideoDecodeH265ProfileInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
99461  {
99462  return !operator==( rhs );
99463  }
99464 
99465  public:
99466  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoDecodeH265ProfileInfoEXT;
99467  const void * pNext = {};
99468  StdVideoH265ProfileIdc stdProfileIdc = {};
99469  };
99470 
99471  template <>
99472  struct CppType<StructureType, StructureType::eVideoDecodeH265ProfileInfoEXT>
99473  {
99474  using Type = VideoDecodeH265ProfileInfoEXT;
99475  };
99476 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
99477 
99478 #if defined( VK_ENABLE_BETA_EXTENSIONS )
99479  struct VideoDecodeH265SessionParametersAddInfoEXT
99480  {
99482 
99483  static const bool allowDuplicate = false;
99484  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoDecodeH265SessionParametersAddInfoEXT;
99485 
99486 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
99487  VULKAN_HPP_CONSTEXPR VideoDecodeH265SessionParametersAddInfoEXT( uint32_t stdVPSCount_ = {},
99488  const StdVideoH265VideoParameterSet * pStdVPSs_ = {},
99489  uint32_t stdSPSCount_ = {},
99490  const StdVideoH265SequenceParameterSet * pStdSPSs_ = {},
99491  uint32_t stdPPSCount_ = {},
99492  const StdVideoH265PictureParameterSet * pStdPPSs_ = {},
99493  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
99494  : pNext( pNext_ )
99495  , stdVPSCount( stdVPSCount_ )
99496  , pStdVPSs( pStdVPSs_ )
99497  , stdSPSCount( stdSPSCount_ )
99498  , pStdSPSs( pStdSPSs_ )
99499  , stdPPSCount( stdPPSCount_ )
99500  , pStdPPSs( pStdPPSs_ )
99501  {
99502  }
99503 
99504  VULKAN_HPP_CONSTEXPR VideoDecodeH265SessionParametersAddInfoEXT( VideoDecodeH265SessionParametersAddInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
99505 
99506  VideoDecodeH265SessionParametersAddInfoEXT( VkVideoDecodeH265SessionParametersAddInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
99507  : VideoDecodeH265SessionParametersAddInfoEXT( *reinterpret_cast<VideoDecodeH265SessionParametersAddInfoEXT const *>( &rhs ) )
99508  {
99509  }
99510 
99511 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
99512  VideoDecodeH265SessionParametersAddInfoEXT( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const StdVideoH265VideoParameterSet> const & stdVPSs_,
99515  const void * pNext_ = nullptr )
99516  : pNext( pNext_ )
99517  , stdVPSCount( static_cast<uint32_t>( stdVPSs_.size() ) )
99518  , pStdVPSs( stdVPSs_.data() )
99519  , stdSPSCount( static_cast<uint32_t>( stdSPSs_.size() ) )
99520  , pStdSPSs( stdSPSs_.data() )
99521  , stdPPSCount( static_cast<uint32_t>( stdPPSs_.size() ) )
99522  , pStdPPSs( stdPPSs_.data() )
99523  {
99524  }
99525 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
99526 
99527  VideoDecodeH265SessionParametersAddInfoEXT & operator=( VideoDecodeH265SessionParametersAddInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
99528 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
99529 
99530  VideoDecodeH265SessionParametersAddInfoEXT & operator=( VkVideoDecodeH265SessionParametersAddInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
99531  {
99532  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoDecodeH265SessionParametersAddInfoEXT const *>( &rhs );
99533  return *this;
99534  }
99535 
99536 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
99537  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH265SessionParametersAddInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
99538  {
99539  pNext = pNext_;
99540  return *this;
99541  }
99542 
99543  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH265SessionParametersAddInfoEXT & setStdVPSCount( uint32_t stdVPSCount_ ) VULKAN_HPP_NOEXCEPT
99544  {
99545  stdVPSCount = stdVPSCount_;
99546  return *this;
99547  }
99548 
99549  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH265SessionParametersAddInfoEXT & setPStdVPSs( const StdVideoH265VideoParameterSet * pStdVPSs_ ) VULKAN_HPP_NOEXCEPT
99550  {
99551  pStdVPSs = pStdVPSs_;
99552  return *this;
99553  }
99554 
99555 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
99556  VideoDecodeH265SessionParametersAddInfoEXT &
99558  {
99559  stdVPSCount = static_cast<uint32_t>( stdVPSs_.size() );
99560  pStdVPSs = stdVPSs_.data();
99561  return *this;
99562  }
99563 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
99564 
99565  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH265SessionParametersAddInfoEXT & setStdSPSCount( uint32_t stdSPSCount_ ) VULKAN_HPP_NOEXCEPT
99566  {
99567  stdSPSCount = stdSPSCount_;
99568  return *this;
99569  }
99570 
99571  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH265SessionParametersAddInfoEXT & setPStdSPSs( const StdVideoH265SequenceParameterSet * pStdSPSs_ ) VULKAN_HPP_NOEXCEPT
99572  {
99573  pStdSPSs = pStdSPSs_;
99574  return *this;
99575  }
99576 
99577 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
99578  VideoDecodeH265SessionParametersAddInfoEXT &
99580  {
99581  stdSPSCount = static_cast<uint32_t>( stdSPSs_.size() );
99582  pStdSPSs = stdSPSs_.data();
99583  return *this;
99584  }
99585 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
99586 
99587  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH265SessionParametersAddInfoEXT & setStdPPSCount( uint32_t stdPPSCount_ ) VULKAN_HPP_NOEXCEPT
99588  {
99589  stdPPSCount = stdPPSCount_;
99590  return *this;
99591  }
99592 
99593  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH265SessionParametersAddInfoEXT & setPStdPPSs( const StdVideoH265PictureParameterSet * pStdPPSs_ ) VULKAN_HPP_NOEXCEPT
99594  {
99595  pStdPPSs = pStdPPSs_;
99596  return *this;
99597  }
99598 
99599 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
99600  VideoDecodeH265SessionParametersAddInfoEXT &
99602  {
99603  stdPPSCount = static_cast<uint32_t>( stdPPSs_.size() );
99604  pStdPPSs = stdPPSs_.data();
99605  return *this;
99606  }
99607 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
99608 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
99609 
99611  {
99612  return *reinterpret_cast<const VkVideoDecodeH265SessionParametersAddInfoEXT *>( this );
99613  }
99614 
99616  {
99617  return *reinterpret_cast<VkVideoDecodeH265SessionParametersAddInfoEXT *>( this );
99618  }
99619 
99620 # if defined( VULKAN_HPP_USE_REFLECT )
99621 # if 14 <= VULKAN_HPP_CPP_VERSION
99622  auto
99623 # else
99624  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
99625  const void * const &,
99626  uint32_t const &,
99627  const StdVideoH265VideoParameterSet * const &,
99628  uint32_t const &,
99629  const StdVideoH265SequenceParameterSet * const &,
99630  uint32_t const &,
99631  const StdVideoH265PictureParameterSet * const &>
99632 # endif
99633  reflect() const VULKAN_HPP_NOEXCEPT
99634  {
99635  return std::tie( sType, pNext, stdVPSCount, pStdVPSs, stdSPSCount, pStdSPSs, stdPPSCount, pStdPPSs );
99636  }
99637 # endif
99638 
99639 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
99640  auto operator<=>( VideoDecodeH265SessionParametersAddInfoEXT const & ) const = default;
99641 # else
99642  bool operator==( VideoDecodeH265SessionParametersAddInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
99643  {
99644 # if defined( VULKAN_HPP_USE_REFLECT )
99645  return this->reflect() == rhs.reflect();
99646 # else
99647  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( stdVPSCount == rhs.stdVPSCount ) && ( pStdVPSs == rhs.pStdVPSs ) &&
99648  ( stdSPSCount == rhs.stdSPSCount ) && ( pStdSPSs == rhs.pStdSPSs ) && ( stdPPSCount == rhs.stdPPSCount ) && ( pStdPPSs == rhs.pStdPPSs );
99649 # endif
99650  }
99651 
99652  bool operator!=( VideoDecodeH265SessionParametersAddInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
99653  {
99654  return !operator==( rhs );
99655  }
99656 # endif
99657 
99658  public:
99659  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoDecodeH265SessionParametersAddInfoEXT;
99660  const void * pNext = {};
99661  uint32_t stdVPSCount = {};
99662  const StdVideoH265VideoParameterSet * pStdVPSs = {};
99663  uint32_t stdSPSCount = {};
99664  const StdVideoH265SequenceParameterSet * pStdSPSs = {};
99665  uint32_t stdPPSCount = {};
99666  const StdVideoH265PictureParameterSet * pStdPPSs = {};
99667  };
99668 
99669  template <>
99670  struct CppType<StructureType, StructureType::eVideoDecodeH265SessionParametersAddInfoEXT>
99671  {
99672  using Type = VideoDecodeH265SessionParametersAddInfoEXT;
99673  };
99674 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
99675 
99676 #if defined( VK_ENABLE_BETA_EXTENSIONS )
99677  struct VideoDecodeH265SessionParametersCreateInfoEXT
99678  {
99680 
99681  static const bool allowDuplicate = false;
99682  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoDecodeH265SessionParametersCreateInfoEXT;
99683 
99684 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
99686  VideoDecodeH265SessionParametersCreateInfoEXT( uint32_t maxStdVPSCount_ = {},
99687  uint32_t maxStdSPSCount_ = {},
99688  uint32_t maxStdPPSCount_ = {},
99689  const VULKAN_HPP_NAMESPACE::VideoDecodeH265SessionParametersAddInfoEXT * pParametersAddInfo_ = {},
99690  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
99691  : pNext( pNext_ )
99692  , maxStdVPSCount( maxStdVPSCount_ )
99693  , maxStdSPSCount( maxStdSPSCount_ )
99694  , maxStdPPSCount( maxStdPPSCount_ )
99695  , pParametersAddInfo( pParametersAddInfo_ )
99696  {
99697  }
99698 
99700  VideoDecodeH265SessionParametersCreateInfoEXT( VideoDecodeH265SessionParametersCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
99701 
99702  VideoDecodeH265SessionParametersCreateInfoEXT( VkVideoDecodeH265SessionParametersCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
99703  : VideoDecodeH265SessionParametersCreateInfoEXT( *reinterpret_cast<VideoDecodeH265SessionParametersCreateInfoEXT const *>( &rhs ) )
99704  {
99705  }
99706 
99707  VideoDecodeH265SessionParametersCreateInfoEXT & operator=( VideoDecodeH265SessionParametersCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
99708 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
99709 
99710  VideoDecodeH265SessionParametersCreateInfoEXT & operator=( VkVideoDecodeH265SessionParametersCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
99711  {
99712  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoDecodeH265SessionParametersCreateInfoEXT const *>( &rhs );
99713  return *this;
99714  }
99715 
99716 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
99717  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH265SessionParametersCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
99718  {
99719  pNext = pNext_;
99720  return *this;
99721  }
99722 
99723  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH265SessionParametersCreateInfoEXT & setMaxStdVPSCount( uint32_t maxStdVPSCount_ ) VULKAN_HPP_NOEXCEPT
99724  {
99725  maxStdVPSCount = maxStdVPSCount_;
99726  return *this;
99727  }
99728 
99729  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH265SessionParametersCreateInfoEXT & setMaxStdSPSCount( uint32_t maxStdSPSCount_ ) VULKAN_HPP_NOEXCEPT
99730  {
99731  maxStdSPSCount = maxStdSPSCount_;
99732  return *this;
99733  }
99734 
99735  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH265SessionParametersCreateInfoEXT & setMaxStdPPSCount( uint32_t maxStdPPSCount_ ) VULKAN_HPP_NOEXCEPT
99736  {
99737  maxStdPPSCount = maxStdPPSCount_;
99738  return *this;
99739  }
99740 
99741  VULKAN_HPP_CONSTEXPR_14 VideoDecodeH265SessionParametersCreateInfoEXT &
99742  setPParametersAddInfo( const VULKAN_HPP_NAMESPACE::VideoDecodeH265SessionParametersAddInfoEXT * pParametersAddInfo_ ) VULKAN_HPP_NOEXCEPT
99743  {
99744  pParametersAddInfo = pParametersAddInfo_;
99745  return *this;
99746  }
99747 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
99748 
99750  {
99751  return *reinterpret_cast<const VkVideoDecodeH265SessionParametersCreateInfoEXT *>( this );
99752  }
99753 
99755  {
99756  return *reinterpret_cast<VkVideoDecodeH265SessionParametersCreateInfoEXT *>( this );
99757  }
99758 
99759 # if defined( VULKAN_HPP_USE_REFLECT )
99760 # if 14 <= VULKAN_HPP_CPP_VERSION
99761  auto
99762 # else
99763  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
99764  const void * const &,
99765  uint32_t const &,
99766  uint32_t const &,
99767  uint32_t const &,
99768  const VULKAN_HPP_NAMESPACE::VideoDecodeH265SessionParametersAddInfoEXT * const &>
99769 # endif
99770  reflect() const VULKAN_HPP_NOEXCEPT
99771  {
99772  return std::tie( sType, pNext, maxStdVPSCount, maxStdSPSCount, maxStdPPSCount, pParametersAddInfo );
99773  }
99774 # endif
99775 
99776 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
99777  auto operator<=>( VideoDecodeH265SessionParametersCreateInfoEXT const & ) const = default;
99778 # else
99779  bool operator==( VideoDecodeH265SessionParametersCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
99780  {
99781 # if defined( VULKAN_HPP_USE_REFLECT )
99782  return this->reflect() == rhs.reflect();
99783 # else
99784  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxStdVPSCount == rhs.maxStdVPSCount ) && ( maxStdSPSCount == rhs.maxStdSPSCount ) &&
99785  ( maxStdPPSCount == rhs.maxStdPPSCount ) && ( pParametersAddInfo == rhs.pParametersAddInfo );
99786 # endif
99787  }
99788 
99789  bool operator!=( VideoDecodeH265SessionParametersCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
99790  {
99791  return !operator==( rhs );
99792  }
99793 # endif
99794 
99795  public:
99796  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoDecodeH265SessionParametersCreateInfoEXT;
99797  const void * pNext = {};
99798  uint32_t maxStdVPSCount = {};
99799  uint32_t maxStdSPSCount = {};
99800  uint32_t maxStdPPSCount = {};
99801  const VULKAN_HPP_NAMESPACE::VideoDecodeH265SessionParametersAddInfoEXT * pParametersAddInfo = {};
99802  };
99803 
99804  template <>
99805  struct CppType<StructureType, StructureType::eVideoDecodeH265SessionParametersCreateInfoEXT>
99806  {
99807  using Type = VideoDecodeH265SessionParametersCreateInfoEXT;
99808  };
99809 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
99810 
99811 #if defined( VK_ENABLE_BETA_EXTENSIONS )
99812  struct VideoDecodeInfoKHR
99813  {
99814  using NativeType = VkVideoDecodeInfoKHR;
99815 
99816  static const bool allowDuplicate = false;
99817  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoDecodeInfoKHR;
99818 
99819 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
99820  VULKAN_HPP_CONSTEXPR VideoDecodeInfoKHR( VULKAN_HPP_NAMESPACE::VideoDecodeFlagsKHR flags_ = {},
99821  VULKAN_HPP_NAMESPACE::Buffer srcBuffer_ = {},
99822  VULKAN_HPP_NAMESPACE::DeviceSize srcBufferOffset_ = {},
99823  VULKAN_HPP_NAMESPACE::DeviceSize srcBufferRange_ = {},
99824  VULKAN_HPP_NAMESPACE::VideoPictureResourceInfoKHR dstPictureResource_ = {},
99825  const VULKAN_HPP_NAMESPACE::VideoReferenceSlotInfoKHR * pSetupReferenceSlot_ = {},
99826  uint32_t referenceSlotCount_ = {},
99827  const VULKAN_HPP_NAMESPACE::VideoReferenceSlotInfoKHR * pReferenceSlots_ = {},
99828  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
99829  : pNext( pNext_ )
99830  , flags( flags_ )
99831  , srcBuffer( srcBuffer_ )
99832  , srcBufferOffset( srcBufferOffset_ )
99833  , srcBufferRange( srcBufferRange_ )
99834  , dstPictureResource( dstPictureResource_ )
99835  , pSetupReferenceSlot( pSetupReferenceSlot_ )
99836  , referenceSlotCount( referenceSlotCount_ )
99837  , pReferenceSlots( pReferenceSlots_ )
99838  {
99839  }
99840 
99841  VULKAN_HPP_CONSTEXPR VideoDecodeInfoKHR( VideoDecodeInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
99842 
99843  VideoDecodeInfoKHR( VkVideoDecodeInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : VideoDecodeInfoKHR( *reinterpret_cast<VideoDecodeInfoKHR const *>( &rhs ) ) {}
99844 
99845 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
99846  VideoDecodeInfoKHR( VULKAN_HPP_NAMESPACE::VideoDecodeFlagsKHR flags_,
99847  VULKAN_HPP_NAMESPACE::Buffer srcBuffer_,
99848  VULKAN_HPP_NAMESPACE::DeviceSize srcBufferOffset_,
99849  VULKAN_HPP_NAMESPACE::DeviceSize srcBufferRange_,
99850  VULKAN_HPP_NAMESPACE::VideoPictureResourceInfoKHR dstPictureResource_,
99851  const VULKAN_HPP_NAMESPACE::VideoReferenceSlotInfoKHR * pSetupReferenceSlot_,
99853  const void * pNext_ = nullptr )
99854  : pNext( pNext_ )
99855  , flags( flags_ )
99856  , srcBuffer( srcBuffer_ )
99857  , srcBufferOffset( srcBufferOffset_ )
99858  , srcBufferRange( srcBufferRange_ )
99859  , dstPictureResource( dstPictureResource_ )
99860  , pSetupReferenceSlot( pSetupReferenceSlot_ )
99861  , referenceSlotCount( static_cast<uint32_t>( referenceSlots_.size() ) )
99862  , pReferenceSlots( referenceSlots_.data() )
99863  {
99864  }
99865 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
99866 
99867  VideoDecodeInfoKHR & operator=( VideoDecodeInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
99868 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
99869 
99870  VideoDecodeInfoKHR & operator=( VkVideoDecodeInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
99871  {
99872  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoDecodeInfoKHR const *>( &rhs );
99873  return *this;
99874  }
99875 
99876 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
99877  VULKAN_HPP_CONSTEXPR_14 VideoDecodeInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
99878  {
99879  pNext = pNext_;
99880  return *this;
99881  }
99882 
99883  VULKAN_HPP_CONSTEXPR_14 VideoDecodeInfoKHR & setFlags( VULKAN_HPP_NAMESPACE::VideoDecodeFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT
99884  {
99885  flags = flags_;
99886  return *this;
99887  }
99888 
99889  VULKAN_HPP_CONSTEXPR_14 VideoDecodeInfoKHR & setSrcBuffer( VULKAN_HPP_NAMESPACE::Buffer srcBuffer_ ) VULKAN_HPP_NOEXCEPT
99890  {
99891  srcBuffer = srcBuffer_;
99892  return *this;
99893  }
99894 
99895  VULKAN_HPP_CONSTEXPR_14 VideoDecodeInfoKHR & setSrcBufferOffset( VULKAN_HPP_NAMESPACE::DeviceSize srcBufferOffset_ ) VULKAN_HPP_NOEXCEPT
99896  {
99897  srcBufferOffset = srcBufferOffset_;
99898  return *this;
99899  }
99900 
99901  VULKAN_HPP_CONSTEXPR_14 VideoDecodeInfoKHR & setSrcBufferRange( VULKAN_HPP_NAMESPACE::DeviceSize srcBufferRange_ ) VULKAN_HPP_NOEXCEPT
99902  {
99903  srcBufferRange = srcBufferRange_;
99904  return *this;
99905  }
99906 
99907  VULKAN_HPP_CONSTEXPR_14 VideoDecodeInfoKHR &
99908  setDstPictureResource( VULKAN_HPP_NAMESPACE::VideoPictureResourceInfoKHR const & dstPictureResource_ ) VULKAN_HPP_NOEXCEPT
99909  {
99910  dstPictureResource = dstPictureResource_;
99911  return *this;
99912  }
99913 
99914  VULKAN_HPP_CONSTEXPR_14 VideoDecodeInfoKHR &
99915  setPSetupReferenceSlot( const VULKAN_HPP_NAMESPACE::VideoReferenceSlotInfoKHR * pSetupReferenceSlot_ ) VULKAN_HPP_NOEXCEPT
99916  {
99917  pSetupReferenceSlot = pSetupReferenceSlot_;
99918  return *this;
99919  }
99920 
99921  VULKAN_HPP_CONSTEXPR_14 VideoDecodeInfoKHR & setReferenceSlotCount( uint32_t referenceSlotCount_ ) VULKAN_HPP_NOEXCEPT
99922  {
99923  referenceSlotCount = referenceSlotCount_;
99924  return *this;
99925  }
99926 
99927  VULKAN_HPP_CONSTEXPR_14 VideoDecodeInfoKHR &
99928  setPReferenceSlots( const VULKAN_HPP_NAMESPACE::VideoReferenceSlotInfoKHR * pReferenceSlots_ ) VULKAN_HPP_NOEXCEPT
99929  {
99930  pReferenceSlots = pReferenceSlots_;
99931  return *this;
99932  }
99933 
99934 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
99935  VideoDecodeInfoKHR & setReferenceSlots(
99937  {
99938  referenceSlotCount = static_cast<uint32_t>( referenceSlots_.size() );
99939  pReferenceSlots = referenceSlots_.data();
99940  return *this;
99941  }
99942 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
99943 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
99944 
99945  operator VkVideoDecodeInfoKHR const &() const VULKAN_HPP_NOEXCEPT
99946  {
99947  return *reinterpret_cast<const VkVideoDecodeInfoKHR *>( this );
99948  }
99949 
99951  {
99952  return *reinterpret_cast<VkVideoDecodeInfoKHR *>( this );
99953  }
99954 
99955 # if defined( VULKAN_HPP_USE_REFLECT )
99956 # if 14 <= VULKAN_HPP_CPP_VERSION
99957  auto
99958 # else
99959  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
99960  const void * const &,
99961  VULKAN_HPP_NAMESPACE::VideoDecodeFlagsKHR const &,
99965  VULKAN_HPP_NAMESPACE::VideoPictureResourceInfoKHR const &,
99966  const VULKAN_HPP_NAMESPACE::VideoReferenceSlotInfoKHR * const &,
99967  uint32_t const &,
99968  const VULKAN_HPP_NAMESPACE::VideoReferenceSlotInfoKHR * const &>
99969 # endif
99970  reflect() const VULKAN_HPP_NOEXCEPT
99971  {
99972  return std::tie(
99973  sType, pNext, flags, srcBuffer, srcBufferOffset, srcBufferRange, dstPictureResource, pSetupReferenceSlot, referenceSlotCount, pReferenceSlots );
99974  }
99975 # endif
99976 
99977 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
99978  auto operator<=>( VideoDecodeInfoKHR const & ) const = default;
99979 # else
99980  bool operator==( VideoDecodeInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
99981  {
99982 # if defined( VULKAN_HPP_USE_REFLECT )
99983  return this->reflect() == rhs.reflect();
99984 # else
99985  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( srcBuffer == rhs.srcBuffer ) &&
99986  ( srcBufferOffset == rhs.srcBufferOffset ) && ( srcBufferRange == rhs.srcBufferRange ) && ( dstPictureResource == rhs.dstPictureResource ) &&
99987  ( pSetupReferenceSlot == rhs.pSetupReferenceSlot ) && ( referenceSlotCount == rhs.referenceSlotCount ) &&
99988  ( pReferenceSlots == rhs.pReferenceSlots );
99989 # endif
99990  }
99991 
99992  bool operator!=( VideoDecodeInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
99993  {
99994  return !operator==( rhs );
99995  }
99996 # endif
99997 
99998  public:
99999  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoDecodeInfoKHR;
100000  const void * pNext = {};
100001  VULKAN_HPP_NAMESPACE::VideoDecodeFlagsKHR flags = {};
100002  VULKAN_HPP_NAMESPACE::Buffer srcBuffer = {};
100003  VULKAN_HPP_NAMESPACE::DeviceSize srcBufferOffset = {};
100004  VULKAN_HPP_NAMESPACE::DeviceSize srcBufferRange = {};
100005  VULKAN_HPP_NAMESPACE::VideoPictureResourceInfoKHR dstPictureResource = {};
100006  const VULKAN_HPP_NAMESPACE::VideoReferenceSlotInfoKHR * pSetupReferenceSlot = {};
100007  uint32_t referenceSlotCount = {};
100008  const VULKAN_HPP_NAMESPACE::VideoReferenceSlotInfoKHR * pReferenceSlots = {};
100009  };
100010 
100011  template <>
100012  struct CppType<StructureType, StructureType::eVideoDecodeInfoKHR>
100013  {
100014  using Type = VideoDecodeInfoKHR;
100015  };
100016 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
100017 
100018 #if defined( VK_ENABLE_BETA_EXTENSIONS )
100019  struct VideoDecodeUsageInfoKHR
100020  {
100021  using NativeType = VkVideoDecodeUsageInfoKHR;
100022 
100023  static const bool allowDuplicate = false;
100024  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoDecodeUsageInfoKHR;
100025 
100026 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
100027  VULKAN_HPP_CONSTEXPR VideoDecodeUsageInfoKHR( VULKAN_HPP_NAMESPACE::VideoDecodeUsageFlagsKHR videoUsageHints_ = {},
100028  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
100029  : pNext( pNext_ )
100030  , videoUsageHints( videoUsageHints_ )
100031  {
100032  }
100033 
100034  VULKAN_HPP_CONSTEXPR VideoDecodeUsageInfoKHR( VideoDecodeUsageInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
100035 
100036  VideoDecodeUsageInfoKHR( VkVideoDecodeUsageInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
100037  : VideoDecodeUsageInfoKHR( *reinterpret_cast<VideoDecodeUsageInfoKHR const *>( &rhs ) )
100038  {
100039  }
100040 
100041  VideoDecodeUsageInfoKHR & operator=( VideoDecodeUsageInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
100042 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
100043 
100044  VideoDecodeUsageInfoKHR & operator=( VkVideoDecodeUsageInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
100045  {
100046  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoDecodeUsageInfoKHR const *>( &rhs );
100047  return *this;
100048  }
100049 
100050 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
100051  VULKAN_HPP_CONSTEXPR_14 VideoDecodeUsageInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
100052  {
100053  pNext = pNext_;
100054  return *this;
100055  }
100056 
100057  VULKAN_HPP_CONSTEXPR_14 VideoDecodeUsageInfoKHR & setVideoUsageHints( VULKAN_HPP_NAMESPACE::VideoDecodeUsageFlagsKHR videoUsageHints_ ) VULKAN_HPP_NOEXCEPT
100058  {
100059  videoUsageHints = videoUsageHints_;
100060  return *this;
100061  }
100062 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
100063 
100064  operator VkVideoDecodeUsageInfoKHR const &() const VULKAN_HPP_NOEXCEPT
100065  {
100066  return *reinterpret_cast<const VkVideoDecodeUsageInfoKHR *>( this );
100067  }
100068 
100070  {
100071  return *reinterpret_cast<VkVideoDecodeUsageInfoKHR *>( this );
100072  }
100073 
100074 # if defined( VULKAN_HPP_USE_REFLECT )
100075 # if 14 <= VULKAN_HPP_CPP_VERSION
100076  auto
100077 # else
100078  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::VideoDecodeUsageFlagsKHR const &>
100079 # endif
100080  reflect() const VULKAN_HPP_NOEXCEPT
100081  {
100082  return std::tie( sType, pNext, videoUsageHints );
100083  }
100084 # endif
100085 
100086 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
100087  auto operator<=>( VideoDecodeUsageInfoKHR const & ) const = default;
100088 # else
100089  bool operator==( VideoDecodeUsageInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
100090  {
100091 # if defined( VULKAN_HPP_USE_REFLECT )
100092  return this->reflect() == rhs.reflect();
100093 # else
100094  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( videoUsageHints == rhs.videoUsageHints );
100095 # endif
100096  }
100097 
100098  bool operator!=( VideoDecodeUsageInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
100099  {
100100  return !operator==( rhs );
100101  }
100102 # endif
100103 
100104  public:
100105  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoDecodeUsageInfoKHR;
100106  const void * pNext = {};
100107  VULKAN_HPP_NAMESPACE::VideoDecodeUsageFlagsKHR videoUsageHints = {};
100108  };
100109 
100110  template <>
100111  struct CppType<StructureType, StructureType::eVideoDecodeUsageInfoKHR>
100112  {
100113  using Type = VideoDecodeUsageInfoKHR;
100114  };
100115 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
100116 
100117 #if defined( VK_ENABLE_BETA_EXTENSIONS )
100118  struct VideoEncodeCapabilitiesKHR
100119  {
100120  using NativeType = VkVideoEncodeCapabilitiesKHR;
100121 
100122  static const bool allowDuplicate = false;
100123  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoEncodeCapabilitiesKHR;
100124 
100125 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
100126  VULKAN_HPP_CONSTEXPR VideoEncodeCapabilitiesKHR( VULKAN_HPP_NAMESPACE::VideoEncodeCapabilityFlagsKHR flags_ = {},
100127  VULKAN_HPP_NAMESPACE::VideoEncodeRateControlModeFlagsKHR rateControlModes_ = {},
100128  uint8_t rateControlLayerCount_ = {},
100129  uint8_t qualityLevelCount_ = {},
100130  VULKAN_HPP_NAMESPACE::Extent2D inputImageDataFillAlignment_ = {},
100131  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
100132  : pNext( pNext_ )
100133  , flags( flags_ )
100134  , rateControlModes( rateControlModes_ )
100135  , rateControlLayerCount( rateControlLayerCount_ )
100136  , qualityLevelCount( qualityLevelCount_ )
100137  , inputImageDataFillAlignment( inputImageDataFillAlignment_ )
100138  {
100139  }
100140 
100141  VULKAN_HPP_CONSTEXPR VideoEncodeCapabilitiesKHR( VideoEncodeCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
100142 
100143  VideoEncodeCapabilitiesKHR( VkVideoEncodeCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
100144  : VideoEncodeCapabilitiesKHR( *reinterpret_cast<VideoEncodeCapabilitiesKHR const *>( &rhs ) )
100145  {
100146  }
100147 
100148  VideoEncodeCapabilitiesKHR & operator=( VideoEncodeCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
100149 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
100150 
100151  VideoEncodeCapabilitiesKHR & operator=( VkVideoEncodeCapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
100152  {
100153  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoEncodeCapabilitiesKHR const *>( &rhs );
100154  return *this;
100155  }
100156 
100157  operator VkVideoEncodeCapabilitiesKHR const &() const VULKAN_HPP_NOEXCEPT
100158  {
100159  return *reinterpret_cast<const VkVideoEncodeCapabilitiesKHR *>( this );
100160  }
100161 
100163  {
100164  return *reinterpret_cast<VkVideoEncodeCapabilitiesKHR *>( this );
100165  }
100166 
100167 # if defined( VULKAN_HPP_USE_REFLECT )
100168 # if 14 <= VULKAN_HPP_CPP_VERSION
100169  auto
100170 # else
100171  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
100172  void * const &,
100173  VULKAN_HPP_NAMESPACE::VideoEncodeCapabilityFlagsKHR const &,
100174  VULKAN_HPP_NAMESPACE::VideoEncodeRateControlModeFlagsKHR const &,
100175  uint8_t const &,
100176  uint8_t const &,
100178 # endif
100179  reflect() const VULKAN_HPP_NOEXCEPT
100180  {
100181  return std::tie( sType, pNext, flags, rateControlModes, rateControlLayerCount, qualityLevelCount, inputImageDataFillAlignment );
100182  }
100183 # endif
100184 
100185 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
100186  auto operator<=>( VideoEncodeCapabilitiesKHR const & ) const = default;
100187 # else
100188  bool operator==( VideoEncodeCapabilitiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
100189  {
100190 # if defined( VULKAN_HPP_USE_REFLECT )
100191  return this->reflect() == rhs.reflect();
100192 # else
100193  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( rateControlModes == rhs.rateControlModes ) &&
100194  ( rateControlLayerCount == rhs.rateControlLayerCount ) && ( qualityLevelCount == rhs.qualityLevelCount ) &&
100195  ( inputImageDataFillAlignment == rhs.inputImageDataFillAlignment );
100196 # endif
100197  }
100198 
100199  bool operator!=( VideoEncodeCapabilitiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
100200  {
100201  return !operator==( rhs );
100202  }
100203 # endif
100204 
100205  public:
100206  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoEncodeCapabilitiesKHR;
100207  void * pNext = {};
100208  VULKAN_HPP_NAMESPACE::VideoEncodeCapabilityFlagsKHR flags = {};
100209  VULKAN_HPP_NAMESPACE::VideoEncodeRateControlModeFlagsKHR rateControlModes = {};
100210  uint8_t rateControlLayerCount = {};
100211  uint8_t qualityLevelCount = {};
100212  VULKAN_HPP_NAMESPACE::Extent2D inputImageDataFillAlignment = {};
100213  };
100214 
100215  template <>
100216  struct CppType<StructureType, StructureType::eVideoEncodeCapabilitiesKHR>
100217  {
100218  using Type = VideoEncodeCapabilitiesKHR;
100219  };
100220 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
100221 
100222 #if defined( VK_ENABLE_BETA_EXTENSIONS )
100223  struct VideoEncodeH264CapabilitiesEXT
100224  {
100225  using NativeType = VkVideoEncodeH264CapabilitiesEXT;
100226 
100227  static const bool allowDuplicate = false;
100228  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoEncodeH264CapabilitiesEXT;
100229 
100230 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
100231  VULKAN_HPP_CONSTEXPR VideoEncodeH264CapabilitiesEXT( VULKAN_HPP_NAMESPACE::VideoEncodeH264CapabilityFlagsEXT flags_ = {},
100232  VULKAN_HPP_NAMESPACE::VideoEncodeH264InputModeFlagsEXT inputModeFlags_ = {},
100233  VULKAN_HPP_NAMESPACE::VideoEncodeH264OutputModeFlagsEXT outputModeFlags_ = {},
100234  uint8_t maxPPictureL0ReferenceCount_ = {},
100235  uint8_t maxBPictureL0ReferenceCount_ = {},
100236  uint8_t maxL1ReferenceCount_ = {},
100237  VULKAN_HPP_NAMESPACE::Bool32 motionVectorsOverPicBoundariesFlag_ = {},
100238  uint32_t maxBytesPerPicDenom_ = {},
100239  uint32_t maxBitsPerMbDenom_ = {},
100240  uint32_t log2MaxMvLengthHorizontal_ = {},
100241  uint32_t log2MaxMvLengthVertical_ = {},
100242  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
100243  : pNext( pNext_ )
100244  , flags( flags_ )
100245  , inputModeFlags( inputModeFlags_ )
100246  , outputModeFlags( outputModeFlags_ )
100247  , maxPPictureL0ReferenceCount( maxPPictureL0ReferenceCount_ )
100248  , maxBPictureL0ReferenceCount( maxBPictureL0ReferenceCount_ )
100249  , maxL1ReferenceCount( maxL1ReferenceCount_ )
100250  , motionVectorsOverPicBoundariesFlag( motionVectorsOverPicBoundariesFlag_ )
100251  , maxBytesPerPicDenom( maxBytesPerPicDenom_ )
100252  , maxBitsPerMbDenom( maxBitsPerMbDenom_ )
100253  , log2MaxMvLengthHorizontal( log2MaxMvLengthHorizontal_ )
100254  , log2MaxMvLengthVertical( log2MaxMvLengthVertical_ )
100255  {
100256  }
100257 
100258  VULKAN_HPP_CONSTEXPR VideoEncodeH264CapabilitiesEXT( VideoEncodeH264CapabilitiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
100259 
100260  VideoEncodeH264CapabilitiesEXT( VkVideoEncodeH264CapabilitiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
100261  : VideoEncodeH264CapabilitiesEXT( *reinterpret_cast<VideoEncodeH264CapabilitiesEXT const *>( &rhs ) )
100262  {
100263  }
100264 
100265  VideoEncodeH264CapabilitiesEXT & operator=( VideoEncodeH264CapabilitiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
100266 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
100267 
100268  VideoEncodeH264CapabilitiesEXT & operator=( VkVideoEncodeH264CapabilitiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
100269  {
100270  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoEncodeH264CapabilitiesEXT const *>( &rhs );
100271  return *this;
100272  }
100273 
100274  operator VkVideoEncodeH264CapabilitiesEXT const &() const VULKAN_HPP_NOEXCEPT
100275  {
100276  return *reinterpret_cast<const VkVideoEncodeH264CapabilitiesEXT *>( this );
100277  }
100278 
100280  {
100281  return *reinterpret_cast<VkVideoEncodeH264CapabilitiesEXT *>( this );
100282  }
100283 
100284 # if defined( VULKAN_HPP_USE_REFLECT )
100285 # if 14 <= VULKAN_HPP_CPP_VERSION
100286  auto
100287 # else
100288  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
100289  void * const &,
100290  VULKAN_HPP_NAMESPACE::VideoEncodeH264CapabilityFlagsEXT const &,
100291  VULKAN_HPP_NAMESPACE::VideoEncodeH264InputModeFlagsEXT const &,
100292  VULKAN_HPP_NAMESPACE::VideoEncodeH264OutputModeFlagsEXT const &,
100293  uint8_t const &,
100294  uint8_t const &,
100295  uint8_t const &,
100297  uint32_t const &,
100298  uint32_t const &,
100299  uint32_t const &,
100300  uint32_t const &>
100301 # endif
100302  reflect() const VULKAN_HPP_NOEXCEPT
100303  {
100304  return std::tie( sType,
100305  pNext,
100306  flags,
100307  inputModeFlags,
100308  outputModeFlags,
100309  maxPPictureL0ReferenceCount,
100310  maxBPictureL0ReferenceCount,
100311  maxL1ReferenceCount,
100312  motionVectorsOverPicBoundariesFlag,
100313  maxBytesPerPicDenom,
100314  maxBitsPerMbDenom,
100315  log2MaxMvLengthHorizontal,
100316  log2MaxMvLengthVertical );
100317  }
100318 # endif
100319 
100320 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
100321  auto operator<=>( VideoEncodeH264CapabilitiesEXT const & ) const = default;
100322 # else
100323  bool operator==( VideoEncodeH264CapabilitiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
100324  {
100325 # if defined( VULKAN_HPP_USE_REFLECT )
100326  return this->reflect() == rhs.reflect();
100327 # else
100328  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( inputModeFlags == rhs.inputModeFlags ) &&
100329  ( outputModeFlags == rhs.outputModeFlags ) && ( maxPPictureL0ReferenceCount == rhs.maxPPictureL0ReferenceCount ) &&
100330  ( maxBPictureL0ReferenceCount == rhs.maxBPictureL0ReferenceCount ) && ( maxL1ReferenceCount == rhs.maxL1ReferenceCount ) &&
100331  ( motionVectorsOverPicBoundariesFlag == rhs.motionVectorsOverPicBoundariesFlag ) && ( maxBytesPerPicDenom == rhs.maxBytesPerPicDenom ) &&
100332  ( maxBitsPerMbDenom == rhs.maxBitsPerMbDenom ) && ( log2MaxMvLengthHorizontal == rhs.log2MaxMvLengthHorizontal ) &&
100333  ( log2MaxMvLengthVertical == rhs.log2MaxMvLengthVertical );
100334 # endif
100335  }
100336 
100337  bool operator!=( VideoEncodeH264CapabilitiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
100338  {
100339  return !operator==( rhs );
100340  }
100341 # endif
100342 
100343  public:
100344  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoEncodeH264CapabilitiesEXT;
100345  void * pNext = {};
100346  VULKAN_HPP_NAMESPACE::VideoEncodeH264CapabilityFlagsEXT flags = {};
100347  VULKAN_HPP_NAMESPACE::VideoEncodeH264InputModeFlagsEXT inputModeFlags = {};
100348  VULKAN_HPP_NAMESPACE::VideoEncodeH264OutputModeFlagsEXT outputModeFlags = {};
100349  uint8_t maxPPictureL0ReferenceCount = {};
100350  uint8_t maxBPictureL0ReferenceCount = {};
100351  uint8_t maxL1ReferenceCount = {};
100352  VULKAN_HPP_NAMESPACE::Bool32 motionVectorsOverPicBoundariesFlag = {};
100353  uint32_t maxBytesPerPicDenom = {};
100354  uint32_t maxBitsPerMbDenom = {};
100355  uint32_t log2MaxMvLengthHorizontal = {};
100356  uint32_t log2MaxMvLengthVertical = {};
100357  };
100358 
100359  template <>
100360  struct CppType<StructureType, StructureType::eVideoEncodeH264CapabilitiesEXT>
100361  {
100362  using Type = VideoEncodeH264CapabilitiesEXT;
100363  };
100364 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
100365 
100366 #if defined( VK_ENABLE_BETA_EXTENSIONS )
100367  struct VideoEncodeH264DpbSlotInfoEXT
100368  {
100369  using NativeType = VkVideoEncodeH264DpbSlotInfoEXT;
100370 
100371  static const bool allowDuplicate = false;
100372  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoEncodeH264DpbSlotInfoEXT;
100373 
100374 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
100375  VULKAN_HPP_CONSTEXPR VideoEncodeH264DpbSlotInfoEXT( int8_t slotIndex_ = {},
100376  const StdVideoEncodeH264ReferenceInfo * pStdReferenceInfo_ = {},
100377  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
100378  : pNext( pNext_ )
100379  , slotIndex( slotIndex_ )
100380  , pStdReferenceInfo( pStdReferenceInfo_ )
100381  {
100382  }
100383 
100384  VULKAN_HPP_CONSTEXPR VideoEncodeH264DpbSlotInfoEXT( VideoEncodeH264DpbSlotInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
100385 
100386  VideoEncodeH264DpbSlotInfoEXT( VkVideoEncodeH264DpbSlotInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
100387  : VideoEncodeH264DpbSlotInfoEXT( *reinterpret_cast<VideoEncodeH264DpbSlotInfoEXT const *>( &rhs ) )
100388  {
100389  }
100390 
100391  VideoEncodeH264DpbSlotInfoEXT & operator=( VideoEncodeH264DpbSlotInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
100392 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
100393 
100394  VideoEncodeH264DpbSlotInfoEXT & operator=( VkVideoEncodeH264DpbSlotInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
100395  {
100396  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoEncodeH264DpbSlotInfoEXT const *>( &rhs );
100397  return *this;
100398  }
100399 
100400 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
100401  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264DpbSlotInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
100402  {
100403  pNext = pNext_;
100404  return *this;
100405  }
100406 
100407  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264DpbSlotInfoEXT & setSlotIndex( int8_t slotIndex_ ) VULKAN_HPP_NOEXCEPT
100408  {
100409  slotIndex = slotIndex_;
100410  return *this;
100411  }
100412 
100413  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264DpbSlotInfoEXT &
100414  setPStdReferenceInfo( const StdVideoEncodeH264ReferenceInfo * pStdReferenceInfo_ ) VULKAN_HPP_NOEXCEPT
100415  {
100416  pStdReferenceInfo = pStdReferenceInfo_;
100417  return *this;
100418  }
100419 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
100420 
100421  operator VkVideoEncodeH264DpbSlotInfoEXT const &() const VULKAN_HPP_NOEXCEPT
100422  {
100423  return *reinterpret_cast<const VkVideoEncodeH264DpbSlotInfoEXT *>( this );
100424  }
100425 
100427  {
100428  return *reinterpret_cast<VkVideoEncodeH264DpbSlotInfoEXT *>( this );
100429  }
100430 
100431 # if defined( VULKAN_HPP_USE_REFLECT )
100432 # if 14 <= VULKAN_HPP_CPP_VERSION
100433  auto
100434 # else
100435  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, int8_t const &, const StdVideoEncodeH264ReferenceInfo * const &>
100436 # endif
100437  reflect() const VULKAN_HPP_NOEXCEPT
100438  {
100439  return std::tie( sType, pNext, slotIndex, pStdReferenceInfo );
100440  }
100441 # endif
100442 
100443 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
100444  auto operator<=>( VideoEncodeH264DpbSlotInfoEXT const & ) const = default;
100445 # else
100446  bool operator==( VideoEncodeH264DpbSlotInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
100447  {
100448 # if defined( VULKAN_HPP_USE_REFLECT )
100449  return this->reflect() == rhs.reflect();
100450 # else
100451  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( slotIndex == rhs.slotIndex ) && ( pStdReferenceInfo == rhs.pStdReferenceInfo );
100452 # endif
100453  }
100454 
100455  bool operator!=( VideoEncodeH264DpbSlotInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
100456  {
100457  return !operator==( rhs );
100458  }
100459 # endif
100460 
100461  public:
100462  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoEncodeH264DpbSlotInfoEXT;
100463  const void * pNext = {};
100464  int8_t slotIndex = {};
100465  const StdVideoEncodeH264ReferenceInfo * pStdReferenceInfo = {};
100466  };
100467 
100468  template <>
100469  struct CppType<StructureType, StructureType::eVideoEncodeH264DpbSlotInfoEXT>
100470  {
100471  using Type = VideoEncodeH264DpbSlotInfoEXT;
100472  };
100473 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
100474 
100475 #if defined( VK_ENABLE_BETA_EXTENSIONS )
100476  struct VideoEncodeH264EmitPictureParametersInfoEXT
100477  {
100479 
100480  static const bool allowDuplicate = false;
100481  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoEncodeH264EmitPictureParametersInfoEXT;
100482 
100483 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
100484  VULKAN_HPP_CONSTEXPR VideoEncodeH264EmitPictureParametersInfoEXT( uint8_t spsId_ = {},
100485  VULKAN_HPP_NAMESPACE::Bool32 emitSpsEnable_ = {},
100486  uint32_t ppsIdEntryCount_ = {},
100487  const uint8_t * ppsIdEntries_ = {},
100488  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
100489  : pNext( pNext_ )
100490  , spsId( spsId_ )
100491  , emitSpsEnable( emitSpsEnable_ )
100492  , ppsIdEntryCount( ppsIdEntryCount_ )
100493  , ppsIdEntries( ppsIdEntries_ )
100494  {
100495  }
100496 
100497  VULKAN_HPP_CONSTEXPR VideoEncodeH264EmitPictureParametersInfoEXT( VideoEncodeH264EmitPictureParametersInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
100498 
100499  VideoEncodeH264EmitPictureParametersInfoEXT( VkVideoEncodeH264EmitPictureParametersInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
100500  : VideoEncodeH264EmitPictureParametersInfoEXT( *reinterpret_cast<VideoEncodeH264EmitPictureParametersInfoEXT const *>( &rhs ) )
100501  {
100502  }
100503 
100504 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
100505  VideoEncodeH264EmitPictureParametersInfoEXT( uint8_t spsId_,
100506  VULKAN_HPP_NAMESPACE::Bool32 emitSpsEnable_,
100508  const void * pNext_ = nullptr )
100509  : pNext( pNext_ )
100510  , spsId( spsId_ )
100511  , emitSpsEnable( emitSpsEnable_ )
100512  , ppsIdEntryCount( static_cast<uint32_t>( psIdEntries_.size() ) )
100513  , ppsIdEntries( psIdEntries_.data() )
100514  {
100515  }
100516 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
100517 
100518  VideoEncodeH264EmitPictureParametersInfoEXT & operator=( VideoEncodeH264EmitPictureParametersInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
100519 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
100520 
100521  VideoEncodeH264EmitPictureParametersInfoEXT & operator=( VkVideoEncodeH264EmitPictureParametersInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
100522  {
100523  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoEncodeH264EmitPictureParametersInfoEXT const *>( &rhs );
100524  return *this;
100525  }
100526 
100527 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
100528  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264EmitPictureParametersInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
100529  {
100530  pNext = pNext_;
100531  return *this;
100532  }
100533 
100534  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264EmitPictureParametersInfoEXT & setSpsId( uint8_t spsId_ ) VULKAN_HPP_NOEXCEPT
100535  {
100536  spsId = spsId_;
100537  return *this;
100538  }
100539 
100540  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264EmitPictureParametersInfoEXT & setEmitSpsEnable( VULKAN_HPP_NAMESPACE::Bool32 emitSpsEnable_ ) VULKAN_HPP_NOEXCEPT
100541  {
100542  emitSpsEnable = emitSpsEnable_;
100543  return *this;
100544  }
100545 
100546  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264EmitPictureParametersInfoEXT & setPpsIdEntryCount( uint32_t ppsIdEntryCount_ ) VULKAN_HPP_NOEXCEPT
100547  {
100548  ppsIdEntryCount = ppsIdEntryCount_;
100549  return *this;
100550  }
100551 
100552  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264EmitPictureParametersInfoEXT & setPpsIdEntries( const uint8_t * ppsIdEntries_ ) VULKAN_HPP_NOEXCEPT
100553  {
100554  ppsIdEntries = ppsIdEntries_;
100555  return *this;
100556  }
100557 
100558 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
100559  VideoEncodeH264EmitPictureParametersInfoEXT &
100561  {
100562  ppsIdEntryCount = static_cast<uint32_t>( psIdEntries_.size() );
100563  ppsIdEntries = psIdEntries_.data();
100564  return *this;
100565  }
100566 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
100567 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
100568 
100570  {
100571  return *reinterpret_cast<const VkVideoEncodeH264EmitPictureParametersInfoEXT *>( this );
100572  }
100573 
100575  {
100576  return *reinterpret_cast<VkVideoEncodeH264EmitPictureParametersInfoEXT *>( this );
100577  }
100578 
100579 # if defined( VULKAN_HPP_USE_REFLECT )
100580 # if 14 <= VULKAN_HPP_CPP_VERSION
100581  auto
100582 # else
100583  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
100584  const void * const &,
100585  uint8_t const &,
100587  uint32_t const &,
100588  const uint8_t * const &>
100589 # endif
100590  reflect() const VULKAN_HPP_NOEXCEPT
100591  {
100592  return std::tie( sType, pNext, spsId, emitSpsEnable, ppsIdEntryCount, ppsIdEntries );
100593  }
100594 # endif
100595 
100596 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
100597  auto operator<=>( VideoEncodeH264EmitPictureParametersInfoEXT const & ) const = default;
100598 # else
100599  bool operator==( VideoEncodeH264EmitPictureParametersInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
100600  {
100601 # if defined( VULKAN_HPP_USE_REFLECT )
100602  return this->reflect() == rhs.reflect();
100603 # else
100604  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( spsId == rhs.spsId ) && ( emitSpsEnable == rhs.emitSpsEnable ) &&
100605  ( ppsIdEntryCount == rhs.ppsIdEntryCount ) && ( ppsIdEntries == rhs.ppsIdEntries );
100606 # endif
100607  }
100608 
100609  bool operator!=( VideoEncodeH264EmitPictureParametersInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
100610  {
100611  return !operator==( rhs );
100612  }
100613 # endif
100614 
100615  public:
100616  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoEncodeH264EmitPictureParametersInfoEXT;
100617  const void * pNext = {};
100618  uint8_t spsId = {};
100619  VULKAN_HPP_NAMESPACE::Bool32 emitSpsEnable = {};
100620  uint32_t ppsIdEntryCount = {};
100621  const uint8_t * ppsIdEntries = {};
100622  };
100623 
100624  template <>
100625  struct CppType<StructureType, StructureType::eVideoEncodeH264EmitPictureParametersInfoEXT>
100626  {
100627  using Type = VideoEncodeH264EmitPictureParametersInfoEXT;
100628  };
100629 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
100630 
100631 #if defined( VK_ENABLE_BETA_EXTENSIONS )
100632  struct VideoEncodeH264FrameSizeEXT
100633  {
100634  using NativeType = VkVideoEncodeH264FrameSizeEXT;
100635 
100636 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
100637  VULKAN_HPP_CONSTEXPR VideoEncodeH264FrameSizeEXT( uint32_t frameISize_ = {}, uint32_t framePSize_ = {}, uint32_t frameBSize_ = {} ) VULKAN_HPP_NOEXCEPT
100638  : frameISize( frameISize_ )
100639  , framePSize( framePSize_ )
100640  , frameBSize( frameBSize_ )
100641  {
100642  }
100643 
100644  VULKAN_HPP_CONSTEXPR VideoEncodeH264FrameSizeEXT( VideoEncodeH264FrameSizeEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
100645 
100646  VideoEncodeH264FrameSizeEXT( VkVideoEncodeH264FrameSizeEXT const & rhs ) VULKAN_HPP_NOEXCEPT
100647  : VideoEncodeH264FrameSizeEXT( *reinterpret_cast<VideoEncodeH264FrameSizeEXT const *>( &rhs ) )
100648  {
100649  }
100650 
100651  VideoEncodeH264FrameSizeEXT & operator=( VideoEncodeH264FrameSizeEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
100652 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
100653 
100654  VideoEncodeH264FrameSizeEXT & operator=( VkVideoEncodeH264FrameSizeEXT const & rhs ) VULKAN_HPP_NOEXCEPT
100655  {
100656  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoEncodeH264FrameSizeEXT const *>( &rhs );
100657  return *this;
100658  }
100659 
100660 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
100661  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264FrameSizeEXT & setFrameISize( uint32_t frameISize_ ) VULKAN_HPP_NOEXCEPT
100662  {
100663  frameISize = frameISize_;
100664  return *this;
100665  }
100666 
100667  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264FrameSizeEXT & setFramePSize( uint32_t framePSize_ ) VULKAN_HPP_NOEXCEPT
100668  {
100669  framePSize = framePSize_;
100670  return *this;
100671  }
100672 
100673  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264FrameSizeEXT & setFrameBSize( uint32_t frameBSize_ ) VULKAN_HPP_NOEXCEPT
100674  {
100675  frameBSize = frameBSize_;
100676  return *this;
100677  }
100678 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
100679 
100680  operator VkVideoEncodeH264FrameSizeEXT const &() const VULKAN_HPP_NOEXCEPT
100681  {
100682  return *reinterpret_cast<const VkVideoEncodeH264FrameSizeEXT *>( this );
100683  }
100684 
100686  {
100687  return *reinterpret_cast<VkVideoEncodeH264FrameSizeEXT *>( this );
100688  }
100689 
100690 # if defined( VULKAN_HPP_USE_REFLECT )
100691 # if 14 <= VULKAN_HPP_CPP_VERSION
100692  auto
100693 # else
100694  std::tuple<uint32_t const &, uint32_t const &, uint32_t const &>
100695 # endif
100696  reflect() const VULKAN_HPP_NOEXCEPT
100697  {
100698  return std::tie( frameISize, framePSize, frameBSize );
100699  }
100700 # endif
100701 
100702 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
100703  auto operator<=>( VideoEncodeH264FrameSizeEXT const & ) const = default;
100704 # else
100705  bool operator==( VideoEncodeH264FrameSizeEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
100706  {
100707 # if defined( VULKAN_HPP_USE_REFLECT )
100708  return this->reflect() == rhs.reflect();
100709 # else
100710  return ( frameISize == rhs.frameISize ) && ( framePSize == rhs.framePSize ) && ( frameBSize == rhs.frameBSize );
100711 # endif
100712  }
100713 
100714  bool operator!=( VideoEncodeH264FrameSizeEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
100715  {
100716  return !operator==( rhs );
100717  }
100718 # endif
100719 
100720  public:
100721  uint32_t frameISize = {};
100722  uint32_t framePSize = {};
100723  uint32_t frameBSize = {};
100724  };
100725 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
100726 
100727 #if defined( VK_ENABLE_BETA_EXTENSIONS )
100728  struct VideoEncodeH264ReferenceListsInfoEXT
100729  {
100730  using NativeType = VkVideoEncodeH264ReferenceListsInfoEXT;
100731 
100732  static const bool allowDuplicate = false;
100733  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoEncodeH264ReferenceListsInfoEXT;
100734 
100735 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
100736  VULKAN_HPP_CONSTEXPR VideoEncodeH264ReferenceListsInfoEXT( uint8_t referenceList0EntryCount_ = {},
100737  const VULKAN_HPP_NAMESPACE::VideoEncodeH264DpbSlotInfoEXT * pReferenceList0Entries_ = {},
100738  uint8_t referenceList1EntryCount_ = {},
100739  const VULKAN_HPP_NAMESPACE::VideoEncodeH264DpbSlotInfoEXT * pReferenceList1Entries_ = {},
100740  const StdVideoEncodeH264RefMemMgmtCtrlOperations * pMemMgmtCtrlOperations_ = {},
100741  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
100742  : pNext( pNext_ )
100743  , referenceList0EntryCount( referenceList0EntryCount_ )
100744  , pReferenceList0Entries( pReferenceList0Entries_ )
100745  , referenceList1EntryCount( referenceList1EntryCount_ )
100746  , pReferenceList1Entries( pReferenceList1Entries_ )
100747  , pMemMgmtCtrlOperations( pMemMgmtCtrlOperations_ )
100748  {
100749  }
100750 
100751  VULKAN_HPP_CONSTEXPR VideoEncodeH264ReferenceListsInfoEXT( VideoEncodeH264ReferenceListsInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
100752 
100753  VideoEncodeH264ReferenceListsInfoEXT( VkVideoEncodeH264ReferenceListsInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
100754  : VideoEncodeH264ReferenceListsInfoEXT( *reinterpret_cast<VideoEncodeH264ReferenceListsInfoEXT const *>( &rhs ) )
100755  {
100756  }
100757 
100758 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
100759  VideoEncodeH264ReferenceListsInfoEXT(
100762  const StdVideoEncodeH264RefMemMgmtCtrlOperations * pMemMgmtCtrlOperations_ = {},
100763  const void * pNext_ = nullptr )
100764  : pNext( pNext_ )
100765  , referenceList0EntryCount( static_cast<uint8_t>( referenceList0Entries_.size() ) )
100766  , pReferenceList0Entries( referenceList0Entries_.data() )
100767  , referenceList1EntryCount( static_cast<uint8_t>( referenceList1Entries_.size() ) )
100768  , pReferenceList1Entries( referenceList1Entries_.data() )
100769  , pMemMgmtCtrlOperations( pMemMgmtCtrlOperations_ )
100770  {
100771  }
100772 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
100773 
100774  VideoEncodeH264ReferenceListsInfoEXT & operator=( VideoEncodeH264ReferenceListsInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
100775 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
100776 
100777  VideoEncodeH264ReferenceListsInfoEXT & operator=( VkVideoEncodeH264ReferenceListsInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
100778  {
100779  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoEncodeH264ReferenceListsInfoEXT const *>( &rhs );
100780  return *this;
100781  }
100782 
100783 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
100784  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264ReferenceListsInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
100785  {
100786  pNext = pNext_;
100787  return *this;
100788  }
100789 
100790  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264ReferenceListsInfoEXT & setReferenceList0EntryCount( uint8_t referenceList0EntryCount_ ) VULKAN_HPP_NOEXCEPT
100791  {
100792  referenceList0EntryCount = referenceList0EntryCount_;
100793  return *this;
100794  }
100795 
100796  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264ReferenceListsInfoEXT &
100797  setPReferenceList0Entries( const VULKAN_HPP_NAMESPACE::VideoEncodeH264DpbSlotInfoEXT * pReferenceList0Entries_ ) VULKAN_HPP_NOEXCEPT
100798  {
100799  pReferenceList0Entries = pReferenceList0Entries_;
100800  return *this;
100801  }
100802 
100803 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
100804  VideoEncodeH264ReferenceListsInfoEXT & setReferenceList0Entries(
100807  {
100808  referenceList0EntryCount = static_cast<uint8_t>( referenceList0Entries_.size() );
100809  pReferenceList0Entries = referenceList0Entries_.data();
100810  return *this;
100811  }
100812 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
100813 
100814  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264ReferenceListsInfoEXT & setReferenceList1EntryCount( uint8_t referenceList1EntryCount_ ) VULKAN_HPP_NOEXCEPT
100815  {
100816  referenceList1EntryCount = referenceList1EntryCount_;
100817  return *this;
100818  }
100819 
100820  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264ReferenceListsInfoEXT &
100821  setPReferenceList1Entries( const VULKAN_HPP_NAMESPACE::VideoEncodeH264DpbSlotInfoEXT * pReferenceList1Entries_ ) VULKAN_HPP_NOEXCEPT
100822  {
100823  pReferenceList1Entries = pReferenceList1Entries_;
100824  return *this;
100825  }
100826 
100827 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
100828  VideoEncodeH264ReferenceListsInfoEXT & setReferenceList1Entries(
100831  {
100832  referenceList1EntryCount = static_cast<uint8_t>( referenceList1Entries_.size() );
100833  pReferenceList1Entries = referenceList1Entries_.data();
100834  return *this;
100835  }
100836 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
100837 
100838  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264ReferenceListsInfoEXT &
100839  setPMemMgmtCtrlOperations( const StdVideoEncodeH264RefMemMgmtCtrlOperations * pMemMgmtCtrlOperations_ ) VULKAN_HPP_NOEXCEPT
100840  {
100841  pMemMgmtCtrlOperations = pMemMgmtCtrlOperations_;
100842  return *this;
100843  }
100844 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
100845 
100847  {
100848  return *reinterpret_cast<const VkVideoEncodeH264ReferenceListsInfoEXT *>( this );
100849  }
100850 
100852  {
100853  return *reinterpret_cast<VkVideoEncodeH264ReferenceListsInfoEXT *>( this );
100854  }
100855 
100856 # if defined( VULKAN_HPP_USE_REFLECT )
100857 # if 14 <= VULKAN_HPP_CPP_VERSION
100858  auto
100859 # else
100860  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
100861  const void * const &,
100862  uint8_t const &,
100863  const VULKAN_HPP_NAMESPACE::VideoEncodeH264DpbSlotInfoEXT * const &,
100864  uint8_t const &,
100865  const VULKAN_HPP_NAMESPACE::VideoEncodeH264DpbSlotInfoEXT * const &,
100866  const StdVideoEncodeH264RefMemMgmtCtrlOperations * const &>
100867 # endif
100868  reflect() const VULKAN_HPP_NOEXCEPT
100869  {
100870  return std::tie(
100871  sType, pNext, referenceList0EntryCount, pReferenceList0Entries, referenceList1EntryCount, pReferenceList1Entries, pMemMgmtCtrlOperations );
100872  }
100873 # endif
100874 
100875 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
100876  auto operator<=>( VideoEncodeH264ReferenceListsInfoEXT const & ) const = default;
100877 # else
100878  bool operator==( VideoEncodeH264ReferenceListsInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
100879  {
100880 # if defined( VULKAN_HPP_USE_REFLECT )
100881  return this->reflect() == rhs.reflect();
100882 # else
100883  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( referenceList0EntryCount == rhs.referenceList0EntryCount ) &&
100884  ( pReferenceList0Entries == rhs.pReferenceList0Entries ) && ( referenceList1EntryCount == rhs.referenceList1EntryCount ) &&
100885  ( pReferenceList1Entries == rhs.pReferenceList1Entries ) && ( pMemMgmtCtrlOperations == rhs.pMemMgmtCtrlOperations );
100886 # endif
100887  }
100888 
100889  bool operator!=( VideoEncodeH264ReferenceListsInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
100890  {
100891  return !operator==( rhs );
100892  }
100893 # endif
100894 
100895  public:
100896  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoEncodeH264ReferenceListsInfoEXT;
100897  const void * pNext = {};
100898  uint8_t referenceList0EntryCount = {};
100899  const VULKAN_HPP_NAMESPACE::VideoEncodeH264DpbSlotInfoEXT * pReferenceList0Entries = {};
100900  uint8_t referenceList1EntryCount = {};
100901  const VULKAN_HPP_NAMESPACE::VideoEncodeH264DpbSlotInfoEXT * pReferenceList1Entries = {};
100902  const StdVideoEncodeH264RefMemMgmtCtrlOperations * pMemMgmtCtrlOperations = {};
100903  };
100904 
100905  template <>
100906  struct CppType<StructureType, StructureType::eVideoEncodeH264ReferenceListsInfoEXT>
100907  {
100908  using Type = VideoEncodeH264ReferenceListsInfoEXT;
100909  };
100910 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
100911 
100912 #if defined( VK_ENABLE_BETA_EXTENSIONS )
100913  struct VideoEncodeH264NaluSliceInfoEXT
100914  {
100915  using NativeType = VkVideoEncodeH264NaluSliceInfoEXT;
100916 
100917  static const bool allowDuplicate = false;
100918  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoEncodeH264NaluSliceInfoEXT;
100919 
100920 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
100921  VULKAN_HPP_CONSTEXPR VideoEncodeH264NaluSliceInfoEXT( uint32_t mbCount_ = {},
100922  const VULKAN_HPP_NAMESPACE::VideoEncodeH264ReferenceListsInfoEXT * pReferenceFinalLists_ = {},
100923  const StdVideoEncodeH264SliceHeader * pSliceHeaderStd_ = {},
100924  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
100925  : pNext( pNext_ )
100926  , mbCount( mbCount_ )
100927  , pReferenceFinalLists( pReferenceFinalLists_ )
100928  , pSliceHeaderStd( pSliceHeaderStd_ )
100929  {
100930  }
100931 
100932  VULKAN_HPP_CONSTEXPR VideoEncodeH264NaluSliceInfoEXT( VideoEncodeH264NaluSliceInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
100933 
100934  VideoEncodeH264NaluSliceInfoEXT( VkVideoEncodeH264NaluSliceInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
100935  : VideoEncodeH264NaluSliceInfoEXT( *reinterpret_cast<VideoEncodeH264NaluSliceInfoEXT const *>( &rhs ) )
100936  {
100937  }
100938 
100939  VideoEncodeH264NaluSliceInfoEXT & operator=( VideoEncodeH264NaluSliceInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
100940 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
100941 
100942  VideoEncodeH264NaluSliceInfoEXT & operator=( VkVideoEncodeH264NaluSliceInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
100943  {
100944  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoEncodeH264NaluSliceInfoEXT const *>( &rhs );
100945  return *this;
100946  }
100947 
100948 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
100949  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264NaluSliceInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
100950  {
100951  pNext = pNext_;
100952  return *this;
100953  }
100954 
100955  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264NaluSliceInfoEXT & setMbCount( uint32_t mbCount_ ) VULKAN_HPP_NOEXCEPT
100956  {
100957  mbCount = mbCount_;
100958  return *this;
100959  }
100960 
100961  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264NaluSliceInfoEXT &
100962  setPReferenceFinalLists( const VULKAN_HPP_NAMESPACE::VideoEncodeH264ReferenceListsInfoEXT * pReferenceFinalLists_ ) VULKAN_HPP_NOEXCEPT
100963  {
100964  pReferenceFinalLists = pReferenceFinalLists_;
100965  return *this;
100966  }
100967 
100968  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264NaluSliceInfoEXT & setPSliceHeaderStd( const StdVideoEncodeH264SliceHeader * pSliceHeaderStd_ ) VULKAN_HPP_NOEXCEPT
100969  {
100970  pSliceHeaderStd = pSliceHeaderStd_;
100971  return *this;
100972  }
100973 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
100974 
100975  operator VkVideoEncodeH264NaluSliceInfoEXT const &() const VULKAN_HPP_NOEXCEPT
100976  {
100977  return *reinterpret_cast<const VkVideoEncodeH264NaluSliceInfoEXT *>( this );
100978  }
100979 
100981  {
100982  return *reinterpret_cast<VkVideoEncodeH264NaluSliceInfoEXT *>( this );
100983  }
100984 
100985 # if defined( VULKAN_HPP_USE_REFLECT )
100986 # if 14 <= VULKAN_HPP_CPP_VERSION
100987  auto
100988 # else
100989  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
100990  const void * const &,
100991  uint32_t const &,
100992  const VULKAN_HPP_NAMESPACE::VideoEncodeH264ReferenceListsInfoEXT * const &,
100993  const StdVideoEncodeH264SliceHeader * const &>
100994 # endif
100995  reflect() const VULKAN_HPP_NOEXCEPT
100996  {
100997  return std::tie( sType, pNext, mbCount, pReferenceFinalLists, pSliceHeaderStd );
100998  }
100999 # endif
101000 
101001 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
101002  auto operator<=>( VideoEncodeH264NaluSliceInfoEXT const & ) const = default;
101003 # else
101004  bool operator==( VideoEncodeH264NaluSliceInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
101005  {
101006 # if defined( VULKAN_HPP_USE_REFLECT )
101007  return this->reflect() == rhs.reflect();
101008 # else
101009  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( mbCount == rhs.mbCount ) && ( pReferenceFinalLists == rhs.pReferenceFinalLists ) &&
101010  ( pSliceHeaderStd == rhs.pSliceHeaderStd );
101011 # endif
101012  }
101013 
101014  bool operator!=( VideoEncodeH264NaluSliceInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
101015  {
101016  return !operator==( rhs );
101017  }
101018 # endif
101019 
101020  public:
101021  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoEncodeH264NaluSliceInfoEXT;
101022  const void * pNext = {};
101023  uint32_t mbCount = {};
101024  const VULKAN_HPP_NAMESPACE::VideoEncodeH264ReferenceListsInfoEXT * pReferenceFinalLists = {};
101025  const StdVideoEncodeH264SliceHeader * pSliceHeaderStd = {};
101026  };
101027 
101028  template <>
101029  struct CppType<StructureType, StructureType::eVideoEncodeH264NaluSliceInfoEXT>
101030  {
101031  using Type = VideoEncodeH264NaluSliceInfoEXT;
101032  };
101033 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
101034 
101035 #if defined( VK_ENABLE_BETA_EXTENSIONS )
101036  struct VideoEncodeH264ProfileInfoEXT
101037  {
101038  using NativeType = VkVideoEncodeH264ProfileInfoEXT;
101039 
101040  static const bool allowDuplicate = false;
101041  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoEncodeH264ProfileInfoEXT;
101042 
101043 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
101044  VULKAN_HPP_CONSTEXPR VideoEncodeH264ProfileInfoEXT( StdVideoH264ProfileIdc stdProfileIdc_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
101045  : pNext( pNext_ )
101046  , stdProfileIdc( stdProfileIdc_ )
101047  {
101048  }
101049 
101050  VULKAN_HPP_CONSTEXPR VideoEncodeH264ProfileInfoEXT( VideoEncodeH264ProfileInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
101051 
101052  VideoEncodeH264ProfileInfoEXT( VkVideoEncodeH264ProfileInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
101053  : VideoEncodeH264ProfileInfoEXT( *reinterpret_cast<VideoEncodeH264ProfileInfoEXT const *>( &rhs ) )
101054  {
101055  }
101056 
101057  VideoEncodeH264ProfileInfoEXT & operator=( VideoEncodeH264ProfileInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
101058 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
101059 
101060  VideoEncodeH264ProfileInfoEXT & operator=( VkVideoEncodeH264ProfileInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
101061  {
101062  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoEncodeH264ProfileInfoEXT const *>( &rhs );
101063  return *this;
101064  }
101065 
101066 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
101067  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264ProfileInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
101068  {
101069  pNext = pNext_;
101070  return *this;
101071  }
101072 
101073  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264ProfileInfoEXT & setStdProfileIdc( StdVideoH264ProfileIdc stdProfileIdc_ ) VULKAN_HPP_NOEXCEPT
101074  {
101075  stdProfileIdc = stdProfileIdc_;
101076  return *this;
101077  }
101078 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
101079 
101080  operator VkVideoEncodeH264ProfileInfoEXT const &() const VULKAN_HPP_NOEXCEPT
101081  {
101082  return *reinterpret_cast<const VkVideoEncodeH264ProfileInfoEXT *>( this );
101083  }
101084 
101086  {
101087  return *reinterpret_cast<VkVideoEncodeH264ProfileInfoEXT *>( this );
101088  }
101089 
101090 # if defined( VULKAN_HPP_USE_REFLECT )
101091 # if 14 <= VULKAN_HPP_CPP_VERSION
101092  auto
101093 # else
101094  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, StdVideoH264ProfileIdc const &>
101095 # endif
101096  reflect() const VULKAN_HPP_NOEXCEPT
101097  {
101098  return std::tie( sType, pNext, stdProfileIdc );
101099  }
101100 # endif
101101 
101102 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
101103  std::strong_ordering operator<=>( VideoEncodeH264ProfileInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
101104  {
101105  if ( auto cmp = sType <=> rhs.sType; cmp != 0 )
101106  return cmp;
101107  if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 )
101108  return cmp;
101109  if ( auto cmp = memcmp( &stdProfileIdc, &rhs.stdProfileIdc, sizeof( StdVideoH264ProfileIdc ) ); cmp != 0 )
101110  return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater;
101111 
101112  return std::strong_ordering::equivalent;
101113  }
101114 # endif
101115 
101116  bool operator==( VideoEncodeH264ProfileInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
101117  {
101118  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memcmp( &stdProfileIdc, &rhs.stdProfileIdc, sizeof( StdVideoH264ProfileIdc ) ) == 0 );
101119  }
101120 
101121  bool operator!=( VideoEncodeH264ProfileInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
101122  {
101123  return !operator==( rhs );
101124  }
101125 
101126  public:
101127  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoEncodeH264ProfileInfoEXT;
101128  const void * pNext = {};
101129  StdVideoH264ProfileIdc stdProfileIdc = {};
101130  };
101131 
101132  template <>
101133  struct CppType<StructureType, StructureType::eVideoEncodeH264ProfileInfoEXT>
101134  {
101135  using Type = VideoEncodeH264ProfileInfoEXT;
101136  };
101137 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
101138 
101139 #if defined( VK_ENABLE_BETA_EXTENSIONS )
101140  struct VideoEncodeH264QpEXT
101141  {
101142  using NativeType = VkVideoEncodeH264QpEXT;
101143 
101144 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
101145  VULKAN_HPP_CONSTEXPR VideoEncodeH264QpEXT( int32_t qpI_ = {}, int32_t qpP_ = {}, int32_t qpB_ = {} ) VULKAN_HPP_NOEXCEPT
101146  : qpI( qpI_ )
101147  , qpP( qpP_ )
101148  , qpB( qpB_ )
101149  {
101150  }
101151 
101152  VULKAN_HPP_CONSTEXPR VideoEncodeH264QpEXT( VideoEncodeH264QpEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
101153 
101154  VideoEncodeH264QpEXT( VkVideoEncodeH264QpEXT const & rhs ) VULKAN_HPP_NOEXCEPT
101155  : VideoEncodeH264QpEXT( *reinterpret_cast<VideoEncodeH264QpEXT const *>( &rhs ) )
101156  {
101157  }
101158 
101159  VideoEncodeH264QpEXT & operator=( VideoEncodeH264QpEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
101160 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
101161 
101162  VideoEncodeH264QpEXT & operator=( VkVideoEncodeH264QpEXT const & rhs ) VULKAN_HPP_NOEXCEPT
101163  {
101164  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoEncodeH264QpEXT const *>( &rhs );
101165  return *this;
101166  }
101167 
101168 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
101169  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264QpEXT & setQpI( int32_t qpI_ ) VULKAN_HPP_NOEXCEPT
101170  {
101171  qpI = qpI_;
101172  return *this;
101173  }
101174 
101175  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264QpEXT & setQpP( int32_t qpP_ ) VULKAN_HPP_NOEXCEPT
101176  {
101177  qpP = qpP_;
101178  return *this;
101179  }
101180 
101181  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264QpEXT & setQpB( int32_t qpB_ ) VULKAN_HPP_NOEXCEPT
101182  {
101183  qpB = qpB_;
101184  return *this;
101185  }
101186 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
101187 
101188  operator VkVideoEncodeH264QpEXT const &() const VULKAN_HPP_NOEXCEPT
101189  {
101190  return *reinterpret_cast<const VkVideoEncodeH264QpEXT *>( this );
101191  }
101192 
101194  {
101195  return *reinterpret_cast<VkVideoEncodeH264QpEXT *>( this );
101196  }
101197 
101198 # if defined( VULKAN_HPP_USE_REFLECT )
101199 # if 14 <= VULKAN_HPP_CPP_VERSION
101200  auto
101201 # else
101202  std::tuple<int32_t const &, int32_t const &, int32_t const &>
101203 # endif
101204  reflect() const VULKAN_HPP_NOEXCEPT
101205  {
101206  return std::tie( qpI, qpP, qpB );
101207  }
101208 # endif
101209 
101210 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
101211  auto operator<=>( VideoEncodeH264QpEXT const & ) const = default;
101212 # else
101213  bool operator==( VideoEncodeH264QpEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
101214  {
101215 # if defined( VULKAN_HPP_USE_REFLECT )
101216  return this->reflect() == rhs.reflect();
101217 # else
101218  return ( qpI == rhs.qpI ) && ( qpP == rhs.qpP ) && ( qpB == rhs.qpB );
101219 # endif
101220  }
101221 
101222  bool operator!=( VideoEncodeH264QpEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
101223  {
101224  return !operator==( rhs );
101225  }
101226 # endif
101227 
101228  public:
101229  int32_t qpI = {};
101230  int32_t qpP = {};
101231  int32_t qpB = {};
101232  };
101233 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
101234 
101235 #if defined( VK_ENABLE_BETA_EXTENSIONS )
101236  struct VideoEncodeH264RateControlInfoEXT
101237  {
101238  using NativeType = VkVideoEncodeH264RateControlInfoEXT;
101239 
101240  static const bool allowDuplicate = false;
101241  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoEncodeH264RateControlInfoEXT;
101242 
101243 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
101244  VULKAN_HPP_CONSTEXPR VideoEncodeH264RateControlInfoEXT( uint32_t gopFrameCount_ = {},
101245  uint32_t idrPeriod_ = {},
101246  uint32_t consecutiveBFrameCount_ = {},
101247  VULKAN_HPP_NAMESPACE::VideoEncodeH264RateControlStructureEXT rateControlStructure_ =
101249  uint8_t temporalLayerCount_ = {},
101250  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
101251  : pNext( pNext_ )
101252  , gopFrameCount( gopFrameCount_ )
101253  , idrPeriod( idrPeriod_ )
101254  , consecutiveBFrameCount( consecutiveBFrameCount_ )
101255  , rateControlStructure( rateControlStructure_ )
101256  , temporalLayerCount( temporalLayerCount_ )
101257  {
101258  }
101259 
101260  VULKAN_HPP_CONSTEXPR VideoEncodeH264RateControlInfoEXT( VideoEncodeH264RateControlInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
101261 
101262  VideoEncodeH264RateControlInfoEXT( VkVideoEncodeH264RateControlInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
101263  : VideoEncodeH264RateControlInfoEXT( *reinterpret_cast<VideoEncodeH264RateControlInfoEXT const *>( &rhs ) )
101264  {
101265  }
101266 
101267  VideoEncodeH264RateControlInfoEXT & operator=( VideoEncodeH264RateControlInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
101268 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
101269 
101270  VideoEncodeH264RateControlInfoEXT & operator=( VkVideoEncodeH264RateControlInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
101271  {
101272  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoEncodeH264RateControlInfoEXT const *>( &rhs );
101273  return *this;
101274  }
101275 
101276 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
101277  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264RateControlInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
101278  {
101279  pNext = pNext_;
101280  return *this;
101281  }
101282 
101283  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264RateControlInfoEXT & setGopFrameCount( uint32_t gopFrameCount_ ) VULKAN_HPP_NOEXCEPT
101284  {
101285  gopFrameCount = gopFrameCount_;
101286  return *this;
101287  }
101288 
101289  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264RateControlInfoEXT & setIdrPeriod( uint32_t idrPeriod_ ) VULKAN_HPP_NOEXCEPT
101290  {
101291  idrPeriod = idrPeriod_;
101292  return *this;
101293  }
101294 
101295  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264RateControlInfoEXT & setConsecutiveBFrameCount( uint32_t consecutiveBFrameCount_ ) VULKAN_HPP_NOEXCEPT
101296  {
101297  consecutiveBFrameCount = consecutiveBFrameCount_;
101298  return *this;
101299  }
101300 
101301  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264RateControlInfoEXT &
101302  setRateControlStructure( VULKAN_HPP_NAMESPACE::VideoEncodeH264RateControlStructureEXT rateControlStructure_ ) VULKAN_HPP_NOEXCEPT
101303  {
101304  rateControlStructure = rateControlStructure_;
101305  return *this;
101306  }
101307 
101308  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264RateControlInfoEXT & setTemporalLayerCount( uint8_t temporalLayerCount_ ) VULKAN_HPP_NOEXCEPT
101309  {
101310  temporalLayerCount = temporalLayerCount_;
101311  return *this;
101312  }
101313 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
101314 
101316  {
101317  return *reinterpret_cast<const VkVideoEncodeH264RateControlInfoEXT *>( this );
101318  }
101319 
101321  {
101322  return *reinterpret_cast<VkVideoEncodeH264RateControlInfoEXT *>( this );
101323  }
101324 
101325 # if defined( VULKAN_HPP_USE_REFLECT )
101326 # if 14 <= VULKAN_HPP_CPP_VERSION
101327  auto
101328 # else
101329  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
101330  const void * const &,
101331  uint32_t const &,
101332  uint32_t const &,
101333  uint32_t const &,
101334  VULKAN_HPP_NAMESPACE::VideoEncodeH264RateControlStructureEXT const &,
101335  uint8_t const &>
101336 # endif
101337  reflect() const VULKAN_HPP_NOEXCEPT
101338  {
101339  return std::tie( sType, pNext, gopFrameCount, idrPeriod, consecutiveBFrameCount, rateControlStructure, temporalLayerCount );
101340  }
101341 # endif
101342 
101343 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
101344  auto operator<=>( VideoEncodeH264RateControlInfoEXT const & ) const = default;
101345 # else
101346  bool operator==( VideoEncodeH264RateControlInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
101347  {
101348 # if defined( VULKAN_HPP_USE_REFLECT )
101349  return this->reflect() == rhs.reflect();
101350 # else
101351  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( gopFrameCount == rhs.gopFrameCount ) && ( idrPeriod == rhs.idrPeriod ) &&
101352  ( consecutiveBFrameCount == rhs.consecutiveBFrameCount ) && ( rateControlStructure == rhs.rateControlStructure ) &&
101353  ( temporalLayerCount == rhs.temporalLayerCount );
101354 # endif
101355  }
101356 
101357  bool operator!=( VideoEncodeH264RateControlInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
101358  {
101359  return !operator==( rhs );
101360  }
101361 # endif
101362 
101363  public:
101364  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoEncodeH264RateControlInfoEXT;
101365  const void * pNext = {};
101366  uint32_t gopFrameCount = {};
101367  uint32_t idrPeriod = {};
101368  uint32_t consecutiveBFrameCount = {};
101369  VULKAN_HPP_NAMESPACE::VideoEncodeH264RateControlStructureEXT rateControlStructure = VULKAN_HPP_NAMESPACE::VideoEncodeH264RateControlStructureEXT::eUnknown;
101370  uint8_t temporalLayerCount = {};
101371  };
101372 
101373  template <>
101374  struct CppType<StructureType, StructureType::eVideoEncodeH264RateControlInfoEXT>
101375  {
101376  using Type = VideoEncodeH264RateControlInfoEXT;
101377  };
101378 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
101379 
101380 #if defined( VK_ENABLE_BETA_EXTENSIONS )
101381  struct VideoEncodeH264RateControlLayerInfoEXT
101382  {
101383  using NativeType = VkVideoEncodeH264RateControlLayerInfoEXT;
101384 
101385  static const bool allowDuplicate = false;
101386  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoEncodeH264RateControlLayerInfoEXT;
101387 
101388 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
101389  VULKAN_HPP_CONSTEXPR VideoEncodeH264RateControlLayerInfoEXT( uint8_t temporalLayerId_ = {},
101390  VULKAN_HPP_NAMESPACE::Bool32 useInitialRcQp_ = {},
101391  VULKAN_HPP_NAMESPACE::VideoEncodeH264QpEXT initialRcQp_ = {},
101392  VULKAN_HPP_NAMESPACE::Bool32 useMinQp_ = {},
101393  VULKAN_HPP_NAMESPACE::VideoEncodeH264QpEXT minQp_ = {},
101394  VULKAN_HPP_NAMESPACE::Bool32 useMaxQp_ = {},
101395  VULKAN_HPP_NAMESPACE::VideoEncodeH264QpEXT maxQp_ = {},
101396  VULKAN_HPP_NAMESPACE::Bool32 useMaxFrameSize_ = {},
101397  VULKAN_HPP_NAMESPACE::VideoEncodeH264FrameSizeEXT maxFrameSize_ = {},
101398  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
101399  : pNext( pNext_ )
101400  , temporalLayerId( temporalLayerId_ )
101401  , useInitialRcQp( useInitialRcQp_ )
101402  , initialRcQp( initialRcQp_ )
101403  , useMinQp( useMinQp_ )
101404  , minQp( minQp_ )
101405  , useMaxQp( useMaxQp_ )
101406  , maxQp( maxQp_ )
101407  , useMaxFrameSize( useMaxFrameSize_ )
101408  , maxFrameSize( maxFrameSize_ )
101409  {
101410  }
101411 
101412  VULKAN_HPP_CONSTEXPR VideoEncodeH264RateControlLayerInfoEXT( VideoEncodeH264RateControlLayerInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
101413 
101414  VideoEncodeH264RateControlLayerInfoEXT( VkVideoEncodeH264RateControlLayerInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
101415  : VideoEncodeH264RateControlLayerInfoEXT( *reinterpret_cast<VideoEncodeH264RateControlLayerInfoEXT const *>( &rhs ) )
101416  {
101417  }
101418 
101419  VideoEncodeH264RateControlLayerInfoEXT & operator=( VideoEncodeH264RateControlLayerInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
101420 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
101421 
101422  VideoEncodeH264RateControlLayerInfoEXT & operator=( VkVideoEncodeH264RateControlLayerInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
101423  {
101424  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoEncodeH264RateControlLayerInfoEXT const *>( &rhs );
101425  return *this;
101426  }
101427 
101428 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
101429  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264RateControlLayerInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
101430  {
101431  pNext = pNext_;
101432  return *this;
101433  }
101434 
101435  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264RateControlLayerInfoEXT & setTemporalLayerId( uint8_t temporalLayerId_ ) VULKAN_HPP_NOEXCEPT
101436  {
101437  temporalLayerId = temporalLayerId_;
101438  return *this;
101439  }
101440 
101441  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264RateControlLayerInfoEXT & setUseInitialRcQp( VULKAN_HPP_NAMESPACE::Bool32 useInitialRcQp_ ) VULKAN_HPP_NOEXCEPT
101442  {
101443  useInitialRcQp = useInitialRcQp_;
101444  return *this;
101445  }
101446 
101447  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264RateControlLayerInfoEXT &
101448  setInitialRcQp( VULKAN_HPP_NAMESPACE::VideoEncodeH264QpEXT const & initialRcQp_ ) VULKAN_HPP_NOEXCEPT
101449  {
101450  initialRcQp = initialRcQp_;
101451  return *this;
101452  }
101453 
101454  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264RateControlLayerInfoEXT & setUseMinQp( VULKAN_HPP_NAMESPACE::Bool32 useMinQp_ ) VULKAN_HPP_NOEXCEPT
101455  {
101456  useMinQp = useMinQp_;
101457  return *this;
101458  }
101459 
101460  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264RateControlLayerInfoEXT & setMinQp( VULKAN_HPP_NAMESPACE::VideoEncodeH264QpEXT const & minQp_ ) VULKAN_HPP_NOEXCEPT
101461  {
101462  minQp = minQp_;
101463  return *this;
101464  }
101465 
101466  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264RateControlLayerInfoEXT & setUseMaxQp( VULKAN_HPP_NAMESPACE::Bool32 useMaxQp_ ) VULKAN_HPP_NOEXCEPT
101467  {
101468  useMaxQp = useMaxQp_;
101469  return *this;
101470  }
101471 
101472  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264RateControlLayerInfoEXT & setMaxQp( VULKAN_HPP_NAMESPACE::VideoEncodeH264QpEXT const & maxQp_ ) VULKAN_HPP_NOEXCEPT
101473  {
101474  maxQp = maxQp_;
101475  return *this;
101476  }
101477 
101478  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264RateControlLayerInfoEXT & setUseMaxFrameSize( VULKAN_HPP_NAMESPACE::Bool32 useMaxFrameSize_ ) VULKAN_HPP_NOEXCEPT
101479  {
101480  useMaxFrameSize = useMaxFrameSize_;
101481  return *this;
101482  }
101483 
101484  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264RateControlLayerInfoEXT &
101485  setMaxFrameSize( VULKAN_HPP_NAMESPACE::VideoEncodeH264FrameSizeEXT const & maxFrameSize_ ) VULKAN_HPP_NOEXCEPT
101486  {
101487  maxFrameSize = maxFrameSize_;
101488  return *this;
101489  }
101490 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
101491 
101493  {
101494  return *reinterpret_cast<const VkVideoEncodeH264RateControlLayerInfoEXT *>( this );
101495  }
101496 
101498  {
101499  return *reinterpret_cast<VkVideoEncodeH264RateControlLayerInfoEXT *>( this );
101500  }
101501 
101502 # if defined( VULKAN_HPP_USE_REFLECT )
101503 # if 14 <= VULKAN_HPP_CPP_VERSION
101504  auto
101505 # else
101506  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
101507  const void * const &,
101508  uint8_t const &,
101510  VULKAN_HPP_NAMESPACE::VideoEncodeH264QpEXT const &,
101512  VULKAN_HPP_NAMESPACE::VideoEncodeH264QpEXT const &,
101514  VULKAN_HPP_NAMESPACE::VideoEncodeH264QpEXT const &,
101516  VULKAN_HPP_NAMESPACE::VideoEncodeH264FrameSizeEXT const &>
101517 # endif
101518  reflect() const VULKAN_HPP_NOEXCEPT
101519  {
101520  return std::tie( sType, pNext, temporalLayerId, useInitialRcQp, initialRcQp, useMinQp, minQp, useMaxQp, maxQp, useMaxFrameSize, maxFrameSize );
101521  }
101522 # endif
101523 
101524 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
101525  auto operator<=>( VideoEncodeH264RateControlLayerInfoEXT const & ) const = default;
101526 # else
101527  bool operator==( VideoEncodeH264RateControlLayerInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
101528  {
101529 # if defined( VULKAN_HPP_USE_REFLECT )
101530  return this->reflect() == rhs.reflect();
101531 # else
101532  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( temporalLayerId == rhs.temporalLayerId ) && ( useInitialRcQp == rhs.useInitialRcQp ) &&
101533  ( initialRcQp == rhs.initialRcQp ) && ( useMinQp == rhs.useMinQp ) && ( minQp == rhs.minQp ) && ( useMaxQp == rhs.useMaxQp ) &&
101534  ( maxQp == rhs.maxQp ) && ( useMaxFrameSize == rhs.useMaxFrameSize ) && ( maxFrameSize == rhs.maxFrameSize );
101535 # endif
101536  }
101537 
101538  bool operator!=( VideoEncodeH264RateControlLayerInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
101539  {
101540  return !operator==( rhs );
101541  }
101542 # endif
101543 
101544  public:
101545  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoEncodeH264RateControlLayerInfoEXT;
101546  const void * pNext = {};
101547  uint8_t temporalLayerId = {};
101548  VULKAN_HPP_NAMESPACE::Bool32 useInitialRcQp = {};
101549  VULKAN_HPP_NAMESPACE::VideoEncodeH264QpEXT initialRcQp = {};
101550  VULKAN_HPP_NAMESPACE::Bool32 useMinQp = {};
101551  VULKAN_HPP_NAMESPACE::VideoEncodeH264QpEXT minQp = {};
101552  VULKAN_HPP_NAMESPACE::Bool32 useMaxQp = {};
101553  VULKAN_HPP_NAMESPACE::VideoEncodeH264QpEXT maxQp = {};
101554  VULKAN_HPP_NAMESPACE::Bool32 useMaxFrameSize = {};
101555  VULKAN_HPP_NAMESPACE::VideoEncodeH264FrameSizeEXT maxFrameSize = {};
101556  };
101557 
101558  template <>
101559  struct CppType<StructureType, StructureType::eVideoEncodeH264RateControlLayerInfoEXT>
101560  {
101561  using Type = VideoEncodeH264RateControlLayerInfoEXT;
101562  };
101563 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
101564 
101565 #if defined( VK_ENABLE_BETA_EXTENSIONS )
101566  struct VideoEncodeH264SessionParametersAddInfoEXT
101567  {
101569 
101570  static const bool allowDuplicate = false;
101571  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoEncodeH264SessionParametersAddInfoEXT;
101572 
101573 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
101574  VULKAN_HPP_CONSTEXPR VideoEncodeH264SessionParametersAddInfoEXT( uint32_t stdSPSCount_ = {},
101575  const StdVideoH264SequenceParameterSet * pStdSPSs_ = {},
101576  uint32_t stdPPSCount_ = {},
101577  const StdVideoH264PictureParameterSet * pStdPPSs_ = {},
101578  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
101579  : pNext( pNext_ )
101580  , stdSPSCount( stdSPSCount_ )
101581  , pStdSPSs( pStdSPSs_ )
101582  , stdPPSCount( stdPPSCount_ )
101583  , pStdPPSs( pStdPPSs_ )
101584  {
101585  }
101586 
101587  VULKAN_HPP_CONSTEXPR VideoEncodeH264SessionParametersAddInfoEXT( VideoEncodeH264SessionParametersAddInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
101588 
101589  VideoEncodeH264SessionParametersAddInfoEXT( VkVideoEncodeH264SessionParametersAddInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
101590  : VideoEncodeH264SessionParametersAddInfoEXT( *reinterpret_cast<VideoEncodeH264SessionParametersAddInfoEXT const *>( &rhs ) )
101591  {
101592  }
101593 
101594 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
101595  VideoEncodeH264SessionParametersAddInfoEXT( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const StdVideoH264SequenceParameterSet> const & stdSPSs_,
101597  const void * pNext_ = nullptr )
101598  : pNext( pNext_ )
101599  , stdSPSCount( static_cast<uint32_t>( stdSPSs_.size() ) )
101600  , pStdSPSs( stdSPSs_.data() )
101601  , stdPPSCount( static_cast<uint32_t>( stdPPSs_.size() ) )
101602  , pStdPPSs( stdPPSs_.data() )
101603  {
101604  }
101605 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
101606 
101607  VideoEncodeH264SessionParametersAddInfoEXT & operator=( VideoEncodeH264SessionParametersAddInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
101608 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
101609 
101610  VideoEncodeH264SessionParametersAddInfoEXT & operator=( VkVideoEncodeH264SessionParametersAddInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
101611  {
101612  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoEncodeH264SessionParametersAddInfoEXT const *>( &rhs );
101613  return *this;
101614  }
101615 
101616 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
101617  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264SessionParametersAddInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
101618  {
101619  pNext = pNext_;
101620  return *this;
101621  }
101622 
101623  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264SessionParametersAddInfoEXT & setStdSPSCount( uint32_t stdSPSCount_ ) VULKAN_HPP_NOEXCEPT
101624  {
101625  stdSPSCount = stdSPSCount_;
101626  return *this;
101627  }
101628 
101629  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264SessionParametersAddInfoEXT & setPStdSPSs( const StdVideoH264SequenceParameterSet * pStdSPSs_ ) VULKAN_HPP_NOEXCEPT
101630  {
101631  pStdSPSs = pStdSPSs_;
101632  return *this;
101633  }
101634 
101635 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
101636  VideoEncodeH264SessionParametersAddInfoEXT &
101638  {
101639  stdSPSCount = static_cast<uint32_t>( stdSPSs_.size() );
101640  pStdSPSs = stdSPSs_.data();
101641  return *this;
101642  }
101643 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
101644 
101645  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264SessionParametersAddInfoEXT & setStdPPSCount( uint32_t stdPPSCount_ ) VULKAN_HPP_NOEXCEPT
101646  {
101647  stdPPSCount = stdPPSCount_;
101648  return *this;
101649  }
101650 
101651  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264SessionParametersAddInfoEXT & setPStdPPSs( const StdVideoH264PictureParameterSet * pStdPPSs_ ) VULKAN_HPP_NOEXCEPT
101652  {
101653  pStdPPSs = pStdPPSs_;
101654  return *this;
101655  }
101656 
101657 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
101658  VideoEncodeH264SessionParametersAddInfoEXT &
101660  {
101661  stdPPSCount = static_cast<uint32_t>( stdPPSs_.size() );
101662  pStdPPSs = stdPPSs_.data();
101663  return *this;
101664  }
101665 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
101666 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
101667 
101669  {
101670  return *reinterpret_cast<const VkVideoEncodeH264SessionParametersAddInfoEXT *>( this );
101671  }
101672 
101674  {
101675  return *reinterpret_cast<VkVideoEncodeH264SessionParametersAddInfoEXT *>( this );
101676  }
101677 
101678 # if defined( VULKAN_HPP_USE_REFLECT )
101679 # if 14 <= VULKAN_HPP_CPP_VERSION
101680  auto
101681 # else
101682  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
101683  const void * const &,
101684  uint32_t const &,
101685  const StdVideoH264SequenceParameterSet * const &,
101686  uint32_t const &,
101687  const StdVideoH264PictureParameterSet * const &>
101688 # endif
101689  reflect() const VULKAN_HPP_NOEXCEPT
101690  {
101691  return std::tie( sType, pNext, stdSPSCount, pStdSPSs, stdPPSCount, pStdPPSs );
101692  }
101693 # endif
101694 
101695 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
101696  auto operator<=>( VideoEncodeH264SessionParametersAddInfoEXT const & ) const = default;
101697 # else
101698  bool operator==( VideoEncodeH264SessionParametersAddInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
101699  {
101700 # if defined( VULKAN_HPP_USE_REFLECT )
101701  return this->reflect() == rhs.reflect();
101702 # else
101703  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( stdSPSCount == rhs.stdSPSCount ) && ( pStdSPSs == rhs.pStdSPSs ) &&
101704  ( stdPPSCount == rhs.stdPPSCount ) && ( pStdPPSs == rhs.pStdPPSs );
101705 # endif
101706  }
101707 
101708  bool operator!=( VideoEncodeH264SessionParametersAddInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
101709  {
101710  return !operator==( rhs );
101711  }
101712 # endif
101713 
101714  public:
101715  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoEncodeH264SessionParametersAddInfoEXT;
101716  const void * pNext = {};
101717  uint32_t stdSPSCount = {};
101718  const StdVideoH264SequenceParameterSet * pStdSPSs = {};
101719  uint32_t stdPPSCount = {};
101720  const StdVideoH264PictureParameterSet * pStdPPSs = {};
101721  };
101722 
101723  template <>
101724  struct CppType<StructureType, StructureType::eVideoEncodeH264SessionParametersAddInfoEXT>
101725  {
101726  using Type = VideoEncodeH264SessionParametersAddInfoEXT;
101727  };
101728 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
101729 
101730 #if defined( VK_ENABLE_BETA_EXTENSIONS )
101731  struct VideoEncodeH264SessionParametersCreateInfoEXT
101732  {
101734 
101735  static const bool allowDuplicate = false;
101736  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoEncodeH264SessionParametersCreateInfoEXT;
101737 
101738 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
101740  VideoEncodeH264SessionParametersCreateInfoEXT( uint32_t maxStdSPSCount_ = {},
101741  uint32_t maxStdPPSCount_ = {},
101742  const VULKAN_HPP_NAMESPACE::VideoEncodeH264SessionParametersAddInfoEXT * pParametersAddInfo_ = {},
101743  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
101744  : pNext( pNext_ )
101745  , maxStdSPSCount( maxStdSPSCount_ )
101746  , maxStdPPSCount( maxStdPPSCount_ )
101747  , pParametersAddInfo( pParametersAddInfo_ )
101748  {
101749  }
101750 
101752  VideoEncodeH264SessionParametersCreateInfoEXT( VideoEncodeH264SessionParametersCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
101753 
101754  VideoEncodeH264SessionParametersCreateInfoEXT( VkVideoEncodeH264SessionParametersCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
101755  : VideoEncodeH264SessionParametersCreateInfoEXT( *reinterpret_cast<VideoEncodeH264SessionParametersCreateInfoEXT const *>( &rhs ) )
101756  {
101757  }
101758 
101759  VideoEncodeH264SessionParametersCreateInfoEXT & operator=( VideoEncodeH264SessionParametersCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
101760 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
101761 
101762  VideoEncodeH264SessionParametersCreateInfoEXT & operator=( VkVideoEncodeH264SessionParametersCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
101763  {
101764  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoEncodeH264SessionParametersCreateInfoEXT const *>( &rhs );
101765  return *this;
101766  }
101767 
101768 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
101769  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264SessionParametersCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
101770  {
101771  pNext = pNext_;
101772  return *this;
101773  }
101774 
101775  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264SessionParametersCreateInfoEXT & setMaxStdSPSCount( uint32_t maxStdSPSCount_ ) VULKAN_HPP_NOEXCEPT
101776  {
101777  maxStdSPSCount = maxStdSPSCount_;
101778  return *this;
101779  }
101780 
101781  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264SessionParametersCreateInfoEXT & setMaxStdPPSCount( uint32_t maxStdPPSCount_ ) VULKAN_HPP_NOEXCEPT
101782  {
101783  maxStdPPSCount = maxStdPPSCount_;
101784  return *this;
101785  }
101786 
101787  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264SessionParametersCreateInfoEXT &
101788  setPParametersAddInfo( const VULKAN_HPP_NAMESPACE::VideoEncodeH264SessionParametersAddInfoEXT * pParametersAddInfo_ ) VULKAN_HPP_NOEXCEPT
101789  {
101790  pParametersAddInfo = pParametersAddInfo_;
101791  return *this;
101792  }
101793 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
101794 
101796  {
101797  return *reinterpret_cast<const VkVideoEncodeH264SessionParametersCreateInfoEXT *>( this );
101798  }
101799 
101801  {
101802  return *reinterpret_cast<VkVideoEncodeH264SessionParametersCreateInfoEXT *>( this );
101803  }
101804 
101805 # if defined( VULKAN_HPP_USE_REFLECT )
101806 # if 14 <= VULKAN_HPP_CPP_VERSION
101807  auto
101808 # else
101809  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
101810  const void * const &,
101811  uint32_t const &,
101812  uint32_t const &,
101813  const VULKAN_HPP_NAMESPACE::VideoEncodeH264SessionParametersAddInfoEXT * const &>
101814 # endif
101815  reflect() const VULKAN_HPP_NOEXCEPT
101816  {
101817  return std::tie( sType, pNext, maxStdSPSCount, maxStdPPSCount, pParametersAddInfo );
101818  }
101819 # endif
101820 
101821 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
101822  auto operator<=>( VideoEncodeH264SessionParametersCreateInfoEXT const & ) const = default;
101823 # else
101824  bool operator==( VideoEncodeH264SessionParametersCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
101825  {
101826 # if defined( VULKAN_HPP_USE_REFLECT )
101827  return this->reflect() == rhs.reflect();
101828 # else
101829  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxStdSPSCount == rhs.maxStdSPSCount ) && ( maxStdPPSCount == rhs.maxStdPPSCount ) &&
101830  ( pParametersAddInfo == rhs.pParametersAddInfo );
101831 # endif
101832  }
101833 
101834  bool operator!=( VideoEncodeH264SessionParametersCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
101835  {
101836  return !operator==( rhs );
101837  }
101838 # endif
101839 
101840  public:
101841  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoEncodeH264SessionParametersCreateInfoEXT;
101842  const void * pNext = {};
101843  uint32_t maxStdSPSCount = {};
101844  uint32_t maxStdPPSCount = {};
101845  const VULKAN_HPP_NAMESPACE::VideoEncodeH264SessionParametersAddInfoEXT * pParametersAddInfo = {};
101846  };
101847 
101848  template <>
101849  struct CppType<StructureType, StructureType::eVideoEncodeH264SessionParametersCreateInfoEXT>
101850  {
101851  using Type = VideoEncodeH264SessionParametersCreateInfoEXT;
101852  };
101853 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
101854 
101855 #if defined( VK_ENABLE_BETA_EXTENSIONS )
101856  struct VideoEncodeH264VclFrameInfoEXT
101857  {
101858  using NativeType = VkVideoEncodeH264VclFrameInfoEXT;
101859 
101860  static const bool allowDuplicate = false;
101861  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoEncodeH264VclFrameInfoEXT;
101862 
101863 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
101864  VULKAN_HPP_CONSTEXPR VideoEncodeH264VclFrameInfoEXT( const VULKAN_HPP_NAMESPACE::VideoEncodeH264ReferenceListsInfoEXT * pReferenceFinalLists_ = {},
101865  uint32_t naluSliceEntryCount_ = {},
101866  const VULKAN_HPP_NAMESPACE::VideoEncodeH264NaluSliceInfoEXT * pNaluSliceEntries_ = {},
101867  const StdVideoEncodeH264PictureInfo * pCurrentPictureInfo_ = {},
101868  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
101869  : pNext( pNext_ )
101870  , pReferenceFinalLists( pReferenceFinalLists_ )
101871  , naluSliceEntryCount( naluSliceEntryCount_ )
101872  , pNaluSliceEntries( pNaluSliceEntries_ )
101873  , pCurrentPictureInfo( pCurrentPictureInfo_ )
101874  {
101875  }
101876 
101877  VULKAN_HPP_CONSTEXPR VideoEncodeH264VclFrameInfoEXT( VideoEncodeH264VclFrameInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
101878 
101879  VideoEncodeH264VclFrameInfoEXT( VkVideoEncodeH264VclFrameInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
101880  : VideoEncodeH264VclFrameInfoEXT( *reinterpret_cast<VideoEncodeH264VclFrameInfoEXT const *>( &rhs ) )
101881  {
101882  }
101883 
101884 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
101885  VideoEncodeH264VclFrameInfoEXT(
101886  const VULKAN_HPP_NAMESPACE::VideoEncodeH264ReferenceListsInfoEXT * pReferenceFinalLists_,
101888  const StdVideoEncodeH264PictureInfo * pCurrentPictureInfo_ = {},
101889  const void * pNext_ = nullptr )
101890  : pNext( pNext_ )
101891  , pReferenceFinalLists( pReferenceFinalLists_ )
101892  , naluSliceEntryCount( static_cast<uint32_t>( naluSliceEntries_.size() ) )
101893  , pNaluSliceEntries( naluSliceEntries_.data() )
101894  , pCurrentPictureInfo( pCurrentPictureInfo_ )
101895  {
101896  }
101897 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
101898 
101899  VideoEncodeH264VclFrameInfoEXT & operator=( VideoEncodeH264VclFrameInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
101900 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
101901 
101902  VideoEncodeH264VclFrameInfoEXT & operator=( VkVideoEncodeH264VclFrameInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
101903  {
101904  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoEncodeH264VclFrameInfoEXT const *>( &rhs );
101905  return *this;
101906  }
101907 
101908 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
101909  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264VclFrameInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
101910  {
101911  pNext = pNext_;
101912  return *this;
101913  }
101914 
101915  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264VclFrameInfoEXT &
101916  setPReferenceFinalLists( const VULKAN_HPP_NAMESPACE::VideoEncodeH264ReferenceListsInfoEXT * pReferenceFinalLists_ ) VULKAN_HPP_NOEXCEPT
101917  {
101918  pReferenceFinalLists = pReferenceFinalLists_;
101919  return *this;
101920  }
101921 
101922  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264VclFrameInfoEXT & setNaluSliceEntryCount( uint32_t naluSliceEntryCount_ ) VULKAN_HPP_NOEXCEPT
101923  {
101924  naluSliceEntryCount = naluSliceEntryCount_;
101925  return *this;
101926  }
101927 
101928  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264VclFrameInfoEXT &
101929  setPNaluSliceEntries( const VULKAN_HPP_NAMESPACE::VideoEncodeH264NaluSliceInfoEXT * pNaluSliceEntries_ ) VULKAN_HPP_NOEXCEPT
101930  {
101931  pNaluSliceEntries = pNaluSliceEntries_;
101932  return *this;
101933  }
101934 
101935 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
101936  VideoEncodeH264VclFrameInfoEXT & setNaluSliceEntries(
101938  {
101939  naluSliceEntryCount = static_cast<uint32_t>( naluSliceEntries_.size() );
101940  pNaluSliceEntries = naluSliceEntries_.data();
101941  return *this;
101942  }
101943 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
101944 
101945  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264VclFrameInfoEXT &
101946  setPCurrentPictureInfo( const StdVideoEncodeH264PictureInfo * pCurrentPictureInfo_ ) VULKAN_HPP_NOEXCEPT
101947  {
101948  pCurrentPictureInfo = pCurrentPictureInfo_;
101949  return *this;
101950  }
101951 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
101952 
101953  operator VkVideoEncodeH264VclFrameInfoEXT const &() const VULKAN_HPP_NOEXCEPT
101954  {
101955  return *reinterpret_cast<const VkVideoEncodeH264VclFrameInfoEXT *>( this );
101956  }
101957 
101959  {
101960  return *reinterpret_cast<VkVideoEncodeH264VclFrameInfoEXT *>( this );
101961  }
101962 
101963 # if defined( VULKAN_HPP_USE_REFLECT )
101964 # if 14 <= VULKAN_HPP_CPP_VERSION
101965  auto
101966 # else
101967  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
101968  const void * const &,
101969  const VULKAN_HPP_NAMESPACE::VideoEncodeH264ReferenceListsInfoEXT * const &,
101970  uint32_t const &,
101971  const VULKAN_HPP_NAMESPACE::VideoEncodeH264NaluSliceInfoEXT * const &,
101972  const StdVideoEncodeH264PictureInfo * const &>
101973 # endif
101974  reflect() const VULKAN_HPP_NOEXCEPT
101975  {
101976  return std::tie( sType, pNext, pReferenceFinalLists, naluSliceEntryCount, pNaluSliceEntries, pCurrentPictureInfo );
101977  }
101978 # endif
101979 
101980 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
101981  auto operator<=>( VideoEncodeH264VclFrameInfoEXT const & ) const = default;
101982 # else
101983  bool operator==( VideoEncodeH264VclFrameInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
101984  {
101985 # if defined( VULKAN_HPP_USE_REFLECT )
101986  return this->reflect() == rhs.reflect();
101987 # else
101988  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pReferenceFinalLists == rhs.pReferenceFinalLists ) &&
101989  ( naluSliceEntryCount == rhs.naluSliceEntryCount ) && ( pNaluSliceEntries == rhs.pNaluSliceEntries ) &&
101990  ( pCurrentPictureInfo == rhs.pCurrentPictureInfo );
101991 # endif
101992  }
101993 
101994  bool operator!=( VideoEncodeH264VclFrameInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
101995  {
101996  return !operator==( rhs );
101997  }
101998 # endif
101999 
102000  public:
102001  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoEncodeH264VclFrameInfoEXT;
102002  const void * pNext = {};
102003  const VULKAN_HPP_NAMESPACE::VideoEncodeH264ReferenceListsInfoEXT * pReferenceFinalLists = {};
102004  uint32_t naluSliceEntryCount = {};
102005  const VULKAN_HPP_NAMESPACE::VideoEncodeH264NaluSliceInfoEXT * pNaluSliceEntries = {};
102006  const StdVideoEncodeH264PictureInfo * pCurrentPictureInfo = {};
102007  };
102008 
102009  template <>
102010  struct CppType<StructureType, StructureType::eVideoEncodeH264VclFrameInfoEXT>
102011  {
102012  using Type = VideoEncodeH264VclFrameInfoEXT;
102013  };
102014 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
102015 
102016 #if defined( VK_ENABLE_BETA_EXTENSIONS )
102017  struct VideoEncodeH265CapabilitiesEXT
102018  {
102019  using NativeType = VkVideoEncodeH265CapabilitiesEXT;
102020 
102021  static const bool allowDuplicate = false;
102022  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoEncodeH265CapabilitiesEXT;
102023 
102024 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
102025  VULKAN_HPP_CONSTEXPR VideoEncodeH265CapabilitiesEXT( VULKAN_HPP_NAMESPACE::VideoEncodeH265CapabilityFlagsEXT flags_ = {},
102026  VULKAN_HPP_NAMESPACE::VideoEncodeH265InputModeFlagsEXT inputModeFlags_ = {},
102027  VULKAN_HPP_NAMESPACE::VideoEncodeH265OutputModeFlagsEXT outputModeFlags_ = {},
102028  VULKAN_HPP_NAMESPACE::VideoEncodeH265CtbSizeFlagsEXT ctbSizes_ = {},
102029  VULKAN_HPP_NAMESPACE::VideoEncodeH265TransformBlockSizeFlagsEXT transformBlockSizes_ = {},
102030  uint8_t maxPPictureL0ReferenceCount_ = {},
102031  uint8_t maxBPictureL0ReferenceCount_ = {},
102032  uint8_t maxL1ReferenceCount_ = {},
102033  uint8_t maxSubLayersCount_ = {},
102034  uint8_t minLog2MinLumaCodingBlockSizeMinus3_ = {},
102035  uint8_t maxLog2MinLumaCodingBlockSizeMinus3_ = {},
102036  uint8_t minLog2MinLumaTransformBlockSizeMinus2_ = {},
102037  uint8_t maxLog2MinLumaTransformBlockSizeMinus2_ = {},
102038  uint8_t minMaxTransformHierarchyDepthInter_ = {},
102039  uint8_t maxMaxTransformHierarchyDepthInter_ = {},
102040  uint8_t minMaxTransformHierarchyDepthIntra_ = {},
102041  uint8_t maxMaxTransformHierarchyDepthIntra_ = {},
102042  uint8_t maxDiffCuQpDeltaDepth_ = {},
102043  uint8_t minMaxNumMergeCand_ = {},
102044  uint8_t maxMaxNumMergeCand_ = {},
102045  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
102046  : pNext( pNext_ )
102047  , flags( flags_ )
102048  , inputModeFlags( inputModeFlags_ )
102049  , outputModeFlags( outputModeFlags_ )
102050  , ctbSizes( ctbSizes_ )
102051  , transformBlockSizes( transformBlockSizes_ )
102052  , maxPPictureL0ReferenceCount( maxPPictureL0ReferenceCount_ )
102053  , maxBPictureL0ReferenceCount( maxBPictureL0ReferenceCount_ )
102054  , maxL1ReferenceCount( maxL1ReferenceCount_ )
102055  , maxSubLayersCount( maxSubLayersCount_ )
102056  , minLog2MinLumaCodingBlockSizeMinus3( minLog2MinLumaCodingBlockSizeMinus3_ )
102057  , maxLog2MinLumaCodingBlockSizeMinus3( maxLog2MinLumaCodingBlockSizeMinus3_ )
102058  , minLog2MinLumaTransformBlockSizeMinus2( minLog2MinLumaTransformBlockSizeMinus2_ )
102059  , maxLog2MinLumaTransformBlockSizeMinus2( maxLog2MinLumaTransformBlockSizeMinus2_ )
102060  , minMaxTransformHierarchyDepthInter( minMaxTransformHierarchyDepthInter_ )
102061  , maxMaxTransformHierarchyDepthInter( maxMaxTransformHierarchyDepthInter_ )
102062  , minMaxTransformHierarchyDepthIntra( minMaxTransformHierarchyDepthIntra_ )
102063  , maxMaxTransformHierarchyDepthIntra( maxMaxTransformHierarchyDepthIntra_ )
102064  , maxDiffCuQpDeltaDepth( maxDiffCuQpDeltaDepth_ )
102065  , minMaxNumMergeCand( minMaxNumMergeCand_ )
102066  , maxMaxNumMergeCand( maxMaxNumMergeCand_ )
102067  {
102068  }
102069 
102070  VULKAN_HPP_CONSTEXPR VideoEncodeH265CapabilitiesEXT( VideoEncodeH265CapabilitiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
102071 
102072  VideoEncodeH265CapabilitiesEXT( VkVideoEncodeH265CapabilitiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
102073  : VideoEncodeH265CapabilitiesEXT( *reinterpret_cast<VideoEncodeH265CapabilitiesEXT const *>( &rhs ) )
102074  {
102075  }
102076 
102077  VideoEncodeH265CapabilitiesEXT & operator=( VideoEncodeH265CapabilitiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
102078 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
102079 
102080  VideoEncodeH265CapabilitiesEXT & operator=( VkVideoEncodeH265CapabilitiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
102081  {
102082  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoEncodeH265CapabilitiesEXT const *>( &rhs );
102083  return *this;
102084  }
102085 
102086  operator VkVideoEncodeH265CapabilitiesEXT const &() const VULKAN_HPP_NOEXCEPT
102087  {
102088  return *reinterpret_cast<const VkVideoEncodeH265CapabilitiesEXT *>( this );
102089  }
102090 
102092  {
102093  return *reinterpret_cast<VkVideoEncodeH265CapabilitiesEXT *>( this );
102094  }
102095 
102096 # if defined( VULKAN_HPP_USE_REFLECT )
102097 # if 14 <= VULKAN_HPP_CPP_VERSION
102098  auto
102099 # else
102100  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
102101  void * const &,
102102  VULKAN_HPP_NAMESPACE::VideoEncodeH265CapabilityFlagsEXT const &,
102103  VULKAN_HPP_NAMESPACE::VideoEncodeH265InputModeFlagsEXT const &,
102104  VULKAN_HPP_NAMESPACE::VideoEncodeH265OutputModeFlagsEXT const &,
102105  VULKAN_HPP_NAMESPACE::VideoEncodeH265CtbSizeFlagsEXT const &,
102106  VULKAN_HPP_NAMESPACE::VideoEncodeH265TransformBlockSizeFlagsEXT const &,
102107  uint8_t const &,
102108  uint8_t const &,
102109  uint8_t const &,
102110  uint8_t const &,
102111  uint8_t const &,
102112  uint8_t const &,
102113  uint8_t const &,
102114  uint8_t const &,
102115  uint8_t const &,
102116  uint8_t const &,
102117  uint8_t const &,
102118  uint8_t const &,
102119  uint8_t const &,
102120  uint8_t const &,
102121  uint8_t const &>
102122 # endif
102123  reflect() const VULKAN_HPP_NOEXCEPT
102124  {
102125  return std::tie( sType,
102126  pNext,
102127  flags,
102128  inputModeFlags,
102129  outputModeFlags,
102130  ctbSizes,
102131  transformBlockSizes,
102132  maxPPictureL0ReferenceCount,
102133  maxBPictureL0ReferenceCount,
102134  maxL1ReferenceCount,
102135  maxSubLayersCount,
102136  minLog2MinLumaCodingBlockSizeMinus3,
102137  maxLog2MinLumaCodingBlockSizeMinus3,
102138  minLog2MinLumaTransformBlockSizeMinus2,
102139  maxLog2MinLumaTransformBlockSizeMinus2,
102140  minMaxTransformHierarchyDepthInter,
102141  maxMaxTransformHierarchyDepthInter,
102142  minMaxTransformHierarchyDepthIntra,
102143  maxMaxTransformHierarchyDepthIntra,
102144  maxDiffCuQpDeltaDepth,
102145  minMaxNumMergeCand,
102146  maxMaxNumMergeCand );
102147  }
102148 # endif
102149 
102150 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
102151  auto operator<=>( VideoEncodeH265CapabilitiesEXT const & ) const = default;
102152 # else
102153  bool operator==( VideoEncodeH265CapabilitiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
102154  {
102155 # if defined( VULKAN_HPP_USE_REFLECT )
102156  return this->reflect() == rhs.reflect();
102157 # else
102158  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( inputModeFlags == rhs.inputModeFlags ) &&
102159  ( outputModeFlags == rhs.outputModeFlags ) && ( ctbSizes == rhs.ctbSizes ) && ( transformBlockSizes == rhs.transformBlockSizes ) &&
102160  ( maxPPictureL0ReferenceCount == rhs.maxPPictureL0ReferenceCount ) && ( maxBPictureL0ReferenceCount == rhs.maxBPictureL0ReferenceCount ) &&
102161  ( maxL1ReferenceCount == rhs.maxL1ReferenceCount ) && ( maxSubLayersCount == rhs.maxSubLayersCount ) &&
102162  ( minLog2MinLumaCodingBlockSizeMinus3 == rhs.minLog2MinLumaCodingBlockSizeMinus3 ) &&
102163  ( maxLog2MinLumaCodingBlockSizeMinus3 == rhs.maxLog2MinLumaCodingBlockSizeMinus3 ) &&
102164  ( minLog2MinLumaTransformBlockSizeMinus2 == rhs.minLog2MinLumaTransformBlockSizeMinus2 ) &&
102165  ( maxLog2MinLumaTransformBlockSizeMinus2 == rhs.maxLog2MinLumaTransformBlockSizeMinus2 ) &&
102166  ( minMaxTransformHierarchyDepthInter == rhs.minMaxTransformHierarchyDepthInter ) &&
102167  ( maxMaxTransformHierarchyDepthInter == rhs.maxMaxTransformHierarchyDepthInter ) &&
102168  ( minMaxTransformHierarchyDepthIntra == rhs.minMaxTransformHierarchyDepthIntra ) &&
102169  ( maxMaxTransformHierarchyDepthIntra == rhs.maxMaxTransformHierarchyDepthIntra ) && ( maxDiffCuQpDeltaDepth == rhs.maxDiffCuQpDeltaDepth ) &&
102170  ( minMaxNumMergeCand == rhs.minMaxNumMergeCand ) && ( maxMaxNumMergeCand == rhs.maxMaxNumMergeCand );
102171 # endif
102172  }
102173 
102174  bool operator!=( VideoEncodeH265CapabilitiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
102175  {
102176  return !operator==( rhs );
102177  }
102178 # endif
102179 
102180  public:
102181  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoEncodeH265CapabilitiesEXT;
102182  void * pNext = {};
102183  VULKAN_HPP_NAMESPACE::VideoEncodeH265CapabilityFlagsEXT flags = {};
102184  VULKAN_HPP_NAMESPACE::VideoEncodeH265InputModeFlagsEXT inputModeFlags = {};
102185  VULKAN_HPP_NAMESPACE::VideoEncodeH265OutputModeFlagsEXT outputModeFlags = {};
102186  VULKAN_HPP_NAMESPACE::VideoEncodeH265CtbSizeFlagsEXT ctbSizes = {};
102187  VULKAN_HPP_NAMESPACE::VideoEncodeH265TransformBlockSizeFlagsEXT transformBlockSizes = {};
102188  uint8_t maxPPictureL0ReferenceCount = {};
102189  uint8_t maxBPictureL0ReferenceCount = {};
102190  uint8_t maxL1ReferenceCount = {};
102191  uint8_t maxSubLayersCount = {};
102192  uint8_t minLog2MinLumaCodingBlockSizeMinus3 = {};
102193  uint8_t maxLog2MinLumaCodingBlockSizeMinus3 = {};
102194  uint8_t minLog2MinLumaTransformBlockSizeMinus2 = {};
102195  uint8_t maxLog2MinLumaTransformBlockSizeMinus2 = {};
102196  uint8_t minMaxTransformHierarchyDepthInter = {};
102197  uint8_t maxMaxTransformHierarchyDepthInter = {};
102198  uint8_t minMaxTransformHierarchyDepthIntra = {};
102199  uint8_t maxMaxTransformHierarchyDepthIntra = {};
102200  uint8_t maxDiffCuQpDeltaDepth = {};
102201  uint8_t minMaxNumMergeCand = {};
102202  uint8_t maxMaxNumMergeCand = {};
102203  };
102204 
102205  template <>
102206  struct CppType<StructureType, StructureType::eVideoEncodeH265CapabilitiesEXT>
102207  {
102208  using Type = VideoEncodeH265CapabilitiesEXT;
102209  };
102210 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
102211 
102212 #if defined( VK_ENABLE_BETA_EXTENSIONS )
102213  struct VideoEncodeH265DpbSlotInfoEXT
102214  {
102215  using NativeType = VkVideoEncodeH265DpbSlotInfoEXT;
102216 
102217  static const bool allowDuplicate = false;
102218  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoEncodeH265DpbSlotInfoEXT;
102219 
102220 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
102221  VULKAN_HPP_CONSTEXPR VideoEncodeH265DpbSlotInfoEXT( int8_t slotIndex_ = {},
102222  const StdVideoEncodeH265ReferenceInfo * pStdReferenceInfo_ = {},
102223  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
102224  : pNext( pNext_ )
102225  , slotIndex( slotIndex_ )
102226  , pStdReferenceInfo( pStdReferenceInfo_ )
102227  {
102228  }
102229 
102230  VULKAN_HPP_CONSTEXPR VideoEncodeH265DpbSlotInfoEXT( VideoEncodeH265DpbSlotInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
102231 
102232  VideoEncodeH265DpbSlotInfoEXT( VkVideoEncodeH265DpbSlotInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
102233  : VideoEncodeH265DpbSlotInfoEXT( *reinterpret_cast<VideoEncodeH265DpbSlotInfoEXT const *>( &rhs ) )
102234  {
102235  }
102236 
102237  VideoEncodeH265DpbSlotInfoEXT & operator=( VideoEncodeH265DpbSlotInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
102238 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
102239 
102240  VideoEncodeH265DpbSlotInfoEXT & operator=( VkVideoEncodeH265DpbSlotInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
102241  {
102242  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoEncodeH265DpbSlotInfoEXT const *>( &rhs );
102243  return *this;
102244  }
102245 
102246 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
102247  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265DpbSlotInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
102248  {
102249  pNext = pNext_;
102250  return *this;
102251  }
102252 
102253  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265DpbSlotInfoEXT & setSlotIndex( int8_t slotIndex_ ) VULKAN_HPP_NOEXCEPT
102254  {
102255  slotIndex = slotIndex_;
102256  return *this;
102257  }
102258 
102259  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265DpbSlotInfoEXT &
102260  setPStdReferenceInfo( const StdVideoEncodeH265ReferenceInfo * pStdReferenceInfo_ ) VULKAN_HPP_NOEXCEPT
102261  {
102262  pStdReferenceInfo = pStdReferenceInfo_;
102263  return *this;
102264  }
102265 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
102266 
102267  operator VkVideoEncodeH265DpbSlotInfoEXT const &() const VULKAN_HPP_NOEXCEPT
102268  {
102269  return *reinterpret_cast<const VkVideoEncodeH265DpbSlotInfoEXT *>( this );
102270  }
102271 
102273  {
102274  return *reinterpret_cast<VkVideoEncodeH265DpbSlotInfoEXT *>( this );
102275  }
102276 
102277 # if defined( VULKAN_HPP_USE_REFLECT )
102278 # if 14 <= VULKAN_HPP_CPP_VERSION
102279  auto
102280 # else
102281  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, int8_t const &, const StdVideoEncodeH265ReferenceInfo * const &>
102282 # endif
102283  reflect() const VULKAN_HPP_NOEXCEPT
102284  {
102285  return std::tie( sType, pNext, slotIndex, pStdReferenceInfo );
102286  }
102287 # endif
102288 
102289 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
102290  auto operator<=>( VideoEncodeH265DpbSlotInfoEXT const & ) const = default;
102291 # else
102292  bool operator==( VideoEncodeH265DpbSlotInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
102293  {
102294 # if defined( VULKAN_HPP_USE_REFLECT )
102295  return this->reflect() == rhs.reflect();
102296 # else
102297  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( slotIndex == rhs.slotIndex ) && ( pStdReferenceInfo == rhs.pStdReferenceInfo );
102298 # endif
102299  }
102300 
102301  bool operator!=( VideoEncodeH265DpbSlotInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
102302  {
102303  return !operator==( rhs );
102304  }
102305 # endif
102306 
102307  public:
102308  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoEncodeH265DpbSlotInfoEXT;
102309  const void * pNext = {};
102310  int8_t slotIndex = {};
102311  const StdVideoEncodeH265ReferenceInfo * pStdReferenceInfo = {};
102312  };
102313 
102314  template <>
102315  struct CppType<StructureType, StructureType::eVideoEncodeH265DpbSlotInfoEXT>
102316  {
102317  using Type = VideoEncodeH265DpbSlotInfoEXT;
102318  };
102319 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
102320 
102321 #if defined( VK_ENABLE_BETA_EXTENSIONS )
102322  struct VideoEncodeH265EmitPictureParametersInfoEXT
102323  {
102325 
102326  static const bool allowDuplicate = false;
102327  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoEncodeH265EmitPictureParametersInfoEXT;
102328 
102329 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
102330  VULKAN_HPP_CONSTEXPR VideoEncodeH265EmitPictureParametersInfoEXT( uint8_t vpsId_ = {},
102331  uint8_t spsId_ = {},
102332  VULKAN_HPP_NAMESPACE::Bool32 emitVpsEnable_ = {},
102333  VULKAN_HPP_NAMESPACE::Bool32 emitSpsEnable_ = {},
102334  uint32_t ppsIdEntryCount_ = {},
102335  const uint8_t * ppsIdEntries_ = {},
102336  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
102337  : pNext( pNext_ )
102338  , vpsId( vpsId_ )
102339  , spsId( spsId_ )
102340  , emitVpsEnable( emitVpsEnable_ )
102341  , emitSpsEnable( emitSpsEnable_ )
102342  , ppsIdEntryCount( ppsIdEntryCount_ )
102343  , ppsIdEntries( ppsIdEntries_ )
102344  {
102345  }
102346 
102347  VULKAN_HPP_CONSTEXPR VideoEncodeH265EmitPictureParametersInfoEXT( VideoEncodeH265EmitPictureParametersInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
102348 
102349  VideoEncodeH265EmitPictureParametersInfoEXT( VkVideoEncodeH265EmitPictureParametersInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
102350  : VideoEncodeH265EmitPictureParametersInfoEXT( *reinterpret_cast<VideoEncodeH265EmitPictureParametersInfoEXT const *>( &rhs ) )
102351  {
102352  }
102353 
102354 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
102355  VideoEncodeH265EmitPictureParametersInfoEXT( uint8_t vpsId_,
102356  uint8_t spsId_,
102357  VULKAN_HPP_NAMESPACE::Bool32 emitVpsEnable_,
102358  VULKAN_HPP_NAMESPACE::Bool32 emitSpsEnable_,
102360  const void * pNext_ = nullptr )
102361  : pNext( pNext_ )
102362  , vpsId( vpsId_ )
102363  , spsId( spsId_ )
102364  , emitVpsEnable( emitVpsEnable_ )
102365  , emitSpsEnable( emitSpsEnable_ )
102366  , ppsIdEntryCount( static_cast<uint32_t>( psIdEntries_.size() ) )
102367  , ppsIdEntries( psIdEntries_.data() )
102368  {
102369  }
102370 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
102371 
102372  VideoEncodeH265EmitPictureParametersInfoEXT & operator=( VideoEncodeH265EmitPictureParametersInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
102373 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
102374 
102375  VideoEncodeH265EmitPictureParametersInfoEXT & operator=( VkVideoEncodeH265EmitPictureParametersInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
102376  {
102377  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoEncodeH265EmitPictureParametersInfoEXT const *>( &rhs );
102378  return *this;
102379  }
102380 
102381 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
102382  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265EmitPictureParametersInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
102383  {
102384  pNext = pNext_;
102385  return *this;
102386  }
102387 
102388  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265EmitPictureParametersInfoEXT & setVpsId( uint8_t vpsId_ ) VULKAN_HPP_NOEXCEPT
102389  {
102390  vpsId = vpsId_;
102391  return *this;
102392  }
102393 
102394  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265EmitPictureParametersInfoEXT & setSpsId( uint8_t spsId_ ) VULKAN_HPP_NOEXCEPT
102395  {
102396  spsId = spsId_;
102397  return *this;
102398  }
102399 
102400  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265EmitPictureParametersInfoEXT & setEmitVpsEnable( VULKAN_HPP_NAMESPACE::Bool32 emitVpsEnable_ ) VULKAN_HPP_NOEXCEPT
102401  {
102402  emitVpsEnable = emitVpsEnable_;
102403  return *this;
102404  }
102405 
102406  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265EmitPictureParametersInfoEXT & setEmitSpsEnable( VULKAN_HPP_NAMESPACE::Bool32 emitSpsEnable_ ) VULKAN_HPP_NOEXCEPT
102407  {
102408  emitSpsEnable = emitSpsEnable_;
102409  return *this;
102410  }
102411 
102412  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265EmitPictureParametersInfoEXT & setPpsIdEntryCount( uint32_t ppsIdEntryCount_ ) VULKAN_HPP_NOEXCEPT
102413  {
102414  ppsIdEntryCount = ppsIdEntryCount_;
102415  return *this;
102416  }
102417 
102418  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265EmitPictureParametersInfoEXT & setPpsIdEntries( const uint8_t * ppsIdEntries_ ) VULKAN_HPP_NOEXCEPT
102419  {
102420  ppsIdEntries = ppsIdEntries_;
102421  return *this;
102422  }
102423 
102424 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
102425  VideoEncodeH265EmitPictureParametersInfoEXT &
102427  {
102428  ppsIdEntryCount = static_cast<uint32_t>( psIdEntries_.size() );
102429  ppsIdEntries = psIdEntries_.data();
102430  return *this;
102431  }
102432 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
102433 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
102434 
102436  {
102437  return *reinterpret_cast<const VkVideoEncodeH265EmitPictureParametersInfoEXT *>( this );
102438  }
102439 
102441  {
102442  return *reinterpret_cast<VkVideoEncodeH265EmitPictureParametersInfoEXT *>( this );
102443  }
102444 
102445 # if defined( VULKAN_HPP_USE_REFLECT )
102446 # if 14 <= VULKAN_HPP_CPP_VERSION
102447  auto
102448 # else
102449  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
102450  const void * const &,
102451  uint8_t const &,
102452  uint8_t const &,
102455  uint32_t const &,
102456  const uint8_t * const &>
102457 # endif
102458  reflect() const VULKAN_HPP_NOEXCEPT
102459  {
102460  return std::tie( sType, pNext, vpsId, spsId, emitVpsEnable, emitSpsEnable, ppsIdEntryCount, ppsIdEntries );
102461  }
102462 # endif
102463 
102464 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
102465  auto operator<=>( VideoEncodeH265EmitPictureParametersInfoEXT const & ) const = default;
102466 # else
102467  bool operator==( VideoEncodeH265EmitPictureParametersInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
102468  {
102469 # if defined( VULKAN_HPP_USE_REFLECT )
102470  return this->reflect() == rhs.reflect();
102471 # else
102472  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( vpsId == rhs.vpsId ) && ( spsId == rhs.spsId ) && ( emitVpsEnable == rhs.emitVpsEnable ) &&
102473  ( emitSpsEnable == rhs.emitSpsEnable ) && ( ppsIdEntryCount == rhs.ppsIdEntryCount ) && ( ppsIdEntries == rhs.ppsIdEntries );
102474 # endif
102475  }
102476 
102477  bool operator!=( VideoEncodeH265EmitPictureParametersInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
102478  {
102479  return !operator==( rhs );
102480  }
102481 # endif
102482 
102483  public:
102484  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoEncodeH265EmitPictureParametersInfoEXT;
102485  const void * pNext = {};
102486  uint8_t vpsId = {};
102487  uint8_t spsId = {};
102488  VULKAN_HPP_NAMESPACE::Bool32 emitVpsEnable = {};
102489  VULKAN_HPP_NAMESPACE::Bool32 emitSpsEnable = {};
102490  uint32_t ppsIdEntryCount = {};
102491  const uint8_t * ppsIdEntries = {};
102492  };
102493 
102494  template <>
102495  struct CppType<StructureType, StructureType::eVideoEncodeH265EmitPictureParametersInfoEXT>
102496  {
102497  using Type = VideoEncodeH265EmitPictureParametersInfoEXT;
102498  };
102499 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
102500 
102501 #if defined( VK_ENABLE_BETA_EXTENSIONS )
102502  struct VideoEncodeH265FrameSizeEXT
102503  {
102504  using NativeType = VkVideoEncodeH265FrameSizeEXT;
102505 
102506 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
102507  VULKAN_HPP_CONSTEXPR VideoEncodeH265FrameSizeEXT( uint32_t frameISize_ = {}, uint32_t framePSize_ = {}, uint32_t frameBSize_ = {} ) VULKAN_HPP_NOEXCEPT
102508  : frameISize( frameISize_ )
102509  , framePSize( framePSize_ )
102510  , frameBSize( frameBSize_ )
102511  {
102512  }
102513 
102514  VULKAN_HPP_CONSTEXPR VideoEncodeH265FrameSizeEXT( VideoEncodeH265FrameSizeEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
102515 
102516  VideoEncodeH265FrameSizeEXT( VkVideoEncodeH265FrameSizeEXT const & rhs ) VULKAN_HPP_NOEXCEPT
102517  : VideoEncodeH265FrameSizeEXT( *reinterpret_cast<VideoEncodeH265FrameSizeEXT const *>( &rhs ) )
102518  {
102519  }
102520 
102521  VideoEncodeH265FrameSizeEXT & operator=( VideoEncodeH265FrameSizeEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
102522 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
102523 
102524  VideoEncodeH265FrameSizeEXT & operator=( VkVideoEncodeH265FrameSizeEXT const & rhs ) VULKAN_HPP_NOEXCEPT
102525  {
102526  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoEncodeH265FrameSizeEXT const *>( &rhs );
102527  return *this;
102528  }
102529 
102530 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
102531  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265FrameSizeEXT & setFrameISize( uint32_t frameISize_ ) VULKAN_HPP_NOEXCEPT
102532  {
102533  frameISize = frameISize_;
102534  return *this;
102535  }
102536 
102537  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265FrameSizeEXT & setFramePSize( uint32_t framePSize_ ) VULKAN_HPP_NOEXCEPT
102538  {
102539  framePSize = framePSize_;
102540  return *this;
102541  }
102542 
102543  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265FrameSizeEXT & setFrameBSize( uint32_t frameBSize_ ) VULKAN_HPP_NOEXCEPT
102544  {
102545  frameBSize = frameBSize_;
102546  return *this;
102547  }
102548 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
102549 
102550  operator VkVideoEncodeH265FrameSizeEXT const &() const VULKAN_HPP_NOEXCEPT
102551  {
102552  return *reinterpret_cast<const VkVideoEncodeH265FrameSizeEXT *>( this );
102553  }
102554 
102556  {
102557  return *reinterpret_cast<VkVideoEncodeH265FrameSizeEXT *>( this );
102558  }
102559 
102560 # if defined( VULKAN_HPP_USE_REFLECT )
102561 # if 14 <= VULKAN_HPP_CPP_VERSION
102562  auto
102563 # else
102564  std::tuple<uint32_t const &, uint32_t const &, uint32_t const &>
102565 # endif
102566  reflect() const VULKAN_HPP_NOEXCEPT
102567  {
102568  return std::tie( frameISize, framePSize, frameBSize );
102569  }
102570 # endif
102571 
102572 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
102573  auto operator<=>( VideoEncodeH265FrameSizeEXT const & ) const = default;
102574 # else
102575  bool operator==( VideoEncodeH265FrameSizeEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
102576  {
102577 # if defined( VULKAN_HPP_USE_REFLECT )
102578  return this->reflect() == rhs.reflect();
102579 # else
102580  return ( frameISize == rhs.frameISize ) && ( framePSize == rhs.framePSize ) && ( frameBSize == rhs.frameBSize );
102581 # endif
102582  }
102583 
102584  bool operator!=( VideoEncodeH265FrameSizeEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
102585  {
102586  return !operator==( rhs );
102587  }
102588 # endif
102589 
102590  public:
102591  uint32_t frameISize = {};
102592  uint32_t framePSize = {};
102593  uint32_t frameBSize = {};
102594  };
102595 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
102596 
102597 #if defined( VK_ENABLE_BETA_EXTENSIONS )
102598  struct VideoEncodeH265ReferenceListsInfoEXT
102599  {
102600  using NativeType = VkVideoEncodeH265ReferenceListsInfoEXT;
102601 
102602  static const bool allowDuplicate = false;
102603  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoEncodeH265ReferenceListsInfoEXT;
102604 
102605 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
102606  VULKAN_HPP_CONSTEXPR VideoEncodeH265ReferenceListsInfoEXT( uint8_t referenceList0EntryCount_ = {},
102607  const VULKAN_HPP_NAMESPACE::VideoEncodeH265DpbSlotInfoEXT * pReferenceList0Entries_ = {},
102608  uint8_t referenceList1EntryCount_ = {},
102609  const VULKAN_HPP_NAMESPACE::VideoEncodeH265DpbSlotInfoEXT * pReferenceList1Entries_ = {},
102610  const StdVideoEncodeH265ReferenceModifications * pReferenceModifications_ = {},
102611  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
102612  : pNext( pNext_ )
102613  , referenceList0EntryCount( referenceList0EntryCount_ )
102614  , pReferenceList0Entries( pReferenceList0Entries_ )
102615  , referenceList1EntryCount( referenceList1EntryCount_ )
102616  , pReferenceList1Entries( pReferenceList1Entries_ )
102617  , pReferenceModifications( pReferenceModifications_ )
102618  {
102619  }
102620 
102621  VULKAN_HPP_CONSTEXPR VideoEncodeH265ReferenceListsInfoEXT( VideoEncodeH265ReferenceListsInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
102622 
102623  VideoEncodeH265ReferenceListsInfoEXT( VkVideoEncodeH265ReferenceListsInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
102624  : VideoEncodeH265ReferenceListsInfoEXT( *reinterpret_cast<VideoEncodeH265ReferenceListsInfoEXT const *>( &rhs ) )
102625  {
102626  }
102627 
102628 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
102629  VideoEncodeH265ReferenceListsInfoEXT(
102632  const StdVideoEncodeH265ReferenceModifications * pReferenceModifications_ = {},
102633  const void * pNext_ = nullptr )
102634  : pNext( pNext_ )
102635  , referenceList0EntryCount( static_cast<uint8_t>( referenceList0Entries_.size() ) )
102636  , pReferenceList0Entries( referenceList0Entries_.data() )
102637  , referenceList1EntryCount( static_cast<uint8_t>( referenceList1Entries_.size() ) )
102638  , pReferenceList1Entries( referenceList1Entries_.data() )
102639  , pReferenceModifications( pReferenceModifications_ )
102640  {
102641  }
102642 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
102643 
102644  VideoEncodeH265ReferenceListsInfoEXT & operator=( VideoEncodeH265ReferenceListsInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
102645 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
102646 
102647  VideoEncodeH265ReferenceListsInfoEXT & operator=( VkVideoEncodeH265ReferenceListsInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
102648  {
102649  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoEncodeH265ReferenceListsInfoEXT const *>( &rhs );
102650  return *this;
102651  }
102652 
102653 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
102654  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265ReferenceListsInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
102655  {
102656  pNext = pNext_;
102657  return *this;
102658  }
102659 
102660  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265ReferenceListsInfoEXT & setReferenceList0EntryCount( uint8_t referenceList0EntryCount_ ) VULKAN_HPP_NOEXCEPT
102661  {
102662  referenceList0EntryCount = referenceList0EntryCount_;
102663  return *this;
102664  }
102665 
102666  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265ReferenceListsInfoEXT &
102667  setPReferenceList0Entries( const VULKAN_HPP_NAMESPACE::VideoEncodeH265DpbSlotInfoEXT * pReferenceList0Entries_ ) VULKAN_HPP_NOEXCEPT
102668  {
102669  pReferenceList0Entries = pReferenceList0Entries_;
102670  return *this;
102671  }
102672 
102673 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
102674  VideoEncodeH265ReferenceListsInfoEXT & setReferenceList0Entries(
102677  {
102678  referenceList0EntryCount = static_cast<uint8_t>( referenceList0Entries_.size() );
102679  pReferenceList0Entries = referenceList0Entries_.data();
102680  return *this;
102681  }
102682 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
102683 
102684  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265ReferenceListsInfoEXT & setReferenceList1EntryCount( uint8_t referenceList1EntryCount_ ) VULKAN_HPP_NOEXCEPT
102685  {
102686  referenceList1EntryCount = referenceList1EntryCount_;
102687  return *this;
102688  }
102689 
102690  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265ReferenceListsInfoEXT &
102691  setPReferenceList1Entries( const VULKAN_HPP_NAMESPACE::VideoEncodeH265DpbSlotInfoEXT * pReferenceList1Entries_ ) VULKAN_HPP_NOEXCEPT
102692  {
102693  pReferenceList1Entries = pReferenceList1Entries_;
102694  return *this;
102695  }
102696 
102697 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
102698  VideoEncodeH265ReferenceListsInfoEXT & setReferenceList1Entries(
102701  {
102702  referenceList1EntryCount = static_cast<uint8_t>( referenceList1Entries_.size() );
102703  pReferenceList1Entries = referenceList1Entries_.data();
102704  return *this;
102705  }
102706 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
102707 
102708  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265ReferenceListsInfoEXT &
102709  setPReferenceModifications( const StdVideoEncodeH265ReferenceModifications * pReferenceModifications_ ) VULKAN_HPP_NOEXCEPT
102710  {
102711  pReferenceModifications = pReferenceModifications_;
102712  return *this;
102713  }
102714 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
102715 
102717  {
102718  return *reinterpret_cast<const VkVideoEncodeH265ReferenceListsInfoEXT *>( this );
102719  }
102720 
102722  {
102723  return *reinterpret_cast<VkVideoEncodeH265ReferenceListsInfoEXT *>( this );
102724  }
102725 
102726 # if defined( VULKAN_HPP_USE_REFLECT )
102727 # if 14 <= VULKAN_HPP_CPP_VERSION
102728  auto
102729 # else
102730  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
102731  const void * const &,
102732  uint8_t const &,
102733  const VULKAN_HPP_NAMESPACE::VideoEncodeH265DpbSlotInfoEXT * const &,
102734  uint8_t const &,
102735  const VULKAN_HPP_NAMESPACE::VideoEncodeH265DpbSlotInfoEXT * const &,
102736  const StdVideoEncodeH265ReferenceModifications * const &>
102737 # endif
102738  reflect() const VULKAN_HPP_NOEXCEPT
102739  {
102740  return std::tie(
102741  sType, pNext, referenceList0EntryCount, pReferenceList0Entries, referenceList1EntryCount, pReferenceList1Entries, pReferenceModifications );
102742  }
102743 # endif
102744 
102745 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
102746  auto operator<=>( VideoEncodeH265ReferenceListsInfoEXT const & ) const = default;
102747 # else
102748  bool operator==( VideoEncodeH265ReferenceListsInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
102749  {
102750 # if defined( VULKAN_HPP_USE_REFLECT )
102751  return this->reflect() == rhs.reflect();
102752 # else
102753  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( referenceList0EntryCount == rhs.referenceList0EntryCount ) &&
102754  ( pReferenceList0Entries == rhs.pReferenceList0Entries ) && ( referenceList1EntryCount == rhs.referenceList1EntryCount ) &&
102755  ( pReferenceList1Entries == rhs.pReferenceList1Entries ) && ( pReferenceModifications == rhs.pReferenceModifications );
102756 # endif
102757  }
102758 
102759  bool operator!=( VideoEncodeH265ReferenceListsInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
102760  {
102761  return !operator==( rhs );
102762  }
102763 # endif
102764 
102765  public:
102766  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoEncodeH265ReferenceListsInfoEXT;
102767  const void * pNext = {};
102768  uint8_t referenceList0EntryCount = {};
102769  const VULKAN_HPP_NAMESPACE::VideoEncodeH265DpbSlotInfoEXT * pReferenceList0Entries = {};
102770  uint8_t referenceList1EntryCount = {};
102771  const VULKAN_HPP_NAMESPACE::VideoEncodeH265DpbSlotInfoEXT * pReferenceList1Entries = {};
102772  const StdVideoEncodeH265ReferenceModifications * pReferenceModifications = {};
102773  };
102774 
102775  template <>
102776  struct CppType<StructureType, StructureType::eVideoEncodeH265ReferenceListsInfoEXT>
102777  {
102778  using Type = VideoEncodeH265ReferenceListsInfoEXT;
102779  };
102780 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
102781 
102782 #if defined( VK_ENABLE_BETA_EXTENSIONS )
102783  struct VideoEncodeH265NaluSliceSegmentInfoEXT
102784  {
102785  using NativeType = VkVideoEncodeH265NaluSliceSegmentInfoEXT;
102786 
102787  static const bool allowDuplicate = false;
102788  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoEncodeH265NaluSliceSegmentInfoEXT;
102789 
102790 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
102791  VULKAN_HPP_CONSTEXPR VideoEncodeH265NaluSliceSegmentInfoEXT( uint32_t ctbCount_ = {},
102792  const VULKAN_HPP_NAMESPACE::VideoEncodeH265ReferenceListsInfoEXT * pReferenceFinalLists_ = {},
102793  const StdVideoEncodeH265SliceSegmentHeader * pSliceSegmentHeaderStd_ = {},
102794  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
102795  : pNext( pNext_ )
102796  , ctbCount( ctbCount_ )
102797  , pReferenceFinalLists( pReferenceFinalLists_ )
102798  , pSliceSegmentHeaderStd( pSliceSegmentHeaderStd_ )
102799  {
102800  }
102801 
102802  VULKAN_HPP_CONSTEXPR VideoEncodeH265NaluSliceSegmentInfoEXT( VideoEncodeH265NaluSliceSegmentInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
102803 
102804  VideoEncodeH265NaluSliceSegmentInfoEXT( VkVideoEncodeH265NaluSliceSegmentInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
102805  : VideoEncodeH265NaluSliceSegmentInfoEXT( *reinterpret_cast<VideoEncodeH265NaluSliceSegmentInfoEXT const *>( &rhs ) )
102806  {
102807  }
102808 
102809  VideoEncodeH265NaluSliceSegmentInfoEXT & operator=( VideoEncodeH265NaluSliceSegmentInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
102810 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
102811 
102812  VideoEncodeH265NaluSliceSegmentInfoEXT & operator=( VkVideoEncodeH265NaluSliceSegmentInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
102813  {
102814  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoEncodeH265NaluSliceSegmentInfoEXT const *>( &rhs );
102815  return *this;
102816  }
102817 
102818 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
102819  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265NaluSliceSegmentInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
102820  {
102821  pNext = pNext_;
102822  return *this;
102823  }
102824 
102825  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265NaluSliceSegmentInfoEXT & setCtbCount( uint32_t ctbCount_ ) VULKAN_HPP_NOEXCEPT
102826  {
102827  ctbCount = ctbCount_;
102828  return *this;
102829  }
102830 
102831  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265NaluSliceSegmentInfoEXT &
102832  setPReferenceFinalLists( const VULKAN_HPP_NAMESPACE::VideoEncodeH265ReferenceListsInfoEXT * pReferenceFinalLists_ ) VULKAN_HPP_NOEXCEPT
102833  {
102834  pReferenceFinalLists = pReferenceFinalLists_;
102835  return *this;
102836  }
102837 
102838  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265NaluSliceSegmentInfoEXT &
102839  setPSliceSegmentHeaderStd( const StdVideoEncodeH265SliceSegmentHeader * pSliceSegmentHeaderStd_ ) VULKAN_HPP_NOEXCEPT
102840  {
102841  pSliceSegmentHeaderStd = pSliceSegmentHeaderStd_;
102842  return *this;
102843  }
102844 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
102845 
102847  {
102848  return *reinterpret_cast<const VkVideoEncodeH265NaluSliceSegmentInfoEXT *>( this );
102849  }
102850 
102852  {
102853  return *reinterpret_cast<VkVideoEncodeH265NaluSliceSegmentInfoEXT *>( this );
102854  }
102855 
102856 # if defined( VULKAN_HPP_USE_REFLECT )
102857 # if 14 <= VULKAN_HPP_CPP_VERSION
102858  auto
102859 # else
102860  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
102861  const void * const &,
102862  uint32_t const &,
102863  const VULKAN_HPP_NAMESPACE::VideoEncodeH265ReferenceListsInfoEXT * const &,
102864  const StdVideoEncodeH265SliceSegmentHeader * const &>
102865 # endif
102866  reflect() const VULKAN_HPP_NOEXCEPT
102867  {
102868  return std::tie( sType, pNext, ctbCount, pReferenceFinalLists, pSliceSegmentHeaderStd );
102869  }
102870 # endif
102871 
102872 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
102873  auto operator<=>( VideoEncodeH265NaluSliceSegmentInfoEXT const & ) const = default;
102874 # else
102875  bool operator==( VideoEncodeH265NaluSliceSegmentInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
102876  {
102877 # if defined( VULKAN_HPP_USE_REFLECT )
102878  return this->reflect() == rhs.reflect();
102879 # else
102880  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( ctbCount == rhs.ctbCount ) && ( pReferenceFinalLists == rhs.pReferenceFinalLists ) &&
102881  ( pSliceSegmentHeaderStd == rhs.pSliceSegmentHeaderStd );
102882 # endif
102883  }
102884 
102885  bool operator!=( VideoEncodeH265NaluSliceSegmentInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
102886  {
102887  return !operator==( rhs );
102888  }
102889 # endif
102890 
102891  public:
102892  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoEncodeH265NaluSliceSegmentInfoEXT;
102893  const void * pNext = {};
102894  uint32_t ctbCount = {};
102895  const VULKAN_HPP_NAMESPACE::VideoEncodeH265ReferenceListsInfoEXT * pReferenceFinalLists = {};
102896  const StdVideoEncodeH265SliceSegmentHeader * pSliceSegmentHeaderStd = {};
102897  };
102898 
102899  template <>
102900  struct CppType<StructureType, StructureType::eVideoEncodeH265NaluSliceSegmentInfoEXT>
102901  {
102902  using Type = VideoEncodeH265NaluSliceSegmentInfoEXT;
102903  };
102904 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
102905 
102906 #if defined( VK_ENABLE_BETA_EXTENSIONS )
102907  struct VideoEncodeH265ProfileInfoEXT
102908  {
102909  using NativeType = VkVideoEncodeH265ProfileInfoEXT;
102910 
102911  static const bool allowDuplicate = false;
102912  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoEncodeH265ProfileInfoEXT;
102913 
102914 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
102915  VULKAN_HPP_CONSTEXPR VideoEncodeH265ProfileInfoEXT( StdVideoH265ProfileIdc stdProfileIdc_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
102916  : pNext( pNext_ )
102917  , stdProfileIdc( stdProfileIdc_ )
102918  {
102919  }
102920 
102921  VULKAN_HPP_CONSTEXPR VideoEncodeH265ProfileInfoEXT( VideoEncodeH265ProfileInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
102922 
102923  VideoEncodeH265ProfileInfoEXT( VkVideoEncodeH265ProfileInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
102924  : VideoEncodeH265ProfileInfoEXT( *reinterpret_cast<VideoEncodeH265ProfileInfoEXT const *>( &rhs ) )
102925  {
102926  }
102927 
102928  VideoEncodeH265ProfileInfoEXT & operator=( VideoEncodeH265ProfileInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
102929 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
102930 
102931  VideoEncodeH265ProfileInfoEXT & operator=( VkVideoEncodeH265ProfileInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
102932  {
102933  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoEncodeH265ProfileInfoEXT const *>( &rhs );
102934  return *this;
102935  }
102936 
102937 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
102938  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265ProfileInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
102939  {
102940  pNext = pNext_;
102941  return *this;
102942  }
102943 
102944  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265ProfileInfoEXT & setStdProfileIdc( StdVideoH265ProfileIdc stdProfileIdc_ ) VULKAN_HPP_NOEXCEPT
102945  {
102946  stdProfileIdc = stdProfileIdc_;
102947  return *this;
102948  }
102949 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
102950 
102951  operator VkVideoEncodeH265ProfileInfoEXT const &() const VULKAN_HPP_NOEXCEPT
102952  {
102953  return *reinterpret_cast<const VkVideoEncodeH265ProfileInfoEXT *>( this );
102954  }
102955 
102957  {
102958  return *reinterpret_cast<VkVideoEncodeH265ProfileInfoEXT *>( this );
102959  }
102960 
102961 # if defined( VULKAN_HPP_USE_REFLECT )
102962 # if 14 <= VULKAN_HPP_CPP_VERSION
102963  auto
102964 # else
102965  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, StdVideoH265ProfileIdc const &>
102966 # endif
102967  reflect() const VULKAN_HPP_NOEXCEPT
102968  {
102969  return std::tie( sType, pNext, stdProfileIdc );
102970  }
102971 # endif
102972 
102973 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
102974  std::strong_ordering operator<=>( VideoEncodeH265ProfileInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
102975  {
102976  if ( auto cmp = sType <=> rhs.sType; cmp != 0 )
102977  return cmp;
102978  if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 )
102979  return cmp;
102980  if ( auto cmp = memcmp( &stdProfileIdc, &rhs.stdProfileIdc, sizeof( StdVideoH265ProfileIdc ) ); cmp != 0 )
102981  return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater;
102982 
102983  return std::strong_ordering::equivalent;
102984  }
102985 # endif
102986 
102987  bool operator==( VideoEncodeH265ProfileInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
102988  {
102989  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memcmp( &stdProfileIdc, &rhs.stdProfileIdc, sizeof( StdVideoH265ProfileIdc ) ) == 0 );
102990  }
102991 
102992  bool operator!=( VideoEncodeH265ProfileInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
102993  {
102994  return !operator==( rhs );
102995  }
102996 
102997  public:
102998  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoEncodeH265ProfileInfoEXT;
102999  const void * pNext = {};
103000  StdVideoH265ProfileIdc stdProfileIdc = {};
103001  };
103002 
103003  template <>
103004  struct CppType<StructureType, StructureType::eVideoEncodeH265ProfileInfoEXT>
103005  {
103006  using Type = VideoEncodeH265ProfileInfoEXT;
103007  };
103008 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
103009 
103010 #if defined( VK_ENABLE_BETA_EXTENSIONS )
103011  struct VideoEncodeH265QpEXT
103012  {
103013  using NativeType = VkVideoEncodeH265QpEXT;
103014 
103015 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
103016  VULKAN_HPP_CONSTEXPR VideoEncodeH265QpEXT( int32_t qpI_ = {}, int32_t qpP_ = {}, int32_t qpB_ = {} ) VULKAN_HPP_NOEXCEPT
103017  : qpI( qpI_ )
103018  , qpP( qpP_ )
103019  , qpB( qpB_ )
103020  {
103021  }
103022 
103023  VULKAN_HPP_CONSTEXPR VideoEncodeH265QpEXT( VideoEncodeH265QpEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
103024 
103025  VideoEncodeH265QpEXT( VkVideoEncodeH265QpEXT const & rhs ) VULKAN_HPP_NOEXCEPT
103026  : VideoEncodeH265QpEXT( *reinterpret_cast<VideoEncodeH265QpEXT const *>( &rhs ) )
103027  {
103028  }
103029 
103030  VideoEncodeH265QpEXT & operator=( VideoEncodeH265QpEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
103031 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
103032 
103033  VideoEncodeH265QpEXT & operator=( VkVideoEncodeH265QpEXT const & rhs ) VULKAN_HPP_NOEXCEPT
103034  {
103035  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoEncodeH265QpEXT const *>( &rhs );
103036  return *this;
103037  }
103038 
103039 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
103040  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265QpEXT & setQpI( int32_t qpI_ ) VULKAN_HPP_NOEXCEPT
103041  {
103042  qpI = qpI_;
103043  return *this;
103044  }
103045 
103046  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265QpEXT & setQpP( int32_t qpP_ ) VULKAN_HPP_NOEXCEPT
103047  {
103048  qpP = qpP_;
103049  return *this;
103050  }
103051 
103052  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265QpEXT & setQpB( int32_t qpB_ ) VULKAN_HPP_NOEXCEPT
103053  {
103054  qpB = qpB_;
103055  return *this;
103056  }
103057 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
103058 
103059  operator VkVideoEncodeH265QpEXT const &() const VULKAN_HPP_NOEXCEPT
103060  {
103061  return *reinterpret_cast<const VkVideoEncodeH265QpEXT *>( this );
103062  }
103063 
103065  {
103066  return *reinterpret_cast<VkVideoEncodeH265QpEXT *>( this );
103067  }
103068 
103069 # if defined( VULKAN_HPP_USE_REFLECT )
103070 # if 14 <= VULKAN_HPP_CPP_VERSION
103071  auto
103072 # else
103073  std::tuple<int32_t const &, int32_t const &, int32_t const &>
103074 # endif
103075  reflect() const VULKAN_HPP_NOEXCEPT
103076  {
103077  return std::tie( qpI, qpP, qpB );
103078  }
103079 # endif
103080 
103081 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
103082  auto operator<=>( VideoEncodeH265QpEXT const & ) const = default;
103083 # else
103084  bool operator==( VideoEncodeH265QpEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
103085  {
103086 # if defined( VULKAN_HPP_USE_REFLECT )
103087  return this->reflect() == rhs.reflect();
103088 # else
103089  return ( qpI == rhs.qpI ) && ( qpP == rhs.qpP ) && ( qpB == rhs.qpB );
103090 # endif
103091  }
103092 
103093  bool operator!=( VideoEncodeH265QpEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
103094  {
103095  return !operator==( rhs );
103096  }
103097 # endif
103098 
103099  public:
103100  int32_t qpI = {};
103101  int32_t qpP = {};
103102  int32_t qpB = {};
103103  };
103104 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
103105 
103106 #if defined( VK_ENABLE_BETA_EXTENSIONS )
103107  struct VideoEncodeH265RateControlInfoEXT
103108  {
103109  using NativeType = VkVideoEncodeH265RateControlInfoEXT;
103110 
103111  static const bool allowDuplicate = false;
103112  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoEncodeH265RateControlInfoEXT;
103113 
103114 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
103115  VULKAN_HPP_CONSTEXPR VideoEncodeH265RateControlInfoEXT( uint32_t gopFrameCount_ = {},
103116  uint32_t idrPeriod_ = {},
103117  uint32_t consecutiveBFrameCount_ = {},
103118  VULKAN_HPP_NAMESPACE::VideoEncodeH265RateControlStructureEXT rateControlStructure_ =
103120  uint8_t subLayerCount_ = {},
103121  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
103122  : pNext( pNext_ )
103123  , gopFrameCount( gopFrameCount_ )
103124  , idrPeriod( idrPeriod_ )
103125  , consecutiveBFrameCount( consecutiveBFrameCount_ )
103126  , rateControlStructure( rateControlStructure_ )
103127  , subLayerCount( subLayerCount_ )
103128  {
103129  }
103130 
103131  VULKAN_HPP_CONSTEXPR VideoEncodeH265RateControlInfoEXT( VideoEncodeH265RateControlInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
103132 
103133  VideoEncodeH265RateControlInfoEXT( VkVideoEncodeH265RateControlInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
103134  : VideoEncodeH265RateControlInfoEXT( *reinterpret_cast<VideoEncodeH265RateControlInfoEXT const *>( &rhs ) )
103135  {
103136  }
103137 
103138  VideoEncodeH265RateControlInfoEXT & operator=( VideoEncodeH265RateControlInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
103139 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
103140 
103141  VideoEncodeH265RateControlInfoEXT & operator=( VkVideoEncodeH265RateControlInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
103142  {
103143  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoEncodeH265RateControlInfoEXT const *>( &rhs );
103144  return *this;
103145  }
103146 
103147 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
103148  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265RateControlInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
103149  {
103150  pNext = pNext_;
103151  return *this;
103152  }
103153 
103154  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265RateControlInfoEXT & setGopFrameCount( uint32_t gopFrameCount_ ) VULKAN_HPP_NOEXCEPT
103155  {
103156  gopFrameCount = gopFrameCount_;
103157  return *this;
103158  }
103159 
103160  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265RateControlInfoEXT & setIdrPeriod( uint32_t idrPeriod_ ) VULKAN_HPP_NOEXCEPT
103161  {
103162  idrPeriod = idrPeriod_;
103163  return *this;
103164  }
103165 
103166  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265RateControlInfoEXT & setConsecutiveBFrameCount( uint32_t consecutiveBFrameCount_ ) VULKAN_HPP_NOEXCEPT
103167  {
103168  consecutiveBFrameCount = consecutiveBFrameCount_;
103169  return *this;
103170  }
103171 
103172  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265RateControlInfoEXT &
103173  setRateControlStructure( VULKAN_HPP_NAMESPACE::VideoEncodeH265RateControlStructureEXT rateControlStructure_ ) VULKAN_HPP_NOEXCEPT
103174  {
103175  rateControlStructure = rateControlStructure_;
103176  return *this;
103177  }
103178 
103179  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265RateControlInfoEXT & setSubLayerCount( uint8_t subLayerCount_ ) VULKAN_HPP_NOEXCEPT
103180  {
103181  subLayerCount = subLayerCount_;
103182  return *this;
103183  }
103184 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
103185 
103187  {
103188  return *reinterpret_cast<const VkVideoEncodeH265RateControlInfoEXT *>( this );
103189  }
103190 
103192  {
103193  return *reinterpret_cast<VkVideoEncodeH265RateControlInfoEXT *>( this );
103194  }
103195 
103196 # if defined( VULKAN_HPP_USE_REFLECT )
103197 # if 14 <= VULKAN_HPP_CPP_VERSION
103198  auto
103199 # else
103200  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
103201  const void * const &,
103202  uint32_t const &,
103203  uint32_t const &,
103204  uint32_t const &,
103205  VULKAN_HPP_NAMESPACE::VideoEncodeH265RateControlStructureEXT const &,
103206  uint8_t const &>
103207 # endif
103208  reflect() const VULKAN_HPP_NOEXCEPT
103209  {
103210  return std::tie( sType, pNext, gopFrameCount, idrPeriod, consecutiveBFrameCount, rateControlStructure, subLayerCount );
103211  }
103212 # endif
103213 
103214 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
103215  auto operator<=>( VideoEncodeH265RateControlInfoEXT const & ) const = default;
103216 # else
103217  bool operator==( VideoEncodeH265RateControlInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
103218  {
103219 # if defined( VULKAN_HPP_USE_REFLECT )
103220  return this->reflect() == rhs.reflect();
103221 # else
103222  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( gopFrameCount == rhs.gopFrameCount ) && ( idrPeriod == rhs.idrPeriod ) &&
103223  ( consecutiveBFrameCount == rhs.consecutiveBFrameCount ) && ( rateControlStructure == rhs.rateControlStructure ) &&
103224  ( subLayerCount == rhs.subLayerCount );
103225 # endif
103226  }
103227 
103228  bool operator!=( VideoEncodeH265RateControlInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
103229  {
103230  return !operator==( rhs );
103231  }
103232 # endif
103233 
103234  public:
103235  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoEncodeH265RateControlInfoEXT;
103236  const void * pNext = {};
103237  uint32_t gopFrameCount = {};
103238  uint32_t idrPeriod = {};
103239  uint32_t consecutiveBFrameCount = {};
103240  VULKAN_HPP_NAMESPACE::VideoEncodeH265RateControlStructureEXT rateControlStructure = VULKAN_HPP_NAMESPACE::VideoEncodeH265RateControlStructureEXT::eUnknown;
103241  uint8_t subLayerCount = {};
103242  };
103243 
103244  template <>
103245  struct CppType<StructureType, StructureType::eVideoEncodeH265RateControlInfoEXT>
103246  {
103247  using Type = VideoEncodeH265RateControlInfoEXT;
103248  };
103249 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
103250 
103251 #if defined( VK_ENABLE_BETA_EXTENSIONS )
103252  struct VideoEncodeH265RateControlLayerInfoEXT
103253  {
103254  using NativeType = VkVideoEncodeH265RateControlLayerInfoEXT;
103255 
103256  static const bool allowDuplicate = false;
103257  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoEncodeH265RateControlLayerInfoEXT;
103258 
103259 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
103260  VULKAN_HPP_CONSTEXPR VideoEncodeH265RateControlLayerInfoEXT( uint8_t temporalId_ = {},
103261  VULKAN_HPP_NAMESPACE::Bool32 useInitialRcQp_ = {},
103262  VULKAN_HPP_NAMESPACE::VideoEncodeH265QpEXT initialRcQp_ = {},
103263  VULKAN_HPP_NAMESPACE::Bool32 useMinQp_ = {},
103264  VULKAN_HPP_NAMESPACE::VideoEncodeH265QpEXT minQp_ = {},
103265  VULKAN_HPP_NAMESPACE::Bool32 useMaxQp_ = {},
103266  VULKAN_HPP_NAMESPACE::VideoEncodeH265QpEXT maxQp_ = {},
103267  VULKAN_HPP_NAMESPACE::Bool32 useMaxFrameSize_ = {},
103268  VULKAN_HPP_NAMESPACE::VideoEncodeH265FrameSizeEXT maxFrameSize_ = {},
103269  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
103270  : pNext( pNext_ )
103271  , temporalId( temporalId_ )
103272  , useInitialRcQp( useInitialRcQp_ )
103273  , initialRcQp( initialRcQp_ )
103274  , useMinQp( useMinQp_ )
103275  , minQp( minQp_ )
103276  , useMaxQp( useMaxQp_ )
103277  , maxQp( maxQp_ )
103278  , useMaxFrameSize( useMaxFrameSize_ )
103279  , maxFrameSize( maxFrameSize_ )
103280  {
103281  }
103282 
103283  VULKAN_HPP_CONSTEXPR VideoEncodeH265RateControlLayerInfoEXT( VideoEncodeH265RateControlLayerInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
103284 
103285  VideoEncodeH265RateControlLayerInfoEXT( VkVideoEncodeH265RateControlLayerInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
103286  : VideoEncodeH265RateControlLayerInfoEXT( *reinterpret_cast<VideoEncodeH265RateControlLayerInfoEXT const *>( &rhs ) )
103287  {
103288  }
103289 
103290  VideoEncodeH265RateControlLayerInfoEXT & operator=( VideoEncodeH265RateControlLayerInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
103291 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
103292 
103293  VideoEncodeH265RateControlLayerInfoEXT & operator=( VkVideoEncodeH265RateControlLayerInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
103294  {
103295  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoEncodeH265RateControlLayerInfoEXT const *>( &rhs );
103296  return *this;
103297  }
103298 
103299 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
103300  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265RateControlLayerInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
103301  {
103302  pNext = pNext_;
103303  return *this;
103304  }
103305 
103306  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265RateControlLayerInfoEXT & setTemporalId( uint8_t temporalId_ ) VULKAN_HPP_NOEXCEPT
103307  {
103308  temporalId = temporalId_;
103309  return *this;
103310  }
103311 
103312  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265RateControlLayerInfoEXT & setUseInitialRcQp( VULKAN_HPP_NAMESPACE::Bool32 useInitialRcQp_ ) VULKAN_HPP_NOEXCEPT
103313  {
103314  useInitialRcQp = useInitialRcQp_;
103315  return *this;
103316  }
103317 
103318  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265RateControlLayerInfoEXT &
103319  setInitialRcQp( VULKAN_HPP_NAMESPACE::VideoEncodeH265QpEXT const & initialRcQp_ ) VULKAN_HPP_NOEXCEPT
103320  {
103321  initialRcQp = initialRcQp_;
103322  return *this;
103323  }
103324 
103325  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265RateControlLayerInfoEXT & setUseMinQp( VULKAN_HPP_NAMESPACE::Bool32 useMinQp_ ) VULKAN_HPP_NOEXCEPT
103326  {
103327  useMinQp = useMinQp_;
103328  return *this;
103329  }
103330 
103331  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265RateControlLayerInfoEXT & setMinQp( VULKAN_HPP_NAMESPACE::VideoEncodeH265QpEXT const & minQp_ ) VULKAN_HPP_NOEXCEPT
103332  {
103333  minQp = minQp_;
103334  return *this;
103335  }
103336 
103337  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265RateControlLayerInfoEXT & setUseMaxQp( VULKAN_HPP_NAMESPACE::Bool32 useMaxQp_ ) VULKAN_HPP_NOEXCEPT
103338  {
103339  useMaxQp = useMaxQp_;
103340  return *this;
103341  }
103342 
103343  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265RateControlLayerInfoEXT & setMaxQp( VULKAN_HPP_NAMESPACE::VideoEncodeH265QpEXT const & maxQp_ ) VULKAN_HPP_NOEXCEPT
103344  {
103345  maxQp = maxQp_;
103346  return *this;
103347  }
103348 
103349  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265RateControlLayerInfoEXT & setUseMaxFrameSize( VULKAN_HPP_NAMESPACE::Bool32 useMaxFrameSize_ ) VULKAN_HPP_NOEXCEPT
103350  {
103351  useMaxFrameSize = useMaxFrameSize_;
103352  return *this;
103353  }
103354 
103355  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265RateControlLayerInfoEXT &
103356  setMaxFrameSize( VULKAN_HPP_NAMESPACE::VideoEncodeH265FrameSizeEXT const & maxFrameSize_ ) VULKAN_HPP_NOEXCEPT
103357  {
103358  maxFrameSize = maxFrameSize_;
103359  return *this;
103360  }
103361 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
103362 
103364  {
103365  return *reinterpret_cast<const VkVideoEncodeH265RateControlLayerInfoEXT *>( this );
103366  }
103367 
103369  {
103370  return *reinterpret_cast<VkVideoEncodeH265RateControlLayerInfoEXT *>( this );
103371  }
103372 
103373 # if defined( VULKAN_HPP_USE_REFLECT )
103374 # if 14 <= VULKAN_HPP_CPP_VERSION
103375  auto
103376 # else
103377  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
103378  const void * const &,
103379  uint8_t const &,
103381  VULKAN_HPP_NAMESPACE::VideoEncodeH265QpEXT const &,
103383  VULKAN_HPP_NAMESPACE::VideoEncodeH265QpEXT const &,
103385  VULKAN_HPP_NAMESPACE::VideoEncodeH265QpEXT const &,
103387  VULKAN_HPP_NAMESPACE::VideoEncodeH265FrameSizeEXT const &>
103388 # endif
103389  reflect() const VULKAN_HPP_NOEXCEPT
103390  {
103391  return std::tie( sType, pNext, temporalId, useInitialRcQp, initialRcQp, useMinQp, minQp, useMaxQp, maxQp, useMaxFrameSize, maxFrameSize );
103392  }
103393 # endif
103394 
103395 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
103396  auto operator<=>( VideoEncodeH265RateControlLayerInfoEXT const & ) const = default;
103397 # else
103398  bool operator==( VideoEncodeH265RateControlLayerInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
103399  {
103400 # if defined( VULKAN_HPP_USE_REFLECT )
103401  return this->reflect() == rhs.reflect();
103402 # else
103403  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( temporalId == rhs.temporalId ) && ( useInitialRcQp == rhs.useInitialRcQp ) &&
103404  ( initialRcQp == rhs.initialRcQp ) && ( useMinQp == rhs.useMinQp ) && ( minQp == rhs.minQp ) && ( useMaxQp == rhs.useMaxQp ) &&
103405  ( maxQp == rhs.maxQp ) && ( useMaxFrameSize == rhs.useMaxFrameSize ) && ( maxFrameSize == rhs.maxFrameSize );
103406 # endif
103407  }
103408 
103409  bool operator!=( VideoEncodeH265RateControlLayerInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
103410  {
103411  return !operator==( rhs );
103412  }
103413 # endif
103414 
103415  public:
103416  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoEncodeH265RateControlLayerInfoEXT;
103417  const void * pNext = {};
103418  uint8_t temporalId = {};
103419  VULKAN_HPP_NAMESPACE::Bool32 useInitialRcQp = {};
103420  VULKAN_HPP_NAMESPACE::VideoEncodeH265QpEXT initialRcQp = {};
103421  VULKAN_HPP_NAMESPACE::Bool32 useMinQp = {};
103422  VULKAN_HPP_NAMESPACE::VideoEncodeH265QpEXT minQp = {};
103423  VULKAN_HPP_NAMESPACE::Bool32 useMaxQp = {};
103424  VULKAN_HPP_NAMESPACE::VideoEncodeH265QpEXT maxQp = {};
103425  VULKAN_HPP_NAMESPACE::Bool32 useMaxFrameSize = {};
103426  VULKAN_HPP_NAMESPACE::VideoEncodeH265FrameSizeEXT maxFrameSize = {};
103427  };
103428 
103429  template <>
103430  struct CppType<StructureType, StructureType::eVideoEncodeH265RateControlLayerInfoEXT>
103431  {
103432  using Type = VideoEncodeH265RateControlLayerInfoEXT;
103433  };
103434 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
103435 
103436 #if defined( VK_ENABLE_BETA_EXTENSIONS )
103437  struct VideoEncodeH265SessionParametersAddInfoEXT
103438  {
103440 
103441  static const bool allowDuplicate = false;
103442  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoEncodeH265SessionParametersAddInfoEXT;
103443 
103444 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
103445  VULKAN_HPP_CONSTEXPR VideoEncodeH265SessionParametersAddInfoEXT( uint32_t stdVPSCount_ = {},
103446  const StdVideoH265VideoParameterSet * pStdVPSs_ = {},
103447  uint32_t stdSPSCount_ = {},
103448  const StdVideoH265SequenceParameterSet * pStdSPSs_ = {},
103449  uint32_t stdPPSCount_ = {},
103450  const StdVideoH265PictureParameterSet * pStdPPSs_ = {},
103451  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
103452  : pNext( pNext_ )
103453  , stdVPSCount( stdVPSCount_ )
103454  , pStdVPSs( pStdVPSs_ )
103455  , stdSPSCount( stdSPSCount_ )
103456  , pStdSPSs( pStdSPSs_ )
103457  , stdPPSCount( stdPPSCount_ )
103458  , pStdPPSs( pStdPPSs_ )
103459  {
103460  }
103461 
103462  VULKAN_HPP_CONSTEXPR VideoEncodeH265SessionParametersAddInfoEXT( VideoEncodeH265SessionParametersAddInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
103463 
103464  VideoEncodeH265SessionParametersAddInfoEXT( VkVideoEncodeH265SessionParametersAddInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
103465  : VideoEncodeH265SessionParametersAddInfoEXT( *reinterpret_cast<VideoEncodeH265SessionParametersAddInfoEXT const *>( &rhs ) )
103466  {
103467  }
103468 
103469 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
103470  VideoEncodeH265SessionParametersAddInfoEXT( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const StdVideoH265VideoParameterSet> const & stdVPSs_,
103473  const void * pNext_ = nullptr )
103474  : pNext( pNext_ )
103475  , stdVPSCount( static_cast<uint32_t>( stdVPSs_.size() ) )
103476  , pStdVPSs( stdVPSs_.data() )
103477  , stdSPSCount( static_cast<uint32_t>( stdSPSs_.size() ) )
103478  , pStdSPSs( stdSPSs_.data() )
103479  , stdPPSCount( static_cast<uint32_t>( stdPPSs_.size() ) )
103480  , pStdPPSs( stdPPSs_.data() )
103481  {
103482  }
103483 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
103484 
103485  VideoEncodeH265SessionParametersAddInfoEXT & operator=( VideoEncodeH265SessionParametersAddInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
103486 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
103487 
103488  VideoEncodeH265SessionParametersAddInfoEXT & operator=( VkVideoEncodeH265SessionParametersAddInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
103489  {
103490  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoEncodeH265SessionParametersAddInfoEXT const *>( &rhs );
103491  return *this;
103492  }
103493 
103494 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
103495  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265SessionParametersAddInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
103496  {
103497  pNext = pNext_;
103498  return *this;
103499  }
103500 
103501  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265SessionParametersAddInfoEXT & setStdVPSCount( uint32_t stdVPSCount_ ) VULKAN_HPP_NOEXCEPT
103502  {
103503  stdVPSCount = stdVPSCount_;
103504  return *this;
103505  }
103506 
103507  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265SessionParametersAddInfoEXT & setPStdVPSs( const StdVideoH265VideoParameterSet * pStdVPSs_ ) VULKAN_HPP_NOEXCEPT
103508  {
103509  pStdVPSs = pStdVPSs_;
103510  return *this;
103511  }
103512 
103513 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
103514  VideoEncodeH265SessionParametersAddInfoEXT &
103516  {
103517  stdVPSCount = static_cast<uint32_t>( stdVPSs_.size() );
103518  pStdVPSs = stdVPSs_.data();
103519  return *this;
103520  }
103521 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
103522 
103523  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265SessionParametersAddInfoEXT & setStdSPSCount( uint32_t stdSPSCount_ ) VULKAN_HPP_NOEXCEPT
103524  {
103525  stdSPSCount = stdSPSCount_;
103526  return *this;
103527  }
103528 
103529  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265SessionParametersAddInfoEXT & setPStdSPSs( const StdVideoH265SequenceParameterSet * pStdSPSs_ ) VULKAN_HPP_NOEXCEPT
103530  {
103531  pStdSPSs = pStdSPSs_;
103532  return *this;
103533  }
103534 
103535 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
103536  VideoEncodeH265SessionParametersAddInfoEXT &
103538  {
103539  stdSPSCount = static_cast<uint32_t>( stdSPSs_.size() );
103540  pStdSPSs = stdSPSs_.data();
103541  return *this;
103542  }
103543 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
103544 
103545  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265SessionParametersAddInfoEXT & setStdPPSCount( uint32_t stdPPSCount_ ) VULKAN_HPP_NOEXCEPT
103546  {
103547  stdPPSCount = stdPPSCount_;
103548  return *this;
103549  }
103550 
103551  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265SessionParametersAddInfoEXT & setPStdPPSs( const StdVideoH265PictureParameterSet * pStdPPSs_ ) VULKAN_HPP_NOEXCEPT
103552  {
103553  pStdPPSs = pStdPPSs_;
103554  return *this;
103555  }
103556 
103557 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
103558  VideoEncodeH265SessionParametersAddInfoEXT &
103560  {
103561  stdPPSCount = static_cast<uint32_t>( stdPPSs_.size() );
103562  pStdPPSs = stdPPSs_.data();
103563  return *this;
103564  }
103565 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
103566 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
103567 
103569  {
103570  return *reinterpret_cast<const VkVideoEncodeH265SessionParametersAddInfoEXT *>( this );
103571  }
103572 
103574  {
103575  return *reinterpret_cast<VkVideoEncodeH265SessionParametersAddInfoEXT *>( this );
103576  }
103577 
103578 # if defined( VULKAN_HPP_USE_REFLECT )
103579 # if 14 <= VULKAN_HPP_CPP_VERSION
103580  auto
103581 # else
103582  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
103583  const void * const &,
103584  uint32_t const &,
103585  const StdVideoH265VideoParameterSet * const &,
103586  uint32_t const &,
103587  const StdVideoH265SequenceParameterSet * const &,
103588  uint32_t const &,
103589  const StdVideoH265PictureParameterSet * const &>
103590 # endif
103591  reflect() const VULKAN_HPP_NOEXCEPT
103592  {
103593  return std::tie( sType, pNext, stdVPSCount, pStdVPSs, stdSPSCount, pStdSPSs, stdPPSCount, pStdPPSs );
103594  }
103595 # endif
103596 
103597 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
103598  auto operator<=>( VideoEncodeH265SessionParametersAddInfoEXT const & ) const = default;
103599 # else
103600  bool operator==( VideoEncodeH265SessionParametersAddInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
103601  {
103602 # if defined( VULKAN_HPP_USE_REFLECT )
103603  return this->reflect() == rhs.reflect();
103604 # else
103605  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( stdVPSCount == rhs.stdVPSCount ) && ( pStdVPSs == rhs.pStdVPSs ) &&
103606  ( stdSPSCount == rhs.stdSPSCount ) && ( pStdSPSs == rhs.pStdSPSs ) && ( stdPPSCount == rhs.stdPPSCount ) && ( pStdPPSs == rhs.pStdPPSs );
103607 # endif
103608  }
103609 
103610  bool operator!=( VideoEncodeH265SessionParametersAddInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
103611  {
103612  return !operator==( rhs );
103613  }
103614 # endif
103615 
103616  public:
103617  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoEncodeH265SessionParametersAddInfoEXT;
103618  const void * pNext = {};
103619  uint32_t stdVPSCount = {};
103620  const StdVideoH265VideoParameterSet * pStdVPSs = {};
103621  uint32_t stdSPSCount = {};
103622  const StdVideoH265SequenceParameterSet * pStdSPSs = {};
103623  uint32_t stdPPSCount = {};
103624  const StdVideoH265PictureParameterSet * pStdPPSs = {};
103625  };
103626 
103627  template <>
103628  struct CppType<StructureType, StructureType::eVideoEncodeH265SessionParametersAddInfoEXT>
103629  {
103630  using Type = VideoEncodeH265SessionParametersAddInfoEXT;
103631  };
103632 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
103633 
103634 #if defined( VK_ENABLE_BETA_EXTENSIONS )
103635  struct VideoEncodeH265SessionParametersCreateInfoEXT
103636  {
103638 
103639  static const bool allowDuplicate = false;
103640  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoEncodeH265SessionParametersCreateInfoEXT;
103641 
103642 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
103644  VideoEncodeH265SessionParametersCreateInfoEXT( uint32_t maxStdVPSCount_ = {},
103645  uint32_t maxStdSPSCount_ = {},
103646  uint32_t maxStdPPSCount_ = {},
103647  const VULKAN_HPP_NAMESPACE::VideoEncodeH265SessionParametersAddInfoEXT * pParametersAddInfo_ = {},
103648  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
103649  : pNext( pNext_ )
103650  , maxStdVPSCount( maxStdVPSCount_ )
103651  , maxStdSPSCount( maxStdSPSCount_ )
103652  , maxStdPPSCount( maxStdPPSCount_ )
103653  , pParametersAddInfo( pParametersAddInfo_ )
103654  {
103655  }
103656 
103658  VideoEncodeH265SessionParametersCreateInfoEXT( VideoEncodeH265SessionParametersCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
103659 
103660  VideoEncodeH265SessionParametersCreateInfoEXT( VkVideoEncodeH265SessionParametersCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
103661  : VideoEncodeH265SessionParametersCreateInfoEXT( *reinterpret_cast<VideoEncodeH265SessionParametersCreateInfoEXT const *>( &rhs ) )
103662  {
103663  }
103664 
103665  VideoEncodeH265SessionParametersCreateInfoEXT & operator=( VideoEncodeH265SessionParametersCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
103666 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
103667 
103668  VideoEncodeH265SessionParametersCreateInfoEXT & operator=( VkVideoEncodeH265SessionParametersCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
103669  {
103670  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoEncodeH265SessionParametersCreateInfoEXT const *>( &rhs );
103671  return *this;
103672  }
103673 
103674 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
103675  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265SessionParametersCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
103676  {
103677  pNext = pNext_;
103678  return *this;
103679  }
103680 
103681  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265SessionParametersCreateInfoEXT & setMaxStdVPSCount( uint32_t maxStdVPSCount_ ) VULKAN_HPP_NOEXCEPT
103682  {
103683  maxStdVPSCount = maxStdVPSCount_;
103684  return *this;
103685  }
103686 
103687  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265SessionParametersCreateInfoEXT & setMaxStdSPSCount( uint32_t maxStdSPSCount_ ) VULKAN_HPP_NOEXCEPT
103688  {
103689  maxStdSPSCount = maxStdSPSCount_;
103690  return *this;
103691  }
103692 
103693  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265SessionParametersCreateInfoEXT & setMaxStdPPSCount( uint32_t maxStdPPSCount_ ) VULKAN_HPP_NOEXCEPT
103694  {
103695  maxStdPPSCount = maxStdPPSCount_;
103696  return *this;
103697  }
103698 
103699  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265SessionParametersCreateInfoEXT &
103700  setPParametersAddInfo( const VULKAN_HPP_NAMESPACE::VideoEncodeH265SessionParametersAddInfoEXT * pParametersAddInfo_ ) VULKAN_HPP_NOEXCEPT
103701  {
103702  pParametersAddInfo = pParametersAddInfo_;
103703  return *this;
103704  }
103705 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
103706 
103708  {
103709  return *reinterpret_cast<const VkVideoEncodeH265SessionParametersCreateInfoEXT *>( this );
103710  }
103711 
103713  {
103714  return *reinterpret_cast<VkVideoEncodeH265SessionParametersCreateInfoEXT *>( this );
103715  }
103716 
103717 # if defined( VULKAN_HPP_USE_REFLECT )
103718 # if 14 <= VULKAN_HPP_CPP_VERSION
103719  auto
103720 # else
103721  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
103722  const void * const &,
103723  uint32_t const &,
103724  uint32_t const &,
103725  uint32_t const &,
103726  const VULKAN_HPP_NAMESPACE::VideoEncodeH265SessionParametersAddInfoEXT * const &>
103727 # endif
103728  reflect() const VULKAN_HPP_NOEXCEPT
103729  {
103730  return std::tie( sType, pNext, maxStdVPSCount, maxStdSPSCount, maxStdPPSCount, pParametersAddInfo );
103731  }
103732 # endif
103733 
103734 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
103735  auto operator<=>( VideoEncodeH265SessionParametersCreateInfoEXT const & ) const = default;
103736 # else
103737  bool operator==( VideoEncodeH265SessionParametersCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
103738  {
103739 # if defined( VULKAN_HPP_USE_REFLECT )
103740  return this->reflect() == rhs.reflect();
103741 # else
103742  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxStdVPSCount == rhs.maxStdVPSCount ) && ( maxStdSPSCount == rhs.maxStdSPSCount ) &&
103743  ( maxStdPPSCount == rhs.maxStdPPSCount ) && ( pParametersAddInfo == rhs.pParametersAddInfo );
103744 # endif
103745  }
103746 
103747  bool operator!=( VideoEncodeH265SessionParametersCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
103748  {
103749  return !operator==( rhs );
103750  }
103751 # endif
103752 
103753  public:
103754  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoEncodeH265SessionParametersCreateInfoEXT;
103755  const void * pNext = {};
103756  uint32_t maxStdVPSCount = {};
103757  uint32_t maxStdSPSCount = {};
103758  uint32_t maxStdPPSCount = {};
103759  const VULKAN_HPP_NAMESPACE::VideoEncodeH265SessionParametersAddInfoEXT * pParametersAddInfo = {};
103760  };
103761 
103762  template <>
103763  struct CppType<StructureType, StructureType::eVideoEncodeH265SessionParametersCreateInfoEXT>
103764  {
103765  using Type = VideoEncodeH265SessionParametersCreateInfoEXT;
103766  };
103767 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
103768 
103769 #if defined( VK_ENABLE_BETA_EXTENSIONS )
103770  struct VideoEncodeH265VclFrameInfoEXT
103771  {
103772  using NativeType = VkVideoEncodeH265VclFrameInfoEXT;
103773 
103774  static const bool allowDuplicate = false;
103775  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoEncodeH265VclFrameInfoEXT;
103776 
103777 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
103778  VULKAN_HPP_CONSTEXPR VideoEncodeH265VclFrameInfoEXT( const VULKAN_HPP_NAMESPACE::VideoEncodeH265ReferenceListsInfoEXT * pReferenceFinalLists_ = {},
103779  uint32_t naluSliceSegmentEntryCount_ = {},
103780  const VULKAN_HPP_NAMESPACE::VideoEncodeH265NaluSliceSegmentInfoEXT * pNaluSliceSegmentEntries_ = {},
103781  const StdVideoEncodeH265PictureInfo * pCurrentPictureInfo_ = {},
103782  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
103783  : pNext( pNext_ )
103784  , pReferenceFinalLists( pReferenceFinalLists_ )
103785  , naluSliceSegmentEntryCount( naluSliceSegmentEntryCount_ )
103786  , pNaluSliceSegmentEntries( pNaluSliceSegmentEntries_ )
103787  , pCurrentPictureInfo( pCurrentPictureInfo_ )
103788  {
103789  }
103790 
103791  VULKAN_HPP_CONSTEXPR VideoEncodeH265VclFrameInfoEXT( VideoEncodeH265VclFrameInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
103792 
103793  VideoEncodeH265VclFrameInfoEXT( VkVideoEncodeH265VclFrameInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
103794  : VideoEncodeH265VclFrameInfoEXT( *reinterpret_cast<VideoEncodeH265VclFrameInfoEXT const *>( &rhs ) )
103795  {
103796  }
103797 
103798 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
103799  VideoEncodeH265VclFrameInfoEXT(
103800  const VULKAN_HPP_NAMESPACE::VideoEncodeH265ReferenceListsInfoEXT * pReferenceFinalLists_,
103802  const StdVideoEncodeH265PictureInfo * pCurrentPictureInfo_ = {},
103803  const void * pNext_ = nullptr )
103804  : pNext( pNext_ )
103805  , pReferenceFinalLists( pReferenceFinalLists_ )
103806  , naluSliceSegmentEntryCount( static_cast<uint32_t>( naluSliceSegmentEntries_.size() ) )
103807  , pNaluSliceSegmentEntries( naluSliceSegmentEntries_.data() )
103808  , pCurrentPictureInfo( pCurrentPictureInfo_ )
103809  {
103810  }
103811 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
103812 
103813  VideoEncodeH265VclFrameInfoEXT & operator=( VideoEncodeH265VclFrameInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
103814 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
103815 
103816  VideoEncodeH265VclFrameInfoEXT & operator=( VkVideoEncodeH265VclFrameInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
103817  {
103818  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoEncodeH265VclFrameInfoEXT const *>( &rhs );
103819  return *this;
103820  }
103821 
103822 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
103823  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265VclFrameInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
103824  {
103825  pNext = pNext_;
103826  return *this;
103827  }
103828 
103829  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265VclFrameInfoEXT &
103830  setPReferenceFinalLists( const VULKAN_HPP_NAMESPACE::VideoEncodeH265ReferenceListsInfoEXT * pReferenceFinalLists_ ) VULKAN_HPP_NOEXCEPT
103831  {
103832  pReferenceFinalLists = pReferenceFinalLists_;
103833  return *this;
103834  }
103835 
103836  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265VclFrameInfoEXT & setNaluSliceSegmentEntryCount( uint32_t naluSliceSegmentEntryCount_ ) VULKAN_HPP_NOEXCEPT
103837  {
103838  naluSliceSegmentEntryCount = naluSliceSegmentEntryCount_;
103839  return *this;
103840  }
103841 
103842  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265VclFrameInfoEXT &
103843  setPNaluSliceSegmentEntries( const VULKAN_HPP_NAMESPACE::VideoEncodeH265NaluSliceSegmentInfoEXT * pNaluSliceSegmentEntries_ ) VULKAN_HPP_NOEXCEPT
103844  {
103845  pNaluSliceSegmentEntries = pNaluSliceSegmentEntries_;
103846  return *this;
103847  }
103848 
103849 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
103850  VideoEncodeH265VclFrameInfoEXT & setNaluSliceSegmentEntries(
103853  {
103854  naluSliceSegmentEntryCount = static_cast<uint32_t>( naluSliceSegmentEntries_.size() );
103855  pNaluSliceSegmentEntries = naluSliceSegmentEntries_.data();
103856  return *this;
103857  }
103858 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
103859 
103860  VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265VclFrameInfoEXT &
103861  setPCurrentPictureInfo( const StdVideoEncodeH265PictureInfo * pCurrentPictureInfo_ ) VULKAN_HPP_NOEXCEPT
103862  {
103863  pCurrentPictureInfo = pCurrentPictureInfo_;
103864  return *this;
103865  }
103866 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
103867 
103868  operator VkVideoEncodeH265VclFrameInfoEXT const &() const VULKAN_HPP_NOEXCEPT
103869  {
103870  return *reinterpret_cast<const VkVideoEncodeH265VclFrameInfoEXT *>( this );
103871  }
103872 
103874  {
103875  return *reinterpret_cast<VkVideoEncodeH265VclFrameInfoEXT *>( this );
103876  }
103877 
103878 # if defined( VULKAN_HPP_USE_REFLECT )
103879 # if 14 <= VULKAN_HPP_CPP_VERSION
103880  auto
103881 # else
103882  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
103883  const void * const &,
103884  const VULKAN_HPP_NAMESPACE::VideoEncodeH265ReferenceListsInfoEXT * const &,
103885  uint32_t const &,
103886  const VULKAN_HPP_NAMESPACE::VideoEncodeH265NaluSliceSegmentInfoEXT * const &,
103887  const StdVideoEncodeH265PictureInfo * const &>
103888 # endif
103889  reflect() const VULKAN_HPP_NOEXCEPT
103890  {
103891  return std::tie( sType, pNext, pReferenceFinalLists, naluSliceSegmentEntryCount, pNaluSliceSegmentEntries, pCurrentPictureInfo );
103892  }
103893 # endif
103894 
103895 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
103896  auto operator<=>( VideoEncodeH265VclFrameInfoEXT const & ) const = default;
103897 # else
103898  bool operator==( VideoEncodeH265VclFrameInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
103899  {
103900 # if defined( VULKAN_HPP_USE_REFLECT )
103901  return this->reflect() == rhs.reflect();
103902 # else
103903  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pReferenceFinalLists == rhs.pReferenceFinalLists ) &&
103904  ( naluSliceSegmentEntryCount == rhs.naluSliceSegmentEntryCount ) && ( pNaluSliceSegmentEntries == rhs.pNaluSliceSegmentEntries ) &&
103905  ( pCurrentPictureInfo == rhs.pCurrentPictureInfo );
103906 # endif
103907  }
103908 
103909  bool operator!=( VideoEncodeH265VclFrameInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
103910  {
103911  return !operator==( rhs );
103912  }
103913 # endif
103914 
103915  public:
103916  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoEncodeH265VclFrameInfoEXT;
103917  const void * pNext = {};
103918  const VULKAN_HPP_NAMESPACE::VideoEncodeH265ReferenceListsInfoEXT * pReferenceFinalLists = {};
103919  uint32_t naluSliceSegmentEntryCount = {};
103920  const VULKAN_HPP_NAMESPACE::VideoEncodeH265NaluSliceSegmentInfoEXT * pNaluSliceSegmentEntries = {};
103921  const StdVideoEncodeH265PictureInfo * pCurrentPictureInfo = {};
103922  };
103923 
103924  template <>
103925  struct CppType<StructureType, StructureType::eVideoEncodeH265VclFrameInfoEXT>
103926  {
103927  using Type = VideoEncodeH265VclFrameInfoEXT;
103928  };
103929 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
103930 
103931 #if defined( VK_ENABLE_BETA_EXTENSIONS )
103932  struct VideoEncodeInfoKHR
103933  {
103934  using NativeType = VkVideoEncodeInfoKHR;
103935 
103936  static const bool allowDuplicate = false;
103937  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoEncodeInfoKHR;
103938 
103939 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
103940  VULKAN_HPP_CONSTEXPR VideoEncodeInfoKHR( VULKAN_HPP_NAMESPACE::VideoEncodeFlagsKHR flags_ = {},
103941  uint32_t qualityLevel_ = {},
103942  VULKAN_HPP_NAMESPACE::Buffer dstBitstreamBuffer_ = {},
103943  VULKAN_HPP_NAMESPACE::DeviceSize dstBitstreamBufferOffset_ = {},
103944  VULKAN_HPP_NAMESPACE::DeviceSize dstBitstreamBufferMaxRange_ = {},
103945  VULKAN_HPP_NAMESPACE::VideoPictureResourceInfoKHR srcPictureResource_ = {},
103946  const VULKAN_HPP_NAMESPACE::VideoReferenceSlotInfoKHR * pSetupReferenceSlot_ = {},
103947  uint32_t referenceSlotCount_ = {},
103948  const VULKAN_HPP_NAMESPACE::VideoReferenceSlotInfoKHR * pReferenceSlots_ = {},
103949  uint32_t precedingExternallyEncodedBytes_ = {},
103950  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
103951  : pNext( pNext_ )
103952  , flags( flags_ )
103953  , qualityLevel( qualityLevel_ )
103954  , dstBitstreamBuffer( dstBitstreamBuffer_ )
103955  , dstBitstreamBufferOffset( dstBitstreamBufferOffset_ )
103956  , dstBitstreamBufferMaxRange( dstBitstreamBufferMaxRange_ )
103957  , srcPictureResource( srcPictureResource_ )
103958  , pSetupReferenceSlot( pSetupReferenceSlot_ )
103959  , referenceSlotCount( referenceSlotCount_ )
103960  , pReferenceSlots( pReferenceSlots_ )
103961  , precedingExternallyEncodedBytes( precedingExternallyEncodedBytes_ )
103962  {
103963  }
103964 
103965  VULKAN_HPP_CONSTEXPR VideoEncodeInfoKHR( VideoEncodeInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
103966 
103967  VideoEncodeInfoKHR( VkVideoEncodeInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : VideoEncodeInfoKHR( *reinterpret_cast<VideoEncodeInfoKHR const *>( &rhs ) ) {}
103968 
103969 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
103970  VideoEncodeInfoKHR( VULKAN_HPP_NAMESPACE::VideoEncodeFlagsKHR flags_,
103971  uint32_t qualityLevel_,
103972  VULKAN_HPP_NAMESPACE::Buffer dstBitstreamBuffer_,
103973  VULKAN_HPP_NAMESPACE::DeviceSize dstBitstreamBufferOffset_,
103974  VULKAN_HPP_NAMESPACE::DeviceSize dstBitstreamBufferMaxRange_,
103975  VULKAN_HPP_NAMESPACE::VideoPictureResourceInfoKHR srcPictureResource_,
103976  const VULKAN_HPP_NAMESPACE::VideoReferenceSlotInfoKHR * pSetupReferenceSlot_,
103978  uint32_t precedingExternallyEncodedBytes_ = {},
103979  const void * pNext_ = nullptr )
103980  : pNext( pNext_ )
103981  , flags( flags_ )
103982  , qualityLevel( qualityLevel_ )
103983  , dstBitstreamBuffer( dstBitstreamBuffer_ )
103984  , dstBitstreamBufferOffset( dstBitstreamBufferOffset_ )
103985  , dstBitstreamBufferMaxRange( dstBitstreamBufferMaxRange_ )
103986  , srcPictureResource( srcPictureResource_ )
103987  , pSetupReferenceSlot( pSetupReferenceSlot_ )
103988  , referenceSlotCount( static_cast<uint32_t>( referenceSlots_.size() ) )
103989  , pReferenceSlots( referenceSlots_.data() )
103990  , precedingExternallyEncodedBytes( precedingExternallyEncodedBytes_ )
103991  {
103992  }
103993 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
103994 
103995  VideoEncodeInfoKHR & operator=( VideoEncodeInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
103996 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
103997 
103998  VideoEncodeInfoKHR & operator=( VkVideoEncodeInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
103999  {
104000  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoEncodeInfoKHR const *>( &rhs );
104001  return *this;
104002  }
104003 
104004 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
104005  VULKAN_HPP_CONSTEXPR_14 VideoEncodeInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
104006  {
104007  pNext = pNext_;
104008  return *this;
104009  }
104010 
104011  VULKAN_HPP_CONSTEXPR_14 VideoEncodeInfoKHR & setFlags( VULKAN_HPP_NAMESPACE::VideoEncodeFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT
104012  {
104013  flags = flags_;
104014  return *this;
104015  }
104016 
104017  VULKAN_HPP_CONSTEXPR_14 VideoEncodeInfoKHR & setQualityLevel( uint32_t qualityLevel_ ) VULKAN_HPP_NOEXCEPT
104018  {
104019  qualityLevel = qualityLevel_;
104020  return *this;
104021  }
104022 
104023  VULKAN_HPP_CONSTEXPR_14 VideoEncodeInfoKHR & setDstBitstreamBuffer( VULKAN_HPP_NAMESPACE::Buffer dstBitstreamBuffer_ ) VULKAN_HPP_NOEXCEPT
104024  {
104025  dstBitstreamBuffer = dstBitstreamBuffer_;
104026  return *this;
104027  }
104028 
104029  VULKAN_HPP_CONSTEXPR_14 VideoEncodeInfoKHR & setDstBitstreamBufferOffset( VULKAN_HPP_NAMESPACE::DeviceSize dstBitstreamBufferOffset_ ) VULKAN_HPP_NOEXCEPT
104030  {
104031  dstBitstreamBufferOffset = dstBitstreamBufferOffset_;
104032  return *this;
104033  }
104034 
104035  VULKAN_HPP_CONSTEXPR_14 VideoEncodeInfoKHR &
104036  setDstBitstreamBufferMaxRange( VULKAN_HPP_NAMESPACE::DeviceSize dstBitstreamBufferMaxRange_ ) VULKAN_HPP_NOEXCEPT
104037  {
104038  dstBitstreamBufferMaxRange = dstBitstreamBufferMaxRange_;
104039  return *this;
104040  }
104041 
104042  VULKAN_HPP_CONSTEXPR_14 VideoEncodeInfoKHR &
104043  setSrcPictureResource( VULKAN_HPP_NAMESPACE::VideoPictureResourceInfoKHR const & srcPictureResource_ ) VULKAN_HPP_NOEXCEPT
104044  {
104045  srcPictureResource = srcPictureResource_;
104046  return *this;
104047  }
104048 
104049  VULKAN_HPP_CONSTEXPR_14 VideoEncodeInfoKHR &
104050  setPSetupReferenceSlot( const VULKAN_HPP_NAMESPACE::VideoReferenceSlotInfoKHR * pSetupReferenceSlot_ ) VULKAN_HPP_NOEXCEPT
104051  {
104052  pSetupReferenceSlot = pSetupReferenceSlot_;
104053  return *this;
104054  }
104055 
104056  VULKAN_HPP_CONSTEXPR_14 VideoEncodeInfoKHR & setReferenceSlotCount( uint32_t referenceSlotCount_ ) VULKAN_HPP_NOEXCEPT
104057  {
104058  referenceSlotCount = referenceSlotCount_;
104059  return *this;
104060  }
104061 
104062  VULKAN_HPP_CONSTEXPR_14 VideoEncodeInfoKHR &
104063  setPReferenceSlots( const VULKAN_HPP_NAMESPACE::VideoReferenceSlotInfoKHR * pReferenceSlots_ ) VULKAN_HPP_NOEXCEPT
104064  {
104065  pReferenceSlots = pReferenceSlots_;
104066  return *this;
104067  }
104068 
104069 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
104070  VideoEncodeInfoKHR & setReferenceSlots(
104072  {
104073  referenceSlotCount = static_cast<uint32_t>( referenceSlots_.size() );
104074  pReferenceSlots = referenceSlots_.data();
104075  return *this;
104076  }
104077 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
104078 
104079  VULKAN_HPP_CONSTEXPR_14 VideoEncodeInfoKHR & setPrecedingExternallyEncodedBytes( uint32_t precedingExternallyEncodedBytes_ ) VULKAN_HPP_NOEXCEPT
104080  {
104081  precedingExternallyEncodedBytes = precedingExternallyEncodedBytes_;
104082  return *this;
104083  }
104084 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
104085 
104086  operator VkVideoEncodeInfoKHR const &() const VULKAN_HPP_NOEXCEPT
104087  {
104088  return *reinterpret_cast<const VkVideoEncodeInfoKHR *>( this );
104089  }
104090 
104092  {
104093  return *reinterpret_cast<VkVideoEncodeInfoKHR *>( this );
104094  }
104095 
104096 # if defined( VULKAN_HPP_USE_REFLECT )
104097 # if 14 <= VULKAN_HPP_CPP_VERSION
104098  auto
104099 # else
104100  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
104101  const void * const &,
104102  VULKAN_HPP_NAMESPACE::VideoEncodeFlagsKHR const &,
104103  uint32_t const &,
104107  VULKAN_HPP_NAMESPACE::VideoPictureResourceInfoKHR const &,
104108  const VULKAN_HPP_NAMESPACE::VideoReferenceSlotInfoKHR * const &,
104109  uint32_t const &,
104110  const VULKAN_HPP_NAMESPACE::VideoReferenceSlotInfoKHR * const &,
104111  uint32_t const &>
104112 # endif
104113  reflect() const VULKAN_HPP_NOEXCEPT
104114  {
104115  return std::tie( sType,
104116  pNext,
104117  flags,
104118  qualityLevel,
104119  dstBitstreamBuffer,
104120  dstBitstreamBufferOffset,
104121  dstBitstreamBufferMaxRange,
104122  srcPictureResource,
104123  pSetupReferenceSlot,
104124  referenceSlotCount,
104125  pReferenceSlots,
104126  precedingExternallyEncodedBytes );
104127  }
104128 # endif
104129 
104130 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
104131  auto operator<=>( VideoEncodeInfoKHR const & ) const = default;
104132 # else
104133  bool operator==( VideoEncodeInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
104134  {
104135 # if defined( VULKAN_HPP_USE_REFLECT )
104136  return this->reflect() == rhs.reflect();
104137 # else
104138  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( qualityLevel == rhs.qualityLevel ) &&
104139  ( dstBitstreamBuffer == rhs.dstBitstreamBuffer ) && ( dstBitstreamBufferOffset == rhs.dstBitstreamBufferOffset ) &&
104140  ( dstBitstreamBufferMaxRange == rhs.dstBitstreamBufferMaxRange ) && ( srcPictureResource == rhs.srcPictureResource ) &&
104141  ( pSetupReferenceSlot == rhs.pSetupReferenceSlot ) && ( referenceSlotCount == rhs.referenceSlotCount ) &&
104142  ( pReferenceSlots == rhs.pReferenceSlots ) && ( precedingExternallyEncodedBytes == rhs.precedingExternallyEncodedBytes );
104143 # endif
104144  }
104145 
104146  bool operator!=( VideoEncodeInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
104147  {
104148  return !operator==( rhs );
104149  }
104150 # endif
104151 
104152  public:
104153  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoEncodeInfoKHR;
104154  const void * pNext = {};
104155  VULKAN_HPP_NAMESPACE::VideoEncodeFlagsKHR flags = {};
104156  uint32_t qualityLevel = {};
104157  VULKAN_HPP_NAMESPACE::Buffer dstBitstreamBuffer = {};
104158  VULKAN_HPP_NAMESPACE::DeviceSize dstBitstreamBufferOffset = {};
104159  VULKAN_HPP_NAMESPACE::DeviceSize dstBitstreamBufferMaxRange = {};
104160  VULKAN_HPP_NAMESPACE::VideoPictureResourceInfoKHR srcPictureResource = {};
104161  const VULKAN_HPP_NAMESPACE::VideoReferenceSlotInfoKHR * pSetupReferenceSlot = {};
104162  uint32_t referenceSlotCount = {};
104163  const VULKAN_HPP_NAMESPACE::VideoReferenceSlotInfoKHR * pReferenceSlots = {};
104164  uint32_t precedingExternallyEncodedBytes = {};
104165  };
104166 
104167  template <>
104168  struct CppType<StructureType, StructureType::eVideoEncodeInfoKHR>
104169  {
104170  using Type = VideoEncodeInfoKHR;
104171  };
104172 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
104173 
104174 #if defined( VK_ENABLE_BETA_EXTENSIONS )
104175  struct VideoEncodeRateControlLayerInfoKHR
104176  {
104177  using NativeType = VkVideoEncodeRateControlLayerInfoKHR;
104178 
104179  static const bool allowDuplicate = false;
104180  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoEncodeRateControlLayerInfoKHR;
104181 
104182 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
104183  VULKAN_HPP_CONSTEXPR VideoEncodeRateControlLayerInfoKHR( uint32_t averageBitrate_ = {},
104184  uint32_t maxBitrate_ = {},
104185  uint32_t frameRateNumerator_ = {},
104186  uint32_t frameRateDenominator_ = {},
104187  uint32_t virtualBufferSizeInMs_ = {},
104188  uint32_t initialVirtualBufferSizeInMs_ = {},
104189  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
104190  : pNext( pNext_ )
104191  , averageBitrate( averageBitrate_ )
104192  , maxBitrate( maxBitrate_ )
104193  , frameRateNumerator( frameRateNumerator_ )
104194  , frameRateDenominator( frameRateDenominator_ )
104195  , virtualBufferSizeInMs( virtualBufferSizeInMs_ )
104196  , initialVirtualBufferSizeInMs( initialVirtualBufferSizeInMs_ )
104197  {
104198  }
104199 
104200  VULKAN_HPP_CONSTEXPR VideoEncodeRateControlLayerInfoKHR( VideoEncodeRateControlLayerInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
104201 
104202  VideoEncodeRateControlLayerInfoKHR( VkVideoEncodeRateControlLayerInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
104203  : VideoEncodeRateControlLayerInfoKHR( *reinterpret_cast<VideoEncodeRateControlLayerInfoKHR const *>( &rhs ) )
104204  {
104205  }
104206 
104207  VideoEncodeRateControlLayerInfoKHR & operator=( VideoEncodeRateControlLayerInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
104208 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
104209 
104210  VideoEncodeRateControlLayerInfoKHR & operator=( VkVideoEncodeRateControlLayerInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
104211  {
104212  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoEncodeRateControlLayerInfoKHR const *>( &rhs );
104213  return *this;
104214  }
104215 
104216 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
104217  VULKAN_HPP_CONSTEXPR_14 VideoEncodeRateControlLayerInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
104218  {
104219  pNext = pNext_;
104220  return *this;
104221  }
104222 
104223  VULKAN_HPP_CONSTEXPR_14 VideoEncodeRateControlLayerInfoKHR & setAverageBitrate( uint32_t averageBitrate_ ) VULKAN_HPP_NOEXCEPT
104224  {
104225  averageBitrate = averageBitrate_;
104226  return *this;
104227  }
104228 
104229  VULKAN_HPP_CONSTEXPR_14 VideoEncodeRateControlLayerInfoKHR & setMaxBitrate( uint32_t maxBitrate_ ) VULKAN_HPP_NOEXCEPT
104230  {
104231  maxBitrate = maxBitrate_;
104232  return *this;
104233  }
104234 
104235  VULKAN_HPP_CONSTEXPR_14 VideoEncodeRateControlLayerInfoKHR & setFrameRateNumerator( uint32_t frameRateNumerator_ ) VULKAN_HPP_NOEXCEPT
104236  {
104237  frameRateNumerator = frameRateNumerator_;
104238  return *this;
104239  }
104240 
104241  VULKAN_HPP_CONSTEXPR_14 VideoEncodeRateControlLayerInfoKHR & setFrameRateDenominator( uint32_t frameRateDenominator_ ) VULKAN_HPP_NOEXCEPT
104242  {
104243  frameRateDenominator = frameRateDenominator_;
104244  return *this;
104245  }
104246 
104247  VULKAN_HPP_CONSTEXPR_14 VideoEncodeRateControlLayerInfoKHR & setVirtualBufferSizeInMs( uint32_t virtualBufferSizeInMs_ ) VULKAN_HPP_NOEXCEPT
104248  {
104249  virtualBufferSizeInMs = virtualBufferSizeInMs_;
104250  return *this;
104251  }
104252 
104253  VULKAN_HPP_CONSTEXPR_14 VideoEncodeRateControlLayerInfoKHR & setInitialVirtualBufferSizeInMs( uint32_t initialVirtualBufferSizeInMs_ ) VULKAN_HPP_NOEXCEPT
104254  {
104255  initialVirtualBufferSizeInMs = initialVirtualBufferSizeInMs_;
104256  return *this;
104257  }
104258 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
104259 
104261  {
104262  return *reinterpret_cast<const VkVideoEncodeRateControlLayerInfoKHR *>( this );
104263  }
104264 
104266  {
104267  return *reinterpret_cast<VkVideoEncodeRateControlLayerInfoKHR *>( this );
104268  }
104269 
104270 # if defined( VULKAN_HPP_USE_REFLECT )
104271 # if 14 <= VULKAN_HPP_CPP_VERSION
104272  auto
104273 # else
104274  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
104275  const void * const &,
104276  uint32_t const &,
104277  uint32_t const &,
104278  uint32_t const &,
104279  uint32_t const &,
104280  uint32_t const &,
104281  uint32_t const &>
104282 # endif
104283  reflect() const VULKAN_HPP_NOEXCEPT
104284  {
104285  return std::tie(
104286  sType, pNext, averageBitrate, maxBitrate, frameRateNumerator, frameRateDenominator, virtualBufferSizeInMs, initialVirtualBufferSizeInMs );
104287  }
104288 # endif
104289 
104290 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
104291  auto operator<=>( VideoEncodeRateControlLayerInfoKHR const & ) const = default;
104292 # else
104293  bool operator==( VideoEncodeRateControlLayerInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
104294  {
104295 # if defined( VULKAN_HPP_USE_REFLECT )
104296  return this->reflect() == rhs.reflect();
104297 # else
104298  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( averageBitrate == rhs.averageBitrate ) && ( maxBitrate == rhs.maxBitrate ) &&
104299  ( frameRateNumerator == rhs.frameRateNumerator ) && ( frameRateDenominator == rhs.frameRateDenominator ) &&
104300  ( virtualBufferSizeInMs == rhs.virtualBufferSizeInMs ) && ( initialVirtualBufferSizeInMs == rhs.initialVirtualBufferSizeInMs );
104301 # endif
104302  }
104303 
104304  bool operator!=( VideoEncodeRateControlLayerInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
104305  {
104306  return !operator==( rhs );
104307  }
104308 # endif
104309 
104310  public:
104311  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoEncodeRateControlLayerInfoKHR;
104312  const void * pNext = {};
104313  uint32_t averageBitrate = {};
104314  uint32_t maxBitrate = {};
104315  uint32_t frameRateNumerator = {};
104316  uint32_t frameRateDenominator = {};
104317  uint32_t virtualBufferSizeInMs = {};
104318  uint32_t initialVirtualBufferSizeInMs = {};
104319  };
104320 
104321  template <>
104322  struct CppType<StructureType, StructureType::eVideoEncodeRateControlLayerInfoKHR>
104323  {
104324  using Type = VideoEncodeRateControlLayerInfoKHR;
104325  };
104326 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
104327 
104328 #if defined( VK_ENABLE_BETA_EXTENSIONS )
104329  struct VideoEncodeRateControlInfoKHR
104330  {
104331  using NativeType = VkVideoEncodeRateControlInfoKHR;
104332 
104333  static const bool allowDuplicate = false;
104334  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoEncodeRateControlInfoKHR;
104335 
104336 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
104337  VULKAN_HPP_CONSTEXPR VideoEncodeRateControlInfoKHR(
104338  VULKAN_HPP_NAMESPACE::VideoEncodeRateControlFlagsKHR flags_ = {},
104339  VULKAN_HPP_NAMESPACE::VideoEncodeRateControlModeFlagBitsKHR rateControlMode_ = VULKAN_HPP_NAMESPACE::VideoEncodeRateControlModeFlagBitsKHR::eNone,
104340  uint8_t layerCount_ = {},
104341  const VULKAN_HPP_NAMESPACE::VideoEncodeRateControlLayerInfoKHR * pLayerConfigs_ = {},
104342  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
104343  : pNext( pNext_ )
104344  , flags( flags_ )
104345  , rateControlMode( rateControlMode_ )
104346  , layerCount( layerCount_ )
104347  , pLayerConfigs( pLayerConfigs_ )
104348  {
104349  }
104350 
104351  VULKAN_HPP_CONSTEXPR VideoEncodeRateControlInfoKHR( VideoEncodeRateControlInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
104352 
104353  VideoEncodeRateControlInfoKHR( VkVideoEncodeRateControlInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
104354  : VideoEncodeRateControlInfoKHR( *reinterpret_cast<VideoEncodeRateControlInfoKHR const *>( &rhs ) )
104355  {
104356  }
104357 
104358 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
104359  VideoEncodeRateControlInfoKHR(
104360  VULKAN_HPP_NAMESPACE::VideoEncodeRateControlFlagsKHR flags_,
104361  VULKAN_HPP_NAMESPACE::VideoEncodeRateControlModeFlagBitsKHR rateControlMode_,
104363  const void * pNext_ = nullptr )
104364  : pNext( pNext_ )
104365  , flags( flags_ )
104366  , rateControlMode( rateControlMode_ )
104367  , layerCount( static_cast<uint8_t>( layerConfigs_.size() ) )
104368  , pLayerConfigs( layerConfigs_.data() )
104369  {
104370  }
104371 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
104372 
104373  VideoEncodeRateControlInfoKHR & operator=( VideoEncodeRateControlInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
104374 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
104375 
104376  VideoEncodeRateControlInfoKHR & operator=( VkVideoEncodeRateControlInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
104377  {
104378  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoEncodeRateControlInfoKHR const *>( &rhs );
104379  return *this;
104380  }
104381 
104382 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
104383  VULKAN_HPP_CONSTEXPR_14 VideoEncodeRateControlInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
104384  {
104385  pNext = pNext_;
104386  return *this;
104387  }
104388 
104389  VULKAN_HPP_CONSTEXPR_14 VideoEncodeRateControlInfoKHR & setFlags( VULKAN_HPP_NAMESPACE::VideoEncodeRateControlFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT
104390  {
104391  flags = flags_;
104392  return *this;
104393  }
104394 
104395  VULKAN_HPP_CONSTEXPR_14 VideoEncodeRateControlInfoKHR &
104396  setRateControlMode( VULKAN_HPP_NAMESPACE::VideoEncodeRateControlModeFlagBitsKHR rateControlMode_ ) VULKAN_HPP_NOEXCEPT
104397  {
104398  rateControlMode = rateControlMode_;
104399  return *this;
104400  }
104401 
104402  VULKAN_HPP_CONSTEXPR_14 VideoEncodeRateControlInfoKHR & setLayerCount( uint8_t layerCount_ ) VULKAN_HPP_NOEXCEPT
104403  {
104404  layerCount = layerCount_;
104405  return *this;
104406  }
104407 
104408  VULKAN_HPP_CONSTEXPR_14 VideoEncodeRateControlInfoKHR &
104409  setPLayerConfigs( const VULKAN_HPP_NAMESPACE::VideoEncodeRateControlLayerInfoKHR * pLayerConfigs_ ) VULKAN_HPP_NOEXCEPT
104410  {
104411  pLayerConfigs = pLayerConfigs_;
104412  return *this;
104413  }
104414 
104415 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
104416  VideoEncodeRateControlInfoKHR & setLayerConfigs(
104418  {
104419  layerCount = static_cast<uint8_t>( layerConfigs_.size() );
104420  pLayerConfigs = layerConfigs_.data();
104421  return *this;
104422  }
104423 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
104424 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
104425 
104426  operator VkVideoEncodeRateControlInfoKHR const &() const VULKAN_HPP_NOEXCEPT
104427  {
104428  return *reinterpret_cast<const VkVideoEncodeRateControlInfoKHR *>( this );
104429  }
104430 
104432  {
104433  return *reinterpret_cast<VkVideoEncodeRateControlInfoKHR *>( this );
104434  }
104435 
104436 # if defined( VULKAN_HPP_USE_REFLECT )
104437 # if 14 <= VULKAN_HPP_CPP_VERSION
104438  auto
104439 # else
104440  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
104441  const void * const &,
104442  VULKAN_HPP_NAMESPACE::VideoEncodeRateControlFlagsKHR const &,
104443  VULKAN_HPP_NAMESPACE::VideoEncodeRateControlModeFlagBitsKHR const &,
104444  uint8_t const &,
104445  const VULKAN_HPP_NAMESPACE::VideoEncodeRateControlLayerInfoKHR * const &>
104446 # endif
104447  reflect() const VULKAN_HPP_NOEXCEPT
104448  {
104449  return std::tie( sType, pNext, flags, rateControlMode, layerCount, pLayerConfigs );
104450  }
104451 # endif
104452 
104453 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
104454  auto operator<=>( VideoEncodeRateControlInfoKHR const & ) const = default;
104455 # else
104456  bool operator==( VideoEncodeRateControlInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
104457  {
104458 # if defined( VULKAN_HPP_USE_REFLECT )
104459  return this->reflect() == rhs.reflect();
104460 # else
104461  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( rateControlMode == rhs.rateControlMode ) &&
104462  ( layerCount == rhs.layerCount ) && ( pLayerConfigs == rhs.pLayerConfigs );
104463 # endif
104464  }
104465 
104466  bool operator!=( VideoEncodeRateControlInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
104467  {
104468  return !operator==( rhs );
104469  }
104470 # endif
104471 
104472  public:
104473  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoEncodeRateControlInfoKHR;
104474  const void * pNext = {};
104475  VULKAN_HPP_NAMESPACE::VideoEncodeRateControlFlagsKHR flags = {};
104476  VULKAN_HPP_NAMESPACE::VideoEncodeRateControlModeFlagBitsKHR rateControlMode = VULKAN_HPP_NAMESPACE::VideoEncodeRateControlModeFlagBitsKHR::eNone;
104477  uint8_t layerCount = {};
104478  const VULKAN_HPP_NAMESPACE::VideoEncodeRateControlLayerInfoKHR * pLayerConfigs = {};
104479  };
104480 
104481  template <>
104482  struct CppType<StructureType, StructureType::eVideoEncodeRateControlInfoKHR>
104483  {
104484  using Type = VideoEncodeRateControlInfoKHR;
104485  };
104486 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
104487 
104488 #if defined( VK_ENABLE_BETA_EXTENSIONS )
104489  struct VideoEncodeUsageInfoKHR
104490  {
104491  using NativeType = VkVideoEncodeUsageInfoKHR;
104492 
104493  static const bool allowDuplicate = false;
104494  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoEncodeUsageInfoKHR;
104495 
104496 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
104498  VideoEncodeUsageInfoKHR( VULKAN_HPP_NAMESPACE::VideoEncodeUsageFlagsKHR videoUsageHints_ = {},
104499  VULKAN_HPP_NAMESPACE::VideoEncodeContentFlagsKHR videoContentHints_ = {},
104500  VULKAN_HPP_NAMESPACE::VideoEncodeTuningModeKHR tuningMode_ = VULKAN_HPP_NAMESPACE::VideoEncodeTuningModeKHR::eDefault,
104501  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
104502  : pNext( pNext_ )
104503  , videoUsageHints( videoUsageHints_ )
104504  , videoContentHints( videoContentHints_ )
104505  , tuningMode( tuningMode_ )
104506  {
104507  }
104508 
104509  VULKAN_HPP_CONSTEXPR VideoEncodeUsageInfoKHR( VideoEncodeUsageInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
104510 
104511  VideoEncodeUsageInfoKHR( VkVideoEncodeUsageInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
104512  : VideoEncodeUsageInfoKHR( *reinterpret_cast<VideoEncodeUsageInfoKHR const *>( &rhs ) )
104513  {
104514  }
104515 
104516  VideoEncodeUsageInfoKHR & operator=( VideoEncodeUsageInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
104517 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
104518 
104519  VideoEncodeUsageInfoKHR & operator=( VkVideoEncodeUsageInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
104520  {
104521  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoEncodeUsageInfoKHR const *>( &rhs );
104522  return *this;
104523  }
104524 
104525 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
104526  VULKAN_HPP_CONSTEXPR_14 VideoEncodeUsageInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
104527  {
104528  pNext = pNext_;
104529  return *this;
104530  }
104531 
104532  VULKAN_HPP_CONSTEXPR_14 VideoEncodeUsageInfoKHR & setVideoUsageHints( VULKAN_HPP_NAMESPACE::VideoEncodeUsageFlagsKHR videoUsageHints_ ) VULKAN_HPP_NOEXCEPT
104533  {
104534  videoUsageHints = videoUsageHints_;
104535  return *this;
104536  }
104537 
104538  VULKAN_HPP_CONSTEXPR_14 VideoEncodeUsageInfoKHR &
104539  setVideoContentHints( VULKAN_HPP_NAMESPACE::VideoEncodeContentFlagsKHR videoContentHints_ ) VULKAN_HPP_NOEXCEPT
104540  {
104541  videoContentHints = videoContentHints_;
104542  return *this;
104543  }
104544 
104545  VULKAN_HPP_CONSTEXPR_14 VideoEncodeUsageInfoKHR & setTuningMode( VULKAN_HPP_NAMESPACE::VideoEncodeTuningModeKHR tuningMode_ ) VULKAN_HPP_NOEXCEPT
104546  {
104547  tuningMode = tuningMode_;
104548  return *this;
104549  }
104550 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
104551 
104552  operator VkVideoEncodeUsageInfoKHR const &() const VULKAN_HPP_NOEXCEPT
104553  {
104554  return *reinterpret_cast<const VkVideoEncodeUsageInfoKHR *>( this );
104555  }
104556 
104558  {
104559  return *reinterpret_cast<VkVideoEncodeUsageInfoKHR *>( this );
104560  }
104561 
104562 # if defined( VULKAN_HPP_USE_REFLECT )
104563 # if 14 <= VULKAN_HPP_CPP_VERSION
104564  auto
104565 # else
104566  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
104567  const void * const &,
104568  VULKAN_HPP_NAMESPACE::VideoEncodeUsageFlagsKHR const &,
104569  VULKAN_HPP_NAMESPACE::VideoEncodeContentFlagsKHR const &,
104570  VULKAN_HPP_NAMESPACE::VideoEncodeTuningModeKHR const &>
104571 # endif
104572  reflect() const VULKAN_HPP_NOEXCEPT
104573  {
104574  return std::tie( sType, pNext, videoUsageHints, videoContentHints, tuningMode );
104575  }
104576 # endif
104577 
104578 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
104579  auto operator<=>( VideoEncodeUsageInfoKHR const & ) const = default;
104580 # else
104581  bool operator==( VideoEncodeUsageInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
104582  {
104583 # if defined( VULKAN_HPP_USE_REFLECT )
104584  return this->reflect() == rhs.reflect();
104585 # else
104586  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( videoUsageHints == rhs.videoUsageHints ) && ( videoContentHints == rhs.videoContentHints ) &&
104587  ( tuningMode == rhs.tuningMode );
104588 # endif
104589  }
104590 
104591  bool operator!=( VideoEncodeUsageInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
104592  {
104593  return !operator==( rhs );
104594  }
104595 # endif
104596 
104597  public:
104598  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoEncodeUsageInfoKHR;
104599  const void * pNext = {};
104600  VULKAN_HPP_NAMESPACE::VideoEncodeUsageFlagsKHR videoUsageHints = {};
104601  VULKAN_HPP_NAMESPACE::VideoEncodeContentFlagsKHR videoContentHints = {};
104602  VULKAN_HPP_NAMESPACE::VideoEncodeTuningModeKHR tuningMode = VULKAN_HPP_NAMESPACE::VideoEncodeTuningModeKHR::eDefault;
104603  };
104604 
104605  template <>
104606  struct CppType<StructureType, StructureType::eVideoEncodeUsageInfoKHR>
104607  {
104608  using Type = VideoEncodeUsageInfoKHR;
104609  };
104610 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
104611 
104612 #if defined( VK_ENABLE_BETA_EXTENSIONS )
104613  struct VideoEndCodingInfoKHR
104614  {
104615  using NativeType = VkVideoEndCodingInfoKHR;
104616 
104617  static const bool allowDuplicate = false;
104618  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoEndCodingInfoKHR;
104619 
104620 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
104621  VULKAN_HPP_CONSTEXPR VideoEndCodingInfoKHR( VULKAN_HPP_NAMESPACE::VideoEndCodingFlagsKHR flags_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
104622  : pNext( pNext_ )
104623  , flags( flags_ )
104624  {
104625  }
104626 
104627  VULKAN_HPP_CONSTEXPR VideoEndCodingInfoKHR( VideoEndCodingInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
104628 
104629  VideoEndCodingInfoKHR( VkVideoEndCodingInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
104630  : VideoEndCodingInfoKHR( *reinterpret_cast<VideoEndCodingInfoKHR const *>( &rhs ) )
104631  {
104632  }
104633 
104634  VideoEndCodingInfoKHR & operator=( VideoEndCodingInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
104635 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
104636 
104637  VideoEndCodingInfoKHR & operator=( VkVideoEndCodingInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
104638  {
104639  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoEndCodingInfoKHR const *>( &rhs );
104640  return *this;
104641  }
104642 
104643 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
104644  VULKAN_HPP_CONSTEXPR_14 VideoEndCodingInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
104645  {
104646  pNext = pNext_;
104647  return *this;
104648  }
104649 
104650  VULKAN_HPP_CONSTEXPR_14 VideoEndCodingInfoKHR & setFlags( VULKAN_HPP_NAMESPACE::VideoEndCodingFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT
104651  {
104652  flags = flags_;
104653  return *this;
104654  }
104655 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
104656 
104657  operator VkVideoEndCodingInfoKHR const &() const VULKAN_HPP_NOEXCEPT
104658  {
104659  return *reinterpret_cast<const VkVideoEndCodingInfoKHR *>( this );
104660  }
104661 
104663  {
104664  return *reinterpret_cast<VkVideoEndCodingInfoKHR *>( this );
104665  }
104666 
104667 # if defined( VULKAN_HPP_USE_REFLECT )
104668 # if 14 <= VULKAN_HPP_CPP_VERSION
104669  auto
104670 # else
104671  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::VideoEndCodingFlagsKHR const &>
104672 # endif
104673  reflect() const VULKAN_HPP_NOEXCEPT
104674  {
104675  return std::tie( sType, pNext, flags );
104676  }
104677 # endif
104678 
104679 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
104680  auto operator<=>( VideoEndCodingInfoKHR const & ) const = default;
104681 # else
104682  bool operator==( VideoEndCodingInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
104683  {
104684 # if defined( VULKAN_HPP_USE_REFLECT )
104685  return this->reflect() == rhs.reflect();
104686 # else
104687  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags );
104688 # endif
104689  }
104690 
104691  bool operator!=( VideoEndCodingInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
104692  {
104693  return !operator==( rhs );
104694  }
104695 # endif
104696 
104697  public:
104698  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoEndCodingInfoKHR;
104699  const void * pNext = {};
104700  VULKAN_HPP_NAMESPACE::VideoEndCodingFlagsKHR flags = {};
104701  };
104702 
104703  template <>
104704  struct CppType<StructureType, StructureType::eVideoEndCodingInfoKHR>
104705  {
104706  using Type = VideoEndCodingInfoKHR;
104707  };
104708 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
104709 
104710 #if defined( VK_ENABLE_BETA_EXTENSIONS )
104711  struct VideoFormatPropertiesKHR
104712  {
104713  using NativeType = VkVideoFormatPropertiesKHR;
104714 
104715  static const bool allowDuplicate = false;
104716  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoFormatPropertiesKHR;
104717 
104718 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
104720  VULKAN_HPP_NAMESPACE::ComponentMapping componentMapping_ = {},
104721  VULKAN_HPP_NAMESPACE::ImageCreateFlags imageCreateFlags_ = {},
104724  VULKAN_HPP_NAMESPACE::ImageUsageFlags imageUsageFlags_ = {},
104725  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
104726  : pNext( pNext_ )
104727  , format( format_ )
104728  , componentMapping( componentMapping_ )
104729  , imageCreateFlags( imageCreateFlags_ )
104730  , imageType( imageType_ )
104731  , imageTiling( imageTiling_ )
104732  , imageUsageFlags( imageUsageFlags_ )
104733  {
104734  }
104735 
104736  VULKAN_HPP_CONSTEXPR VideoFormatPropertiesKHR( VideoFormatPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
104737 
104738  VideoFormatPropertiesKHR( VkVideoFormatPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
104739  : VideoFormatPropertiesKHR( *reinterpret_cast<VideoFormatPropertiesKHR const *>( &rhs ) )
104740  {
104741  }
104742 
104743  VideoFormatPropertiesKHR & operator=( VideoFormatPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
104744 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
104745 
104746  VideoFormatPropertiesKHR & operator=( VkVideoFormatPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT
104747  {
104748  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoFormatPropertiesKHR const *>( &rhs );
104749  return *this;
104750  }
104751 
104752  operator VkVideoFormatPropertiesKHR const &() const VULKAN_HPP_NOEXCEPT
104753  {
104754  return *reinterpret_cast<const VkVideoFormatPropertiesKHR *>( this );
104755  }
104756 
104758  {
104759  return *reinterpret_cast<VkVideoFormatPropertiesKHR *>( this );
104760  }
104761 
104762 # if defined( VULKAN_HPP_USE_REFLECT )
104763 # if 14 <= VULKAN_HPP_CPP_VERSION
104764  auto
104765 # else
104766  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
104767  void * const &,
104774 # endif
104775  reflect() const VULKAN_HPP_NOEXCEPT
104776  {
104777  return std::tie( sType, pNext, format, componentMapping, imageCreateFlags, imageType, imageTiling, imageUsageFlags );
104778  }
104779 # endif
104780 
104781 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
104782  auto operator<=>( VideoFormatPropertiesKHR const & ) const = default;
104783 # else
104784  bool operator==( VideoFormatPropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
104785  {
104786 # if defined( VULKAN_HPP_USE_REFLECT )
104787  return this->reflect() == rhs.reflect();
104788 # else
104789  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( format == rhs.format ) && ( componentMapping == rhs.componentMapping ) &&
104790  ( imageCreateFlags == rhs.imageCreateFlags ) && ( imageType == rhs.imageType ) && ( imageTiling == rhs.imageTiling ) &&
104791  ( imageUsageFlags == rhs.imageUsageFlags );
104792 # endif
104793  }
104794 
104795  bool operator!=( VideoFormatPropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
104796  {
104797  return !operator==( rhs );
104798  }
104799 # endif
104800 
104801  public:
104802  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoFormatPropertiesKHR;
104803  void * pNext = {};
104805  VULKAN_HPP_NAMESPACE::ComponentMapping componentMapping = {};
104806  VULKAN_HPP_NAMESPACE::ImageCreateFlags imageCreateFlags = {};
104809  VULKAN_HPP_NAMESPACE::ImageUsageFlags imageUsageFlags = {};
104810  };
104811 
104812  template <>
104813  struct CppType<StructureType, StructureType::eVideoFormatPropertiesKHR>
104814  {
104815  using Type = VideoFormatPropertiesKHR;
104816  };
104817 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
104818 
104819 #if defined( VK_ENABLE_BETA_EXTENSIONS )
104820  struct VideoProfileInfoKHR
104821  {
104822  using NativeType = VkVideoProfileInfoKHR;
104823 
104824  static const bool allowDuplicate = false;
104825  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoProfileInfoKHR;
104826 
104827 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
104828  VULKAN_HPP_CONSTEXPR VideoProfileInfoKHR(
104829  VULKAN_HPP_NAMESPACE::VideoCodecOperationFlagBitsKHR videoCodecOperation_ = VULKAN_HPP_NAMESPACE::VideoCodecOperationFlagBitsKHR::eNone,
104830  VULKAN_HPP_NAMESPACE::VideoChromaSubsamplingFlagsKHR chromaSubsampling_ = {},
104831  VULKAN_HPP_NAMESPACE::VideoComponentBitDepthFlagsKHR lumaBitDepth_ = {},
104832  VULKAN_HPP_NAMESPACE::VideoComponentBitDepthFlagsKHR chromaBitDepth_ = {},
104833  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
104834  : pNext( pNext_ )
104835  , videoCodecOperation( videoCodecOperation_ )
104836  , chromaSubsampling( chromaSubsampling_ )
104837  , lumaBitDepth( lumaBitDepth_ )
104838  , chromaBitDepth( chromaBitDepth_ )
104839  {
104840  }
104841 
104842  VULKAN_HPP_CONSTEXPR VideoProfileInfoKHR( VideoProfileInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
104843 
104844  VideoProfileInfoKHR( VkVideoProfileInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : VideoProfileInfoKHR( *reinterpret_cast<VideoProfileInfoKHR const *>( &rhs ) )
104845  {
104846  }
104847 
104848  VideoProfileInfoKHR & operator=( VideoProfileInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
104849 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
104850 
104851  VideoProfileInfoKHR & operator=( VkVideoProfileInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
104852  {
104853  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoProfileInfoKHR const *>( &rhs );
104854  return *this;
104855  }
104856 
104857 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
104858  VULKAN_HPP_CONSTEXPR_14 VideoProfileInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
104859  {
104860  pNext = pNext_;
104861  return *this;
104862  }
104863 
104864  VULKAN_HPP_CONSTEXPR_14 VideoProfileInfoKHR &
104865  setVideoCodecOperation( VULKAN_HPP_NAMESPACE::VideoCodecOperationFlagBitsKHR videoCodecOperation_ ) VULKAN_HPP_NOEXCEPT
104866  {
104867  videoCodecOperation = videoCodecOperation_;
104868  return *this;
104869  }
104870 
104871  VULKAN_HPP_CONSTEXPR_14 VideoProfileInfoKHR &
104872  setChromaSubsampling( VULKAN_HPP_NAMESPACE::VideoChromaSubsamplingFlagsKHR chromaSubsampling_ ) VULKAN_HPP_NOEXCEPT
104873  {
104874  chromaSubsampling = chromaSubsampling_;
104875  return *this;
104876  }
104877 
104878  VULKAN_HPP_CONSTEXPR_14 VideoProfileInfoKHR & setLumaBitDepth( VULKAN_HPP_NAMESPACE::VideoComponentBitDepthFlagsKHR lumaBitDepth_ ) VULKAN_HPP_NOEXCEPT
104879  {
104880  lumaBitDepth = lumaBitDepth_;
104881  return *this;
104882  }
104883 
104884  VULKAN_HPP_CONSTEXPR_14 VideoProfileInfoKHR & setChromaBitDepth( VULKAN_HPP_NAMESPACE::VideoComponentBitDepthFlagsKHR chromaBitDepth_ ) VULKAN_HPP_NOEXCEPT
104885  {
104886  chromaBitDepth = chromaBitDepth_;
104887  return *this;
104888  }
104889 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
104890 
104891  operator VkVideoProfileInfoKHR const &() const VULKAN_HPP_NOEXCEPT
104892  {
104893  return *reinterpret_cast<const VkVideoProfileInfoKHR *>( this );
104894  }
104895 
104897  {
104898  return *reinterpret_cast<VkVideoProfileInfoKHR *>( this );
104899  }
104900 
104901 # if defined( VULKAN_HPP_USE_REFLECT )
104902 # if 14 <= VULKAN_HPP_CPP_VERSION
104903  auto
104904 # else
104905  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
104906  const void * const &,
104907  VULKAN_HPP_NAMESPACE::VideoCodecOperationFlagBitsKHR const &,
104908  VULKAN_HPP_NAMESPACE::VideoChromaSubsamplingFlagsKHR const &,
104909  VULKAN_HPP_NAMESPACE::VideoComponentBitDepthFlagsKHR const &,
104910  VULKAN_HPP_NAMESPACE::VideoComponentBitDepthFlagsKHR const &>
104911 # endif
104912  reflect() const VULKAN_HPP_NOEXCEPT
104913  {
104914  return std::tie( sType, pNext, videoCodecOperation, chromaSubsampling, lumaBitDepth, chromaBitDepth );
104915  }
104916 # endif
104917 
104918 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
104919  auto operator<=>( VideoProfileInfoKHR const & ) const = default;
104920 # else
104921  bool operator==( VideoProfileInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
104922  {
104923 # if defined( VULKAN_HPP_USE_REFLECT )
104924  return this->reflect() == rhs.reflect();
104925 # else
104926  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( videoCodecOperation == rhs.videoCodecOperation ) &&
104927  ( chromaSubsampling == rhs.chromaSubsampling ) && ( lumaBitDepth == rhs.lumaBitDepth ) && ( chromaBitDepth == rhs.chromaBitDepth );
104928 # endif
104929  }
104930 
104931  bool operator!=( VideoProfileInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
104932  {
104933  return !operator==( rhs );
104934  }
104935 # endif
104936 
104937  public:
104938  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoProfileInfoKHR;
104939  const void * pNext = {};
104940  VULKAN_HPP_NAMESPACE::VideoCodecOperationFlagBitsKHR videoCodecOperation = VULKAN_HPP_NAMESPACE::VideoCodecOperationFlagBitsKHR::eNone;
104941  VULKAN_HPP_NAMESPACE::VideoChromaSubsamplingFlagsKHR chromaSubsampling = {};
104942  VULKAN_HPP_NAMESPACE::VideoComponentBitDepthFlagsKHR lumaBitDepth = {};
104943  VULKAN_HPP_NAMESPACE::VideoComponentBitDepthFlagsKHR chromaBitDepth = {};
104944  };
104945 
104946  template <>
104947  struct CppType<StructureType, StructureType::eVideoProfileInfoKHR>
104948  {
104949  using Type = VideoProfileInfoKHR;
104950  };
104951 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
104952 
104953 #if defined( VK_ENABLE_BETA_EXTENSIONS )
104954  struct VideoProfileListInfoKHR
104955  {
104956  using NativeType = VkVideoProfileListInfoKHR;
104957 
104958  static const bool allowDuplicate = false;
104959  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoProfileListInfoKHR;
104960 
104961 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
104962  VULKAN_HPP_CONSTEXPR VideoProfileListInfoKHR( uint32_t profileCount_ = {},
104963  const VULKAN_HPP_NAMESPACE::VideoProfileInfoKHR * pProfiles_ = {},
104964  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
104965  : pNext( pNext_ )
104966  , profileCount( profileCount_ )
104967  , pProfiles( pProfiles_ )
104968  {
104969  }
104970 
104971  VULKAN_HPP_CONSTEXPR VideoProfileListInfoKHR( VideoProfileListInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
104972 
104973  VideoProfileListInfoKHR( VkVideoProfileListInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
104974  : VideoProfileListInfoKHR( *reinterpret_cast<VideoProfileListInfoKHR const *>( &rhs ) )
104975  {
104976  }
104977 
104978 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
104980  const void * pNext_ = nullptr )
104981  : pNext( pNext_ ), profileCount( static_cast<uint32_t>( profiles_.size() ) ), pProfiles( profiles_.data() )
104982  {
104983  }
104984 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
104985 
104986  VideoProfileListInfoKHR & operator=( VideoProfileListInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
104987 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
104988 
104989  VideoProfileListInfoKHR & operator=( VkVideoProfileListInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
104990  {
104991  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoProfileListInfoKHR const *>( &rhs );
104992  return *this;
104993  }
104994 
104995 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
104996  VULKAN_HPP_CONSTEXPR_14 VideoProfileListInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
104997  {
104998  pNext = pNext_;
104999  return *this;
105000  }
105001 
105002  VULKAN_HPP_CONSTEXPR_14 VideoProfileListInfoKHR & setProfileCount( uint32_t profileCount_ ) VULKAN_HPP_NOEXCEPT
105003  {
105004  profileCount = profileCount_;
105005  return *this;
105006  }
105007 
105008  VULKAN_HPP_CONSTEXPR_14 VideoProfileListInfoKHR & setPProfiles( const VULKAN_HPP_NAMESPACE::VideoProfileInfoKHR * pProfiles_ ) VULKAN_HPP_NOEXCEPT
105009  {
105010  pProfiles = pProfiles_;
105011  return *this;
105012  }
105013 
105014 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
105015  VideoProfileListInfoKHR &
105017  {
105018  profileCount = static_cast<uint32_t>( profiles_.size() );
105019  pProfiles = profiles_.data();
105020  return *this;
105021  }
105022 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
105023 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
105024 
105025  operator VkVideoProfileListInfoKHR const &() const VULKAN_HPP_NOEXCEPT
105026  {
105027  return *reinterpret_cast<const VkVideoProfileListInfoKHR *>( this );
105028  }
105029 
105031  {
105032  return *reinterpret_cast<VkVideoProfileListInfoKHR *>( this );
105033  }
105034 
105035 # if defined( VULKAN_HPP_USE_REFLECT )
105036 # if 14 <= VULKAN_HPP_CPP_VERSION
105037  auto
105038 # else
105039  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &, const VULKAN_HPP_NAMESPACE::VideoProfileInfoKHR * const &>
105040 # endif
105041  reflect() const VULKAN_HPP_NOEXCEPT
105042  {
105043  return std::tie( sType, pNext, profileCount, pProfiles );
105044  }
105045 # endif
105046 
105047 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
105048  auto operator<=>( VideoProfileListInfoKHR const & ) const = default;
105049 # else
105050  bool operator==( VideoProfileListInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
105051  {
105052 # if defined( VULKAN_HPP_USE_REFLECT )
105053  return this->reflect() == rhs.reflect();
105054 # else
105055  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( profileCount == rhs.profileCount ) && ( pProfiles == rhs.pProfiles );
105056 # endif
105057  }
105058 
105059  bool operator!=( VideoProfileListInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
105060  {
105061  return !operator==( rhs );
105062  }
105063 # endif
105064 
105065  public:
105066  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoProfileListInfoKHR;
105067  const void * pNext = {};
105068  uint32_t profileCount = {};
105069  const VULKAN_HPP_NAMESPACE::VideoProfileInfoKHR * pProfiles = {};
105070  };
105071 
105072  template <>
105073  struct CppType<StructureType, StructureType::eVideoProfileListInfoKHR>
105074  {
105075  using Type = VideoProfileListInfoKHR;
105076  };
105077 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
105078 
105079 #if defined( VK_ENABLE_BETA_EXTENSIONS )
105080  struct VideoSessionCreateInfoKHR
105081  {
105082  using NativeType = VkVideoSessionCreateInfoKHR;
105083 
105084  static const bool allowDuplicate = false;
105085  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoSessionCreateInfoKHR;
105086 
105087 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
105088  VULKAN_HPP_CONSTEXPR_14 VideoSessionCreateInfoKHR( uint32_t queueFamilyIndex_ = {},
105089  VULKAN_HPP_NAMESPACE::VideoSessionCreateFlagsKHR flags_ = {},
105090  const VULKAN_HPP_NAMESPACE::VideoProfileInfoKHR * pVideoProfile_ = {},
105092  VULKAN_HPP_NAMESPACE::Extent2D maxCodedExtent_ = {},
105094  uint32_t maxDpbSlots_ = {},
105095  uint32_t maxActiveReferencePictures_ = {},
105096  const VULKAN_HPP_NAMESPACE::ExtensionProperties * pStdHeaderVersion_ = {},
105097  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
105098  : pNext( pNext_ )
105099  , queueFamilyIndex( queueFamilyIndex_ )
105100  , flags( flags_ )
105101  , pVideoProfile( pVideoProfile_ )
105102  , pictureFormat( pictureFormat_ )
105103  , maxCodedExtent( maxCodedExtent_ )
105104  , referencePictureFormat( referencePictureFormat_ )
105105  , maxDpbSlots( maxDpbSlots_ )
105106  , maxActiveReferencePictures( maxActiveReferencePictures_ )
105107  , pStdHeaderVersion( pStdHeaderVersion_ )
105108  {
105109  }
105110 
105111  VULKAN_HPP_CONSTEXPR_14 VideoSessionCreateInfoKHR( VideoSessionCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
105112 
105113  VideoSessionCreateInfoKHR( VkVideoSessionCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
105114  : VideoSessionCreateInfoKHR( *reinterpret_cast<VideoSessionCreateInfoKHR const *>( &rhs ) )
105115  {
105116  }
105117 
105118  VideoSessionCreateInfoKHR & operator=( VideoSessionCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
105119 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
105120 
105121  VideoSessionCreateInfoKHR & operator=( VkVideoSessionCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
105122  {
105123  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoSessionCreateInfoKHR const *>( &rhs );
105124  return *this;
105125  }
105126 
105127 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
105128  VULKAN_HPP_CONSTEXPR_14 VideoSessionCreateInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
105129  {
105130  pNext = pNext_;
105131  return *this;
105132  }
105133 
105134  VULKAN_HPP_CONSTEXPR_14 VideoSessionCreateInfoKHR & setQueueFamilyIndex( uint32_t queueFamilyIndex_ ) VULKAN_HPP_NOEXCEPT
105135  {
105136  queueFamilyIndex = queueFamilyIndex_;
105137  return *this;
105138  }
105139 
105140  VULKAN_HPP_CONSTEXPR_14 VideoSessionCreateInfoKHR & setFlags( VULKAN_HPP_NAMESPACE::VideoSessionCreateFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT
105141  {
105142  flags = flags_;
105143  return *this;
105144  }
105145 
105146  VULKAN_HPP_CONSTEXPR_14 VideoSessionCreateInfoKHR & setPVideoProfile( const VULKAN_HPP_NAMESPACE::VideoProfileInfoKHR * pVideoProfile_ ) VULKAN_HPP_NOEXCEPT
105147  {
105148  pVideoProfile = pVideoProfile_;
105149  return *this;
105150  }
105151 
105152  VULKAN_HPP_CONSTEXPR_14 VideoSessionCreateInfoKHR & setPictureFormat( VULKAN_HPP_NAMESPACE::Format pictureFormat_ ) VULKAN_HPP_NOEXCEPT
105153  {
105154  pictureFormat = pictureFormat_;
105155  return *this;
105156  }
105157 
105158  VULKAN_HPP_CONSTEXPR_14 VideoSessionCreateInfoKHR & setMaxCodedExtent( VULKAN_HPP_NAMESPACE::Extent2D const & maxCodedExtent_ ) VULKAN_HPP_NOEXCEPT
105159  {
105160  maxCodedExtent = maxCodedExtent_;
105161  return *this;
105162  }
105163 
105164  VULKAN_HPP_CONSTEXPR_14 VideoSessionCreateInfoKHR & setReferencePictureFormat( VULKAN_HPP_NAMESPACE::Format referencePictureFormat_ ) VULKAN_HPP_NOEXCEPT
105165  {
105166  referencePictureFormat = referencePictureFormat_;
105167  return *this;
105168  }
105169 
105170  VULKAN_HPP_CONSTEXPR_14 VideoSessionCreateInfoKHR & setMaxDpbSlots( uint32_t maxDpbSlots_ ) VULKAN_HPP_NOEXCEPT
105171  {
105172  maxDpbSlots = maxDpbSlots_;
105173  return *this;
105174  }
105175 
105176  VULKAN_HPP_CONSTEXPR_14 VideoSessionCreateInfoKHR & setMaxActiveReferencePictures( uint32_t maxActiveReferencePictures_ ) VULKAN_HPP_NOEXCEPT
105177  {
105178  maxActiveReferencePictures = maxActiveReferencePictures_;
105179  return *this;
105180  }
105181 
105182  VULKAN_HPP_CONSTEXPR_14 VideoSessionCreateInfoKHR &
105183  setPStdHeaderVersion( const VULKAN_HPP_NAMESPACE::ExtensionProperties * pStdHeaderVersion_ ) VULKAN_HPP_NOEXCEPT
105184  {
105185  pStdHeaderVersion = pStdHeaderVersion_;
105186  return *this;
105187  }
105188 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
105189 
105190  operator VkVideoSessionCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT
105191  {
105192  return *reinterpret_cast<const VkVideoSessionCreateInfoKHR *>( this );
105193  }
105194 
105196  {
105197  return *reinterpret_cast<VkVideoSessionCreateInfoKHR *>( this );
105198  }
105199 
105200 # if defined( VULKAN_HPP_USE_REFLECT )
105201 # if 14 <= VULKAN_HPP_CPP_VERSION
105202  auto
105203 # else
105204  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
105205  const void * const &,
105206  uint32_t const &,
105207  VULKAN_HPP_NAMESPACE::VideoSessionCreateFlagsKHR const &,
105208  const VULKAN_HPP_NAMESPACE::VideoProfileInfoKHR * const &,
105212  uint32_t const &,
105213  uint32_t const &,
105215 # endif
105216  reflect() const VULKAN_HPP_NOEXCEPT
105217  {
105218  return std::tie( sType,
105219  pNext,
105220  queueFamilyIndex,
105221  flags,
105222  pVideoProfile,
105223  pictureFormat,
105224  maxCodedExtent,
105225  referencePictureFormat,
105226  maxDpbSlots,
105227  maxActiveReferencePictures,
105228  pStdHeaderVersion );
105229  }
105230 # endif
105231 
105232 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
105233  auto operator<=>( VideoSessionCreateInfoKHR const & ) const = default;
105234 # else
105235  bool operator==( VideoSessionCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
105236  {
105237 # if defined( VULKAN_HPP_USE_REFLECT )
105238  return this->reflect() == rhs.reflect();
105239 # else
105240  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( queueFamilyIndex == rhs.queueFamilyIndex ) && ( flags == rhs.flags ) &&
105241  ( pVideoProfile == rhs.pVideoProfile ) && ( pictureFormat == rhs.pictureFormat ) && ( maxCodedExtent == rhs.maxCodedExtent ) &&
105242  ( referencePictureFormat == rhs.referencePictureFormat ) && ( maxDpbSlots == rhs.maxDpbSlots ) &&
105243  ( maxActiveReferencePictures == rhs.maxActiveReferencePictures ) && ( pStdHeaderVersion == rhs.pStdHeaderVersion );
105244 # endif
105245  }
105246 
105247  bool operator!=( VideoSessionCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
105248  {
105249  return !operator==( rhs );
105250  }
105251 # endif
105252 
105253  public:
105254  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoSessionCreateInfoKHR;
105255  const void * pNext = {};
105256  uint32_t queueFamilyIndex = {};
105257  VULKAN_HPP_NAMESPACE::VideoSessionCreateFlagsKHR flags = {};
105258  const VULKAN_HPP_NAMESPACE::VideoProfileInfoKHR * pVideoProfile = {};
105260  VULKAN_HPP_NAMESPACE::Extent2D maxCodedExtent = {};
105262  uint32_t maxDpbSlots = {};
105263  uint32_t maxActiveReferencePictures = {};
105264  const VULKAN_HPP_NAMESPACE::ExtensionProperties * pStdHeaderVersion = {};
105265  };
105266 
105267  template <>
105268  struct CppType<StructureType, StructureType::eVideoSessionCreateInfoKHR>
105269  {
105270  using Type = VideoSessionCreateInfoKHR;
105271  };
105272 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
105273 
105274 #if defined( VK_ENABLE_BETA_EXTENSIONS )
105275  struct VideoSessionMemoryRequirementsKHR
105276  {
105277  using NativeType = VkVideoSessionMemoryRequirementsKHR;
105278 
105279  static const bool allowDuplicate = false;
105280  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoSessionMemoryRequirementsKHR;
105281 
105282 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
105283  VULKAN_HPP_CONSTEXPR VideoSessionMemoryRequirementsKHR( uint32_t memoryBindIndex_ = {},
105284  VULKAN_HPP_NAMESPACE::MemoryRequirements memoryRequirements_ = {},
105285  void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
105286  : pNext( pNext_ )
105287  , memoryBindIndex( memoryBindIndex_ )
105288  , memoryRequirements( memoryRequirements_ )
105289  {
105290  }
105291 
105292  VULKAN_HPP_CONSTEXPR VideoSessionMemoryRequirementsKHR( VideoSessionMemoryRequirementsKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
105293 
105294  VideoSessionMemoryRequirementsKHR( VkVideoSessionMemoryRequirementsKHR const & rhs ) VULKAN_HPP_NOEXCEPT
105295  : VideoSessionMemoryRequirementsKHR( *reinterpret_cast<VideoSessionMemoryRequirementsKHR const *>( &rhs ) )
105296  {
105297  }
105298 
105299  VideoSessionMemoryRequirementsKHR & operator=( VideoSessionMemoryRequirementsKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
105300 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
105301 
105302  VideoSessionMemoryRequirementsKHR & operator=( VkVideoSessionMemoryRequirementsKHR const & rhs ) VULKAN_HPP_NOEXCEPT
105303  {
105304  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoSessionMemoryRequirementsKHR const *>( &rhs );
105305  return *this;
105306  }
105307 
105309  {
105310  return *reinterpret_cast<const VkVideoSessionMemoryRequirementsKHR *>( this );
105311  }
105312 
105314  {
105315  return *reinterpret_cast<VkVideoSessionMemoryRequirementsKHR *>( this );
105316  }
105317 
105318 # if defined( VULKAN_HPP_USE_REFLECT )
105319 # if 14 <= VULKAN_HPP_CPP_VERSION
105320  auto
105321 # else
105322  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, uint32_t const &, VULKAN_HPP_NAMESPACE::MemoryRequirements const &>
105323 # endif
105324  reflect() const VULKAN_HPP_NOEXCEPT
105325  {
105326  return std::tie( sType, pNext, memoryBindIndex, memoryRequirements );
105327  }
105328 # endif
105329 
105330 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
105331  auto operator<=>( VideoSessionMemoryRequirementsKHR const & ) const = default;
105332 # else
105333  bool operator==( VideoSessionMemoryRequirementsKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
105334  {
105335 # if defined( VULKAN_HPP_USE_REFLECT )
105336  return this->reflect() == rhs.reflect();
105337 # else
105338  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memoryBindIndex == rhs.memoryBindIndex ) && ( memoryRequirements == rhs.memoryRequirements );
105339 # endif
105340  }
105341 
105342  bool operator!=( VideoSessionMemoryRequirementsKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
105343  {
105344  return !operator==( rhs );
105345  }
105346 # endif
105347 
105348  public:
105349  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoSessionMemoryRequirementsKHR;
105350  void * pNext = {};
105351  uint32_t memoryBindIndex = {};
105352  VULKAN_HPP_NAMESPACE::MemoryRequirements memoryRequirements = {};
105353  };
105354 
105355  template <>
105356  struct CppType<StructureType, StructureType::eVideoSessionMemoryRequirementsKHR>
105357  {
105358  using Type = VideoSessionMemoryRequirementsKHR;
105359  };
105360 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
105361 
105362 #if defined( VK_ENABLE_BETA_EXTENSIONS )
105363  struct VideoSessionParametersCreateInfoKHR
105364  {
105365  using NativeType = VkVideoSessionParametersCreateInfoKHR;
105366 
105367  static const bool allowDuplicate = false;
105368  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoSessionParametersCreateInfoKHR;
105369 
105370 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
105371  VULKAN_HPP_CONSTEXPR VideoSessionParametersCreateInfoKHR( VULKAN_HPP_NAMESPACE::VideoSessionParametersCreateFlagsKHR flags_ = {},
105372  VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR videoSessionParametersTemplate_ = {},
105373  VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession_ = {},
105374  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
105375  : pNext( pNext_ )
105376  , flags( flags_ )
105377  , videoSessionParametersTemplate( videoSessionParametersTemplate_ )
105378  , videoSession( videoSession_ )
105379  {
105380  }
105381 
105382  VULKAN_HPP_CONSTEXPR VideoSessionParametersCreateInfoKHR( VideoSessionParametersCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
105383 
105384  VideoSessionParametersCreateInfoKHR( VkVideoSessionParametersCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
105385  : VideoSessionParametersCreateInfoKHR( *reinterpret_cast<VideoSessionParametersCreateInfoKHR const *>( &rhs ) )
105386  {
105387  }
105388 
105389  VideoSessionParametersCreateInfoKHR & operator=( VideoSessionParametersCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
105390 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
105391 
105392  VideoSessionParametersCreateInfoKHR & operator=( VkVideoSessionParametersCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
105393  {
105394  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoSessionParametersCreateInfoKHR const *>( &rhs );
105395  return *this;
105396  }
105397 
105398 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
105399  VULKAN_HPP_CONSTEXPR_14 VideoSessionParametersCreateInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
105400  {
105401  pNext = pNext_;
105402  return *this;
105403  }
105404 
105405  VULKAN_HPP_CONSTEXPR_14 VideoSessionParametersCreateInfoKHR &
105406  setFlags( VULKAN_HPP_NAMESPACE::VideoSessionParametersCreateFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT
105407  {
105408  flags = flags_;
105409  return *this;
105410  }
105411 
105412  VULKAN_HPP_CONSTEXPR_14 VideoSessionParametersCreateInfoKHR &
105413  setVideoSessionParametersTemplate( VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR videoSessionParametersTemplate_ ) VULKAN_HPP_NOEXCEPT
105414  {
105415  videoSessionParametersTemplate = videoSessionParametersTemplate_;
105416  return *this;
105417  }
105418 
105419  VULKAN_HPP_CONSTEXPR_14 VideoSessionParametersCreateInfoKHR & setVideoSession( VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession_ ) VULKAN_HPP_NOEXCEPT
105420  {
105421  videoSession = videoSession_;
105422  return *this;
105423  }
105424 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
105425 
105427  {
105428  return *reinterpret_cast<const VkVideoSessionParametersCreateInfoKHR *>( this );
105429  }
105430 
105432  {
105433  return *reinterpret_cast<VkVideoSessionParametersCreateInfoKHR *>( this );
105434  }
105435 
105436 # if defined( VULKAN_HPP_USE_REFLECT )
105437 # if 14 <= VULKAN_HPP_CPP_VERSION
105438  auto
105439 # else
105440  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
105441  const void * const &,
105442  VULKAN_HPP_NAMESPACE::VideoSessionParametersCreateFlagsKHR const &,
105443  VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR const &,
105444  VULKAN_HPP_NAMESPACE::VideoSessionKHR const &>
105445 # endif
105446  reflect() const VULKAN_HPP_NOEXCEPT
105447  {
105448  return std::tie( sType, pNext, flags, videoSessionParametersTemplate, videoSession );
105449  }
105450 # endif
105451 
105452 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
105453  auto operator<=>( VideoSessionParametersCreateInfoKHR const & ) const = default;
105454 # else
105455  bool operator==( VideoSessionParametersCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
105456  {
105457 # if defined( VULKAN_HPP_USE_REFLECT )
105458  return this->reflect() == rhs.reflect();
105459 # else
105460  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) &&
105461  ( videoSessionParametersTemplate == rhs.videoSessionParametersTemplate ) && ( videoSession == rhs.videoSession );
105462 # endif
105463  }
105464 
105465  bool operator!=( VideoSessionParametersCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
105466  {
105467  return !operator==( rhs );
105468  }
105469 # endif
105470 
105471  public:
105472  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoSessionParametersCreateInfoKHR;
105473  const void * pNext = {};
105474  VULKAN_HPP_NAMESPACE::VideoSessionParametersCreateFlagsKHR flags = {};
105475  VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR videoSessionParametersTemplate = {};
105476  VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession = {};
105477  };
105478 
105479  template <>
105480  struct CppType<StructureType, StructureType::eVideoSessionParametersCreateInfoKHR>
105481  {
105482  using Type = VideoSessionParametersCreateInfoKHR;
105483  };
105484 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
105485 
105486 #if defined( VK_ENABLE_BETA_EXTENSIONS )
105487  struct VideoSessionParametersUpdateInfoKHR
105488  {
105489  using NativeType = VkVideoSessionParametersUpdateInfoKHR;
105490 
105491  static const bool allowDuplicate = false;
105492  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoSessionParametersUpdateInfoKHR;
105493 
105494 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
105495  VULKAN_HPP_CONSTEXPR VideoSessionParametersUpdateInfoKHR( uint32_t updateSequenceCount_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
105496  : pNext( pNext_ )
105497  , updateSequenceCount( updateSequenceCount_ )
105498  {
105499  }
105500 
105501  VULKAN_HPP_CONSTEXPR VideoSessionParametersUpdateInfoKHR( VideoSessionParametersUpdateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
105502 
105503  VideoSessionParametersUpdateInfoKHR( VkVideoSessionParametersUpdateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
105504  : VideoSessionParametersUpdateInfoKHR( *reinterpret_cast<VideoSessionParametersUpdateInfoKHR const *>( &rhs ) )
105505  {
105506  }
105507 
105508  VideoSessionParametersUpdateInfoKHR & operator=( VideoSessionParametersUpdateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
105509 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
105510 
105511  VideoSessionParametersUpdateInfoKHR & operator=( VkVideoSessionParametersUpdateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
105512  {
105513  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoSessionParametersUpdateInfoKHR const *>( &rhs );
105514  return *this;
105515  }
105516 
105517 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
105518  VULKAN_HPP_CONSTEXPR_14 VideoSessionParametersUpdateInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
105519  {
105520  pNext = pNext_;
105521  return *this;
105522  }
105523 
105524  VULKAN_HPP_CONSTEXPR_14 VideoSessionParametersUpdateInfoKHR & setUpdateSequenceCount( uint32_t updateSequenceCount_ ) VULKAN_HPP_NOEXCEPT
105525  {
105526  updateSequenceCount = updateSequenceCount_;
105527  return *this;
105528  }
105529 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
105530 
105532  {
105533  return *reinterpret_cast<const VkVideoSessionParametersUpdateInfoKHR *>( this );
105534  }
105535 
105537  {
105538  return *reinterpret_cast<VkVideoSessionParametersUpdateInfoKHR *>( this );
105539  }
105540 
105541 # if defined( VULKAN_HPP_USE_REFLECT )
105542 # if 14 <= VULKAN_HPP_CPP_VERSION
105543  auto
105544 # else
105545  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &>
105546 # endif
105547  reflect() const VULKAN_HPP_NOEXCEPT
105548  {
105549  return std::tie( sType, pNext, updateSequenceCount );
105550  }
105551 # endif
105552 
105553 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
105554  auto operator<=>( VideoSessionParametersUpdateInfoKHR const & ) const = default;
105555 # else
105556  bool operator==( VideoSessionParametersUpdateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
105557  {
105558 # if defined( VULKAN_HPP_USE_REFLECT )
105559  return this->reflect() == rhs.reflect();
105560 # else
105561  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( updateSequenceCount == rhs.updateSequenceCount );
105562 # endif
105563  }
105564 
105565  bool operator!=( VideoSessionParametersUpdateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
105566  {
105567  return !operator==( rhs );
105568  }
105569 # endif
105570 
105571  public:
105572  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoSessionParametersUpdateInfoKHR;
105573  const void * pNext = {};
105574  uint32_t updateSequenceCount = {};
105575  };
105576 
105577  template <>
105578  struct CppType<StructureType, StructureType::eVideoSessionParametersUpdateInfoKHR>
105579  {
105580  using Type = VideoSessionParametersUpdateInfoKHR;
105581  };
105582 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
105583 
105584 #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
105585  struct WaylandSurfaceCreateInfoKHR
105586  {
105587  using NativeType = VkWaylandSurfaceCreateInfoKHR;
105588 
105589  static const bool allowDuplicate = false;
105590  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eWaylandSurfaceCreateInfoKHR;
105591 
105592 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
105593  VULKAN_HPP_CONSTEXPR WaylandSurfaceCreateInfoKHR( VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateFlagsKHR flags_ = {},
105594  struct wl_display * display_ = {},
105595  struct wl_surface * surface_ = {},
105596  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
105597  : pNext( pNext_ )
105598  , flags( flags_ )
105599  , display( display_ )
105600  , surface( surface_ )
105601  {
105602  }
105603 
105604  VULKAN_HPP_CONSTEXPR WaylandSurfaceCreateInfoKHR( WaylandSurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
105605 
105606  WaylandSurfaceCreateInfoKHR( VkWaylandSurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
105607  : WaylandSurfaceCreateInfoKHR( *reinterpret_cast<WaylandSurfaceCreateInfoKHR const *>( &rhs ) )
105608  {
105609  }
105610 
105611  WaylandSurfaceCreateInfoKHR & operator=( WaylandSurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
105612 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
105613 
105614  WaylandSurfaceCreateInfoKHR & operator=( VkWaylandSurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
105615  {
105616  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateInfoKHR const *>( &rhs );
105617  return *this;
105618  }
105619 
105620 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
105621  VULKAN_HPP_CONSTEXPR_14 WaylandSurfaceCreateInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
105622  {
105623  pNext = pNext_;
105624  return *this;
105625  }
105626 
105627  VULKAN_HPP_CONSTEXPR_14 WaylandSurfaceCreateInfoKHR & setFlags( VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT
105628  {
105629  flags = flags_;
105630  return *this;
105631  }
105632 
105633  VULKAN_HPP_CONSTEXPR_14 WaylandSurfaceCreateInfoKHR & setDisplay( struct wl_display * display_ ) VULKAN_HPP_NOEXCEPT
105634  {
105635  display = display_;
105636  return *this;
105637  }
105638 
105639  VULKAN_HPP_CONSTEXPR_14 WaylandSurfaceCreateInfoKHR & setSurface( struct wl_surface * surface_ ) VULKAN_HPP_NOEXCEPT
105640  {
105641  surface = surface_;
105642  return *this;
105643  }
105644 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
105645 
105646  operator VkWaylandSurfaceCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT
105647  {
105648  return *reinterpret_cast<const VkWaylandSurfaceCreateInfoKHR *>( this );
105649  }
105650 
105652  {
105653  return *reinterpret_cast<VkWaylandSurfaceCreateInfoKHR *>( this );
105654  }
105655 
105656 # if defined( VULKAN_HPP_USE_REFLECT )
105657 # if 14 <= VULKAN_HPP_CPP_VERSION
105658  auto
105659 # else
105660  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
105661  const void * const &,
105662  VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateFlagsKHR const &,
105663  struct wl_display * const &,
105664  struct wl_surface * const &>
105665 # endif
105666  reflect() const VULKAN_HPP_NOEXCEPT
105667  {
105668  return std::tie( sType, pNext, flags, display, surface );
105669  }
105670 # endif
105671 
105672 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
105673  auto operator<=>( WaylandSurfaceCreateInfoKHR const & ) const = default;
105674 # else
105675  bool operator==( WaylandSurfaceCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
105676  {
105677 # if defined( VULKAN_HPP_USE_REFLECT )
105678  return this->reflect() == rhs.reflect();
105679 # else
105680  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( display == rhs.display ) && ( surface == rhs.surface );
105681 # endif
105682  }
105683 
105684  bool operator!=( WaylandSurfaceCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
105685  {
105686  return !operator==( rhs );
105687  }
105688 # endif
105689 
105690  public:
105691  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eWaylandSurfaceCreateInfoKHR;
105692  const void * pNext = {};
105693  VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateFlagsKHR flags = {};
105694  struct wl_display * display = {};
105695  struct wl_surface * surface = {};
105696  };
105697 
105698  template <>
105699  struct CppType<StructureType, StructureType::eWaylandSurfaceCreateInfoKHR>
105700  {
105701  using Type = WaylandSurfaceCreateInfoKHR;
105702  };
105703 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
105704 
105705 #if defined( VK_USE_PLATFORM_WIN32_KHR )
105706  struct Win32KeyedMutexAcquireReleaseInfoKHR
105707  {
105708  using NativeType = VkWin32KeyedMutexAcquireReleaseInfoKHR;
105709 
105710  static const bool allowDuplicate = false;
105711  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eWin32KeyedMutexAcquireReleaseInfoKHR;
105712 
105713 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
105714  VULKAN_HPP_CONSTEXPR Win32KeyedMutexAcquireReleaseInfoKHR( uint32_t acquireCount_ = {},
105715  const VULKAN_HPP_NAMESPACE::DeviceMemory * pAcquireSyncs_ = {},
105716  const uint64_t * pAcquireKeys_ = {},
105717  const uint32_t * pAcquireTimeouts_ = {},
105718  uint32_t releaseCount_ = {},
105719  const VULKAN_HPP_NAMESPACE::DeviceMemory * pReleaseSyncs_ = {},
105720  const uint64_t * pReleaseKeys_ = {},
105721  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
105722  : pNext( pNext_ )
105723  , acquireCount( acquireCount_ )
105724  , pAcquireSyncs( pAcquireSyncs_ )
105725  , pAcquireKeys( pAcquireKeys_ )
105726  , pAcquireTimeouts( pAcquireTimeouts_ )
105727  , releaseCount( releaseCount_ )
105728  , pReleaseSyncs( pReleaseSyncs_ )
105729  , pReleaseKeys( pReleaseKeys_ )
105730  {
105731  }
105732 
105733  VULKAN_HPP_CONSTEXPR Win32KeyedMutexAcquireReleaseInfoKHR( Win32KeyedMutexAcquireReleaseInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
105734 
105735  Win32KeyedMutexAcquireReleaseInfoKHR( VkWin32KeyedMutexAcquireReleaseInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
105736  : Win32KeyedMutexAcquireReleaseInfoKHR( *reinterpret_cast<Win32KeyedMutexAcquireReleaseInfoKHR const *>( &rhs ) )
105737  {
105738  }
105739 
105740 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
105741  Win32KeyedMutexAcquireReleaseInfoKHR( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DeviceMemory> const & acquireSyncs_,
105746  const void * pNext_ = nullptr )
105747  : pNext( pNext_ )
105748  , acquireCount( static_cast<uint32_t>( acquireSyncs_.size() ) )
105749  , pAcquireSyncs( acquireSyncs_.data() )
105750  , pAcquireKeys( acquireKeys_.data() )
105751  , pAcquireTimeouts( acquireTimeouts_.data() )
105752  , releaseCount( static_cast<uint32_t>( releaseSyncs_.size() ) )
105753  , pReleaseSyncs( releaseSyncs_.data() )
105754  , pReleaseKeys( releaseKeys_.data() )
105755  {
105756 # ifdef VULKAN_HPP_NO_EXCEPTIONS
105757  VULKAN_HPP_ASSERT( acquireSyncs_.size() == acquireKeys_.size() );
105758  VULKAN_HPP_ASSERT( acquireSyncs_.size() == acquireTimeouts_.size() );
105759  VULKAN_HPP_ASSERT( acquireKeys_.size() == acquireTimeouts_.size() );
105760 # else
105761  if ( acquireSyncs_.size() != acquireKeys_.size() )
105762  {
105763  throw LogicError( VULKAN_HPP_NAMESPACE_STRING
105764  "::Win32KeyedMutexAcquireReleaseInfoKHR::Win32KeyedMutexAcquireReleaseInfoKHR: acquireSyncs_.size() != acquireKeys_.size()" );
105765  }
105766  if ( acquireSyncs_.size() != acquireTimeouts_.size() )
105767  {
105768  throw LogicError( VULKAN_HPP_NAMESPACE_STRING
105769  "::Win32KeyedMutexAcquireReleaseInfoKHR::Win32KeyedMutexAcquireReleaseInfoKHR: acquireSyncs_.size() != acquireTimeouts_.size()" );
105770  }
105771  if ( acquireKeys_.size() != acquireTimeouts_.size() )
105772  {
105773  throw LogicError( VULKAN_HPP_NAMESPACE_STRING
105774  "::Win32KeyedMutexAcquireReleaseInfoKHR::Win32KeyedMutexAcquireReleaseInfoKHR: acquireKeys_.size() != acquireTimeouts_.size()" );
105775  }
105776 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/
105777 
105778 # ifdef VULKAN_HPP_NO_EXCEPTIONS
105779  VULKAN_HPP_ASSERT( releaseSyncs_.size() == releaseKeys_.size() );
105780 # else
105781  if ( releaseSyncs_.size() != releaseKeys_.size() )
105782  {
105783  throw LogicError( VULKAN_HPP_NAMESPACE_STRING
105784  "::Win32KeyedMutexAcquireReleaseInfoKHR::Win32KeyedMutexAcquireReleaseInfoKHR: releaseSyncs_.size() != releaseKeys_.size()" );
105785  }
105786 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/
105787  }
105788 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
105789 
105790  Win32KeyedMutexAcquireReleaseInfoKHR & operator=( Win32KeyedMutexAcquireReleaseInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
105791 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
105792 
105793  Win32KeyedMutexAcquireReleaseInfoKHR & operator=( VkWin32KeyedMutexAcquireReleaseInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
105794  {
105795  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::Win32KeyedMutexAcquireReleaseInfoKHR const *>( &rhs );
105796  return *this;
105797  }
105798 
105799 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
105800  VULKAN_HPP_CONSTEXPR_14 Win32KeyedMutexAcquireReleaseInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
105801  {
105802  pNext = pNext_;
105803  return *this;
105804  }
105805 
105806  VULKAN_HPP_CONSTEXPR_14 Win32KeyedMutexAcquireReleaseInfoKHR & setAcquireCount( uint32_t acquireCount_ ) VULKAN_HPP_NOEXCEPT
105807  {
105808  acquireCount = acquireCount_;
105809  return *this;
105810  }
105811 
105812  VULKAN_HPP_CONSTEXPR_14 Win32KeyedMutexAcquireReleaseInfoKHR &
105813  setPAcquireSyncs( const VULKAN_HPP_NAMESPACE::DeviceMemory * pAcquireSyncs_ ) VULKAN_HPP_NOEXCEPT
105814  {
105815  pAcquireSyncs = pAcquireSyncs_;
105816  return *this;
105817  }
105818 
105819 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
105820  Win32KeyedMutexAcquireReleaseInfoKHR &
105822  {
105823  acquireCount = static_cast<uint32_t>( acquireSyncs_.size() );
105824  pAcquireSyncs = acquireSyncs_.data();
105825  return *this;
105826  }
105827 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
105828 
105829  VULKAN_HPP_CONSTEXPR_14 Win32KeyedMutexAcquireReleaseInfoKHR & setPAcquireKeys( const uint64_t * pAcquireKeys_ ) VULKAN_HPP_NOEXCEPT
105830  {
105831  pAcquireKeys = pAcquireKeys_;
105832  return *this;
105833  }
105834 
105835 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
105836  Win32KeyedMutexAcquireReleaseInfoKHR &
105838  {
105839  acquireCount = static_cast<uint32_t>( acquireKeys_.size() );
105840  pAcquireKeys = acquireKeys_.data();
105841  return *this;
105842  }
105843 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
105844 
105845  VULKAN_HPP_CONSTEXPR_14 Win32KeyedMutexAcquireReleaseInfoKHR & setPAcquireTimeouts( const uint32_t * pAcquireTimeouts_ ) VULKAN_HPP_NOEXCEPT
105846  {
105847  pAcquireTimeouts = pAcquireTimeouts_;
105848  return *this;
105849  }
105850 
105851 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
105852  Win32KeyedMutexAcquireReleaseInfoKHR &
105853  setAcquireTimeouts( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & acquireTimeouts_ ) VULKAN_HPP_NOEXCEPT
105854  {
105855  acquireCount = static_cast<uint32_t>( acquireTimeouts_.size() );
105856  pAcquireTimeouts = acquireTimeouts_.data();
105857  return *this;
105858  }
105859 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
105860 
105861  VULKAN_HPP_CONSTEXPR_14 Win32KeyedMutexAcquireReleaseInfoKHR & setReleaseCount( uint32_t releaseCount_ ) VULKAN_HPP_NOEXCEPT
105862  {
105863  releaseCount = releaseCount_;
105864  return *this;
105865  }
105866 
105867  VULKAN_HPP_CONSTEXPR_14 Win32KeyedMutexAcquireReleaseInfoKHR &
105868  setPReleaseSyncs( const VULKAN_HPP_NAMESPACE::DeviceMemory * pReleaseSyncs_ ) VULKAN_HPP_NOEXCEPT
105869  {
105870  pReleaseSyncs = pReleaseSyncs_;
105871  return *this;
105872  }
105873 
105874 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
105875  Win32KeyedMutexAcquireReleaseInfoKHR &
105877  {
105878  releaseCount = static_cast<uint32_t>( releaseSyncs_.size() );
105879  pReleaseSyncs = releaseSyncs_.data();
105880  return *this;
105881  }
105882 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
105883 
105884  VULKAN_HPP_CONSTEXPR_14 Win32KeyedMutexAcquireReleaseInfoKHR & setPReleaseKeys( const uint64_t * pReleaseKeys_ ) VULKAN_HPP_NOEXCEPT
105885  {
105886  pReleaseKeys = pReleaseKeys_;
105887  return *this;
105888  }
105889 
105890 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
105891  Win32KeyedMutexAcquireReleaseInfoKHR &
105893  {
105894  releaseCount = static_cast<uint32_t>( releaseKeys_.size() );
105895  pReleaseKeys = releaseKeys_.data();
105896  return *this;
105897  }
105898 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
105899 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
105900 
105902  {
105903  return *reinterpret_cast<const VkWin32KeyedMutexAcquireReleaseInfoKHR *>( this );
105904  }
105905 
105907  {
105908  return *reinterpret_cast<VkWin32KeyedMutexAcquireReleaseInfoKHR *>( this );
105909  }
105910 
105911 # if defined( VULKAN_HPP_USE_REFLECT )
105912 # if 14 <= VULKAN_HPP_CPP_VERSION
105913  auto
105914 # else
105915  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
105916  const void * const &,
105917  uint32_t const &,
105918  const VULKAN_HPP_NAMESPACE::DeviceMemory * const &,
105919  const uint64_t * const &,
105920  const uint32_t * const &,
105921  uint32_t const &,
105922  const VULKAN_HPP_NAMESPACE::DeviceMemory * const &,
105923  const uint64_t * const &>
105924 # endif
105925  reflect() const VULKAN_HPP_NOEXCEPT
105926  {
105927  return std::tie( sType, pNext, acquireCount, pAcquireSyncs, pAcquireKeys, pAcquireTimeouts, releaseCount, pReleaseSyncs, pReleaseKeys );
105928  }
105929 # endif
105930 
105931 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
105932  auto operator<=>( Win32KeyedMutexAcquireReleaseInfoKHR const & ) const = default;
105933 # else
105934  bool operator==( Win32KeyedMutexAcquireReleaseInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
105935  {
105936 # if defined( VULKAN_HPP_USE_REFLECT )
105937  return this->reflect() == rhs.reflect();
105938 # else
105939  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( acquireCount == rhs.acquireCount ) && ( pAcquireSyncs == rhs.pAcquireSyncs ) &&
105940  ( pAcquireKeys == rhs.pAcquireKeys ) && ( pAcquireTimeouts == rhs.pAcquireTimeouts ) && ( releaseCount == rhs.releaseCount ) &&
105941  ( pReleaseSyncs == rhs.pReleaseSyncs ) && ( pReleaseKeys == rhs.pReleaseKeys );
105942 # endif
105943  }
105944 
105945  bool operator!=( Win32KeyedMutexAcquireReleaseInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
105946  {
105947  return !operator==( rhs );
105948  }
105949 # endif
105950 
105951  public:
105952  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eWin32KeyedMutexAcquireReleaseInfoKHR;
105953  const void * pNext = {};
105954  uint32_t acquireCount = {};
105955  const VULKAN_HPP_NAMESPACE::DeviceMemory * pAcquireSyncs = {};
105956  const uint64_t * pAcquireKeys = {};
105957  const uint32_t * pAcquireTimeouts = {};
105958  uint32_t releaseCount = {};
105959  const VULKAN_HPP_NAMESPACE::DeviceMemory * pReleaseSyncs = {};
105960  const uint64_t * pReleaseKeys = {};
105961  };
105962 
105963  template <>
105964  struct CppType<StructureType, StructureType::eWin32KeyedMutexAcquireReleaseInfoKHR>
105965  {
105966  using Type = Win32KeyedMutexAcquireReleaseInfoKHR;
105967  };
105968 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
105969 
105970 #if defined( VK_USE_PLATFORM_WIN32_KHR )
105971  struct Win32KeyedMutexAcquireReleaseInfoNV
105972  {
105973  using NativeType = VkWin32KeyedMutexAcquireReleaseInfoNV;
105974 
105975  static const bool allowDuplicate = false;
105976  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eWin32KeyedMutexAcquireReleaseInfoNV;
105977 
105978 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
105979  VULKAN_HPP_CONSTEXPR Win32KeyedMutexAcquireReleaseInfoNV( uint32_t acquireCount_ = {},
105980  const VULKAN_HPP_NAMESPACE::DeviceMemory * pAcquireSyncs_ = {},
105981  const uint64_t * pAcquireKeys_ = {},
105982  const uint32_t * pAcquireTimeoutMilliseconds_ = {},
105983  uint32_t releaseCount_ = {},
105984  const VULKAN_HPP_NAMESPACE::DeviceMemory * pReleaseSyncs_ = {},
105985  const uint64_t * pReleaseKeys_ = {},
105986  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
105987  : pNext( pNext_ )
105988  , acquireCount( acquireCount_ )
105989  , pAcquireSyncs( pAcquireSyncs_ )
105990  , pAcquireKeys( pAcquireKeys_ )
105991  , pAcquireTimeoutMilliseconds( pAcquireTimeoutMilliseconds_ )
105992  , releaseCount( releaseCount_ )
105993  , pReleaseSyncs( pReleaseSyncs_ )
105994  , pReleaseKeys( pReleaseKeys_ )
105995  {
105996  }
105997 
105998  VULKAN_HPP_CONSTEXPR Win32KeyedMutexAcquireReleaseInfoNV( Win32KeyedMutexAcquireReleaseInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
105999 
106000  Win32KeyedMutexAcquireReleaseInfoNV( VkWin32KeyedMutexAcquireReleaseInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
106001  : Win32KeyedMutexAcquireReleaseInfoNV( *reinterpret_cast<Win32KeyedMutexAcquireReleaseInfoNV const *>( &rhs ) )
106002  {
106003  }
106004 
106005 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
106006  Win32KeyedMutexAcquireReleaseInfoNV( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::DeviceMemory> const & acquireSyncs_,
106008  VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & acquireTimeoutMilliseconds_ = {},
106011  const void * pNext_ = nullptr )
106012  : pNext( pNext_ )
106013  , acquireCount( static_cast<uint32_t>( acquireSyncs_.size() ) )
106014  , pAcquireSyncs( acquireSyncs_.data() )
106015  , pAcquireKeys( acquireKeys_.data() )
106016  , pAcquireTimeoutMilliseconds( acquireTimeoutMilliseconds_.data() )
106017  , releaseCount( static_cast<uint32_t>( releaseSyncs_.size() ) )
106018  , pReleaseSyncs( releaseSyncs_.data() )
106019  , pReleaseKeys( releaseKeys_.data() )
106020  {
106021 # ifdef VULKAN_HPP_NO_EXCEPTIONS
106022  VULKAN_HPP_ASSERT( acquireSyncs_.size() == acquireKeys_.size() );
106023  VULKAN_HPP_ASSERT( acquireSyncs_.size() == acquireTimeoutMilliseconds_.size() );
106024  VULKAN_HPP_ASSERT( acquireKeys_.size() == acquireTimeoutMilliseconds_.size() );
106025 # else
106026  if ( acquireSyncs_.size() != acquireKeys_.size() )
106027  {
106028  throw LogicError( VULKAN_HPP_NAMESPACE_STRING
106029  "::Win32KeyedMutexAcquireReleaseInfoNV::Win32KeyedMutexAcquireReleaseInfoNV: acquireSyncs_.size() != acquireKeys_.size()" );
106030  }
106031  if ( acquireSyncs_.size() != acquireTimeoutMilliseconds_.size() )
106032  {
106033  throw LogicError(
106035  "::Win32KeyedMutexAcquireReleaseInfoNV::Win32KeyedMutexAcquireReleaseInfoNV: acquireSyncs_.size() != acquireTimeoutMilliseconds_.size()" );
106036  }
106037  if ( acquireKeys_.size() != acquireTimeoutMilliseconds_.size() )
106038  {
106039  throw LogicError(
106041  "::Win32KeyedMutexAcquireReleaseInfoNV::Win32KeyedMutexAcquireReleaseInfoNV: acquireKeys_.size() != acquireTimeoutMilliseconds_.size()" );
106042  }
106043 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/
106044 
106045 # ifdef VULKAN_HPP_NO_EXCEPTIONS
106046  VULKAN_HPP_ASSERT( releaseSyncs_.size() == releaseKeys_.size() );
106047 # else
106048  if ( releaseSyncs_.size() != releaseKeys_.size() )
106049  {
106050  throw LogicError( VULKAN_HPP_NAMESPACE_STRING
106051  "::Win32KeyedMutexAcquireReleaseInfoNV::Win32KeyedMutexAcquireReleaseInfoNV: releaseSyncs_.size() != releaseKeys_.size()" );
106052  }
106053 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/
106054  }
106055 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
106056 
106057  Win32KeyedMutexAcquireReleaseInfoNV & operator=( Win32KeyedMutexAcquireReleaseInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
106058 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
106059 
106060  Win32KeyedMutexAcquireReleaseInfoNV & operator=( VkWin32KeyedMutexAcquireReleaseInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
106061  {
106062  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::Win32KeyedMutexAcquireReleaseInfoNV const *>( &rhs );
106063  return *this;
106064  }
106065 
106066 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
106067  VULKAN_HPP_CONSTEXPR_14 Win32KeyedMutexAcquireReleaseInfoNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
106068  {
106069  pNext = pNext_;
106070  return *this;
106071  }
106072 
106073  VULKAN_HPP_CONSTEXPR_14 Win32KeyedMutexAcquireReleaseInfoNV & setAcquireCount( uint32_t acquireCount_ ) VULKAN_HPP_NOEXCEPT
106074  {
106075  acquireCount = acquireCount_;
106076  return *this;
106077  }
106078 
106079  VULKAN_HPP_CONSTEXPR_14 Win32KeyedMutexAcquireReleaseInfoNV &
106080  setPAcquireSyncs( const VULKAN_HPP_NAMESPACE::DeviceMemory * pAcquireSyncs_ ) VULKAN_HPP_NOEXCEPT
106081  {
106082  pAcquireSyncs = pAcquireSyncs_;
106083  return *this;
106084  }
106085 
106086 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
106087  Win32KeyedMutexAcquireReleaseInfoNV &
106089  {
106090  acquireCount = static_cast<uint32_t>( acquireSyncs_.size() );
106091  pAcquireSyncs = acquireSyncs_.data();
106092  return *this;
106093  }
106094 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
106095 
106096  VULKAN_HPP_CONSTEXPR_14 Win32KeyedMutexAcquireReleaseInfoNV & setPAcquireKeys( const uint64_t * pAcquireKeys_ ) VULKAN_HPP_NOEXCEPT
106097  {
106098  pAcquireKeys = pAcquireKeys_;
106099  return *this;
106100  }
106101 
106102 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
106103  Win32KeyedMutexAcquireReleaseInfoNV &
106105  {
106106  acquireCount = static_cast<uint32_t>( acquireKeys_.size() );
106107  pAcquireKeys = acquireKeys_.data();
106108  return *this;
106109  }
106110 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
106111 
106112  VULKAN_HPP_CONSTEXPR_14 Win32KeyedMutexAcquireReleaseInfoNV &
106113  setPAcquireTimeoutMilliseconds( const uint32_t * pAcquireTimeoutMilliseconds_ ) VULKAN_HPP_NOEXCEPT
106114  {
106115  pAcquireTimeoutMilliseconds = pAcquireTimeoutMilliseconds_;
106116  return *this;
106117  }
106118 
106119 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
106120  Win32KeyedMutexAcquireReleaseInfoNV &
106121  setAcquireTimeoutMilliseconds( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const uint32_t> const & acquireTimeoutMilliseconds_ ) VULKAN_HPP_NOEXCEPT
106122  {
106123  acquireCount = static_cast<uint32_t>( acquireTimeoutMilliseconds_.size() );
106124  pAcquireTimeoutMilliseconds = acquireTimeoutMilliseconds_.data();
106125  return *this;
106126  }
106127 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
106128 
106129  VULKAN_HPP_CONSTEXPR_14 Win32KeyedMutexAcquireReleaseInfoNV & setReleaseCount( uint32_t releaseCount_ ) VULKAN_HPP_NOEXCEPT
106130  {
106131  releaseCount = releaseCount_;
106132  return *this;
106133  }
106134 
106135  VULKAN_HPP_CONSTEXPR_14 Win32KeyedMutexAcquireReleaseInfoNV &
106136  setPReleaseSyncs( const VULKAN_HPP_NAMESPACE::DeviceMemory * pReleaseSyncs_ ) VULKAN_HPP_NOEXCEPT
106137  {
106138  pReleaseSyncs = pReleaseSyncs_;
106139  return *this;
106140  }
106141 
106142 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
106143  Win32KeyedMutexAcquireReleaseInfoNV &
106145  {
106146  releaseCount = static_cast<uint32_t>( releaseSyncs_.size() );
106147  pReleaseSyncs = releaseSyncs_.data();
106148  return *this;
106149  }
106150 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
106151 
106152  VULKAN_HPP_CONSTEXPR_14 Win32KeyedMutexAcquireReleaseInfoNV & setPReleaseKeys( const uint64_t * pReleaseKeys_ ) VULKAN_HPP_NOEXCEPT
106153  {
106154  pReleaseKeys = pReleaseKeys_;
106155  return *this;
106156  }
106157 
106158 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
106159  Win32KeyedMutexAcquireReleaseInfoNV &
106161  {
106162  releaseCount = static_cast<uint32_t>( releaseKeys_.size() );
106163  pReleaseKeys = releaseKeys_.data();
106164  return *this;
106165  }
106166 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
106167 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
106168 
106170  {
106171  return *reinterpret_cast<const VkWin32KeyedMutexAcquireReleaseInfoNV *>( this );
106172  }
106173 
106175  {
106176  return *reinterpret_cast<VkWin32KeyedMutexAcquireReleaseInfoNV *>( this );
106177  }
106178 
106179 # if defined( VULKAN_HPP_USE_REFLECT )
106180 # if 14 <= VULKAN_HPP_CPP_VERSION
106181  auto
106182 # else
106183  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
106184  const void * const &,
106185  uint32_t const &,
106186  const VULKAN_HPP_NAMESPACE::DeviceMemory * const &,
106187  const uint64_t * const &,
106188  const uint32_t * const &,
106189  uint32_t const &,
106190  const VULKAN_HPP_NAMESPACE::DeviceMemory * const &,
106191  const uint64_t * const &>
106192 # endif
106193  reflect() const VULKAN_HPP_NOEXCEPT
106194  {
106195  return std::tie( sType, pNext, acquireCount, pAcquireSyncs, pAcquireKeys, pAcquireTimeoutMilliseconds, releaseCount, pReleaseSyncs, pReleaseKeys );
106196  }
106197 # endif
106198 
106199 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
106200  auto operator<=>( Win32KeyedMutexAcquireReleaseInfoNV const & ) const = default;
106201 # else
106202  bool operator==( Win32KeyedMutexAcquireReleaseInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
106203  {
106204 # if defined( VULKAN_HPP_USE_REFLECT )
106205  return this->reflect() == rhs.reflect();
106206 # else
106207  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( acquireCount == rhs.acquireCount ) && ( pAcquireSyncs == rhs.pAcquireSyncs ) &&
106208  ( pAcquireKeys == rhs.pAcquireKeys ) && ( pAcquireTimeoutMilliseconds == rhs.pAcquireTimeoutMilliseconds ) &&
106209  ( releaseCount == rhs.releaseCount ) && ( pReleaseSyncs == rhs.pReleaseSyncs ) && ( pReleaseKeys == rhs.pReleaseKeys );
106210 # endif
106211  }
106212 
106213  bool operator!=( Win32KeyedMutexAcquireReleaseInfoNV const & rhs ) const VULKAN_HPP_NOEXCEPT
106214  {
106215  return !operator==( rhs );
106216  }
106217 # endif
106218 
106219  public:
106220  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eWin32KeyedMutexAcquireReleaseInfoNV;
106221  const void * pNext = {};
106222  uint32_t acquireCount = {};
106223  const VULKAN_HPP_NAMESPACE::DeviceMemory * pAcquireSyncs = {};
106224  const uint64_t * pAcquireKeys = {};
106225  const uint32_t * pAcquireTimeoutMilliseconds = {};
106226  uint32_t releaseCount = {};
106227  const VULKAN_HPP_NAMESPACE::DeviceMemory * pReleaseSyncs = {};
106228  const uint64_t * pReleaseKeys = {};
106229  };
106230 
106231  template <>
106232  struct CppType<StructureType, StructureType::eWin32KeyedMutexAcquireReleaseInfoNV>
106233  {
106234  using Type = Win32KeyedMutexAcquireReleaseInfoNV;
106235  };
106236 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
106237 
106238 #if defined( VK_USE_PLATFORM_WIN32_KHR )
106239  struct Win32SurfaceCreateInfoKHR
106240  {
106241  using NativeType = VkWin32SurfaceCreateInfoKHR;
106242 
106243  static const bool allowDuplicate = false;
106244  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eWin32SurfaceCreateInfoKHR;
106245 
106246 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
106247  VULKAN_HPP_CONSTEXPR Win32SurfaceCreateInfoKHR( VULKAN_HPP_NAMESPACE::Win32SurfaceCreateFlagsKHR flags_ = {},
106248  HINSTANCE hinstance_ = {},
106249  HWND hwnd_ = {},
106250  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
106251  : pNext( pNext_ )
106252  , flags( flags_ )
106253  , hinstance( hinstance_ )
106254  , hwnd( hwnd_ )
106255  {
106256  }
106257 
106258  VULKAN_HPP_CONSTEXPR Win32SurfaceCreateInfoKHR( Win32SurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
106259 
106260  Win32SurfaceCreateInfoKHR( VkWin32SurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
106261  : Win32SurfaceCreateInfoKHR( *reinterpret_cast<Win32SurfaceCreateInfoKHR const *>( &rhs ) )
106262  {
106263  }
106264 
106265  Win32SurfaceCreateInfoKHR & operator=( Win32SurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
106266 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
106267 
106268  Win32SurfaceCreateInfoKHR & operator=( VkWin32SurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
106269  {
106270  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::Win32SurfaceCreateInfoKHR const *>( &rhs );
106271  return *this;
106272  }
106273 
106274 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
106275  VULKAN_HPP_CONSTEXPR_14 Win32SurfaceCreateInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
106276  {
106277  pNext = pNext_;
106278  return *this;
106279  }
106280 
106281  VULKAN_HPP_CONSTEXPR_14 Win32SurfaceCreateInfoKHR & setFlags( VULKAN_HPP_NAMESPACE::Win32SurfaceCreateFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT
106282  {
106283  flags = flags_;
106284  return *this;
106285  }
106286 
106287  VULKAN_HPP_CONSTEXPR_14 Win32SurfaceCreateInfoKHR & setHinstance( HINSTANCE hinstance_ ) VULKAN_HPP_NOEXCEPT
106288  {
106289  hinstance = hinstance_;
106290  return *this;
106291  }
106292 
106293  VULKAN_HPP_CONSTEXPR_14 Win32SurfaceCreateInfoKHR & setHwnd( HWND hwnd_ ) VULKAN_HPP_NOEXCEPT
106294  {
106295  hwnd = hwnd_;
106296  return *this;
106297  }
106298 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
106299 
106300  operator VkWin32SurfaceCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT
106301  {
106302  return *reinterpret_cast<const VkWin32SurfaceCreateInfoKHR *>( this );
106303  }
106304 
106306  {
106307  return *reinterpret_cast<VkWin32SurfaceCreateInfoKHR *>( this );
106308  }
106309 
106310 # if defined( VULKAN_HPP_USE_REFLECT )
106311 # if 14 <= VULKAN_HPP_CPP_VERSION
106312  auto
106313 # else
106314  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
106315  const void * const &,
106316  VULKAN_HPP_NAMESPACE::Win32SurfaceCreateFlagsKHR const &,
106317  HINSTANCE const &,
106318  HWND const &>
106319 # endif
106320  reflect() const VULKAN_HPP_NOEXCEPT
106321  {
106322  return std::tie( sType, pNext, flags, hinstance, hwnd );
106323  }
106324 # endif
106325 
106326 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
106327  auto operator<=>( Win32SurfaceCreateInfoKHR const & ) const = default;
106328 # else
106329  bool operator==( Win32SurfaceCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
106330  {
106331 # if defined( VULKAN_HPP_USE_REFLECT )
106332  return this->reflect() == rhs.reflect();
106333 # else
106334  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( hinstance == rhs.hinstance ) && ( hwnd == rhs.hwnd );
106335 # endif
106336  }
106337 
106338  bool operator!=( Win32SurfaceCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
106339  {
106340  return !operator==( rhs );
106341  }
106342 # endif
106343 
106344  public:
106345  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eWin32SurfaceCreateInfoKHR;
106346  const void * pNext = {};
106347  VULKAN_HPP_NAMESPACE::Win32SurfaceCreateFlagsKHR flags = {};
106348  HINSTANCE hinstance = {};
106349  HWND hwnd = {};
106350  };
106351 
106352  template <>
106353  struct CppType<StructureType, StructureType::eWin32SurfaceCreateInfoKHR>
106354  {
106355  using Type = Win32SurfaceCreateInfoKHR;
106356  };
106357 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
106358 
106360  {
106362 
106363  static const bool allowDuplicate = false;
106364  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eWriteDescriptorSet;
106365 
106366 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
106368  uint32_t dstBinding_ = {},
106369  uint32_t dstArrayElement_ = {},
106370  uint32_t descriptorCount_ = {},
106372  const VULKAN_HPP_NAMESPACE::DescriptorImageInfo * pImageInfo_ = {},
106373  const VULKAN_HPP_NAMESPACE::DescriptorBufferInfo * pBufferInfo_ = {},
106374  const VULKAN_HPP_NAMESPACE::BufferView * pTexelBufferView_ = {},
106375  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
106376  : pNext( pNext_ )
106377  , dstSet( dstSet_ )
106378  , dstBinding( dstBinding_ )
106379  , dstArrayElement( dstArrayElement_ )
106380  , descriptorCount( descriptorCount_ )
106381  , descriptorType( descriptorType_ )
106382  , pImageInfo( pImageInfo_ )
106383  , pBufferInfo( pBufferInfo_ )
106384  , pTexelBufferView( pTexelBufferView_ )
106385  {
106386  }
106387 
106388  VULKAN_HPP_CONSTEXPR WriteDescriptorSet( WriteDescriptorSet const & rhs ) VULKAN_HPP_NOEXCEPT = default;
106389 
106390  WriteDescriptorSet( VkWriteDescriptorSet const & rhs ) VULKAN_HPP_NOEXCEPT : WriteDescriptorSet( *reinterpret_cast<WriteDescriptorSet const *>( &rhs ) ) {}
106391 
106392 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
106394  uint32_t dstBinding_,
106395  uint32_t dstArrayElement_,
106396  VULKAN_HPP_NAMESPACE::DescriptorType descriptorType_,
106400  const void * pNext_ = nullptr )
106401  : pNext( pNext_ )
106402  , dstSet( dstSet_ )
106403  , dstBinding( dstBinding_ )
106404  , dstArrayElement( dstArrayElement_ )
106405  , descriptorCount( static_cast<uint32_t>( !imageInfo_.empty() ? imageInfo_.size()
106406  : !bufferInfo_.empty() ? bufferInfo_.size()
106407  : texelBufferView_.size() ) )
106408  , descriptorType( descriptorType_ )
106409  , pImageInfo( imageInfo_.data() )
106410  , pBufferInfo( bufferInfo_.data() )
106411  , pTexelBufferView( texelBufferView_.data() )
106412  {
106413 # ifdef VULKAN_HPP_NO_EXCEPTIONS
106414  VULKAN_HPP_ASSERT( ( !imageInfo_.empty() + !bufferInfo_.empty() + !texelBufferView_.empty() ) <= 1 );
106415 # else
106416  if ( 1 < ( !imageInfo_.empty() + !bufferInfo_.empty() + !texelBufferView_.empty() ) )
106417  {
106418  throw LogicError( VULKAN_HPP_NAMESPACE_STRING
106419  "::WriteDescriptorSet::WriteDescriptorSet: 1 < ( !imageInfo_.empty() + !bufferInfo_.empty() + !texelBufferView_.empty() )" );
106420  }
106421 # endif /*VULKAN_HPP_NO_EXCEPTIONS*/
106422  }
106423 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
106424 
106425  WriteDescriptorSet & operator=( WriteDescriptorSet const & rhs ) VULKAN_HPP_NOEXCEPT = default;
106426 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
106427 
106429  {
106430  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::WriteDescriptorSet const *>( &rhs );
106431  return *this;
106432  }
106433 
106434 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
106436  {
106437  pNext = pNext_;
106438  return *this;
106439  }
106440 
106442  {
106443  dstSet = dstSet_;
106444  return *this;
106445  }
106446 
106448  {
106449  dstBinding = dstBinding_;
106450  return *this;
106451  }
106452 
106454  {
106455  dstArrayElement = dstArrayElement_;
106456  return *this;
106457  }
106458 
106460  {
106461  descriptorCount = descriptorCount_;
106462  return *this;
106463  }
106464 
106466  {
106467  descriptorType = descriptorType_;
106468  return *this;
106469  }
106470 
106472  {
106473  pImageInfo = pImageInfo_;
106474  return *this;
106475  }
106476 
106477 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
106480  {
106481  descriptorCount = static_cast<uint32_t>( imageInfo_.size() );
106482  pImageInfo = imageInfo_.data();
106483  return *this;
106484  }
106485 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
106486 
106488  {
106489  pBufferInfo = pBufferInfo_;
106490  return *this;
106491  }
106492 
106493 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
106496  {
106497  descriptorCount = static_cast<uint32_t>( bufferInfo_.size() );
106498  pBufferInfo = bufferInfo_.data();
106499  return *this;
106500  }
106501 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
106502 
106504  {
106505  pTexelBufferView = pTexelBufferView_;
106506  return *this;
106507  }
106508 
106509 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
106512  {
106513  descriptorCount = static_cast<uint32_t>( texelBufferView_.size() );
106514  pTexelBufferView = texelBufferView_.data();
106515  return *this;
106516  }
106517 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
106518 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
106519 
106521  {
106522  return *reinterpret_cast<const VkWriteDescriptorSet *>( this );
106523  }
106524 
106526  {
106527  return *reinterpret_cast<VkWriteDescriptorSet *>( this );
106528  }
106529 
106530 #if defined( VULKAN_HPP_USE_REFLECT )
106531 # if 14 <= VULKAN_HPP_CPP_VERSION
106532  auto
106533 # else
106534  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
106535  const void * const &,
106537  uint32_t const &,
106538  uint32_t const &,
106539  uint32_t const &,
106543  const VULKAN_HPP_NAMESPACE::BufferView * const &>
106544 # endif
106545  reflect() const VULKAN_HPP_NOEXCEPT
106546  {
106547  return std::tie( sType, pNext, dstSet, dstBinding, dstArrayElement, descriptorCount, descriptorType, pImageInfo, pBufferInfo, pTexelBufferView );
106548  }
106549 #endif
106550 
106551 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
106552  auto operator<=>( WriteDescriptorSet const & ) const = default;
106553 #else
106555  {
106556 # if defined( VULKAN_HPP_USE_REFLECT )
106557  return this->reflect() == rhs.reflect();
106558 # else
106559  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( dstSet == rhs.dstSet ) && ( dstBinding == rhs.dstBinding ) &&
106560  ( dstArrayElement == rhs.dstArrayElement ) && ( descriptorCount == rhs.descriptorCount ) && ( descriptorType == rhs.descriptorType ) &&
106561  ( pImageInfo == rhs.pImageInfo ) && ( pBufferInfo == rhs.pBufferInfo ) && ( pTexelBufferView == rhs.pTexelBufferView );
106562 # endif
106563  }
106564 
106566  {
106567  return !operator==( rhs );
106568  }
106569 #endif
106570 
106571  public:
106572  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eWriteDescriptorSet;
106573  const void * pNext = {};
106575  uint32_t dstBinding = {};
106576  uint32_t dstArrayElement = {};
106577  uint32_t descriptorCount = {};
106581  const VULKAN_HPP_NAMESPACE::BufferView * pTexelBufferView = {};
106582  };
106583 
106584  template <>
106586  {
106588  };
106589 
106591  {
106593 
106594  static const bool allowDuplicate = false;
106595  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eWriteDescriptorSetAccelerationStructureKHR;
106596 
106597 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
106598  VULKAN_HPP_CONSTEXPR WriteDescriptorSetAccelerationStructureKHR( uint32_t accelerationStructureCount_ = {},
106599  const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR * pAccelerationStructures_ = {},
106600  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
106601  : pNext( pNext_ )
106602  , accelerationStructureCount( accelerationStructureCount_ )
106603  , pAccelerationStructures( pAccelerationStructures_ )
106604  {
106605  }
106606 
106607  VULKAN_HPP_CONSTEXPR WriteDescriptorSetAccelerationStructureKHR( WriteDescriptorSetAccelerationStructureKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
106608 
106610  : WriteDescriptorSetAccelerationStructureKHR( *reinterpret_cast<WriteDescriptorSetAccelerationStructureKHR const *>( &rhs ) )
106611  {
106612  }
106613 
106614 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
106617  const void * pNext_ = nullptr )
106618  : pNext( pNext_ )
106619  , accelerationStructureCount( static_cast<uint32_t>( accelerationStructures_.size() ) )
106620  , pAccelerationStructures( accelerationStructures_.data() )
106621  {
106622  }
106623 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
106624 
106626 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
106627 
106629  {
106630  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::WriteDescriptorSetAccelerationStructureKHR const *>( &rhs );
106631  return *this;
106632  }
106633 
106634 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
106636  {
106637  pNext = pNext_;
106638  return *this;
106639  }
106640 
106642  setAccelerationStructureCount( uint32_t accelerationStructureCount_ ) VULKAN_HPP_NOEXCEPT
106643  {
106644  accelerationStructureCount = accelerationStructureCount_;
106645  return *this;
106646  }
106647 
106650  {
106651  pAccelerationStructures = pAccelerationStructures_;
106652  return *this;
106653  }
106654 
106655 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
106658  {
106659  accelerationStructureCount = static_cast<uint32_t>( accelerationStructures_.size() );
106660  pAccelerationStructures = accelerationStructures_.data();
106661  return *this;
106662  }
106663 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
106664 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
106665 
106667  {
106668  return *reinterpret_cast<const VkWriteDescriptorSetAccelerationStructureKHR *>( this );
106669  }
106670 
106672  {
106673  return *reinterpret_cast<VkWriteDescriptorSetAccelerationStructureKHR *>( this );
106674  }
106675 
106676 #if defined( VULKAN_HPP_USE_REFLECT )
106677 # if 14 <= VULKAN_HPP_CPP_VERSION
106678  auto
106679 # else
106680  std::
106681  tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &, const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR * const &>
106682 # endif
106683  reflect() const VULKAN_HPP_NOEXCEPT
106684  {
106685  return std::tie( sType, pNext, accelerationStructureCount, pAccelerationStructures );
106686  }
106687 #endif
106688 
106689 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
106690  auto operator<=>( WriteDescriptorSetAccelerationStructureKHR const & ) const = default;
106691 #else
106693  {
106694 # if defined( VULKAN_HPP_USE_REFLECT )
106695  return this->reflect() == rhs.reflect();
106696 # else
106697  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( accelerationStructureCount == rhs.accelerationStructureCount ) &&
106698  ( pAccelerationStructures == rhs.pAccelerationStructures );
106699 # endif
106700  }
106701 
106703  {
106704  return !operator==( rhs );
106705  }
106706 #endif
106707 
106708  public:
106709  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eWriteDescriptorSetAccelerationStructureKHR;
106710  const void * pNext = {};
106711  uint32_t accelerationStructureCount = {};
106712  const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR * pAccelerationStructures = {};
106713  };
106714 
106715  template <>
106717  {
106719  };
106720 
106722  {
106724 
106725  static const bool allowDuplicate = false;
106726  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eWriteDescriptorSetAccelerationStructureNV;
106727 
106728 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
106729  VULKAN_HPP_CONSTEXPR WriteDescriptorSetAccelerationStructureNV( uint32_t accelerationStructureCount_ = {},
106730  const VULKAN_HPP_NAMESPACE::AccelerationStructureNV * pAccelerationStructures_ = {},
106731  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
106732  : pNext( pNext_ )
106733  , accelerationStructureCount( accelerationStructureCount_ )
106734  , pAccelerationStructures( pAccelerationStructures_ )
106735  {
106736  }
106737 
106738  VULKAN_HPP_CONSTEXPR WriteDescriptorSetAccelerationStructureNV( WriteDescriptorSetAccelerationStructureNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
106739 
106741  : WriteDescriptorSetAccelerationStructureNV( *reinterpret_cast<WriteDescriptorSetAccelerationStructureNV const *>( &rhs ) )
106742  {
106743  }
106744 
106745 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
106748  const void * pNext_ = nullptr )
106749  : pNext( pNext_ )
106750  , accelerationStructureCount( static_cast<uint32_t>( accelerationStructures_.size() ) )
106751  , pAccelerationStructures( accelerationStructures_.data() )
106752  {
106753  }
106754 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
106755 
106757 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
106758 
106760  {
106761  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::WriteDescriptorSetAccelerationStructureNV const *>( &rhs );
106762  return *this;
106763  }
106764 
106765 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
106767  {
106768  pNext = pNext_;
106769  return *this;
106770  }
106771 
106773  setAccelerationStructureCount( uint32_t accelerationStructureCount_ ) VULKAN_HPP_NOEXCEPT
106774  {
106775  accelerationStructureCount = accelerationStructureCount_;
106776  return *this;
106777  }
106778 
106781  {
106782  pAccelerationStructures = pAccelerationStructures_;
106783  return *this;
106784  }
106785 
106786 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
106789  {
106790  accelerationStructureCount = static_cast<uint32_t>( accelerationStructures_.size() );
106791  pAccelerationStructures = accelerationStructures_.data();
106792  return *this;
106793  }
106794 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
106795 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
106796 
106798  {
106799  return *reinterpret_cast<const VkWriteDescriptorSetAccelerationStructureNV *>( this );
106800  }
106801 
106803  {
106804  return *reinterpret_cast<VkWriteDescriptorSetAccelerationStructureNV *>( this );
106805  }
106806 
106807 #if defined( VULKAN_HPP_USE_REFLECT )
106808 # if 14 <= VULKAN_HPP_CPP_VERSION
106809  auto
106810 # else
106811  std::
106812  tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &, const VULKAN_HPP_NAMESPACE::AccelerationStructureNV * const &>
106813 # endif
106814  reflect() const VULKAN_HPP_NOEXCEPT
106815  {
106816  return std::tie( sType, pNext, accelerationStructureCount, pAccelerationStructures );
106817  }
106818 #endif
106819 
106820 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
106821  auto operator<=>( WriteDescriptorSetAccelerationStructureNV const & ) const = default;
106822 #else
106824  {
106825 # if defined( VULKAN_HPP_USE_REFLECT )
106826  return this->reflect() == rhs.reflect();
106827 # else
106828  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( accelerationStructureCount == rhs.accelerationStructureCount ) &&
106829  ( pAccelerationStructures == rhs.pAccelerationStructures );
106830 # endif
106831  }
106832 
106834  {
106835  return !operator==( rhs );
106836  }
106837 #endif
106838 
106839  public:
106840  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eWriteDescriptorSetAccelerationStructureNV;
106841  const void * pNext = {};
106842  uint32_t accelerationStructureCount = {};
106843  const VULKAN_HPP_NAMESPACE::AccelerationStructureNV * pAccelerationStructures = {};
106844  };
106845 
106846  template <>
106848  {
106850  };
106851 
106853  {
106855 
106856  static const bool allowDuplicate = false;
106857  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eWriteDescriptorSetInlineUniformBlock;
106858 
106859 #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
106861  WriteDescriptorSetInlineUniformBlock( uint32_t dataSize_ = {}, const void * pData_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
106862  : pNext( pNext_ )
106863  , dataSize( dataSize_ )
106864  , pData( pData_ )
106865  {
106866  }
106867 
106868  VULKAN_HPP_CONSTEXPR WriteDescriptorSetInlineUniformBlock( WriteDescriptorSetInlineUniformBlock const & rhs ) VULKAN_HPP_NOEXCEPT = default;
106869 
106871  : WriteDescriptorSetInlineUniformBlock( *reinterpret_cast<WriteDescriptorSetInlineUniformBlock const *>( &rhs ) )
106872  {
106873  }
106874 
106875 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
106876  template <typename T>
106878  : pNext( pNext_ ), dataSize( static_cast<uint32_t>( data_.size() * sizeof( T ) ) ), pData( data_.data() )
106879  {
106880  }
106881 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
106882 
106884 #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
106885 
106887  {
106888  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::WriteDescriptorSetInlineUniformBlock const *>( &rhs );
106889  return *this;
106890  }
106891 
106892 #if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
106894  {
106895  pNext = pNext_;
106896  return *this;
106897  }
106898 
106900  {
106901  dataSize = dataSize_;
106902  return *this;
106903  }
106904 
106906  {
106907  pData = pData_;
106908  return *this;
106909  }
106910 
106911 # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
106912  template <typename T>
106914  {
106915  dataSize = static_cast<uint32_t>( data_.size() * sizeof( T ) );
106916  pData = data_.data();
106917  return *this;
106918  }
106919 # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
106920 #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
106921 
106923  {
106924  return *reinterpret_cast<const VkWriteDescriptorSetInlineUniformBlock *>( this );
106925  }
106926 
106928  {
106929  return *reinterpret_cast<VkWriteDescriptorSetInlineUniformBlock *>( this );
106930  }
106931 
106932 #if defined( VULKAN_HPP_USE_REFLECT )
106933 # if 14 <= VULKAN_HPP_CPP_VERSION
106934  auto
106935 # else
106936  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &, const void * const &>
106937 # endif
106938  reflect() const VULKAN_HPP_NOEXCEPT
106939  {
106940  return std::tie( sType, pNext, dataSize, pData );
106941  }
106942 #endif
106943 
106944 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
106945  auto operator<=>( WriteDescriptorSetInlineUniformBlock const & ) const = default;
106946 #else
106948  {
106949 # if defined( VULKAN_HPP_USE_REFLECT )
106950  return this->reflect() == rhs.reflect();
106951 # else
106952  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( dataSize == rhs.dataSize ) && ( pData == rhs.pData );
106953 # endif
106954  }
106955 
106957  {
106958  return !operator==( rhs );
106959  }
106960 #endif
106961 
106962  public:
106963  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eWriteDescriptorSetInlineUniformBlock;
106964  const void * pNext = {};
106965  uint32_t dataSize = {};
106966  const void * pData = {};
106967  };
106968 
106969  template <>
106971  {
106973  };
106975 
106976 #if defined( VK_USE_PLATFORM_XCB_KHR )
106977  struct XcbSurfaceCreateInfoKHR
106978  {
106979  using NativeType = VkXcbSurfaceCreateInfoKHR;
106980 
106981  static const bool allowDuplicate = false;
106982  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eXcbSurfaceCreateInfoKHR;
106983 
106984 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
106985  VULKAN_HPP_CONSTEXPR XcbSurfaceCreateInfoKHR( VULKAN_HPP_NAMESPACE::XcbSurfaceCreateFlagsKHR flags_ = {},
106986  xcb_connection_t * connection_ = {},
106987  xcb_window_t window_ = {},
106988  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
106989  : pNext( pNext_ )
106990  , flags( flags_ )
106991  , connection( connection_ )
106992  , window( window_ )
106993  {
106994  }
106995 
106996  VULKAN_HPP_CONSTEXPR XcbSurfaceCreateInfoKHR( XcbSurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
106997 
106998  XcbSurfaceCreateInfoKHR( VkXcbSurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
106999  : XcbSurfaceCreateInfoKHR( *reinterpret_cast<XcbSurfaceCreateInfoKHR const *>( &rhs ) )
107000  {
107001  }
107002 
107003  XcbSurfaceCreateInfoKHR & operator=( XcbSurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
107004 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
107005 
107006  XcbSurfaceCreateInfoKHR & operator=( VkXcbSurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
107007  {
107008  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::XcbSurfaceCreateInfoKHR const *>( &rhs );
107009  return *this;
107010  }
107011 
107012 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
107013  VULKAN_HPP_CONSTEXPR_14 XcbSurfaceCreateInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
107014  {
107015  pNext = pNext_;
107016  return *this;
107017  }
107018 
107019  VULKAN_HPP_CONSTEXPR_14 XcbSurfaceCreateInfoKHR & setFlags( VULKAN_HPP_NAMESPACE::XcbSurfaceCreateFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT
107020  {
107021  flags = flags_;
107022  return *this;
107023  }
107024 
107025  VULKAN_HPP_CONSTEXPR_14 XcbSurfaceCreateInfoKHR & setConnection( xcb_connection_t * connection_ ) VULKAN_HPP_NOEXCEPT
107026  {
107027  connection = connection_;
107028  return *this;
107029  }
107030 
107031  VULKAN_HPP_CONSTEXPR_14 XcbSurfaceCreateInfoKHR & setWindow( xcb_window_t window_ ) VULKAN_HPP_NOEXCEPT
107032  {
107033  window = window_;
107034  return *this;
107035  }
107036 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
107037 
107038  operator VkXcbSurfaceCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT
107039  {
107040  return *reinterpret_cast<const VkXcbSurfaceCreateInfoKHR *>( this );
107041  }
107042 
107044  {
107045  return *reinterpret_cast<VkXcbSurfaceCreateInfoKHR *>( this );
107046  }
107047 
107048 # if defined( VULKAN_HPP_USE_REFLECT )
107049 # if 14 <= VULKAN_HPP_CPP_VERSION
107050  auto
107051 # else
107052  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
107053  const void * const &,
107054  VULKAN_HPP_NAMESPACE::XcbSurfaceCreateFlagsKHR const &,
107055  xcb_connection_t * const &,
107056  xcb_window_t const &>
107057 # endif
107058  reflect() const VULKAN_HPP_NOEXCEPT
107059  {
107060  return std::tie( sType, pNext, flags, connection, window );
107061  }
107062 # endif
107063 
107064 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
107065  std::strong_ordering operator<=>( XcbSurfaceCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
107066  {
107067  if ( auto cmp = sType <=> rhs.sType; cmp != 0 )
107068  return cmp;
107069  if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 )
107070  return cmp;
107071  if ( auto cmp = flags <=> rhs.flags; cmp != 0 )
107072  return cmp;
107073  if ( auto cmp = connection <=> rhs.connection; cmp != 0 )
107074  return cmp;
107075  if ( auto cmp = memcmp( &window, &rhs.window, sizeof( xcb_window_t ) ); cmp != 0 )
107076  return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater;
107077 
107078  return std::strong_ordering::equivalent;
107079  }
107080 # endif
107081 
107082  bool operator==( XcbSurfaceCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
107083  {
107084  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( connection == rhs.connection ) &&
107085  ( memcmp( &window, &rhs.window, sizeof( xcb_window_t ) ) == 0 );
107086  }
107087 
107088  bool operator!=( XcbSurfaceCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
107089  {
107090  return !operator==( rhs );
107091  }
107092 
107093  public:
107094  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eXcbSurfaceCreateInfoKHR;
107095  const void * pNext = {};
107096  VULKAN_HPP_NAMESPACE::XcbSurfaceCreateFlagsKHR flags = {};
107097  xcb_connection_t * connection = {};
107098  xcb_window_t window = {};
107099  };
107100 
107101  template <>
107102  struct CppType<StructureType, StructureType::eXcbSurfaceCreateInfoKHR>
107103  {
107104  using Type = XcbSurfaceCreateInfoKHR;
107105  };
107106 #endif /*VK_USE_PLATFORM_XCB_KHR*/
107107 
107108 #if defined( VK_USE_PLATFORM_XLIB_KHR )
107109  struct XlibSurfaceCreateInfoKHR
107110  {
107111  using NativeType = VkXlibSurfaceCreateInfoKHR;
107112 
107113  static const bool allowDuplicate = false;
107114  static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eXlibSurfaceCreateInfoKHR;
107115 
107116 # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
107117  VULKAN_HPP_CONSTEXPR XlibSurfaceCreateInfoKHR( VULKAN_HPP_NAMESPACE::XlibSurfaceCreateFlagsKHR flags_ = {},
107118  Display * dpy_ = {},
107119  Window window_ = {},
107120  const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
107121  : pNext( pNext_ )
107122  , flags( flags_ )
107123  , dpy( dpy_ )
107124  , window( window_ )
107125  {
107126  }
107127 
107128  VULKAN_HPP_CONSTEXPR XlibSurfaceCreateInfoKHR( XlibSurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
107129 
107130  XlibSurfaceCreateInfoKHR( VkXlibSurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
107131  : XlibSurfaceCreateInfoKHR( *reinterpret_cast<XlibSurfaceCreateInfoKHR const *>( &rhs ) )
107132  {
107133  }
107134 
107135  XlibSurfaceCreateInfoKHR & operator=( XlibSurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default;
107136 # endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
107137 
107138  XlibSurfaceCreateInfoKHR & operator=( VkXlibSurfaceCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT
107139  {
107140  *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::XlibSurfaceCreateInfoKHR const *>( &rhs );
107141  return *this;
107142  }
107143 
107144 # if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
107145  VULKAN_HPP_CONSTEXPR_14 XlibSurfaceCreateInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
107146  {
107147  pNext = pNext_;
107148  return *this;
107149  }
107150 
107151  VULKAN_HPP_CONSTEXPR_14 XlibSurfaceCreateInfoKHR & setFlags( VULKAN_HPP_NAMESPACE::XlibSurfaceCreateFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT
107152  {
107153  flags = flags_;
107154  return *this;
107155  }
107156 
107157  VULKAN_HPP_CONSTEXPR_14 XlibSurfaceCreateInfoKHR & setDpy( Display * dpy_ ) VULKAN_HPP_NOEXCEPT
107158  {
107159  dpy = dpy_;
107160  return *this;
107161  }
107162 
107163  VULKAN_HPP_CONSTEXPR_14 XlibSurfaceCreateInfoKHR & setWindow( Window window_ ) VULKAN_HPP_NOEXCEPT
107164  {
107165  window = window_;
107166  return *this;
107167  }
107168 # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
107169 
107170  operator VkXlibSurfaceCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT
107171  {
107172  return *reinterpret_cast<const VkXlibSurfaceCreateInfoKHR *>( this );
107173  }
107174 
107176  {
107177  return *reinterpret_cast<VkXlibSurfaceCreateInfoKHR *>( this );
107178  }
107179 
107180 # if defined( VULKAN_HPP_USE_REFLECT )
107181 # if 14 <= VULKAN_HPP_CPP_VERSION
107182  auto
107183 # else
107184  std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
107185  const void * const &,
107186  VULKAN_HPP_NAMESPACE::XlibSurfaceCreateFlagsKHR const &,
107187  Display * const &,
107188  Window const &>
107189 # endif
107190  reflect() const VULKAN_HPP_NOEXCEPT
107191  {
107192  return std::tie( sType, pNext, flags, dpy, window );
107193  }
107194 # endif
107195 
107196 # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
107197  std::strong_ordering operator<=>( XlibSurfaceCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
107198  {
107199  if ( auto cmp = sType <=> rhs.sType; cmp != 0 )
107200  return cmp;
107201  if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 )
107202  return cmp;
107203  if ( auto cmp = flags <=> rhs.flags; cmp != 0 )
107204  return cmp;
107205  if ( auto cmp = dpy <=> rhs.dpy; cmp != 0 )
107206  return cmp;
107207  if ( auto cmp = memcmp( &window, &rhs.window, sizeof( Window ) ); cmp != 0 )
107208  return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater;
107209 
107210  return std::strong_ordering::equivalent;
107211  }
107212 # endif
107213 
107214  bool operator==( XlibSurfaceCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
107215  {
107216  return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( dpy == rhs.dpy ) &&
107217  ( memcmp( &window, &rhs.window, sizeof( Window ) ) == 0 );
107218  }
107219 
107220  bool operator!=( XlibSurfaceCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT
107221  {
107222  return !operator==( rhs );
107223  }
107224 
107225  public:
107226  VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eXlibSurfaceCreateInfoKHR;
107227  const void * pNext = {};
107228  VULKAN_HPP_NAMESPACE::XlibSurfaceCreateFlagsKHR flags = {};
107229  Display * dpy = {};
107230  Window window = {};
107231  };
107232 
107233  template <>
107234  struct CppType<StructureType, StructureType::eXlibSurfaceCreateInfoKHR>
107235  {
107236  using Type = XlibSurfaceCreateInfoKHR;
107237  };
107238 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
107239 
107240 } // namespace VULKAN_HPP_NAMESPACE
107241 #endif
VULKAN_HPP_CONSTEXPR SamplerReductionModeCreateInfo(VULKAN_HPP_NAMESPACE::SamplerReductionMode reductionMode_=VULKAN_HPP_NAMESPACE::SamplerReductionMode::eWeightedAverage, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
DirectDriverLoadingListLUNARG(VkDirectDriverLoadingListLUNARG const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SwapchainCreateInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(RenderPassSampleLocationsBeginInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderIntegerDotProductFeatures & setShaderIntegerDotProduct(VULKAN_HPP_NAMESPACE::Bool32 shaderIntegerDotProduct_) VULKAN_HPP_NOEXCEPT
bool operator==(ImageDrmFormatModifierListCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
GLsizei GLenum GLsizei GLsizei GLuint memory
Definition: RE_OGL.h:202
AccelerationStructureBuildGeometryInfoKHR & operator=(AccelerationStructureBuildGeometryInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR StridedDeviceAddressRegionKHR(VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_={}, VULKAN_HPP_NAMESPACE::DeviceSize stride_={}, VULKAN_HPP_NAMESPACE::DeviceSize size_={}) VULKAN_HPP_NOEXCEPT
PhysicalDeviceFragmentDensityMap2PropertiesEXT(VkPhysicalDeviceFragmentDensityMap2PropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
ClearRect(VkClearRect const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(DebugUtilsMessengerCallbackDataEXT const &rhs) const VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
Rect2D & operator=(Rect2D const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 ImageViewASTCDecodeModeEXT & setDecodeMode(VULKAN_HPP_NAMESPACE::Format decodeMode_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineCoverageReductionStateCreateInfoNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceRenderingInfo & setPColorAttachmentFormats(const VULKAN_HPP_NAMESPACE::Format *pColorAttachmentFormats_) VULKAN_HPP_NOEXCEPT
SharedPresentSurfaceCapabilitiesKHR(VkSharedPresentSurfaceCapabilitiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
SubpassDependency2 & operator=(VkSubpassDependency2 const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceShaderAtomicInt64Features const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceMultiviewProperties const &rhs) const VULKAN_HPP_NOEXCEPT
DependencyInfo(VkDependencyInfo const &rhs) VULKAN_HPP_NOEXCEPT
SurfaceCapabilitiesPresentBarrierNV(VkSurfaceCapabilitiesPresentBarrierNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceShadingRateImagePropertiesNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MappedMemoryRange & setMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory_) VULKAN_HPP_NOEXCEPT
bool operator!=(DeviceQueueInfo2 const &rhs) const VULKAN_HPP_NOEXCEPT
GLuint GLuint stream
Definition: glcorearb.h:1832
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureSRTMotionInstanceNV & setTransformT1(VULKAN_HPP_NAMESPACE::SRTDataNV const &transformT1_) VULKAN_HPP_NOEXCEPT
bool operator!=(FramebufferAttachmentsCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PresentRegionKHR & setRectangleCount(uint32_t rectangleCount_) VULKAN_HPP_NOEXCEPT
struct VkGeneratedCommandsMemoryRequirementsInfoNV VkGeneratedCommandsMemoryRequirementsInfoNV
bool operator==(PhysicalDeviceDiagnosticsConfigFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
DeviceGroupSwapchainCreateInfoKHR & operator=(VkDeviceGroupSwapchainCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PipelineCoverageModulationStateCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 SampleLocationsInfoEXT & setSampleLocationsPerPixel(VULKAN_HPP_NAMESPACE::SampleCountFlagBits sampleLocationsPerPixel_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DeviceQueueCreateInfo(VULKAN_HPP_NAMESPACE::DeviceQueueCreateFlags flags_={}, uint32_t queueFamilyIndex_={}, uint32_t queueCount_={}, const float *pQueuePriorities_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::MemoryDecompressionMethodFlagsNV decompressionMethod
bool operator!=(SubmitInfo2 const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkSparseImageMemoryRequirements VkSparseImageMemoryRequirements
VULKAN_HPP_CONSTEXPR_14 Viewport & setX(float x_) VULKAN_HPP_NOEXCEPT
PipelineExecutableInfoKHR(VkPipelineExecutableInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setDescriptorBindingUniformTexelBufferUpdateAfterBind(VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUniformTexelBufferUpdateAfterBind_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 WriteDescriptorSetInlineUniformBlock & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MemoryAllocateFlagsInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkShaderModuleIdentifierEXT VkShaderModuleIdentifierEXT
ComputePipelineCreateInfo & operator=(ComputePipelineCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR PhysicalDeviceScalarBlockLayoutFeatures(VULKAN_HPP_NAMESPACE::Bool32 scalarBlockLayout_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(QueryPoolPerformanceCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayDynamicIndexing
VULKAN_HPP_CONSTEXPR PhysicalDeviceTransformFeedbackPropertiesEXT(uint32_t maxTransformFeedbackStreams_={}, uint32_t maxTransformFeedbackBuffers_={}, VULKAN_HPP_NAMESPACE::DeviceSize maxTransformFeedbackBufferSize_={}, uint32_t maxTransformFeedbackStreamDataSize_={}, uint32_t maxTransformFeedbackBufferDataSize_={}, uint32_t maxTransformFeedbackBufferDataStride_={}, VULKAN_HPP_NAMESPACE::Bool32 transformFeedbackQueries_={}, VULKAN_HPP_NAMESPACE::Bool32 transformFeedbackStreamsLinesTriangles_={}, VULKAN_HPP_NAMESPACE::Bool32 transformFeedbackRasterizationStreamSelect_={}, VULKAN_HPP_NAMESPACE::Bool32 transformFeedbackDraw_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(PipelineViewportWScalingStateCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV VkPhysicalDeviceExternalMemoryRDMAFeaturesNV
bool operator!=(AccelerationStructureDeviceAddressInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkDisplayPresentInfoKHR VkDisplayPresentInfoKHR
VULKAN_HPP_NAMESPACE::AccelerationStructureKHR dst
VULKAN_HPP_CONSTEXPR_14 BindIndexBufferIndirectCommandNV & setSize(uint32_t size_) VULKAN_HPP_NOEXCEPT
DescriptorSetLayoutCreateInfo(VkDescriptorSetLayoutCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Extent3D imageExtent
bool operator==(SpecializationInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ClearAttachment(VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_={}, uint32_t colorAttachment_={}, VULKAN_HPP_NAMESPACE::ClearValue clearValue_={}) VULKAN_HPP_NOEXCEPT
bool operator!=(ImageSubresource2EXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceFaultInfoEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::AttachmentDescriptionFlags flags
VULKAN_HPP_CONSTEXPR_14 AllocationCallbacks & setPfnFree(PFN_vkFreeFunction pfnFree_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageMemoryBarrier2 & setSrcAccessMask(VULKAN_HPP_NAMESPACE::AccessFlags2 srcAccessMask_) VULKAN_HPP_NOEXCEPT
PipelineCreationFeedbackCreateInfo & setPipelineStageCreationFeedbacks(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< VULKAN_HPP_NAMESPACE::PipelineCreationFeedback > const &pipelineStageCreationFeedbacks_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceRayTracingPipelineFeaturesKHR(VkPhysicalDeviceRayTracingPipelineFeaturesKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR AccelerationStructureVersionInfoKHR(const uint8_t *pVersionData_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkVideoEncodeH264SessionParametersCreateInfoEXT VkVideoEncodeH264SessionParametersCreateInfoEXT
VULKAN_HPP_CONSTEXPR_14 DescriptorUpdateTemplateCreateInfo & setPipelineBindPoint(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MultiviewPerViewAttributesInfoNVX & setPerViewAttributesPositionXOnly(VULKAN_HPP_NAMESPACE::Bool32 perViewAttributesPositionXOnly_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceImageCompressionControlFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PrivateDataSlotCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceCopyMemoryIndirectFeaturesNV(VkPhysicalDeviceCopyMemoryIndirectFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
ShaderModuleValidationCacheCreateInfoEXT & operator=(VkShaderModuleValidationCacheCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout
bool operator!=(ImageCompressionPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
ExternalMemoryImageCreateInfo & operator=(VkExternalMemoryImageCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageViewASTCDecodeModeEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateFlags flags
VULKAN_HPP_CONSTEXPR_14 StridedDeviceAddressRegionKHR & setDeviceAddress(VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceImageViewMinLodFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 minLod_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageMemoryBarrier & setDstQueueFamilyIndex(uint32_t dstQueueFamilyIndex_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureCreateInfoKHR & setBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer_) VULKAN_HPP_NOEXCEPT
CooperativeMatrixPropertiesNV & operator=(CooperativeMatrixPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT=default
SwapchainCreateInfoKHR & operator=(VkSwapchainCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceLimits const &rhs) const VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setTessellationShader(VULKAN_HPP_NAMESPACE::Bool32 tessellationShader_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferImageCopy2 & setImageSubresource(VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const &imageSubresource_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 SpecializationInfo & setDataSize(size_t dataSize_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceDepthStencilResolveProperties & operator=(VkPhysicalDeviceDepthStencilResolveProperties const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MappedMemoryRange & setOffset(VULKAN_HPP_NAMESPACE::DeviceSize offset_) VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineRasterizationConservativeStateCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkSysmemColorSpaceFUCHSIA VkSysmemColorSpaceFUCHSIA
VULKAN_HPP_CONSTEXPR_14 SubpassDependency2 & setDependencyFlags(VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationStateCreateInfo & setDepthClampEnable(VULKAN_HPP_NAMESPACE::Bool32 depthClampEnable_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DirectDriverLoadingInfoLUNARG(VULKAN_HPP_NAMESPACE::DirectDriverLoadingFlagsLUNARG flags_={}, PFN_vkGetInstanceProcAddr pfnGetInstanceProcAddr_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkWriteDescriptorSetAccelerationStructureNV VkWriteDescriptorSetAccelerationStructureNV
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMemoryPriorityFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
PipelineExecutablePropertiesKHR(VkPipelineExecutablePropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
MultisampledRenderToSingleSampledInfoEXT & operator=(VkMultisampledRenderToSingleSampledInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageViewHandleInfoNVX & setDescriptorType(VULKAN_HPP_NAMESPACE::DescriptorType descriptorType_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceBufferDeviceAddressFeaturesEXT & operator=(VkPhysicalDeviceBufferDeviceAddressFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
DrawIndexedIndirectCommand(VkDrawIndexedIndirectCommand const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(DescriptorPoolInlineUniformBlockCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(DeviceCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DebugUtilsObjectTagInfoEXT(VULKAN_HPP_NAMESPACE::ObjectType objectType_=VULKAN_HPP_NAMESPACE::ObjectType::eUnknown, uint64_t objectHandle_={}, uint64_t tagName_={}, size_t tagSize_={}, const void *pTag_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderAtomicFloatFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceDescriptorIndexingProperties & operator=(VkPhysicalDeviceDescriptorIndexingProperties const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR CommandBufferInheritanceRenderingInfo(VULKAN_HPP_NAMESPACE::RenderingFlags flags_={}, uint32_t viewMask_={}, uint32_t colorAttachmentCount_={}, const VULKAN_HPP_NAMESPACE::Format *pColorAttachmentFormats_={}, VULKAN_HPP_NAMESPACE::Format depthAttachmentFormat_=VULKAN_HPP_NAMESPACE::Format::eUndefined, VULKAN_HPP_NAMESPACE::Format stencilAttachmentFormat_=VULKAN_HPP_NAMESPACE::Format::eUndefined, VULKAN_HPP_NAMESPACE::SampleCountFlagBits rasterizationSamples_=VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(SamplerYcbcrConversionCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkRenderPassSampleLocationsBeginInfoEXT VkRenderPassSampleLocationsBeginInfoEXT
FormatProperties2 & operator=(VkFormatProperties2 const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceMemoryPriorityFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 memoryPriority_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RayTracingPipelineCreateInfoKHR & setMaxPipelineRayRecursionDepth(uint32_t maxPipelineRayRecursionDepth_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceFragmentShadingRatePropertiesKHR(VkPhysicalDeviceFragmentShadingRatePropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SemaphoreSubmitInfo & setDeviceIndex(uint32_t deviceIndex_) VULKAN_HPP_NOEXCEPT
bool operator==(ExportSemaphoreCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(ComponentMapping const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineRasterizationStateRasterizationOrderAMD const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceFragmentShadingRateEnumsPropertiesNV & operator=(VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceImageMemoryRequirements & setPlaneAspect(VULKAN_HPP_NAMESPACE::ImageAspectFlagBits planeAspect_) VULKAN_HPP_NOEXCEPT
DebugUtilsObjectTagInfoEXT & operator=(DebugUtilsObjectTagInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT=default
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
bool operator!=(PipelineTessellationDomainOriginStateCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 InstanceCreateInfo & setPApplicationInfo(const VULKAN_HPP_NAMESPACE::ApplicationInfo *pApplicationInfo_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceMutableDescriptorTypeFeaturesEXT(VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceAddressBindingReportFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 reportAddressBinding_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkDrawMeshTasksIndirectCommandNV VkDrawMeshTasksIndirectCommandNV
VULKAN_HPP_CONSTEXPR_14 DeviceGroupSubmitInfo & setPSignalSemaphoreDeviceIndices(const uint32_t *pSignalSemaphoreDeviceIndices_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineExecutableStatisticValueKHR(int64_t i64_)
VULKAN_HPP_CONSTEXPR_14 ImageCopy & setExtent(VULKAN_HPP_NAMESPACE::Extent3D const &extent_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorInfoEXT(std::array< char, VK_MAX_DESCRIPTION_SIZE > const &description_={}, uint64_t vendorFaultCode_={}, uint64_t vendorFaultData_={}) VULKAN_HPP_NOEXCEPT
InstanceCreateInfo & setPEnabledLayerNames(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const char *const > const &pEnabledLayerNames_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceOpacityMicromapFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE const &rhs) const VULKAN_HPP_NOEXCEPT
StencilOpState & operator=(VkStencilOpState const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceVulkan12Features(VULKAN_HPP_NAMESPACE::Bool32 samplerMirrorClampToEdge_={}, VULKAN_HPP_NAMESPACE::Bool32 drawIndirectCount_={}, VULKAN_HPP_NAMESPACE::Bool32 storageBuffer8BitAccess_={}, VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer8BitAccess_={}, VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant8_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderBufferInt64Atomics_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderSharedInt64Atomics_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderFloat16_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderInt8_={}, VULKAN_HPP_NAMESPACE::Bool32 descriptorIndexing_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayDynamicIndexing_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderUniformTexelBufferArrayDynamicIndexing_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderStorageTexelBufferArrayDynamicIndexing_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayNonUniformIndexing_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayNonUniformIndexing_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayNonUniformIndexing_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayNonUniformIndexing_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayNonUniformIndexing_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderUniformTexelBufferArrayNonUniformIndexing_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderStorageTexelBufferArrayNonUniformIndexing_={}, VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUniformBufferUpdateAfterBind_={}, VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingSampledImageUpdateAfterBind_={}, VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageImageUpdateAfterBind_={}, VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageBufferUpdateAfterBind_={}, VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUniformTexelBufferUpdateAfterBind_={}, VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageTexelBufferUpdateAfterBind_={}, VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUpdateUnusedWhilePending_={}, VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingPartiallyBound_={}, VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingVariableDescriptorCount_={}, VULKAN_HPP_NAMESPACE::Bool32 runtimeDescriptorArray_={}, VULKAN_HPP_NAMESPACE::Bool32 samplerFilterMinmax_={}, VULKAN_HPP_NAMESPACE::Bool32 scalarBlockLayout_={}, VULKAN_HPP_NAMESPACE::Bool32 imagelessFramebuffer_={}, VULKAN_HPP_NAMESPACE::Bool32 uniformBufferStandardLayout_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderSubgroupExtendedTypes_={}, VULKAN_HPP_NAMESPACE::Bool32 separateDepthStencilLayouts_={}, VULKAN_HPP_NAMESPACE::Bool32 hostQueryReset_={}, VULKAN_HPP_NAMESPACE::Bool32 timelineSemaphore_={}, VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddress_={}, VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressCaptureReplay_={}, VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressMultiDevice_={}, VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModel_={}, VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModelDeviceScope_={}, VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModelAvailabilityVisibilityChains_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderOutputViewportIndex_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderOutputLayer_={}, VULKAN_HPP_NAMESPACE::Bool32 subgroupBroadcastDynamicId_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
SparseImageMemoryRequirements(VkSparseImageMemoryRequirements const &rhs) VULKAN_HPP_NOEXCEPT
PipelineShaderStageModuleIdentifierCreateInfoEXT(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint8_t > const &identifier_, const void *pNext_=nullptr)
SparseBufferMemoryBindInfo(VkSparseBufferMemoryBindInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceBufferDeviceAddressFeaturesEXT & setBufferDeviceAddressCaptureReplay(VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressCaptureReplay_) VULKAN_HPP_NOEXCEPT
SurfaceCapabilitiesKHR & operator=(VkSurfaceCapabilitiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(DescriptorSetVariableDescriptorCountLayoutSupport const &rhs) const VULKAN_HPP_NOEXCEPT
PipelineInputAssemblyStateCreateInfo(VkPipelineInputAssemblyStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceExternalBufferInfo(VULKAN_HPP_NAMESPACE::BufferCreateFlags flags_={}, VULKAN_HPP_NAMESPACE::BufferUsageFlags usage_={}, VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_=VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setSparseResidencyAliased(VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyAliased_) VULKAN_HPP_NOEXCEPT
MemoryHostPointerPropertiesEXT(VkMemoryHostPointerPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::BufferUsageFlags usage
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentDensityMapFeaturesEXT & setFragmentDensityMapDynamic(VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMapDynamic_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV VkPhysicalDeviceRayTracingMotionBlurFeaturesNV
DisplayNativeHdrSurfaceCapabilitiesAMD & operator=(VkDisplayNativeHdrSurfaceCapabilitiesAMD const &rhs) VULKAN_HPP_NOEXCEPT
Offset2D & operator=(Offset2D const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR SurfaceFormat2KHR(VULKAN_HPP_NAMESPACE::SurfaceFormatKHR surfaceFormat_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugUtilsObjectNameInfoEXT & setObjectHandle(uint64_t objectHandle_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageMemoryBarrier & setNewLayout(VULKAN_HPP_NAMESPACE::ImageLayout newLayout_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeatures
struct VkDeviceBufferMemoryRequirements VkDeviceBufferMemoryRequirements
struct VkBufferCollectionConstraintsInfoFUCHSIA VkBufferCollectionConstraintsInfoFUCHSIA
PhysicalDeviceProtectedMemoryProperties & operator=(VkPhysicalDeviceProtectedMemoryProperties const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceFragmentShadingRateFeaturesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
BindImageMemoryDeviceGroupInfo & setDeviceIndices(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &deviceIndices_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageCreateInfo & setSamples(VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ImageLayout imageLayout
VULKAN_HPP_CONSTEXPR_14 DeviceGroupCommandBufferBeginInfo & setDeviceMask(uint32_t deviceMask_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CuLaunchInfoNVX & setGridDimY(uint32_t gridDimY_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SpecializationMapEntry & setOffset(uint32_t offset_) VULKAN_HPP_NOEXCEPT
struct VkImportFenceFdInfoKHR VkImportFenceFdInfoKHR
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildSizesInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::AccelerationStructureKHR dstAccelerationStructure
RenderPassCreateInfo2 & operator=(VkRenderPassCreateInfo2 const &rhs) VULKAN_HPP_NOEXCEPT
DeviceCreateInfo & operator=(DeviceCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 ImageDrmFormatModifierListCreateInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(SubpassDescription2 const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceExternalImageFormatInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ImageCopy(VULKAN_HPP_NAMESPACE::ImageSubresourceLayers srcSubresource_={}, VULKAN_HPP_NAMESPACE::Offset3D srcOffset_={}, VULKAN_HPP_NAMESPACE::ImageSubresourceLayers dstSubresource_={}, VULKAN_HPP_NAMESPACE::Offset3D dstOffset_={}, VULKAN_HPP_NAMESPACE::Extent3D extent_={}) VULKAN_HPP_NOEXCEPT
bool operator==(RenderPassCreationFeedbackCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
RenderPassTransformBeginInfoQCOM(VkRenderPassTransformBeginInfoQCOM const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GraphicsPipelineCreateInfo & setFlags(VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR ResolveImageInfo2(VULKAN_HPP_NAMESPACE::Image srcImage_={}, VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout_=VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined, VULKAN_HPP_NAMESPACE::Image dstImage_={}, VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout_=VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined, uint32_t regionCount_={}, const VULKAN_HPP_NAMESPACE::ImageResolve2 *pRegions_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(GraphicsPipelineCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderCoreBuiltinsFeaturesARM & setShaderCoreBuiltins(VULKAN_HPP_NAMESPACE::Bool32 shaderCoreBuiltins_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::PipelineStageFlags2 dstStageMask
PipelineVertexInputStateCreateInfo(VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateFlags flags_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::VertexInputBindingDescription > const &vertexBindingDescriptions_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription > const &vertexAttributeDescriptions_={}, const void *pNext_=nullptr)
PhysicalDeviceOpticalFlowPropertiesNV & operator=(VkPhysicalDeviceOpticalFlowPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 HdrMetadataEXT & setMaxLuminance(float maxLuminance_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageDrmFormatModifierInfoEXT & setDrmFormatModifier(uint64_t drmFormatModifier_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceVertexAttributeDivisorFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 vertexAttributeInstanceRateDivisor_={}, VULKAN_HPP_NAMESPACE::Bool32 vertexAttributeInstanceRateZeroDivisor_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDevicePipelineProtectedAccessFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(ImagePlaneMemoryRequirementsInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
bool operator!=(SwapchainPresentBarrierCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(MemoryOpaqueCaptureAddressAllocateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GraphicsPipelineShaderGroupsCreateInfoNV & setPipelineCount(uint32_t pipelineCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GeneratedCommandsInfoNV & setSequencesIndexOffset(VULKAN_HPP_NAMESPACE::DeviceSize sequencesIndexOffset_) VULKAN_HPP_NOEXCEPT
ImageSubresourceRange & operator=(VkImageSubresourceRange const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineCoverageToColorStateCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSubpassMergeFeedbackFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExclusiveScissorFeaturesNV & setExclusiveScissor(VULKAN_HPP_NAMESPACE::Bool32 exclusiveScissor_) VULKAN_HPP_NOEXCEPT
bool operator!=(DebugUtilsLabelEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkDrawIndirectCommand VkDrawIndirectCommand
bool operator!=(MicromapTriangleEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR CopyDescriptorSet(VULKAN_HPP_NAMESPACE::DescriptorSet srcSet_={}, uint32_t srcBinding_={}, uint32_t srcArrayElement_={}, VULKAN_HPP_NAMESPACE::DescriptorSet dstSet_={}, uint32_t dstBinding_={}, uint32_t dstArrayElement_={}, uint32_t descriptorCount_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceTilePropertiesFeaturesQCOM & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR VertexInputAttributeDescription(uint32_t location_={}, uint32_t binding_={}, VULKAN_HPP_NAMESPACE::Format format_=VULKAN_HPP_NAMESPACE::Format::eUndefined, uint32_t offset_={}) VULKAN_HPP_NOEXCEPT
const VULKAN_HPP_NAMESPACE::Semaphore * pSignalSemaphores
PresentInfoKHR & setWaitSemaphores(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Semaphore > const &waitSemaphores_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageSubresourceLayers & setLayerCount(uint32_t layerCount_) VULKAN_HPP_NOEXCEPT
RenderPassCreateInfo2 & setSubpasses(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SubpassDescription2 > const &subpasses_) VULKAN_HPP_NOEXCEPT
BufferCreateInfo & operator=(BufferCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
PerformanceCounterDescriptionKHR & operator=(VkPerformanceCounterDescriptionKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DebugUtilsObjectNameInfoEXT(VULKAN_HPP_NAMESPACE::ObjectType objectType_=VULKAN_HPP_NAMESPACE::ObjectType::eUnknown, uint64_t objectHandle_={}, const char *pObjectName_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AttachmentReference2 & setAttachment(uint32_t attachment_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureVersionInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
GeometryAABBNV & operator=(GeometryAABBNV const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator==(GraphicsPipelineLibraryCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
SamplerYcbcrConversionCreateInfo & operator=(VkSamplerYcbcrConversionCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::PipelineStageFlags2 srcStageMask
bool operator==(PipelineRenderingCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceShaderIntegerDotProductFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 graphicsPipelineLibrary_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceSize offset
ValidationFeaturesEXT & setDisabledValidationFeatures(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::ValidationFeatureDisableEXT > const &disabledValidationFeatures_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
VULKAN_HPP_CONSTEXPR_14 MicromapBuildInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceConditionalRenderingFeaturesEXT & setConditionalRendering(VULKAN_HPP_NAMESPACE::Bool32 conditionalRendering_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceVulkanMemoryModelFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 QueueFamilyGlobalPriorityPropertiesKHR(uint32_t priorityCount_={}, std::array< VULKAN_HPP_NAMESPACE::QueueGlobalPriorityKHR, VK_MAX_GLOBAL_PRIORITY_SIZE_KHR > const &priorities_={{VULKAN_HPP_NAMESPACE::QueueGlobalPriorityKHR::eLow, VULKAN_HPP_NAMESPACE::QueueGlobalPriorityKHR::eLow, VULKAN_HPP_NAMESPACE::QueueGlobalPriorityKHR::eLow, VULKAN_HPP_NAMESPACE::QueueGlobalPriorityKHR::eLow, VULKAN_HPP_NAMESPACE::QueueGlobalPriorityKHR::eLow, VULKAN_HPP_NAMESPACE::QueueGlobalPriorityKHR::eLow, VULKAN_HPP_NAMESPACE::QueueGlobalPriorityKHR::eLow, VULKAN_HPP_NAMESPACE::QueueGlobalPriorityKHR::eLow, VULKAN_HPP_NAMESPACE::QueueGlobalPriorityKHR::eLow, VULKAN_HPP_NAMESPACE::QueueGlobalPriorityKHR::eLow, VULKAN_HPP_NAMESPACE::QueueGlobalPriorityKHR::eLow, VULKAN_HPP_NAMESPACE::QueueGlobalPriorityKHR::eLow, VULKAN_HPP_NAMESPACE::QueueGlobalPriorityKHR::eLow, VULKAN_HPP_NAMESPACE::QueueGlobalPriorityKHR::eLow, VULKAN_HPP_NAMESPACE::QueueGlobalPriorityKHR::eLow, VULKAN_HPP_NAMESPACE::QueueGlobalPriorityKHR::eLow}}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SparseImageMemoryBindInfo & setBindCount(uint32_t bindCount_) VULKAN_HPP_NOEXCEPT
const VkDescriptorImageInfo * pInputAttachmentImage
SpecializationMapEntry & operator=(SpecializationMapEntry const &rhs) VULKAN_HPP_NOEXCEPT=default
ExternalImageFormatPropertiesNV(VkExternalImageFormatPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineShaderStageCreateInfo & setStage(VULKAN_HPP_NAMESPACE::ShaderStageFlagBits stage_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceImageRobustnessFeatures VkPhysicalDeviceImageRobustnessFeatures
DescriptorUpdateTemplateCreateInfo & operator=(VkDescriptorUpdateTemplateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
struct VkVideoEncodeH264RateControlLayerInfoEXT VkVideoEncodeH264RateControlLayerInfoEXT
VULKAN_HPP_NAMESPACE::AccelerationStructureMotionInfoFlagsNV flags
bool operator==(ImageViewAddressPropertiesNVX const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceSubpassShadingFeaturesHUAWEI const &rhs) const VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
ImageDrmFormatModifierExplicitCreateInfoEXT(VkImageDrmFormatModifierExplicitCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DisplayPowerInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 RenderPassBeginInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineViewportSwizzleStateCreateInfoNV(VULKAN_HPP_NAMESPACE::PipelineViewportSwizzleStateCreateFlagsNV flags_={}, uint32_t viewportCount_={}, const VULKAN_HPP_NAMESPACE::ViewportSwizzleNV *pViewportSwizzles_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR(VULKAN_HPP_NAMESPACE::Bool32 workgroupMemoryExplicitLayout_={}, VULKAN_HPP_NAMESPACE::Bool32 workgroupMemoryExplicitLayoutScalarBlockLayout_={}, VULKAN_HPP_NAMESPACE::Bool32 workgroupMemoryExplicitLayout8BitAccess_={}, VULKAN_HPP_NAMESPACE::Bool32 workgroupMemoryExplicitLayout16BitAccess_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineCacheHeaderVersionOne const &rhs) const VULKAN_HPP_NOEXCEPT
PipelineViewportWScalingStateCreateInfoNV(VkPipelineViewportWScalingStateCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageRobustnessFeatures & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DescriptorDataEXT data
WriteDescriptorSetAccelerationStructureKHR & operator=(VkWriteDescriptorSetAccelerationStructureKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BindImageMemoryInfo & setMemoryOffset(VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_) VULKAN_HPP_NOEXCEPT
DeviceGroupCommandBufferBeginInfo & operator=(VkDeviceGroupCommandBufferBeginInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR & setWorkgroupMemoryExplicitLayout8BitAccess(VULKAN_HPP_NAMESPACE::Bool32 workgroupMemoryExplicitLayout8BitAccess_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceUniformBufferStandardLayoutFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR CommandBufferInheritanceViewportScissorInfoNV(VULKAN_HPP_NAMESPACE::Bool32 viewportScissor2D_={}, uint32_t viewportDepthCount_={}, const VULKAN_HPP_NAMESPACE::Viewport *pViewportDepths_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR BufferCreateInfo(VULKAN_HPP_NAMESPACE::BufferCreateFlags flags_={}, VULKAN_HPP_NAMESPACE::DeviceSize size_={}, VULKAN_HPP_NAMESPACE::BufferUsageFlags usage_={}, VULKAN_HPP_NAMESPACE::SharingMode sharingMode_=VULKAN_HPP_NAMESPACE::SharingMode::eExclusive, uint32_t queueFamilyIndexCount_={}, const uint32_t *pQueueFamilyIndices_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(OpticalFlowImageFormatInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineVertexInputStateCreateInfo(VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateFlags flags_={}, uint32_t vertexBindingDescriptionCount_={}, const VULKAN_HPP_NAMESPACE::VertexInputBindingDescription *pVertexBindingDescriptions_={}, uint32_t vertexAttributeDescriptionCount_={}, const VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription *pVertexAttributeDescriptions_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV
VULKAN_HPP_CONSTEXPR_14 MicromapCreateInfoEXT & setType(VULKAN_HPP_NAMESPACE::MicromapTypeEXT type_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDevicePresentBarrierFeaturesNV VkPhysicalDevicePresentBarrierFeaturesNV
VULKAN_HPP_CONSTEXPR_14 MicromapTriangleEXT & setSubdivisionLevel(uint16_t subdivisionLevel_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setTextureCompressionETC2(VULKAN_HPP_NAMESPACE::Bool32 textureCompressionETC2_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageCreateInfo & setSharingMode(VULKAN_HPP_NAMESPACE::SharingMode sharingMode_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugMarkerObjectNameInfoEXT & setPObjectName(const char *pObjectName_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setVulkanMemoryModelDeviceScope(VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModelDeviceScope_) VULKAN_HPP_NOEXCEPT
CommandBufferInheritanceViewportScissorInfoNV(VkCommandBufferInheritanceViewportScissorInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
struct VkValidationCacheCreateInfoEXT VkValidationCacheCreateInfoEXT
struct VkQueueFamilyGlobalPriorityPropertiesKHR VkQueueFamilyGlobalPriorityPropertiesKHR
bool operator==(DescriptorPoolInlineUniformBlockCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR BindSparseInfo(uint32_t waitSemaphoreCount_={}, const VULKAN_HPP_NAMESPACE::Semaphore *pWaitSemaphores_={}, uint32_t bufferBindCount_={}, const VULKAN_HPP_NAMESPACE::SparseBufferMemoryBindInfo *pBufferBinds_={}, uint32_t imageOpaqueBindCount_={}, const VULKAN_HPP_NAMESPACE::SparseImageOpaqueMemoryBindInfo *pImageOpaqueBinds_={}, uint32_t imageBindCount_={}, const VULKAN_HPP_NAMESPACE::SparseImageMemoryBindInfo *pImageBinds_={}, uint32_t signalSemaphoreCount_={}, const VULKAN_HPP_NAMESPACE::Semaphore *pSignalSemaphores_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderAtomicFloat2FeaturesEXT & setShaderBufferFloat16AtomicMinMax(VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat16AtomicMinMax_) VULKAN_HPP_NOEXCEPT
FramebufferMixedSamplesCombinationNV(VkFramebufferMixedSamplesCombinationNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RayTracingPipelineCreateInfoNV & setMaxRecursionDepth(uint32_t maxRecursionDepth_) VULKAN_HPP_NOEXCEPT
bool operator!=(DeviceGroupRenderPassBeginInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PipelineDiscardRectangleStateCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 WriteDescriptorSetAccelerationStructureKHR & setAccelerationStructureCount(uint32_t accelerationStructureCount_) VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineViewportSwizzleStateCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR MemoryRequirements(VULKAN_HPP_NAMESPACE::DeviceSize size_={}, VULKAN_HPP_NAMESPACE::DeviceSize alignment_={}, uint32_t memoryTypeBits_={}) VULKAN_HPP_NOEXCEPT
bool operator==(SubmitInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PipelinePropertiesIdentifierEXT const &rhs) const VULKAN_HPP_NOEXCEPT
InitializePerformanceApiInfoINTEL(VkInitializePerformanceApiInfoINTEL const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR MemoryDedicatedAllocateInfo(VULKAN_HPP_NAMESPACE::Image image_={}, VULKAN_HPP_NAMESPACE::Buffer buffer_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferCreateInfo & setFlags(VULKAN_HPP_NAMESPACE::BufferCreateFlags flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SwapchainCreateInfoKHR & setFlags(VULKAN_HPP_NAMESPACE::SwapchainCreateFlagsKHR flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DescriptorUpdateTemplateCreateInfo(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateFlags flags_={}, uint32_t descriptorUpdateEntryCount_={}, const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateEntry *pDescriptorUpdateEntries_={}, VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateType templateType_=VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateType::eDescriptorSet, VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout_={}, VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_=VULKAN_HPP_NAMESPACE::PipelineBindPoint::eGraphics, VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout_={}, uint32_t set_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassSampleLocationsBeginInfoEXT & setPAttachmentInitialSampleLocations(const VULKAN_HPP_NAMESPACE::AttachmentSampleLocationsEXT *pAttachmentInitialSampleLocations_) VULKAN_HPP_NOEXCEPT
BindBufferMemoryDeviceGroupInfo(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &deviceIndices_, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationStateCreateInfo & setDepthBiasClamp(float depthBiasClamp_) VULKAN_HPP_NOEXCEPT
SpecializationInfo(VkSpecializationInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan11Features & setStorageBuffer16BitAccess(VULKAN_HPP_NAMESPACE::Bool32 storageBuffer16BitAccess_) VULKAN_HPP_NOEXCEPT
SamplerReductionModeCreateInfo(VkSamplerReductionModeCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
DescriptorGetInfoEXT & operator=(VkDescriptorGetInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureInfoNV & setPGeometries(const VULKAN_HPP_NAMESPACE::GeometryNV *pGeometries_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV
PhysicalDevicePipelineExecutablePropertiesFeaturesKHR(VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(AttachmentReference const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassCreateInfo2 & setAttachmentCount(uint32_t attachmentCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageResolve2 & setExtent(VULKAN_HPP_NAMESPACE::Extent3D const &extent_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ExportMemoryAllocateInfoNV(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleTypes_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceInheritedViewportScissorFeaturesNV & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ProtectedSubmitInfo & setProtectedSubmit(VULKAN_HPP_NAMESPACE::Bool32 protectedSubmit_) VULKAN_HPP_NOEXCEPT
bool operator!=(MultiDrawInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(DependencyInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyBufferToImageInfo2 & setRegionCount(uint32_t regionCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildGeometryInfoKHR & setDstAccelerationStructure(VULKAN_HPP_NAMESPACE::AccelerationStructureKHR dstAccelerationStructure_) VULKAN_HPP_NOEXCEPT
bool operator!=(PresentRegionsKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderAtomicFloatFeaturesEXT & setSparseImageFloat32Atomics(VULKAN_HPP_NAMESPACE::Bool32 sparseImageFloat32Atomics_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferImageCopy2 & setBufferRowLength(uint32_t bufferRowLength_) VULKAN_HPP_NOEXCEPT
bool operator!=(ImageViewUsageCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SamplerYcbcrConversionCreateInfo & setYChromaOffset(VULKAN_HPP_NAMESPACE::ChromaLocation yChromaOffset_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceSize offset
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT & setRasterizationOrderColorAttachmentAccess(VULKAN_HPP_NAMESPACE::Bool32 rasterizationOrderColorAttachmentAccess_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceDepthClampZeroOneFeaturesEXT & operator=(VkPhysicalDeviceDepthClampZeroOneFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceDriverProperties & operator=(VkPhysicalDeviceDriverProperties const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceImageProcessingPropertiesQCOM & operator=(VkPhysicalDeviceImageProcessingPropertiesQCOM const &rhs) VULKAN_HPP_NOEXCEPT
struct VkIndirectCommandsStreamNV VkIndirectCommandsStreamNV
VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR transformData
struct VkVideoEncodeCapabilitiesKHR VkVideoEncodeCapabilitiesKHR
VULKAN_HPP_CONSTEXPR_14 RenderingInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
DeviceBufferMemoryRequirements(VkDeviceBufferMemoryRequirements const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceIDProperties const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ImageAspectFlagBits planeAspect
PhysicalDeviceShadingRateImagePropertiesNV & operator=(VkPhysicalDeviceShadingRateImagePropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT
ImageViewAddressPropertiesNVX(VkImageViewAddressPropertiesNVX const &rhs) VULKAN_HPP_NOEXCEPT
GLbitfield flags
Definition: glcorearb.h:1596
bool operator==(WriteDescriptorSetAccelerationStructureNV const &rhs) const VULKAN_HPP_NOEXCEPT
RenderPassSampleLocationsBeginInfoEXT(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::AttachmentSampleLocationsEXT > const &attachmentInitialSampleLocations_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SubpassSampleLocationsEXT > const &postSubpassSampleLocations_={}, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 SRTDataNV & setPvx(float pvx_) VULKAN_HPP_NOEXCEPT
SubmitInfo2 & setSignalSemaphoreInfos(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SemaphoreSubmitInfo > const &signalSemaphoreInfos_) VULKAN_HPP_NOEXCEPT
SemaphoreWaitInfo(VkSemaphoreWaitInfo const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceSubpassMergeFeedbackFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShadingRateImageFeaturesNV & setShadingRateImage(VULKAN_HPP_NAMESPACE::Bool32 shadingRateImage_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageViewCreateInfo & setFlags(VULKAN_HPP_NAMESPACE::ImageViewCreateFlags flags_) VULKAN_HPP_NOEXCEPT
PipelineRasterizationDepthClipStateCreateInfoEXT & operator=(VkPipelineRasterizationDepthClipStateCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceLegacyDitheringFeaturesEXT(VkPhysicalDeviceLegacyDitheringFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL & setShaderIntegerFunctions2(VULKAN_HPP_NAMESPACE::Bool32 shaderIntegerFunctions2_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceShaderAtomicFloat2FeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VkBool32(VKAPI_PTR * PFN_vkDebugReportCallbackEXT)(VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char *pLayerPrefix, const char *pMessage, void *pUserData)
Definition: vulkan_core.h:9873
bool operator==(SparseImageMemoryBind const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferDeviceAddressCreateInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubpassDescription2 & setFlags(VULKAN_HPP_NAMESPACE::SubpassDescriptionFlags flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE(VULKAN_HPP_NAMESPACE::Bool32 descriptorSetHostMapping_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(ExternalSemaphoreProperties const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorBinaryHeaderVersionOneEXT(uint32_t headerSize_={}, VULKAN_HPP_NAMESPACE::DeviceFaultVendorBinaryHeaderVersionEXT headerVersion_=VULKAN_HPP_NAMESPACE::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_={}) VULKAN_HPP_NOEXCEPT
struct VkImportSemaphoreZirconHandleInfoFUCHSIA VkImportSemaphoreZirconHandleInfoFUCHSIA
bool operator==(AttachmentDescription const &rhs) const VULKAN_HPP_NOEXCEPT
VkAccelerationStructureMatrixMotionInstanceNV matrixMotionInstance
VULKAN_HPP_CONSTEXPR_14 DisplayModeCreateInfoKHR & setFlags(VULKAN_HPP_NAMESPACE::DisplayModeCreateFlagsKHR flags_) VULKAN_HPP_NOEXCEPT
ImageFormatProperties2 & operator=(VkImageFormatProperties2 const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineDynamicStateCreateInfo(VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateFlags flags_={}, uint32_t dynamicStateCount_={}, const VULKAN_HPP_NAMESPACE::DynamicState *pDynamicStates_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceAddressBindingFlagsEXT flags
struct VkPhysicalDeviceDiscardRectanglePropertiesEXT VkPhysicalDeviceDiscardRectanglePropertiesEXT
uint32_t dstBinding
VULKAN_HPP_CONSTEXPR_14 GeneratedCommandsMemoryRequirementsInfoNV & setPipelineBindPoint(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_) VULKAN_HPP_NOEXCEPT
bool operator!=(AttachmentReference const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AmigoProfilingSubmitInfoSEC & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
BindImagePlaneMemoryInfo & operator=(VkBindImagePlaneMemoryInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR src
bool operator!=(ExternalMemoryImageCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CuLaunchInfoNVX & setGridDimX(uint32_t gridDimX_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineColorBlendAttachmentState & setDstAlphaBlendFactor(VULKAN_HPP_NAMESPACE::BlendFactor dstAlphaBlendFactor_) VULKAN_HPP_NOEXCEPT
RenderPassSampleLocationsBeginInfoEXT & setPostSubpassSampleLocations(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SubpassSampleLocationsEXT > const &postSubpassSampleLocations_) VULKAN_HPP_NOEXCEPT
bool operator==(PerformanceOverrideInfoINTEL const &rhs) const VULKAN_HPP_NOEXCEPT
AccelerationStructureInstanceKHR & operator=(VkAccelerationStructureInstanceKHR const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceShaderAtomicFloatFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceProtectedMemoryFeatures(VULKAN_HPP_NAMESPACE::Bool32 protectedMemory_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 CopyImageInfo2 & setSrcImageLayout(VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ValidationFeaturesEXT(uint32_t enabledValidationFeatureCount_={}, const VULKAN_HPP_NAMESPACE::ValidationFeatureEnableEXT *pEnabledValidationFeatures_={}, uint32_t disabledValidationFeatureCount_={}, const VULKAN_HPP_NAMESPACE::ValidationFeatureDisableEXT *pDisabledValidationFeatures_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ViewportSwizzleNV & setX(VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV x_) VULKAN_HPP_NOEXCEPT
RenderPassInputAttachmentAspectCreateInfo & setAspectReferences(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::InputAttachmentAspectReference > const &aspectReferences_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CoarseSampleOrderCustomNV & setPSampleLocations(const VULKAN_HPP_NAMESPACE::CoarseSampleLocationNV *pSampleLocations_) VULKAN_HPP_NOEXCEPT
bool operator!=(CheckpointDataNV const &rhs) const VULKAN_HPP_NOEXCEPT
DisplayPlaneProperties2KHR(VkDisplayPlaneProperties2KHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples
PhysicalDeviceVulkan12Properties & operator=(VkPhysicalDeviceVulkan12Properties const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineCreationFeedbackCreateInfo & setPipelineStageCreationFeedbackCount(uint32_t pipelineStageCreationFeedbackCount_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceAmigoProfilingFeaturesSEC const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineSampleLocationsStateCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setTimelineSemaphore(VULKAN_HPP_NAMESPACE::Bool32 timelineSemaphore_) VULKAN_HPP_NOEXCEPT
struct VkPipelineCoverageReductionStateCreateInfoNV VkPipelineCoverageReductionStateCreateInfoNV
bool operator!=(DescriptorBufferInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(SemaphoreWaitInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ShadingRatePaletteNV(uint32_t shadingRatePaletteEntryCount_={}, const VULKAN_HPP_NAMESPACE::ShadingRatePaletteEntryNV *pShadingRatePaletteEntries_={}) VULKAN_HPP_NOEXCEPT
PipelineRasterizationStateRasterizationOrderAMD & operator=(VkPipelineRasterizationStateRasterizationOrderAMD const &rhs) VULKAN_HPP_NOEXCEPT
DescriptorBufferBindingInfoEXT(VkDescriptorBufferBindingInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
RenderPassMultiviewCreateInfo(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &viewMasks_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const int32_t > const &viewOffsets_={}, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &correlationMasks_={}, const void *pNext_=nullptr)
struct VkPipelineViewportDepthClipControlCreateInfoEXT VkPipelineViewportDepthClipControlCreateInfoEXT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryTrianglesDataKHR & setTransformData(VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR const &transformData_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL(VULKAN_HPP_NAMESPACE::Bool32 shaderIntegerFunctions2_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setShaderFloat64(VULKAN_HPP_NAMESPACE::Bool32 shaderFloat64_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassCreationFeedbackCreateInfoEXT & setPRenderPassFeedback(VULKAN_HPP_NAMESPACE::RenderPassCreationFeedbackInfoEXT *pRenderPassFeedback_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 Extent3D & setHeight(uint32_t height_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceRayTracingMotionBlurFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DeviceQueueGlobalPriorityCreateInfoKHR(VULKAN_HPP_NAMESPACE::QueueGlobalPriorityKHR globalPriority_=VULKAN_HPP_NAMESPACE::QueueGlobalPriorityKHR::eLow, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceInheritedViewportScissorFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkInputAttachmentAspectReference VkInputAttachmentAspectReference
ImageViewASTCDecodeModeEXT & operator=(VkImageViewASTCDecodeModeEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkImageSubresource VkImageSubresource
VULKAN_HPP_CONSTEXPR_14 ImageResolve2 & setDstSubresource(VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const &dstSubresource_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorSetLayoutBindingFlagsCreateInfo & setPBindingFlags(const VULKAN_HPP_NAMESPACE::DescriptorBindingFlags *pBindingFlags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubmitInfo & setPWaitSemaphores(const VULKAN_HPP_NAMESPACE::Semaphore *pWaitSemaphores_) VULKAN_HPP_NOEXCEPT
bool operator==(SubpassShadingPipelineCreateInfoHUAWEI const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceOpacityMicromapPropertiesEXT(VkPhysicalDeviceOpacityMicromapPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(SubpassFragmentDensityMapOffsetEndInfoQCOM const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateFlags flags
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceInlineUniformBlockFeatures & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR GeneratedCommandsMemoryRequirementsInfoNV(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_=VULKAN_HPP_NAMESPACE::PipelineBindPoint::eGraphics, VULKAN_HPP_NAMESPACE::Pipeline pipeline_={}, VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout_={}, uint32_t maxSequencesCount_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PerformanceStreamMarkerInfoINTEL(VkPerformanceStreamMarkerInfoINTEL const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassCreateInfo2 & setFlags(VULKAN_HPP_NAMESPACE::RenderPassCreateFlags flags_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceMultiviewFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
PastPresentationTimingGOOGLE & operator=(VkPastPresentationTimingGOOGLE const &rhs) VULKAN_HPP_NOEXCEPT
DeviceMemoryOpaqueCaptureAddressInfo & operator=(VkDeviceMemoryOpaqueCaptureAddressInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT(VULKAN_HPP_NAMESPACE::Bool32 graphicsPipelineLibraryFastLinking_={}, VULKAN_HPP_NAMESPACE::Bool32 graphicsPipelineLibraryIndependentInterpolationDecoration_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PhysicalDeviceImageRobustnessFeatures & operator=(VkPhysicalDeviceImageRobustnessFeatures const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(DebugMarkerObjectTagInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MemoryBarrier2 & setDstStageMask(VULKAN_HPP_NAMESPACE::PipelineStageFlags2 dstStageMask_) VULKAN_HPP_NOEXCEPT
OpticalFlowSessionCreateInfoNV & operator=(VkOpticalFlowSessionCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 OpticalFlowImageFormatInfoNV & setUsage(VULKAN_HPP_NAMESPACE::OpticalFlowUsageFlagsNV usage_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR MappedMemoryRange(VULKAN_HPP_NAMESPACE::DeviceMemory memory_={}, VULKAN_HPP_NAMESPACE::DeviceSize offset_={}, VULKAN_HPP_NAMESPACE::DeviceSize size_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CoarseSampleOrderCustomNV & setShadingRate(VULKAN_HPP_NAMESPACE::ShadingRatePaletteEntryNV shadingRate_) VULKAN_HPP_NOEXCEPT
struct VkExportMemoryAllocateInfo VkExportMemoryAllocateInfo
bool operator==(PhysicalDeviceVulkan11Features const &rhs) const VULKAN_HPP_NOEXCEPT
CheckpointData2NV & operator=(VkCheckpointData2NV const &rhs) VULKAN_HPP_NOEXCEPT
AttachmentDescription2 & operator=(VkAttachmentDescription2 const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceSubgroupProperties const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
DependencyInfo & setMemoryBarriers(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::MemoryBarrier2 > const &memoryBarriers_) VULKAN_HPP_NOEXCEPT
struct VkPipelineShaderStageModuleIdentifierCreateInfoEXT VkPipelineShaderStageModuleIdentifierCreateInfoEXT
VULKAN_HPP_CONSTEXPR_14 PipelineCompilerControlCreateInfoAMD & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
PipelineColorBlendAttachmentState & operator=(VkPipelineColorBlendAttachmentState const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyAccelerationStructureToMemoryInfoKHR & setDst(VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR const &dst_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SurfaceProtectedCapabilitiesKHR(VULKAN_HPP_NAMESPACE::Bool32 supportsProtected_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
QueueFamilyProperties & operator=(VkQueueFamilyProperties const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeatures
bool operator==(ExternalBufferProperties const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RayTracingPipelineCreateInfoKHR & setPLibraryInterface(const VULKAN_HPP_NAMESPACE::RayTracingPipelineInterfaceCreateInfoKHR *pLibraryInterface_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_NAMESPACE::DeviceSize size
VULKAN_HPP_CONSTEXPR_14 RayTracingShaderGroupCreateInfoNV & setGeneralShader(uint32_t generalShader_) VULKAN_HPP_NOEXCEPT
bool operator==(ShaderModuleValidationCacheCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(SparseImageOpaqueMemoryBindInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyMemoryIndirectCommandNV & setSrcAddress(VULKAN_HPP_NAMESPACE::DeviceAddress srcAddress_) VULKAN_HPP_NOEXCEPT
DeviceCreateInfo & operator=(VkDeviceCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceVulkan11Features & operator=(VkPhysicalDeviceVulkan11Features const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCopyMemoryIndirectFeaturesNV & setIndirectCopy(VULKAN_HPP_NAMESPACE::Bool32 indirectCopy_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDevicePipelineCreationCacheControlFeatures VkPhysicalDevicePipelineCreationCacheControlFeatures
MultisamplePropertiesEXT & operator=(VkMultisamplePropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 IndirectCommandsLayoutTokenNV & setVertexBindingUnit(uint32_t vertexBindingUnit_) VULKAN_HPP_NOEXCEPT
MultiDrawIndexedInfoEXT & operator=(VkMultiDrawIndexedInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkViewport VkViewport
DescriptorSetLayoutHostMappingInfoVALVE & operator=(VkDescriptorSetLayoutHostMappingInfoVALVE const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePipelineExecutablePropertiesFeaturesKHR & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT & operator=(VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SemaphoreWaitInfo & setPValues(const uint64_t *pValues_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceConditionalRenderingFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineDepthStencilStateCreateInfo & setDepthWriteEnable(VULKAN_HPP_NAMESPACE::Bool32 depthWriteEnable_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceBufferDeviceAddressFeaturesEXT(VkPhysicalDeviceBufferDeviceAddressFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CoarseSampleOrderCustomNV & setSampleLocationCount(uint32_t sampleLocationCount_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDevicePresentBarrierFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkGraphicsPipelineLibraryCreateInfoEXT VkGraphicsPipelineLibraryCreateInfoEXT
VULKAN_HPP_CONSTEXPR SubresourceLayout2EXT(VULKAN_HPP_NAMESPACE::SubresourceLayout subresourceLayout_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(Viewport const &rhs) const VULKAN_HPP_NOEXCEPT
ExportSemaphoreCreateInfo(VkExportSemaphoreCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
DeviceGroupSubmitInfo & setCommandBufferDeviceMasks(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &commandBufferDeviceMasks_) VULKAN_HPP_NOEXCEPT
SubpassDescription2(VkSubpassDescription2 const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(SparseMemoryBind const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::AttachmentStoreOp stencilStoreOp
VULKAN_HPP_CONSTEXPR_14 Offset2D & setX(int32_t x_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceOpacityMicromapFeaturesEXT & setMicromap(VULKAN_HPP_NAMESPACE::Bool32 micromap_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setVariableMultisampleRate(VULKAN_HPP_NAMESPACE::Bool32 variableMultisampleRate_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
ImageCopy2 & operator=(VkImageCopy2 const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(OpticalFlowSessionCreatePrivateDataInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
PipelineExecutablePropertiesKHR & operator=(VkPipelineExecutablePropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
AttachmentSampleLocationsEXT & operator=(AttachmentSampleLocationsEXT const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 PipelineExecutableStatisticKHR(std::array< char, VK_MAX_DESCRIPTION_SIZE > const &name_={}, std::array< char, VK_MAX_DESCRIPTION_SIZE > const &description_={}, VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticFormatKHR format_=VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticFormatKHR::eBool32, VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticValueKHR value_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubpassSampleLocationsEXT & setSubpassIndex(uint32_t subpassIndex_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Format vertexFormat
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderModuleIdentifierFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCallbackDataEXT & setFlags(VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCallbackDataFlagsEXT flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyMemoryToImageIndirectCommandNV & setBufferImageHeight(uint32_t bufferImageHeight_) VULKAN_HPP_NOEXCEPT
AccelerationStructureMotionInstanceNV & operator=(AccelerationStructureMotionInstanceNV const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator==(DisplayPowerInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(QueueFamilyProperties2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferCreateInfo & setPQueueFamilyIndices(const uint32_t *pQueueFamilyIndices_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSubgroupSizeControlFeatures & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMotionInstanceDataNV(VULKAN_HPP_NAMESPACE::AccelerationStructureSRTMotionInstanceNV srtMotionInstance_)
DrmFormatModifierPropertiesEXT(VkDrmFormatModifierPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferCreateInfo & setQueueFamilyIndexCount(uint32_t queueFamilyIndexCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR MemoryRequirements2(VULKAN_HPP_NAMESPACE::MemoryRequirements memoryRequirements_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT VkPhysicalDeviceFragmentDensityMapPropertiesEXT
struct VkDisplayPlanePropertiesKHR VkDisplayPlanePropertiesKHR
bool operator!=(RayTracingShaderGroupCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceProtectedMemoryFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
SampleLocationEXT & operator=(VkSampleLocationEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GeometryTrianglesNV & setIndexType(VULKAN_HPP_NAMESPACE::IndexType indexType_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ImageMemoryBarrier(VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask_={}, VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_={}, VULKAN_HPP_NAMESPACE::ImageLayout oldLayout_=VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined, VULKAN_HPP_NAMESPACE::ImageLayout newLayout_=VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined, uint32_t srcQueueFamilyIndex_={}, uint32_t dstQueueFamilyIndex_={}, VULKAN_HPP_NAMESPACE::Image image_={}, VULKAN_HPP_NAMESPACE::ImageSubresourceRange subresourceRange_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SampleLocationEXT(float x_={}, float y_={}) VULKAN_HPP_NOEXCEPT
PhysicalDeviceDynamicRenderingFeatures(VkPhysicalDeviceDynamicRenderingFeatures const &rhs) VULKAN_HPP_NOEXCEPT
uint32_t VkBool32
Definition: vulkan_core.h:93
bool operator!=(SurfaceCapabilities2KHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MemoryGetFdInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SurfaceCapabilitiesPresentBarrierNV & setPresentBarrierSupported(VULKAN_HPP_NAMESPACE::Bool32 presentBarrierSupported_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ExportMemoryAllocateInfo & setHandleTypes(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags handleTypes_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR BindImageMemoryInfo(VULKAN_HPP_NAMESPACE::Image image_={}, VULKAN_HPP_NAMESPACE::DeviceMemory memory_={}, VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ImageLayout layout
bool operator!=(SRTDataNV const &rhs) const VULKAN_HPP_NOEXCEPT
DeviceCreateInfo & setPEnabledExtensionNames(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const char *const > const &pEnabledExtensionNames_) VULKAN_HPP_NOEXCEPT
DescriptorSetLayoutBindingFlagsCreateInfo & operator=(DescriptorSetLayoutBindingFlagsCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR AttachmentDescriptionStencilLayout(VULKAN_HPP_NAMESPACE::ImageLayout stencilInitialLayout_=VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined, VULKAN_HPP_NAMESPACE::ImageLayout stencilFinalLayout_=VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
bool operator!=(SurfaceCapabilities2EXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceCustomBorderColorPropertiesEXT(uint32_t maxCustomBorderColorSamplers_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderCoreBuiltinsPropertiesARM & operator=(VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM const &rhs) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
AttachmentDescriptionStencilLayout(VkAttachmentDescriptionStencilLayout const &rhs) VULKAN_HPP_NOEXCEPT
FramebufferAttachmentImageInfo(VULKAN_HPP_NAMESPACE::ImageCreateFlags flags_, VULKAN_HPP_NAMESPACE::ImageUsageFlags usage_, uint32_t width_, uint32_t height_, uint32_t layerCount_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Format > const &viewFormats_, const void *pNext_=nullptr)
int int32
Definition: SYS_Types.h:39
GLenum GLint * range
Definition: glcorearb.h:1925
VULKAN_HPP_CONSTEXPR_14 BindAccelerationStructureMemoryInfoNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 VertexInputBindingDescription & setInputRate(VULKAN_HPP_NAMESPACE::VertexInputRate inputRate_) VULKAN_HPP_NOEXCEPT
AttachmentSampleLocationsEXT & operator=(VkAttachmentSampleLocationsEXT const &rhs) VULKAN_HPP_NOEXCEPT
PipelineVertexInputDivisorStateCreateInfoEXT & setVertexBindingDivisors(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::VertexInputBindingDivisorDescriptionEXT > const &vertexBindingDivisors_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceSubgroupSizeControlProperties const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageViewImageFormatInfoEXT & setImageViewType(VULKAN_HPP_NAMESPACE::ImageViewType imageViewType_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineFragmentShadingRateEnumStateCreateInfoNV & setShadingRateType(VULKAN_HPP_NAMESPACE::FragmentShadingRateTypeNV shadingRateType_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setBufferDeviceAddress(VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddress_) VULKAN_HPP_NOEXCEPT
struct VkPipelineExecutableStatisticKHR VkPipelineExecutableStatisticKHR
bool operator==(ColorBlendAdvancedEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkVertexInputBindingDivisorDescriptionEXT VkVertexInputBindingDivisorDescriptionEXT
VULKAN_HPP_CONSTEXPR PhysicalDeviceDrmPropertiesEXT(VULKAN_HPP_NAMESPACE::Bool32 hasPrimary_={}, VULKAN_HPP_NAMESPACE::Bool32 hasRender_={}, int64_t primaryMajor_={}, int64_t primaryMinor_={}, int64_t renderMajor_={}, int64_t renderMinor_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRepresentativeFragmentTestStateCreateInfoNV & setRepresentativeFragmentTestEnable(VULKAN_HPP_NAMESPACE::Bool32 representativeFragmentTestEnable_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceComputeShaderDerivativesFeaturesNV & setComputeDerivativeGroupLinear(VULKAN_HPP_NAMESPACE::Bool32 computeDerivativeGroupLinear_) VULKAN_HPP_NOEXCEPT
bool operator!=(ConditionalRenderingBeginInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
SRTDataNV(VkSRTDataNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PresentRegionsKHR const &rhs) const VULKAN_HPP_NOEXCEPT
BufferCaptureDescriptorDataInfoEXT & operator=(BufferCaptureDescriptorDataInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 SparseMemoryBind & setResourceOffset(VULKAN_HPP_NAMESPACE::DeviceSize resourceOffset_) VULKAN_HPP_NOEXCEPT
bool operator==(DisplayPlanePropertiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkAndroidHardwareBufferFormatPropertiesANDROID VkAndroidHardwareBufferFormatPropertiesANDROID
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentDensityMap2FeaturesEXT & setFragmentDensityMapDeferred(VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMapDeferred_) VULKAN_HPP_NOEXCEPT
bool operator==(DrawMeshTasksIndirectCommandEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkBufferImageCopy VkBufferImageCopy
VULKAN_HPP_CONSTEXPR_14 RayTracingPipelineCreateInfoNV & setBasePipelineHandle(VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DeviceAddressBindingCallbackDataEXT(VULKAN_HPP_NAMESPACE::DeviceAddressBindingFlagsEXT flags_={}, VULKAN_HPP_NAMESPACE::DeviceAddress baseAddress_={}, VULKAN_HPP_NAMESPACE::DeviceSize size_={}, VULKAN_HPP_NAMESPACE::DeviceAddressBindingTypeEXT bindingType_=VULKAN_HPP_NAMESPACE::DeviceAddressBindingTypeEXT::eBind, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageResolve & setSrcOffset(VULKAN_HPP_NAMESPACE::Offset3D const &srcOffset_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineViewportStateCreateInfo & setPViewports(const VULKAN_HPP_NAMESPACE::Viewport *pViewports_) VULKAN_HPP_NOEXCEPT
bool operator!=(FenceGetFdInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BindSparseInfo & setWaitSemaphoreCount(uint32_t waitSemaphoreCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR MicromapBuildSizesInfoEXT(VULKAN_HPP_NAMESPACE::DeviceSize micromapSize_={}, VULKAN_HPP_NAMESPACE::DeviceSize buildScratchSize_={}, VULKAN_HPP_NAMESPACE::Bool32 discardable_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ShaderModuleIdentifierEXT(uint32_t identifierSize_={}, std::array< uint8_t, VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT > const &identifier_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 EventCreateInfo & setFlags(VULKAN_HPP_NAMESPACE::EventCreateFlags flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier2 & setSize(VULKAN_HPP_NAMESPACE::DeviceSize size_) VULKAN_HPP_NOEXCEPT
struct VkComputePipelineCreateInfo VkComputePipelineCreateInfo
ValidationFeaturesEXT(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::ValidationFeatureEnableEXT > const &enabledValidationFeatures_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::ValidationFeatureDisableEXT > const &disabledValidationFeatures_={}, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 PipelineDepthStencilStateCreateInfo & setDepthCompareOp(VULKAN_HPP_NAMESPACE::CompareOp depthCompareOp_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PerformanceQuerySubmitInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SamplerYcbcrConversionCreateInfo & setXChromaOffset(VULKAN_HPP_NAMESPACE::ChromaLocation xChromaOffset_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceImageProcessingFeaturesQCOM & operator=(VkPhysicalDeviceImageProcessingFeaturesQCOM const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DisplayModeCreateInfoKHR(VULKAN_HPP_NAMESPACE::DisplayModeCreateFlagsKHR flags_={}, VULKAN_HPP_NAMESPACE::DisplayModeParametersKHR parameters_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PhysicalDeviceSubpassMergeFeedbackFeaturesEXT & operator=(VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState3PropertiesEXT & setDynamicPrimitiveTopologyUnrestricted(VULKAN_HPP_NAMESPACE::Bool32 dynamicPrimitiveTopologyUnrestricted_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceFaultFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMotionInstanceDataNV & setSrtMotionInstance(VULKAN_HPP_NAMESPACE::AccelerationStructureSRTMotionInstanceNV const &srtMotionInstance_) VULKAN_HPP_NOEXCEPT
struct VkExternalImageFormatProperties VkExternalImageFormatProperties
VULKAN_HPP_CONSTEXPR DescriptorAddressInfoEXT(VULKAN_HPP_NAMESPACE::DeviceAddress address_={}, VULKAN_HPP_NAMESPACE::DeviceSize range_={}, VULKAN_HPP_NAMESPACE::Format format_=VULKAN_HPP_NAMESPACE::Format::eUndefined, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SurfaceCapabilitiesKHR(uint32_t minImageCount_={}, uint32_t maxImageCount_={}, VULKAN_HPP_NAMESPACE::Extent2D currentExtent_={}, VULKAN_HPP_NAMESPACE::Extent2D minImageExtent_={}, VULKAN_HPP_NAMESPACE::Extent2D maxImageExtent_={}, uint32_t maxImageArrayLayers_={}, VULKAN_HPP_NAMESPACE::SurfaceTransformFlagsKHR supportedTransforms_={}, VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR currentTransform_=VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR::eIdentity, VULKAN_HPP_NAMESPACE::CompositeAlphaFlagsKHR supportedCompositeAlpha_={}, VULKAN_HPP_NAMESPACE::ImageUsageFlags supportedUsageFlags_={}) VULKAN_HPP_NOEXCEPT
PipelineTessellationDomainOriginStateCreateInfo(VkPipelineTessellationDomainOriginStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewProperties
SwapchainPresentBarrierCreateInfoNV & operator=(VkSwapchainPresentBarrierCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
AccelerationStructureBuildSizesInfoKHR(VkAccelerationStructureBuildSizesInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
SubpassDescription(VkSubpassDescription const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT & operator=(VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(DeviceQueueCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(DebugReportCallbackCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkCopyAccelerationStructureToMemoryInfoKHR VkCopyAccelerationStructureToMemoryInfoKHR
struct VkVideoDecodeH264SessionParametersAddInfoEXT VkVideoDecodeH264SessionParametersAddInfoEXT
VULKAN_HPP_CONSTEXPR_14 ImageCompressionControlEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntry
VULKAN_HPP_CONSTEXPR_14 FramebufferCreateInfo & setWidth(uint32_t width_) VULKAN_HPP_NOEXCEPT
AccelerationStructureTrianglesOpacityMicromapEXT & operator=(VkAccelerationStructureTrianglesOpacityMicromapEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceMaintenance4Features VkPhysicalDeviceMaintenance4Features
PhysicalDeviceFragmentShaderBarycentricPropertiesKHR & operator=(VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(ImageSparseMemoryRequirementsInfo2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceImage2DViewOf3DFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 image2DViewOf3D_={}, VULKAN_HPP_NAMESPACE::Bool32 sampler2DViewOf3D_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PhysicalDeviceTimelineSemaphoreProperties & operator=(VkPhysicalDeviceTimelineSemaphoreProperties const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RayTracingPipelineInterfaceCreateInfoKHR & setMaxPipelineRayHitAttributeSize(uint32_t maxPipelineRayHitAttributeSize_) VULKAN_HPP_NOEXCEPT
struct VkPipelineDepthStencilStateCreateInfo VkPipelineDepthStencilStateCreateInfo
VULKAN_HPP_CONSTEXPR_14 ImportSemaphoreFdInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceProtectedMemoryFeatures VkPhysicalDeviceProtectedMemoryFeatures
VULKAN_HPP_CONSTEXPR_14 GeneratedCommandsMemoryRequirementsInfoNV & setPipeline(VULKAN_HPP_NAMESPACE::Pipeline pipeline_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::PipelineStageFlags2 stage
VULKAN_HPP_CONSTEXPR_14 SamplerCustomBorderColorCreateInfoEXT & setFormat(VULKAN_HPP_NAMESPACE::Format format_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRayTracingMotionBlurFeaturesNV & setRayTracingMotionBlur(VULKAN_HPP_NAMESPACE::Bool32 rayTracingMotionBlur_) VULKAN_HPP_NOEXCEPT
SurfaceCapabilities2EXT(VkSurfaceCapabilities2EXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkSurfaceFullScreenExclusiveInfoEXT VkSurfaceFullScreenExclusiveInfoEXT
bool operator==(PhysicalDeviceImageProcessingFeaturesQCOM const &rhs) const VULKAN_HPP_NOEXCEPT
DeviceImageMemoryRequirements & operator=(VkDeviceImageMemoryRequirements const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderingAttachmentInfo & setResolveMode(VULKAN_HPP_NAMESPACE::ResolveModeFlagBits resolveMode_) VULKAN_HPP_NOEXCEPT
DescriptorBufferBindingPushDescriptorBufferHandleEXT(VkDescriptorBufferBindingPushDescriptorBufferHandleEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyDescriptorSet & setSrcSet(VULKAN_HPP_NAMESPACE::DescriptorSet srcSet_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageMemoryRequirementsInfo2 & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask
bool operator!=(PhysicalDeviceMemoryProperties const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceMemoryOverallocationCreateInfoAMD & setOverallocationBehavior(VULKAN_HPP_NAMESPACE::MemoryOverallocationBehaviorAMD overallocationBehavior_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ConditionalRenderingBeginInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GraphicsPipelineCreateInfo & setRenderPass(VULKAN_HPP_NAMESPACE::RenderPass renderPass_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageBlit & setSrcSubresource(VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const &srcSubresource_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DedicatedAllocationBufferCreateInfoNV & setDedicatedAllocation(VULKAN_HPP_NAMESPACE::Bool32 dedicatedAllocation_) VULKAN_HPP_NOEXCEPT
struct VkImageFormatProperties2 VkImageFormatProperties2
bool operator==(CommandBufferAllocateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
const VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryKHR *const * ppGeometries
struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
bool operator!=(ColorBlendEquationEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceSize indexOffset
CopyImageInfo2 & operator=(VkCopyImageInfo2 const &rhs) VULKAN_HPP_NOEXCEPT
ConditionalRenderingBeginInfoEXT(VkConditionalRenderingBeginInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
FramebufferCreateInfo(VULKAN_HPP_NAMESPACE::FramebufferCreateFlags flags_, VULKAN_HPP_NAMESPACE::RenderPass renderPass_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::ImageView > const &attachments_, uint32_t width_={}, uint32_t height_={}, uint32_t layers_={}, const void *pNext_=nullptr)
bool operator!=(PhysicalDeviceDeviceGeneratedCommandsFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
SampleLocationsInfoEXT(VkSampleLocationsInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DisplayPresentInfoKHR & setDstRect(VULKAN_HPP_NAMESPACE::Rect2D const &dstRect_) VULKAN_HPP_NOEXCEPT
#define VULKAN_HPP_NOEXCEPT
Definition: vulkan.hpp:200
VULKAN_HPP_CONSTEXPR_14 SubpassEndInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PresentInfoKHR(uint32_t waitSemaphoreCount_={}, const VULKAN_HPP_NAMESPACE::Semaphore *pWaitSemaphores_={}, uint32_t swapchainCount_={}, const VULKAN_HPP_NAMESPACE::SwapchainKHR *pSwapchains_={}, const uint32_t *pImageIndices_={}, VULKAN_HPP_NAMESPACE::Result *pResults_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
ConditionalRenderingBeginInfoEXT & operator=(ConditionalRenderingBeginInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT=default
RenderingFragmentDensityMapAttachmentInfoEXT(VkRenderingFragmentDensityMapAttachmentInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorImageInfo & setImageLayout(VULKAN_HPP_NAMESPACE::ImageLayout imageLayout_) VULKAN_HPP_NOEXCEPT
SubpassDescription & operator=(VkSubpassDescription const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceTimelineSemaphoreProperties const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV VkPhysicalDeviceInheritedViewportScissorFeaturesNV
VULKAN_HPP_CONSTEXPR DrmFormatModifierProperties2EXT(uint64_t drmFormatModifier_={}, uint32_t drmFormatModifierPlaneCount_={}, VULKAN_HPP_NAMESPACE::FormatFeatureFlags2 drmFormatModifierTilingFeatures_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PerformanceCounterDescriptionKHR(VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionFlagsKHR flags_={}, std::array< char, VK_MAX_DESCRIPTION_SIZE > const &name_={}, std::array< char, VK_MAX_DESCRIPTION_SIZE > const &category_={}, std::array< char, VK_MAX_DESCRIPTION_SIZE > const &description_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PipelineViewportCoarseSampleOrderStateCreateInfoNV(VULKAN_HPP_NAMESPACE::CoarseSampleOrderTypeNV sampleOrderType_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV > const &customSampleOrders_, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExternalBufferInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::PipelineStageFlags2 srcStageMask
VULKAN_HPP_CONSTEXPR_14 PipelineSampleLocationsStateCreateInfoEXT & setSampleLocationsInfo(VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT const &sampleLocationsInfo_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineColorBlendAttachmentState & setColorBlendOp(VULKAN_HPP_NAMESPACE::BlendOp colorBlendOp_) VULKAN_HPP_NOEXCEPT
CopyImageToBufferInfo2 & operator=(CopyImageToBufferInfo2 const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderFloat16Int8Features & setShaderInt8(VULKAN_HPP_NAMESPACE::Bool32 shaderInt8_) VULKAN_HPP_NOEXCEPT
bool operator==(MultisampledRenderToSingleSampledInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceNonSeamlessCubeMapFeaturesEXT(VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2
struct VkAttachmentSampleCountInfoAMD VkAttachmentSampleCountInfoAMD
VULKAN_HPP_CONSTEXPR_14 SubpassDependency & setSrcStageMask(VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassBeginInfo & setRenderPass(VULKAN_HPP_NAMESPACE::RenderPass renderPass_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR PhysicalDevicePipelinePropertiesFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 pipelinePropertiesIdentifier_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PhysicalDeviceExclusiveScissorFeaturesNV(VkPhysicalDeviceExclusiveScissorFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(ImageDrmFormatModifierExplicitCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR XYColorEXT(float x_={}, float y_={}) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderFloat16Int8Features & operator=(VkPhysicalDeviceShaderFloat16Int8Features const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineTessellationDomainOriginStateCreateInfo & setDomainOrigin(VULKAN_HPP_NAMESPACE::TessellationDomainOrigin domainOrigin_) VULKAN_HPP_NOEXCEPT
bool operator==(PipelineCreationFeedbackCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
WriteDescriptorSetAccelerationStructureNV(VkWriteDescriptorSetAccelerationStructureNV const &rhs) VULKAN_HPP_NOEXCEPT
struct VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfo
VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageWriteWithoutFormat
struct VkAccelerationStructureBuildGeometryInfoKHR VkAccelerationStructureBuildGeometryInfoKHR
PhysicalDeviceToolProperties & operator=(VkPhysicalDeviceToolProperties const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceComputeShaderDerivativesFeaturesNV & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ImageFormatProperties2(VULKAN_HPP_NAMESPACE::ImageFormatProperties imageFormatProperties_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceGroupPresentInfoKHR & setSwapchainCount(uint32_t swapchainCount_) VULKAN_HPP_NOEXCEPT
PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BindImageMemoryInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PresentTimesInfoGOOGLE(uint32_t swapchainCount_={}, const VULKAN_HPP_NAMESPACE::PresentTimeGOOGLE *pTimes_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeatures
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceScalarBlockLayoutFeatures & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceColorWriteEnableFeaturesEXT & setColorWriteEnable(VULKAN_HPP_NAMESPACE::Bool32 colorWriteEnable_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SemaphoreWaitInfo & setSemaphoreCount(uint32_t semaphoreCount_) VULKAN_HPP_NOEXCEPT
struct VkMemoryZirconHandlePropertiesFUCHSIA VkMemoryZirconHandlePropertiesFUCHSIA
DispatchIndirectCommand(VkDispatchIndirectCommand const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceTexelBufferAlignmentFeaturesEXT & operator=(VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BindBufferMemoryInfo & setMemoryOffset(VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 InitializePerformanceApiInfoINTEL & setPUserData(void *pUserData_) VULKAN_HPP_NOEXCEPT
ImageSubresource(VkImageSubresource const &rhs) VULKAN_HPP_NOEXCEPT
BufferOpaqueCaptureAddressCreateInfo & operator=(BufferOpaqueCaptureAddressCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
CopyMemoryToMicromapInfoEXT & operator=(CopyMemoryToMicromapInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT=default
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
Extent3D(VkExtent3D const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GraphicsPipelineShaderGroupsCreateInfoNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 FramebufferAttachmentImageInfo & setViewFormatCount(uint32_t viewFormatCount_) VULKAN_HPP_NOEXCEPT
struct VkBindAccelerationStructureMemoryInfoNV VkBindAccelerationStructureMemoryInfoNV
VULKAN_HPP_CONSTEXPR GeometryAABBNV(VULKAN_HPP_NAMESPACE::Buffer aabbData_={}, uint32_t numAABBs_={}, uint32_t stride_={}, VULKAN_HPP_NAMESPACE::DeviceSize offset_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setScalarBlockLayout(VULKAN_HPP_NAMESPACE::Bool32 scalarBlockLayout_) VULKAN_HPP_NOEXCEPT
MemoryGetFdInfoKHR & operator=(VkMemoryGetFdInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
DescriptorBufferBindingInfoEXT & operator=(VkDescriptorBufferBindingInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ComputePipelineCreateInfo & setBasePipelineHandle(VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceExtendedDynamicState2FeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 FramebufferAttachmentImageInfo & setUsage(VULKAN_HPP_NAMESPACE::ImageUsageFlags usage_) VULKAN_HPP_NOEXCEPT
bool operator==(ViewportWScalingNV const &rhs) const VULKAN_HPP_NOEXCEPT
BufferMemoryRequirementsInfo2 & operator=(BufferMemoryRequirementsInfo2 const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentShadingRatePropertiesKHR(VULKAN_HPP_NAMESPACE::Extent2D minFragmentShadingRateAttachmentTexelSize_={}, VULKAN_HPP_NAMESPACE::Extent2D maxFragmentShadingRateAttachmentTexelSize_={}, uint32_t maxFragmentShadingRateAttachmentTexelSizeAspectRatio_={}, VULKAN_HPP_NAMESPACE::Bool32 primitiveFragmentShadingRateWithMultipleViewports_={}, VULKAN_HPP_NAMESPACE::Bool32 layeredShadingRateAttachments_={}, VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateNonTrivialCombinerOps_={}, VULKAN_HPP_NAMESPACE::Extent2D maxFragmentSize_={}, uint32_t maxFragmentSizeAspectRatio_={}, uint32_t maxFragmentShadingRateCoverageSamples_={}, VULKAN_HPP_NAMESPACE::SampleCountFlagBits maxFragmentShadingRateRasterizationSamples_=VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1, VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateWithShaderDepthStencilWrites_={}, VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateWithSampleMask_={}, VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateWithShaderSampleMask_={}, VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateWithConservativeRasterization_={}, VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateWithFragmentShaderInterlock_={}, VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateWithCustomSampleLocations_={}, VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateStrictMultiplyCombiner_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
DebugReportCallbackCreateInfoEXT & operator=(VkDebugReportCallbackCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
CopyDescriptorSet & operator=(VkCopyDescriptorSet const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDeviceGeneratedCommandsFeaturesNV & setDeviceGeneratedCommands(VULKAN_HPP_NAMESPACE::Bool32 deviceGeneratedCommands_) VULKAN_HPP_NOEXCEPT
bool operator!=(AccelerationStructureVersionInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 IndirectCommandsLayoutTokenNV & setIndexTypeCount(uint32_t indexTypeCount_) VULKAN_HPP_NOEXCEPT
DeviceGroupDeviceCreateInfo & setPhysicalDevices(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::PhysicalDevice > const &physicalDevices_) VULKAN_HPP_NOEXCEPT
struct VkBufferCopy2 VkBufferCopy2
bool operator==(SubresourceLayout2EXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkImageViewMinLodCreateInfoEXT VkImageViewMinLodCreateInfoEXT
DeviceEventInfoEXT & operator=(VkDeviceEventInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RayTracingShaderGroupCreateInfoKHR & setAnyHitShader(uint32_t anyHitShader_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceRayTracingMotionBlurFeaturesNV(VULKAN_HPP_NAMESPACE::Bool32 rayTracingMotionBlur_={}, VULKAN_HPP_NAMESPACE::Bool32 rayTracingMotionBlurPipelineTraceRaysIndirect_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(FormatProperties2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageSubresource & setArrayLayer(uint32_t arrayLayer_) VULKAN_HPP_NOEXCEPT
struct VkAccelerationStructureBuildRangeInfoKHR VkAccelerationStructureBuildRangeInfoKHR
PhysicalDeviceTransformFeedbackFeaturesEXT & operator=(VkPhysicalDeviceTransformFeedbackFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR VertexInputBindingDescription2EXT(uint32_t binding_={}, uint32_t stride_={}, VULKAN_HPP_NAMESPACE::VertexInputRate inputRate_=VULKAN_HPP_NAMESPACE::VertexInputRate::eVertex, uint32_t divisor_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDepthClipControlFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferCopy2 & setDstOffset(VULKAN_HPP_NAMESPACE::DeviceSize dstOffset_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
bool operator==(RenderPassCreationControlEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkExtensionProperties VkExtensionProperties
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderTerminateInvocationFeatures & setShaderTerminateInvocation(VULKAN_HPP_NAMESPACE::Bool32 shaderTerminateInvocation_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MemoryAllocateFlagsInfo & setFlags(VULKAN_HPP_NAMESPACE::MemoryAllocateFlags flags_) VULKAN_HPP_NOEXCEPT
bool operator!=(SubresourceLayout const &rhs) const VULKAN_HPP_NOEXCEPT
uint32_t size() const VULKAN_HPP_NOEXCEPT
Definition: vulkan.hpp:835
VULKAN_HPP_CONSTEXPR PhysicalDeviceDeviceMemoryReportFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 deviceMemoryReport_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceQueueCreateInfo & setQueueFamilyIndex(uint32_t queueFamilyIndex_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMeshShaderFeaturesEXT & setTaskShader(VULKAN_HPP_NAMESPACE::Bool32 taskShader_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 InputAttachmentAspectReference & setAspectMask(VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageMemoryBarrier2 & setSrcQueueFamilyIndex(uint32_t srcQueueFamilyIndex_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR RenderPassCreateInfo2(VULKAN_HPP_NAMESPACE::RenderPassCreateFlags flags_={}, uint32_t attachmentCount_={}, const VULKAN_HPP_NAMESPACE::AttachmentDescription2 *pAttachments_={}, uint32_t subpassCount_={}, const VULKAN_HPP_NAMESPACE::SubpassDescription2 *pSubpasses_={}, uint32_t dependencyCount_={}, const VULKAN_HPP_NAMESPACE::SubpassDependency2 *pDependencies_={}, uint32_t correlatedViewMaskCount_={}, const uint32_t *pCorrelatedViewMasks_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyDescriptorSet & setSrcBinding(uint32_t srcBinding_) VULKAN_HPP_NOEXCEPT
BindAccelerationStructureMemoryInfoNV & operator=(VkBindAccelerationStructureMemoryInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceDescriptorBufferPropertiesEXT(VULKAN_HPP_NAMESPACE::Bool32 combinedImageSamplerDescriptorSingleArray_={}, VULKAN_HPP_NAMESPACE::Bool32 bufferlessPushDescriptors_={}, VULKAN_HPP_NAMESPACE::Bool32 allowSamplerImageViewPostSubmitCreation_={}, VULKAN_HPP_NAMESPACE::DeviceSize descriptorBufferOffsetAlignment_={}, uint32_t maxDescriptorBufferBindings_={}, uint32_t maxResourceDescriptorBufferBindings_={}, uint32_t maxSamplerDescriptorBufferBindings_={}, uint32_t maxEmbeddedImmutableSamplerBindings_={}, uint32_t maxEmbeddedImmutableSamplers_={}, size_t bufferCaptureReplayDescriptorDataSize_={}, size_t imageCaptureReplayDescriptorDataSize_={}, size_t imageViewCaptureReplayDescriptorDataSize_={}, size_t samplerCaptureReplayDescriptorDataSize_={}, size_t accelerationStructureCaptureReplayDescriptorDataSize_={}, size_t samplerDescriptorSize_={}, size_t combinedImageSamplerDescriptorSize_={}, size_t sampledImageDescriptorSize_={}, size_t storageImageDescriptorSize_={}, size_t uniformTexelBufferDescriptorSize_={}, size_t robustUniformTexelBufferDescriptorSize_={}, size_t storageTexelBufferDescriptorSize_={}, size_t robustStorageTexelBufferDescriptorSize_={}, size_t uniformBufferDescriptorSize_={}, size_t robustUniformBufferDescriptorSize_={}, size_t storageBufferDescriptorSize_={}, size_t robustStorageBufferDescriptorSize_={}, size_t inputAttachmentDescriptorSize_={}, size_t accelerationStructureDescriptorSize_={}, VULKAN_HPP_NAMESPACE::DeviceSize maxSamplerDescriptorBufferRange_={}, VULKAN_HPP_NAMESPACE::DeviceSize maxResourceDescriptorBufferRange_={}, VULKAN_HPP_NAMESPACE::DeviceSize samplerDescriptorBufferAddressSpaceSize_={}, VULKAN_HPP_NAMESPACE::DeviceSize resourceDescriptorBufferAddressSpaceSize_={}, VULKAN_HPP_NAMESPACE::DeviceSize descriptorBufferAddressSpaceSize_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DescriptorSetAllocateInfo(VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool_={}, uint32_t descriptorSetCount_={}, const VULKAN_HPP_NAMESPACE::DescriptorSetLayout *pSetLayouts_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ViewportWScalingNV & setXcoeff(float xcoeff_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineFragmentShadingRateStateCreateInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryKHR & setGeometryType(VULKAN_HPP_NAMESPACE::GeometryTypeKHR geometryType_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyCommandTransformInfoQCOM & setTransform(VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR transform_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryTrianglesDataKHR & setMaxVertex(uint32_t maxVertex_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GraphicsShaderGroupCreateInfoNV & setStageCount(uint32_t stageCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCoherentMemoryFeaturesAMD & setDeviceCoherentMemory(VULKAN_HPP_NAMESPACE::Bool32 deviceCoherentMemory_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ImagePlaneMemoryRequirementsInfo(VULKAN_HPP_NAMESPACE::ImageAspectFlagBits planeAspect_=VULKAN_HPP_NAMESPACE::ImageAspectFlagBits::eColor, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
HdrMetadataEXT(VkHdrMetadataEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorPoolCreateInfo & setFlags(VULKAN_HPP_NAMESPACE::DescriptorPoolCreateFlags flags_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderModuleIdentifierFeaturesEXT & operator=(VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan11Features & setStorageInputOutput16(VULKAN_HPP_NAMESPACE::Bool32 storageInputOutput16_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT & setPageableDeviceLocalMemory(VULKAN_HPP_NAMESPACE::Bool32 pageableDeviceLocalMemory_) VULKAN_HPP_NOEXCEPT
AabbPositionsKHR AabbPositionsNV
MemoryBarrier(VkMemoryBarrier const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceFragmentShadingRateEnumsFeaturesNV(VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(MicromapVersionInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
FramebufferAttachmentsCreateInfo(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::FramebufferAttachmentImageInfo > const &attachmentImageInfos_, const void *pNext_=nullptr)
struct VkDescriptorGetInfoEXT VkDescriptorGetInfoEXT
bool operator==(PhysicalDeviceDescriptorBufferPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
DeviceGroupDeviceCreateInfo(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::PhysicalDevice > const &physicalDevices_, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 PipelineVertexInputStateCreateInfo & setFlags(VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateFlags flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 FramebufferCreateInfo & setHeight(uint32_t height_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceImageMemoryRequirements & setPCreateInfo(const VULKAN_HPP_NAMESPACE::ImageCreateInfo *pCreateInfo_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceAddressBindingCallbackDataEXT & setSize(VULKAN_HPP_NAMESPACE::DeviceSize size_) VULKAN_HPP_NOEXCEPT
struct VkImageFormatConstraintsInfoFUCHSIA VkImageFormatConstraintsInfoFUCHSIA
PipelineLayoutCreateInfo(VULKAN_HPP_NAMESPACE::PipelineLayoutCreateFlags flags_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::DescriptorSetLayout > const &setLayouts_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::PushConstantRange > const &pushConstantRanges_={}, const void *pNext_=nullptr)
GLbitfield stages
Definition: glcorearb.h:1931
VULKAN_HPP_CONSTEXPR_14 DeviceDeviceMemoryReportCreateInfoEXT & setPfnUserCallback(PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceShaderTerminateInvocationFeatures VkPhysicalDeviceShaderTerminateInvocationFeatures
bool operator!=(GraphicsPipelineShaderGroupsCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Bool32 shaderImageGatherExtended
struct VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64Features
VULKAN_HPP_CONSTEXPR PipelineRasterizationStateStreamCreateInfoEXT(VULKAN_HPP_NAMESPACE::PipelineRasterizationStateStreamCreateFlagsEXT flags_={}, uint32_t rasterizationStream_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
PhysicalDevice8BitStorageFeatures & operator=(VkPhysicalDevice8BitStorageFeatures const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ResolveImageInfo2 & setDstImageLayout(VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineRasterizationStateCreateInfo(VULKAN_HPP_NAMESPACE::PipelineRasterizationStateCreateFlags flags_={}, VULKAN_HPP_NAMESPACE::Bool32 depthClampEnable_={}, VULKAN_HPP_NAMESPACE::Bool32 rasterizerDiscardEnable_={}, VULKAN_HPP_NAMESPACE::PolygonMode polygonMode_=VULKAN_HPP_NAMESPACE::PolygonMode::eFill, VULKAN_HPP_NAMESPACE::CullModeFlags cullMode_={}, VULKAN_HPP_NAMESPACE::FrontFace frontFace_=VULKAN_HPP_NAMESPACE::FrontFace::eCounterClockwise, VULKAN_HPP_NAMESPACE::Bool32 depthBiasEnable_={}, float depthBiasConstantFactor_={}, float depthBiasClamp_={}, float depthBiasSlopeFactor_={}, float lineWidth_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
DeviceGroupPresentInfoKHR & setDeviceMasks(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &deviceMasks_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ExtensionProperties(std::array< char, VK_MAX_EXTENSION_NAME_SIZE > const &extensionName_={}, uint32_t specVersion_={}) VULKAN_HPP_NOEXCEPT
BaseOutStructure & operator=(BaseOutStructure const &rhs) VULKAN_HPP_NOEXCEPT=default
PhysicalDeviceAccelerationStructurePropertiesKHR(VkPhysicalDeviceAccelerationStructurePropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
PipelineRepresentativeFragmentTestStateCreateInfoNV & operator=(VkPipelineRepresentativeFragmentTestStateCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PerformanceCounterResultKHR & setInt32(int32_t int32_) VULKAN_HPP_NOEXCEPT
struct VkExportMetalObjectCreateInfoEXT VkExportMetalObjectCreateInfoEXT
CopyImageToBufferInfo2 & operator=(VkCopyImageToBufferInfo2 const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceShaderDemoteToHelperInvocationFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 OpticalFlowSessionCreateInfoNV & setHintGridSize(VULKAN_HPP_NAMESPACE::OpticalFlowGridSizeFlagsNV hintGridSize_) VULKAN_HPP_NOEXCEPT
bool operator!=(StencilOpState const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorSetVariableDescriptorCountAllocateInfo & setPDescriptorCounts(const uint32_t *pDescriptorCounts_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState3FeaturesEXT & setExtendedDynamicState3ExtraPrimitiveOverestimationSize(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ExtraPrimitiveOverestimationSize_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setSparseResidency2Samples(VULKAN_HPP_NAMESPACE::Bool32 sparseResidency2Samples_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 OpaqueCaptureDescriptorDataCreateInfoEXT & setOpaqueCaptureDescriptorData(const void *opaqueCaptureDescriptorData_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DisplaySurfaceCreateInfoKHR & setImageExtent(VULKAN_HPP_NAMESPACE::Extent2D const &imageExtent_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceFragmentShadingRateKHR & operator=(VkPhysicalDeviceFragmentShadingRateKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR CopyImageToBufferInfo2(VULKAN_HPP_NAMESPACE::Image srcImage_={}, VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout_=VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined, VULKAN_HPP_NAMESPACE::Buffer dstBuffer_={}, uint32_t regionCount_={}, const VULKAN_HPP_NAMESPACE::BufferImageCopy2 *pRegions_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ImageLayout initialLayout
VULKAN_HPP_CONSTEXPR SamplerYcbcrConversionImageFormatProperties(uint32_t combinedImageSamplerDescriptorCount_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceShaderTerminateInvocationFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 FragmentShadingRateAttachmentInfoKHR & setShadingRateAttachmentTexelSize(VULKAN_HPP_NAMESPACE::Extent2D const &shadingRateAttachmentTexelSize_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan11Features & setMultiviewGeometryShader(VULKAN_HPP_NAMESPACE::Bool32 multiviewGeometryShader_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorUpdateTemplateCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkBufferCollectionBufferCreateInfoFUCHSIA VkBufferCollectionBufferCreateInfoFUCHSIA
bool operator==(SurfaceCapabilities2KHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorPoolCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceRayTracingPipelinePropertiesKHR(VkPhysicalDeviceRayTracingPipelinePropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
struct VkGraphicsPipelineShaderGroupsCreateInfoNV VkGraphicsPipelineShaderGroupsCreateInfoNV
PhysicalDeviceExtendedDynamicState3PropertiesEXT & operator=(VkPhysicalDeviceExtendedDynamicState3PropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier & setDstAccessMask(VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MicromapTriangleEXT & setFormat(uint16_t format_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSubpassShadingFeaturesHUAWEI & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(PipelineViewportExclusiveScissorStateCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
DescriptorGetInfoEXT(VkDescriptorGetInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PerformanceStreamMarkerInfoINTEL const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BlitImageInfo2(VULKAN_HPP_NAMESPACE::Image srcImage_={}, VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout_=VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined, VULKAN_HPP_NAMESPACE::Image dstImage_={}, VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout_=VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined, uint32_t regionCount_={}, const VULKAN_HPP_NAMESPACE::ImageBlit2 *pRegions_={}, VULKAN_HPP_NAMESPACE::Filter filter_=VULKAN_HPP_NAMESPACE::Filter::eNearest, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(HeadlessSurfaceCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePrivateDataFeatures & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DependencyInfo & setPBufferMemoryBarriers(const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier2 *pBufferMemoryBarriers_) VULKAN_HPP_NOEXCEPT
ImageSubresource & operator=(VkImageSubresource const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(SubpassDescription2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSubpassShadingFeaturesHUAWEI & setSubpassShading(VULKAN_HPP_NAMESPACE::Bool32 subpassShading_) VULKAN_HPP_NOEXCEPT
struct VkRenderPassCreateInfo2 VkRenderPassCreateInfo2
struct VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParametersFeatures
bool operator==(AttachmentReferenceStencilLayout const &rhs) const VULKAN_HPP_NOEXCEPT
CopyMemoryToImageIndirectCommandNV & operator=(CopyMemoryToImageIndirectCommandNV const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_NAMESPACE::StructureType sType
VULKAN_HPP_CONSTEXPR_14 MicromapBuildInfoEXT & setDstMicromap(VULKAN_HPP_NAMESPACE::MicromapEXT dstMicromap_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
VULKAN_HPP_CONSTEXPR PhysicalDeviceMaintenance3Properties(uint32_t maxPerSetDescriptors_={}, VULKAN_HPP_NAMESPACE::DeviceSize maxMemoryAllocationSize_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(DisplayPlaneCapabilities2KHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassMultiviewCreateInfo & setPCorrelationMasks(const uint32_t *pCorrelationMasks_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 TraceRaysIndirectCommand2KHR & setHeight(uint32_t height_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationDepthClipStateCreateInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
DescriptorUpdateTemplateCreateInfo(VkDescriptorUpdateTemplateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMemoryRequirementsInfoNV & setType(VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsTypeNV type_) VULKAN_HPP_NOEXCEPT
DirectDriverLoadingInfoLUNARG(VkDirectDriverLoadingInfoLUNARG const &rhs) VULKAN_HPP_NOEXCEPT
struct VkAccelerationStructureDeviceAddressInfoKHR VkAccelerationStructureDeviceAddressInfoKHR
ImageDrmFormatModifierExplicitCreateInfoEXT(uint64_t drmFormatModifier_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SubresourceLayout > const &planeLayouts_, const void *pNext_=nullptr)
bool operator==(PipelineRasterizationStateStreamCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
SubpassDescription & setInputAttachments(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::AttachmentReference > const &inputAttachments_) VULKAN_HPP_NOEXCEPT
BufferCreateInfo(VkBufferCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceOpticalFlowPropertiesNV VkPhysicalDeviceOpticalFlowPropertiesNV
VULKAN_HPP_CONSTEXPR_14 CuLaunchInfoNVX & setGridDimZ(uint32_t gridDimZ_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyMicromapInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageResolve & setDstOffset(VULKAN_HPP_NAMESPACE::Offset3D const &dstOffset_) VULKAN_HPP_NOEXCEPT
bool operator==(CheckpointData2NV const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(DeviceFaultVendorBinaryHeaderVersionOneEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(SparseMemoryBind const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(DedicatedAllocationImageCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDevicePCIBusInfoPropertiesEXT(uint32_t pciDomain_={}, uint32_t pciBus_={}, uint32_t pciDevice_={}, uint32_t pciFunction_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ExportFenceCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkSampleLocationEXT VkSampleLocationEXT
VULKAN_HPP_CONSTEXPR_14 CopyMemoryToAccelerationStructureInfoKHR & setMode(VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceDescriptorBufferFeaturesEXT VkPhysicalDeviceDescriptorBufferFeaturesEXT
VULKAN_HPP_NAMESPACE::GeometryTypeKHR geometryType
bool operator==(DependencyInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(DescriptorSetLayoutSupport const &rhs) const VULKAN_HPP_NOEXCEPT
GeometryTrianglesNV & operator=(VkGeometryTrianglesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SwapchainCreateInfoKHR & setPQueueFamilyIndices(const uint32_t *pQueueFamilyIndices_) VULKAN_HPP_NOEXCEPT
bool operator!=(DescriptorAddressInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BindImageMemorySwapchainInfoKHR & setSwapchain(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 AttachmentDescription2 & setFinalLayout(VULKAN_HPP_NAMESPACE::ImageLayout finalLayout_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BindBufferMemoryDeviceGroupInfo & setPDeviceIndices(const uint32_t *pDeviceIndices_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV info
bool operator!=(SubpassEndInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DisplaySurfaceCreateInfoKHR & setDisplayMode(VULKAN_HPP_NAMESPACE::DisplayModeKHR displayMode_) VULKAN_HPP_NOEXCEPT
bool operator!=(DescriptorUpdateTemplateEntry const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkWriteDescriptorSetInlineUniformBlock VkWriteDescriptorSetInlineUniformBlock
VULKAN_HPP_NAMESPACE::SparseMemoryBindFlags flags
VULKAN_HPP_CONSTEXPR_14 SubpassDescription & setFlags(VULKAN_HPP_NAMESPACE::SubpassDescriptionFlags flags_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDevicePushDescriptorPropertiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDevicePipelineRobustnessFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 pipelineRobustness_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PhysicalDeviceRobustness2PropertiesEXT & operator=(VkPhysicalDeviceRobustness2PropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceOpticalFlowPropertiesNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderingInfo & setLayerCount(uint32_t layerCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MicromapBuildSizesInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR AttachmentDescription(VULKAN_HPP_NAMESPACE::AttachmentDescriptionFlags flags_={}, VULKAN_HPP_NAMESPACE::Format format_=VULKAN_HPP_NAMESPACE::Format::eUndefined, VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples_=VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1, VULKAN_HPP_NAMESPACE::AttachmentLoadOp loadOp_=VULKAN_HPP_NAMESPACE::AttachmentLoadOp::eLoad, VULKAN_HPP_NAMESPACE::AttachmentStoreOp storeOp_=VULKAN_HPP_NAMESPACE::AttachmentStoreOp::eStore, VULKAN_HPP_NAMESPACE::AttachmentLoadOp stencilLoadOp_=VULKAN_HPP_NAMESPACE::AttachmentLoadOp::eLoad, VULKAN_HPP_NAMESPACE::AttachmentStoreOp stencilStoreOp_=VULKAN_HPP_NAMESPACE::AttachmentStoreOp::eStore, VULKAN_HPP_NAMESPACE::ImageLayout initialLayout_=VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined, VULKAN_HPP_NAMESPACE::ImageLayout finalLayout_=VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceRobustness2PropertiesEXT VkPhysicalDeviceRobustness2PropertiesEXT
VULKAN_HPP_CONSTEXPR RenderingFragmentShadingRateAttachmentInfoKHR(VULKAN_HPP_NAMESPACE::ImageView imageView_={}, VULKAN_HPP_NAMESPACE::ImageLayout imageLayout_=VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined, VULKAN_HPP_NAMESPACE::Extent2D shadingRateAttachmentTexelSize_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::AttachmentStoreOp storeOp
bool operator==(ExternalMemoryImageCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineShaderStageCreateInfo & setPName(const char *pName_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RayTracingShaderGroupCreateInfoNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationConservativeStateCreateInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DrmFormatModifierPropertiesListEXT(uint32_t drmFormatModifierCount_={}, VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesEXT *pDrmFormatModifierProperties_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutBinding * pBindings
RenderingAttachmentInfo & operator=(VkRenderingAttachmentInfo const &rhs) VULKAN_HPP_NOEXCEPT
ViewportSwizzleNV & operator=(VkViewportSwizzleNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SRTDataNV & setQx(float qx_) VULKAN_HPP_NOEXCEPT
struct VkIndirectCommandsLayoutTokenNV VkIndirectCommandsLayoutTokenNV
struct VkBufferConstraintsInfoFUCHSIA VkBufferConstraintsInfoFUCHSIA
PhysicalDeviceIDProperties(VkPhysicalDeviceIDProperties const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PipelineRasterizationLineStateCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderIntegerDotProductFeatures(VULKAN_HPP_NAMESPACE::Bool32 shaderIntegerDotProduct_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState3FeaturesEXT & setExtendedDynamicState3CoverageModulationMode(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3CoverageModulationMode_) VULKAN_HPP_NOEXCEPT
ValidationFlagsEXT(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::ValidationCheckEXT > const &disabledValidationChecks_, const void *pNext_=nullptr)
BindImageMemoryInfo(VkBindImageMemoryInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceGroupCommandBufferBeginInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceUniformBufferStandardLayoutFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(CommandPoolCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(GeometryDataNV const &rhs) const VULKAN_HPP_NOEXCEPT
union VkAccelerationStructureGeometryDataKHR VkAccelerationStructureGeometryDataKHR
struct VkPhysicalDeviceCopyMemoryIndirectPropertiesNV VkPhysicalDeviceCopyMemoryIndirectPropertiesNV
VULKAN_HPP_CONSTEXPR_14 AllocationCallbacks & setPfnReallocation(PFN_vkReallocationFunction pfnReallocation_) VULKAN_HPP_NOEXCEPT
struct VkRayTracingShaderGroupCreateInfoKHR VkRayTracingShaderGroupCreateInfoKHR
struct VkDisplayPlaneProperties2KHR VkDisplayPlaneProperties2KHR
struct VkWin32SurfaceCreateInfoKHR VkWin32SurfaceCreateInfoKHR
PhysicalDeviceLineRasterizationPropertiesEXT(VkPhysicalDeviceLineRasterizationPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ImageCaptureDescriptorDataInfoEXT(VULKAN_HPP_NAMESPACE::Image image_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Bool32 pipelineStatisticsQuery
VULKAN_HPP_CONSTEXPR OpticalFlowImageFormatInfoNV(VULKAN_HPP_NAMESPACE::OpticalFlowUsageFlagsNV usage_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
DeviceFaultVendorInfoEXT(VkDeviceFaultVendorInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(CoarseSampleOrderCustomNV const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV VkPipelineFragmentShadingRateEnumStateCreateInfoNV
VULKAN_HPP_CONSTEXPR PhysicalDeviceMutableDescriptorTypeFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 mutableDescriptorType_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PipelineTessellationStateCreateInfo(VkPipelineTessellationStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SamplerCustomBorderColorCreateInfoEXT(VULKAN_HPP_NAMESPACE::ClearColorValue customBorderColor_={}, VULKAN_HPP_NAMESPACE::Format format_=VULKAN_HPP_NAMESPACE::Format::eUndefined, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineColorBlendStateCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageMemoryBarrier2 & setImage(VULKAN_HPP_NAMESPACE::Image image_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 OpticalFlowSessionCreateInfoNV & setWidth(uint32_t width_) VULKAN_HPP_NOEXCEPT
bool operator==(MicromapUsageEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVertexInputDynamicStateFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDevicePresentBarrierFeaturesNV(VULKAN_HPP_NAMESPACE::Bool32 presentBarrier_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorIndexingFeatures & setShaderInputAttachmentArrayNonUniformIndexing(VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayNonUniformIndexing_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples
bool operator==(PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CuLaunchInfoNVX & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(DrmFormatModifierPropertiesList2EXT const &rhs) const VULKAN_HPP_NOEXCEPT
DevicePrivateDataCreateInfo(VkDevicePrivateDataCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Bool32 shaderResourceResidency
const VULKAN_HPP_NAMESPACE::DescriptorSetLayout * pSetLayouts
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRobustness2FeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceSparseImageFormatInfo2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PerformanceCounterResultKHR & setInt64(int64_t int64_) VULKAN_HPP_NOEXCEPT
union VkPerformanceCounterResultKHR VkPerformanceCounterResultKHR
bool operator==(PipelineDynamicStateCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
PipelineDepthStencilStateCreateInfo(VkPipelineDepthStencilStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePipelineRobustnessFeaturesEXT & setPipelineRobustness(VULKAN_HPP_NAMESPACE::Bool32 pipelineRobustness_) VULKAN_HPP_NOEXCEPT
CopyImageToBufferInfo2(VULKAN_HPP_NAMESPACE::Image srcImage_, VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout_, VULKAN_HPP_NAMESPACE::Buffer dstBuffer_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::BufferImageCopy2 > const &regions_, const void *pNext_=nullptr)
CheckpointData2NV & operator=(CheckpointData2NV const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator==(PhysicalDeviceTexelBufferAlignmentFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(TraceRaysIndirectCommand2KHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineDepthStencilStateCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
PipelineRasterizationStateRasterizationOrderAMD(VkPipelineRasterizationStateRasterizationOrderAMD const &rhs) VULKAN_HPP_NOEXCEPT
SparseImageMemoryBindInfo & operator=(VkSparseImageMemoryBindInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 FramebufferAttachmentImageInfo & setLayerCount(uint32_t layerCount_) VULKAN_HPP_NOEXCEPT
bool operator==(DescriptorImageInfo const &rhs) const VULKAN_HPP_NOEXCEPT
ShadingRatePaletteNV(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::ShadingRatePaletteEntryNV > const &shadingRatePaletteEntries_)
bool operator!=(PhysicalDeviceShaderIntegerDotProductProperties const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceLinearColorAttachmentFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState3FeaturesEXT & setExtendedDynamicState3TessellationDomainOrigin(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3TessellationDomainOrigin_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MemoryBarrier & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PushConstantRange & setStageFlags(VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRayTracingMotionBlurFeaturesNV & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
SubpassShadingPipelineCreateInfoHUAWEI(VkSubpassShadingPipelineCreateInfoHUAWEI const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineDepthStencilStateCreateInfo & setBack(VULKAN_HPP_NAMESPACE::StencilOpState const &back_) VULKAN_HPP_NOEXCEPT
bool operator==(ImportFenceFdInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SampleLocationsInfoEXT(VULKAN_HPP_NAMESPACE::SampleCountFlagBits sampleLocationsPerPixel_=VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1, VULKAN_HPP_NAMESPACE::Extent2D sampleLocationGridSize_={}, uint32_t sampleLocationsCount_={}, const VULKAN_HPP_NAMESPACE::SampleLocationEXT *pSampleLocations_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR RefreshCycleDurationGOOGLE(uint64_t refreshDuration_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderSMBuiltinsFeaturesNV & setShaderSMBuiltins(VULKAN_HPP_NAMESPACE::Bool32 shaderSMBuiltins_) VULKAN_HPP_NOEXCEPT
DisplayModePropertiesKHR(VkDisplayModePropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineCoverageModulationStateCreateInfoNV & setCoverageModulationTableEnable(VULKAN_HPP_NAMESPACE::Bool32 coverageModulationTableEnable_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 VertexInputAttributeDescription2EXT & setOffset(uint32_t offset_) VULKAN_HPP_NOEXCEPT
bool operator==(TransformMatrixKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GeometryNV & setFlags(VULKAN_HPP_NAMESPACE::GeometryFlagsKHR flags_) VULKAN_HPP_NOEXCEPT
struct VkCoarseSampleOrderCustomNV VkCoarseSampleOrderCustomNV
VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderModuleIdentifierFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 shaderModuleIdentifier_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures
bool operator!=(DeviceDeviceMemoryReportCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
CommandBufferBeginInfo & operator=(CommandBufferBeginInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
PipelineRasterizationLineStateCreateInfoEXT(VkPipelineRasterizationLineStateCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceBorderColorSwizzleFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 borderColorSwizzle_={}, VULKAN_HPP_NAMESPACE::Bool32 borderColorSwizzleFromImage_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ValidationFeaturesEXT & setDisabledValidationFeatureCount(uint32_t disabledValidationFeatureCount_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceLimits & operator=(VkPhysicalDeviceLimits const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan13Features & setDescriptorBindingInlineUniformBlockUpdateAfterBind(VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingInlineUniformBlockUpdateAfterBind_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceYcbcrImageArraysFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 ycbcrImageArrays_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayout
struct VkPresentTimeGOOGLE VkPresentTimeGOOGLE
PhysicalDeviceBlendOperationAdvancedPropertiesEXT(VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(MemoryPriorityAllocateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ComponentMapping(VULKAN_HPP_NAMESPACE::ComponentSwizzle r_=VULKAN_HPP_NAMESPACE::ComponentSwizzle::eIdentity, VULKAN_HPP_NAMESPACE::ComponentSwizzle g_=VULKAN_HPP_NAMESPACE::ComponentSwizzle::eIdentity, VULKAN_HPP_NAMESPACE::ComponentSwizzle b_=VULKAN_HPP_NAMESPACE::ComponentSwizzle::eIdentity, VULKAN_HPP_NAMESPACE::ComponentSwizzle a_=VULKAN_HPP_NAMESPACE::ComponentSwizzle::eIdentity) VULKAN_HPP_NOEXCEPT
ValidationCacheCreateInfoEXT(VULKAN_HPP_NAMESPACE::ValidationCacheCreateFlagsEXT flags_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const T > const &initialData_, const void *pNext_=nullptr)
DebugUtilsLabelEXT & operator=(DebugUtilsLabelEXT const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 ViewportSwizzleNV & setY(VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV y_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineDepthStencilStateCreateInfo & setFlags(VULKAN_HPP_NAMESPACE::PipelineDepthStencilStateCreateFlags flags_) VULKAN_HPP_NOEXCEPT
SubpassDescriptionDepthStencilResolve(VkSubpassDescriptionDepthStencilResolve const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MutableDescriptorTypeCreateInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ImageSubresourceLayers dstSubresource
VULKAN_HPP_CONSTEXPR DrawIndirectCommand(uint32_t vertexCount_={}, uint32_t instanceCount_={}, uint32_t firstVertex_={}, uint32_t firstInstance_={}) VULKAN_HPP_NOEXCEPT
DebugUtilsMessengerCreateInfoEXT & operator=(VkDebugUtilsMessengerCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceHostQueryResetFeatures(VULKAN_HPP_NAMESPACE::Bool32 hostQueryReset_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(SamplerYcbcrConversionInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR MemoryGetFdInfoKHR(VULKAN_HPP_NAMESPACE::DeviceMemory memory_={}, VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_=VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SamplerYcbcrConversionCreateInfo & setYcbcrRange(VULKAN_HPP_NAMESPACE::SamplerYcbcrRange ycbcrRange_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceVertexAttributeDivisorPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(TextureLODGatherFormatPropertiesAMD const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RayTracingPipelineCreateInfoKHR & setBasePipelineHandle(VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceFragmentDensityMapFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
BufferOpaqueCaptureAddressCreateInfo & operator=(VkBufferOpaqueCaptureAddressCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
RenderingInfo(VkRenderingInfo const &rhs) VULKAN_HPP_NOEXCEPT
BufferImageCopy2 & operator=(VkBufferImageCopy2 const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::CuModuleNVX module
PhysicalDeviceHostQueryResetFeatures(VkPhysicalDeviceHostQueryResetFeatures const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR VertexInputBindingDescription(uint32_t binding_={}, uint32_t stride_={}, VULKAN_HPP_NAMESPACE::VertexInputRate inputRate_=VULKAN_HPP_NAMESPACE::VertexInputRate::eVertex) VULKAN_HPP_NOEXCEPT
AmigoProfilingSubmitInfoSEC(VkAmigoProfilingSubmitInfoSEC const &rhs) VULKAN_HPP_NOEXCEPT
MutableDescriptorTypeCreateInfoEXT & operator=(VkMutableDescriptorTypeCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SRTDataNV & setTx(float tx_) VULKAN_HPP_NOEXCEPT
SamplerCustomBorderColorCreateInfoEXT(VkSamplerCustomBorderColorCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkVideoEncodeH265CapabilitiesEXT VkVideoEncodeH265CapabilitiesEXT
SwapchainCounterCreateInfoEXT(VkSwapchainCounterCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceMeshShaderPropertiesNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MemoryGetFdInfoKHR & setMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory_) VULKAN_HPP_NOEXCEPT
struct VkSubresourceLayout VkSubresourceLayout
const VULKAN_HPP_NAMESPACE::SparseMemoryBind * pBinds
VULKAN_HPP_CONSTEXPR_14 ImageCreateInfo & setExtent(VULKAN_HPP_NAMESPACE::Extent3D const &extent_) VULKAN_HPP_NOEXCEPT
GraphicsPipelineShaderGroupsCreateInfoNV(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::GraphicsShaderGroupCreateInfoNV > const &groups_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Pipeline > const &pipelines_={}, const void *pNext_=nullptr)
DescriptorAddressInfoEXT & operator=(VkDescriptorAddressInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT & operator=(VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceRayTracingPipelinePropertiesKHR & operator=(VkPhysicalDeviceRayTracingPipelinePropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::BufferUsageFlags usage
bool operator!=(PhysicalDeviceDepthClipEnableFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(ImageBlit2 const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkIOSSurfaceCreateInfoMVK VkIOSSurfaceCreateInfoMVK
VULKAN_HPP_CONSTEXPR_14 ImageMemoryBarrier & setSrcAccessMask(VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 XYColorEXT & setY(float y_) VULKAN_HPP_NOEXCEPT
PipelineViewportWScalingStateCreateInfoNV(VULKAN_HPP_NAMESPACE::Bool32 viewportWScalingEnable_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::ViewportWScalingNV > const &viewportWScalings_, const void *pNext_=nullptr)
bool operator!=(DeviceQueueGlobalPriorityCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
OpticalFlowSessionCreateInfoNV(VkOpticalFlowSessionCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
RenderPassCreateInfo & setSubpasses(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SubpassDescription > const &subpasses_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DrawIndirectCommand & setInstanceCount(uint32_t instanceCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineVertexInputDivisorStateCreateInfoEXT & setVertexBindingDivisorCount(uint32_t vertexBindingDivisorCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ExternalMemoryProperties(VULKAN_HPP_NAMESPACE::ExternalMemoryFeatureFlags externalMemoryFeatures_={}, VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags exportFromImportedHandleTypes_={}, VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags compatibleHandleTypes_={}) VULKAN_HPP_NOEXCEPT
PhysicalDeviceMeshShaderFeaturesEXT & operator=(VkPhysicalDeviceMeshShaderFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferDeviceAddressInfo & setBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer_) VULKAN_HPP_NOEXCEPT
bool operator!=(EventCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RayTracingPipelineCreateInfoNV & setLayout(VULKAN_HPP_NAMESPACE::PipelineLayout layout_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceMemoryDecompressionFeaturesNV VkPhysicalDeviceMemoryDecompressionFeaturesNV
VULKAN_HPP_NAMESPACE::Image dstImage
VULKAN_HPP_CONSTEXPR DescriptorSetBindingReferenceVALVE(VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout_={}, uint32_t binding_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ApplicationInfo & setPEngineName(const char *pEngineName_) VULKAN_HPP_NOEXCEPT
bool operator!=(QueueFamilyCheckpointPropertiesNV const &rhs) const VULKAN_HPP_NOEXCEPT
BufferCreateInfo & operator=(VkBufferCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceGlobalPriorityQueryFeaturesKHR & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR
AttachmentReference(VkAttachmentReference const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PerformanceCounterResultKHR & setUint64(uint64_t uint64_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PushConstantRange & setOffset(uint32_t offset_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MicromapBuildInfoEXT & setData(VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR const &data_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RayTracingShaderGroupCreateInfoKHR & setIntersectionShader(uint32_t intersectionShader_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVertexInputDynamicStateFeaturesEXT & setVertexInputDynamicState(VULKAN_HPP_NAMESPACE::Bool32 vertexInputDynamicState_) VULKAN_HPP_NOEXCEPT
struct VkDebugUtilsObjectNameInfoEXT VkDebugUtilsObjectNameInfoEXT
bool operator==(SwapchainPresentBarrierCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderImageAtomicInt64FeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
ImageViewHandleInfoNVX(VkImageViewHandleInfoNVX const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setShaderUniformBufferArrayDynamicIndexing(VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayDynamicIndexing_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceGlobalPriorityQueryFeaturesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(CopyImageToBufferInfo2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyBufferInfo2 & setSrcBuffer(VULKAN_HPP_NAMESPACE::Buffer srcBuffer_) VULKAN_HPP_NOEXCEPT
BindImageMemoryInfo & operator=(BindImageMemoryInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
SubresourceLayout2EXT(VkSubresourceLayout2EXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyMemoryToMicromapInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceDeviceGeneratedCommandsPropertiesNV(uint32_t maxGraphicsShaderGroupCount_={}, uint32_t maxIndirectSequenceCount_={}, uint32_t maxIndirectCommandsTokenCount_={}, uint32_t maxIndirectCommandsStreamCount_={}, uint32_t maxIndirectCommandsTokenOffset_={}, uint32_t maxIndirectCommandsStreamStride_={}, uint32_t minSequencesCountBufferOffsetAlignment_={}, uint32_t minSequencesIndexBufferOffsetAlignment_={}, uint32_t minIndirectCommandsBufferOffsetAlignment_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderAtomicFloatFeaturesEXT & setShaderSharedFloat64Atomics(VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat64Atomics_) VULKAN_HPP_NOEXCEPT
GLint left
Definition: glcorearb.h:2005
CommandBufferBeginInfo & operator=(VkCommandBufferBeginInfo const &rhs) VULKAN_HPP_NOEXCEPT
RayTracingPipelineCreateInfoNV & setStages(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo > const &stages_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorBinaryHeaderVersionOneEXT & setApplicationNameOffset(uint32_t applicationNameOffset_) VULKAN_HPP_NOEXCEPT
bool operator==(DeviceFaultAddressInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
MicromapUsageEXT & operator=(MicromapUsageEXT const &rhs) VULKAN_HPP_NOEXCEPT=default
void(VKAPI_PTR * PFN_vkDeviceMemoryReportCallbackEXT)(const VkDeviceMemoryReportCallbackDataEXT *pCallbackData, void *pUserData)
getFileOption("OpenEXR:storage") storage
Definition: HDK_Image.dox:276
QueryPoolPerformanceQueryCreateInfoINTEL & operator=(VkQueryPoolPerformanceQueryCreateInfoINTEL const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMemoryPriorityFeaturesEXT & setMemoryPriority(VULKAN_HPP_NAMESPACE::Bool32 memoryPriority_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentDensityMap2FeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceYcbcrImageArraysFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
RenderPassSubpassFeedbackCreateInfoEXT & operator=(VkRenderPassSubpassFeedbackCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(InstanceCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkDescriptorSetLayoutCreateInfo VkDescriptorSetLayoutCreateInfo
VULKAN_HPP_CONSTEXPR_14 ResolveImageInfo2 & setRegionCount(uint32_t regionCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceBufferDeviceAddressFeaturesEXT & setBufferDeviceAddressMultiDevice(VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressMultiDevice_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 VertexInputAttributeDescription & setOffset(uint32_t offset_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDevice8BitStorageFeatures(VULKAN_HPP_NAMESPACE::Bool32 storageBuffer8BitAccess_={}, VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer8BitAccess_={}, VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant8_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AttachmentDescription2 & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkAmigoProfilingSubmitInfoSEC VkAmigoProfilingSubmitInfoSEC
DisplayPropertiesKHR(VkDisplayPropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DeviceGroupDeviceCreateInfo(uint32_t physicalDeviceCount_={}, const VULKAN_HPP_NAMESPACE::PhysicalDevice *pPhysicalDevices_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceTextureCompressionASTCHDRFeatures(VULKAN_HPP_NAMESPACE::Bool32 textureCompressionASTC_HDR_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkBufferDeviceAddressInfo VkBufferDeviceAddressInfo
VULKAN_HPP_CONSTEXPR_14 RenderPassCreateInfo2 & setDependencyCount(uint32_t dependencyCount_) VULKAN_HPP_NOEXCEPT
GLboolean * data
Definition: glcorearb.h:131
VULKAN_HPP_CONSTEXPR ColorBlendEquationEXT(VULKAN_HPP_NAMESPACE::BlendFactor srcColorBlendFactor_=VULKAN_HPP_NAMESPACE::BlendFactor::eZero, VULKAN_HPP_NAMESPACE::BlendFactor dstColorBlendFactor_=VULKAN_HPP_NAMESPACE::BlendFactor::eZero, VULKAN_HPP_NAMESPACE::BlendOp colorBlendOp_=VULKAN_HPP_NAMESPACE::BlendOp::eAdd, VULKAN_HPP_NAMESPACE::BlendFactor srcAlphaBlendFactor_=VULKAN_HPP_NAMESPACE::BlendFactor::eZero, VULKAN_HPP_NAMESPACE::BlendFactor dstAlphaBlendFactor_=VULKAN_HPP_NAMESPACE::BlendFactor::eZero, VULKAN_HPP_NAMESPACE::BlendOp alphaBlendOp_=VULKAN_HPP_NAMESPACE::BlendOp::eAdd) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 TimelineSemaphoreSubmitInfo & setPWaitSemaphoreValues(const uint64_t *pWaitSemaphoreValues_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExternalBufferInfo & setUsage(VULKAN_HPP_NAMESPACE::BufferUsageFlags usage_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDevice4444FormatsFeaturesEXT & setFormatA4R4G4B4(VULKAN_HPP_NAMESPACE::Bool32 formatA4R4G4B4_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMemoryDecompressionFeaturesNV & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
bool operator==(VertexInputAttributeDescription const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(BindImageMemoryInfo const &rhs) const VULKAN_HPP_NOEXCEPT
IndirectCommandsLayoutCreateInfoNV & setStreamStrides(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &streamStrides_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineVertexInputStateCreateInfo & setVertexBindingDescriptionCount(uint32_t vertexBindingDescriptionCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferViewCreateInfo & setFormat(VULKAN_HPP_NAMESPACE::Format format_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AmigoProfilingSubmitInfoSEC & setFirstDrawTimestamp(uint64_t firstDrawTimestamp_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceSubgroupProperties(uint32_t subgroupSize_={}, VULKAN_HPP_NAMESPACE::ShaderStageFlags supportedStages_={}, VULKAN_HPP_NAMESPACE::SubgroupFeatureFlags supportedOperations_={}, VULKAN_HPP_NAMESPACE::Bool32 quadOperationsInAllStages_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
AccelerationStructureCreateInfoKHR(VkAccelerationStructureCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR AabbPositionsKHR(float minX_={}, float minY_={}, float minZ_={}, float maxX_={}, float maxY_={}, float maxZ_={}) VULKAN_HPP_NOEXCEPT
bool operator!=(PastPresentationTimingGOOGLE const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(ImageStencilUsageCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ImageResolve2(VULKAN_HPP_NAMESPACE::ImageSubresourceLayers srcSubresource_={}, VULKAN_HPP_NAMESPACE::Offset3D srcOffset_={}, VULKAN_HPP_NAMESPACE::ImageSubresourceLayers dstSubresource_={}, VULKAN_HPP_NAMESPACE::Offset3D dstOffset_={}, VULKAN_HPP_NAMESPACE::Extent3D extent_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
ColorBlendAdvancedEXT & operator=(VkColorBlendAdvancedEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyBufferInfo2 & setRegionCount(uint32_t regionCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CooperativeMatrixPropertiesNV & setDType(VULKAN_HPP_NAMESPACE::ComponentTypeNV DType_) VULKAN_HPP_NOEXCEPT
struct VkExportMetalDeviceInfoEXT VkExportMetalDeviceInfoEXT
VULKAN_HPP_CONSTEXPR_14 RenderPassSampleLocationsBeginInfoEXT & setPPostSubpassSampleLocations(const VULKAN_HPP_NAMESPACE::SubpassSampleLocationsEXT *pPostSubpassSampleLocations_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceShaderCoreBuiltinsFeaturesARM const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR CoarseSampleOrderCustomNV(VULKAN_HPP_NAMESPACE::ShadingRatePaletteEntryNV shadingRate_=VULKAN_HPP_NAMESPACE::ShadingRatePaletteEntryNV::eNoInvocations, uint32_t sampleCount_={}, uint32_t sampleLocationCount_={}, const VULKAN_HPP_NAMESPACE::CoarseSampleLocationNV *pSampleLocations_={}) VULKAN_HPP_NOEXCEPT
PhysicalDeviceRobustness2FeaturesEXT & operator=(VkPhysicalDeviceRobustness2FeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PerformanceCounterResultKHR(int32_t int32_={})
VULKAN_HPP_CONSTEXPR_14 SamplerCreateInfo & setAddressModeW(VULKAN_HPP_NAMESPACE::SamplerAddressMode addressModeW_) VULKAN_HPP_NOEXCEPT
MemoryBarrier2 & operator=(MemoryBarrier2 const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 PipelineColorBlendAttachmentState & setAlphaBlendOp(VULKAN_HPP_NAMESPACE::BlendOp alphaBlendOp_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceMultiDrawFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 multiDraw_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setSparseResidency16Samples(VULKAN_HPP_NAMESPACE::Bool32 sparseResidency16Samples_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan13Features & setPrivateData(VULKAN_HPP_NAMESPACE::Bool32 privateData_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceHostQueryResetFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceProperties2(VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties properties_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
BindBufferMemoryDeviceGroupInfo & setDeviceIndices(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &deviceIndices_) VULKAN_HPP_NOEXCEPT
AttachmentDescription(VkAttachmentDescription const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceRayQueryFeaturesKHR & operator=(VkPhysicalDeviceRayQueryFeaturesKHR const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(BufferMemoryBarrier const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkRayTracingPipelineCreateInfoKHR VkRayTracingPipelineCreateInfoKHR
RenderPassCreationFeedbackInfoEXT & operator=(VkRenderPassCreationFeedbackInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
MicromapUsageEXT & operator=(VkMicromapUsageEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineCacheHeaderVersionOne & setHeaderSize(uint32_t headerSize_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setSparseResidencyImage2D(VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyImage2D_) VULKAN_HPP_NOEXCEPT
bool operator!=(CommandBufferInheritanceRenderingInfo const &rhs) const VULKAN_HPP_NOEXCEPT
OpticalFlowImageFormatInfoNV(VkOpticalFlowImageFormatInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
DeviceFaultInfoEXT(VkDeviceFaultInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceExternalMemoryHostPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ComputePipelineCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceShaderModuleIdentifierPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
DescriptorPoolCreateInfo(VkDescriptorPoolCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DeviceGroupCommandBufferBeginInfo(uint32_t deviceMask_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkOffset3D VkOffset3D
bool operator!=(PhysicalDeviceImage2DViewOf3DFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 primitiveTopologyListRestart_={}, VULKAN_HPP_NAMESPACE::Bool32 primitiveTopologyPatchListRestart_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageCreateInfo & setInitialLayout(VULKAN_HPP_NAMESPACE::ImageLayout initialLayout_) VULKAN_HPP_NOEXCEPT
bool operator==(ImageViewUsageCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
AabbPositionsKHR & operator=(AabbPositionsKHR const &rhs) VULKAN_HPP_NOEXCEPT=default
CommandBufferInheritanceRenderingInfo & setColorAttachmentFormats(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Format > const &colorAttachmentFormats_) VULKAN_HPP_NOEXCEPT
SwapchainCreateInfoKHR & setQueueFamilyIndices(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &queueFamilyIndices_) VULKAN_HPP_NOEXCEPT
bool operator!=(MutableDescriptorTypeCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ViewportSwizzleNV & setW(VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV w_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceExternalMemoryHostPropertiesEXT & operator=(VkPhysicalDeviceExternalMemoryHostPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceFragmentDensityMapFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(ExportMemoryAllocateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkBufferCaptureDescriptorDataInfoEXT VkBufferCaptureDescriptorDataInfoEXT
VULKAN_HPP_CONSTEXPR_14 ResolveImageInfo2 & setDstImage(VULKAN_HPP_NAMESPACE::Image dstImage_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineMultisampleStateCreateInfo & setAlphaToCoverageEnable(VULKAN_HPP_NAMESPACE::Bool32 alphaToCoverageEnable_) VULKAN_HPP_NOEXCEPT
CommandBufferInheritanceViewportScissorInfoNV & operator=(VkCommandBufferInheritanceViewportScissorInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(RenderPassBeginInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ShaderModuleValidationCacheCreateInfoEXT(VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkDevicePrivateDataCreateInfo VkDevicePrivateDataCreateInfo
VULKAN_HPP_CONSTEXPR_14 DeviceDiagnosticsConfigCreateInfoNV & setFlags(VULKAN_HPP_NAMESPACE::DeviceDiagnosticsConfigFlagsNV flags_) VULKAN_HPP_NOEXCEPT
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
RenderPassMultiviewCreateInfo & setCorrelationMasks(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &correlationMasks_) VULKAN_HPP_NOEXCEPT
CopyImageInfo2 & operator=(CopyImageInfo2 const &rhs) VULKAN_HPP_NOEXCEPT=default
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
PhysicalDeviceLinearColorAttachmentFeaturesNV(VkPhysicalDeviceLinearColorAttachmentFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceAccelerationStructurePropertiesKHR VkPhysicalDeviceAccelerationStructurePropertiesKHR
bool operator!=(PhysicalDevicePipelineExecutablePropertiesFeaturesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfo
struct VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV
PhysicalDeviceFloatControlsProperties & operator=(VkPhysicalDeviceFloatControlsProperties const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorBufferBindingInfoEXT & setAddress(VULKAN_HPP_NAMESPACE::DeviceAddress address_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorPoolCreateInfo & setMaxSets(uint32_t maxSets_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 VertexInputAttributeDescription2EXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
FramebufferAttachmentImageInfo(VkFramebufferAttachmentImageInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceProtectedMemoryProperties(VULKAN_HPP_NAMESPACE::Bool32 protectedNoFault_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineShaderStageModuleIdentifierCreateInfoEXT & setPIdentifier(const uint8_t *pIdentifier_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderAtomicFloatFeaturesEXT & setShaderSharedFloat64AtomicAdd(VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat64AtomicAdd_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorPoolCreateInfo & setPPoolSizes(const VULKAN_HPP_NAMESPACE::DescriptorPoolSize *pPoolSizes_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubpassDescription & setPColorAttachments(const VULKAN_HPP_NAMESPACE::AttachmentReference *pColorAttachments_) VULKAN_HPP_NOEXCEPT
MultiDrawIndexedInfoEXT(VkMultiDrawIndexedInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(MultiDrawIndexedInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ImportFenceFdInfoKHR(VULKAN_HPP_NAMESPACE::Fence fence_={}, VULKAN_HPP_NAMESPACE::FenceImportFlags flags_={}, VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType_=VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits::eOpaqueFd, int fd_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
bool operator!=(PhysicalDeviceShaderCoreBuiltinsPropertiesARM const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 TraceRaysIndirectCommand2KHR & setMissShaderBindingTableAddress(VULKAN_HPP_NAMESPACE::DeviceAddress missShaderBindingTableAddress_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SubpassDescriptionDepthStencilResolve(VULKAN_HPP_NAMESPACE::ResolveModeFlagBits depthResolveMode_=VULKAN_HPP_NAMESPACE::ResolveModeFlagBits::eNone, VULKAN_HPP_NAMESPACE::ResolveModeFlagBits stencilResolveMode_=VULKAN_HPP_NAMESPACE::ResolveModeFlagBits::eNone, const VULKAN_HPP_NAMESPACE::AttachmentReference2 *pDepthStencilResolveAttachment_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DisplayPresentInfoKHR & setSrcRect(VULKAN_HPP_NAMESPACE::Rect2D const &srcRect_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SamplerCreateInfo & setAddressModeV(VULKAN_HPP_NAMESPACE::SamplerAddressMode addressModeV_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Bool32 occlusionQueryPrecise
VULKAN_HPP_CONSTEXPR PipelineColorBlendAttachmentState(VULKAN_HPP_NAMESPACE::Bool32 blendEnable_={}, VULKAN_HPP_NAMESPACE::BlendFactor srcColorBlendFactor_=VULKAN_HPP_NAMESPACE::BlendFactor::eZero, VULKAN_HPP_NAMESPACE::BlendFactor dstColorBlendFactor_=VULKAN_HPP_NAMESPACE::BlendFactor::eZero, VULKAN_HPP_NAMESPACE::BlendOp colorBlendOp_=VULKAN_HPP_NAMESPACE::BlendOp::eAdd, VULKAN_HPP_NAMESPACE::BlendFactor srcAlphaBlendFactor_=VULKAN_HPP_NAMESPACE::BlendFactor::eZero, VULKAN_HPP_NAMESPACE::BlendFactor dstAlphaBlendFactor_=VULKAN_HPP_NAMESPACE::BlendFactor::eZero, VULKAN_HPP_NAMESPACE::BlendOp alphaBlendOp_=VULKAN_HPP_NAMESPACE::BlendOp::eAdd, VULKAN_HPP_NAMESPACE::ColorComponentFlags colorWriteMask_={}) VULKAN_HPP_NOEXCEPT
bool operator==(BufferImageCopy const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfo
VULKAN_HPP_NAMESPACE::StructureType sType
VULKAN_HPP_CONSTEXPR_14 RayTracingPipelineCreateInfoNV & setBasePipelineIndex(int32_t basePipelineIndex_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineViewportStateCreateInfo & setPScissors(const VULKAN_HPP_NAMESPACE::Rect2D *pScissors_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineCoverageModulationStateCreateInfoNV(VULKAN_HPP_NAMESPACE::PipelineCoverageModulationStateCreateFlagsNV flags_={}, VULKAN_HPP_NAMESPACE::CoverageModulationModeNV coverageModulationMode_=VULKAN_HPP_NAMESPACE::CoverageModulationModeNV::eNone, VULKAN_HPP_NAMESPACE::Bool32 coverageModulationTableEnable_={}, uint32_t coverageModulationTableCount_={}, const float *pCoverageModulationTable_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceInlineUniformBlockFeatures VkPhysicalDeviceInlineUniformBlockFeatures
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan11Features & setSamplerYcbcrConversion(VULKAN_HPP_NAMESPACE::Bool32 samplerYcbcrConversion_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setVertexPipelineStoresAndAtomics(VULKAN_HPP_NAMESPACE::Bool32 vertexPipelineStoresAndAtomics_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceRayTracingMotionBlurFeaturesNV(VkPhysicalDeviceRayTracingMotionBlurFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCreateInfoEXT & setPUserData(void *pUserData_) VULKAN_HPP_NOEXCEPT
bool operator!=(CheckpointData2NV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ExternalMemoryImageCreateInfoNV & setHandleTypes(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleTypes_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineMultisampleStateCreateInfo & setRasterizationSamples(VULKAN_HPP_NAMESPACE::SampleCountFlagBits rasterizationSamples_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentShaderBarycentricFeaturesKHR & setFragmentShaderBarycentric(VULKAN_HPP_NAMESPACE::Bool32 fragmentShaderBarycentric_) VULKAN_HPP_NOEXCEPT
bool operator==(MutableDescriptorTypeListEXT const &rhs) const VULKAN_HPP_NOEXCEPT
MutableDescriptorTypeCreateInfoEXT(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::MutableDescriptorTypeListEXT > const &mutableDescriptorTypeLists_, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSparseImageFormatInfo2 & setSamples(VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples_) VULKAN_HPP_NOEXCEPT
RenderPassCreateInfo2 & setAttachments(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::AttachmentDescription2 > const &attachments_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ShaderModuleCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceSeparateDepthStencilLayoutsFeatures(VULKAN_HPP_NAMESPACE::Bool32 separateDepthStencilLayouts_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineColorBlendStateCreateInfo & setPAttachments(const VULKAN_HPP_NAMESPACE::PipelineColorBlendAttachmentState *pAttachments_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineFragmentShadingRateEnumStateCreateInfoNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyMemoryToMicromapInfoEXT(VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR src_={}, VULKAN_HPP_NAMESPACE::MicromapEXT dst_={}, VULKAN_HPP_NAMESPACE::CopyMicromapModeEXT mode_=VULKAN_HPP_NAMESPACE::CopyMicromapModeEXT::eClone, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceVulkan11Features(VULKAN_HPP_NAMESPACE::Bool32 storageBuffer16BitAccess_={}, VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer16BitAccess_={}, VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant16_={}, VULKAN_HPP_NAMESPACE::Bool32 storageInputOutput16_={}, VULKAN_HPP_NAMESPACE::Bool32 multiview_={}, VULKAN_HPP_NAMESPACE::Bool32 multiviewGeometryShader_={}, VULKAN_HPP_NAMESPACE::Bool32 multiviewTessellationShader_={}, VULKAN_HPP_NAMESPACE::Bool32 variablePointersStorageBuffer_={}, VULKAN_HPP_NAMESPACE::Bool32 variablePointers_={}, VULKAN_HPP_NAMESPACE::Bool32 protectedMemory_={}, VULKAN_HPP_NAMESPACE::Bool32 samplerYcbcrConversion_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderDrawParameters_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkFormatProperties2 VkFormatProperties2
VULKAN_HPP_CONSTEXPR ExportMemoryAllocateInfo(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags handleTypes_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceImageProcessingPropertiesQCOM const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineDepthStencilStateCreateInfo & setMaxDepthBounds(float maxDepthBounds_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceRayTracingMaintenance1FeaturesKHR & operator=(VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::AccelerationStructureTypeKHR type
BufferMemoryBarrier & operator=(BufferMemoryBarrier const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 RenderingAttachmentInfo & setResolveImageView(VULKAN_HPP_NAMESPACE::ImageView resolveImageView_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MemoryBarrier2 & setDstAccessMask(VULKAN_HPP_NAMESPACE::AccessFlags2 dstAccessMask_) VULKAN_HPP_NOEXCEPT
CuModuleCreateInfoNVX & operator=(VkCuModuleCreateInfoNVX const &rhs) VULKAN_HPP_NOEXCEPT
PipelineViewportDepthClipControlCreateInfoEXT & operator=(VkPipelineViewportDepthClipControlCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DirectDriverLoadingListLUNARG & setDriverCount(uint32_t driverCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineColorBlendAttachmentState & setBlendEnable(VULKAN_HPP_NAMESPACE::Bool32 blendEnable_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceDeviceMemoryReportFeaturesEXT & operator=(VkPhysicalDeviceDeviceMemoryReportFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier & setSrcAccessMask(VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderSMBuiltinsPropertiesNV(uint32_t shaderSMCount_={}, uint32_t shaderWarpsPerSM_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV
OpticalFlowImageFormatInfoNV & operator=(VkOpticalFlowImageFormatInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
FormatProperties2(VkFormatProperties2 const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineColorWriteCreateInfoEXT & setPColorWriteEnables(const VULKAN_HPP_NAMESPACE::Bool32 *pColorWriteEnables_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassCreateInfo & setPAttachments(const VULKAN_HPP_NAMESPACE::AttachmentDescription *pAttachments_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR BindBufferMemoryInfo(VULKAN_HPP_NAMESPACE::Buffer buffer_={}, VULKAN_HPP_NAMESPACE::DeviceMemory memory_={}, VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR OpticalFlowImageFormatPropertiesNV(VULKAN_HPP_NAMESPACE::Format format_=VULKAN_HPP_NAMESPACE::Format::eUndefined, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(DescriptorSetLayoutBindingFlagsCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
SparseImageMemoryBindInfo(VULKAN_HPP_NAMESPACE::Image image_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SparseImageMemoryBind > const &binds_)
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan11Features & setStoragePushConstant16(VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant16_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SparseImageMemoryBind & setMemoryOffset(VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_) VULKAN_HPP_NOEXCEPT
ShaderModuleCreateInfo & operator=(VkShaderModuleCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceAmigoProfilingFeaturesSEC & setAmigoProfiling(VULKAN_HPP_NAMESPACE::Bool32 amigoProfiling_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR RenderingFragmentDensityMapAttachmentInfoEXT(VULKAN_HPP_NAMESPACE::ImageView imageView_={}, VULKAN_HPP_NAMESPACE::ImageLayout imageLayout_=VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImportFenceFdInfoKHR & setFd(int fd_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Bool32 sparseResidency16Samples
VULKAN_HPP_NAMESPACE::ImageSubresourceRange subresourceRange
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMotionInfoNV & setFlags(VULKAN_HPP_NAMESPACE::AccelerationStructureMotionInfoFlagsNV flags_) VULKAN_HPP_NOEXCEPT
bool operator==(IndirectCommandsLayoutCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfo
WriteDescriptorSetAccelerationStructureKHR(VkWriteDescriptorSetAccelerationStructureKHR const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceSynchronization2Features const &rhs) const VULKAN_HPP_NOEXCEPT
ExternalBufferProperties & operator=(VkExternalBufferProperties const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ImageLayout finalLayout
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryInstancesDataKHR & setData(VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR const &data_) VULKAN_HPP_NOEXCEPT
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
PhysicalDeviceMaintenance4Properties & operator=(VkPhysicalDeviceMaintenance4Properties const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceImageFormatInfo2 & operator=(VkPhysicalDeviceImageFormatInfo2 const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(RectLayerKHR const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT VkPhysicalDeviceExtendedDynamicStateFeaturesEXT
size_t size
bool operator!=(BufferDeviceAddressCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceVulkan11Properties(VkPhysicalDeviceVulkan11Properties const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceRobustness2PropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(ImageSubresourceRange const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfo
OpticalFlowSessionCreatePrivateDataInfoNV(VkOpticalFlowSessionCreatePrivateDataInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceVideoFormatInfoKHR VkPhysicalDeviceVideoFormatInfoKHR
PhysicalDeviceVertexAttributeDivisorFeaturesEXT & operator=(VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderSMBuiltinsPropertiesNV & operator=(VkPhysicalDeviceShaderSMBuiltinsPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDevicePipelineExecutablePropertiesFeaturesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SRTDataNV & setQw(float qw_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Filter filter
GLsizei const GLfloat * value
Definition: glcorearb.h:824
bool operator!=(PhysicalDeviceSamplerFilterMinmaxProperties const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferImageCopy & setBufferRowLength(uint32_t bufferRowLength_) VULKAN_HPP_NOEXCEPT
bool operator!=(BufferCaptureDescriptorDataInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
ExportMemoryAllocateInfo & operator=(VkExportMemoryAllocateInfo const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceTextureCompressionASTCHDRFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceShaderSMBuiltinsFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM & operator=(VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR BindImagePlaneMemoryInfo(VULKAN_HPP_NAMESPACE::ImageAspectFlagBits planeAspect_=VULKAN_HPP_NAMESPACE::ImageAspectFlagBits::eColor, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
DeviceFaultAddressInfoEXT(VkDeviceFaultAddressInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
ImageDrmFormatModifierListCreateInfoEXT & operator=(VkImageDrmFormatModifierListCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceCooperativeMatrixPropertiesNV VkPhysicalDeviceCooperativeMatrixPropertiesNV
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMatrixMotionInstanceNV(VULKAN_HPP_NAMESPACE::TransformMatrixKHR transformT0_={}, VULKAN_HPP_NAMESPACE::TransformMatrixKHR transformT1_={}, uint32_t instanceCustomIndex_={}, uint32_t mask_={}, uint32_t instanceShaderBindingTableRecordOffset_={}, VULKAN_HPP_NAMESPACE::GeometryInstanceFlagsKHR flags_={}, uint64_t accelerationStructureReference_={}) VULKAN_HPP_NOEXCEPT
bool operator==(DeviceAddressBindingCallbackDataEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PipelineRobustnessCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
MicromapBuildInfoEXT & setPUsageCounts(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::MicromapUsageEXT *const > const &pUsageCounts_) VULKAN_HPP_NOEXCEPT
struct VkBufferCopy VkBufferCopy
VULKAN_HPP_NAMESPACE::Semaphore semaphore
const VULKAN_HPP_NAMESPACE::SampleLocationEXT * pSampleLocations
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan13Features & setShaderDemoteToHelperInvocation(VULKAN_HPP_NAMESPACE::Bool32 shaderDemoteToHelperInvocation_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CommandBufferAllocateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR RenderPassTransformBeginInfoQCOM(VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR transform_=VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR::eIdentity, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
SubpassDescription(VULKAN_HPP_NAMESPACE::SubpassDescriptionFlags flags_, VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::AttachmentReference > const &inputAttachments_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::AttachmentReference > const &colorAttachments_={}, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::AttachmentReference > const &resolveAttachments_={}, const VULKAN_HPP_NAMESPACE::AttachmentReference *pDepthStencilAttachment_={}, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &preserveAttachments_={})
VULKAN_HPP_CONSTEXPR_14 CuLaunchInfoNVX & setPExtras(const void *const *pExtras_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubpassDependency & setDstSubpass(uint32_t dstSubpass_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceVulkan13Features(VULKAN_HPP_NAMESPACE::Bool32 robustImageAccess_={}, VULKAN_HPP_NAMESPACE::Bool32 inlineUniformBlock_={}, VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingInlineUniformBlockUpdateAfterBind_={}, VULKAN_HPP_NAMESPACE::Bool32 pipelineCreationCacheControl_={}, VULKAN_HPP_NAMESPACE::Bool32 privateData_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderDemoteToHelperInvocation_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderTerminateInvocation_={}, VULKAN_HPP_NAMESPACE::Bool32 subgroupSizeControl_={}, VULKAN_HPP_NAMESPACE::Bool32 computeFullSubgroups_={}, VULKAN_HPP_NAMESPACE::Bool32 synchronization2_={}, VULKAN_HPP_NAMESPACE::Bool32 textureCompressionASTC_HDR_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderZeroInitializeWorkgroupMemory_={}, VULKAN_HPP_NAMESPACE::Bool32 dynamicRendering_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderIntegerDotProduct_={}, VULKAN_HPP_NAMESPACE::Bool32 maintenance4_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan11Properties(std::array< uint8_t, VK_UUID_SIZE > const &deviceUUID_={}, std::array< uint8_t, VK_UUID_SIZE > const &driverUUID_={}, std::array< uint8_t, VK_LUID_SIZE > const &deviceLUID_={}, uint32_t deviceNodeMask_={}, VULKAN_HPP_NAMESPACE::Bool32 deviceLUIDValid_={}, uint32_t subgroupSize_={}, VULKAN_HPP_NAMESPACE::ShaderStageFlags subgroupSupportedStages_={}, VULKAN_HPP_NAMESPACE::SubgroupFeatureFlags subgroupSupportedOperations_={}, VULKAN_HPP_NAMESPACE::Bool32 subgroupQuadOperationsInAllStages_={}, VULKAN_HPP_NAMESPACE::PointClippingBehavior pointClippingBehavior_=VULKAN_HPP_NAMESPACE::PointClippingBehavior::eAllClipPlanes, uint32_t maxMultiviewViewCount_={}, uint32_t maxMultiviewInstanceIndex_={}, VULKAN_HPP_NAMESPACE::Bool32 protectedNoFault_={}, uint32_t maxPerSetDescriptors_={}, VULKAN_HPP_NAMESPACE::DeviceSize maxMemoryAllocationSize_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AttachmentSampleCountInfoAMD & setColorAttachmentCount(uint32_t colorAttachmentCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::AttachmentLoadOp loadOp
PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback
VULKAN_HPP_CONSTEXPR RenderPassInputAttachmentAspectCreateInfo(uint32_t aspectReferenceCount_={}, const VULKAN_HPP_NAMESPACE::InputAttachmentAspectReference *pAspectReferences_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkExportMemoryWin32HandleInfoNV VkExportMemoryWin32HandleInfoNV
VULKAN_HPP_CONSTEXPR_14 SetStateFlagsIndirectCommandNV & setData(uint32_t data_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DirectDriverLoadingListLUNARG & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(GeneratedCommandsInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AttachmentDescriptionStencilLayout & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
DescriptorImageInfo & operator=(VkDescriptorImageInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineSampleLocationsStateCreateInfoEXT(VULKAN_HPP_NAMESPACE::Bool32 sampleLocationsEnable_={}, VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT sampleLocationsInfo_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceAddressBindingReportFeaturesEXT VkPhysicalDeviceAddressBindingReportFeaturesEXT
bool operator!=(QueryPoolCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceCooperativeMatrixFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorSetLayoutBinding & setBinding(uint32_t binding_) VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineLayoutCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceAmigoProfilingFeaturesSEC & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceVertexInputDynamicStateFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineCacheCreateInfo & setFlags(VULKAN_HPP_NAMESPACE::PipelineCacheCreateFlags flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MemoryBarrier & setDstAccessMask(VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_) VULKAN_HPP_NOEXCEPT
struct VkMemoryGetRemoteAddressInfoNV VkMemoryGetRemoteAddressInfoNV
VULKAN_HPP_CONSTEXPR BufferCopy(VULKAN_HPP_NAMESPACE::DeviceSize srcOffset_={}, VULKAN_HPP_NAMESPACE::DeviceSize dstOffset_={}, VULKAN_HPP_NAMESPACE::DeviceSize size_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BlitImageInfo2 & setRegionCount(uint32_t regionCount_) VULKAN_HPP_NOEXCEPT
bool operator!=(SemaphoreSignalInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderModuleIdentifierPropertiesEXT(std::array< uint8_t, VK_UUID_SIZE > const &shaderModuleIdentifierAlgorithmUUID_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkSubpassDependency2 VkSubpassDependency2
VULKAN_HPP_CONSTEXPR SwapchainCreateInfoKHR(VULKAN_HPP_NAMESPACE::SwapchainCreateFlagsKHR flags_={}, VULKAN_HPP_NAMESPACE::SurfaceKHR surface_={}, uint32_t minImageCount_={}, VULKAN_HPP_NAMESPACE::Format imageFormat_=VULKAN_HPP_NAMESPACE::Format::eUndefined, VULKAN_HPP_NAMESPACE::ColorSpaceKHR imageColorSpace_=VULKAN_HPP_NAMESPACE::ColorSpaceKHR::eSrgbNonlinear, VULKAN_HPP_NAMESPACE::Extent2D imageExtent_={}, uint32_t imageArrayLayers_={}, VULKAN_HPP_NAMESPACE::ImageUsageFlags imageUsage_={}, VULKAN_HPP_NAMESPACE::SharingMode imageSharingMode_=VULKAN_HPP_NAMESPACE::SharingMode::eExclusive, uint32_t queueFamilyIndexCount_={}, const uint32_t *pQueueFamilyIndices_={}, VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR preTransform_=VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR::eIdentity, VULKAN_HPP_NAMESPACE::CompositeAlphaFlagBitsKHR compositeAlpha_=VULKAN_HPP_NAMESPACE::CompositeAlphaFlagBitsKHR::eOpaque, VULKAN_HPP_NAMESPACE::PresentModeKHR presentMode_=VULKAN_HPP_NAMESPACE::PresentModeKHR::eImmediate, VULKAN_HPP_NAMESPACE::Bool32 clipped_={}, VULKAN_HPP_NAMESPACE::SwapchainKHR oldSwapchain_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderAtomicFloat2FeaturesEXT & setShaderBufferFloat16AtomicAdd(VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat16AtomicAdd_) VULKAN_HPP_NOEXCEPT
struct VkExternalFormatANDROID VkExternalFormatANDROID
VULKAN_HPP_CONSTEXPR_14 ComponentMapping & setA(VULKAN_HPP_NAMESPACE::ComponentSwizzle a_) VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineCreationFeedback const &rhs) const VULKAN_HPP_NOEXCEPT
BindBufferMemoryInfo(VkBindBufferMemoryInfo const &rhs) VULKAN_HPP_NOEXCEPT
struct VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfo
bool operator==(PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM const &rhs) const VULKAN_HPP_NOEXCEPT
PipelineViewportShadingRateImageStateCreateInfoNV & setShadingRatePalettes(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV > const &shadingRatePalettes_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
bool operator!=(SurfaceFormat2KHR const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkMicromapUsageEXT VkMicromapUsageEXT
bool operator==(SemaphoreTypeCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
SparseImageMemoryRequirements2(VkSparseImageMemoryRequirements2 const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(AccelerationStructureInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
DescriptorSetVariableDescriptorCountAllocateInfo & setDescriptorCounts(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &descriptorCounts_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentDensityMap2FeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMapDeferred_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMultiviewFeatures & setMultiview(VULKAN_HPP_NAMESPACE::Bool32 multiview_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceToolProperties const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMemoryBudgetPropertiesEXT(std::array< VULKAN_HPP_NAMESPACE::DeviceSize, VK_MAX_MEMORY_HEAPS > const &heapBudget_={}, std::array< VULKAN_HPP_NAMESPACE::DeviceSize, VK_MAX_MEMORY_HEAPS > const &heapUsage_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SwapchainCreateInfoKHR & setQueueFamilyIndexCount(uint32_t queueFamilyIndexCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SwapchainCounterCreateInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL & operator=(VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR FenceGetFdInfoKHR(VULKAN_HPP_NAMESPACE::Fence fence_={}, VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType_=VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits::eOpaqueFd, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
SparseBufferMemoryBindInfo & operator=(VkSparseBufferMemoryBindInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AttachmentDescription & setStencilLoadOp(VULKAN_HPP_NAMESPACE::AttachmentLoadOp stencilLoadOp_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationDepthClipStateCreateInfoEXT & setDepthClipEnable(VULKAN_HPP_NAMESPACE::Bool32 depthClipEnable_) VULKAN_HPP_NOEXCEPT
bool operator!=(SubpassDescription const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineColorWriteCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(DisplayModeCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
MicromapCreateInfoEXT(VkMicromapCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
VULKAN_HPP_CONSTEXPR PhysicalDeviceInheritedViewportScissorFeaturesNV(VULKAN_HPP_NAMESPACE::Bool32 inheritedViewportScissor2D_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkRenderingAttachmentInfo VkRenderingAttachmentInfo
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorIndexingFeatures & setRuntimeDescriptorArray(VULKAN_HPP_NAMESPACE::Bool32 runtimeDescriptorArray_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceCooperativeMatrixFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceExternalFenceInfo(VkPhysicalDeviceExternalFenceInfo const &rhs) VULKAN_HPP_NOEXCEPT
SubpassBeginInfo(VkSubpassBeginInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SamplerCreateInfo & setUnnormalizedCoordinates(VULKAN_HPP_NAMESPACE::Bool32 unnormalizedCoordinates_) VULKAN_HPP_NOEXCEPT
CuModuleCreateInfoNVX(VkCuModuleCreateInfoNVX const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(DisplayProperties2KHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMemoryRequirementsInfoNV & setAccelerationStructure(VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceMultiDrawFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
DebugMarkerObjectNameInfoEXT & operator=(VkDebugMarkerObjectNameInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPastPresentationTimingGOOGLE VkPastPresentationTimingGOOGLE
VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePerformanceQueryFeaturesKHR & setPerformanceCounterQueryPools(VULKAN_HPP_NAMESPACE::Bool32 performanceCounterQueryPools_) VULKAN_HPP_NOEXCEPT
CopyMicromapToMemoryInfoEXT & operator=(CopyMicromapToMemoryInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator!=(ImageFormatProperties const &rhs) const VULKAN_HPP_NOEXCEPT
SparseImageMemoryBind & operator=(SparseImageMemoryBind const &rhs) VULKAN_HPP_NOEXCEPT=default
RenderPassMultiviewCreateInfo & setViewOffsets(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const int32_t > const &viewOffsets_) VULKAN_HPP_NOEXCEPT
bool operator!=(CopyCommandTransformInfoQCOM const &rhs) const VULKAN_HPP_NOEXCEPT
RayTracingShaderGroupCreateInfoKHR(VkRayTracingShaderGroupCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(ApplicationInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceBufferDeviceAddressFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(ImageSwapchainCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
DisplayModeCreateInfoKHR(VkDisplayModeCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderCoreBuiltinsFeaturesARM(VULKAN_HPP_NAMESPACE::Bool32 shaderCoreBuiltins_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceASTCDecodeFeaturesEXT VkPhysicalDeviceASTCDecodeFeaturesEXT
bool operator==(BufferMemoryBarrier const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
DedicatedAllocationBufferCreateInfoNV & operator=(VkDedicatedAllocationBufferCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
ComponentMapping(VkComponentMapping const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(BufferCopy2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 FramebufferAttachmentImageInfo & setWidth(uint32_t width_) VULKAN_HPP_NOEXCEPT
MultiviewPerViewAttributesInfoNVX(VkMultiviewPerViewAttributesInfoNVX const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryTrianglesDataKHR & setVertexFormat(VULKAN_HPP_NAMESPACE::Format vertexFormat_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceVertexInputDynamicStateFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceRayTracingMaintenance1FeaturesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceYcbcrImageArraysFeaturesEXT & operator=(VkPhysicalDeviceYcbcrImageArraysFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM
VULKAN_HPP_CONSTEXPR_14 SubpassDependency & setSrcSubpass(uint32_t srcSubpass_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderDrawParametersFeatures & setShaderDrawParameters(VULKAN_HPP_NAMESPACE::Bool32 shaderDrawParameters_) VULKAN_HPP_NOEXCEPT
DebugUtilsObjectNameInfoEXT(VkDebugUtilsObjectNameInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(MicromapVersionInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
Extent3D(Extent2D const &extent2D, uint32_t depth_={})
VULKAN_HPP_CONSTEXPR_14 QueueFamilyGlobalPriorityPropertiesKHR & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ShadingRatePaletteNV & setShadingRatePaletteEntryCount(uint32_t shadingRatePaletteEntryCount_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceSubgroupSizeControlFeatures & operator=(VkPhysicalDeviceSubgroupSizeControlFeatures const &rhs) VULKAN_HPP_NOEXCEPT
DeviceGroupBindSparseInfo & operator=(VkDeviceGroupBindSparseInfo const &rhs) VULKAN_HPP_NOEXCEPT
GLuint64 GLenum handleType
Definition: RE_OGL.h:262
bool operator==(PipelineCompilerControlCreateInfoAMD const &rhs) const VULKAN_HPP_NOEXCEPT
QueueFamilyProperties2 & operator=(VkQueueFamilyProperties2 const &rhs) VULKAN_HPP_NOEXCEPT
struct VkDisplayPlaneCapabilitiesKHR VkDisplayPlaneCapabilitiesKHR
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
struct VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfo
VULKAN_HPP_CONSTEXPR_14 SemaphoreGetFdInfoKHR & setHandleType(VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR AllocationCallbacks(void *pUserData_={}, PFN_vkAllocationFunction pfnAllocation_={}, PFN_vkReallocationFunction pfnReallocation_={}, PFN_vkFreeFunction pfnFree_={}, PFN_vkInternalAllocationNotification pfnInternalAllocation_={}, PFN_vkInternalFreeNotification pfnInternalFree_={}) VULKAN_HPP_NOEXCEPT
bool operator!=(MemoryType const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderAtomicInt64Features & setShaderBufferInt64Atomics(VULKAN_HPP_NAMESPACE::Bool32 shaderBufferInt64Atomics_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PresentInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT(VULKAN_HPP_NAMESPACE::DeviceAddress accelerationStructure_)
VertexInputBindingDivisorDescriptionEXT & operator=(VkVertexInputBindingDivisorDescriptionEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ExternalBufferProperties(VULKAN_HPP_NAMESPACE::ExternalMemoryProperties externalMemoryProperties_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorGetInfoEXT(VULKAN_HPP_NAMESPACE::DescriptorType type_=VULKAN_HPP_NAMESPACE::DescriptorType::eSampler, VULKAN_HPP_NAMESPACE::DescriptorDataEXT data_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier & setOffset(VULKAN_HPP_NAMESPACE::DeviceSize offset_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ClearValue clearValue
VULKAN_HPP_CONSTEXPR_14 ImageViewCreateInfo & setSubresourceRange(VULKAN_HPP_NAMESPACE::ImageSubresourceRange const &subresourceRange_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceLineRasterizationFeaturesEXT(VkPhysicalDeviceLineRasterizationFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MicromapUsageEXT & setFormat(uint32_t format_) VULKAN_HPP_NOEXCEPT
struct VkPerformanceStreamMarkerInfoINTEL VkPerformanceStreamMarkerInfoINTEL
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildRangeInfoKHR & setFirstVertex(uint32_t firstVertex_) VULKAN_HPP_NOEXCEPT
bool operator==(LayerProperties const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugMarkerObjectTagInfoEXT & setTagName(uint64_t tagName_) VULKAN_HPP_NOEXCEPT
CommandBufferInheritanceViewportScissorInfoNV & operator=(CommandBufferInheritanceViewportScissorInfoNV const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator==(PhysicalDeviceShaderSMBuiltinsFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassMultiviewCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceProtectedMemoryFeatures & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ValidationFeaturesEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
PFN_vkInternalFreeNotification pfnInternalFree
PhysicalDeviceShaderIntegerDotProductFeatures(VkPhysicalDeviceShaderIntegerDotProductFeatures const &rhs) VULKAN_HPP_NOEXCEPT
struct VkAttachmentSampleLocationsEXT VkAttachmentSampleLocationsEXT
VULKAN_HPP_CONSTEXPR_14 RayTracingShaderGroupCreateInfoKHR & setGeneralShader(uint32_t generalShader_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ColorBlendAdvancedEXT & setAdvancedBlendOp(VULKAN_HPP_NAMESPACE::BlendOp advancedBlendOp_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceMultiviewFeatures(VULKAN_HPP_NAMESPACE::Bool32 multiview_={}, VULKAN_HPP_NAMESPACE::Bool32 multiviewGeometryShader_={}, VULKAN_HPP_NAMESPACE::Bool32 multiviewTessellationShader_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT * pQueueLabels
PhysicalDevicePresentBarrierFeaturesNV & operator=(VkPhysicalDevicePresentBarrierFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ClearColorValue(float float32_0, float float32_1, float float32_2, float float32_3)
VULKAN_HPP_CONSTEXPR_14 QueueFamilyGlobalPriorityPropertiesKHR & setPriorityCount(uint32_t priorityCount_) VULKAN_HPP_NOEXCEPT
MutableDescriptorTypeListEXT(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::DescriptorType > const &descriptorTypes_)
ImageSubresourceLayers(VkImageSubresourceLayers const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(IndirectCommandsLayoutTokenNV const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceImageViewMinLodFeaturesEXT & operator=(VkPhysicalDeviceImageViewMinLodFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
GeneratedCommandsInfoNV & operator=(VkGeneratedCommandsInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyMemoryIndirectCommandNV & setDstAddress(VULKAN_HPP_NAMESPACE::DeviceAddress dstAddress_) VULKAN_HPP_NOEXCEPT
struct VkAccelerationStructureCreateInfoKHR VkAccelerationStructureCreateInfoKHR
PhysicalDeviceRepresentativeFragmentTestFeaturesNV & operator=(VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceImage2DViewOf3DFeaturesEXT VkPhysicalDeviceImage2DViewOf3DFeaturesEXT
VULKAN_HPP_CONSTEXPR_14 RenderPassFragmentDensityMapCreateInfoEXT & setFragmentDensityMapAttachment(VULKAN_HPP_NAMESPACE::AttachmentReference const &fragmentDensityMapAttachment_) VULKAN_HPP_NOEXCEPT
bool operator!=(GraphicsShaderGroupCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR(VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan11Features & setUniformAndStorageBuffer16BitAccess(VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer16BitAccess_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceToolProperties(std::array< char, VK_MAX_EXTENSION_NAME_SIZE > const &name_={}, std::array< char, VK_MAX_EXTENSION_NAME_SIZE > const &version_={}, VULKAN_HPP_NAMESPACE::ToolPurposeFlags purposes_={}, std::array< char, VK_MAX_DESCRIPTION_SIZE > const &description_={}, std::array< char, VK_MAX_EXTENSION_NAME_SIZE > const &layer_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceShadingRateImageFeaturesNV(VULKAN_HPP_NAMESPACE::Bool32 shadingRateImage_={}, VULKAN_HPP_NAMESPACE::Bool32 shadingRateCoarseSampleOrder_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(MemoryGetFdInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(BufferMemoryRequirementsInfo2 const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceTransformFeedbackPropertiesEXT VkPhysicalDeviceTransformFeedbackPropertiesEXT
VULKAN_HPP_CONSTEXPR_14 BindIndexBufferIndirectCommandNV & setIndexType(VULKAN_HPP_NAMESPACE::IndexType indexType_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState3FeaturesEXT & setExtendedDynamicState3LineStippleEnable(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3LineStippleEnable_) VULKAN_HPP_NOEXCEPT
bool operator==(CopyMicromapInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
DebugMarkerObjectTagInfoEXT(VkDebugMarkerObjectTagInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceSize transformOffset
bool operator!=(RenderPassInputAttachmentAspectCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDevice4444FormatsFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceQueueInfo2 & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
DescriptorBufferBindingPushDescriptorBufferHandleEXT & operator=(DescriptorBufferBindingPushDescriptorBufferHandleEXT const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator!=(PhysicalDevicePointClippingProperties const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(SurfaceCapabilitiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceMeshShaderFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageSubresource & setAspectMask(VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setSamplerFilterMinmax(VULKAN_HPP_NAMESPACE::Bool32 samplerFilterMinmax_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GraphicsPipelineCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkWin32KeyedMutexAcquireReleaseInfoNV VkWin32KeyedMutexAcquireReleaseInfoNV
bool operator!=(PipelineCoverageModulationStateCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AttachmentDescription & setInitialLayout(VULKAN_HPP_NAMESPACE::ImageLayout initialLayout_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ExternalMemoryBufferCreateInfo(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags handleTypes_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineExecutablePropertiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(DirectDriverLoadingListLUNARG const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSubgroupSizeControlFeatures & setSubgroupSizeControl(VULKAN_HPP_NAMESPACE::Bool32 subgroupSizeControl_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceAccelerationStructureFeaturesKHR(VULKAN_HPP_NAMESPACE::Bool32 accelerationStructure_={}, VULKAN_HPP_NAMESPACE::Bool32 accelerationStructureCaptureReplay_={}, VULKAN_HPP_NAMESPACE::Bool32 accelerationStructureIndirectBuild_={}, VULKAN_HPP_NAMESPACE::Bool32 accelerationStructureHostCommands_={}, VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingAccelerationStructureUpdateAfterBind_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
BufferOpaqueCaptureAddressCreateInfo(VkBufferOpaqueCaptureAddressCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
struct VkTraceRaysIndirectCommandKHR VkTraceRaysIndirectCommandKHR
VULKAN_HPP_CONSTEXPR DisplayModeProperties2KHR(VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR displayModeProperties_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
void(VKAPI_PTR * PFN_vkFreeFunction)(void *pUserData, void *pMemory)
Definition: vulkan_core.h:2895
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentShadingRateEnumsPropertiesNV & setMaxFragmentShadingRateInvocationCount(VULKAN_HPP_NAMESPACE::SampleCountFlagBits maxFragmentShadingRateInvocationCount_) VULKAN_HPP_NOEXCEPT
bool operator!=(ExternalMemoryImageCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
GLdouble GLdouble GLdouble z
Definition: glcorearb.h:848
VULKAN_HPP_CONSTEXPR ImageFormatListCreateInfo(uint32_t viewFormatCount_={}, const VULKAN_HPP_NAMESPACE::Format *pViewFormats_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask
VULKAN_HPP_CONSTEXPR PhysicalDeviceLineRasterizationFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 rectangularLines_={}, VULKAN_HPP_NAMESPACE::Bool32 bresenhamLines_={}, VULKAN_HPP_NAMESPACE::Bool32 smoothLines_={}, VULKAN_HPP_NAMESPACE::Bool32 stippledRectangularLines_={}, VULKAN_HPP_NAMESPACE::Bool32 stippledBresenhamLines_={}, VULKAN_HPP_NAMESPACE::Bool32 stippledSmoothLines_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PhysicalDeviceMemoryProperties2(VkPhysicalDeviceMemoryProperties2 const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR CommandBufferInheritanceConditionalRenderingInfoEXT(VULKAN_HPP_NAMESPACE::Bool32 conditionalRenderingEnable_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
AttachmentDescriptionStencilLayout & operator=(AttachmentDescriptionStencilLayout const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator!=(ExportMemoryAllocateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceRayQueryFeaturesKHR(VULKAN_HPP_NAMESPACE::Bool32 rayQuery_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
GLdouble right
Definition: glad.h:2817
VULKAN_HPP_NAMESPACE::ShaderStageFlagBits stage
bool operator==(WriteDescriptorSetAccelerationStructureKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 XYColorEXT & setX(float x_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
PipelineRasterizationDepthClipStateCreateInfoEXT(VkPipelineRasterizationDepthClipStateCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
GLboolean GLboolean g
Definition: glcorearb.h:1222
bool operator==(RectLayerKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM(VULKAN_HPP_NAMESPACE::Bool32 multiviewPerViewViewports_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkComponentMapping VkComponentMapping
PhysicalDeviceLimits(VkPhysicalDeviceLimits const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(DisplayEventInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
DescriptorSetBindingReferenceVALVE & operator=(VkDescriptorSetBindingReferenceVALVE const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceVulkan13Features const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderCoreProperties2AMD & operator=(VkPhysicalDeviceShaderCoreProperties2AMD const &rhs) VULKAN_HPP_NOEXCEPT
struct VkRayTracingShaderGroupCreateInfoNV VkRayTracingShaderGroupCreateInfoNV
VULKAN_HPP_CONSTEXPR_14 DependencyInfo & setMemoryBarrierCount(uint32_t memoryBarrierCount_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceDynamicRenderingFeatures & operator=(VkPhysicalDeviceDynamicRenderingFeatures const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier2 & setBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer_) VULKAN_HPP_NOEXCEPT
bool operator==(Rect2D const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(DrmFormatModifierPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationStateCreateInfo & setDepthBiasConstantFactor(float depthBiasConstantFactor_) VULKAN_HPP_NOEXCEPT
PipelineColorBlendStateCreateInfo & operator=(VkPipelineColorBlendStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
CopyMemoryToImageIndirectCommandNV & operator=(VkCopyMemoryToImageIndirectCommandNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelinePropertiesIdentifierEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BindImageMemoryInfo & setImage(VULKAN_HPP_NAMESPACE::Image image_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR MemoryAllocateFlagsInfo(VULKAN_HPP_NAMESPACE::MemoryAllocateFlags flags_={}, uint32_t deviceMask_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureCreateInfoNV & setInfo(VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV const &info_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR VkPhysicalDeviceFragmentShadingRateFeaturesKHR
PhysicalDeviceFragmentShadingRateFeaturesKHR(VkPhysicalDeviceFragmentShadingRateFeaturesKHR const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV VkPipelineRepresentativeFragmentTestStateCreateInfoNV
bool operator==(BindAccelerationStructureMemoryInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceExternalMemoryHostPropertiesEXT(VULKAN_HPP_NAMESPACE::DeviceSize minImportedHostPointerAlignment_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkMemoryPriorityAllocateInfoEXT VkMemoryPriorityAllocateInfoEXT
SparseImageMemoryRequirements2 & operator=(VkSparseImageMemoryRequirements2 const &rhs) VULKAN_HPP_NOEXCEPT
struct VkRenderPassSubpassFeedbackInfoEXT VkRenderPassSubpassFeedbackInfoEXT
SparseImageFormatProperties2(VkSparseImageFormatProperties2 const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(ImageViewHandleInfoNVX const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceColorWriteEnableFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(ValidationFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferCopy2 & setSize(VULKAN_HPP_NAMESPACE::DeviceSize size_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDevicePresentWaitFeaturesKHR VkPhysicalDevicePresentWaitFeaturesKHR
VULKAN_HPP_CONSTEXPR SparseImageMemoryBind(VULKAN_HPP_NAMESPACE::ImageSubresource subresource_={}, VULKAN_HPP_NAMESPACE::Offset3D offset_={}, VULKAN_HPP_NAMESPACE::Extent3D extent_={}, VULKAN_HPP_NAMESPACE::DeviceMemory memory_={}, VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_={}, VULKAN_HPP_NAMESPACE::SparseMemoryBindFlags flags_={}) VULKAN_HPP_NOEXCEPT
bool operator==(ShadingRatePaletteNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceBufferMemoryRequirements & setPCreateInfo(const VULKAN_HPP_NAMESPACE::BufferCreateInfo *pCreateInfo_) VULKAN_HPP_NOEXCEPT
ImageStencilUsageCreateInfo & operator=(VkImageStencilUsageCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR ExternalImageFormatProperties(VULKAN_HPP_NAMESPACE::ExternalMemoryProperties externalMemoryProperties_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineInputAssemblyStateCreateInfo & setPrimitiveRestartEnable(VULKAN_HPP_NAMESPACE::Bool32 primitiveRestartEnable_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Bool32 robustBufferAccess
VULKAN_HPP_CONSTEXPR_14 GeometryTrianglesNV & setVertexOffset(VULKAN_HPP_NAMESPACE::DeviceSize vertexOffset_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RayTracingShaderGroupCreateInfoNV & setIntersectionShader(uint32_t intersectionShader_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BlitImageInfo2 & setDstImage(VULKAN_HPP_NAMESPACE::Image dstImage_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderingFragmentShadingRateAttachmentInfoKHR & setImageView(VULKAN_HPP_NAMESPACE::ImageView imageView_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCreateInfoEXT & setFlags(VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateFlagsEXT flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineViewportExclusiveScissorStateCreateInfoNV & setPExclusiveScissors(const VULKAN_HPP_NAMESPACE::Rect2D *pExclusiveScissors_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 StridedDeviceAddressRegionKHR & setSize(VULKAN_HPP_NAMESPACE::DeviceSize size_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceConservativeRasterizationPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
AttachmentReference & operator=(VkAttachmentReference const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceLineRasterizationFeaturesEXT & operator=(VkPhysicalDeviceLineRasterizationFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
ImageMemoryRequirementsInfo2 & operator=(VkImageMemoryRequirementsInfo2 const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures & operator=(VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setShaderSharedInt64Atomics(VULKAN_HPP_NAMESPACE::Bool32 shaderSharedInt64Atomics_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderImageAtomicInt64FeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 shaderImageInt64Atomics_={}, VULKAN_HPP_NAMESPACE::Bool32 sparseImageInt64Atomics_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(DebugMarkerObjectNameInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugUtilsLabelEXT & setColor(std::array< float, 4 > color_) VULKAN_HPP_NOEXCEPT
TimelineSemaphoreSubmitInfo(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint64_t > const &waitSemaphoreValues_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint64_t > const &signalSemaphoreValues_={}, const void *pNext_=nullptr)
VULKAN_HPP_NAMESPACE::DeviceSize decompressedSize
VULKAN_HPP_CONSTEXPR_14 Viewport & setMaxDepth(float maxDepth_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 WriteDescriptorSetAccelerationStructureNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(ShaderModuleValidationCacheCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
TraceRaysIndirectCommandKHR & operator=(VkTraceRaysIndirectCommandKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugMarkerObjectTagInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::AccelerationStructureMotionInstanceDataNV data
VULKAN_HPP_CONSTEXPR_14 SemaphoreWaitInfo & setFlags(VULKAN_HPP_NAMESPACE::SemaphoreWaitFlags flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMaintenance4Features & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR BindAccelerationStructureMemoryInfoNV(VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure_={}, VULKAN_HPP_NAMESPACE::DeviceMemory memory_={}, VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_={}, uint32_t deviceIndexCount_={}, const uint32_t *pDeviceIndices_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
PhysicalDeviceMeshShaderPropertiesNV(VkPhysicalDeviceMeshShaderPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceASTCDecodeFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 decodeModeSharedExponent_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(SemaphoreGetFdInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkSubpassDescription VkSubpassDescription
VULKAN_HPP_CONSTEXPR PhysicalDeviceFeatures2(VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures features_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(RenderPassSampleLocationsBeginInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(CuModuleCreateInfoNVX const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(CopyMemoryIndirectCommandNV const &rhs) const VULKAN_HPP_NOEXCEPT
TimelineSemaphoreSubmitInfo & setWaitSemaphoreValues(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint64_t > const &waitSemaphoreValues_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR VertexInputBindingDivisorDescriptionEXT(uint32_t binding_={}, uint32_t divisor_={}) VULKAN_HPP_NOEXCEPT
uint64_t DeviceAddress
Definition: vulkan.hpp:6074
bool operator==(PhysicalDeviceASTCDecodeFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PerformanceConfigurationAcquireInfoINTEL(VULKAN_HPP_NAMESPACE::PerformanceConfigurationTypeINTEL type_=VULKAN_HPP_NAMESPACE::PerformanceConfigurationTypeINTEL::eCommandQueueMetricsDiscoveryActivated, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkShadingRatePaletteNV VkShadingRatePaletteNV
struct VkQueueFamilyProperties VkQueueFamilyProperties
struct VkGeometryDataNV VkGeometryDataNV
bool operator!=(PhysicalDeviceMultiDrawFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderingFragmentShadingRateAttachmentInfoKHR & setShadingRateAttachmentTexelSize(VULKAN_HPP_NAMESPACE::Extent2D const &shadingRateAttachmentTexelSize_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AttachmentReference & setLayout(VULKAN_HPP_NAMESPACE::ImageLayout layout_) VULKAN_HPP_NOEXCEPT
AccelerationStructureMemoryRequirementsInfoNV(VkAccelerationStructureMemoryRequirementsInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR
bool operator!=(PipelinePropertiesIdentifierEXT const &rhs) const VULKAN_HPP_NOEXCEPT
BaseOutStructure(VkBaseOutStructure const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageCreateInfo & setArrayLayers(uint32_t arrayLayers_) VULKAN_HPP_NOEXCEPT
PipelineViewportWScalingStateCreateInfoNV & setViewportWScalings(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::ViewportWScalingNV > const &viewportWScalings_) VULKAN_HPP_NOEXCEPT
bool operator==(MicromapCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceMaintenance4Features const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceFaultFeaturesEXT VkPhysicalDeviceFaultFeaturesEXT
bool operator!=(BufferImageCopy const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::BuildAccelerationStructureFlagsNV flags
GeometryAABBNV & operator=(VkGeometryAABBNV const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceExternalImageFormatInfo(VkPhysicalDeviceExternalImageFormatInfo const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(SwapchainCounterCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
SubpassEndInfo(VkSubpassEndInfo const &rhs) VULKAN_HPP_NOEXCEPT
AttachmentSampleLocationsEXT(VkAttachmentSampleLocationsEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyMemoryToAccelerationStructureInfoKHR(VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR src_={}, VULKAN_HPP_NAMESPACE::AccelerationStructureKHR dst_={}, VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode_=VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR::eClone, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ValidationFeaturesEXT & setPEnabledValidationFeatures(const VULKAN_HPP_NAMESPACE::ValidationFeatureEnableEXT *pEnabledValidationFeatures_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceProtectedMemoryProperties VkPhysicalDeviceProtectedMemoryProperties
VULKAN_HPP_CONSTEXPR_14 CuModuleCreateInfoNVX & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::CommandBufferUsageFlags flags
struct VkMemoryGetFdInfoKHR VkMemoryGetFdInfoKHR
VULKAN_HPP_CONSTEXPR_14 DescriptorUpdateTemplateCreateInfo & setSet(uint32_t set_) VULKAN_HPP_NOEXCEPT
WriteDescriptorSetAccelerationStructureNV & operator=(VkWriteDescriptorSetAccelerationStructureNV const &rhs) VULKAN_HPP_NOEXCEPT
PipelineViewportExclusiveScissorStateCreateInfoNV & setExclusiveScissors(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Rect2D > const &exclusiveScissors_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR BindShaderGroupIndirectCommandNV(uint32_t groupIndex_={}) VULKAN_HPP_NOEXCEPT
GLint level
Definition: glcorearb.h:108
struct VkPhysicalDeviceRobustness2FeaturesEXT VkPhysicalDeviceRobustness2FeaturesEXT
bool operator==(DescriptorSetLayoutBindingFlagsCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRobustnessCreateInfoEXT & setVertexInputs(VULKAN_HPP_NAMESPACE::PipelineRobustnessBufferBehaviorEXT vertexInputs_) VULKAN_HPP_NOEXCEPT
bool operator!=(ExtensionProperties const &rhs) const VULKAN_HPP_NOEXCEPT
VertexInputBindingDivisorDescriptionEXT(VkVertexInputBindingDivisorDescriptionEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PerformanceCounterDescriptionKHR const &rhs) const VULKAN_HPP_NOEXCEPT
PipelineCreationFeedback(VkPipelineCreationFeedback const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceVulkan11Features const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DeviceGroupBindSparseInfo(uint32_t resourceDeviceIndex_={}, uint32_t memoryDeviceIndex_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
DebugMarkerObjectTagInfoEXT & operator=(DebugMarkerObjectTagInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_NAMESPACE::Bool32 shaderCullDistance
PhysicalDeviceFaultFeaturesEXT(VkPhysicalDeviceFaultFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
SampleLocationEXT(VkSampleLocationEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineCompilerControlCreateInfoAMD(VULKAN_HPP_NAMESPACE::PipelineCompilerControlFlagsAMD compilerControlFlags_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageCopy2 & setSrcSubresource(VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const &srcSubresource_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR BindImageMemoryDeviceGroupInfo(uint32_t deviceIndexCount_={}, const uint32_t *pDeviceIndices_={}, uint32_t splitInstanceBindRegionCount_={}, const VULKAN_HPP_NAMESPACE::Rect2D *pSplitInstanceBindRegions_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
BufferMemoryBarrier2(VkBufferMemoryBarrier2 const &rhs) VULKAN_HPP_NOEXCEPT
DescriptorPoolCreateInfo & operator=(DescriptorPoolCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR PipelineRasterizationLineStateCreateInfoEXT(VULKAN_HPP_NAMESPACE::LineRasterizationModeEXT lineRasterizationMode_=VULKAN_HPP_NAMESPACE::LineRasterizationModeEXT::eDefault, VULKAN_HPP_NAMESPACE::Bool32 stippledLineEnable_={}, uint32_t lineStippleFactor_={}, uint16_t lineStipplePattern_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
MemoryFdPropertiesKHR & operator=(VkMemoryFdPropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMeshShaderFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
DescriptorBufferBindingInfoEXT & operator=(DescriptorBufferBindingInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesOpacityMicromapEXT & setUsageCountsCount(uint32_t usageCountsCount_) VULKAN_HPP_NOEXCEPT
DisplayPresentInfoKHR(VkDisplayPresentInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceMemoryProperties & operator=(VkPhysicalDeviceMemoryProperties const &rhs) VULKAN_HPP_NOEXCEPT
RenderingFragmentShadingRateAttachmentInfoKHR(VkRenderingFragmentShadingRateAttachmentInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
struct VkSwapchainCreateInfoKHR VkSwapchainCreateInfoKHR
struct VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfo
bool operator!=(DebugUtilsObjectTagInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(ImageCaptureDescriptorDataInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePipelineCreationCacheControlFeatures & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR RenderPassCreationControlEXT(VULKAN_HPP_NAMESPACE::Bool32 disallowMerging_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
SubpassFragmentDensityMapOffsetEndInfoQCOM(VkSubpassFragmentDensityMapOffsetEndInfoQCOM const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageFormatInfo2 & setTiling(VULKAN_HPP_NAMESPACE::ImageTiling tiling_) VULKAN_HPP_NOEXCEPT
bool operator!=(BufferViewCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkMemoryRequirements VkMemoryRequirements
VULKAN_HPP_CONSTEXPR OpticalFlowSessionCreateInfoNV(uint32_t width_={}, uint32_t height_={}, VULKAN_HPP_NAMESPACE::Format imageFormat_=VULKAN_HPP_NAMESPACE::Format::eUndefined, VULKAN_HPP_NAMESPACE::Format flowVectorFormat_=VULKAN_HPP_NAMESPACE::Format::eUndefined, VULKAN_HPP_NAMESPACE::Format costFormat_=VULKAN_HPP_NAMESPACE::Format::eUndefined, VULKAN_HPP_NAMESPACE::OpticalFlowGridSizeFlagsNV outputGridSize_={}, VULKAN_HPP_NAMESPACE::OpticalFlowGridSizeFlagsNV hintGridSize_={}, VULKAN_HPP_NAMESPACE::OpticalFlowPerformanceLevelNV performanceLevel_=VULKAN_HPP_NAMESPACE::OpticalFlowPerformanceLevelNV::eUnknown, VULKAN_HPP_NAMESPACE::OpticalFlowSessionCreateFlagsNV flags_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 VertexInputAttributeDescription2EXT & setBinding(uint32_t binding_) VULKAN_HPP_NOEXCEPT
bool operator==(DrawIndexedIndirectCommand const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SamplerCaptureDescriptorDataInfoEXT(VULKAN_HPP_NAMESPACE::Sampler sampler_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDevicePresentIdFeaturesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VertexInputAttributeDescription & operator=(VkVertexInputAttributeDescription const &rhs) VULKAN_HPP_NOEXCEPT
struct VkOpticalFlowSessionCreateInfoNV VkOpticalFlowSessionCreateInfoNV
VULKAN_HPP_NAMESPACE::StructureType sType
bool operator!=(SubpassDescriptionDepthStencilResolve const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT(size_t combinedImageSamplerDensityMapDescriptorSize_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageViewSampleWeightCreateInfoQCOM & setFilterCenter(VULKAN_HPP_NAMESPACE::Offset2D const &filterCenter_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR RayTracingPipelineCreateInfoNV(VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags_={}, uint32_t stageCount_={}, const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo *pStages_={}, uint32_t groupCount_={}, const VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoNV *pGroups_={}, uint32_t maxRecursionDepth_={}, VULKAN_HPP_NAMESPACE::PipelineLayout layout_={}, VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle_={}, int32_t basePipelineIndex_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorSetLayoutBindingFlagsCreateInfo & setBindingCount(uint32_t bindingCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceOpacityMicromapFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 micromap_={}, VULKAN_HPP_NAMESPACE::Bool32 micromapCaptureReplay_={}, VULKAN_HPP_NAMESPACE::Bool32 micromapHostCommands_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR VkPhysicalDeviceFragmentShadingRatePropertiesKHR
CopyImageInfo2(VULKAN_HPP_NAMESPACE::Image srcImage_, VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout_, VULKAN_HPP_NAMESPACE::Image dstImage_, VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::ImageCopy2 > const &regions_, const void *pNext_=nullptr)
PhysicalDeviceVulkan12Properties(VkPhysicalDeviceVulkan12Properties const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceScalarBlockLayoutFeatures & operator=(VkPhysicalDeviceScalarBlockLayoutFeatures const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutCreateInfoNV(VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutUsageFlagsNV flags_={}, VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_=VULKAN_HPP_NAMESPACE::PipelineBindPoint::eGraphics, uint32_t tokenCount_={}, const VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutTokenNV *pTokens_={}, uint32_t streamCount_={}, const uint32_t *pStreamStrides_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool
AccelerationStructureGeometryMotionTrianglesDataNV & operator=(AccelerationStructureGeometryMotionTrianglesDataNV const &rhs) VULKAN_HPP_NOEXCEPT=default
AttachmentDescription2 & operator=(AttachmentDescription2 const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator!=(SparseImageFormatProperties const &rhs) const VULKAN_HPP_NOEXCEPT
Rect2D & operator=(VkRect2D const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 FenceCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
AccelerationStructureGeometryInstancesDataKHR(VkAccelerationStructureGeometryInstancesDataKHR const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(CopyMemoryIndirectCommandNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceMemoryDecompressionPropertiesNV(VULKAN_HPP_NAMESPACE::MemoryDecompressionMethodFlagsNV decompressionMethods_={}, uint64_t maxDecompressionIndirectCount_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageCompressionControlFeaturesEXT & setImageCompressionControl(VULKAN_HPP_NAMESPACE::Bool32 imageCompressionControl_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceGroupDeviceCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
VULKAN_HPP_CONSTEXPR_14 ConformanceVersion & setSubminor(uint8_t subminor_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SRTDataNV & setC(float c_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceShaderCoreProperties2AMD const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDevicePerformanceQueryPropertiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PerformanceValueDataINTEL & setValueFloat(float valueFloat_) VULKAN_HPP_NOEXCEPT
bool operator==(ImageViewCaptureDescriptorDataInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
DisplayProperties2KHR & operator=(VkDisplayProperties2KHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
VULKAN_HPP_CONSTEXPR_14 ClearRect & setLayerCount(uint32_t layerCount_) VULKAN_HPP_NOEXCEPT
bool operator==(ImageViewASTCDecodeModeEXT const &rhs) const VULKAN_HPP_NOEXCEPT
const VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures * pEnabledFeatures
CuLaunchInfoNVX & operator=(VkCuLaunchInfoNVX const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDevicePipelineRobustnessPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceVulkan12Features & operator=(VkPhysicalDeviceVulkan12Features const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 VertexInputBindingDivisorDescriptionEXT & setDivisor(uint32_t divisor_) VULKAN_HPP_NOEXCEPT
PresentInfoKHR(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Semaphore > const &waitSemaphores_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SwapchainKHR > const &swapchains_={}, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &imageIndices_={}, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< VULKAN_HPP_NAMESPACE::Result > const &results_={}, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRayTracingInvocationReorderFeaturesNV & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceDepthClipControlFeaturesEXT(VkPhysicalDeviceDepthClipControlFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
QueryPoolCreateInfo & operator=(VkQueryPoolCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
AccelerationStructureInfoNV(VULKAN_HPP_NAMESPACE::AccelerationStructureTypeNV type_, VULKAN_HPP_NAMESPACE::BuildAccelerationStructureFlagsNV flags_, uint32_t instanceCount_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::GeometryNV > const &geometries_, const void *pNext_=nullptr)
VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode
struct VkSubmitInfo VkSubmitInfo
bool operator==(PhysicalDeviceFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PipelineTessellationStateCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
FragmentShadingRateAttachmentInfoKHR(VkFragmentShadingRateAttachmentInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePipelineExecutablePropertiesFeaturesKHR & setPipelineExecutableInfo(VULKAN_HPP_NAMESPACE::Bool32 pipelineExecutableInfo_) VULKAN_HPP_NOEXCEPT
RenderPassMultiviewCreateInfo & setViewMasks(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &viewMasks_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan13Features & setShaderZeroInitializeWorkgroupMemory(VULKAN_HPP_NAMESPACE::Bool32 shaderZeroInitializeWorkgroupMemory_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR BindBufferMemoryDeviceGroupInfo(uint32_t deviceIndexCount_={}, const uint32_t *pDeviceIndices_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(AttachmentDescription2 const &rhs) const VULKAN_HPP_NOEXCEPT
AccelerationStructureTrianglesOpacityMicromapEXT(VkAccelerationStructureTrianglesOpacityMicromapEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 primitivesGeneratedQuery_={}, VULKAN_HPP_NAMESPACE::Bool32 primitivesGeneratedQueryWithRasterizerDiscard_={}, VULKAN_HPP_NAMESPACE::Bool32 primitivesGeneratedQueryWithNonZeroStreams_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceAddressBindingReportFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceImageDrmFormatModifierInfoEXT(uint64_t drmFormatModifier_={}, VULKAN_HPP_NAMESPACE::SharingMode sharingMode_=VULKAN_HPP_NAMESPACE::SharingMode::eExclusive, uint32_t queueFamilyIndexCount_={}, const uint32_t *pQueueFamilyIndices_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSeparateDepthStencilLayoutsFeatures & setSeparateDepthStencilLayouts(VULKAN_HPP_NAMESPACE::Bool32 separateDepthStencilLayouts_) VULKAN_HPP_NOEXCEPT
BindImageMemorySwapchainInfoKHR & operator=(BindImageMemorySwapchainInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT=default
PipelineViewportStateCreateInfo & setViewports(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Viewport > const &viewports_) VULKAN_HPP_NOEXCEPT
ValidationCacheCreateInfoEXT & setInitialData(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const T > const &initialData_) VULKAN_HPP_NOEXCEPT
BlitImageInfo2(VkBlitImageInfo2 const &rhs) VULKAN_HPP_NOEXCEPT
GLboolean GLboolean GLboolean GLboolean a
Definition: glcorearb.h:1222
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureInstanceKHR & setInstanceShaderBindingTableRecordOffset(uint32_t instanceShaderBindingTableRecordOffset_) VULKAN_HPP_NOEXCEPT
bool operator!=(SetStateFlagsIndirectCommandNV const &rhs) const VULKAN_HPP_NOEXCEPT
PipelineVertexInputDivisorStateCreateInfoEXT(VkPipelineVertexInputDivisorStateCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
AcquireNextImageInfoKHR & operator=(AcquireNextImageInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier2 & setSrcAccessMask(VULKAN_HPP_NAMESPACE::AccessFlags2 srcAccessMask_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setHostQueryReset(VULKAN_HPP_NAMESPACE::Bool32 hostQueryReset_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceShaderCoreProperties2AMD const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceCoverageReductionModeFeaturesNV(VULKAN_HPP_NAMESPACE::Bool32 coverageReductionMode_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(BindBufferMemoryInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(SamplerYcbcrConversionImageFormatProperties const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyImageToBufferInfo2 & setDstBuffer(VULKAN_HPP_NAMESPACE::Buffer dstBuffer_) VULKAN_HPP_NOEXCEPT
AccelerationStructureMatrixMotionInstanceNV & operator=(AccelerationStructureMatrixMotionInstanceNV const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR AttachmentSampleLocationsEXT(uint32_t attachmentIndex_={}, VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT sampleLocationsInfo_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationStateCreateInfo & setFlags(VULKAN_HPP_NAMESPACE::PipelineRasterizationStateCreateFlags flags_) VULKAN_HPP_NOEXCEPT
DescriptorUpdateTemplateCreateInfo(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateFlags flags_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateEntry > const &descriptorUpdateEntries_, VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateType templateType_=VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateType::eDescriptorSet, VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout_={}, VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_=VULKAN_HPP_NAMESPACE::PipelineBindPoint::eGraphics, VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout_={}, uint32_t set_={}, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR RayTracingShaderGroupCreateInfoKHR(VULKAN_HPP_NAMESPACE::RayTracingShaderGroupTypeKHR type_=VULKAN_HPP_NAMESPACE::RayTracingShaderGroupTypeKHR::eGeneral, uint32_t generalShader_={}, uint32_t closestHitShader_={}, uint32_t anyHitShader_={}, uint32_t intersectionShader_={}, const void *pShaderGroupCaptureReplayHandle_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExternalFenceInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DescriptorSetLayoutHostMappingInfoVALVE(size_t descriptorOffset_={}, uint32_t descriptorSize_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
DescriptorSetAllocateInfo & operator=(VkDescriptorSetAllocateInfo const &rhs) VULKAN_HPP_NOEXCEPT
DescriptorSetAllocateInfo(VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::DescriptorSetLayout > const &setLayouts_, const void *pNext_=nullptr)
bool operator!=(OpaqueCaptureDescriptorDataCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceGroupRenderPassBeginInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
BufferImageCopy & operator=(VkBufferImageCopy const &rhs) VULKAN_HPP_NOEXCEPT
RenderPassCreateInfo2 & setCorrelatedViewMasks(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &correlatedViewMasks_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorAddressInfoEXT & setAddress(VULKAN_HPP_NAMESPACE::DeviceAddress address_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DescriptorSet srcSet
VULKAN_HPP_CONSTEXPR_14 Extent3D & setDepth(uint32_t depth_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MicromapUsageEXT & setSubdivisionLevel(uint32_t subdivisionLevel_) VULKAN_HPP_NOEXCEPT
bool operator!=(SamplerCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugMarkerObjectTagInfoEXT & setTagSize(size_t tagSize_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD & operator=(VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR VkPhysicalDeviceRayTracingPipelineFeaturesKHR
VULKAN_HPP_NAMESPACE::StructureType sType
VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderAtomicInt64Features(VULKAN_HPP_NAMESPACE::Bool32 shaderBufferInt64Atomics_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderSharedInt64Atomics_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageCreateInfo & setQueueFamilyIndexCount(uint32_t queueFamilyIndexCount_) VULKAN_HPP_NOEXCEPT
struct VkDeviceDeviceMemoryReportCreateInfoEXT VkDeviceDeviceMemoryReportCreateInfoEXT
bool operator!=(QueueFamilyProperties const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ConditionalRenderingBeginInfoEXT & setFlags(VULKAN_HPP_NAMESPACE::ConditionalRenderingFlagsEXT flags_) VULKAN_HPP_NOEXCEPT
struct VkBufferCollectionImageCreateInfoFUCHSIA VkBufferCollectionImageCreateInfoFUCHSIA
VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceRenderPassTransformInfoQCOM & setRenderArea(VULKAN_HPP_NAMESPACE::Rect2D const &renderArea_) VULKAN_HPP_NOEXCEPT
struct VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolve
FenceCreateInfo & operator=(VkFenceCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
DebugMarkerObjectTagInfoEXT & setTag(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const T > const &tag_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DeviceImageMemoryRequirements(const VULKAN_HPP_NAMESPACE::ImageCreateInfo *pCreateInfo_={}, VULKAN_HPP_NAMESPACE::ImageAspectFlagBits planeAspect_=VULKAN_HPP_NAMESPACE::ImageAspectFlagBits::eColor, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(DeviceGroupPresentInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePipelinePropertiesFeaturesEXT & setPipelinePropertiesIdentifier(VULKAN_HPP_NAMESPACE::Bool32 pipelinePropertiesIdentifier_) VULKAN_HPP_NOEXCEPT
bool operator==(PipelineSampleLocationsStateCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SampleLocationsInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyDescriptorSet & setDstSet(VULKAN_HPP_NAMESPACE::DescriptorSet dstSet_) VULKAN_HPP_NOEXCEPT
MemoryAllocateFlagsInfo & operator=(VkMemoryAllocateFlagsInfo const &rhs) VULKAN_HPP_NOEXCEPT
DisplayModeParametersKHR(VkDisplayModeParametersKHR const &rhs) VULKAN_HPP_NOEXCEPT
ImageSubresourceRange(VkImageSubresourceRange const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::BlendOverlapEXT blendOverlap
bool operator!=(PresentInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkMetalSurfaceCreateInfoEXT VkMetalSurfaceCreateInfoEXT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setSampleRateShading(VULKAN_HPP_NAMESPACE::Bool32 sampleRateShading_) VULKAN_HPP_NOEXCEPT
bool operator==(PipelineInputAssemblyStateCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceFaultInfoEXT & setPAddressInfos(VULKAN_HPP_NAMESPACE::DeviceFaultAddressInfoEXT *pAddressInfos_) VULKAN_HPP_NOEXCEPT
FilterCubicImageViewImageFormatPropertiesEXT & operator=(VkFilterCubicImageViewImageFormatPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GeneratedCommandsInfoNV & setSequencesCount(uint32_t sequencesCount_) VULKAN_HPP_NOEXCEPT
DeviceImageMemoryRequirements(VkDeviceImageMemoryRequirements const &rhs) VULKAN_HPP_NOEXCEPT
struct VkBindVertexBufferIndirectCommandNV VkBindVertexBufferIndirectCommandNV
PipelineMultisampleStateCreateInfo & operator=(VkPipelineMultisampleStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
AttachmentReferenceStencilLayout(VkAttachmentReferenceStencilLayout const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMultiDrawFeaturesEXT & setMultiDraw(VULKAN_HPP_NAMESPACE::Bool32 multiDraw_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfo
bool operator==(PhysicalDeviceShaderIntegerDotProductProperties const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ShadingRatePaletteEntryNV shadingRate
bool operator!=(PhysicalDeviceOpacityMicromapFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(MemoryBarrier const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubpassDependency2 & setSrcStageMask(VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentShadingRateEnumsPropertiesNV(VULKAN_HPP_NAMESPACE::SampleCountFlagBits maxFragmentShadingRateInvocationCount_=VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceExternalSemaphoreInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setSparseBinding(VULKAN_HPP_NAMESPACE::Bool32 sparseBinding_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDevicePointClippingProperties(VULKAN_HPP_NAMESPACE::PointClippingBehavior pointClippingBehavior_=VULKAN_HPP_NAMESPACE::PointClippingBehavior::eAllClipPlanes, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineViewportWScalingStateCreateInfoNV & setViewportWScalingEnable(VULKAN_HPP_NAMESPACE::Bool32 viewportWScalingEnable_) VULKAN_HPP_NOEXCEPT
BindAccelerationStructureMemoryInfoNV(VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure_, VULKAN_HPP_NAMESPACE::DeviceMemory memory_, VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &deviceIndices_, const void *pNext_=nullptr)
struct VkExportMetalCommandQueueInfoEXT VkExportMetalCommandQueueInfoEXT
VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT & setPStorageImage(const VULKAN_HPP_NAMESPACE::DescriptorImageInfo *pStorageImage_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderIntegerDotProductProperties & operator=(VkPhysicalDeviceShaderIntegerDotProductProperties const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(ImageCompressionControlEXT const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceInheritedViewportScissorFeaturesNV & operator=(VkPhysicalDeviceInheritedViewportScissorFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
struct VkPipelineRasterizationStateRasterizationOrderAMD VkPipelineRasterizationStateRasterizationOrderAMD
struct VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfo
bool operator!=(PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
MemoryRequirements & operator=(VkMemoryRequirements const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureVersionInfoKHR & setPVersionData(const uint8_t *pVersionData_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
RayTracingShaderGroupCreateInfoNV & operator=(VkRayTracingShaderGroupCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
const VULKAN_HPP_NAMESPACE::BufferImageCopy2 * pRegions
VULKAN_HPP_CONSTEXPR_14 SemaphoreSignalInfo & setValue(uint64_t value_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceTimelineSemaphoreProperties const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(BufferCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT & setRasterizationOrderDepthAttachmentAccess(VULKAN_HPP_NAMESPACE::Bool32 rasterizationOrderDepthAttachmentAccess_) VULKAN_HPP_NOEXCEPT
bool operator!=(AccelerationStructureMotionInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
Extent3D & operator=(Extent3D const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 AabbPositionsKHR & setMinX(float minX_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceImageProcessingFeaturesQCOM(VULKAN_HPP_NAMESPACE::Bool32 textureSampleWeighted_={}, VULKAN_HPP_NAMESPACE::Bool32 textureBoxFilter_={}, VULKAN_HPP_NAMESPACE::Bool32 textureBlockMatch_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT VkPhysicalDeviceImageDrmFormatModifierInfoEXT
VULKAN_HPP_CONSTEXPR_14 GeometryTrianglesNV & setIndexCount(uint32_t indexCount_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
bool operator==(BlitImageInfo2 const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceProvokingVertexFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
ImageCompressionControlEXT(VULKAN_HPP_NAMESPACE::ImageCompressionFlagsEXT flags_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< VULKAN_HPP_NAMESPACE::ImageCompressionFixedRateFlagsEXT > const &fixedRateFlags_, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 ImageStencilUsageCreateInfo & setStencilUsage(VULKAN_HPP_NAMESPACE::ImageUsageFlags stencilUsage_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineDepthStencilStateCreateInfo & setMinDepthBounds(float minDepthBounds_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceSynchronization2Features(VkPhysicalDeviceSynchronization2Features const &rhs) VULKAN_HPP_NOEXCEPT
ExternalMemoryImageCreateInfoNV & operator=(VkExternalMemoryImageCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceCreateInfo & setPQueueCreateInfos(const VULKAN_HPP_NAMESPACE::DeviceQueueCreateInfo *pQueueCreateInfos_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 HdrMetadataEXT & setDisplayPrimaryBlue(VULKAN_HPP_NAMESPACE::XYColorEXT const &displayPrimaryBlue_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT messageType
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMemoryProperties(uint32_t memoryTypeCount_={}, std::array< VULKAN_HPP_NAMESPACE::MemoryType, VK_MAX_MEMORY_TYPES > const &memoryTypes_={}, uint32_t memoryHeapCount_={}, std::array< VULKAN_HPP_NAMESPACE::MemoryHeap, VK_MAX_MEMORY_HEAPS > const &memoryHeaps_={}) VULKAN_HPP_NOEXCEPT
struct VkPerformanceConfigurationAcquireInfoINTEL VkPerformanceConfigurationAcquireInfoINTEL
PhysicalDeviceShaderDrawParametersFeatures(VkPhysicalDeviceShaderDrawParametersFeatures const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(DirectDriverLoadingInfoLUNARG const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR AccelerationStructureSRTMotionInstanceNV(VULKAN_HPP_NAMESPACE::SRTDataNV transformT0_={}, VULKAN_HPP_NAMESPACE::SRTDataNV transformT1_={}, uint32_t instanceCustomIndex_={}, uint32_t mask_={}, uint32_t instanceShaderBindingTableRecordOffset_={}, VULKAN_HPP_NAMESPACE::GeometryInstanceFlagsKHR flags_={}, uint64_t accelerationStructureReference_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT & setPrimitiveTopologyListRestart(VULKAN_HPP_NAMESPACE::Bool32 primitiveTopologyListRestart_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DrawIndexedIndirectCommand & setFirstIndex(uint32_t firstIndex_) VULKAN_HPP_NOEXCEPT
bool operator==(SetStateFlagsIndirectCommandNV const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceRayTracingInvocationReorderFeaturesNV(VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
WriteDescriptorSetAccelerationStructureKHR & setAccelerationStructures(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR > const &accelerationStructures_) VULKAN_HPP_NOEXCEPT
struct VkDeviceCreateInfo VkDeviceCreateInfo
VULKAN_HPP_CONSTEXPR_14 ComputePipelineCreateInfo & setStage(VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo const &stage_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelinePropertiesIdentifierEXT & setPipelineIdentifier(std::array< uint8_t, VK_UUID_SIZE > pipelineIdentifier_) VULKAN_HPP_NOEXCEPT
struct VkBufferImageCopy2 VkBufferImageCopy2
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setDescriptorBindingStorageImageUpdateAfterBind(VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageImageUpdateAfterBind_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceRayTracingPipelineFeaturesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineFragmentShadingRateEnumStateCreateInfoNV & setCombinerOps(std::array< VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR, 2 > combinerOps_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorUpdateTemplateEntry & setStride(size_t stride_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceProperties2 & operator=(VkPhysicalDeviceProperties2 const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceDepthStencilResolveProperties const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(ExportSemaphoreCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR RayTracingPipelineInterfaceCreateInfoKHR(uint32_t maxPipelineRayPayloadSize_={}, uint32_t maxPipelineRayHitAttributeSize_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
QueueFamilyGlobalPriorityPropertiesKHR & operator=(VkQueueFamilyGlobalPriorityPropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
struct VkCooperativeMatrixPropertiesNV VkCooperativeMatrixPropertiesNV
RectLayerKHR(Rect2D const &rect2D, uint32_t layer_={})
VULKAN_HPP_NAMESPACE::ImageSubresourceLayers imageSubresource
struct VkAndroidHardwareBufferUsageANDROID VkAndroidHardwareBufferUsageANDROID
bool operator!=(PhysicalDeviceProtectedMemoryProperties const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DisplayPowerInfoEXT & setPowerState(VULKAN_HPP_NAMESPACE::DisplayPowerStateEXT powerState_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryTrianglesDataKHR & setIndexData(VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR const &indexData_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDevice8BitStorageFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPipelineDynamicStateCreateInfo VkPipelineDynamicStateCreateInfo
struct VkVideoDecodeH265DpbSlotInfoEXT VkVideoDecodeH265DpbSlotInfoEXT
VULKAN_HPP_CONSTEXPR_14 ValidationFeaturesEXT & setPDisabledValidationFeatures(const VULKAN_HPP_NAMESPACE::ValidationFeatureDisableEXT *pDisabledValidationFeatures_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PerformanceValueINTEL & setData(VULKAN_HPP_NAMESPACE::PerformanceValueDataINTEL const &data_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GeneratedCommandsInfoNV & setPreprocessSize(VULKAN_HPP_NAMESPACE::DeviceSize preprocessSize_) VULKAN_HPP_NOEXCEPT
BaseOutStructure & operator=(VkBaseOutStructure const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineShaderStageModuleIdentifierCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineMultisampleStateCreateInfo & setFlags(VULKAN_HPP_NAMESPACE::PipelineMultisampleStateCreateFlags flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RayTracingShaderGroupCreateInfoNV & setType(VULKAN_HPP_NAMESPACE::RayTracingShaderGroupTypeKHR type_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceSubpassMergeFeedbackFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Image srcImage
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExternalImageFormatInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(ValidationCacheCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setPipelineStatisticsQuery(VULKAN_HPP_NAMESPACE::Bool32 pipelineStatisticsQuery_) VULKAN_HPP_NOEXCEPT
AccelerationStructureTrianglesOpacityMicromapEXT & operator=(AccelerationStructureTrianglesOpacityMicromapEXT const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator!=(SurfaceFormatKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassCreateInfo & setSubpassCount(uint32_t subpassCount_) VULKAN_HPP_NOEXCEPT
RayTracingPipelineCreateInfoKHR & setStages(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo > const &stages_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceVulkan11Properties const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkWaylandSurfaceCreateInfoKHR VkWaylandSurfaceCreateInfoKHR
VULKAN_HPP_CONSTEXPR PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(VULKAN_HPP_NAMESPACE::Bool32 shaderZeroInitializeWorkgroupMemory_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceIndexTypeUint8FeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkDescriptorPoolCreateInfo VkDescriptorPoolCreateInfo
VULKAN_HPP_CONSTEXPR_14 ImageViewHandleInfoNVX & setImageView(VULKAN_HPP_NAMESPACE::ImageView imageView_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DecompressMemoryRegionNV & setDstAddress(VULKAN_HPP_NAMESPACE::DeviceAddress dstAddress_) VULKAN_HPP_NOEXCEPT
AttachmentReference2 & operator=(AttachmentReference2 const &rhs) VULKAN_HPP_NOEXCEPT=default
PhysicalDeviceSubpassShadingFeaturesHUAWEI & operator=(VkPhysicalDeviceSubpassShadingFeaturesHUAWEI const &rhs) VULKAN_HPP_NOEXCEPT
SemaphoreCreateInfo(VkSemaphoreCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
DisplaySurfaceCreateInfoKHR(VkDisplaySurfaceCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR PipelineDiscardRectangleStateCreateInfoEXT(VULKAN_HPP_NAMESPACE::PipelineDiscardRectangleStateCreateFlagsEXT flags_={}, VULKAN_HPP_NAMESPACE::DiscardRectangleModeEXT discardRectangleMode_=VULKAN_HPP_NAMESPACE::DiscardRectangleModeEXT::eInclusive, uint32_t discardRectangleCount_={}, const VULKAN_HPP_NAMESPACE::Rect2D *pDiscardRectangles_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(ImportMemoryFdInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
SubmitInfo2 & setWaitSemaphoreInfos(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SemaphoreSubmitInfo > const &waitSemaphoreInfos_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ConformanceVersion & setMinor(uint8_t minor_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryAabbsDataKHR(VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR data_={}, VULKAN_HPP_NAMESPACE::DeviceSize stride_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
RenderPassInputAttachmentAspectCreateInfo & operator=(VkRenderPassInputAttachmentAspectCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPipelineVertexInputDivisorStateCreateInfoEXT VkPipelineVertexInputDivisorStateCreateInfoEXT
VULKAN_HPP_CONSTEXPR PhysicalDeviceCustomBorderColorFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 customBorderColors_={}, VULKAN_HPP_NAMESPACE::Bool32 customBorderColorWithoutFormat_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkImportMemoryBufferCollectionFUCHSIA VkImportMemoryBufferCollectionFUCHSIA
struct VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupport
bool operator!=(PerformanceConfigurationAcquireInfoINTEL const &rhs) const VULKAN_HPP_NOEXCEPT
ExportMemoryAllocateInfoNV(VkExportMemoryAllocateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
IMATH_HOSTDEVICE constexpr bool equal(T1 a, T2 b, T3 t) IMATH_NOEXCEPT
Definition: ImathFun.h:105
VULKAN_HPP_CONSTEXPR_14 RenderingAttachmentInfo & setImageLayout(VULKAN_HPP_NAMESPACE::ImageLayout imageLayout_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR CopyAccelerationStructureInfoKHR(VULKAN_HPP_NAMESPACE::AccelerationStructureKHR src_={}, VULKAN_HPP_NAMESPACE::AccelerationStructureKHR dst_={}, VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode_=VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR::eClone, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceDrmPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ImageLayout oldLayout
VULKAN_HPP_CONSTEXPR_14 PipelineDiscardRectangleStateCreateInfoEXT & setDiscardRectangleCount(uint32_t discardRectangleCount_) VULKAN_HPP_NOEXCEPT
LayerProperties & operator=(VkLayerProperties const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SparseBufferMemoryBindInfo(VULKAN_HPP_NAMESPACE::Buffer buffer_={}, uint32_t bindCount_={}, const VULKAN_HPP_NAMESPACE::SparseMemoryBind *pBinds_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SwapchainCreateInfoKHR & setPreTransform(VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR preTransform_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverProperties
VULKAN_HPP_CONSTEXPR_14 PipelineColorBlendAdvancedStateCreateInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageDrmFormatModifierInfoEXT & setQueueFamilyIndexCount(uint32_t queueFamilyIndexCount_) VULKAN_HPP_NOEXCEPT
DescriptorSetAllocateInfo(VkDescriptorSetAllocateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryTrianglesDataKHR & setVertexStride(VULKAN_HPP_NAMESPACE::DeviceSize vertexStride_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setSparseResidencyImage3D(VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyImage3D_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureInstanceKHR(VULKAN_HPP_NAMESPACE::TransformMatrixKHR transform_={}, uint32_t instanceCustomIndex_={}, uint32_t mask_={}, uint32_t instanceShaderBindingTableRecordOffset_={}, VULKAN_HPP_NAMESPACE::GeometryInstanceFlagsKHR flags_={}, uint64_t accelerationStructureReference_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMemoryProperties2(VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties memoryProperties_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::AttachmentLoadOp loadOp
PhysicalDeviceVariablePointersFeatures(VkPhysicalDeviceVariablePointersFeatures const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceFeatures & operator=(VkPhysicalDeviceFeatures const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentShadingRateEnumsFeaturesNV & setNoInvocationFragmentShadingRates(VULKAN_HPP_NAMESPACE::Bool32 noInvocationFragmentShadingRates_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorIndexingFeatures & setDescriptorBindingStorageImageUpdateAfterBind(VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageImageUpdateAfterBind_) VULKAN_HPP_NOEXCEPT
WriteDescriptorSetAccelerationStructureKHR(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR > const &accelerationStructures_, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR PhysicalDeviceBlendOperationAdvancedFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 advancedBlendCoherentOperations_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR GraphicsPipelineShaderGroupsCreateInfoNV(uint32_t groupCount_={}, const VULKAN_HPP_NAMESPACE::GraphicsShaderGroupCreateInfoNV *pGroups_={}, uint32_t pipelineCount_={}, const VULKAN_HPP_NAMESPACE::Pipeline *pPipelines_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
DisplayPlaneCapabilities2KHR & operator=(VkDisplayPlaneCapabilities2KHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceYcbcrImageArraysFeaturesEXT & setYcbcrImageArrays(VULKAN_HPP_NAMESPACE::Bool32 ycbcrImageArrays_) VULKAN_HPP_NOEXCEPT
struct VkImportSemaphoreWin32HandleInfoKHR VkImportSemaphoreWin32HandleInfoKHR
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildSizesInfoKHR & setUpdateScratchSize(VULKAN_HPP_NAMESPACE::DeviceSize updateScratchSize_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM & setMultiviewPerViewViewports(VULKAN_HPP_NAMESPACE::Bool32 multiviewPerViewViewports_) VULKAN_HPP_NOEXCEPT
DrmFormatModifierPropertiesListEXT & operator=(VkDrmFormatModifierPropertiesListEXT const &rhs) VULKAN_HPP_NOEXCEPT
DebugMarkerObjectNameInfoEXT & operator=(DebugMarkerObjectNameInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setSparseResidency8Samples(VULKAN_HPP_NAMESPACE::Bool32 sparseResidency8Samples_) VULKAN_HPP_NOEXCEPT
PipelineShaderStageCreateInfo & operator=(VkPipelineShaderStageCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceRepresentativeFragmentTestFeaturesNV(VULKAN_HPP_NAMESPACE::Bool32 representativeFragmentTest_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DirectDriverLoadingInfoLUNARG & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(ShaderStatisticsInfoAMD const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImagelessFramebufferFeatures & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImage2DViewOf3DFeaturesEXT & setImage2DViewOf3D(VULKAN_HPP_NAMESPACE::Bool32 image2DViewOf3D_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineExecutableInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceLegacyDitheringFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceCustomBorderColorPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyAliased
VULKAN_HPP_CONSTEXPR MemoryFdPropertiesKHR(uint32_t memoryTypeBits_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PipelineViewportExclusiveScissorStateCreateInfoNV(VkPipelineViewportExclusiveScissorStateCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineFragmentShadingRateStateCreateInfoKHR(VULKAN_HPP_NAMESPACE::Extent2D fragmentSize_={}, std::array< VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR, 2 > const &combinerOps_={{VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR::eKeep, VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR::eKeep}}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkStencilOpState VkStencilOpState
QueryPoolPerformanceQueryCreateInfoINTEL(VkQueryPoolPerformanceQueryCreateInfoINTEL const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceBorderColorSwizzleFeaturesEXT & operator=(VkPhysicalDeviceBorderColorSwizzleFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PresentRegionsKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
bool operator!=(PhysicalDeviceDriverProperties const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MappedMemoryRange & setSize(VULKAN_HPP_NAMESPACE::DeviceSize size_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorSetLayoutHostMappingInfoVALVE & setDescriptorSize(uint32_t descriptorSize_) VULKAN_HPP_NOEXCEPT
const VULKAN_HPP_NAMESPACE::GeometryNV * pGeometries
**But if you need a or simply need to know when the task has note that the like this
Definition: thread.h:617
AccelerationStructureInstanceKHR & setFlags(VULKAN_HPP_NAMESPACE::GeometryInstanceFlagsKHR flags_) VULKAN_HPP_NOEXCEPT
CommandBufferAllocateInfo & operator=(CommandBufferAllocateInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
const VkDescriptorImageInfo * pStorageImage
VULKAN_HPP_CONSTEXPR PipelineViewportExclusiveScissorStateCreateInfoNV(uint32_t exclusiveScissorCount_={}, const VULKAN_HPP_NAMESPACE::Rect2D *pExclusiveScissors_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ImageResolve(VULKAN_HPP_NAMESPACE::ImageSubresourceLayers srcSubresource_={}, VULKAN_HPP_NAMESPACE::Offset3D srcOffset_={}, VULKAN_HPP_NAMESPACE::ImageSubresourceLayers dstSubresource_={}, VULKAN_HPP_NAMESPACE::Offset3D dstOffset_={}, VULKAN_HPP_NAMESPACE::Extent3D extent_={}) VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineRasterizationStateStreamCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(ConditionalRenderingBeginInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ImageSubresourceLayers imageSubresource
VULKAN_HPP_CONSTEXPR SubpassEndInfo(const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(MultiDrawInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(DescriptorSetLayoutBinding const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceSamplerFilterMinmaxProperties(VkPhysicalDeviceSamplerFilterMinmaxProperties const &rhs) VULKAN_HPP_NOEXCEPT
DisplayPlaneCapabilitiesKHR & operator=(VkDisplayPlaneCapabilitiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageViewCaptureDescriptorDataInfoEXT & setImageView(VULKAN_HPP_NAMESPACE::ImageView imageView_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DisplaySurfaceCreateInfoKHR & setPlaneStackIndex(uint32_t planeStackIndex_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SRTDataNV & setQz(float qz_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AllocationCallbacks & setPfnAllocation(PFN_vkAllocationFunction pfnAllocation_) VULKAN_HPP_NOEXCEPT
DescriptorSetBindingReferenceVALVE & operator=(DescriptorSetBindingReferenceVALVE const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDepthClampZeroOneFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
DescriptorImageInfo & operator=(DescriptorImageInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
MemoryFdPropertiesKHR(VkMemoryFdPropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkanMemoryModelFeatures & setVulkanMemoryModel(VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModel_) VULKAN_HPP_NOEXCEPT
MicromapBuildSizesInfoEXT(VkMicromapBuildSizesInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkOpticalFlowImageFormatPropertiesNV VkOpticalFlowImageFormatPropertiesNV
DebugUtilsMessengerCallbackDataEXT & operator=(VkDebugUtilsMessengerCallbackDataEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState3FeaturesEXT & setExtendedDynamicState3ColorBlendEnable(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ColorBlendEnable_) VULKAN_HPP_NOEXCEPT
GLenum GLenum GLsizei void * image
Definition: glad.h:5132
VULKAN_HPP_NAMESPACE::BlendFactor srcColorBlendFactor
VULKAN_HPP_CONSTEXPR_14 RenderingInfo & setViewMask(uint32_t viewMask_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ImageViewASTCDecodeModeEXT(VULKAN_HPP_NAMESPACE::Format decodeMode_=VULKAN_HPP_NAMESPACE::Format::eUndefined, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(ImageFormatProperties2 const &rhs) const VULKAN_HPP_NOEXCEPT
ImageBlit(VkImageBlit const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceSubgroupSizeControlProperties & operator=(VkPhysicalDeviceSubgroupSizeControlProperties const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
DeviceGroupPresentInfoKHR(VkDeviceGroupPresentInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugUtilsObjectTagInfoEXT & setTagSize(size_t tagSize_) VULKAN_HPP_NOEXCEPT
ClearRect & operator=(ClearRect const &rhs) VULKAN_HPP_NOEXCEPT=default
GLint y
Definition: glcorearb.h:103
VULKAN_HPP_CONSTEXPR_14 ResolveImageInfo2 & setSrcImage(VULKAN_HPP_NAMESPACE::Image srcImage_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR AttachmentSampleCountInfoAMD(uint32_t colorAttachmentCount_={}, const VULKAN_HPP_NAMESPACE::SampleCountFlagBits *pColorAttachmentSamples_={}, VULKAN_HPP_NAMESPACE::SampleCountFlagBits depthStencilAttachmentSamples_=VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
AccelerationStructureMotionInfoNV & operator=(AccelerationStructureMotionInfoNV const &rhs) VULKAN_HPP_NOEXCEPT=default
struct VkCommandBufferInheritanceRenderingInfo VkCommandBufferInheritanceRenderingInfo
VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsTypeNV type
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMotionInfoNV & setMaxInstances(uint32_t maxInstances_) VULKAN_HPP_NOEXCEPT
bool operator==(SubpassDependency2 const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceColorWriteEnableFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(TransformMatrixKHR const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(ExternalImageFormatProperties const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineColorBlendStateCreateInfo & setAttachmentCount(uint32_t attachmentCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MicromapCreateInfoEXT & setOffset(VULKAN_HPP_NAMESPACE::DeviceSize offset_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceShaderAtomicFloat2FeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceProvokingVertexFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
VULKAN_HPP_CONSTEXPR_14 IndirectCommandsLayoutCreateInfoNV & setPStreamStrides(const uint32_t *pStreamStrides_) VULKAN_HPP_NOEXCEPT
CuLaunchInfoNVX & setParams(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const void *const > const &params_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD
GraphicsPipelineShaderGroupsCreateInfoNV & setPipelines(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Pipeline > const &pipelines_) VULKAN_HPP_NOEXCEPT
bool operator==(QueueFamilyProperties const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceOpacityMicromapPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
AccelerationStructureInfoNV & operator=(AccelerationStructureInfoNV const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator==(PhysicalDeviceImageRobustnessFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceConservativeRasterizationPropertiesEXT(float primitiveOverestimationSize_={}, float maxExtraPrimitiveOverestimationSize_={}, float extraPrimitiveOverestimationSizeGranularity_={}, VULKAN_HPP_NAMESPACE::Bool32 primitiveUnderestimation_={}, VULKAN_HPP_NAMESPACE::Bool32 conservativePointAndLineRasterization_={}, VULKAN_HPP_NAMESPACE::Bool32 degenerateTrianglesRasterized_={}, VULKAN_HPP_NAMESPACE::Bool32 degenerateLinesRasterized_={}, VULKAN_HPP_NAMESPACE::Bool32 fullyCoveredFragmentShaderInputVariable_={}, VULKAN_HPP_NAMESPACE::Bool32 conservativeRasterizationPostDepthCoverage_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
ExternalMemoryBufferCreateInfo(VkExternalMemoryBufferCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
PresentInfoKHR & operator=(VkPresentInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceSubpassMergeFeedbackFeaturesEXT(VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkAccelerationStructureSRTMotionInstanceNV VkAccelerationStructureSRTMotionInstanceNV
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVertexAttributeDivisorFeaturesEXT & setVertexAttributeInstanceRateDivisor(VULKAN_HPP_NAMESPACE::Bool32 vertexAttributeInstanceRateDivisor_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceExtendedDynamicState2FeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureDeviceAddressInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineDiscardRectangleStateCreateInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorSetAllocateInfo & setDescriptorSetCount(uint32_t descriptorSetCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineCacheHeaderVersionOne & setHeaderVersion(VULKAN_HPP_NAMESPACE::PipelineCacheHeaderVersion headerVersion_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugMarkerObjectNameInfoEXT & setObject(uint64_t object_) VULKAN_HPP_NOEXCEPT
struct VkRenderPassBeginInfo VkRenderPassBeginInfo
DependencyInfo & setBufferMemoryBarriers(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier2 > const &bufferMemoryBarriers_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeatures
GeometryNV(VkGeometryNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR CheckpointDataNV(VULKAN_HPP_NAMESPACE::PipelineStageFlagBits stage_=VULKAN_HPP_NAMESPACE::PipelineStageFlagBits::eTopOfPipe, void *pCheckpointMarker_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSamplerYcbcrConversionFeatures & setSamplerYcbcrConversion(VULKAN_HPP_NAMESPACE::Bool32 samplerYcbcrConversion_) VULKAN_HPP_NOEXCEPT
DrmFormatModifierProperties2EXT(VkDrmFormatModifierProperties2EXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(DedicatedAllocationBufferCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
DeviceGroupCommandBufferBeginInfo(VkDeviceGroupCommandBufferBeginInfo const &rhs) VULKAN_HPP_NOEXCEPT
CommandBufferInheritanceRenderingInfo(VULKAN_HPP_NAMESPACE::RenderingFlags flags_, uint32_t viewMask_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Format > const &colorAttachmentFormats_, VULKAN_HPP_NAMESPACE::Format depthAttachmentFormat_=VULKAN_HPP_NAMESPACE::Format::eUndefined, VULKAN_HPP_NAMESPACE::Format stencilAttachmentFormat_=VULKAN_HPP_NAMESPACE::Format::eUndefined, VULKAN_HPP_NAMESPACE::SampleCountFlagBits rasterizationSamples_=VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1, const void *pNext_=nullptr)
PhysicalDeviceDescriptorBufferPropertiesEXT(VkPhysicalDeviceDescriptorBufferPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRGBA10X6FormatsFeaturesEXT & setFormatRgba10x6WithoutYCbCrSampler(VULKAN_HPP_NAMESPACE::Bool32 formatRgba10x6WithoutYCbCrSampler_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceOrHostAddressConstKHR & setDeviceAddress(VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceOpticalFlowPropertiesNV const &rhs) const VULKAN_HPP_NOEXCEPT
SubpassDependency(VkSubpassDependency const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceNonSeamlessCubeMapFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 nonSeamlessCubeMap_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
const VULKAN_HPP_NAMESPACE::BufferCreateInfo * pCreateInfo
VULKAN_HPP_CONSTEXPR ClearDepthStencilValue(float depth_={}, uint32_t stencil_={}) VULKAN_HPP_NOEXCEPT
AccelerationStructureGeometryKHR(VkAccelerationStructureGeometryKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ImageDrmFormatModifierListCreateInfoEXT(uint32_t drmFormatModifierCount_={}, const uint64_t *pDrmFormatModifiers_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineViewportCoarseSampleOrderStateCreateInfoNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BindShaderGroupIndirectCommandNV & setGroupIndex(uint32_t groupIndex_) VULKAN_HPP_NOEXCEPT
bool operator==(MemoryGetRemoteAddressInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Offset3D imageOffset
bool operator==(ExternalMemoryImageCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferImageCopy2 & setBufferImageHeight(uint32_t bufferImageHeight_) VULKAN_HPP_NOEXCEPT
PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT(VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMatrixMotionInstanceNV & setTransformT1(VULKAN_HPP_NAMESPACE::TransformMatrixKHR const &transformT1_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderAtomicFloat2FeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat16Atomics_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat16AtomicAdd_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat16AtomicMinMax_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat32AtomicMinMax_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat64AtomicMinMax_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat16Atomics_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat16AtomicAdd_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat16AtomicMinMax_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat32AtomicMinMax_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat64AtomicMinMax_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderImageFloat32AtomicMinMax_={}, VULKAN_HPP_NAMESPACE::Bool32 sparseImageFloat32AtomicMinMax_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PhysicalDeviceFragmentShadingRatePropertiesKHR & operator=(VkPhysicalDeviceFragmentShadingRatePropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryDataKHR(VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryAabbsDataKHR aabbs_)
VULKAN_HPP_CONSTEXPR DedicatedAllocationMemoryAllocateInfoNV(VULKAN_HPP_NAMESPACE::Image image_={}, VULKAN_HPP_NAMESPACE::Buffer buffer_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 IndirectCommandsStreamNV & setOffset(VULKAN_HPP_NAMESPACE::DeviceSize offset_) VULKAN_HPP_NOEXCEPT
FramebufferCreateInfo(VkFramebufferCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
struct VkEventCreateInfo VkEventCreateInfo
struct VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfo
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
bool operator==(GraphicsPipelineShaderGroupsCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ClearAttachment & setClearValue(VULKAN_HPP_NAMESPACE::ClearValue const &clearValue_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ImageLayout initialLayout
VULKAN_HPP_CONSTEXPR_14 SubmitInfo2 & setFlags(VULKAN_HPP_NAMESPACE::SubmitFlags flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DescriptorBufferInfo(VULKAN_HPP_NAMESPACE::Buffer buffer_={}, VULKAN_HPP_NAMESPACE::DeviceSize offset_={}, VULKAN_HPP_NAMESPACE::DeviceSize range_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DedicatedAllocationMemoryAllocateInfoNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceCoherentMemoryFeaturesAMD VkPhysicalDeviceCoherentMemoryFeaturesAMD
DescriptorBufferBindingPushDescriptorBufferHandleEXT & operator=(VkDescriptorBufferBindingPushDescriptorBufferHandleEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceSubpassShadingFeaturesHUAWEI(VULKAN_HPP_NAMESPACE::Bool32 subpassShading_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
HeadlessSurfaceCreateInfoEXT & operator=(VkHeadlessSurfaceCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VkFlags VkGeometryInstanceFlagsKHR
VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentShaderBarycentricFeaturesKHR(VULKAN_HPP_NAMESPACE::Bool32 fragmentShaderBarycentric_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR VertexInputAttributeDescription2EXT(uint32_t location_={}, uint32_t binding_={}, VULKAN_HPP_NAMESPACE::Format format_=VULKAN_HPP_NAMESPACE::Format::eUndefined, uint32_t offset_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkDescriptorBufferBindingInfoEXT VkDescriptorBufferBindingInfoEXT
VULKAN_HPP_CONSTEXPR_14 Viewport & setWidth(float width_) VULKAN_HPP_NOEXCEPT
bool empty() const VULKAN_HPP_NOEXCEPT
Definition: vulkan.hpp:830
VULKAN_HPP_CONSTEXPR_14 RenderingInfo & setRenderArea(VULKAN_HPP_NAMESPACE::Rect2D const &renderArea_) VULKAN_HPP_NOEXCEPT
bool operator!=(PerformanceMarkerInfoINTEL const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(VertexInputBindingDescription2EXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(SparseImageMemoryBindInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCallbackDataFlagsEXT flags
bool operator!=(CommandBufferInheritanceViewportScissorInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceTransformFeedbackFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ApplicationInfo & setApiVersion(uint32_t apiVersion_) VULKAN_HPP_NOEXCEPT
PipelineDiscardRectangleStateCreateInfoEXT & operator=(VkPipelineDiscardRectangleStateCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceProvokingVertexFeaturesEXT & operator=(VkPhysicalDeviceProvokingVertexFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderAtomicFloat2FeaturesEXT & setShaderSharedFloat32AtomicMinMax(VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat32AtomicMinMax_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceAccelerationStructureFeaturesKHR & setAccelerationStructure(VULKAN_HPP_NAMESPACE::Bool32 accelerationStructure_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceCreateInfo & setPEnabledFeatures(const VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures *pEnabledFeatures_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRayTracingPipelineFeaturesKHR & setRayTraversalPrimitiveCulling(VULKAN_HPP_NAMESPACE::Bool32 rayTraversalPrimitiveCulling_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceProperties(uint32_t apiVersion_={}, uint32_t driverVersion_={}, uint32_t vendorID_={}, uint32_t deviceID_={}, VULKAN_HPP_NAMESPACE::PhysicalDeviceType deviceType_=VULKAN_HPP_NAMESPACE::PhysicalDeviceType::eOther, std::array< char, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE > const &deviceName_={}, std::array< uint8_t, VK_UUID_SIZE > const &pipelineCacheUUID_={}, VULKAN_HPP_NAMESPACE::PhysicalDeviceLimits limits_={}, VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseProperties sparseProperties_={}) VULKAN_HPP_NOEXCEPT
bool operator!=(DeviceGroupSwapchainCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DependencyInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR GeometryNV(VULKAN_HPP_NAMESPACE::GeometryTypeKHR geometryType_=VULKAN_HPP_NAMESPACE::GeometryTypeKHR::eTriangles, VULKAN_HPP_NAMESPACE::GeometryDataNV geometry_={}, VULKAN_HPP_NAMESPACE::GeometryFlagsKHR flags_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildGeometryInfoKHR & setPpGeometries(const VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryKHR *const *ppGeometries_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceCoverageReductionModeFeaturesNV VkPhysicalDeviceCoverageReductionModeFeaturesNV
bool operator!=(PresentIdKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyAccelerationStructureToMemoryInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PerformanceStreamMarkerInfoINTEL & setMarker(uint32_t marker_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GraphicsPipelineCreateInfo & setPColorBlendState(const VULKAN_HPP_NAMESPACE::PipelineColorBlendStateCreateInfo *pColorBlendState_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 InstanceCreateInfo & setFlags(VULKAN_HPP_NAMESPACE::InstanceCreateFlags flags_) VULKAN_HPP_NOEXCEPT
CommandBufferInheritanceInfo & operator=(CommandBufferInheritanceInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
PipelineViewportSwizzleStateCreateInfoNV(VULKAN_HPP_NAMESPACE::PipelineViewportSwizzleStateCreateFlagsNV flags_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::ViewportSwizzleNV > const &viewportSwizzles_, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState3FeaturesEXT & setExtendedDynamicState3ColorWriteMask(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ColorWriteMask_) VULKAN_HPP_NOEXCEPT
SpecializationInfo & operator=(SpecializationInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator==(ImageViewHandleInfoNVX const &rhs) const VULKAN_HPP_NOEXCEPT
ImportFenceFdInfoKHR(VkImportFenceFdInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
ImageResolve & operator=(VkImageResolve const &rhs) VULKAN_HPP_NOEXCEPT
struct VkSemaphoreGetFdInfoKHR VkSemaphoreGetFdInfoKHR
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures2 & setFeatures(VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures const &features_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ClearColorValue(const std::array< int32_t, 4 > &int32_)
VULKAN_HPP_CONSTEXPR_14 RenderPassCreateInfo & setFlags(VULKAN_HPP_NAMESPACE::RenderPassCreateFlags flags_) VULKAN_HPP_NOEXCEPT
SurfaceProtectedCapabilitiesKHR & operator=(VkSurfaceProtectedCapabilitiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DescriptorSetLayoutCreateInfo(VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateFlags flags_={}, uint32_t bindingCount_={}, const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutBinding *pBindings_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GeometryNV & setGeometryType(VULKAN_HPP_NAMESPACE::GeometryTypeKHR geometryType_) VULKAN_HPP_NOEXCEPT
bool operator==(AccelerationStructureDeviceAddressInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DrawMeshTasksIndirectCommandEXT & setGroupCountZ(uint32_t groupCountZ_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DisplayPresentInfoKHR & setPersistent(VULKAN_HPP_NAMESPACE::Bool32 persistent_) VULKAN_HPP_NOEXCEPT
PresentRegionKHR & setRectangles(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::RectLayerKHR > const &rectangles_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyMicromapToMemoryInfoEXT & setSrc(VULKAN_HPP_NAMESPACE::MicromapEXT src_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationLineStateCreateInfoEXT & setLineStippleFactor(uint32_t lineStippleFactor_) VULKAN_HPP_NOEXCEPT
PipelineCoverageReductionStateCreateInfoNV & operator=(VkPipelineCoverageReductionStateCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDepthClipEnableFeaturesEXT & setDepthClipEnable(VULKAN_HPP_NAMESPACE::Bool32 depthClipEnable_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DeviceGroupSwapchainCreateInfoKHR(VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR modes_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkDedicatedAllocationImageCreateInfoNV VkDedicatedAllocationImageCreateInfoNV
struct VkAndroidHardwareBufferFormatProperties2ANDROID VkAndroidHardwareBufferFormatProperties2ANDROID
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDriverProperties(VULKAN_HPP_NAMESPACE::DriverId driverID_=VULKAN_HPP_NAMESPACE::DriverId::eAmdProprietary, std::array< char, VK_MAX_DRIVER_NAME_SIZE > const &driverName_={}, std::array< char, VK_MAX_DRIVER_INFO_SIZE > const &driverInfo_={}, VULKAN_HPP_NAMESPACE::ConformanceVersion conformanceVersion_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RayTracingPipelineCreateInfoKHR & setPLibraryInfo(const VULKAN_HPP_NAMESPACE::PipelineLibraryCreateInfoKHR *pLibraryInfo_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceBlendOperationAdvancedPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkDeviceGroupSwapchainCreateInfoKHR VkDeviceGroupSwapchainCreateInfoKHR
VULKAN_HPP_CONSTEXPR ImageViewCaptureDescriptorDataInfoEXT(VULKAN_HPP_NAMESPACE::ImageView imageView_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
SamplerYcbcrConversionInfo & operator=(VkSamplerYcbcrConversionInfo const &rhs) VULKAN_HPP_NOEXCEPT
DisplayPowerInfoEXT & operator=(VkDisplayPowerInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PerformanceCounterKHR(VULKAN_HPP_NAMESPACE::PerformanceCounterUnitKHR unit_=VULKAN_HPP_NAMESPACE::PerformanceCounterUnitKHR::eGeneric, VULKAN_HPP_NAMESPACE::PerformanceCounterScopeKHR scope_=VULKAN_HPP_NAMESPACE::PerformanceCounterScopeKHR::eCommandBuffer, VULKAN_HPP_NAMESPACE::PerformanceCounterStorageKHR storage_=VULKAN_HPP_NAMESPACE::PerformanceCounterStorageKHR::eInt32, std::array< uint8_t, VK_UUID_SIZE > const &uuid_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
FormatProperties(VkFormatProperties const &rhs) VULKAN_HPP_NOEXCEPT
PipelineDiscardRectangleStateCreateInfoEXT(VULKAN_HPP_NAMESPACE::PipelineDiscardRectangleStateCreateFlagsEXT flags_, VULKAN_HPP_NAMESPACE::DiscardRectangleModeEXT discardRectangleMode_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Rect2D > const &discardRectangles_, const void *pNext_=nullptr)
PhysicalDeviceCooperativeMatrixFeaturesNV & operator=(VkPhysicalDeviceCooperativeMatrixFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 Extent3D & setWidth(uint32_t width_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 VertexInputAttributeDescription2EXT & setFormat(VULKAN_HPP_NAMESPACE::Format format_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineExecutableStatisticValueKHR(double f64_)
PhysicalDevicePresentBarrierFeaturesNV(VkPhysicalDevicePresentBarrierFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceTilePropertiesFeaturesQCOM(VULKAN_HPP_NAMESPACE::Bool32 tileProperties_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderClockFeaturesKHR(VkPhysicalDeviceShaderClockFeaturesKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 TransformMatrixKHR(std::array< std::array< float, 4 >, 3 > const &matrix_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR TilePropertiesQCOM(VULKAN_HPP_NAMESPACE::Extent3D tileSize_={}, VULKAN_HPP_NAMESPACE::Extent2D apronSize_={}, VULKAN_HPP_NAMESPACE::Offset2D origin_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageViewHandleInfoNVX & setSampler(VULKAN_HPP_NAMESPACE::Sampler sampler_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceOrHostAddressKHR & setDeviceAddress(VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDeviceGeneratedCommandsFeaturesNV & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AttachmentReference2 & setLayout(VULKAN_HPP_NAMESPACE::ImageLayout layout_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceFragmentDensityMap2FeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesOpacityMicromapEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(CopyBufferInfo2 const &rhs) const VULKAN_HPP_NOEXCEPT
CopyBufferInfo2 & operator=(VkCopyBufferInfo2 const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(ImageMemoryBarrier2 const &rhs) const VULKAN_HPP_NOEXCEPT
Extent3D & operator=(VkExtent3D const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 TraceRaysIndirectCommand2KHR & setMissShaderBindingTableStride(VULKAN_HPP_NAMESPACE::DeviceSize missShaderBindingTableStride_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT VkPhysicalDeviceDeviceMemoryReportFeaturesEXT
VULKAN_HPP_CONSTEXPR_14 DeviceEventInfoEXT & setDeviceEvent(VULKAN_HPP_NAMESPACE::DeviceEventTypeEXT deviceEvent_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT & setGraphicsPipelineLibrary(VULKAN_HPP_NAMESPACE::Bool32 graphicsPipelineLibrary_) VULKAN_HPP_NOEXCEPT
bool operator!=(Offset3D const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageCopy & setSrcSubresource(VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const &srcSubresource_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineShaderStageCreateInfo & setPSpecializationInfo(const VULKAN_HPP_NAMESPACE::SpecializationInfo *pSpecializationInfo_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::PipelineStageFlags2 dstStageMask
VULKAN_HPP_CONSTEXPR_14 GraphicsPipelineCreateInfo & setBasePipelineHandle(VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GeneratedCommandsInfoNV & setPreprocessOffset(VULKAN_HPP_NAMESPACE::DeviceSize preprocessOffset_) VULKAN_HPP_NOEXCEPT
SubresourceLayout2EXT & operator=(VkSubresourceLayout2EXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PresentRegionKHR(uint32_t rectangleCount_={}, const VULKAN_HPP_NAMESPACE::RectLayerKHR *pRectangles_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan11Features & setVariablePointers(VULKAN_HPP_NAMESPACE::Bool32 variablePointers_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRobustnessCreateInfoEXT & setStorageBuffers(VULKAN_HPP_NAMESPACE::PipelineRobustnessBufferBehaviorEXT storageBuffers_) VULKAN_HPP_NOEXCEPT
struct VkMultisampledRenderToSingleSampledInfoEXT VkMultisampledRenderToSingleSampledInfoEXT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureInstanceKHR & setMask(uint32_t mask_) VULKAN_HPP_NOEXCEPT
PipelineRepresentativeFragmentTestStateCreateInfoNV(VkPipelineRepresentativeFragmentTestStateCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
const VkDescriptorAddressInfoEXT * pUniformBuffer
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderImageFootprintFeaturesNV & setImageFootprint(VULKAN_HPP_NAMESPACE::Bool32 imageFootprint_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState3FeaturesEXT & setExtendedDynamicState3PolygonMode(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3PolygonMode_) VULKAN_HPP_NOEXCEPT
bool operator==(BufferDeviceAddressCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageViewHandleInfoNVX & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(DebugMarkerObjectTagInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
PipelineTessellationDomainOriginStateCreateInfo & operator=(VkPipelineTessellationDomainOriginStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(CuModuleCreateInfoNVX const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceImageViewMinLodFeaturesEXT(VkPhysicalDeviceImageViewMinLodFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkSurfaceFullScreenExclusiveWin32InfoEXT VkSurfaceFullScreenExclusiveWin32InfoEXT
VULKAN_HPP_CONSTEXPR_14 DrawMeshTasksIndirectCommandNV & setTaskCount(uint32_t taskCount_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingProperties
VULKAN_HPP_CONSTEXPR PhysicalDeviceComputeShaderDerivativesFeaturesNV(VULKAN_HPP_NAMESPACE::Bool32 computeDerivativeGroupQuads_={}, VULKAN_HPP_NAMESPACE::Bool32 computeDerivativeGroupLinear_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceOrHostAddressConstKHR(const void *hostAddress_)
VULKAN_HPP_NAMESPACE::Bool32 samplerAnisotropy
DeviceQueueCreateInfo(VkDeviceQueueCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderClockFeaturesKHR & operator=(VkPhysicalDeviceShaderClockFeaturesKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceImageFormatInfo2(VULKAN_HPP_NAMESPACE::Format format_=VULKAN_HPP_NAMESPACE::Format::eUndefined, VULKAN_HPP_NAMESPACE::ImageType type_=VULKAN_HPP_NAMESPACE::ImageType::e1D, VULKAN_HPP_NAMESPACE::ImageTiling tiling_=VULKAN_HPP_NAMESPACE::ImageTiling::eOptimal, VULKAN_HPP_NAMESPACE::ImageUsageFlags usage_={}, VULKAN_HPP_NAMESPACE::ImageCreateFlags flags_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 FramebufferAttachmentsCreateInfo & setAttachmentImageInfoCount(uint32_t attachmentImageInfoCount_) VULKAN_HPP_NOEXCEPT
DecompressMemoryRegionNV & operator=(DecompressMemoryRegionNV const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 PipelineCreationFeedbackCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
GLuint sampler
Definition: glcorearb.h:1656
struct VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfo
VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderFloat16Int8Features(VULKAN_HPP_NAMESPACE::Bool32 shaderFloat16_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderInt8_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(DisplayProperties2KHR const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(Viewport const &rhs) const VULKAN_HPP_NOEXCEPT
SemaphoreCreateInfo & operator=(VkSemaphoreCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
BindSparseInfo & setSignalSemaphores(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Semaphore > const &signalSemaphores_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CoarseSampleLocationNV & setSample(uint32_t sample_) VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineRasterizationDepthClipStateCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setRobustBufferAccess(VULKAN_HPP_NAMESPACE::Bool32 robustBufferAccess_) VULKAN_HPP_NOEXCEPT
QueueFamilyCheckpointProperties2NV & operator=(VkQueueFamilyCheckpointProperties2NV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceGroupProperties const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::BuildAccelerationStructureModeKHR mode
VULKAN_HPP_CONSTEXPR_14 SwapchainDisplayNativeHdrCreateInfoAMD & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkImageSubresourceRange VkImageSubresourceRange
BufferImageCopy & operator=(BufferImageCopy const &rhs) VULKAN_HPP_NOEXCEPT=default
struct VkTilePropertiesQCOM VkTilePropertiesQCOM
PresentRegionKHR(VkPresentRegionKHR const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceMultiviewFeatures(VkPhysicalDeviceMultiviewFeatures const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyBuffer
bool operator==(PipelineRepresentativeFragmentTestStateCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceFragmentDensityMapPropertiesEXT(VkPhysicalDeviceFragmentDensityMapPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
BufferCopy2 & operator=(VkBufferCopy2 const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderAtomicFloatFeaturesEXT & setSparseImageFloat32AtomicAdd(VULKAN_HPP_NAMESPACE::Bool32 sparseImageFloat32AtomicAdd_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorBinaryHeaderVersionOneEXT & setPipelineCacheUUID(std::array< uint8_t, VK_UUID_SIZE > pipelineCacheUUID_) VULKAN_HPP_NOEXCEPT
MemoryOpaqueCaptureAddressAllocateInfo(VkMemoryOpaqueCaptureAddressAllocateInfo const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPipelineVertexInputStateCreateInfo VkPipelineVertexInputStateCreateInfo
VULKAN_HPP_CONSTEXPR_14 DisplayEventInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkPipelineShaderStageRequiredSubgroupSizeCreateInfo
PipelineDynamicStateCreateInfo & setDynamicStates(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::DynamicState > const &dynamicStates_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceExclusiveScissorFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
unsigned long long uint64
Definition: SYS_Types.h:117
VULKAN_HPP_CONSTEXPR_14 PipelineCoverageToColorStateCreateInfoNV & setCoverageToColorEnable(VULKAN_HPP_NAMESPACE::Bool32 coverageToColorEnable_) VULKAN_HPP_NOEXCEPT
DrmFormatModifierProperties2EXT & operator=(VkDrmFormatModifierProperties2EXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(AccelerationStructureCaptureDescriptorDataInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageStencilUsageCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentShadingRateEnumsFeaturesNV & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
DescriptorAddressInfoEXT(VkDescriptorAddressInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceMutableDescriptorTypeFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceMemoryDecompressionPropertiesNV VkPhysicalDeviceMemoryDecompressionPropertiesNV
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType
bool operator!=(DescriptorSetBindingReferenceVALVE const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceDepthClipControlFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 depthClipControl_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceAddressBindingCallbackDataEXT & setBaseAddress(VULKAN_HPP_NAMESPACE::DeviceAddress baseAddress_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PerformanceValueINTEL(VULKAN_HPP_NAMESPACE::PerformanceValueTypeINTEL type_=VULKAN_HPP_NAMESPACE::PerformanceValueTypeINTEL::eUint32, VULKAN_HPP_NAMESPACE::PerformanceValueDataINTEL data_={}) VULKAN_HPP_NOEXCEPT
bool operator==(SurfaceProtectedCapabilitiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
SubmitInfo(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Semaphore > const &waitSemaphores_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::PipelineStageFlags > const &waitDstStageMask_={}, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::CommandBuffer > const &commandBuffers_={}, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Semaphore > const &signalSemaphores_={}, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderImageAtomicInt64FeaturesEXT & setSparseImageInt64Atomics(VULKAN_HPP_NAMESPACE::Bool32 sparseImageInt64Atomics_) VULKAN_HPP_NOEXCEPT
struct VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfo
ImageSubresource2EXT(VkImageSubresource2EXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SparseImageMemoryBind & setMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM
uint32_t descriptorCount
struct VkPhysicalDeviceDescriptorBufferPropertiesEXT VkPhysicalDeviceDescriptorBufferPropertiesEXT
Offset3D & operator=(Offset3D const &rhs) VULKAN_HPP_NOEXCEPT=default
BufferCaptureDescriptorDataInfoEXT & operator=(VkBufferCaptureDescriptorDataInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkMemoryBarrier VkMemoryBarrier
PipelineVertexInputStateCreateInfo(VkPipelineVertexInputStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
DeviceGroupSubmitInfo(VkDeviceGroupSubmitInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM & setFragmentDensityMapOffset(VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMapOffset_) VULKAN_HPP_NOEXCEPT
bool operator==(AttachmentReference2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRenderingCreateInfo & setStencilAttachmentFormat(VULKAN_HPP_NAMESPACE::Format stencilAttachmentFormat_) VULKAN_HPP_NOEXCEPT
struct VkCuFunctionCreateInfoNVX VkCuFunctionCreateInfoNVX
bool operator!=(BaseInStructure const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::QueryPipelineStatisticFlags pipelineStatistics
PhysicalDeviceSparseProperties & operator=(VkPhysicalDeviceSparseProperties const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyBufferToImageInfo2 & setSrcBuffer(VULKAN_HPP_NAMESPACE::Buffer srcBuffer_) VULKAN_HPP_NOEXCEPT
PipelineLibraryCreateInfoKHR & operator=(VkPipelineLibraryCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
struct VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfo
SubpassDescription & setColorAttachments(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::AttachmentReference > const &colorAttachments_) VULKAN_HPP_NOEXCEPT
struct VkDirectDriverLoadingInfoLUNARG VkDirectDriverLoadingInfoLUNARG
bool operator==(PhysicalDeviceRayTracingMotionBlurFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
PipelineViewportExclusiveScissorStateCreateInfoNV(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Rect2D > const &exclusiveScissors_, const void *pNext_=nullptr)
PipelineDynamicStateCreateInfo(VkPipelineDynamicStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ComputePipelineCreateInfo(VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags_={}, VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo stage_={}, VULKAN_HPP_NAMESPACE::PipelineLayout layout_={}, VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle_={}, int32_t basePipelineIndex_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(PresentTimeGOOGLE const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 InitializePerformanceApiInfoINTEL & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderAtomicInt64Features & setShaderSharedInt64Atomics(VULKAN_HPP_NAMESPACE::Bool32 shaderSharedInt64Atomics_) VULKAN_HPP_NOEXCEPT
MemoryPriorityAllocateInfoEXT(VkMemoryPriorityAllocateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ShaderModuleCreateInfo(VULKAN_HPP_NAMESPACE::ShaderModuleCreateFlags flags_={}, size_t codeSize_={}, const uint32_t *pCode_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceSampleLocationsPropertiesEXT VkPhysicalDeviceSampleLocationsPropertiesEXT
VULKAN_HPP_CONSTEXPR_14 RayTracingPipelineCreateInfoKHR & setPStages(const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo *pStages_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 QueryPoolCreateInfo & setQueryType(VULKAN_HPP_NAMESPACE::QueryType queryType_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDevicePerformanceQueryFeaturesKHR(VULKAN_HPP_NAMESPACE::Bool32 performanceCounterQueryPools_={}, VULKAN_HPP_NAMESPACE::Bool32 performanceCounterMultipleQueryPools_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceFaultFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(MemoryGetFdInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceMaintenance4Features & operator=(VkPhysicalDeviceMaintenance4Features const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DirectDriverLoadingListLUNARG(VULKAN_HPP_NAMESPACE::DirectDriverLoadingModeLUNARG mode_=VULKAN_HPP_NAMESPACE::DirectDriverLoadingModeLUNARG::eExclusive, uint32_t driverCount_={}, const VULKAN_HPP_NAMESPACE::DirectDriverLoadingInfoLUNARG *pDrivers_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
CopyMicromapInfoEXT & operator=(VkCopyMicromapInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
bool operator!=(DrawMeshTasksIndirectCommandNV const &rhs) const VULKAN_HPP_NOEXCEPT
PrivateDataSlotCreateInfo(VkPrivateDataSlotCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
PipelineExecutableStatisticKHR & operator=(VkPipelineExecutableStatisticKHR const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderImageFootprintFeaturesNV(VkPhysicalDeviceShaderImageFootprintFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDevicePushDescriptorPropertiesKHR(VkPhysicalDevicePushDescriptorPropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentShaderInterlockFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
FilterCubicImageViewImageFormatPropertiesEXT(VkFilterCubicImageViewImageFormatPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT & operator=(VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(XYColorEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DependencyInfo(VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags_={}, uint32_t memoryBarrierCount_={}, const VULKAN_HPP_NAMESPACE::MemoryBarrier2 *pMemoryBarriers_={}, uint32_t bufferMemoryBarrierCount_={}, const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier2 *pBufferMemoryBarriers_={}, uint32_t imageMemoryBarrierCount_={}, const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier2 *pImageMemoryBarriers_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
BindSparseInfo(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Semaphore > const &waitSemaphores_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SparseBufferMemoryBindInfo > const &bufferBinds_={}, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SparseImageOpaqueMemoryBindInfo > const &imageOpaqueBinds_={}, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SparseImageMemoryBindInfo > const &imageBinds_={}, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Semaphore > const &signalSemaphores_={}, const void *pNext_=nullptr)
PhysicalDeviceSubpassShadingPropertiesHUAWEI(VkPhysicalDeviceSubpassShadingPropertiesHUAWEI const &rhs) VULKAN_HPP_NOEXCEPT
BaseInStructure(VkBaseInStructure const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorAddressInfoEXT & setRange(VULKAN_HPP_NAMESPACE::DeviceSize range_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PastPresentationTimingGOOGLE(uint32_t presentID_={}, uint64_t desiredPresentTime_={}, uint64_t actualPresentTime_={}, uint64_t earliestPresentTime_={}, uint64_t presentMargin_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderingAttachmentInfo & setClearValue(VULKAN_HPP_NAMESPACE::ClearValue const &clearValue_) VULKAN_HPP_NOEXCEPT
struct VkCopyBufferToImageInfo2 VkCopyBufferToImageInfo2
bool operator!=(DirectDriverLoadingListLUNARG const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkDeviceGroupPresentInfoKHR VkDeviceGroupPresentInfoKHR
VULKAN_HPP_CONSTEXPR_14 DedicatedAllocationMemoryAllocateInfoNV & setImage(VULKAN_HPP_NAMESPACE::Image image_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GeometryAABBNV & setOffset(VULKAN_HPP_NAMESPACE::DeviceSize offset_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceExtendedDynamicState3FeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceSize range
PhysicalDeviceShaderModuleIdentifierPropertiesEXT & operator=(VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExternalBufferInfo & setFlags(VULKAN_HPP_NAMESPACE::BufferCreateFlags flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCooperativeMatrixFeaturesNV & setCooperativeMatrix(VULKAN_HPP_NAMESPACE::Bool32 cooperativeMatrix_) VULKAN_HPP_NOEXCEPT
PerformanceMarkerInfoINTEL(VkPerformanceMarkerInfoINTEL const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GraphicsShaderGroupCreateInfoNV & setPVertexInputState(const VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo *pVertexInputState_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR RenderPassFragmentDensityMapCreateInfoEXT(VULKAN_HPP_NAMESPACE::AttachmentReference fragmentDensityMapAttachment_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
ImageSwapchainCreateInfoKHR & operator=(VkImageSwapchainCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
bool operator==(ImageSubresource const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(AttachmentDescription2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceCooperativeMatrixPropertiesNV(VULKAN_HPP_NAMESPACE::ShaderStageFlags cooperativeMatrixSupportedStages_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AttachmentReferenceStencilLayout & setStencilLayout(VULKAN_HPP_NAMESPACE::ImageLayout stencilLayout_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDeviceMemoryReportFeaturesEXT & setDeviceMemoryReport(VULKAN_HPP_NAMESPACE::Bool32 deviceMemoryReport_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceQueueInfo2 & setQueueIndex(uint32_t queueIndex_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubresourceLayout & setOffset(VULKAN_HPP_NAMESPACE::DeviceSize offset_) VULKAN_HPP_NOEXCEPT
bool operator!=(DedicatedAllocationMemoryAllocateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR IndirectCommandsStreamNV(VULKAN_HPP_NAMESPACE::Buffer buffer_={}, VULKAN_HPP_NAMESPACE::DeviceSize offset_={}) VULKAN_HPP_NOEXCEPT
IndirectCommandsLayoutTokenNV(VULKAN_HPP_NAMESPACE::IndirectCommandsTokenTypeNV tokenType_, uint32_t stream_, uint32_t offset_, uint32_t vertexBindingUnit_, VULKAN_HPP_NAMESPACE::Bool32 vertexDynamicStride_, VULKAN_HPP_NAMESPACE::PipelineLayout pushconstantPipelineLayout_, VULKAN_HPP_NAMESPACE::ShaderStageFlags pushconstantShaderStageFlags_, uint32_t pushconstantOffset_, uint32_t pushconstantSize_, VULKAN_HPP_NAMESPACE::IndirectStateFlagsNV indirectStateFlags_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::IndexType > const &indexTypes_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &indexTypeValues_={}, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 DisplaySurfaceCreateInfoKHR & setGlobalAlpha(float globalAlpha_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageFormatListCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
PhysicalDevicePrivateDataFeatures & operator=(VkPhysicalDevicePrivateDataFeatures const &rhs) VULKAN_HPP_NOEXCEPT
BindImageMemoryDeviceGroupInfo & operator=(VkBindImageMemoryDeviceGroupInfo const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(IndirectCommandsLayoutTokenNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMatrixMotionInstanceNV & setInstanceCustomIndex(uint32_t instanceCustomIndex_) VULKAN_HPP_NOEXCEPT
struct VkPipelineExecutableInternalRepresentationKHR VkPipelineExecutableInternalRepresentationKHR
PhysicalDeviceTilePropertiesFeaturesQCOM(VkPhysicalDeviceTilePropertiesFeaturesQCOM const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceCustomBorderColorPropertiesEXT VkPhysicalDeviceCustomBorderColorPropertiesEXT
ConditionalRenderingBeginInfoEXT & operator=(VkConditionalRenderingBeginInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceASTCDecodeFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
MicromapTriangleEXT(VkMicromapTriangleEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BindAccelerationStructureMemoryInfoNV & setAccelerationStructure(VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
VULKAN_HPP_CONSTEXPR_14 PipelineColorBlendAttachmentState & setSrcAlphaBlendFactor(VULKAN_HPP_NAMESPACE::BlendFactor srcAlphaBlendFactor_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PerformanceConfigurationAcquireInfoINTEL & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MicromapBuildInfoEXT & setUsageCountsCount(uint32_t usageCountsCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR CuFunctionCreateInfoNVX(VULKAN_HPP_NAMESPACE::CuModuleNVX module_={}, const char *pName_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
BufferMemoryBarrier2 & operator=(VkBufferMemoryBarrier2 const &rhs) VULKAN_HPP_NOEXCEPT
ValidationFeaturesEXT & operator=(VkValidationFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceOpacityMicromapFeaturesEXT(VkPhysicalDeviceOpacityMicromapFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ImageDrmFormatModifierPropertiesEXT(uint64_t drmFormatModifier_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(DescriptorPoolCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineExecutableInternalRepresentationKHR(std::array< char, VK_MAX_DESCRIPTION_SIZE > const &name_={}, std::array< char, VK_MAX_DESCRIPTION_SIZE > const &description_={}, VULKAN_HPP_NAMESPACE::Bool32 isText_={}, size_t dataSize_={}, void *pData_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkPipelineCreationFeedback VkPipelineCreationFeedback
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setFragmentStoresAndAtomics(VULKAN_HPP_NAMESPACE::Bool32 fragmentStoresAndAtomics_) VULKAN_HPP_NOEXCEPT
TransformMatrixKHR & operator=(VkTransformMatrixKHR const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(ImportMemoryHostPointerInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceCoherentMemoryFeaturesAMD const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::AccelerationStructureKHR dst
PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT & operator=(VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
DebugReportCallbackCreateInfoEXT & operator=(DebugReportCallbackCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 SamplerCreateInfo & setMipLodBias(float mipLodBias_) VULKAN_HPP_NOEXCEPT
struct VkVideoDecodeH264SessionParametersCreateInfoEXT VkVideoDecodeH264SessionParametersCreateInfoEXT
VULKAN_HPP_CONSTEXPR_14 ValidationFlagsEXT & setDisabledValidationCheckCount(uint32_t disabledValidationCheckCount_) VULKAN_HPP_NOEXCEPT
DispatchIndirectCommand & operator=(VkDispatchIndirectCommand const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR BindImageMemorySwapchainInfoKHR(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain_={}, uint32_t imageIndex_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(DeviceMemoryReportCallbackDataEXT const &rhs) const VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
struct VkXcbSurfaceCreateInfoKHR VkXcbSurfaceCreateInfoKHR
struct VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfo
VULKAN_HPP_CONSTEXPR_14 ImageSubresource2EXT & setImageSubresource(VULKAN_HPP_NAMESPACE::ImageSubresource const &imageSubresource_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
VULKAN_HPP_CONSTEXPR MutableDescriptorTypeCreateInfoEXT(uint32_t mutableDescriptorTypeListCount_={}, const VULKAN_HPP_NAMESPACE::MutableDescriptorTypeListEXT *pMutableDescriptorTypeLists_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ConditionalRenderingBeginInfoEXT & setBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer_) VULKAN_HPP_NOEXCEPT
AttachmentReference & operator=(AttachmentReference const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryInstancesDataKHR & setArrayOfPointers(VULKAN_HPP_NAMESPACE::Bool32 arrayOfPointers_) VULKAN_HPP_NOEXCEPT
WriteDescriptorSetInlineUniformBlock & operator=(VkWriteDescriptorSetInlineUniformBlock const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageSubresourceLayers & setAspectMask(VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_) VULKAN_HPP_NOEXCEPT
struct VkRenderingFragmentDensityMapAttachmentInfoEXT VkRenderingFragmentDensityMapAttachmentInfoEXT
VULKAN_HPP_CONSTEXPR_14 GeometryTrianglesNV & setTransformData(VULKAN_HPP_NAMESPACE::Buffer transformData_) VULKAN_HPP_NOEXCEPT
bool operator!=(OpticalFlowImageFormatPropertiesNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ViewportWScalingNV(float xcoeff_={}, float ycoeff_={}) VULKAN_HPP_NOEXCEPT
AabbPositionsKHR & operator=(VkAabbPositionsKHR const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceDeviceGeneratedCommandsFeaturesNV & operator=(VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(DeviceMemoryOverallocationCreateInfoAMD const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GeneratedCommandsInfoNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceBufferDeviceAddressFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddress_={}, VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressCaptureReplay_={}, VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressMultiDevice_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceAccelerationStructurePropertiesKHR(uint64_t maxGeometryCount_={}, uint64_t maxInstanceCount_={}, uint64_t maxPrimitiveCount_={}, uint32_t maxPerStageDescriptorAccelerationStructures_={}, uint32_t maxPerStageDescriptorUpdateAfterBindAccelerationStructures_={}, uint32_t maxDescriptorSetAccelerationStructures_={}, uint32_t maxDescriptorSetUpdateAfterBindAccelerationStructures_={}, uint32_t minAccelerationStructureScratchOffsetAlignment_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VertexInputAttributeDescription(VkVertexInputAttributeDescription const &rhs) VULKAN_HPP_NOEXCEPT
DescriptorSetBindingReferenceVALVE(VkDescriptorSetBindingReferenceVALVE const &rhs) VULKAN_HPP_NOEXCEPT
PipelineCoverageModulationStateCreateInfoNV(VkPipelineCoverageModulationStateCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceExtendedDynamicStateFeaturesEXT(VkPhysicalDeviceExtendedDynamicStateFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SampleLocationEXT & setY(float y_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD & setShaderEarlyAndLateFragmentTests(VULKAN_HPP_NAMESPACE::Bool32 shaderEarlyAndLateFragmentTests_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DecompressMemoryRegionNV & setDecompressionMethod(VULKAN_HPP_NAMESPACE::MemoryDecompressionMethodFlagsNV decompressionMethod_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderingInfo & setColorAttachmentCount(uint32_t colorAttachmentCount_) VULKAN_HPP_NOEXCEPT
SubmitInfo & setSignalSemaphores(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Semaphore > const &signalSemaphores_) VULKAN_HPP_NOEXCEPT
bool operator==(PipelineFragmentShadingRateStateCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
GLuint buffer
Definition: glcorearb.h:660
bool operator!=(PhysicalDeviceHostQueryResetFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceExtendedDynamicState2FeaturesEXT(VkPhysicalDeviceExtendedDynamicState2FeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MemoryAllocateFlagsInfo & setDeviceMask(uint32_t deviceMask_) VULKAN_HPP_NOEXCEPT
XYColorEXT(VkXYColorEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayDynamicIndexing
VULKAN_HPP_NAMESPACE::DeviceSize compressedSize
struct VkImageDrmFormatModifierListCreateInfoEXT VkImageDrmFormatModifierListCreateInfoEXT
DeviceCreateInfo(VkDeviceCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageCompressionControlEXT & setPFixedRateFlags(VULKAN_HPP_NAMESPACE::ImageCompressionFixedRateFlagsEXT *pFixedRateFlags_) VULKAN_HPP_NOEXCEPT
struct VkSemaphoreSubmitInfo VkSemaphoreSubmitInfo
VULKAN_HPP_CONSTEXPR_14 PipelineExecutableStatisticValueKHR & setI64(int64_t i64_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceDescriptorBufferPropertiesEXT & operator=(VkPhysicalDeviceDescriptorBufferPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceLimits const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DisplayPlaneCapabilitiesKHR(VULKAN_HPP_NAMESPACE::DisplayPlaneAlphaFlagsKHR supportedAlpha_={}, VULKAN_HPP_NAMESPACE::Offset2D minSrcPosition_={}, VULKAN_HPP_NAMESPACE::Offset2D maxSrcPosition_={}, VULKAN_HPP_NAMESPACE::Extent2D minSrcExtent_={}, VULKAN_HPP_NAMESPACE::Extent2D maxSrcExtent_={}, VULKAN_HPP_NAMESPACE::Offset2D minDstPosition_={}, VULKAN_HPP_NAMESPACE::Offset2D maxDstPosition_={}, VULKAN_HPP_NAMESPACE::Extent2D minDstExtent_={}, VULKAN_HPP_NAMESPACE::Extent2D maxDstExtent_={}) VULKAN_HPP_NOEXCEPT
bool operator!=(WriteDescriptorSetAccelerationStructureKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceIndexTypeUint8FeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineVertexInputDivisorStateCreateInfoEXT & setPVertexBindingDivisors(const VULKAN_HPP_NAMESPACE::VertexInputBindingDivisorDescriptionEXT *pVertexBindingDivisors_) VULKAN_HPP_NOEXCEPT
InitializePerformanceApiInfoINTEL & operator=(VkInitializePerformanceApiInfoINTEL const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GeometryAABBNV & setNumAABBs(uint32_t numAABBs_) VULKAN_HPP_NOEXCEPT
const VULKAN_HPP_NAMESPACE::SparseBufferMemoryBindInfo * pBufferBinds
VULKAN_HPP_CONSTEXPR_14 BindAccelerationStructureMemoryInfoNV & setMemoryOffset(VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MemoryDedicatedAllocateInfo & setBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceDepthClampZeroOneFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(RenderPassCreationFeedbackInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
DescriptorPoolInlineUniformBlockCreateInfo & operator=(DescriptorPoolInlineUniformBlockCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator!=(QueryPoolPerformanceQueryCreateInfoINTEL const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::AccessFlags2 dstAccessMask
bool operator==(DeviceGroupPresentInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkImageBlit2 VkImageBlit2
DeviceCreateInfo(VULKAN_HPP_NAMESPACE::DeviceCreateFlags flags_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::DeviceQueueCreateInfo > const &queueCreateInfos_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const char *const > const &pEnabledLayerNames_={}, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const char *const > const &pEnabledExtensionNames_={}, const VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures *pEnabledFeatures_={}, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 SubpassDescription & setPreserveAttachmentCount(uint32_t preserveAttachmentCount_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceExtendedDynamicState3PropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceBlendOperationAdvancedFeaturesEXT & setAdvancedBlendCoherentOperations(VULKAN_HPP_NAMESPACE::Bool32 advancedBlendCoherentOperations_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DisplaySurfaceCreateInfoKHR & setFlags(VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateFlagsKHR flags_) VULKAN_HPP_NOEXCEPT
const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT * pCmdBufLabels
VULKAN_HPP_CONSTEXPR_14 DescriptorBufferInfo & setBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer_) VULKAN_HPP_NOEXCEPT
DisplayPlanePropertiesKHR & operator=(VkDisplayPlanePropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceRayTracingPipelineFeaturesKHR & operator=(VkPhysicalDeviceRayTracingPipelineFeaturesKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceRobustness2PropertiesEXT(VULKAN_HPP_NAMESPACE::DeviceSize robustStorageBufferAccessSizeAlignment_={}, VULKAN_HPP_NAMESPACE::DeviceSize robustUniformBufferAccessSizeAlignment_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceTimelineSemaphoreProperties(uint64_t maxTimelineSemaphoreValueDifference_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR CommandPoolCreateInfo(VULKAN_HPP_NAMESPACE::CommandPoolCreateFlags flags_={}, uint32_t queueFamilyIndex_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ColorBlendEquationEXT & setDstColorBlendFactor(VULKAN_HPP_NAMESPACE::BlendFactor dstColorBlendFactor_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ClearColorValue(int32_t int32_0, int32_t int32_1, int32_t int32_2, int32_t int32_3)
PhysicalDeviceDiscardRectanglePropertiesEXT(VkPhysicalDeviceDiscardRectanglePropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineShaderStageCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceTexelBufferAlignmentProperties VkPhysicalDeviceTexelBufferAlignmentProperties
MemoryRequirements2 & operator=(VkMemoryRequirements2 const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BindImageMemoryInfo & setMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory_) VULKAN_HPP_NOEXCEPT
ImageCompressionControlEXT & operator=(VkImageCompressionControlEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(SubpassResolvePerformanceQueryEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkMemoryAllocateInfo VkMemoryAllocateInfo
VULKAN_HPP_CONSTEXPR_14 PipelineDepthStencilStateCreateInfo & setDepthBoundsTestEnable(VULKAN_HPP_NAMESPACE::Bool32 depthBoundsTestEnable_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineShaderStageModuleIdentifierCreateInfoEXT(uint32_t identifierSize_={}, const uint8_t *pIdentifier_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MultiDrawIndexedInfoEXT & setVertexOffset(int32_t vertexOffset_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ClearRect & setBaseArrayLayer(uint32_t baseArrayLayer_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SparseBufferMemoryBindInfo & setBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer_) VULKAN_HPP_NOEXCEPT
bool operator==(Offset2D const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(SubpassResolvePerformanceQueryEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationStateCreateInfo & setPolygonMode(VULKAN_HPP_NAMESPACE::PolygonMode polygonMode_) VULKAN_HPP_NOEXCEPT
struct VkDisplayModeCreateInfoKHR VkDisplayModeCreateInfoKHR
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMutableDescriptorTypeFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(DeviceFaultCountsEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildGeometryInfoKHR & setScratchData(VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR const &scratchData_) VULKAN_HPP_NOEXCEPT
AccelerationStructureBuildGeometryInfoKHR & setPGeometries(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryKHR *const > const &pGeometries_) VULKAN_HPP_NOEXCEPT
PresentInfoKHR & setResults(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< VULKAN_HPP_NAMESPACE::Result > const &results_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setDescriptorBindingSampledImageUpdateAfterBind(VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingSampledImageUpdateAfterBind_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceMeshShaderFeaturesNV & operator=(VkPhysicalDeviceMeshShaderFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineDynamicStateCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR BufferDeviceAddressInfo(VULKAN_HPP_NAMESPACE::Buffer buffer_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkAttachmentDescription2 VkAttachmentDescription2
VULKAN_HPP_CONSTEXPR_14 DrawIndexedIndirectCommand & setVertexOffset(int32_t vertexOffset_) VULKAN_HPP_NOEXCEPT
RenderingFragmentDensityMapAttachmentInfoEXT & operator=(VkRenderingFragmentDensityMapAttachmentInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineViewportExclusiveScissorStateCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setShaderOutputLayer(VULKAN_HPP_NAMESPACE::Bool32 shaderOutputLayer_) VULKAN_HPP_NOEXCEPT
DisplayModeProperties2KHR & operator=(VkDisplayModeProperties2KHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DependencyInfo & setBufferMemoryBarrierCount(uint32_t bufferMemoryBarrierCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 TraceRaysIndirectCommand2KHR & setRaygenShaderRecordSize(VULKAN_HPP_NAMESPACE::DeviceSize raygenShaderRecordSize_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceImageFormatInfo2(VkPhysicalDeviceImageFormatInfo2 const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR MemoryOpaqueCaptureAddressAllocateInfo(uint64_t opaqueCaptureAddress_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SpecializationInfo(uint32_t mapEntryCount_={}, const VULKAN_HPP_NAMESPACE::SpecializationMapEntry *pMapEntries_={}, size_t dataSize_={}, const void *pData_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderIntegerDotProductProperties(VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct8BitUnsignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct8BitSignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct8BitMixedSignednessAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct4x8BitPackedUnsignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct4x8BitPackedSignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct16BitUnsignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct16BitSignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct16BitMixedSignednessAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct32BitUnsignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct32BitSignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct32BitMixedSignednessAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct64BitUnsignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct64BitSignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct64BitMixedSignednessAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorSetLayoutBinding & setDescriptorCount(uint32_t descriptorCount_) VULKAN_HPP_NOEXCEPT
PipelineViewportWScalingStateCreateInfoNV & operator=(VkPipelineViewportWScalingStateCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyCommandTransformInfoQCOM & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDevicePortabilitySubsetPropertiesKHR VkPhysicalDevicePortabilitySubsetPropertiesKHR
struct VkBaseInStructure VkBaseInStructure
struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
PhysicalDeviceLinearColorAttachmentFeaturesNV & operator=(VkPhysicalDeviceLinearColorAttachmentFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR MemoryAllocateInfo(VULKAN_HPP_NAMESPACE::DeviceSize allocationSize_={}, uint32_t memoryTypeIndex_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PhysicalDeviceDriverProperties(VkPhysicalDeviceDriverProperties const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineDiscardRectangleStateCreateInfoEXT & setFlags(VULKAN_HPP_NAMESPACE::PipelineDiscardRectangleStateCreateFlagsEXT flags_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceExtendedDynamicState2FeaturesEXT & operator=(VkPhysicalDeviceExtendedDynamicState2FeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkVideoDecodeH265SessionParametersAddInfoEXT VkVideoDecodeH265SessionParametersAddInfoEXT
VULKAN_HPP_CONSTEXPR_14 PipelineCoverageModulationStateCreateInfoNV & setCoverageModulationTableCount(uint32_t coverageModulationTableCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineViewportStateCreateInfo & setScissorCount(uint32_t scissorCount_) VULKAN_HPP_NOEXCEPT
AccelerationStructureCreateInfoNV & operator=(VkAccelerationStructureCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceMemory memory
GeometryTrianglesNV & operator=(GeometryTrianglesNV const &rhs) VULKAN_HPP_NOEXCEPT=default
AccelerationStructureBuildSizesInfoKHR & operator=(VkAccelerationStructureBuildSizesInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDevicePCIBusInfoPropertiesEXT(VkPhysicalDevicePCIBusInfoPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImportMemoryFdInfoKHR & setHandleType(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_) VULKAN_HPP_NOEXCEPT
bool operator==(FramebufferAttachmentImageInfo const &rhs) const VULKAN_HPP_NOEXCEPT
ClearAttachment(VkClearAttachment const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR WriteDescriptorSetAccelerationStructureNV(uint32_t accelerationStructureCount_={}, const VULKAN_HPP_NAMESPACE::AccelerationStructureNV *pAccelerationStructures_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceDepthClipControlFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceVulkan13Features & operator=(VkPhysicalDeviceVulkan13Features const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceProvokingVertexFeaturesEXT VkPhysicalDeviceProvokingVertexFeaturesEXT
VULKAN_HPP_NAMESPACE::ArrayWrapper1D< VULKAN_HPP_NAMESPACE::Offset3D, 2 > srcOffsets
bool operator==(RenderPassBeginInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(ImagePlaneMemoryRequirementsInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRenderingCreateInfo & setViewMask(uint32_t viewMask_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT & setYcbcr2plane444Formats(VULKAN_HPP_NAMESPACE::Bool32 ycbcr2plane444Formats_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceShaderImageFootprintFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR data
union VkDeviceOrHostAddressKHR VkDeviceOrHostAddressKHR
struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV VkPhysicalDeviceShaderSMBuiltinsFeaturesNV
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
bool operator!=(DeviceFaultAddressInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setDescriptorBindingVariableDescriptorCount(VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingVariableDescriptorCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentDensityMapFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceIDProperties & operator=(VkPhysicalDeviceIDProperties const &rhs) VULKAN_HPP_NOEXCEPT
SubpassDescription2 & setInputAttachments(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::AttachmentReference2 > const &inputAttachments_) VULKAN_HPP_NOEXCEPT
struct VkAccelerationStructureMotionInfoNV VkAccelerationStructureMotionInfoNV
PhysicalDeviceSparseImageFormatInfo2 & operator=(VkPhysicalDeviceSparseImageFormatInfo2 const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageResolve & setDstSubresource(VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const &dstSubresource_) VULKAN_HPP_NOEXCEPT
void * MTLSharedEvent_id
Definition: vulkan_metal.h:84
struct VkSparseMemoryBind VkSparseMemoryBind
VULKAN_HPP_CONSTEXPR_14 GeneratedCommandsMemoryRequirementsInfoNV & setMaxSequencesCount(uint32_t maxSequencesCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageBlit2 & setSrcOffsets(std::array< VULKAN_HPP_NAMESPACE::Offset3D, 2 > const &srcOffsets_) VULKAN_HPP_NOEXCEPT
struct VkSemaphoreSignalInfo VkSemaphoreSignalInfo
bool operator==(PipelineExecutableInternalRepresentationKHR const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(ImageViewCaptureDescriptorDataInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassCreateInfo & setAttachmentCount(uint32_t attachmentCount_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderDemoteToHelperInvocationFeatures & operator=(VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceBufferDeviceAddressFeatures(VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddress_={}, VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressCaptureReplay_={}, VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressMultiDevice_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR HdrMetadataEXT(VULKAN_HPP_NAMESPACE::XYColorEXT displayPrimaryRed_={}, VULKAN_HPP_NAMESPACE::XYColorEXT displayPrimaryGreen_={}, VULKAN_HPP_NAMESPACE::XYColorEXT displayPrimaryBlue_={}, VULKAN_HPP_NAMESPACE::XYColorEXT whitePoint_={}, float maxLuminance_={}, float minLuminance_={}, float maxContentLightLevel_={}, float maxFrameAverageLightLevel_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
Viewport(VkViewport const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageFormatInfo2 & setUsage(VULKAN_HPP_NAMESPACE::ImageUsageFlags usage_) VULKAN_HPP_NOEXCEPT
bool operator!=(CopyImageInfo2 const &rhs) const VULKAN_HPP_NOEXCEPT
SparseImageOpaqueMemoryBindInfo & operator=(SparseImageOpaqueMemoryBindInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 ApplicationInfo & setEngineVersion(uint32_t engineVersion_) VULKAN_HPP_NOEXCEPT
bool operator==(QueueFamilyProperties2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ViewportSwizzleNV(VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV x_=VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV::ePositiveX, VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV y_=VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV::ePositiveX, VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV z_=VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV::ePositiveX, VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV w_=VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV::ePositiveX) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GeometryTrianglesNV & setVertexData(VULKAN_HPP_NAMESPACE::Buffer vertexData_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceBorderColorSwizzleFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineViewportDepthClipControlCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(GeometryTrianglesNV const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceVulkanMemoryModelFeatures & operator=(VkPhysicalDeviceVulkanMemoryModelFeatures const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubresourceLayout & setArrayPitch(VULKAN_HPP_NAMESPACE::DeviceSize arrayPitch_) VULKAN_HPP_NOEXCEPT
bool operator==(WriteDescriptorSet const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferOpaqueCaptureAddressCreateInfo & setOpaqueCaptureAddress(uint64_t opaqueCaptureAddress_) VULKAN_HPP_NOEXCEPT
bool operator==(AllocationCallbacks const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM(VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceFaultAddressInfoEXT & setReportedAddress(VULKAN_HPP_NAMESPACE::DeviceAddress reportedAddress_) VULKAN_HPP_NOEXCEPT
DeviceBufferMemoryRequirements & operator=(VkDeviceBufferMemoryRequirements const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setShaderStorageImageArrayDynamicIndexing(VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayDynamicIndexing_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RayTracingShaderGroupCreateInfoKHR & setType(VULKAN_HPP_NAMESPACE::RayTracingShaderGroupTypeKHR type_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Buffer indexData
struct VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState3FeaturesEXT & setExtendedDynamicState3CoverageModulationTable(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3CoverageModulationTable_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineVertexInputStateCreateInfo & setPVertexBindingDescriptions(const VULKAN_HPP_NAMESPACE::VertexInputBindingDescription *pVertexBindingDescriptions_) VULKAN_HPP_NOEXCEPT
bool operator==(ClearRect const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
DescriptorUpdateTemplateEntry DescriptorUpdateTemplateEntryKHR
bool operator!=(PipelineCreationFeedbackCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
FramebufferAttachmentsCreateInfo & operator=(VkFramebufferAttachmentsCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BindImageMemoryDeviceGroupInfo & setSplitInstanceBindRegionCount(uint32_t splitInstanceBindRegionCount_) VULKAN_HPP_NOEXCEPT
ImageViewSampleWeightCreateInfoQCOM(VkImageViewSampleWeightCreateInfoQCOM const &rhs) VULKAN_HPP_NOEXCEPT
DeviceCreateInfo & setPEnabledLayerNames(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const char *const > const &pEnabledLayerNames_) VULKAN_HPP_NOEXCEPT
struct VkVideoBeginCodingInfoKHR VkVideoBeginCodingInfoKHR
VULKAN_HPP_CONSTEXPR_14 CopyMicromapToMemoryInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkPipelineRasterizationStateStreamCreateInfoEXT VkPipelineRasterizationStateStreamCreateInfoEXT
bool operator==(PipelineExecutablePropertiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PerformanceCounterResultKHR & setFloat64(double float64_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CoarseSampleLocationNV & setPixelX(uint32_t pixelX_) VULKAN_HPP_NOEXCEPT
struct VkSurfaceProtectedCapabilitiesKHR VkSurfaceProtectedCapabilitiesKHR
VULKAN_HPP_CONSTEXPR PhysicalDeviceShadingRateImagePropertiesNV(VULKAN_HPP_NAMESPACE::Extent2D shadingRateTexelSize_={}, uint32_t shadingRatePaletteSize_={}, uint32_t shadingRateMaxCoarseSamples_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkCopyAccelerationStructureInfoKHR VkCopyAccelerationStructureInfoKHR
VULKAN_HPP_CONSTEXPR_14 DeviceFaultInfoEXT & setPVendorBinaryData(void *pVendorBinaryData_) VULKAN_HPP_NOEXCEPT
bool operator!=(SparseImageMemoryBindInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 Offset2D & setY(int32_t y_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderDemoteToHelperInvocationFeatures & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
const VULKAN_HPP_NAMESPACE::SampleCountFlagBits * pColorAttachmentSamples
struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT VkPhysicalDeviceExtendedDynamicState2FeaturesEXT
VULKAN_HPP_CONSTEXPR_14 PerformanceMarkerInfoINTEL & setMarker(uint64_t marker_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferImageCopy & setImageOffset(VULKAN_HPP_NAMESPACE::Offset3D const &imageOffset_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ImageViewAddressPropertiesNVX(VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_={}, VULKAN_HPP_NAMESPACE::DeviceSize size_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceFaultInfoEXT(std::array< char, VK_MAX_DESCRIPTION_SIZE > const &description_={}, VULKAN_HPP_NAMESPACE::DeviceFaultAddressInfoEXT *pAddressInfos_={}, VULKAN_HPP_NAMESPACE::DeviceFaultVendorInfoEXT *pVendorInfos_={}, void *pVendorBinaryData_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
DebugUtilsMessengerCreateInfoEXT(VkDebugUtilsMessengerCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceDeviceGeneratedCommandsPropertiesNV const &rhs) const VULKAN_HPP_NOEXCEPT
MultiDrawInfoEXT(VkMultiDrawInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
CopyBufferToImageInfo2 & setRegions(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::BufferImageCopy2 > const &regions_) VULKAN_HPP_NOEXCEPT
bool operator==(PipelineRasterizationProvokingVertexStateCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(SampleLocationsInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 VertexInputAttributeDescription & setBinding(uint32_t binding_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE & operator=(VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE const &rhs) VULKAN_HPP_NOEXCEPT
const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateEntry * pDescriptorUpdateEntries
VULKAN_HPP_CONSTEXPR SurfaceCapabilitiesPresentBarrierNV(VULKAN_HPP_NAMESPACE::Bool32 presentBarrierSupported_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(StencilOpState const &rhs) const VULKAN_HPP_NOEXCEPT
DescriptorSetLayoutSupport & operator=(DescriptorSetLayoutSupport const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 ImageSubresourceRange & setAspectMask(VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_) VULKAN_HPP_NOEXCEPT
bool operator==(AccelerationStructureInstanceKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Bool32 multiDrawIndirect
VULKAN_HPP_CONSTEXPR_14 SwapchainCounterCreateInfoEXT & setSurfaceCounters(VULKAN_HPP_NAMESPACE::SurfaceCounterFlagsEXT surfaceCounters_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceShaderCoreBuiltinsPropertiesARM const &rhs) const VULKAN_HPP_NOEXCEPT
EventCreateInfo & operator=(VkEventCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR AttachmentReference2(uint32_t attachment_={}, VULKAN_HPP_NAMESPACE::ImageLayout layout_=VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined, VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSparseImageFormatInfo2 & setType(VULKAN_HPP_NAMESPACE::ImageType type_) VULKAN_HPP_NOEXCEPT
AccelerationStructureCreateInfoNV(VkAccelerationStructureCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
DebugUtilsObjectNameInfoEXT & operator=(DebugUtilsObjectNameInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT=default
PipelinePropertiesIdentifierEXT & operator=(VkPipelinePropertiesIdentifierEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDevicePerformanceQueryFeaturesKHR & operator=(VkPhysicalDevicePerformanceQueryFeaturesKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MemoryOpaqueCaptureAddressAllocateInfo & setOpaqueCaptureAddress(uint64_t opaqueCaptureAddress_) VULKAN_HPP_NOEXCEPT
struct VkDirectDriverLoadingListLUNARG VkDirectDriverLoadingListLUNARG
VULKAN_HPP_CONSTEXPR_14 BufferImageCopy2 & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExternalSemaphoreInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceTilePropertiesFeaturesQCOM VkPhysicalDeviceTilePropertiesFeaturesQCOM
bool operator==(DescriptorBufferInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR StencilOpState(VULKAN_HPP_NAMESPACE::StencilOp failOp_=VULKAN_HPP_NAMESPACE::StencilOp::eKeep, VULKAN_HPP_NAMESPACE::StencilOp passOp_=VULKAN_HPP_NAMESPACE::StencilOp::eKeep, VULKAN_HPP_NAMESPACE::StencilOp depthFailOp_=VULKAN_HPP_NAMESPACE::StencilOp::eKeep, VULKAN_HPP_NAMESPACE::CompareOp compareOp_=VULKAN_HPP_NAMESPACE::CompareOp::eNever, uint32_t compareMask_={}, uint32_t writeMask_={}, uint32_t reference_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayDynamicIndexing
DisplayPlaneCapabilities2KHR(VkDisplayPlaneCapabilities2KHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DedicatedAllocationBufferCreateInfoNV(VULKAN_HPP_NAMESPACE::Bool32 dedicatedAllocation_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceAddressBindingCallbackDataEXT & setBindingType(VULKAN_HPP_NAMESPACE::DeviceAddressBindingTypeEXT bindingType_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceMemoryPriorityFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineInputAssemblyStateCreateInfo(VULKAN_HPP_NAMESPACE::PipelineInputAssemblyStateCreateFlags flags_={}, VULKAN_HPP_NAMESPACE::PrimitiveTopology topology_=VULKAN_HPP_NAMESPACE::PrimitiveTopology::ePointList, VULKAN_HPP_NAMESPACE::Bool32 primitiveRestartEnable_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceTransformFeedbackFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT
VULKAN_HPP_CONSTEXPR PhysicalDeviceDepthStencilResolveProperties(VULKAN_HPP_NAMESPACE::ResolveModeFlags supportedDepthResolveModes_={}, VULKAN_HPP_NAMESPACE::ResolveModeFlags supportedStencilResolveModes_={}, VULKAN_HPP_NAMESPACE::Bool32 independentResolveNone_={}, VULKAN_HPP_NAMESPACE::Bool32 independentResolve_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImportFenceFdInfoKHR & setFence(VULKAN_HPP_NAMESPACE::Fence fence_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMatrixMotionInstanceNV & setTransformT0(VULKAN_HPP_NAMESPACE::TransformMatrixKHR const &transformT0_) VULKAN_HPP_NOEXCEPT
AccelerationStructureGeometryInstancesDataKHR & operator=(VkAccelerationStructureGeometryInstancesDataKHR const &rhs) VULKAN_HPP_NOEXCEPT
RenderPassCreateInfo(VULKAN_HPP_NAMESPACE::RenderPassCreateFlags flags_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::AttachmentDescription > const &attachments_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SubpassDescription > const &subpasses_={}, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SubpassDependency > const &dependencies_={}, const void *pNext_=nullptr)
struct VkCommandBufferInheritanceConditionalRenderingInfoEXT VkCommandBufferInheritanceConditionalRenderingInfoEXT
bool operator!=(ColorBlendAdvancedEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMotionInstanceNV & setFlags(VULKAN_HPP_NAMESPACE::AccelerationStructureMotionInstanceFlagsNV flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineExecutableStatisticValueKHR & setF64(double f64_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::AccessFlags2 dstAccessMask
bool operator==(SemaphoreCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
BufferMemoryRequirementsInfo2 & operator=(VkBufferMemoryRequirementsInfo2 const &rhs) VULKAN_HPP_NOEXCEPT
struct VkViewportWScalingNV VkViewportWScalingNV
struct VkXYColorEXT VkXYColorEXT
VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationStateCreateInfo & setLineWidth(float lineWidth_) VULKAN_HPP_NOEXCEPT
bool operator==(PipelineCacheHeaderVersionOne const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDevicePushDescriptorPropertiesKHR(uint32_t maxPushDescriptors_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceConditionalRenderingFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(Extent2D const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 TilePropertiesQCOM & setOrigin(VULKAN_HPP_NAMESPACE::Offset2D const &origin_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceCooperativeMatrixPropertiesNV const &rhs) const VULKAN_HPP_NOEXCEPT
PipelineShaderStageModuleIdentifierCreateInfoEXT & operator=(VkPipelineShaderStageModuleIdentifierCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceShaderIntegerDotProductProperties VkPhysicalDeviceShaderIntegerDotProductProperties
struct VkPhysicalDevicePushDescriptorPropertiesKHR VkPhysicalDevicePushDescriptorPropertiesKHR
SubpassDescription & setPreserveAttachments(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &preserveAttachments_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceImage2DViewOf3DFeaturesEXT(VkPhysicalDeviceImage2DViewOf3DFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkRenderPassCreateInfo VkRenderPassCreateInfo
VULKAN_HPP_CONSTEXPR_14 SubpassDependency2 & setViewOffset(int32_t viewOffset_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassInputAttachmentAspectCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
ViewportWScalingNV & operator=(VkViewportWScalingNV const &rhs) VULKAN_HPP_NOEXCEPT
SpecializationMapEntry & operator=(VkSpecializationMapEntry const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::CopyMicromapModeEXT mode
struct VkClearRect VkClearRect
struct VkImageFormatProperties VkImageFormatProperties
bool operator==(DeviceGroupRenderPassBeginInfo const &rhs) const VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
AttachmentSampleCountInfoAMD & operator=(VkAttachmentSampleCountInfoAMD const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationStateCreateInfo & setCullMode(VULKAN_HPP_NAMESPACE::CullModeFlags cullMode_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PerformanceCounterResultKHR & setUint32(uint32_t uint32_) VULKAN_HPP_NOEXCEPT
bool operator==(ImageViewCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorUpdateTemplateCreateInfo & setFlags(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateFlags flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan13Features & setMaintenance4(VULKAN_HPP_NAMESPACE::Bool32 maintenance4_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceDynamicRenderingFeatures(VULKAN_HPP_NAMESPACE::Bool32 dynamicRendering_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
AccelerationStructureMatrixMotionInstanceNV(VkAccelerationStructureMatrixMotionInstanceNV const &rhs) VULKAN_HPP_NOEXCEPT
SemaphoreTypeCreateInfo & operator=(VkSemaphoreTypeCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
PerformanceCounterKHR(VkPerformanceCounterKHR const &rhs) VULKAN_HPP_NOEXCEPT
WriteDescriptorSetAccelerationStructureNV & setAccelerationStructures(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::AccelerationStructureNV > const &accelerationStructures_) VULKAN_HPP_NOEXCEPT
AcquireProfilingLockInfoKHR & operator=(AcquireProfilingLockInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR PhysicalDevice16BitStorageFeatures(VULKAN_HPP_NAMESPACE::Bool32 storageBuffer16BitAccess_={}, VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer16BitAccess_={}, VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant16_={}, VULKAN_HPP_NAMESPACE::Bool32 storageInputOutput16_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
SamplerCreateInfo(VkSamplerCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyImageToBufferInfo2 & setRegionCount(uint32_t regionCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceDeviceMemoryReportCreateInfoEXT & setPUserData(void *pUserData_) VULKAN_HPP_NOEXCEPT
PipelineFragmentShadingRateStateCreateInfoKHR(VkPipelineFragmentShadingRateStateCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
const VkDescriptorAddressInfoEXT * pStorageBuffer
VULKAN_HPP_CONSTEXPR_14 SRTDataNV & setSz(float sz_) VULKAN_HPP_NOEXCEPT
CommandBufferSubmitInfo & operator=(CommandBufferSubmitInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
PhysicalDeviceFragmentShadingRateEnumsPropertiesNV(VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceFaultFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 deviceFault_={}, VULKAN_HPP_NAMESPACE::Bool32 deviceFaultVendorBinary_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkRenderPassFragmentDensityMapCreateInfoEXT VkRenderPassFragmentDensityMapCreateInfoEXT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceInvocationMaskFeaturesHUAWEI & setInvocationMask(VULKAN_HPP_NAMESPACE::Bool32 invocationMask_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceDepthClampZeroOneFeaturesEXT VkPhysicalDeviceDepthClampZeroOneFeaturesEXT
CommandBufferInheritanceInfo & operator=(VkCommandBufferInheritanceInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorBufferBindingInfoEXT & setUsage(VULKAN_HPP_NAMESPACE::BufferUsageFlags usage_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceFragmentShadingRateEnumsFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ExternalMemoryImageCreateInfo(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags handleTypes_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkVideoSessionParametersCreateInfoKHR VkVideoSessionParametersCreateInfoKHR
VULKAN_HPP_CONSTEXPR_14 SubpassDescription2 & setPColorAttachments(const VULKAN_HPP_NAMESPACE::AttachmentReference2 *pColorAttachments_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentDensityMapPropertiesEXT(VULKAN_HPP_NAMESPACE::Extent2D minFragmentDensityTexelSize_={}, VULKAN_HPP_NAMESPACE::Extent2D maxFragmentDensityTexelSize_={}, VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityInvocations_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceMultiDrawPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceMemoryProperties2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PresentIdKHR(uint32_t swapchainCount_={}, const uint64_t *pPresentIds_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkDebugMarkerObjectTagInfoEXT VkDebugMarkerObjectTagInfoEXT
VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout
VULKAN_HPP_CONSTEXPR_14 ClearAttachment & setColorAttachment(uint32_t colorAttachment_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassAttachmentBeginInfo & setPAttachments(const VULKAN_HPP_NAMESPACE::ImageView *pAttachments_) VULKAN_HPP_NOEXCEPT
bool operator==(ImageDrmFormatModifierPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
AccelerationStructureVersionInfoKHR & operator=(VkAccelerationStructureVersionInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
ImageViewUsageCreateInfo(VkImageViewUsageCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceComputeShaderDerivativesFeaturesNV(VkPhysicalDeviceComputeShaderDerivativesFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDevicePipelineExecutablePropertiesFeaturesKHR & operator=(VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR const &rhs) VULKAN_HPP_NOEXCEPT
struct VkVideoDecodeUsageInfoKHR VkVideoDecodeUsageInfoKHR
PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT(VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MemoryBarrier2 & setSrcAccessMask(VULKAN_HPP_NAMESPACE::AccessFlags2 srcAccessMask_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineCoverageToColorStateCreateInfoNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
DescriptorSetLayoutBindingFlagsCreateInfo(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::DescriptorBindingFlags > const &bindingFlags_, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 PipelineFragmentShadingRateStateCreateInfoKHR & setFragmentSize(VULKAN_HPP_NAMESPACE::Extent2D const &fragmentSize_) VULKAN_HPP_NOEXCEPT
bool operator==(CopyCommandTransformInfoQCOM const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 WriteDescriptorSet & setDescriptorCount(uint32_t descriptorCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePipelinePropertiesFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
PipelineDepthStencilStateCreateInfo & operator=(VkPipelineDepthStencilStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
PipelineViewportDepthClipControlCreateInfoEXT(VkPipelineViewportDepthClipControlCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubpassDescription2 & setPResolveAttachments(const VULKAN_HPP_NAMESPACE::AttachmentReference2 *pResolveAttachments_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
VULKAN_HPP_CONSTEXPR_14 SubpassDescription2 & setPPreserveAttachments(const uint32_t *pPreserveAttachments_) VULKAN_HPP_NOEXCEPT
Extent2D & operator=(VkExtent2D const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(BindIndexBufferIndirectCommandNV const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceShaderModuleIdentifierFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
DescriptorSetLayoutBinding(uint32_t binding_, VULKAN_HPP_NAMESPACE::DescriptorType descriptorType_, VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Sampler > const &immutableSamplers_)
VULKAN_HPP_CONSTEXPR PhysicalDeviceSparseProperties(VULKAN_HPP_NAMESPACE::Bool32 residencyStandard2DBlockShape_={}, VULKAN_HPP_NAMESPACE::Bool32 residencyStandard2DMultisampleBlockShape_={}, VULKAN_HPP_NAMESPACE::Bool32 residencyStandard3DBlockShape_={}, VULKAN_HPP_NAMESPACE::Bool32 residencyAlignedMipSize_={}, VULKAN_HPP_NAMESPACE::Bool32 residencyNonResidentStrict_={}) VULKAN_HPP_NOEXCEPT
bool operator!=(RenderPassSubpassFeedbackCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(DrmFormatModifierPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(DebugUtilsMessengerCallbackDataEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkAccelerationStructureMotionInstanceNV VkAccelerationStructureMotionInstanceNV
RenderPassSampleLocationsBeginInfoEXT & setAttachmentInitialSampleLocations(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::AttachmentSampleLocationsEXT > const &attachmentInitialSampleLocations_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceConditionalRenderingFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryKHR(VULKAN_HPP_NAMESPACE::GeometryTypeKHR geometryType_=VULKAN_HPP_NAMESPACE::GeometryTypeKHR::eTriangles, VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryDataKHR geometry_={}, VULKAN_HPP_NAMESPACE::GeometryFlagsKHR flags_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceImageRobustnessFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceDrmPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
FragmentShadingRateAttachmentInfoKHR & operator=(VkFragmentShadingRateAttachmentInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageCopy2 & setDstOffset(VULKAN_HPP_NAMESPACE::Offset3D const &dstOffset_) VULKAN_HPP_NOEXCEPT
MicromapTriangleEXT & operator=(VkMicromapTriangleEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState3FeaturesEXT & setExtendedDynamicState3ColorBlendAdvanced(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ColorBlendAdvanced_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BindImagePlaneMemoryInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferMemoryRequirementsInfo2 & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceInlineUniformBlockProperties const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
bool operator!=(ApplicationInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageCreateInfo & setUsage(VULKAN_HPP_NAMESPACE::ImageUsageFlags usage_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setShaderResourceMinLod(VULKAN_HPP_NAMESPACE::Bool32 shaderResourceMinLod_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setIndependentBlend(VULKAN_HPP_NAMESPACE::Bool32 independentBlend_) VULKAN_HPP_NOEXCEPT
struct VkSubpassEndInfo VkSubpassEndInfo
PhysicalDeviceAmigoProfilingFeaturesSEC & operator=(VkPhysicalDeviceAmigoProfilingFeaturesSEC const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorBufferBindingInfoEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
OpaqueCaptureDescriptorDataCreateInfoEXT(VkOpaqueCaptureDescriptorDataCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceSize dstOffset
VULKAN_HPP_CONSTEXPR_14 SurfaceCapabilitiesPresentBarrierNV & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceLimits VkPhysicalDeviceLimits
VULKAN_HPP_CONSTEXPR_14 DependencyInfo & setPImageMemoryBarriers(const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier2 *pImageMemoryBarriers_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ArrayWrapper2D< float, 3, 4 > matrix
VULKAN_HPP_CONSTEXPR_14 TraceRaysIndirectCommand2KHR & setDepth(uint32_t depth_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier2 & setSrcQueueFamilyIndex(uint32_t srcQueueFamilyIndex_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceShaderSMBuiltinsPropertiesNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubmitInfo & setPSignalSemaphores(const VULKAN_HPP_NAMESPACE::Semaphore *pSignalSemaphores_) VULKAN_HPP_NOEXCEPT
struct VkRefreshCycleDurationGOOGLE VkRefreshCycleDurationGOOGLE
InstanceCreateInfo & setPEnabledExtensionNames(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const char *const > const &pEnabledExtensionNames_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSparseImageFormatInfo2 & setUsage(VULKAN_HPP_NAMESPACE::ImageUsageFlags usage_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorSetBindingReferenceVALVE & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
DescriptorSetLayoutBinding & operator=(DescriptorSetLayoutBinding const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_NAMESPACE::BlendFactor dstColorBlendFactor
VULKAN_HPP_CONSTEXPR_14 SubpassDescription & setPResolveAttachments(const VULKAN_HPP_NAMESPACE::AttachmentReference *pResolveAttachments_) VULKAN_HPP_NOEXCEPT
struct VkAccelerationStructureInfoNV VkAccelerationStructureInfoNV
AccelerationStructureSRTMotionInstanceNV & operator=(AccelerationStructureSRTMotionInstanceNV const &rhs) VULKAN_HPP_NOEXCEPT=default
struct VkGeometryAABBNV VkGeometryAABBNV
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentShadingRateEnumsPropertiesNV & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(ExternalBufferProperties const &rhs) const VULKAN_HPP_NOEXCEPT
TimelineSemaphoreSubmitInfo(VkTimelineSemaphoreSubmitInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageViewMinLodCreateInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineTessellationStateCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
DisplayModePropertiesKHR & operator=(VkDisplayModePropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceSurfaceInfo2KHR & operator=(VkPhysicalDeviceSurfaceInfo2KHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AabbPositionsKHR & setMaxZ(float maxZ_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePresentBarrierFeaturesNV & setPresentBarrier(VULKAN_HPP_NAMESPACE::Bool32 presentBarrier_) VULKAN_HPP_NOEXCEPT
union VkClearColorValue VkClearColorValue
const VULKAN_HPP_NAMESPACE::Semaphore * pWaitSemaphores
bool operator!=(BindIndexBufferIndirectCommandNV const &rhs) const VULKAN_HPP_NOEXCEPT
AccelerationStructureBuildGeometryInfoKHR(VULKAN_HPP_NAMESPACE::AccelerationStructureTypeKHR type_, VULKAN_HPP_NAMESPACE::BuildAccelerationStructureFlagsKHR flags_, VULKAN_HPP_NAMESPACE::BuildAccelerationStructureModeKHR mode_, VULKAN_HPP_NAMESPACE::AccelerationStructureKHR srcAccelerationStructure_, VULKAN_HPP_NAMESPACE::AccelerationStructureKHR dstAccelerationStructure_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryKHR > const &geometries_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryKHR *const > const &pGeometries_={}, VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR scratchData_={}, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorBufferFeaturesEXT & setDescriptorBufferCaptureReplay(VULKAN_HPP_NAMESPACE::Bool32 descriptorBufferCaptureReplay_) VULKAN_HPP_NOEXCEPT
GLenum GLuint GLint GLint layer
Definition: glcorearb.h:1299
DescriptorSetLayoutSupport & operator=(VkDescriptorSetLayoutSupport const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SemaphoreCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkDisplayProperties2KHR VkDisplayProperties2KHR
PhysicalDeviceVertexInputDynamicStateFeaturesEXT(VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassSampleLocationsBeginInfoEXT & setPostSubpassSampleLocationsCount(uint32_t postSubpassSampleLocationsCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DrawIndexedIndirectCommand & setFirstInstance(uint32_t firstInstance_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassSubpassFeedbackCreateInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceCooperativeMatrixFeaturesNV(VkPhysicalDeviceCooperativeMatrixFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
PipelineRenderingCreateInfo(uint32_t viewMask_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Format > const &colorAttachmentFormats_, VULKAN_HPP_NAMESPACE::Format depthAttachmentFormat_=VULKAN_HPP_NAMESPACE::Format::eUndefined, VULKAN_HPP_NAMESPACE::Format stencilAttachmentFormat_=VULKAN_HPP_NAMESPACE::Format::eUndefined, const void *pNext_=nullptr)
BindAccelerationStructureMemoryInfoNV & operator=(BindAccelerationStructureMemoryInfoNV const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan13Features & setTextureCompressionASTC_HDR(VULKAN_HPP_NAMESPACE::Bool32 textureCompressionASTC_HDR_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDepthClipControlFeaturesEXT & setDepthClipControl(VULKAN_HPP_NAMESPACE::Bool32 depthClipControl_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceDepthClipEnableFeaturesEXT & operator=(VkPhysicalDeviceDepthClipEnableFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorGetInfoEXT & setData(VULKAN_HPP_NAMESPACE::DescriptorDataEXT const &data_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setStoragePushConstant8(VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant8_) VULKAN_HPP_NOEXCEPT
IMATH_HOSTDEVICE constexpr int cmp(T a, T b) IMATH_NOEXCEPT
Definition: ImathFun.h:84
VULKAN_HPP_CONSTEXPR PhysicalDeviceConditionalRenderingFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 conditionalRendering_={}, VULKAN_HPP_NAMESPACE::Bool32 inheritedConditionalRendering_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ExternalMemoryImageCreateInfoNV(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleTypes_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 FramebufferAttachmentImageInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorBufferInfo & setRange(VULKAN_HPP_NAMESPACE::DeviceSize range_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR CommandBufferInheritanceRenderPassTransformInfoQCOM(VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR transform_=VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR::eIdentity, VULKAN_HPP_NAMESPACE::Rect2D renderArea_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PerformanceValueINTEL & setType(VULKAN_HPP_NAMESPACE::PerformanceValueTypeINTEL type_) VULKAN_HPP_NOEXCEPT
BindVertexBufferIndirectCommandNV & operator=(VkBindVertexBufferIndirectCommandNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(ShaderStatisticsInfoAMD const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(DeviceFaultCountsEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(SemaphoreGetFdInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkCommandBufferInheritanceViewportScissorInfoNV VkCommandBufferInheritanceViewportScissorInfoNV
DescriptorSetLayoutHostMappingInfoVALVE & operator=(DescriptorSetLayoutHostMappingInfoVALVE const &rhs) VULKAN_HPP_NOEXCEPT=default
PipelineExecutableInfoKHR & operator=(VkPipelineExecutableInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
WriteDescriptorSetAccelerationStructureNV(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::AccelerationStructureNV > const &accelerationStructures_, const void *pNext_=nullptr)
struct VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfo
VULKAN_HPP_CONSTEXPR_14 DeviceFaultCountsEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDevicePresentWaitFeaturesKHR(VULKAN_HPP_NAMESPACE::Bool32 presentWait_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DedicatedAllocationImageCreateInfoNV & setDedicatedAllocation(VULKAN_HPP_NAMESPACE::Bool32 dedicatedAllocation_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GeneratedCommandsInfoNV & setStreamCount(uint32_t streamCount_) VULKAN_HPP_NOEXCEPT
bool operator==(AccelerationStructureBuildSizesInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceCustomBorderColorFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineDynamicStateCreateInfo & setFlags(VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateFlags flags_) VULKAN_HPP_NOEXCEPT
bool operator!=(DisplaySurfaceCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR BufferMemoryBarrier(VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask_={}, VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_={}, uint32_t srcQueueFamilyIndex_={}, uint32_t dstQueueFamilyIndex_={}, VULKAN_HPP_NAMESPACE::Buffer buffer_={}, VULKAN_HPP_NAMESPACE::DeviceSize offset_={}, VULKAN_HPP_NAMESPACE::DeviceSize size_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PipelineViewportStateCreateInfo(VkPipelineViewportStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceDepthClipEnableFeaturesEXT VkPhysicalDeviceDepthClipEnableFeaturesEXT
MemoryHostPointerPropertiesEXT & operator=(VkMemoryHostPointerPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
CopyBufferToImageInfo2(VULKAN_HPP_NAMESPACE::Buffer srcBuffer_, VULKAN_HPP_NAMESPACE::Image dstImage_, VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::BufferImageCopy2 > const &regions_, const void *pNext_=nullptr)
PhysicalDeviceShaderCoreBuiltinsFeaturesARM(VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM const &rhs) VULKAN_HPP_NOEXCEPT
CopyBufferToImageInfo2 & operator=(VkCopyBufferToImageInfo2 const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineExecutableInfoKHR & setPipeline(VULKAN_HPP_NAMESPACE::Pipeline pipeline_) VULKAN_HPP_NOEXCEPT
struct VkDependencyInfo VkDependencyInfo
AccelerationStructureMemoryRequirementsInfoNV & operator=(VkAccelerationStructureMemoryRequirementsInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceExternalImageFormatInfo(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_=VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 IndirectCommandsLayoutTokenNV & setPushconstantSize(uint32_t pushconstantSize_) VULKAN_HPP_NOEXCEPT
AccelerationStructureMotionInstanceNV(VkAccelerationStructureMotionInstanceNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderingAttachmentInfo & setResolveImageLayout(VULKAN_HPP_NAMESPACE::ImageLayout resolveImageLayout_) VULKAN_HPP_NOEXCEPT
bool operator!=(BufferImageCopy2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DeviceMemoryOpaqueCaptureAddressInfo(VULKAN_HPP_NAMESPACE::DeviceMemory memory_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DisplayEventInfoEXT(VULKAN_HPP_NAMESPACE::DisplayEventTypeEXT displayEvent_=VULKAN_HPP_NAMESPACE::DisplayEventTypeEXT::eFirstPixelOut, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkOpticalFlowExecuteInfoNV VkOpticalFlowExecuteInfoNV
PipelineShaderStageModuleIdentifierCreateInfoEXT(VkPipelineShaderStageModuleIdentifierCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct _cl_event * event
Definition: glcorearb.h:2961
VULKAN_HPP_CONSTEXPR_14 WriteDescriptorSet & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceTexelBufferAlignmentProperties(VkPhysicalDeviceTexelBufferAlignmentProperties const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDevice16BitStorageFeatures & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMeshShaderPropertiesEXT(uint32_t maxTaskWorkGroupTotalCount_={}, std::array< uint32_t, 3 > const &maxTaskWorkGroupCount_={}, uint32_t maxTaskWorkGroupInvocations_={}, std::array< uint32_t, 3 > const &maxTaskWorkGroupSize_={}, uint32_t maxTaskPayloadSize_={}, uint32_t maxTaskSharedMemorySize_={}, uint32_t maxTaskPayloadAndSharedMemorySize_={}, uint32_t maxMeshWorkGroupTotalCount_={}, std::array< uint32_t, 3 > const &maxMeshWorkGroupCount_={}, uint32_t maxMeshWorkGroupInvocations_={}, std::array< uint32_t, 3 > const &maxMeshWorkGroupSize_={}, uint32_t maxMeshSharedMemorySize_={}, uint32_t maxMeshPayloadAndSharedMemorySize_={}, uint32_t maxMeshOutputMemorySize_={}, uint32_t maxMeshPayloadAndOutputMemorySize_={}, uint32_t maxMeshOutputComponents_={}, uint32_t maxMeshOutputVertices_={}, uint32_t maxMeshOutputPrimitives_={}, uint32_t maxMeshOutputLayers_={}, uint32_t maxMeshMultiviewViewCount_={}, uint32_t meshOutputPerVertexGranularity_={}, uint32_t meshOutputPerPrimitiveGranularity_={}, uint32_t maxPreferredTaskWorkGroupInvocations_={}, uint32_t maxPreferredMeshWorkGroupInvocations_={}, VULKAN_HPP_NAMESPACE::Bool32 prefersLocalInvocationVertexOutput_={}, VULKAN_HPP_NAMESPACE::Bool32 prefersLocalInvocationPrimitiveOutput_={}, VULKAN_HPP_NAMESPACE::Bool32 prefersCompactVertexOutput_={}, VULKAN_HPP_NAMESPACE::Bool32 prefersCompactPrimitiveOutput_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2
bool operator==(InstanceCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT & operator=(VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDevice16BitStorageFeatures & setUniformAndStorageBuffer16BitAccess(VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer16BitAccess_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyMicromapInfoEXT & setMode(VULKAN_HPP_NAMESPACE::CopyMicromapModeEXT mode_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceUniformBufferStandardLayoutFeatures & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(CopyAccelerationStructureInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineShaderStageModuleIdentifierCreateInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceExtendedDynamicState3FeaturesEXT & operator=(VkPhysicalDeviceExtendedDynamicState3FeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
CoarseSampleOrderCustomNV & operator=(VkCoarseSampleOrderCustomNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceDiscardRectanglePropertiesEXT(uint32_t maxDiscardRectangles_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyImageInfo2 & setRegionCount(uint32_t regionCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DrawMeshTasksIndirectCommandEXT & setGroupCountX(uint32_t groupCountX_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorUpdateTemplateEntry & setDstBinding(uint32_t dstBinding_) VULKAN_HPP_NOEXCEPT
ImageDrmFormatModifierPropertiesEXT & operator=(VkImageDrmFormatModifierPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(GeneratedCommandsMemoryRequirementsInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImportFenceFdInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
ExternalSemaphoreProperties(VkExternalSemaphoreProperties const &rhs) VULKAN_HPP_NOEXCEPT
RenderingInfo & operator=(VkRenderingInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo stage
VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier2 & setDstQueueFamilyIndex(uint32_t dstQueueFamilyIndex_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceImage2DViewOf3DFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkFramebufferMixedSamplesCombinationNV VkFramebufferMixedSamplesCombinationNV
VULKAN_HPP_CONSTEXPR_14 BufferImageCopy & setBufferOffset(VULKAN_HPP_NAMESPACE::DeviceSize bufferOffset_) VULKAN_HPP_NOEXCEPT
bool operator==(RenderingFragmentShadingRateAttachmentInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineShaderStageRequiredSubgroupSizeCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkFormatProperties VkFormatProperties
VULKAN_HPP_CONSTEXPR DebugReportCallbackCreateInfoEXT(VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT flags_={}, PFN_vkDebugReportCallbackEXT pfnCallback_={}, void *pUserData_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceBlendOperationAdvancedFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderAtomicFloat2FeaturesEXT & setShaderBufferFloat32AtomicMinMax(VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat32AtomicMinMax_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceDepthClipControlFeaturesEXT VkPhysicalDeviceDepthClipControlFeaturesEXT
VULKAN_HPP_CONSTEXPR_14 IndirectCommandsStreamNV & setBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT VkPhysicalDeviceFragmentDensityMapFeaturesEXT
VULKAN_HPP_CONSTEXPR_14 CommandBufferBeginInfo & setPInheritanceInfo(const VULKAN_HPP_NAMESPACE::CommandBufferInheritanceInfo *pInheritanceInfo_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderAtomicFloat2FeaturesEXT & setSparseImageFloat32AtomicMinMax(VULKAN_HPP_NAMESPACE::Bool32 sparseImageFloat32AtomicMinMax_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceInlineUniformBlockFeatures & setDescriptorBindingInlineUniformBlockUpdateAfterBind(VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingInlineUniformBlockUpdateAfterBind_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubpassDependency2 & setSrcSubpass(uint32_t srcSubpass_) VULKAN_HPP_NOEXCEPT
FramebufferCreateInfo & operator=(VkFramebufferCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
FramebufferAttachmentImageInfo & setViewFormats(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Format > const &viewFormats_) VULKAN_HPP_NOEXCEPT
FormatProperties3(VkFormatProperties3 const &rhs) VULKAN_HPP_NOEXCEPT
struct VkImageMemoryBarrier2 VkImageMemoryBarrier2
DescriptorSetLayoutCreateInfo & setBindings(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutBinding > const &bindings_) VULKAN_HPP_NOEXCEPT
ExtensionProperties & operator=(VkExtensionProperties const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SetStateFlagsIndirectCommandNV(uint32_t data_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT & setPSampledImage(const VULKAN_HPP_NAMESPACE::DescriptorImageInfo *pSampledImage_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ClearColorValue(const std::array< float, 4 > &float32_={})
const struct VULKAN_HPP_NAMESPACE::BaseInStructure * pNext
QueueFamilyCheckpointPropertiesNV & operator=(VkQueueFamilyCheckpointPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceFragmentShadingRateEnumsFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 FramebufferCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderingFragmentDensityMapAttachmentInfoEXT & setImageView(VULKAN_HPP_NAMESPACE::ImageView imageView_) VULKAN_HPP_NOEXCEPT
struct VkOpticalFlowImageFormatInfoNV VkOpticalFlowImageFormatInfoNV
VULKAN_HPP_CONSTEXPR_14 ExportMemoryAllocateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 QueueFamilyGlobalPriorityPropertiesKHR & setPriorities(std::array< VULKAN_HPP_NAMESPACE::QueueGlobalPriorityKHR, VK_MAX_GLOBAL_PRIORITY_SIZE_KHR > priorities_) VULKAN_HPP_NOEXCEPT
PrivateDataSlotCreateInfo & operator=(VkPrivateDataSlotCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceLineRasterizationFeaturesEXT & setStippledBresenhamLines(VULKAN_HPP_NAMESPACE::Bool32 stippledBresenhamLines_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState3FeaturesEXT & setExtendedDynamicState3ShadingRateImageEnable(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ShadingRateImageEnable_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 IndirectCommandsLayoutCreateInfoNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCallbackDataEXT & setCmdBufLabelCount(uint32_t cmdBufLabelCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCornerSampledImageFeaturesNV & setCornerSampledImage(VULKAN_HPP_NAMESPACE::Bool32 cornerSampledImage_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDevicePipelineCreationCacheControlFeatures(VULKAN_HPP_NAMESPACE::Bool32 pipelineCreationCacheControl_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setDepthClamp(VULKAN_HPP_NAMESPACE::Bool32 depthClamp_) VULKAN_HPP_NOEXCEPT
SubpassFragmentDensityMapOffsetEndInfoQCOM & operator=(VkSubpassFragmentDensityMapOffsetEndInfoQCOM const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PipelineViewportCoarseSampleOrderStateCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(AcquireNextImageInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceAccelerationStructurePropertiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceTransformFeedbackFeaturesEXT(VkPhysicalDeviceTransformFeedbackFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageResolve2 & setDstOffset(VULKAN_HPP_NAMESPACE::Offset3D const &dstOffset_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ColorBlendEquationEXT & setColorBlendOp(VULKAN_HPP_NAMESPACE::BlendOp colorBlendOp_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT & operator=(VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SamplerCreateInfo & setCompareEnable(VULKAN_HPP_NAMESPACE::Bool32 compareEnable_) VULKAN_HPP_NOEXCEPT
BindAccelerationStructureMemoryInfoNV(VkBindAccelerationStructureMemoryInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCoverageReductionModeFeaturesNV & setCoverageReductionMode(VULKAN_HPP_NAMESPACE::Bool32 coverageReductionMode_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 IndirectCommandsLayoutTokenNV & setTokenType(VULKAN_HPP_NAMESPACE::IndirectCommandsTokenTypeNV tokenType_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PresentTimesInfoGOOGLE & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceDescriptorBufferFeaturesEXT & operator=(VkPhysicalDeviceDescriptorBufferFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CuLaunchInfoNVX & setBlockDimX(uint32_t blockDimX_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DescriptorPoolCreateFlags flags
BindImageMemoryInfo & operator=(VkBindImageMemoryInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDevicePipelineProtectedAccessFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 pipelineProtectedAccess_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMeshShaderFeaturesNV & setTaskShader(VULKAN_HPP_NAMESPACE::Bool32 taskShader_) VULKAN_HPP_NOEXCEPT
BaseInStructure & operator=(VkBaseInStructure const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DescriptorType type
bool operator==(ConformanceVersion const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::GeometryFlagsKHR flags
VULKAN_HPP_CONSTEXPR DedicatedAllocationImageCreateInfoNV(VULKAN_HPP_NAMESPACE::Bool32 dedicatedAllocation_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
PhysicalDevicePipelineRobustnessFeaturesEXT(VkPhysicalDevicePipelineRobustnessFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SamplerCreateInfo & setMaxAnisotropy(float maxAnisotropy_) VULKAN_HPP_NOEXCEPT
struct VkClearAttachment VkClearAttachment
VULKAN_HPP_CONSTEXPR_14 TraceRaysIndirectCommandKHR & setWidth(uint32_t width_) VULKAN_HPP_NOEXCEPT
bool operator==(CopyMemoryToImageIndirectCommandNV const &rhs) const VULKAN_HPP_NOEXCEPT
QueryPoolCreateInfo(VkQueryPoolCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderAtomicInt64Features(VkPhysicalDeviceShaderAtomicInt64Features const &rhs) VULKAN_HPP_NOEXCEPT
BindSparseInfo & operator=(BindSparseInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 BufferCreateInfo & setSharingMode(VULKAN_HPP_NAMESPACE::SharingMode sharingMode_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceShaderDrawParametersFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceExternalMemoryRDMAFeaturesNV(VULKAN_HPP_NAMESPACE::Bool32 externalMemoryRDMA_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RayTracingPipelineCreateInfoKHR & setStageCount(uint32_t stageCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 HdrMetadataEXT & setWhitePoint(VULKAN_HPP_NAMESPACE::XYColorEXT const &whitePoint_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineLayoutCreateInfo(VULKAN_HPP_NAMESPACE::PipelineLayoutCreateFlags flags_={}, uint32_t setLayoutCount_={}, const VULKAN_HPP_NAMESPACE::DescriptorSetLayout *pSetLayouts_={}, uint32_t pushConstantRangeCount_={}, const VULKAN_HPP_NAMESPACE::PushConstantRange *pPushConstantRanges_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(ImageStencilUsageCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
DeviceGroupSubmitInfo(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &waitSemaphoreDeviceIndices_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &commandBufferDeviceMasks_={}, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &signalSemaphoreDeviceIndices_={}, const void *pNext_=nullptr)
const GLuint const GLfloat * priorities
Definition: glad.h:2944
VULKAN_HPP_CONSTEXPR_14 DeviceQueueGlobalPriorityCreateInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMotionInstanceDataNV & setStaticInstance(VULKAN_HPP_NAMESPACE::AccelerationStructureInstanceKHR const &staticInstance_) VULKAN_HPP_NOEXCEPT
bool operator==(MemoryAllocateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CommandBufferAllocateInfo & setCommandBufferCount(uint32_t commandBufferCount_) VULKAN_HPP_NOEXCEPT
bool operator!=(SubpassShadingPipelineCreateInfoHUAWEI const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 HdrMetadataEXT & setDisplayPrimaryGreen(VULKAN_HPP_NAMESPACE::XYColorEXT const &displayPrimaryGreen_) VULKAN_HPP_NOEXCEPT
DescriptorSetVariableDescriptorCountLayoutSupport(VkDescriptorSetVariableDescriptorCountLayoutSupport const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 OpticalFlowSessionCreatePrivateDataInfoNV & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SwapchainCreateInfoKHR & setSurface(VULKAN_HPP_NAMESPACE::SurfaceKHR surface_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceInlineUniformBlockFeatures(VULKAN_HPP_NAMESPACE::Bool32 inlineUniformBlock_={}, VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingInlineUniformBlockUpdateAfterBind_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
bool operator!=(MultiviewPerViewAttributesInfoNVX const &rhs) const VULKAN_HPP_NOEXCEPT
DeviceMemoryReportCallbackDataEXT & operator=(VkDeviceMemoryReportCallbackDataEXT const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceRayTracingInvocationReorderFeaturesNV & operator=(VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
ResolveImageInfo2(VkResolveImageInfo2 const &rhs) VULKAN_HPP_NOEXCEPT
VertexInputAttributeDescription2EXT(VkVertexInputAttributeDescription2EXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceCopyMemoryIndirectFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceImageRobustnessFeatures(VkPhysicalDeviceImageRobustnessFeatures const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(MultisamplePropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ExternalMemoryImageCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyBufferToImageInfo2 & setDstImage(VULKAN_HPP_NAMESPACE::Image dstImage_) VULKAN_HPP_NOEXCEPT
BindAccelerationStructureMemoryInfoNV & setDeviceIndices(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &deviceIndices_) VULKAN_HPP_NOEXCEPT
DescriptorSetLayoutBinding(VkDescriptorSetLayoutBinding const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT
PhysicalDeviceExternalSemaphoreInfo & operator=(VkPhysicalDeviceExternalSemaphoreInfo const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceExtendedDynamicState3PropertiesEXT(VkPhysicalDeviceExtendedDynamicState3PropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT(VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(ExternalFenceProperties const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(OpticalFlowImageFormatInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(DescriptorSetLayoutCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ColorBlendAdvancedEXT & setDstPremultiplied(VULKAN_HPP_NAMESPACE::Bool32 dstPremultiplied_) VULKAN_HPP_NOEXCEPT
SubpassDescription & setResolveAttachments(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::AttachmentReference > const &resolveAttachments_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImportSemaphoreFdInfoKHR & setSemaphore(VULKAN_HPP_NAMESPACE::Semaphore semaphore_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GraphicsPipelineLibraryCreateInfoEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ValidationFlagsEXT(uint32_t disabledValidationCheckCount_={}, const VULKAN_HPP_NAMESPACE::ValidationCheckEXT *pDisabledValidationChecks_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDevicePCIBusInfoPropertiesEXT VkPhysicalDevicePCIBusInfoPropertiesEXT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderAtomicFloat2FeaturesEXT & setShaderSharedFloat16Atomics(VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat16Atomics_) VULKAN_HPP_NOEXCEPT
struct VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfo
bool operator==(PipelineShaderStageRequiredSubgroupSizeCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
MappedMemoryRange & operator=(VkMappedMemoryRange const &rhs) VULKAN_HPP_NOEXCEPT
struct VkImageCreateInfo VkImageCreateInfo
VULKAN_HPP_CONSTEXPR_14 PhysicalDevice8BitStorageFeatures & setUniformAndStorageBuffer8BitAccess(VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer8BitAccess_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint
VULKAN_HPP_CONSTEXPR_14 MemoryGetRemoteAddressInfoNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
CopyMemoryToMicromapInfoEXT(VkCopyMemoryToMicromapInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceSubpassShadingPropertiesHUAWEI const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceImageDrmFormatModifierInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 RenderPassCreationControlEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(ImageViewSampleWeightCreateInfoQCOM const &rhs) const VULKAN_HPP_NOEXCEPT
void *(VKAPI_PTR * PFN_vkAllocationFunction)(void *pUserData, size_t size, size_t alignment, VkSystemAllocationScope allocationScope)
Definition: vulkan_core.h:2889
struct VkDeviceQueueCreateInfo VkDeviceQueueCreateInfo
VULKAN_HPP_NAMESPACE::ArrayWrapper1D< VULKAN_HPP_NAMESPACE::Offset3D, 2 > dstOffsets
bool operator!=(DisplayPowerInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyBufferToImageInfo2 & setDstImageLayout(VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceMaintenance4Properties const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceCopyMemoryIndirectFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceColorWriteEnableFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(ImageSubresource2EXT const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceMemoryDecompressionFeaturesNV & operator=(VkPhysicalDeviceMemoryDecompressionFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SRTDataNV & setPvy(float pvy_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SwapchainCounterCreateInfoEXT(VULKAN_HPP_NAMESPACE::SurfaceCounterFlagsEXT surfaceCounters_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
DisplaySurfaceCreateInfoKHR & operator=(VkDisplaySurfaceCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
DebugReportCallbackCreateInfoEXT(VkDebugReportCallbackCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 VertexInputBindingDescription2EXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderTerminateInvocationFeatures & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
PipelineColorBlendStateCreateInfo(VULKAN_HPP_NAMESPACE::PipelineColorBlendStateCreateFlags flags_, VULKAN_HPP_NAMESPACE::Bool32 logicOpEnable_, VULKAN_HPP_NAMESPACE::LogicOp logicOp_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::PipelineColorBlendAttachmentState > const &attachments_, std::array< float, 4 > const &blendConstants_={}, const void *pNext_=nullptr)
bool operator==(PhysicalDeviceProtectedMemoryProperties const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferCopy & setSize(VULKAN_HPP_NAMESPACE::DeviceSize size_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceDescriptorIndexingFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageCompressionControlFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(DeviceQueueGlobalPriorityCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkExtent3D VkExtent3D
bool operator==(PipelineCoverageToColorStateCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSparseImageFormatInfo2 & setFormat(VULKAN_HPP_NAMESPACE::Format format_) VULKAN_HPP_NOEXCEPT
bool operator==(RayTracingShaderGroupCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineDynamicStateCreateInfo & setDynamicStateCount(uint32_t dynamicStateCount_) VULKAN_HPP_NOEXCEPT
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
Definition: Dimensions.h:137
Extent2D & operator=(Extent2D const &rhs) VULKAN_HPP_NOEXCEPT=default
InstanceCreateInfo(VULKAN_HPP_NAMESPACE::InstanceCreateFlags flags_, const VULKAN_HPP_NAMESPACE::ApplicationInfo *pApplicationInfo_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const char *const > const &pEnabledLayerNames_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const char *const > const &pEnabledExtensionNames_={}, const void *pNext_=nullptr)
VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags
bool operator==(VertexInputAttributeDescription2EXT const &rhs) const VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 VertexInputBindingDescription2EXT & setStride(uint32_t stride_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDiagnosticsConfigFeaturesNV & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceImageViewImageFormatInfoEXT(VULKAN_HPP_NAMESPACE::ImageViewType imageViewType_=VULKAN_HPP_NAMESPACE::ImageViewType::e1D, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorBinaryHeaderVersionOneEXT & setDriverVersion(uint32_t driverVersion_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageMemoryRequirementsInfo2 & setImage(VULKAN_HPP_NAMESPACE::Image image_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorAddressInfoEXT & setFormat(VULKAN_HPP_NAMESPACE::Format format_) VULKAN_HPP_NOEXCEPT
GraphicsPipelineCreateInfo(VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo > const &stages_, const VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo *pVertexInputState_={}, const VULKAN_HPP_NAMESPACE::PipelineInputAssemblyStateCreateInfo *pInputAssemblyState_={}, const VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo *pTessellationState_={}, const VULKAN_HPP_NAMESPACE::PipelineViewportStateCreateInfo *pViewportState_={}, const VULKAN_HPP_NAMESPACE::PipelineRasterizationStateCreateInfo *pRasterizationState_={}, const VULKAN_HPP_NAMESPACE::PipelineMultisampleStateCreateInfo *pMultisampleState_={}, const VULKAN_HPP_NAMESPACE::PipelineDepthStencilStateCreateInfo *pDepthStencilState_={}, const VULKAN_HPP_NAMESPACE::PipelineColorBlendStateCreateInfo *pColorBlendState_={}, const VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateInfo *pDynamicState_={}, VULKAN_HPP_NAMESPACE::PipelineLayout layout_={}, VULKAN_HPP_NAMESPACE::RenderPass renderPass_={}, uint32_t subpass_={}, VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle_={}, int32_t basePipelineIndex_={}, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR SparseImageFormatProperties2(VULKAN_HPP_NAMESPACE::SparseImageFormatProperties properties_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PhysicalDeviceSeparateDepthStencilLayoutsFeatures(VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentDensityMapFeaturesEXT & setFragmentDensityMapNonSubsampledImages(VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMapNonSubsampledImages_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SemaphoreSignalInfo(VULKAN_HPP_NAMESPACE::Semaphore semaphore_={}, uint64_t value_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceDeviceMemoryReportFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceMemoryBudgetPropertiesEXT & operator=(VkPhysicalDeviceMemoryBudgetPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT
VULKAN_HPP_NAMESPACE::StructureType sType
VULKAN_HPP_CONSTEXPR_14 InputAttachmentAspectReference & setInputAttachmentIndex(uint32_t inputAttachmentIndex_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageBlit2(VULKAN_HPP_NAMESPACE::ImageSubresourceLayers srcSubresource_={}, std::array< VULKAN_HPP_NAMESPACE::Offset3D, 2 > const &srcOffsets_={}, VULKAN_HPP_NAMESPACE::ImageSubresourceLayers dstSubresource_={}, std::array< VULKAN_HPP_NAMESPACE::Offset3D, 2 > const &dstOffsets_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::AttachmentLoadOp stencilLoadOp
SemaphoreGetFdInfoKHR & operator=(VkSemaphoreGetFdInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
AccelerationStructureBuildGeometryInfoKHR & setGeometries(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryKHR > const &geometries_) VULKAN_HPP_NOEXCEPT
bool operator!=(MemoryRequirements const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(DescriptorSetLayoutHostMappingInfoVALVE const &rhs) const VULKAN_HPP_NOEXCEPT
SamplerYcbcrConversionInfo(VkSamplerYcbcrConversionInfo const &rhs) VULKAN_HPP_NOEXCEPT
InstanceCreateInfo(VkInstanceCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DecompressMemoryRegionNV & setDecompressedSize(VULKAN_HPP_NAMESPACE::DeviceSize decompressedSize_) VULKAN_HPP_NOEXCEPT
struct VkPipelineColorBlendStateCreateInfo VkPipelineColorBlendStateCreateInfo
VULKAN_HPP_CONSTEXPR_14 ComponentMapping & setB(VULKAN_HPP_NAMESPACE::ComponentSwizzle b_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR src
VULKAN_HPP_CONSTEXPR SemaphoreWaitInfo(VULKAN_HPP_NAMESPACE::SemaphoreWaitFlags flags_={}, uint32_t semaphoreCount_={}, const VULKAN_HPP_NAMESPACE::Semaphore *pSemaphores_={}, const uint64_t *pValues_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PresentTimesInfoGOOGLE(VkPresentTimesInfoGOOGLE const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CuLaunchInfoNVX & setParamCount(size_t paramCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT & setPrimitivesGeneratedQueryWithNonZeroStreams(VULKAN_HPP_NAMESPACE::Bool32 primitivesGeneratedQueryWithNonZeroStreams_) VULKAN_HPP_NOEXCEPT
bool operator!=(DeviceMemoryOpaqueCaptureAddressInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorIndexingFeatures & setShaderStorageTexelBufferArrayDynamicIndexing(VULKAN_HPP_NAMESPACE::Bool32 shaderStorageTexelBufferArrayDynamicIndexing_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::AccelerationStructureCreateFlagsKHR createFlags
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setMultiViewport(VULKAN_HPP_NAMESPACE::Bool32 multiViewport_) VULKAN_HPP_NOEXCEPT
StridedDeviceAddressRegionKHR & operator=(VkStridedDeviceAddressRegionKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SamplerYcbcrConversionCreateInfo & setChromaFilter(VULKAN_HPP_NAMESPACE::Filter chromaFilter_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR & operator=(VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceExternalMemoryRDMAFeaturesNV & operator=(VkPhysicalDeviceExternalMemoryRDMAFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(DescriptorSetAllocateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier2 * pImageMemoryBarriers
VULKAN_HPP_CONSTEXPR_14 RenderingAttachmentInfo & setStoreOp(VULKAN_HPP_NAMESPACE::AttachmentStoreOp storeOp_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceSamplerYcbcrConversionFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(SubmitInfo2 const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceSampleLocationsPropertiesEXT(VkPhysicalDeviceSampleLocationsPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PerformanceOverrideInfoINTEL & setParameter(uint64_t parameter_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineShaderStageRequiredSubgroupSizeCreateInfo(uint32_t requiredSubgroupSize_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX & operator=(VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX const &rhs) VULKAN_HPP_NOEXCEPT
SurfaceFormatKHR & operator=(VkSurfaceFormatKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR FormatProperties2(VULKAN_HPP_NAMESPACE::FormatProperties formatProperties_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 rasterizationOrderColorAttachmentAccess_={}, VULKAN_HPP_NAMESPACE::Bool32 rasterizationOrderDepthAttachmentAccess_={}, VULKAN_HPP_NAMESPACE::Bool32 rasterizationOrderStencilAttachmentAccess_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR QueueFamilyProperties(VULKAN_HPP_NAMESPACE::QueueFlags queueFlags_={}, uint32_t queueCount_={}, uint32_t timestampValidBits_={}, VULKAN_HPP_NAMESPACE::Extent3D minImageTransferGranularity_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RayTracingPipelineCreateInfoKHR & setBasePipelineIndex(int32_t basePipelineIndex_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceCopyMemoryIndirectFeaturesNV & operator=(VkPhysicalDeviceCopyMemoryIndirectFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PerformanceConfigurationAcquireInfoINTEL & setType(VULKAN_HPP_NAMESPACE::PerformanceConfigurationTypeINTEL type_) VULKAN_HPP_NOEXCEPT
bool operator==(BufferMemoryBarrier2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::GeometryDataNV geometry
VULKAN_HPP_CONSTEXPR_14 Viewport & setHeight(float height_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
struct VkExportMemoryWin32HandleInfoKHR VkExportMemoryWin32HandleInfoKHR
ExportFenceCreateInfo(VkExportFenceCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceQueueCreateFlags flags
bool operator==(TimelineSemaphoreSubmitInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 VertexInputBindingDescription & setBinding(uint32_t binding_) VULKAN_HPP_NOEXCEPT
CopyBufferInfo2 & operator=(CopyBufferInfo2 const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator!=(SurfaceProtectedCapabilitiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
PipelineRasterizationStateStreamCreateInfoEXT & operator=(VkPipelineRasterizationStateStreamCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceRobustness2FeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(DeviceFaultVendorInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ImageFormatProperties(VULKAN_HPP_NAMESPACE::Extent3D maxExtent_={}, uint32_t maxMipLevels_={}, uint32_t maxArrayLayers_={}, VULKAN_HPP_NAMESPACE::SampleCountFlags sampleCounts_={}, VULKAN_HPP_NAMESPACE::DeviceSize maxResourceSize_={}) VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineDepthStencilStateCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT & setPrimitiveTopologyPatchListRestart(VULKAN_HPP_NAMESPACE::Bool32 primitiveTopologyPatchListRestart_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setShaderStorageBufferArrayDynamicIndexing(VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayDynamicIndexing_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ValidationFlagsEXT & setPDisabledValidationChecks(const VULKAN_HPP_NAMESPACE::ValidationCheckEXT *pDisabledValidationChecks_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MemoryAllocateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::CommandBufferLevel level
CoarseSampleOrderCustomNV(VULKAN_HPP_NAMESPACE::ShadingRatePaletteEntryNV shadingRate_, uint32_t sampleCount_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::CoarseSampleLocationNV > const &sampleLocations_)
VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationLineStateCreateInfoEXT & setLineRasterizationMode(VULKAN_HPP_NAMESPACE::LineRasterizationModeEXT lineRasterizationMode_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AttachmentDescription & setStoreOp(VULKAN_HPP_NAMESPACE::AttachmentStoreOp storeOp_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceCreateInfo & setEnabledLayerCount(uint32_t enabledLayerCount_) VULKAN_HPP_NOEXCEPT
struct VkAttachmentReference2 VkAttachmentReference2
VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePerformanceQueryFeaturesKHR & setPerformanceCounterMultipleQueryPools(VULKAN_HPP_NAMESPACE::Bool32 performanceCounterMultipleQueryPools_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentShaderInterlockFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 fragmentShaderSampleInterlock_={}, VULKAN_HPP_NAMESPACE::Bool32 fragmentShaderPixelInterlock_={}, VULKAN_HPP_NAMESPACE::Bool32 fragmentShaderShadingRateInterlock_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ComputePipelineCreateInfo & setBasePipelineIndex(int32_t basePipelineIndex_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageResolve & setSrcSubresource(VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const &srcSubresource_) VULKAN_HPP_NOEXCEPT
SwapchainDisplayNativeHdrCreateInfoAMD & operator=(VkSwapchainDisplayNativeHdrCreateInfoAMD const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyDescriptorSet & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(ImageFormatProperties2 const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(ExternalMemoryBufferCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
DeviceGroupSubmitInfo & setSignalSemaphoreDeviceIndices(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &signalSemaphoreDeviceIndices_) VULKAN_HPP_NOEXCEPT
struct VkVideoEncodeH264EmitPictureParametersInfoEXT VkVideoEncodeH264EmitPictureParametersInfoEXT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRobustness2FeaturesEXT & setRobustBufferAccess2(VULKAN_HPP_NAMESPACE::Bool32 robustBufferAccess2_) VULKAN_HPP_NOEXCEPT
PerformanceConfigurationAcquireInfoINTEL(VkPerformanceConfigurationAcquireInfoINTEL const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsProperties
DrawMeshTasksIndirectCommandNV & operator=(VkDrawMeshTasksIndirectCommandNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ClearAttachment & setAspectMask(VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_) VULKAN_HPP_NOEXCEPT
struct VkPipelineExecutablePropertiesKHR VkPipelineExecutablePropertiesKHR
struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
struct VkPhysicalDeviceCooperativeMatrixFeaturesNV VkPhysicalDeviceCooperativeMatrixFeaturesNV
VULKAN_HPP_CONSTEXPR SemaphoreGetFdInfoKHR(VULKAN_HPP_NAMESPACE::Semaphore semaphore_={}, VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType_=VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkStridedDeviceAddressRegionKHR VkStridedDeviceAddressRegionKHR
bool operator==(GraphicsShaderGroupCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
SparseImageOpaqueMemoryBindInfo & setBinds(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SparseMemoryBind > const &binds_) VULKAN_HPP_NOEXCEPT
struct VkSurfaceCapabilitiesKHR VkSurfaceCapabilitiesKHR
bool operator!=(FenceCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
GLint GLsizei GLsizei height
Definition: glcorearb.h:103
AccelerationStructureCreateInfoKHR & operator=(AccelerationStructureCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 AcquireNextImageInfoKHR & setTimeout(uint64_t timeout_) VULKAN_HPP_NOEXCEPT
bool operator==(ImageDrmFormatModifierExplicitCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
PresentInfoKHR & setSwapchains(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SwapchainKHR > const &swapchains_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceSurfaceInfo2KHR(VkPhysicalDeviceSurfaceInfo2KHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyImageInfo2 & setDstImageLayout(VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout_) VULKAN_HPP_NOEXCEPT
bool operator!=(DisplayPlanePropertiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
SparseImageOpaqueMemoryBindInfo & operator=(VkSparseImageOpaqueMemoryBindInfo const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures
bool operator!=(AttachmentSampleLocationsEXT const &rhs) const VULKAN_HPP_NOEXCEPT
CopyAccelerationStructureToMemoryInfoKHR & operator=(VkCopyAccelerationStructureToMemoryInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MultiDrawInfoEXT & setVertexCount(uint32_t vertexCount_) VULKAN_HPP_NOEXCEPT
ExtensionProperties(VkExtensionProperties const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderingFragmentShadingRateAttachmentInfoKHR & setImageLayout(VULKAN_HPP_NAMESPACE::ImageLayout imageLayout_) VULKAN_HPP_NOEXCEPT
bool operator!=(Offset2D const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkVideoEncodeH264CapabilitiesEXT VkVideoEncodeH264CapabilitiesEXT
bool operator==(ExportMemoryAllocateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceExternalFenceInfo const &rhs) const VULKAN_HPP_NOEXCEPT
ImageViewCaptureDescriptorDataInfoEXT & operator=(VkImageViewCaptureDescriptorDataInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfo
PerformanceCounterKHR & operator=(VkPerformanceCounterKHR const &rhs) VULKAN_HPP_NOEXCEPT
DrmFormatModifierPropertiesList2EXT(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< VULKAN_HPP_NAMESPACE::DrmFormatModifierProperties2EXT > const &drmFormatModifierProperties_, void *pNext_=nullptr)
struct __IOSurface * IOSurfaceRef
Definition: vulkan_metal.h:79
bool operator!=(ConformanceVersion const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeatures
bool operator!=(MicromapCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorImageInfo & setSampler(VULKAN_HPP_NAMESPACE::Sampler sampler_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SwapchainCreateInfoKHR & setImageFormat(VULKAN_HPP_NAMESPACE::Format imageFormat_) VULKAN_HPP_NOEXCEPT
ConformanceVersion & operator=(VkConformanceVersion const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState3FeaturesEXT & setExtendedDynamicState3CoverageReductionMode(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3CoverageReductionMode_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DescriptorBufferBindingInfoEXT(VULKAN_HPP_NAMESPACE::DeviceAddress address_={}, VULKAN_HPP_NAMESPACE::BufferUsageFlags usage_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkDirectFBSurfaceCreateInfoEXT VkDirectFBSurfaceCreateInfoEXT
VULKAN_HPP_CONSTEXPR_14 PipelineSampleLocationsStateCreateInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderingInfo & setPDepthAttachment(const VULKAN_HPP_NAMESPACE::RenderingAttachmentInfo *pDepthAttachment_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AabbPositionsKHR & setMaxY(float maxY_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout
VULKAN_HPP_NAMESPACE::DeviceAddress srcAddress
CopyCommandTransformInfoQCOM & operator=(CopyCommandTransformInfoQCOM const &rhs) VULKAN_HPP_NOEXCEPT=default
PipelineRasterizationStateCreateInfo & operator=(VkPipelineRasterizationStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderDemoteToHelperInvocationFeatures(VULKAN_HPP_NAMESPACE::Bool32 shaderDemoteToHelperInvocation_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(PipelineMultisampleStateCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageCopy2 & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BindAccelerationStructureMemoryInfoNV & setMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory_) VULKAN_HPP_NOEXCEPT
bool operator==(MemoryHostPointerPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2
bool operator!=(PhysicalDeviceShaderCorePropertiesAMD const &rhs) const VULKAN_HPP_NOEXCEPT
PipelineDynamicStateCreateInfo(VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateFlags flags_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::DynamicState > const &dynamicStates_, const void *pNext_=nullptr)
PhysicalDeviceProtectedMemoryFeatures & operator=(VkPhysicalDeviceProtectedMemoryFeatures const &rhs) VULKAN_HPP_NOEXCEPT
ImageDrmFormatModifierExplicitCreateInfoEXT & operator=(VkImageDrmFormatModifierExplicitCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ImageLayout layout
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceBufferDeviceAddressFeatures & setBufferDeviceAddressMultiDevice(VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressMultiDevice_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SparseImageOpaqueMemoryBindInfo & setPBinds(const VULKAN_HPP_NAMESPACE::SparseMemoryBind *pBinds_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorBinaryHeaderVersionOneEXT & setDeviceID(uint32_t deviceID_) VULKAN_HPP_NOEXCEPT
struct VkPipelineColorBlendAdvancedStateCreateInfoEXT VkPipelineColorBlendAdvancedStateCreateInfoEXT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setDescriptorIndexing(VULKAN_HPP_NAMESPACE::Bool32 descriptorIndexing_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MicromapTriangleEXT & setDataOffset(uint32_t dataOffset_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Bool32 shaderResourceMinLod
VULKAN_HPP_CONSTEXPR_14 VertexInputBindingDescription2EXT & setDivisor(uint32_t divisor_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceRGBA10X6FormatsFeaturesEXT & operator=(VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceFaultCountsEXT & setVendorBinarySize(VULKAN_HPP_NAMESPACE::DeviceSize vendorBinarySize_) VULKAN_HPP_NOEXCEPT
PipelineViewportShadingRateImageStateCreateInfoNV & operator=(VkPipelineViewportShadingRateImageStateCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
AttachmentSampleCountInfoAMD & operator=(AttachmentSampleCountInfoAMD const &rhs) VULKAN_HPP_NOEXCEPT=default
PhysicalDeviceHostQueryResetFeatures & operator=(VkPhysicalDeviceHostQueryResetFeatures const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(AcquireProfilingLockInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR FramebufferCreateInfo(VULKAN_HPP_NAMESPACE::FramebufferCreateFlags flags_={}, VULKAN_HPP_NAMESPACE::RenderPass renderPass_={}, uint32_t attachmentCount_={}, const VULKAN_HPP_NAMESPACE::ImageView *pAttachments_={}, uint32_t width_={}, uint32_t height_={}, uint32_t layers_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderAtomicFloatFeaturesEXT & setShaderBufferFloat32AtomicAdd(VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat32AtomicAdd_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SemaphoreSubmitInfo & setValue(uint64_t value_) VULKAN_HPP_NOEXCEPT
PipelineSampleLocationsStateCreateInfoEXT & operator=(VkPipelineSampleLocationsStateCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMotionInstanceDataNV(VULKAN_HPP_NAMESPACE::AccelerationStructureMatrixMotionInstanceNV matrixMotionInstance_)
VULKAN_HPP_CONSTEXPR FramebufferMixedSamplesCombinationNV(VULKAN_HPP_NAMESPACE::CoverageReductionModeNV coverageReductionMode_=VULKAN_HPP_NAMESPACE::CoverageReductionModeNV::eMerge, VULKAN_HPP_NAMESPACE::SampleCountFlagBits rasterizationSamples_=VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1, VULKAN_HPP_NAMESPACE::SampleCountFlags depthStencilSamples_={}, VULKAN_HPP_NAMESPACE::SampleCountFlags colorSamples_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkMultiviewPerViewAttributesInfoNVX VkMultiviewPerViewAttributesInfoNVX
PhysicalDevicePointClippingProperties & operator=(VkPhysicalDevicePointClippingProperties const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceGlobalPriorityQueryFeaturesKHR(VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSamplerYcbcrConversionFeatures & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ComponentTypeNV AType
VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderImageFootprintFeaturesNV(VULKAN_HPP_NAMESPACE::Bool32 imageFootprint_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Buffer transformData
RenderPassCreationFeedbackInfoEXT(VkRenderPassCreationFeedbackInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
DeviceMemoryReportCallbackDataEXT(VkDeviceMemoryReportCallbackDataEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationStateStreamCreateInfoEXT & setRasterizationStream(uint32_t rasterizationStream_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceInvocationMaskFeaturesHUAWEI(VkPhysicalDeviceInvocationMaskFeaturesHUAWEI const &rhs) VULKAN_HPP_NOEXCEPT
#define VULKAN_HPP_CONST_OR_CONSTEXPR
Definition: vulkan.hpp:193
bool operator==(DeviceGroupPresentCapabilitiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PerformanceValueDataINTEL & setValueBool(VULKAN_HPP_NAMESPACE::Bool32 valueBool_) VULKAN_HPP_NOEXCEPT
ImportMemoryHostPointerInfoEXT(VkImportMemoryHostPointerInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::AccelerationStructureMotionInstanceTypeNV type
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMaintenance4Features & setMaintenance4(VULKAN_HPP_NAMESPACE::Bool32 maintenance4_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceFragmentShaderBarycentricPropertiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
PipelineViewportCoarseSampleOrderStateCreateInfoNV & operator=(VkPipelineViewportCoarseSampleOrderStateCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationStateCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT(VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceMemoryDecompressionFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceCopyMemoryIndirectPropertiesNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyBufferInfo2 & setDstBuffer(VULKAN_HPP_NAMESPACE::Buffer dstBuffer_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 DebugReportCallbackCreateInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceDepthClampZeroOneFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 depthClampZeroOne_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceBorderColorSwizzleFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
PresentIdKHR(VkPresentIdKHR const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceProvokingVertexFeaturesEXT(VkPhysicalDeviceProvokingVertexFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DevicePrivateDataCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkVideoEncodeH265RateControlLayerInfoEXT VkVideoEncodeH265RateControlLayerInfoEXT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setShaderUniformBufferArrayNonUniformIndexing(VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayNonUniformIndexing_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceExternalImageFormatInfo & operator=(VkPhysicalDeviceExternalImageFormatInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceASTCDecodeFeaturesEXT & setDecodeModeSharedExponent(VULKAN_HPP_NAMESPACE::Bool32 decodeModeSharedExponent_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineColorBlendAdvancedStateCreateInfoEXT(VULKAN_HPP_NAMESPACE::Bool32 srcPremultiplied_={}, VULKAN_HPP_NAMESPACE::Bool32 dstPremultiplied_={}, VULKAN_HPP_NAMESPACE::BlendOverlapEXT blendOverlap_=VULKAN_HPP_NAMESPACE::BlendOverlapEXT::eUncorrelated, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(CopyMicromapInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PresentInfoKHR & setPSwapchains(const VULKAN_HPP_NAMESPACE::SwapchainKHR *pSwapchains_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyImageToBufferInfo2 & setSrcImageLayout(VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan11Features & setVariablePointersStorageBuffer(VULKAN_HPP_NAMESPACE::Bool32 variablePointersStorageBuffer_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderCorePropertiesAMD(VkPhysicalDeviceShaderCorePropertiesAMD const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
ShaderResourceUsageAMD & operator=(VkShaderResourceUsageAMD const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DescriptorPoolCreateInfo(VULKAN_HPP_NAMESPACE::DescriptorPoolCreateFlags flags_={}, uint32_t maxSets_={}, uint32_t poolSizeCount_={}, const VULKAN_HPP_NAMESPACE::DescriptorPoolSize *pPoolSizes_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(BindImagePlaneMemoryInfo const &rhs) const VULKAN_HPP_NOEXCEPT
BindSparseInfo & setWaitSemaphores(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Semaphore > const &waitSemaphores_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineMultisampleStateCreateInfo & setSampleShadingEnable(VULKAN_HPP_NAMESPACE::Bool32 sampleShadingEnable_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
VULKAN_HPP_CONSTEXPR_14 BufferDeviceAddressCreateInfoEXT & setDeviceAddress(VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceShaderImageAtomicInt64FeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
RenderPassBeginInfo(VkRenderPassBeginInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationLineStateCreateInfoEXT & setLineStipplePattern(uint16_t lineStipplePattern_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setShaderFloat16(VULKAN_HPP_NAMESPACE::Bool32 shaderFloat16_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
VULKAN_HPP_CONSTEXPR_14 RenderPassMultiviewCreateInfo & setSubpassCount(uint32_t subpassCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationStateRasterizationOrderAMD & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkPipelineInputAssemblyStateCreateInfo VkPipelineInputAssemblyStateCreateInfo
VULKAN_HPP_NAMESPACE::StructureType sType
VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePipelineProtectedAccessFeaturesEXT & setPipelineProtectedAccess(VULKAN_HPP_NAMESPACE::Bool32 pipelineProtectedAccess_) VULKAN_HPP_NOEXCEPT
PhysicalDevicePipelineProtectedAccessFeaturesEXT & operator=(VkPhysicalDevicePipelineProtectedAccessFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceOpticalFlowFeaturesNV(VkPhysicalDeviceOpticalFlowFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceQueueGlobalPriorityCreateInfoKHR & setGlobalPriority(VULKAN_HPP_NAMESPACE::QueueGlobalPriorityKHR globalPriority_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorBinaryHeaderVersionOneEXT & setHeaderSize(uint32_t headerSize_) VULKAN_HPP_NOEXCEPT
GLuint framebuffer
Definition: glcorearb.h:1287
VULKAN_HPP_CONSTEXPR_14 FramebufferCreateInfo & setRenderPass(VULKAN_HPP_NAMESPACE::RenderPass renderPass_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MemoryOpaqueCaptureAddressAllocateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ColorBlendAdvancedEXT & setBlendOverlap(VULKAN_HPP_NAMESPACE::BlendOverlapEXT blendOverlap_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AttachmentDescription2 & setStoreOp(VULKAN_HPP_NAMESPACE::AttachmentStoreOp storeOp_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceQueueCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
PipelineViewportShadingRateImageStateCreateInfoNV(VkPipelineViewportShadingRateImageStateCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShadingRateImageFeaturesNV & operator=(VkPhysicalDeviceShadingRateImageFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(TilePropertiesQCOM const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderCorePropertiesAMD & operator=(VkPhysicalDeviceShaderCorePropertiesAMD const &rhs) VULKAN_HPP_NOEXCEPT
DescriptorPoolInlineUniformBlockCreateInfo(VkDescriptorPoolInlineUniformBlockCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
DisplayEventInfoEXT & operator=(VkDisplayEventInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
PresentTimeGOOGLE & operator=(VkPresentTimeGOOGLE const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setDescriptorBindingUniformBufferUpdateAfterBind(VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUniformBufferUpdateAfterBind_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceGroupDeviceCreateInfo & setPPhysicalDevices(const VULKAN_HPP_NAMESPACE::PhysicalDevice *pPhysicalDevices_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 OpticalFlowExecuteInfoNV & setPRegions(const VULKAN_HPP_NAMESPACE::Rect2D *pRegions_) VULKAN_HPP_NOEXCEPT
bool operator!=(ImageViewASTCDecodeModeEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setShaderSampledImageArrayDynamicIndexing(VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayDynamicIndexing_) VULKAN_HPP_NOEXCEPT
struct VkCopyDescriptorSet VkCopyDescriptorSet
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVariablePointersFeatures & setVariablePointers(VULKAN_HPP_NAMESPACE::Bool32 variablePointers_) VULKAN_HPP_NOEXCEPT
#define VULKAN_HPP_CONSTEXPR
Definition: vulkan.hpp:191
VULKAN_HPP_CONSTEXPR_14 DescriptorSetAllocateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Rect2D rect
CommandBufferInheritanceConditionalRenderingInfoEXT & operator=(VkCommandBufferInheritanceConditionalRenderingInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageResolve2 & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkDescriptorPoolSize VkDescriptorPoolSize
ImageViewCreateInfo & operator=(VkImageViewCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferImageCopy2 & setImageExtent(VULKAN_HPP_NAMESPACE::Extent3D const &imageExtent_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceNonSeamlessCubeMapFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineColorBlendAttachmentState const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderSMBuiltinsFeaturesNV & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferViewCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceInvocationMaskFeaturesHUAWEI const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(AllocationCallbacks const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceShaderClockFeaturesKHR VkPhysicalDeviceShaderClockFeaturesKHR
VULKAN_HPP_CONSTEXPR_14 BindSparseInfo & setPImageBinds(const VULKAN_HPP_NAMESPACE::SparseImageMemoryBindInfo *pImageBinds_) VULKAN_HPP_NOEXCEPT
MultisampledRenderToSingleSampledInfoEXT(VkMultisampledRenderToSingleSampledInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
CopyImageInfo2(VkCopyImageInfo2 const &rhs) VULKAN_HPP_NOEXCEPT
struct VkAttachmentDescription VkAttachmentDescription
CuFunctionCreateInfoNVX & operator=(CuFunctionCreateInfoNVX const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator==(PhysicalDeviceDeviceGeneratedCommandsFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
ImageCompressionPropertiesEXT(VkImageCompressionPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
DependencyInfo(VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::MemoryBarrier2 > const &memoryBarriers_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier2 > const &bufferMemoryBarriers_={}, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier2 > const &imageMemoryBarriers_={}, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR PhysicalDeviceVulkan13Properties(uint32_t minSubgroupSize_={}, uint32_t maxSubgroupSize_={}, uint32_t maxComputeWorkgroupSubgroups_={}, VULKAN_HPP_NAMESPACE::ShaderStageFlags requiredSubgroupSizeStages_={}, uint32_t maxInlineUniformBlockSize_={}, uint32_t maxPerStageDescriptorInlineUniformBlocks_={}, uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks_={}, uint32_t maxDescriptorSetInlineUniformBlocks_={}, uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks_={}, uint32_t maxInlineUniformTotalSize_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct8BitUnsignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct8BitSignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct8BitMixedSignednessAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct4x8BitPackedUnsignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct4x8BitPackedSignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct16BitUnsignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct16BitSignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct16BitMixedSignednessAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct32BitUnsignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct32BitSignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct32BitMixedSignednessAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct64BitUnsignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct64BitSignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProduct64BitMixedSignednessAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated_={}, VULKAN_HPP_NAMESPACE::Bool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated_={}, VULKAN_HPP_NAMESPACE::DeviceSize storageTexelBufferOffsetAlignmentBytes_={}, VULKAN_HPP_NAMESPACE::Bool32 storageTexelBufferOffsetSingleTexelAlignment_={}, VULKAN_HPP_NAMESPACE::DeviceSize uniformTexelBufferOffsetAlignmentBytes_={}, VULKAN_HPP_NAMESPACE::Bool32 uniformTexelBufferOffsetSingleTexelAlignment_={}, VULKAN_HPP_NAMESPACE::DeviceSize maxBufferSize_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PhysicalDeviceProvokingVertexPropertiesEXT(VkPhysicalDeviceProvokingVertexPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SwapchainPresentBarrierCreateInfoNV & setPresentBarrierEnable(VULKAN_HPP_NAMESPACE::Bool32 presentBarrierEnable_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineExecutablePropertiesKHR(VULKAN_HPP_NAMESPACE::ShaderStageFlags stages_={}, std::array< char, VK_MAX_DESCRIPTION_SIZE > const &name_={}, std::array< char, VK_MAX_DESCRIPTION_SIZE > const &description_={}, uint32_t subgroupSize_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkMultiDrawInfoEXT VkMultiDrawInfoEXT
struct VkVideoEncodeH265ProfileInfoEXT VkVideoEncodeH265ProfileInfoEXT
GLintptr offset
Definition: glcorearb.h:665
bool operator==(PhysicalDeviceMemoryProperties2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 FenceGetFdInfoKHR & setHandleType(VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType_) VULKAN_HPP_NOEXCEPT
PipelineRasterizationProvokingVertexStateCreateInfoEXT & operator=(VkPipelineRasterizationProvokingVertexStateCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkScreenSurfaceCreateInfoQNX VkScreenSurfaceCreateInfoQNX
VULKAN_HPP_CONSTEXPR_14 PipelineViewportSwizzleStateCreateInfoNV & setFlags(VULKAN_HPP_NAMESPACE::PipelineViewportSwizzleStateCreateFlagsNV flags_) VULKAN_HPP_NOEXCEPT
PerformanceQuerySubmitInfoKHR(VkPerformanceQuerySubmitInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GeometryTrianglesNV & setIndexOffset(VULKAN_HPP_NAMESPACE::DeviceSize indexOffset_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceComputeShaderDerivativesFeaturesNV & operator=(VkPhysicalDeviceComputeShaderDerivativesFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SparseBufferMemoryBindInfo & setBindCount(uint32_t bindCount_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeatures
VULKAN_HPP_CONSTEXPR_14 BindAccelerationStructureMemoryInfoNV & setDeviceIndexCount(uint32_t deviceIndexCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicStateFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR GeometryTrianglesNV(VULKAN_HPP_NAMESPACE::Buffer vertexData_={}, VULKAN_HPP_NAMESPACE::DeviceSize vertexOffset_={}, uint32_t vertexCount_={}, VULKAN_HPP_NAMESPACE::DeviceSize vertexStride_={}, VULKAN_HPP_NAMESPACE::Format vertexFormat_=VULKAN_HPP_NAMESPACE::Format::eUndefined, VULKAN_HPP_NAMESPACE::Buffer indexData_={}, VULKAN_HPP_NAMESPACE::DeviceSize indexOffset_={}, uint32_t indexCount_={}, VULKAN_HPP_NAMESPACE::IndexType indexType_=VULKAN_HPP_NAMESPACE::IndexType::eUint16, VULKAN_HPP_NAMESPACE::Buffer transformData_={}, VULKAN_HPP_NAMESPACE::DeviceSize transformOffset_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 WriteDescriptorSet & setDescriptorType(VULKAN_HPP_NAMESPACE::DescriptorType descriptorType_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCoverageReductionModeFeaturesNV & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceCreateFlags flags
bool operator==(PerformanceStreamMarkerInfoINTEL const &rhs) const VULKAN_HPP_NOEXCEPT
BindSparseInfo & operator=(VkBindSparseInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 WriteDescriptorSet & setPImageInfo(const VULKAN_HPP_NAMESPACE::DescriptorImageInfo *pImageInfo_) VULKAN_HPP_NOEXCEPT
bool operator==(SurfaceCapabilities2EXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(AttachmentSampleLocationsEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceConservativeRasterizationPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DevicePrivateDataCreateInfo(uint32_t privateDataSlotRequestCount_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceVulkan12Properties const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(BufferCaptureDescriptorDataInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
MicromapUsageEXT(VkMicromapUsageEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(SamplerBorderColorComponentMappingCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDiagnosticsConfigFeaturesNV & setDiagnosticsConfig(VULKAN_HPP_NAMESPACE::Bool32 diagnosticsConfig_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceGroupDeviceCreateInfo & setPhysicalDeviceCount(uint32_t physicalDeviceCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR CopyBufferInfo2(VULKAN_HPP_NAMESPACE::Buffer srcBuffer_={}, VULKAN_HPP_NAMESPACE::Buffer dstBuffer_={}, uint32_t regionCount_={}, const VULKAN_HPP_NAMESPACE::BufferCopy2 *pRegions_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PhysicalDeviceToolProperties(VkPhysicalDeviceToolProperties const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(CommandBufferBeginInfo const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkAndroidHardwareBufferPropertiesANDROID VkAndroidHardwareBufferPropertiesANDROID
VULKAN_HPP_CONSTEXPR_14 CopyAccelerationStructureToMemoryInfoKHR & setMode(VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode_) VULKAN_HPP_NOEXCEPT
bool operator!=(SparseBufferMemoryBindInfo const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceSamplerYcbcrConversionFeatures & operator=(VkPhysicalDeviceSamplerYcbcrConversionFeatures const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode
bool operator!=(DecompressMemoryRegionNV const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceImageProcessingFeaturesQCOM VkPhysicalDeviceImageProcessingFeaturesQCOM
Definition: core.h:760
PhysicalDeviceFeatures(VkPhysicalDeviceFeatures const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyMicromapToMemoryInfoEXT & setDst(VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR const &dst_) VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineRasterizationProvokingVertexStateCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkImportFenceWin32HandleInfoKHR VkImportFenceWin32HandleInfoKHR
bool operator!=(PhysicalDeviceImageProcessingFeaturesQCOM const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 InstanceCreateInfo & setPpEnabledExtensionNames(const char *const *ppEnabledExtensionNames_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorBufferFeaturesEXT & setDescriptorBufferPushDescriptors(VULKAN_HPP_NAMESPACE::Bool32 descriptorBufferPushDescriptors_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Offset3D dstOffset
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryDataKHR & setTriangles(VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryTrianglesDataKHR const &triangles_) VULKAN_HPP_NOEXCEPT
bool operator!=(MemoryAllocateFlagsInfo const &rhs) const VULKAN_HPP_NOEXCEPT
PipelineExecutableInternalRepresentationKHR & operator=(VkPipelineExecutableInternalRepresentationKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setImageCubeArray(VULKAN_HPP_NAMESPACE::Bool32 imageCubeArray_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineLayoutCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan13Features & setSynchronization2(VULKAN_HPP_NAMESPACE::Bool32 synchronization2_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceColorWriteEnableFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 colorWriteEnable_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BindSparseInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRobustnessCreateInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineColorBlendAdvancedStateCreateInfoEXT & setDstPremultiplied(VULKAN_HPP_NAMESPACE::Bool32 dstPremultiplied_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM(VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceYcbcrImageArraysFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineViewportCoarseSampleOrderStateCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceProvokingVertexPropertiesEXT & operator=(VkPhysicalDeviceProvokingVertexPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMemoryDecompressionFeaturesNV & setMemoryDecompression(VULKAN_HPP_NAMESPACE::Bool32 memoryDecompression_) VULKAN_HPP_NOEXCEPT
DeviceFaultInfoEXT & operator=(VkDeviceFaultInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateFlagsEXT flags
VULKAN_HPP_CONSTEXPR AccelerationStructureMemoryRequirementsInfoNV(VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsTypeNV type_=VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsTypeNV::eObject, VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PipelineViewportStateCreateInfo & operator=(VkPipelineViewportStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
struct VkGeometryNV VkGeometryNV
VULKAN_HPP_CONSTEXPR_14 RenderPassTransformBeginInfoQCOM & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(DrawIndexedIndirectCommand const &rhs) const VULKAN_HPP_NOEXCEPT
DisplayPresentInfoKHR & operator=(VkDisplayPresentInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassCreateInfo2 & setPCorrelatedViewMasks(const uint32_t *pCorrelatedViewMasks_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageMultisample
VULKAN_HPP_CONSTEXPR_14 SubpassDescriptionDepthStencilResolve & setDepthResolveMode(VULKAN_HPP_NAMESPACE::ResolveModeFlagBits depthResolveMode_) VULKAN_HPP_NOEXCEPT
struct VkDescriptorSetBindingReferenceVALVE VkDescriptorSetBindingReferenceVALVE
PhysicalDeviceVulkan11Features(VkPhysicalDeviceVulkan11Features const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(ComponentMapping const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceBorderColorSwizzleFeaturesEXT & setBorderColorSwizzle(VULKAN_HPP_NAMESPACE::Bool32 borderColorSwizzle_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR GeneratedCommandsInfoNV(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_=VULKAN_HPP_NAMESPACE::PipelineBindPoint::eGraphics, VULKAN_HPP_NAMESPACE::Pipeline pipeline_={}, VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout_={}, uint32_t streamCount_={}, const VULKAN_HPP_NAMESPACE::IndirectCommandsStreamNV *pStreams_={}, uint32_t sequencesCount_={}, VULKAN_HPP_NAMESPACE::Buffer preprocessBuffer_={}, VULKAN_HPP_NAMESPACE::DeviceSize preprocessOffset_={}, VULKAN_HPP_NAMESPACE::DeviceSize preprocessSize_={}, VULKAN_HPP_NAMESPACE::Buffer sequencesCountBuffer_={}, VULKAN_HPP_NAMESPACE::DeviceSize sequencesCountOffset_={}, VULKAN_HPP_NAMESPACE::Buffer sequencesIndexBuffer_={}, VULKAN_HPP_NAMESPACE::DeviceSize sequencesIndexOffset_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceSubpassShadingFeaturesHUAWEI const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkDisplayModePropertiesKHR VkDisplayModePropertiesKHR
CoarseSampleLocationNV & operator=(VkCoarseSampleLocationNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GeneratedCommandsInfoNV & setIndirectCommandsLayout(VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceScalarBlockLayoutFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(ImageDrmFormatModifierListCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CalibratedTimestampInfoEXT & setTimeDomain(VULKAN_HPP_NAMESPACE::TimeDomainEXT timeDomain_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineInputAssemblyStateCreateInfo & setFlags(VULKAN_HPP_NAMESPACE::PipelineInputAssemblyStateCreateFlags flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorBufferBindingPushDescriptorBufferHandleEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryTrianglesDataKHR & setVertexData(VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR const &vertexData_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceNonSeamlessCubeMapFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
DescriptorSetLayoutBindingFlagsCreateInfo(VkDescriptorSetLayoutBindingFlagsCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
PipelineInfoKHR & operator=(VkPipelineInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR data
struct VkSurfaceCapabilitiesFullScreenExclusiveEXT VkSurfaceCapabilitiesFullScreenExclusiveEXT
IndirectCommandsLayoutCreateInfoNV(VkIndirectCommandsLayoutCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceCoherentMemoryFeaturesAMD const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 WriteDescriptorSet & setPBufferInfo(const VULKAN_HPP_NAMESPACE::DescriptorBufferInfo *pBufferInfo_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceMultiDrawPropertiesEXT & operator=(VkPhysicalDeviceMultiDrawPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AllocationCallbacks & setPfnInternalFree(PFN_vkInternalFreeNotification pfnInternalFree_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSynchronization2Features & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SRTDataNV & setQy(float qy_) VULKAN_HPP_NOEXCEPT
struct VkImportSemaphoreFdInfoKHR VkImportSemaphoreFdInfoKHR
const VULKAN_HPP_NAMESPACE::SparseImageOpaqueMemoryBindInfo * pImageOpaqueBinds
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExternalFenceInfo & setHandleType(VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType_) VULKAN_HPP_NOEXCEPT
DevicePrivateDataCreateInfo & operator=(VkDevicePrivateDataCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
struct VkDeviceFaultInfoEXT VkDeviceFaultInfoEXT
struct VkVideoEncodeRateControlInfoKHR VkVideoEncodeRateControlInfoKHR
bool operator==(QueueFamilyCheckpointPropertiesNV const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceExternalSemaphoreInfo(VkPhysicalDeviceExternalSemaphoreInfo const &rhs) VULKAN_HPP_NOEXCEPT
DescriptorUpdateTemplateCreateInfo & setDescriptorUpdateEntries(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateEntry > const &descriptorUpdateEntries_) VULKAN_HPP_NOEXCEPT
BlitImageInfo2(VULKAN_HPP_NAMESPACE::Image srcImage_, VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout_, VULKAN_HPP_NAMESPACE::Image dstImage_, VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::ImageBlit2 > const &regions_, VULKAN_HPP_NAMESPACE::Filter filter_=VULKAN_HPP_NAMESPACE::Filter::eNearest, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setVulkanMemoryModelAvailabilityVisibilityChains(VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModelAvailabilityVisibilityChains_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRayTracingPipelineFeaturesKHR & setRayTracingPipelineTraceRaysIndirect(VULKAN_HPP_NAMESPACE::Bool32 rayTracingPipelineTraceRaysIndirect_) VULKAN_HPP_NOEXCEPT
struct VkMemoryGetAndroidHardwareBufferInfoANDROID VkMemoryGetAndroidHardwareBufferInfoANDROID
struct VkExportSemaphoreWin32HandleInfoKHR VkExportSemaphoreWin32HandleInfoKHR
struct VkVideoEncodeH264FrameSizeEXT VkVideoEncodeH264FrameSizeEXT
Rect2D(VkRect2D const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceAddressBindingCallbackDataEXT & setFlags(VULKAN_HPP_NAMESPACE::DeviceAddressBindingFlagsEXT flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ApplicationInfo & setPApplicationName(const char *pApplicationName_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT
VULKAN_HPP_CONSTEXPR_14 OpticalFlowSessionCreatePrivateDataInfoNV & setPPrivateData(const void *pPrivateData_) VULKAN_HPP_NOEXCEPT
DisplayPlaneInfo2KHR(VkDisplayPlaneInfo2KHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DirectDriverLoadingInfoLUNARG & setFlags(VULKAN_HPP_NAMESPACE::DirectDriverLoadingFlagsLUNARG flags_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderTerminateInvocationFeatures & operator=(VkPhysicalDeviceShaderTerminateInvocationFeatures const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceCustomBorderColorFeaturesEXT VkPhysicalDeviceCustomBorderColorFeaturesEXT
MutableDescriptorTypeCreateInfoEXT(VkMutableDescriptorTypeCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutTokenNV(VULKAN_HPP_NAMESPACE::IndirectCommandsTokenTypeNV tokenType_=VULKAN_HPP_NAMESPACE::IndirectCommandsTokenTypeNV::eShaderGroup, uint32_t stream_={}, uint32_t offset_={}, uint32_t vertexBindingUnit_={}, VULKAN_HPP_NAMESPACE::Bool32 vertexDynamicStride_={}, VULKAN_HPP_NAMESPACE::PipelineLayout pushconstantPipelineLayout_={}, VULKAN_HPP_NAMESPACE::ShaderStageFlags pushconstantShaderStageFlags_={}, uint32_t pushconstantOffset_={}, uint32_t pushconstantSize_={}, VULKAN_HPP_NAMESPACE::IndirectStateFlagsNV indirectStateFlags_={}, uint32_t indexTypeCount_={}, const VULKAN_HPP_NAMESPACE::IndexType *pIndexTypes_={}, const uint32_t *pIndexTypeValues_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 CommandPoolCreateInfo & setQueueFamilyIndex(uint32_t queueFamilyIndex_) VULKAN_HPP_NOEXCEPT
struct VULKAN_HPP_NAMESPACE::BaseOutStructure * pNext
VULKAN_HPP_CONSTEXPR_14 DebugUtilsObjectTagInfoEXT & setObjectType(VULKAN_HPP_NAMESPACE::ObjectType objectType_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubpassDescriptionDepthStencilResolve & setStencilResolveMode(VULKAN_HPP_NAMESPACE::ResolveModeFlagBits stencilResolveMode_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImagePlaneMemoryRequirementsInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::MicromapEXT dst
ColorBlendAdvancedEXT(VkColorBlendAdvancedEXT const &rhs) VULKAN_HPP_NOEXCEPT
ValidationFeaturesEXT & setEnabledValidationFeatures(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::ValidationFeatureEnableEXT > const &enabledValidationFeatures_) VULKAN_HPP_NOEXCEPT
SubmitInfo2 & operator=(VkSubmitInfo2 const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MemoryPriorityAllocateInfoEXT & setPriority(float priority_) VULKAN_HPP_NOEXCEPT
struct VkDrawIndexedIndirectCommand VkDrawIndexedIndirectCommand
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMotionInfoNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
RenderPassAttachmentBeginInfo(VkRenderPassAttachmentBeginInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CooperativeMatrixPropertiesNV & setMSize(uint32_t MSize_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setVulkanMemoryModel(VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModel_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DescriptorBufferBindingPushDescriptorBufferHandleEXT(VULKAN_HPP_NAMESPACE::Buffer buffer_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
ImageCompressionPropertiesEXT & operator=(VkImageCompressionPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPipelineTessellationStateCreateInfo VkPipelineTessellationStateCreateInfo
DeviceFaultAddressInfoEXT & operator=(VkDeviceFaultAddressInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
DrawMeshTasksIndirectCommandEXT & operator=(VkDrawMeshTasksIndirectCommandEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(SubmitInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubpassDependency2 & setDstSubpass(uint32_t dstSubpass_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceNonSeamlessCubeMapFeaturesEXT & operator=(VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(BufferCopy const &rhs) const VULKAN_HPP_NOEXCEPT
DescriptorPoolInlineUniformBlockCreateInfo & operator=(VkDescriptorPoolInlineUniformBlockCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationLineStateCreateInfoEXT & setStippledLineEnable(VULKAN_HPP_NAMESPACE::Bool32 stippledLineEnable_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ImageSubresource2EXT(VULKAN_HPP_NAMESPACE::ImageSubresource imageSubresource_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure
PhysicalDeviceExternalBufferInfo & operator=(VkPhysicalDeviceExternalBufferInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineLayoutCreateInfo & setPSetLayouts(const VULKAN_HPP_NAMESPACE::DescriptorSetLayout *pSetLayouts_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineViewportDepthClipControlCreateInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyImage3D
struct VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT
VULKAN_HPP_CONSTEXPR_14 CopyImageInfo2 & setSrcImage(VULKAN_HPP_NAMESPACE::Image srcImage_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SwapchainDisplayNativeHdrCreateInfoAMD(VULKAN_HPP_NAMESPACE::Bool32 localDimmingEnable_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PhysicalDevicePointClippingProperties(VkPhysicalDevicePointClippingProperties const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(FormatProperties const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ComponentMapping & setR(VULKAN_HPP_NAMESPACE::ComponentSwizzle r_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR MultisampledRenderToSingleSampledInfoEXT(VULKAN_HPP_NAMESPACE::Bool32 multisampledRenderToSingleSampledEnable_={}, VULKAN_HPP_NAMESPACE::SampleCountFlagBits rasterizationSamples_=VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceLegacyDitheringFeaturesEXT & setLegacyDithering(VULKAN_HPP_NAMESPACE::Bool32 legacyDithering_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceRayTracingInvocationReorderPropertiesNV const &rhs) const VULKAN_HPP_NOEXCEPT
WriteDescriptorSet & setBufferInfo(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::DescriptorBufferInfo > const &bufferInfo_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DeviceGroupRenderPassBeginInfo(uint32_t deviceMask_={}, uint32_t deviceRenderAreaCount_={}, const VULKAN_HPP_NAMESPACE::Rect2D *pDeviceRenderAreas_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageViewSampleWeightCreateInfoQCOM & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceAccelerationStructurePropertiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
DrawIndirectCommand(VkDrawIndirectCommand const &rhs) VULKAN_HPP_NOEXCEPT
struct VkImportMetalBufferInfoEXT VkImportMetalBufferInfoEXT
VULKAN_HPP_NAMESPACE::Offset3D imageOffset
bool operator==(PhysicalDevicePrivateDataFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PerformanceCounterResultKHR(int64_t int64_)
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureInfoNV & setGeometryCount(uint32_t geometryCount_) VULKAN_HPP_NOEXCEPT
bool operator!=(ShaderModuleIdentifierEXT const &rhs) const VULKAN_HPP_NOEXCEPT
AccelerationStructureBuildGeometryInfoKHR & operator=(VkAccelerationStructureBuildGeometryInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SemaphoreTypeCreateInfo & setInitialValue(uint64_t initialValue_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
bool operator!=(PipelineRasterizationStateCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ComponentTypeNV DType
VULKAN_HPP_CONSTEXPR_14 ColorBlendAdvancedEXT & setSrcPremultiplied(VULKAN_HPP_NAMESPACE::Bool32 srcPremultiplied_) VULKAN_HPP_NOEXCEPT
bool operator==(ValidationFlagsEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkBufferCreateInfo VkBufferCreateInfo
ImportFenceFdInfoKHR & operator=(VkImportFenceFdInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorUpdateTemplateEntry & setDescriptorType(VULKAN_HPP_NAMESPACE::DescriptorType descriptorType_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceAccelerationStructureFeaturesKHR & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setStorageBuffer8BitAccess(VULKAN_HPP_NAMESPACE::Bool32 storageBuffer8BitAccess_) VULKAN_HPP_NOEXCEPT
ImagePlaneMemoryRequirementsInfo(VkImagePlaneMemoryRequirementsInfo const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PipelineViewportSwizzleStateCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceFaultCountsEXT & setAddressInfoCount(uint32_t addressInfoCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DeviceDeviceMemoryReportCreateInfoEXT(VULKAN_HPP_NAMESPACE::DeviceMemoryReportFlagsEXT flags_={}, PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback_={}, void *pUserData_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageViewUsageCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorIndexingFeatures & setShaderUniformBufferArrayNonUniformIndexing(VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayNonUniformIndexing_) VULKAN_HPP_NOEXCEPT
struct VkVertexInputAttributeDescription2EXT VkVertexInputAttributeDescription2EXT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderAtomicFloat2FeaturesEXT & setShaderSharedFloat64AtomicMinMax(VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat64AtomicMinMax_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceMeshShaderPropertiesNV & operator=(VkPhysicalDeviceMeshShaderPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceExternalSemaphoreInfo(VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType_=VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
WriteDescriptorSet & setImageInfo(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::DescriptorImageInfo > const &imageInfo_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceQueueCreateInfo & setQueueCount(uint32_t queueCount_) VULKAN_HPP_NOEXCEPT
bool operator!=(SwapchainCounterCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceImageCompressionControlFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 imageCompressionControl_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkVideoEncodeH265SessionParametersAddInfoEXT VkVideoEncodeH265SessionParametersAddInfoEXT
VULKAN_HPP_CONSTEXPR_14 CuFunctionCreateInfoNVX & setPName(const char *pName_) VULKAN_HPP_NOEXCEPT
PhysicalDevicePipelineRobustnessPropertiesEXT & operator=(VkPhysicalDevicePipelineRobustnessPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkMicromapBuildInfoEXT VkMicromapBuildInfoEXT
PhysicalDeviceOpacityMicromapPropertiesEXT & operator=(VkPhysicalDeviceOpacityMicromapPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR RenderPassSampleLocationsBeginInfoEXT(uint32_t attachmentInitialSampleLocationsCount_={}, const VULKAN_HPP_NAMESPACE::AttachmentSampleLocationsEXT *pAttachmentInitialSampleLocations_={}, uint32_t postSubpassSampleLocationsCount_={}, const VULKAN_HPP_NAMESPACE::SubpassSampleLocationsEXT *pPostSubpassSampleLocations_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PhysicalDevicePerformanceQueryPropertiesKHR & operator=(VkPhysicalDevicePerformanceQueryPropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
struct VkDisplaySurfaceCreateInfoKHR VkDisplaySurfaceCreateInfoKHR
CommandBufferInheritanceRenderingInfo & operator=(CommandBufferInheritanceRenderingInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 TimelineSemaphoreSubmitInfo & setWaitSemaphoreValueCount(uint32_t waitSemaphoreValueCount_) VULKAN_HPP_NOEXCEPT
RenderingInfo(VULKAN_HPP_NAMESPACE::RenderingFlags flags_, VULKAN_HPP_NAMESPACE::Rect2D renderArea_, uint32_t layerCount_, uint32_t viewMask_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::RenderingAttachmentInfo > const &colorAttachments_, const VULKAN_HPP_NAMESPACE::RenderingAttachmentInfo *pDepthAttachment_={}, const VULKAN_HPP_NAMESPACE::RenderingAttachmentInfo *pStencilAttachment_={}, const void *pNext_=nullptr)
BaseInStructure(VULKAN_HPP_NAMESPACE::StructureType sType_=VULKAN_HPP_NAMESPACE::StructureType::eApplicationInfo, const struct VULKAN_HPP_NAMESPACE::BaseInStructure *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
ImageBlit2 & operator=(ImageBlit2 const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator==(BufferCopy const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceComputeShaderDerivativesFeaturesNV & setComputeDerivativeGroupQuads(VULKAN_HPP_NAMESPACE::Bool32 computeDerivativeGroupQuads_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugUtilsObjectTagInfoEXT & setTagName(uint64_t tagName_) VULKAN_HPP_NOEXCEPT
const VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryKHR * pGeometries
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setDescriptorBindingPartiallyBound(VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingPartiallyBound_) VULKAN_HPP_NOEXCEPT
struct VkImageCopy2 VkImageCopy2
bool operator==(CopyDescriptorSet const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRayTracingPipelineFeaturesKHR & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GeneratedCommandsInfoNV & setPreprocessBuffer(VULKAN_HPP_NAMESPACE::Buffer preprocessBuffer_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderingFragmentDensityMapAttachmentInfoEXT & setImageLayout(VULKAN_HPP_NAMESPACE::ImageLayout imageLayout_) VULKAN_HPP_NOEXCEPT
bool operator!=(CuLaunchInfoNVX const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(CuFunctionCreateInfoNVX const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagsEXT messageSeverity
VULKAN_HPP_CONSTEXPR InputAttachmentAspectReference(uint32_t subpass_={}, uint32_t inputAttachmentIndex_={}, VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentDensityMapFeaturesEXT & setFragmentDensityMap(VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMap_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceInheritedViewportScissorFeaturesNV(VkPhysicalDeviceInheritedViewportScissorFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
RenderPassCreateInfo & setDependencies(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SubpassDependency > const &dependencies_) VULKAN_HPP_NOEXCEPT
CopyMicromapToMemoryInfoEXT(VkCopyMicromapToMemoryInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SampleLocationsInfoEXT & setSampleLocationsCount(uint32_t sampleLocationsCount_) VULKAN_HPP_NOEXCEPT
ImageSwapchainCreateInfoKHR(VkImageSwapchainCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderAtomicFloatFeaturesEXT & setShaderSharedFloat32Atomics(VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat32Atomics_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DescriptorUpdateTemplateEntry(uint32_t dstBinding_={}, uint32_t dstArrayElement_={}, uint32_t descriptorCount_={}, VULKAN_HPP_NAMESPACE::DescriptorType descriptorType_=VULKAN_HPP_NAMESPACE::DescriptorType::eSampler, size_t offset_={}, size_t stride_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryDataKHR(VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryTrianglesDataKHR triangles_={})
bool operator==(PhysicalDeviceOpticalFlowFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DirectDriverLoadingListLUNARG & setMode(VULKAN_HPP_NAMESPACE::DirectDriverLoadingModeLUNARG mode_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GraphicsPipelineCreateInfo & setPTessellationState(const VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo *pTessellationState_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
BindVertexBufferIndirectCommandNV(VkBindVertexBufferIndirectCommandNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugUtilsObjectNameInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugUtilsObjectTagInfoEXT & setObjectHandle(uint64_t objectHandle_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 IndirectCommandsLayoutTokenNV & setOffset(uint32_t offset_) VULKAN_HPP_NOEXCEPT
ImagePlaneMemoryRequirementsInfo & operator=(VkImagePlaneMemoryRequirementsInfo const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceCornerSampledImageFeaturesNV & operator=(VkPhysicalDeviceCornerSampledImageFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRobustness2FeaturesEXT & setNullDescriptor(VULKAN_HPP_NAMESPACE::Bool32 nullDescriptor_) VULKAN_HPP_NOEXCEPT
struct VkAccelerationStructureMemoryRequirementsInfoNV VkAccelerationStructureMemoryRequirementsInfoNV
ValidationFlagsEXT & setDisabledValidationChecks(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::ValidationCheckEXT > const &disabledValidationChecks_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceSubpassShadingPropertiesHUAWEI(uint32_t maxSubpassShadingWorkgroupSizeAspectRatio_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VkClearDepthStencilValue depthStencil
Offset3D(Offset2D const &offset2D, int32_t z_={})
VULKAN_HPP_NAMESPACE::AccelerationStructureTypeNV type
VULKAN_HPP_CONSTEXPR_14 RenderPassSubpassFeedbackCreateInfoEXT & setPSubpassFeedback(VULKAN_HPP_NAMESPACE::RenderPassSubpassFeedbackInfoEXT *pSubpassFeedback_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderAtomicFloat2FeaturesEXT & operator=(VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDevicePipelineRobustnessFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CommandBufferSubmitInfo & setCommandBuffer(VULKAN_HPP_NAMESPACE::CommandBuffer commandBuffer_) VULKAN_HPP_NOEXCEPT
bool operator!=(MemoryRequirements2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ImportMemoryFdInfoKHR(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_=VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd, int fd_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferViewCreateInfo & setOffset(VULKAN_HPP_NAMESPACE::DeviceSize offset_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RayTracingPipelineCreateInfoNV & setFlags(VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorSetLayoutCreateInfo & setPBindings(const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutBinding *pBindings_) VULKAN_HPP_NOEXCEPT
CheckpointDataNV & operator=(VkCheckpointDataNV const &rhs) VULKAN_HPP_NOEXCEPT
AccelerationStructureGeometryKHR & operator=(VkAccelerationStructureGeometryKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SwapchainPresentBarrierCreateInfoNV(VULKAN_HPP_NAMESPACE::Bool32 presentBarrierEnable_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfo
VULKAN_HPP_CONSTEXPR_14 ValidationCacheCreateInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
ShaderModuleCreateInfo(VkShaderModuleCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(SparseImageMemoryRequirements const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureCreateInfoKHR & setDeviceAddress(VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_) VULKAN_HPP_NOEXCEPT
bool operator==(MemoryBarrier const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 OpticalFlowSessionCreateInfoNV & setPerformanceLevel(VULKAN_HPP_NAMESPACE::OpticalFlowPerformanceLevelNV performanceLevel_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR MutableDescriptorTypeListEXT(uint32_t descriptorTypeCount_={}, const VULKAN_HPP_NAMESPACE::DescriptorType *pDescriptorTypes_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setShaderImageGatherExtended(VULKAN_HPP_NAMESPACE::Bool32 shaderImageGatherExtended_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageProcessingFeaturesQCOM & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkMemoryHostPointerPropertiesEXT VkMemoryHostPointerPropertiesEXT
bool operator==(DescriptorPoolSize const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(MicromapTriangleEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceLineRasterizationPropertiesEXT(uint32_t lineSubPixelPrecisionBits_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AttachmentReference2 & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkVideoEncodeH265VclFrameInfoEXT VkVideoEncodeH265VclFrameInfoEXT
PhysicalDeviceConservativeRasterizationPropertiesEXT(VkPhysicalDeviceConservativeRasterizationPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ImageSubresourceLayers srcSubresource
ImportMemoryHostPointerInfoEXT & operator=(VkImportMemoryHostPointerInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
CalibratedTimestampInfoEXT(VkCalibratedTimestampInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
#define VULKAN_HPP_NAMESPACE
Definition: vulkan.hpp:229
bool operator==(CommandBufferInheritanceRenderingInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceProvokingVertexPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
PipelineViewportStateCreateInfo & setScissors(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Rect2D > const &scissors_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ColorBlendEquationEXT & setSrcAlphaBlendFactor(VULKAN_HPP_NAMESPACE::BlendFactor srcAlphaBlendFactor_) VULKAN_HPP_NOEXCEPT
bool operator!=(DispatchIndirectCommand const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceDescriptorIndexingProperties(VkPhysicalDeviceDescriptorIndexingProperties const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PresentTimesInfoGOOGLE & setPTimes(const VULKAN_HPP_NAMESPACE::PresentTimeGOOGLE *pTimes_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceProperties2 const &rhs) const VULKAN_HPP_NOEXCEPT
ShaderModuleIdentifierEXT & operator=(VkShaderModuleIdentifierEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderingFragmentDensityMapAttachmentInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceVulkan11Features VkPhysicalDeviceVulkan11Features
struct VkPhysicalDeviceRayQueryFeaturesKHR VkPhysicalDeviceRayQueryFeaturesKHR
VULKAN_HPP_CONSTEXPR_14 Offset3D & setX(int32_t x_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderModuleIdentifierFeaturesEXT & setShaderModuleIdentifier(VULKAN_HPP_NAMESPACE::Bool32 shaderModuleIdentifier_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 WriteDescriptorSetInlineUniformBlock & setDataSize(uint32_t dataSize_) VULKAN_HPP_NOEXCEPT
RenderPassBeginInfo & setClearValues(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::ClearValue > const &clearValues_) VULKAN_HPP_NOEXCEPT
RefreshCycleDurationGOOGLE & operator=(VkRefreshCycleDurationGOOGLE const &rhs) VULKAN_HPP_NOEXCEPT
struct VkImagePipeSurfaceCreateInfoFUCHSIA VkImagePipeSurfaceCreateInfoFUCHSIA
struct VkPerformanceValueINTEL VkPerformanceValueINTEL
bool operator!=(OpticalFlowSessionCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyMemoryIndirectCommandNV & setSize(VULKAN_HPP_NAMESPACE::DeviceSize size_) VULKAN_HPP_NOEXCEPT
#define VULKAN_HPP_CONSTEXPR_14
Definition: vulkan.hpp:192
ComponentMapping & operator=(VkComponentMapping const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(SubresourceLayout const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkSharedPresentSurfaceCapabilitiesKHR VkSharedPresentSurfaceCapabilitiesKHR
bool operator==(DrmFormatModifierPropertiesListEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ConformanceVersion & setPatch(uint8_t patch_) VULKAN_HPP_NOEXCEPT
SamplerYcbcrConversionImageFormatProperties(VkSamplerYcbcrConversionImageFormatProperties const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DisplayPlaneCapabilities2KHR(VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR capabilities_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyAccelerationStructureInfoKHR & setMode(VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceMemory memory
VULKAN_HPP_CONSTEXPR_14 BindImageMemoryDeviceGroupInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfo
VULKAN_HPP_CONSTEXPR_14 InputAttachmentAspectReference & setSubpass(uint32_t subpass_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT & setAttachmentFeedbackLoopLayout(VULKAN_HPP_NAMESPACE::Bool32 attachmentFeedbackLoopLayout_) VULKAN_HPP_NOEXCEPT
bool operator!=(SubpassBeginInfo const &rhs) const VULKAN_HPP_NOEXCEPT
PipelineInfoKHR(VkPipelineInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setUniformAndStorageBuffer8BitAccess(VULKAN_HPP_NAMESPACE::Bool32 uniformAndStorageBuffer8BitAccess_) VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineRobustnessCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
BindImagePlaneMemoryInfo & operator=(BindImagePlaneMemoryInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
ValidationCacheCreateInfoEXT & operator=(VkValidationCacheCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ConditionalRenderingBeginInfoEXT & setOffset(VULKAN_HPP_NAMESPACE::DeviceSize offset_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderSMBuiltinsFeaturesNV & operator=(VkPhysicalDeviceShaderSMBuiltinsFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineColorWriteCreateInfoEXT(uint32_t attachmentCount_={}, const VULKAN_HPP_NAMESPACE::Bool32 *pColorWriteEnables_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
DescriptorImageInfo(VkDescriptorImageInfo const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceMeshShaderPropertiesNV VkPhysicalDeviceMeshShaderPropertiesNV
VULKAN_HPP_CONSTEXPR DeviceQueueInfo2(VULKAN_HPP_NAMESPACE::DeviceQueueCreateFlags flags_={}, uint32_t queueFamilyIndex_={}, uint32_t queueIndex_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
AccelerationStructureMatrixMotionInstanceNV & setFlags(VULKAN_HPP_NAMESPACE::GeometryInstanceFlagsKHR flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineExecutableInfoKHR & setExecutableIndex(uint32_t executableIndex_) VULKAN_HPP_NOEXCEPT
AttachmentSampleCountInfoAMD & setColorAttachmentSamples(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SampleCountFlagBits > const &colorAttachmentSamples_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineInputAssemblyStateCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
DeviceGroupRenderPassBeginInfo(uint32_t deviceMask_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Rect2D > const &deviceRenderAreas_, const void *pNext_=nullptr)
struct VkSemaphoreWaitInfo VkSemaphoreWaitInfo
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceOpacityMicromapFeaturesEXT & setMicromapHostCommands(VULKAN_HPP_NAMESPACE::Bool32 micromapHostCommands_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
struct VkImageSubresourceLayers VkImageSubresourceLayers
VULKAN_HPP_CONSTEXPR_14 MemoryGetFdInfoKHR & setHandleType(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 StencilOpState & setCompareOp(VULKAN_HPP_NAMESPACE::CompareOp compareOp_) VULKAN_HPP_NOEXCEPT
SubpassSampleLocationsEXT(VkSubpassSampleLocationsEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkImportMemoryWin32HandleInfoNV VkImportMemoryWin32HandleInfoNV
struct VkSamplerCreateInfo VkSamplerCreateInfo
bool operator!=(PipelineLibraryCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceSubpassShadingPropertiesHUAWEI & operator=(VkPhysicalDeviceSubpassShadingPropertiesHUAWEI const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceDiagnosticsConfigFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR MemoryType(VULKAN_HPP_NAMESPACE::MemoryPropertyFlags propertyFlags_={}, uint32_t heapIndex_={}) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT
PhysicalDeviceMaintenance3Properties(VkPhysicalDeviceMaintenance3Properties const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorBinaryHeaderVersionOneEXT & setHeaderVersion(VULKAN_HPP_NAMESPACE::DeviceFaultVendorBinaryHeaderVersionEXT headerVersion_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR RenderPassCreationFeedbackCreateInfoEXT(VULKAN_HPP_NAMESPACE::RenderPassCreationFeedbackInfoEXT *pRenderPassFeedback_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(DirectDriverLoadingInfoLUNARG const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::AccessFlags2 srcAccessMask
SubpassDescription2 & setColorAttachments(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::AttachmentReference2 > const &colorAttachments_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CuFunctionCreateInfoNVX & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
void * MTLDevice_id
Definition: vulkan_metal.h:55
AccelerationStructureInstanceKHR & operator=(AccelerationStructureInstanceKHR const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 DebugMarkerMarkerInfoEXT & setColor(std::array< float, 4 > color_) VULKAN_HPP_NOEXCEPT
SubmitInfo & setWaitSemaphores(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Semaphore > const &waitSemaphores_) VULKAN_HPP_NOEXCEPT
RenderPassMultiviewCreateInfo & operator=(VkRenderPassMultiviewCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPerformanceCounterKHR VkPerformanceCounterKHR
bool operator==(DeviceMemoryReportCallbackDataEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
bool operator==(PhysicalDeviceRGBA10X6FormatsFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout
bool operator==(SamplerCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PresentInfoKHR & setSwapchainCount(uint32_t swapchainCount_) VULKAN_HPP_NOEXCEPT
bool operator==(SurfaceFormat2KHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceCreateInfo & setPpEnabledLayerNames(const char *const *ppEnabledLayerNames_) VULKAN_HPP_NOEXCEPT
bool operator!=(SemaphoreTypeCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineDiscardRectangleStateCreateInfoEXT & setPDiscardRectangles(const VULKAN_HPP_NAMESPACE::Rect2D *pDiscardRectangles_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceSurfaceInfo2KHR VkPhysicalDeviceSurfaceInfo2KHR
struct VkDescriptorImageInfo VkDescriptorImageInfo
VULKAN_HPP_NAMESPACE::DeviceSize srcOffset
PhysicalDeviceRayTracingInvocationReorderPropertiesNV & operator=(VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT
DecompressMemoryRegionNV(VkDecompressMemoryRegionNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR CuModuleCreateInfoNVX(size_t dataSize_={}, const void *pData_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageBlit2 & setDstSubresource(VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const &dstSubresource_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DrawMeshTasksIndirectCommandEXT(uint32_t groupCountX_={}, uint32_t groupCountY_={}, uint32_t groupCountZ_={}) VULKAN_HPP_NOEXCEPT
void *(VKAPI_PTR * PFN_vkReallocationFunction)(void *pUserData, void *pOriginal, size_t size, size_t alignment, VkSystemAllocationScope allocationScope)
Definition: vulkan_core.h:2911
struct VkPhysicalDeviceImageProcessingPropertiesQCOM VkPhysicalDeviceImageProcessingPropertiesQCOM
bool operator==(PipelineRasterizationStateRasterizationOrderAMD const &rhs) const VULKAN_HPP_NOEXCEPT
GLbitfield GLuint64 timeout
Definition: glcorearb.h:1599
PipelineVertexInputDivisorStateCreateInfoEXT & operator=(VkPipelineVertexInputDivisorStateCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR VkPhysicalDeviceRayTracingPipelinePropertiesKHR
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSampleLocationsPropertiesEXT(VULKAN_HPP_NAMESPACE::SampleCountFlags sampleLocationSampleCounts_={}, VULKAN_HPP_NAMESPACE::Extent2D maxSampleLocationGridSize_={}, std::array< float, 2 > const &sampleLocationCoordinateRange_={}, uint32_t sampleLocationSubPixelBits_={}, VULKAN_HPP_NAMESPACE::Bool32 variableSampleLocations_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 HeadlessSurfaceCreateInfoEXT & setFlags(VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateFlagsEXT flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 QueryPoolPerformanceQueryCreateInfoINTEL & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(BindBufferMemoryInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceTexelBufferAlignmentFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageDrmFormatModifierInfoEXT & setSharingMode(VULKAN_HPP_NAMESPACE::SharingMode sharingMode_) VULKAN_HPP_NOEXCEPT
CopyMemoryIndirectCommandNV(VkCopyMemoryIndirectCommandNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState3FeaturesEXT & setExtendedDynamicState3RasterizationSamples(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3RasterizationSamples_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CommandPoolCreateInfo & setFlags(VULKAN_HPP_NAMESPACE::CommandPoolCreateFlags flags_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceShadingRateImageFeaturesNV VkPhysicalDeviceShadingRateImageFeaturesNV
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
BufferDeviceAddressCreateInfoEXT & operator=(VkBufferDeviceAddressCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceImageViewImageFormatInfoEXT & operator=(VkPhysicalDeviceImageViewImageFormatInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceExclusiveScissorFeaturesNV(VULKAN_HPP_NAMESPACE::Bool32 exclusiveScissor_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 CommandPoolCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildGeometryInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SamplerYcbcrConversionInfo & setConversion(VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion conversion_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageMemoryBarrier & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMultiDrawFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
MutableDescriptorTypeListEXT & setDescriptorTypes(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::DescriptorType > const &descriptorTypes_) VULKAN_HPP_NOEXCEPT
DescriptorSetVariableDescriptorCountAllocateInfo & operator=(DescriptorSetVariableDescriptorCountAllocateInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR ImageStencilUsageCreateInfo(VULKAN_HPP_NAMESPACE::ImageUsageFlags stencilUsage_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BindVertexBufferIndirectCommandNV & setSize(uint32_t size_) VULKAN_HPP_NOEXCEPT
XYColorEXT & operator=(VkXYColorEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkSubpassShadingPipelineCreateInfoHUAWEI VkSubpassShadingPipelineCreateInfoHUAWEI
bool operator!=(SparseImageMemoryBind const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MemoryBarrier2 & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(SparseImageFormatProperties2 const &rhs) const VULKAN_HPP_NOEXCEPT
PipelineCoverageModulationStateCreateInfoNV & operator=(VkPipelineCoverageModulationStateCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(VertexInputBindingDescription const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkExportMemoryAllocateInfoNV VkExportMemoryAllocateInfoNV
VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryDataKHR geometry
bool operator!=(PhysicalDeviceLinearColorAttachmentFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceProtectedMemoryFeatures & setProtectedMemory(VULKAN_HPP_NAMESPACE::Bool32 protectedMemory_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDevice8BitStorageFeatures & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
MultiDrawInfoEXT & operator=(VkMultiDrawInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MemoryBarrier & setSrcAccessMask(VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassCreateInfo2 & setSubpassCount(uint32_t subpassCount_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceSubgroupSizeControlFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
DeviceFaultVendorBinaryHeaderVersionOneEXT(VkDeviceFaultVendorBinaryHeaderVersionOneEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ImageViewHandleInfoNVX(VULKAN_HPP_NAMESPACE::ImageView imageView_={}, VULKAN_HPP_NAMESPACE::DescriptorType descriptorType_=VULKAN_HPP_NAMESPACE::DescriptorType::eSampler, VULKAN_HPP_NAMESPACE::Sampler sampler_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
SubmitInfo2 & setCommandBufferInfos(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::CommandBufferSubmitInfo > const &commandBufferInfos_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MicromapBuildInfoEXT & setFlags(VULKAN_HPP_NAMESPACE::BuildMicromapFlagsEXT flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyBufferInfo2 & setPRegions(const VULKAN_HPP_NAMESPACE::BufferCopy2 *pRegions_) VULKAN_HPP_NOEXCEPT
bool operator!=(CuFunctionCreateInfoNVX const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkAccelerationStructureTrianglesOpacityMicromapEXT VkAccelerationStructureTrianglesOpacityMicromapEXT
VULKAN_HPP_CONSTEXPR_14 OpticalFlowImageFormatInfoNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(AccelerationStructureCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setUniformBufferStandardLayout(VULKAN_HPP_NAMESPACE::Bool32 uniformBufferStandardLayout_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setSamplerMirrorClampToEdge(VULKAN_HPP_NAMESPACE::Bool32 samplerMirrorClampToEdge_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassInputAttachmentAspectCreateInfo & setAspectReferenceCount(uint32_t aspectReferenceCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setShaderResourceResidency(VULKAN_HPP_NAMESPACE::Bool32 shaderResourceResidency_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan13Features & setRobustImageAccess(VULKAN_HPP_NAMESPACE::Bool32 robustImageAccess_) VULKAN_HPP_NOEXCEPT
struct VkExportFenceCreateInfo VkExportFenceCreateInfo
VULKAN_HPP_CONSTEXPR_14 PipelineTessellationStateCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassCreateInfo2 & setCorrelatedViewMaskCount(uint32_t correlatedViewMaskCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateFlags flags
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMotionInstanceDataNV(VULKAN_HPP_NAMESPACE::AccelerationStructureInstanceKHR staticInstance_={})
VULKAN_HPP_NAMESPACE::AccelerationStructureTypeKHR type
SubmitInfo(VkSubmitInfo const &rhs) VULKAN_HPP_NOEXCEPT
PipelineRasterizationConservativeStateCreateInfoEXT & operator=(VkPipelineRasterizationConservativeStateCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures2 & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineViewportWScalingStateCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfo
bool operator==(SparseImageFormatProperties2 const &rhs) const VULKAN_HPP_NOEXCEPT
PipelineCacheCreateInfo(VULKAN_HPP_NAMESPACE::PipelineCacheCreateFlags flags_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const T > const &initialData_, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 RenderPassTransformBeginInfoQCOM & setTransform(VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR transform_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceLineRasterizationFeaturesEXT & setStippledRectangularLines(VULKAN_HPP_NAMESPACE::Bool32 stippledRectangularLines_) VULKAN_HPP_NOEXCEPT
ApplicationInfo & operator=(VkApplicationInfo const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(GeometryAABBNV const &rhs) const VULKAN_HPP_NOEXCEPT
SurfaceFormatKHR(VkSurfaceFormatKHR const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceMemoryDecompressionFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(DeviceGroupDeviceCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ClearValue(VULKAN_HPP_NAMESPACE::ClearColorValue color_={})
PhysicalDeviceShaderTerminateInvocationFeatures(VkPhysicalDeviceShaderTerminateInvocationFeatures const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ComponentTypeNV CType
bool operator!=(AccelerationStructureMatrixMotionInstanceNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask
VULKAN_HPP_CONSTEXPR_14 ImageMemoryBarrier2 & setSubresourceRange(VULKAN_HPP_NAMESPACE::ImageSubresourceRange const &subresourceRange_) VULKAN_HPP_NOEXCEPT
PipelineVertexInputStateCreateInfo & setVertexAttributeDescriptions(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription > const &vertexAttributeDescriptions_) VULKAN_HPP_NOEXCEPT
bool operator!=(DevicePrivateDataCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PerformanceConfigurationAcquireInfoINTEL const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SamplerCustomBorderColorCreateInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AcquireNextImageInfoKHR & setSwapchain(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain_) VULKAN_HPP_NOEXCEPT
struct VkPresentTimesInfoGOOGLE VkPresentTimesInfoGOOGLE
VULKAN_HPP_CONSTEXPR PhysicalDeviceSubgroupSizeControlProperties(uint32_t minSubgroupSize_={}, uint32_t maxSubgroupSize_={}, uint32_t maxComputeWorkgroupSubgroups_={}, VULKAN_HPP_NAMESPACE::ShaderStageFlags requiredSubgroupSizeStages_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SpecializationInfo & setPMapEntries(const VULKAN_HPP_NAMESPACE::SpecializationMapEntry *pMapEntries_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderingInfo & setPColorAttachments(const VULKAN_HPP_NAMESPACE::RenderingAttachmentInfo *pColorAttachments_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SamplerCreateInfo & setAnisotropyEnable(VULKAN_HPP_NAMESPACE::Bool32 anisotropyEnable_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRayTracingInvocationReorderFeaturesNV & setRayTracingInvocationReorder(VULKAN_HPP_NAMESPACE::Bool32 rayTracingInvocationReorder_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Bool32 textureCompressionETC2
VULKAN_HPP_CONSTEXPR_14 DescriptorSetLayoutCreateInfo & setFlags(VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateFlags flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesOpacityMicromapEXT & setIndexStride(VULKAN_HPP_NAMESPACE::DeviceSize indexStride_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceDeviceMemoryReportFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineViewportShadingRateImageStateCreateInfoNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceFloatControlsProperties const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 TimelineSemaphoreSubmitInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setDrawIndirectCount(VULKAN_HPP_NAMESPACE::Bool32 drawIndirectCount_) VULKAN_HPP_NOEXCEPT
bool operator==(DisplayPlaneCapabilitiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryTrianglesDataKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GraphicsPipelineCreateInfo & setLayout(VULKAN_HPP_NAMESPACE::PipelineLayout layout_) VULKAN_HPP_NOEXCEPT
bool operator!=(ComputePipelineCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR & setWorkgroupMemoryExplicitLayout(VULKAN_HPP_NAMESPACE::Bool32 workgroupMemoryExplicitLayout_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorImageInfo & setImageView(VULKAN_HPP_NAMESPACE::ImageView imageView_) VULKAN_HPP_NOEXCEPT
GT_API const UT_StringHolder topology
DebugUtilsObjectTagInfoEXT(VULKAN_HPP_NAMESPACE::ObjectType objectType_, uint64_t objectHandle_, uint64_t tagName_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const T > const &tag_, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 CopyBufferToImageInfo2 & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::MicromapEXT src
bool operator!=(PhysicalDevicePipelineRobustnessPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
WriteDescriptorSet(VkWriteDescriptorSet const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDevicePerformanceQueryFeaturesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
ExternalMemoryImageCreateInfo(VkExternalMemoryImageCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ImageSubresourceLayers dstSubresource
VULKAN_HPP_CONSTEXPR_14 AttachmentSampleCountInfoAMD & setDepthStencilAttachmentSamples(VULKAN_HPP_NAMESPACE::SampleCountFlagBits depthStencilAttachmentSamples_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GraphicsPipelineCreateInfo & setPVertexInputState(const VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo *pVertexInputState_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExclusiveScissorFeaturesNV & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
CommandBufferBeginInfo(VkCommandBufferBeginInfo const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceMemoryProperties VkPhysicalDeviceMemoryProperties
DeviceMemoryOpaqueCaptureAddressInfo(VkDeviceMemoryOpaqueCaptureAddressInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayDynamicIndexing
VULKAN_HPP_CONSTEXPR_14 SwapchainPresentBarrierCreateInfoNV & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(SamplerYcbcrConversionInfo const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkSamplerCaptureDescriptorDataInfoEXT VkSamplerCaptureDescriptorDataInfoEXT
VULKAN_HPP_CONSTEXPR_14 RenderingInfo & setFlags(VULKAN_HPP_NAMESPACE::RenderingFlags flags_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE
BlitImageInfo2 & operator=(VkBlitImageInfo2 const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(IndirectCommandsLayoutCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GraphicsPipelineCreateInfo & setSubpass(uint32_t subpass_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setBufferDeviceAddressCaptureReplay(VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressCaptureReplay_) VULKAN_HPP_NOEXCEPT
PastPresentationTimingGOOGLE(VkPastPresentationTimingGOOGLE const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyAccelerationStructureToMemoryInfoKHR & setSrc(VULKAN_HPP_NAMESPACE::AccelerationStructureKHR src_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentShadingRateFeaturesKHR & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(RenderPassFragmentDensityMapCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
RenderPassCreateInfo2(VkRenderPassCreateInfo2 const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 FramebufferCreateInfo & setFlags(VULKAN_HPP_NAMESPACE::FramebufferCreateFlags flags_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 SubmitInfo2 & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSubpassMergeFeedbackFeaturesEXT & setSubpassMergeFeedback(VULKAN_HPP_NAMESPACE::Bool32 subpassMergeFeedback_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 IndirectCommandsLayoutTokenNV & setPushconstantPipelineLayout(VULKAN_HPP_NAMESPACE::PipelineLayout pushconstantPipelineLayout_) VULKAN_HPP_NOEXCEPT
AcquireProfilingLockInfoKHR(VkAcquireProfilingLockInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDevicePrivateDataFeatures VkPhysicalDevicePrivateDataFeatures
VULKAN_HPP_CONSTEXPR_14 CuLaunchInfoNVX & setBlockDimZ(uint32_t blockDimZ_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AllocationCallbacks & setPUserData(void *pUserData_) VULKAN_HPP_NOEXCEPT
SpecializationInfo(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SpecializationMapEntry > const &mapEntries_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const T > const &data_={})
VULKAN_HPP_CONSTEXPR PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(VULKAN_HPP_NAMESPACE::Bool32 perViewPositionAllComponents_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineExecutableStatisticValueKHR(VULKAN_HPP_NAMESPACE::Bool32 b32_={})
bool operator==(RenderPassMultiviewCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkSparseBufferMemoryBindInfo VkSparseBufferMemoryBindInfo
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceLineRasterizationFeaturesEXT & setBresenhamLines(VULKAN_HPP_NAMESPACE::Bool32 bresenhamLines_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDevice16BitStorageFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyAccelerationStructureInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
ExternalFenceProperties(VkExternalFenceProperties const &rhs) VULKAN_HPP_NOEXCEPT
CopyMicromapInfoEXT(VkCopyMicromapInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceSubgroupSizeControlFeatures(VkPhysicalDeviceSubgroupSizeControlFeatures const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(MutableDescriptorTypeCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(BindVertexBufferIndirectCommandNV const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT
VULKAN_HPP_CONSTEXPR PipelineRasterizationDepthClipStateCreateInfoEXT(VULKAN_HPP_NAMESPACE::PipelineRasterizationDepthClipStateCreateFlagsEXT flags_={}, VULKAN_HPP_NAMESPACE::Bool32 depthClipEnable_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCustomBorderColorFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(DisplayNativeHdrSurfaceCapabilitiesAMD const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT
VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceRenderingInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceFeatures2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageMemoryBarrier2 & setDstQueueFamilyIndex(uint32_t dstQueueFamilyIndex_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT(const VULKAN_HPP_NAMESPACE::DescriptorImageInfo *pDescriptorImageInfo_)
struct VkVideoCapabilitiesKHR VkVideoCapabilitiesKHR
bool operator==(PhysicalDeviceSampleLocationsPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageViewCreateInfo & setImage(VULKAN_HPP_NAMESPACE::Image image_) VULKAN_HPP_NOEXCEPT
PFN_vkVoidFunction(VKAPI_PTR * PFN_vkGetInstanceProcAddr)(VkInstance instance, const char *pName)
Definition: vulkan_core.h:3915
PushConstantRange(VkPushConstantRange const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationDepthClipStateCreateInfoEXT & setFlags(VULKAN_HPP_NAMESPACE::PipelineRasterizationDepthClipStateCreateFlagsEXT flags_) VULKAN_HPP_NOEXCEPT
bool operator!=(ImageSubresourceLayers const &rhs) const VULKAN_HPP_NOEXCEPT
SparseImageFormatProperties & operator=(VkSparseImageFormatProperties const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR indexData
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderSubgroupExtendedTypesFeatures & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceTransformFeedbackFeaturesEXT & setTransformFeedback(VULKAN_HPP_NAMESPACE::Bool32 transformFeedback_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR(VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceFragmentDensityMapPropertiesEXT & operator=(VkPhysicalDeviceFragmentDensityMapPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceLineRasterizationPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceMeshShaderFeaturesEXT VkPhysicalDeviceMeshShaderFeaturesEXT
VULKAN_HPP_CONSTEXPR_14 DescriptorUpdateTemplateCreateInfo & setPDescriptorUpdateEntries(const VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateEntry *pDescriptorUpdateEntries_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineRobustnessCreateInfoEXT(VULKAN_HPP_NAMESPACE::PipelineRobustnessBufferBehaviorEXT storageBuffers_=VULKAN_HPP_NAMESPACE::PipelineRobustnessBufferBehaviorEXT::eDeviceDefault, VULKAN_HPP_NAMESPACE::PipelineRobustnessBufferBehaviorEXT uniformBuffers_=VULKAN_HPP_NAMESPACE::PipelineRobustnessBufferBehaviorEXT::eDeviceDefault, VULKAN_HPP_NAMESPACE::PipelineRobustnessBufferBehaviorEXT vertexInputs_=VULKAN_HPP_NAMESPACE::PipelineRobustnessBufferBehaviorEXT::eDeviceDefault, VULKAN_HPP_NAMESPACE::PipelineRobustnessImageBehaviorEXT images_=VULKAN_HPP_NAMESPACE::PipelineRobustnessImageBehaviorEXT::eDeviceDefault, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceGroupPresentCapabilitiesKHR(std::array< uint32_t, VK_MAX_DEVICE_GROUP_SIZE > const &presentMask_={}, VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR modes_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PerformanceStreamMarkerInfoINTEL & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(PipelineInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkDeviceMemoryOverallocationCreateInfoAMD VkDeviceMemoryOverallocationCreateInfoAMD
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setShaderStorageImageWriteWithoutFormat(VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageWriteWithoutFormat_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageViewCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
DirectDriverLoadingInfoLUNARG & operator=(VkDirectDriverLoadingInfoLUNARG const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceInlineUniformBlockFeatures(VkPhysicalDeviceInlineUniformBlockFeatures const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(MultisampledRenderToSingleSampledInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineMultisampleStateCreateInfo & setAlphaToOneEnable(VULKAN_HPP_NAMESPACE::Bool32 alphaToOneEnable_) VULKAN_HPP_NOEXCEPT
bool operator!=(DeviceFaultInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubpassDescription2 & setPInputAttachments(const VULKAN_HPP_NAMESPACE::AttachmentReference2 *pInputAttachments_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRepresentativeFragmentTestFeaturesNV & setRepresentativeFragmentTest(VULKAN_HPP_NAMESPACE::Bool32 representativeFragmentTest_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureCreateInfoNV & setCompactedSize(VULKAN_HPP_NAMESPACE::DeviceSize compactedSize_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureCreateInfoKHR & setType(VULKAN_HPP_NAMESPACE::AccelerationStructureTypeKHR type_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SemaphoreCreateInfo & setFlags(VULKAN_HPP_NAMESPACE::SemaphoreCreateFlags flags_) VULKAN_HPP_NOEXCEPT
bool operator!=(DeviceFaultVendorInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SamplerCreateInfo & setFlags(VULKAN_HPP_NAMESPACE::SamplerCreateFlags flags_) VULKAN_HPP_NOEXCEPT
struct VkMemoryType VkMemoryType
struct VkAccelerationStructureMatrixMotionInstanceNV VkAccelerationStructureMatrixMotionInstanceNV
VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCallbackDataEXT & setPQueueLabels(const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT *pQueueLabels_) VULKAN_HPP_NOEXCEPT
bool operator!=(StridedDeviceAddressRegionKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderCoreProperties2AMD(VULKAN_HPP_NAMESPACE::ShaderCorePropertiesFlagsAMD shaderCoreFeatures_={}, uint32_t activeComputeUnitCount_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GraphicsPipelineCreateInfo & setBasePipelineIndex(int32_t basePipelineIndex_) VULKAN_HPP_NOEXCEPT
struct VkExportMetalBufferInfoEXT VkExportMetalBufferInfoEXT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
DescriptorUpdateTemplateEntry & operator=(DescriptorUpdateTemplateEntry const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator!=(PhysicalDeviceTexelBufferAlignmentProperties const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDevicePipelineRobustnessPropertiesEXT(VkPhysicalDevicePipelineRobustnessPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(XYColorEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDevicePipelineCreationCacheControlFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BindSparseInfo & setImageOpaqueBindCount(uint32_t imageOpaqueBindCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubpassDescription2 & setPreserveAttachmentCount(uint32_t preserveAttachmentCount_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceComputeShaderDerivativesFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(SubpassSampleLocationsEXT const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceVulkan13Properties & operator=(VkPhysicalDeviceVulkan13Properties const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDevicePCIBusInfoPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT & setGraphicsPipelineLibraryIndependentInterpolationDecoration(VULKAN_HPP_NAMESPACE::Bool32 graphicsPipelineLibraryIndependentInterpolationDecoration_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImportSemaphoreFdInfoKHR & setFd(int fd_) VULKAN_HPP_NOEXCEPT
struct VkVideoEncodeH265DpbSlotInfoEXT VkVideoEncodeH265DpbSlotInfoEXT
bool operator!=(DescriptorBufferBindingInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDevice4444FormatsFeaturesEXT VkPhysicalDevice4444FormatsFeaturesEXT
bool operator==(PhysicalDeviceCooperativeMatrixPropertiesNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
ImageSparseMemoryRequirementsInfo2 & operator=(VkImageSparseMemoryRequirementsInfo2 const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DependencyInfo & setImageMemoryBarrierCount(uint32_t imageMemoryBarrierCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildRangeInfoKHR & setPrimitiveOffset(uint32_t primitiveOffset_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 BufferCreateInfo & setSize(VULKAN_HPP_NAMESPACE::DeviceSize size_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure
struct VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfo
VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceIndexTypeUint8FeaturesEXT & setIndexTypeUint8(VULKAN_HPP_NAMESPACE::Bool32 indexTypeUint8_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SpecializationMapEntry & setConstantID(uint32_t constantID_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceViewportScissorInfoNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkPresentInfoKHR VkPresentInfoKHR
VULKAN_HPP_CONSTEXPR BufferOpaqueCaptureAddressCreateInfo(uint64_t opaqueCaptureAddress_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
AccelerationStructureGeometryKHR & operator=(AccelerationStructureGeometryKHR const &rhs) VULKAN_HPP_NOEXCEPT=default
PerformanceValueINTEL & operator=(VkPerformanceValueINTEL const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageBlit2 & setSrcSubresource(VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const &srcSubresource_) VULKAN_HPP_NOEXCEPT
bool operator==(SemaphoreSubmitInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceShadingRateImagePropertiesNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setDepthBiasClamp(VULKAN_HPP_NAMESPACE::Bool32 depthBiasClamp_) VULKAN_HPP_NOEXCEPT
BufferDeviceAddressCreateInfoEXT & operator=(BufferDeviceAddressCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 MemoryGetRemoteAddressInfoNV & setMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShadingRateImageFeaturesNV & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT VkPhysicalDeviceYcbcrImageArraysFeaturesEXT
VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceRenderingInfo & setColorAttachmentCount(uint32_t colorAttachmentCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineColorBlendStateCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(PresentTimesInfoGOOGLE const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(ExternalImageFormatPropertiesNV const &rhs) const VULKAN_HPP_NOEXCEPT
ImageViewCaptureDescriptorDataInfoEXT(VkImageViewCaptureDescriptorDataInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
VULKAN_HPP_CONSTEXPR FormatProperties3(VULKAN_HPP_NAMESPACE::FormatFeatureFlags2 linearTilingFeatures_={}, VULKAN_HPP_NAMESPACE::FormatFeatureFlags2 optimalTilingFeatures_={}, VULKAN_HPP_NAMESPACE::FormatFeatureFlags2 bufferFeatures_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SparseImageOpaqueMemoryBindInfo & setImage(VULKAN_HPP_NAMESPACE::Image image_) VULKAN_HPP_NOEXCEPT
SparseBufferMemoryBindInfo & setBinds(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SparseMemoryBind > const &binds_) VULKAN_HPP_NOEXCEPT
PresentTimesInfoGOOGLE & setTimes(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::PresentTimeGOOGLE > const &times_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceComputeShaderDerivativesFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
DebugMarkerMarkerInfoEXT & operator=(DebugMarkerMarkerInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator==(BufferImageCopy2 const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceVulkan11Properties VkPhysicalDeviceVulkan11Properties
VULKAN_HPP_CONSTEXPR_14 CopyImageToBufferInfo2 & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceShaderImageFootprintFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkShaderModuleValidationCacheCreateInfoEXT VkShaderModuleValidationCacheCreateInfoEXT
VULKAN_HPP_CONSTEXPR PhysicalDeviceAmigoProfilingFeaturesSEC(VULKAN_HPP_NAMESPACE::Bool32 amigoProfiling_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT
bool operator==(SubpassBeginInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassCreateInfo2 & setPSubpasses(const VULKAN_HPP_NAMESPACE::SubpassDescription2 *pSubpasses_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::BlendFactor dstAlphaBlendFactor
PhysicalDeviceCopyMemoryIndirectPropertiesNV(VkPhysicalDeviceCopyMemoryIndirectPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT & setImageCompressionControlSwapchain(VULKAN_HPP_NAMESPACE::Bool32 imageCompressionControlSwapchain_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState2FeaturesEXT & setExtendedDynamicState2(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState2_) VULKAN_HPP_NOEXCEPT
bool operator!=(ImageSparseMemoryRequirementsInfo2 const &rhs) const VULKAN_HPP_NOEXCEPT
DependencyInfo & setImageMemoryBarriers(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier2 > const &imageMemoryBarriers_) VULKAN_HPP_NOEXCEPT
VkAccelerationStructureGeometryInstancesDataKHR instances
ImportSemaphoreFdInfoKHR & operator=(VkImportSemaphoreFdInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferViewCreateInfo & setFlags(VULKAN_HPP_NAMESPACE::BufferViewCreateFlags flags_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceRayTracingPipelineFeaturesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
Offset2D & operator=(VkOffset2D const &rhs) VULKAN_HPP_NOEXCEPT
BufferDeviceAddressInfo(VkBufferDeviceAddressInfo const &rhs) VULKAN_HPP_NOEXCEPT
GLint GLint GLsizei GLint GLenum format
Definition: glcorearb.h:108
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureSRTMotionInstanceNV & setInstanceCustomIndex(uint32_t instanceCustomIndex_) VULKAN_HPP_NOEXCEPT
PipelineCreationFeedbackCreateInfo(VkPipelineCreationFeedbackCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState3FeaturesEXT & setExtendedDynamicState3ColorBlendEquation(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ColorBlendEquation_) VULKAN_HPP_NOEXCEPT
bool operator==(RenderingFragmentDensityMapAttachmentInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceVulkanMemoryModelFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceRenderingInfo & setFlags(VULKAN_HPP_NAMESPACE::RenderingFlags flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PresentTimeGOOGLE(uint32_t presentID_={}, uint64_t desiredPresentTime_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RectLayerKHR & setLayer(uint32_t layer_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceProtectedMemoryProperties(VkPhysicalDeviceProtectedMemoryProperties const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SubpassBeginInfo(VULKAN_HPP_NAMESPACE::SubpassContents contents_=VULKAN_HPP_NAMESPACE::SubpassContents::eInline, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MicromapVersionInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(DisplayModeParametersKHR const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PipelineRasterizationConservativeStateCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceExclusiveScissorFeaturesNV VkPhysicalDeviceExclusiveScissorFeaturesNV
PhysicalDeviceVulkan13Features(VkPhysicalDeviceVulkan13Features const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DisplayPlaneInfo2KHR & setMode(VULKAN_HPP_NAMESPACE::DisplayModeKHR mode_) VULKAN_HPP_NOEXCEPT
GeometryTrianglesNV(VkGeometryTrianglesNV const &rhs) VULKAN_HPP_NOEXCEPT
EventCreateInfo(VkEventCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDevicePresentIdFeaturesKHR(VkPhysicalDevicePresentIdFeaturesKHR const &rhs) VULKAN_HPP_NOEXCEPT
CoarseSampleLocationNV & operator=(CoarseSampleLocationNV const &rhs) VULKAN_HPP_NOEXCEPT=default
IndirectCommandsLayoutCreateInfoNV & operator=(VkIndirectCommandsLayoutCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
PerformanceConfigurationAcquireInfoINTEL & operator=(VkPerformanceConfigurationAcquireInfoINTEL const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(DeviceGroupPresentCapabilitiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
AccelerationStructureBuildSizesInfoKHR & operator=(AccelerationStructureBuildSizesInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT=default
CopyCommandTransformInfoQCOM(VkCopyCommandTransformInfoQCOM const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceCreateInfo & setPpEnabledExtensionNames(const char *const *ppEnabledExtensionNames_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceAccelerationStructurePropertiesKHR & operator=(VkPhysicalDeviceAccelerationStructurePropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AttachmentDescription & setStencilStoreOp(VULKAN_HPP_NAMESPACE::AttachmentStoreOp stencilStoreOp_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureInstanceKHR & setInstanceCustomIndex(uint32_t instanceCustomIndex_) VULKAN_HPP_NOEXCEPT
ImageCompressionControlEXT(VkImageCompressionControlEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkAccelerationStructureGeometryMotionTrianglesDataNV VkAccelerationStructureGeometryMotionTrianglesDataNV
bool operator!=(PhysicalDeviceShadingRateImageFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
DrmFormatModifierPropertiesList2EXT(VkDrmFormatModifierPropertiesList2EXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GraphicsPipelineCreateInfo & setPDepthStencilState(const VULKAN_HPP_NAMESPACE::PipelineDepthStencilStateCreateInfo *pDepthStencilState_) VULKAN_HPP_NOEXCEPT
Viewport & operator=(VkViewport const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCreateInfoEXT & setMessageType(VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT messageType_) VULKAN_HPP_NOEXCEPT
bool operator==(CommandBufferInheritanceRenderPassTransformInfoQCOM const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 TraceRaysIndirectCommand2KHR & setCallableShaderBindingTableAddress(VULKAN_HPP_NAMESPACE::DeviceAddress callableShaderBindingTableAddress_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BindImageMemoryDeviceGroupInfo & setPSplitInstanceBindRegions(const VULKAN_HPP_NAMESPACE::Rect2D *pSplitInstanceBindRegions_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubresourceLayout & setSize(VULKAN_HPP_NAMESPACE::DeviceSize size_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceDepthClipControlFeaturesEXT & operator=(VkPhysicalDeviceDepthClipControlFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GeometryDataNV & setAabbs(VULKAN_HPP_NAMESPACE::GeometryAABBNV const &aabbs_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceIndexTypeUint8FeaturesEXT & operator=(VkPhysicalDeviceIndexTypeUint8FeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
PipelineShaderStageCreateInfo & operator=(PipelineShaderStageCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator!=(MemoryHostPointerPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
GeneratedCommandsInfoNV(VkGeneratedCommandsInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
RayTracingPipelineCreateInfoKHR & operator=(VkRayTracingPipelineCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorIndexingFeatures & setDescriptorBindingVariableDescriptorCount(VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingVariableDescriptorCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ColorBlendAdvancedEXT & setClampResults(VULKAN_HPP_NAMESPACE::Bool32 clampResults_) VULKAN_HPP_NOEXCEPT
bool operator!=(ImageBlit const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(AttachmentReference2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceConditionalRenderingInfoEXT & setConditionalRenderingEnable(VULKAN_HPP_NAMESPACE::Bool32 conditionalRenderingEnable_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PresentInfoKHR & setPWaitSemaphores(const VULKAN_HPP_NAMESPACE::Semaphore *pWaitSemaphores_) VULKAN_HPP_NOEXCEPT
bool operator!=(SamplerReductionModeCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
struct VkBindImageMemoryInfo VkBindImageMemoryInfo
VULKAN_HPP_CONSTEXPR_14 ImageDrmFormatModifierExplicitCreateInfoEXT & setPPlaneLayouts(const VULKAN_HPP_NAMESPACE::SubresourceLayout *pPlaneLayouts_) VULKAN_HPP_NOEXCEPT
DisplayModeCreateInfoKHR & operator=(VkDisplayModeCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPipelineDiscardRectangleStateCreateInfoEXT VkPipelineDiscardRectangleStateCreateInfoEXT
struct VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT
VULKAN_HPP_CONSTEXPR_14 PipelineRenderingCreateInfo & setColorAttachmentCount(uint32_t colorAttachmentCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMatrixMotionInstanceNV & setAccelerationStructureReference(uint64_t accelerationStructureReference_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 TraceRaysIndirectCommand2KHR & setCallableShaderBindingTableSize(VULKAN_HPP_NAMESPACE::DeviceSize callableShaderBindingTableSize_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceTextureCompressionASTCHDRFeatures(VkPhysicalDeviceTextureCompressionASTCHDRFeatures const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureSRTMotionInstanceNV & setAccelerationStructureReference(uint64_t accelerationStructureReference_) VULKAN_HPP_NOEXCEPT
bool operator==(ResolveImageInfo2 const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceMultiDrawPropertiesEXT VkPhysicalDeviceMultiDrawPropertiesEXT
VULKAN_HPP_CONSTEXPR_14 WriteDescriptorSet & setDstArrayElement(uint32_t dstArrayElement_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DisplayPlaneProperties2KHR(VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR displayPlaneProperties_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkRayTracingPipelineCreateInfoNV VkRayTracingPipelineCreateInfoNV
PipelineInputAssemblyStateCreateInfo & operator=(VkPipelineInputAssemblyStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(SurfaceCapabilitiesPresentBarrierNV const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkSurfaceFormat2KHR VkSurfaceFormat2KHR
VULKAN_HPP_CONSTEXPR SubpassShadingPipelineCreateInfoHUAWEI(VULKAN_HPP_NAMESPACE::RenderPass renderPass_={}, uint32_t subpass_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceQueueInfo2 & setFlags(VULKAN_HPP_NAMESPACE::DeviceQueueCreateFlags flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::PipelineStageFlagBits stage
VULKAN_HPP_CONSTEXPR_14 TransformMatrixKHR & setMatrix(std::array< std::array< float, 4 >, 3 > matrix_) VULKAN_HPP_NOEXCEPT
bool operator!=(Rect2D const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderAtomicFloat2FeaturesEXT & setShaderSharedFloat16AtomicAdd(VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat16AtomicAdd_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI VkPhysicalDeviceInvocationMaskFeaturesHUAWEI
VULKAN_HPP_CONSTEXPR_14 DescriptorUpdateTemplateEntry & setOffset(size_t offset_) VULKAN_HPP_NOEXCEPT
GLint GLenum GLboolean GLsizei stride
Definition: glcorearb.h:872
VULKAN_HPP_CONSTEXPR MultiviewPerViewAttributesInfoNVX(VULKAN_HPP_NAMESPACE::Bool32 perViewAttributes_={}, VULKAN_HPP_NAMESPACE::Bool32 perViewAttributesPositionXOnly_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFaultFeaturesEXT & setDeviceFaultVendorBinary(VULKAN_HPP_NAMESPACE::Bool32 deviceFaultVendorBinary_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubpassDescription & setPDepthStencilAttachment(const VULKAN_HPP_NAMESPACE::AttachmentReference *pDepthStencilAttachment_) VULKAN_HPP_NOEXCEPT
bool operator!=(DeviceEventInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDevicePresentWaitFeaturesKHR(VkPhysicalDevicePresentWaitFeaturesKHR const &rhs) VULKAN_HPP_NOEXCEPT
StencilOpState(VkStencilOpState const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceRayTracingMaintenance1FeaturesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
DescriptorSetAllocateInfo & setSetLayouts(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::DescriptorSetLayout > const &setLayouts_) VULKAN_HPP_NOEXCEPT
ImageBlit2(VkImageBlit2 const &rhs) VULKAN_HPP_NOEXCEPT
SubpassDescriptionDepthStencilResolve & operator=(VkSubpassDescriptionDepthStencilResolve const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderTerminateInvocationFeatures(VULKAN_HPP_NAMESPACE::Bool32 shaderTerminateInvocation_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyMemoryToMicromapInfoEXT & setMode(VULKAN_HPP_NAMESPACE::CopyMicromapModeEXT mode_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyAccelerationStructureInfoKHR & setDst(VULKAN_HPP_NAMESPACE::AccelerationStructureKHR dst_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceMemoryDecompressionPropertiesNV(VkPhysicalDeviceMemoryDecompressionPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderClockFeaturesKHR & setShaderDeviceClock(VULKAN_HPP_NAMESPACE::Bool32 shaderDeviceClock_) VULKAN_HPP_NOEXCEPT
AmigoProfilingSubmitInfoSEC & operator=(AmigoProfilingSubmitInfoSEC const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator==(PhysicalDeviceVulkan12Properties const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT & operator=(VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkVideoEncodeH264ReferenceListsInfoEXT VkVideoEncodeH264ReferenceListsInfoEXT
struct VkOpticalFlowSessionCreatePrivateDataInfoNV VkOpticalFlowSessionCreatePrivateDataInfoNV
struct VkPipelineRobustnessCreateInfoEXT VkPipelineRobustnessCreateInfoEXT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceTimelineSemaphoreFeatures & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ConditionalRenderingBeginInfoEXT(VULKAN_HPP_NAMESPACE::Buffer buffer_={}, VULKAN_HPP_NAMESPACE::DeviceSize offset_={}, VULKAN_HPP_NAMESPACE::ConditionalRenderingFlagsEXT flags_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
DescriptorSetAllocateInfo & operator=(DescriptorSetAllocateInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator!=(PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX const &rhs) const VULKAN_HPP_NOEXCEPT
DeviceMemoryOverallocationCreateInfoAMD(VkDeviceMemoryOverallocationCreateInfoAMD const &rhs) VULKAN_HPP_NOEXCEPT
CopyDescriptorSet(VkCopyDescriptorSet const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(GeneratedCommandsMemoryRequirementsInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(CoarseSampleOrderCustomNV const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkAttachmentReference VkAttachmentReference
bool operator==(HeadlessSurfaceCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AttachmentDescription2 & setFormat(VULKAN_HPP_NAMESPACE::Format format_) VULKAN_HPP_NOEXCEPT
bool operator==(CommandBufferSubmitInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationStateCreateInfo & setFrontFace(VULKAN_HPP_NAMESPACE::FrontFace frontFace_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GraphicsPipelineCreateInfo & setPInputAssemblyState(const VULKAN_HPP_NAMESPACE::PipelineInputAssemblyStateCreateInfo *pInputAssemblyState_) VULKAN_HPP_NOEXCEPT
bool operator!=(DeviceAddressBindingCallbackDataEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier2 & setSrcStageMask(VULKAN_HPP_NAMESPACE::PipelineStageFlags2 srcStageMask_) VULKAN_HPP_NOEXCEPT
GLint GLuint mask
Definition: glcorearb.h:124
CoarseSampleOrderCustomNV(VkCoarseSampleOrderCustomNV const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceFeatures & operator=(PhysicalDeviceFeatures const &rhs) VULKAN_HPP_NOEXCEPT=default
ImageCopy(VkImageCopy const &rhs) VULKAN_HPP_NOEXCEPT
InstanceCreateInfo & operator=(VkInstanceCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceInlineUniformBlockFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceCooperativeMatrixFeaturesNV(VULKAN_HPP_NAMESPACE::Bool32 cooperativeMatrix_={}, VULKAN_HPP_NAMESPACE::Bool32 cooperativeMatrixRobustBufferAccess_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::BuildAccelerationStructureFlagsKHR flags
VULKAN_HPP_CONSTEXPR_14 CommandBufferAllocateInfo & setCommandPool(VULKAN_HPP_NAMESPACE::CommandPool commandPool_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 TraceRaysIndirectCommand2KHR & setCallableShaderBindingTableStride(VULKAN_HPP_NAMESPACE::DeviceSize callableShaderBindingTableStride_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImportMemoryHostPointerInfoEXT & setPHostPointer(void *pHostPointer_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineCacheCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 IndirectCommandsLayoutTokenNV & setPIndexTypeValues(const uint32_t *pIndexTypeValues_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SRTDataNV & setSy(float sy_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DeviceCreateInfo(VULKAN_HPP_NAMESPACE::DeviceCreateFlags flags_={}, uint32_t queueCreateInfoCount_={}, const VULKAN_HPP_NAMESPACE::DeviceQueueCreateInfo *pQueueCreateInfos_={}, uint32_t enabledLayerCount_={}, const char *const *ppEnabledLayerNames_={}, uint32_t enabledExtensionCount_={}, const char *const *ppEnabledExtensionNames_={}, const VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures *pEnabledFeatures_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 GeneratedCommandsInfoNV & setSequencesCountOffset(VULKAN_HPP_NAMESPACE::DeviceSize sequencesCountOffset_) VULKAN_HPP_NOEXCEPT
RenderPassFragmentDensityMapCreateInfoEXT & operator=(VkRenderPassFragmentDensityMapCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
SubpassDependency & operator=(VkSubpassDependency const &rhs) VULKAN_HPP_NOEXCEPT
PipelineSampleLocationsStateCreateInfoEXT(VkPipelineSampleLocationsStateCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDevicePerformanceQueryFeaturesKHR VkPhysicalDevicePerformanceQueryFeaturesKHR
PhysicalDeviceShaderIntegerDotProductProperties(VkPhysicalDeviceShaderIntegerDotProductProperties const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderAtomicFloat2FeaturesEXT & setShaderImageFloat32AtomicMinMax(VULKAN_HPP_NAMESPACE::Bool32 shaderImageFloat32AtomicMinMax_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SwapchainCreateInfoKHR & setClipped(VULKAN_HPP_NAMESPACE::Bool32 clipped_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceRayTracingPropertiesNV const &rhs) const VULKAN_HPP_NOEXCEPT
PipelineRasterizationConservativeStateCreateInfoEXT(VkPipelineRasterizationConservativeStateCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkImageCopy VkImageCopy
struct VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfo
struct VkPhysicalDeviceLegacyDitheringFeaturesEXT VkPhysicalDeviceLegacyDitheringFeaturesEXT
struct VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolPerformanceQueryCreateInfoINTEL
ImageSubresource & operator=(ImageSubresource const &rhs) VULKAN_HPP_NOEXCEPT=default
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateType templateType
TimelineSemaphoreSubmitInfo & setSignalSemaphoreValues(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint64_t > const &signalSemaphoreValues_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
bool operator!=(PhysicalDeviceLineRasterizationPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageMemoryBarrier2 & setSrcStageMask(VULKAN_HPP_NAMESPACE::PipelineStageFlags2 srcStageMask_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferCopy & setSrcOffset(VULKAN_HPP_NAMESPACE::DeviceSize srcOffset_) VULKAN_HPP_NOEXCEPT
bool operator!=(SwapchainCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceTexelBufferAlignmentProperties & operator=(VkPhysicalDeviceTexelBufferAlignmentProperties const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceGlobalPriorityQueryFeaturesKHR & operator=(VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR const &rhs) VULKAN_HPP_NOEXCEPT
const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier2 * pBufferMemoryBarriers
struct VkBindSparseInfo VkBindSparseInfo
struct VkDisplayPropertiesKHR VkDisplayPropertiesKHR
VULKAN_HPP_CONSTEXPR_14 PipelineTessellationDomainOriginStateCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRenderingCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkImportMemoryHostPointerInfoEXT VkImportMemoryHostPointerInfoEXT
const VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT * pObjects
VULKAN_HPP_CONSTEXPR_14 ShaderModuleCreateInfo & setFlags(VULKAN_HPP_NAMESPACE::ShaderModuleCreateFlags flags_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceExtendedDynamicState3FeaturesEXT(VkPhysicalDeviceExtendedDynamicState3FeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SparseImageOpaqueMemoryBindInfo(VULKAN_HPP_NAMESPACE::Image image_={}, uint32_t bindCount_={}, const VULKAN_HPP_NAMESPACE::SparseMemoryBind *pBinds_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 FramebufferAttachmentsCreateInfo & setPAttachmentImageInfos(const VULKAN_HPP_NAMESPACE::FramebufferAttachmentImageInfo *pAttachmentImageInfos_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineCoverageModulationStateCreateInfoNV & setPCoverageModulationTable(const float *pCoverageModulationTable_) VULKAN_HPP_NOEXCEPT
bool operator==(PipelineShaderStageModuleIdentifierCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
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
struct VkDeviceImageMemoryRequirements VkDeviceImageMemoryRequirements
VULKAN_HPP_CONSTEXPR_14 DependencyInfo & setDependencyFlags(VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags_) VULKAN_HPP_NOEXCEPT
bool operator==(CalibratedTimestampInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceVulkan12Properties VkPhysicalDeviceVulkan12Properties
VULKAN_HPP_CONSTEXPR_14 DisplayPresentInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubpassDescription2 & setInputAttachmentCount(uint32_t inputAttachmentCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineCacheHeaderVersionOne(uint32_t headerSize_={}, VULKAN_HPP_NAMESPACE::PipelineCacheHeaderVersion headerVersion_=VULKAN_HPP_NAMESPACE::PipelineCacheHeaderVersion::eOne, uint32_t vendorID_={}, uint32_t deviceID_={}, std::array< uint8_t, VK_UUID_SIZE > const &pipelineCacheUUID_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 WriteDescriptorSetAccelerationStructureKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 StencilOpState & setFailOp(VULKAN_HPP_NAMESPACE::StencilOp failOp_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugUtilsObjectTagInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(GeometryDataNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ImageSparseMemoryRequirementsInfo2(VULKAN_HPP_NAMESPACE::Image image_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR Offset3D(int32_t x_={}, int32_t y_={}, int32_t z_={}) VULKAN_HPP_NOEXCEPT
bool operator!=(MemoryOpaqueCaptureAddressAllocateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
ShadingRatePaletteNV & setShadingRatePaletteEntries(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::ShadingRatePaletteEntryNV > const &shadingRatePaletteEntries_) VULKAN_HPP_NOEXCEPT
PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT(VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(AccelerationStructureSRTMotionInstanceNV const &rhs) const VULKAN_HPP_NOEXCEPT
PipelineRasterizationStateStreamCreateInfoEXT(VkPipelineRasterizationStateStreamCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineCoverageReductionStateCreateInfoNV(VULKAN_HPP_NAMESPACE::PipelineCoverageReductionStateCreateFlagsNV flags_={}, VULKAN_HPP_NAMESPACE::CoverageReductionModeNV coverageReductionMode_=VULKAN_HPP_NAMESPACE::CoverageReductionModeNV::eMerge, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorPoolCreateInfo & setPoolSizeCount(uint32_t poolSizeCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCallbackDataEXT & setPCmdBufLabels(const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT *pCmdBufLabels_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineViewportCoarseSampleOrderStateCreateInfoNV(VULKAN_HPP_NAMESPACE::CoarseSampleOrderTypeNV sampleOrderType_=VULKAN_HPP_NAMESPACE::CoarseSampleOrderTypeNV::eDefault, uint32_t customSampleOrderCount_={}, const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV *pCustomSampleOrders_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 HdrMetadataEXT & setMaxContentLightLevel(float maxContentLightLevel_) VULKAN_HPP_NOEXCEPT
struct VkPipelineCompilerControlCreateInfoAMD VkPipelineCompilerControlCreateInfoAMD
VULKAN_HPP_CONSTEXPR PhysicalDeviceInvocationMaskFeaturesHUAWEI(VULKAN_HPP_NAMESPACE::Bool32 invocationMask_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkColorBlendAdvancedEXT VkColorBlendAdvancedEXT
bool operator!=(AabbPositionsKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PerformanceValueDataINTEL & setValue64(uint64_t value64_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT(VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SubpassSampleLocationsEXT(uint32_t subpassIndex_={}, VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT sampleLocationsInfo_={}) VULKAN_HPP_NOEXCEPT
CopyMemoryToAccelerationStructureInfoKHR(VkCopyMemoryToAccelerationStructureInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
AccelerationStructureGeometryTrianglesDataKHR & operator=(VkAccelerationStructureGeometryTrianglesDataKHR const &rhs) VULKAN_HPP_NOEXCEPT
struct VkSamplerBorderColorComponentMappingCreateInfoEXT VkSamplerBorderColorComponentMappingCreateInfoEXT
struct VkPhysicalDevicePresentIdFeaturesKHR VkPhysicalDevicePresentIdFeaturesKHR
VULKAN_HPP_CONSTEXPR_14 Rect2D & setExtent(VULKAN_HPP_NAMESPACE::Extent2D const &extent_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Bool32 textureCompressionBC
ImageViewMinLodCreateInfoEXT & operator=(VkImageViewMinLodCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceQueueCreateInfo & setFlags(VULKAN_HPP_NAMESPACE::DeviceQueueCreateFlags flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassBeginInfo & setFramebuffer(VULKAN_HPP_NAMESPACE::Framebuffer framebuffer_) VULKAN_HPP_NOEXCEPT
CommandBufferInheritanceConditionalRenderingInfoEXT & operator=(CommandBufferInheritanceConditionalRenderingInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR GraphicsShaderGroupCreateInfoNV(uint32_t stageCount_={}, const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo *pStages_={}, const VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo *pVertexInputState_={}, const VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo *pTessellationState_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ImportMemoryHostPointerInfoEXT(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_=VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd, void *pHostPointer_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineColorBlendAttachmentState & setDstColorBlendFactor(VULKAN_HPP_NAMESPACE::BlendFactor dstColorBlendFactor_) VULKAN_HPP_NOEXCEPT
struct VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupport
VULKAN_HPP_CONSTEXPR PrivateDataSlotCreateInfo(VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateFlags flags_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM(VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMapOffset_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ComponentMapping & setG(VULKAN_HPP_NAMESPACE::ComponentSwizzle g_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ExportFenceCreateInfo & setHandleTypes(VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlags handleTypes_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyDescriptorSet & setDstBinding(uint32_t dstBinding_) VULKAN_HPP_NOEXCEPT
PresentInfoKHR(VkPresentInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
DrmFormatModifierPropertiesEXT & operator=(VkDrmFormatModifierPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan11Features & setMultiview(VULKAN_HPP_NAMESPACE::Bool32 multiview_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildGeometryInfoKHR & setSrcAccelerationStructure(VULKAN_HPP_NAMESPACE::AccelerationStructureKHR srcAccelerationStructure_) VULKAN_HPP_NOEXCEPT
bool operator==(DeviceDeviceMemoryReportCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
IndirectCommandsLayoutTokenNV & setIndexTypeValues(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &indexTypeValues_) VULKAN_HPP_NOEXCEPT
struct VkImageSubresource2EXT VkImageSubresource2EXT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT & setMultisampledRenderToSingleSampled(VULKAN_HPP_NAMESPACE::Bool32 multisampledRenderToSingleSampled_) VULKAN_HPP_NOEXCEPT
BindImageMemorySwapchainInfoKHR(VkBindImageMemorySwapchainInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSurfaceInfo2KHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImportFenceFdInfoKHR & setFlags(VULKAN_HPP_NAMESPACE::FenceImportFlags flags_) VULKAN_HPP_NOEXCEPT
AccelerationStructureCaptureDescriptorDataInfoEXT & operator=(VkAccelerationStructureCaptureDescriptorDataInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 FramebufferCreateInfo & setPAttachments(const VULKAN_HPP_NAMESPACE::ImageView *pAttachments_) VULKAN_HPP_NOEXCEPT
struct VkImageViewSampleWeightCreateInfoQCOM VkImageViewSampleWeightCreateInfoQCOM
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderImageAtomicInt64FeaturesEXT & setShaderImageInt64Atomics(VULKAN_HPP_NAMESPACE::Bool32 shaderImageInt64Atomics_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceSampleLocationsPropertiesEXT & operator=(VkPhysicalDeviceSampleLocationsPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
DeviceGroupRenderPassBeginInfo(VkDeviceGroupRenderPassBeginInfo const &rhs) VULKAN_HPP_NOEXCEPT
Offset2D(VkOffset2D const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMeshShaderFeaturesEXT & setPrimitiveFragmentShadingRateMeshShader(VULKAN_HPP_NAMESPACE::Bool32 primitiveFragmentShadingRateMeshShader_) VULKAN_HPP_NOEXCEPT
ApplicationInfo(VkApplicationInfo const &rhs) VULKAN_HPP_NOEXCEPT
AllocationCallbacks & operator=(VkAllocationCallbacks const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(BindSparseInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureDeviceAddressInfoKHR & setAccelerationStructure(VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 WriteDescriptorSet & setDstBinding(uint32_t dstBinding_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::AttachmentLoadOp stencilLoadOp
VULKAN_HPP_CONSTEXPR_14 SemaphoreSignalInfo & setSemaphore(VULKAN_HPP_NAMESPACE::Semaphore semaphore_) VULKAN_HPP_NOEXCEPT
PipelineLayoutCreateInfo & setSetLayouts(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::DescriptorSetLayout > const &setLayouts_) VULKAN_HPP_NOEXCEPT
SubpassResolvePerformanceQueryEXT(VkSubpassResolvePerformanceQueryEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RayTracingPipelineCreateInfoNV & setStageCount(uint32_t stageCount_) VULKAN_HPP_NOEXCEPT
IndirectCommandsLayoutTokenNV & operator=(VkIndirectCommandsLayoutTokenNV const &rhs) VULKAN_HPP_NOEXCEPT
const VULKAN_HPP_NAMESPACE::BufferCopy2 * pRegions
VULKAN_HPP_CONSTEXPR_14 SparseMemoryBind & setMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubresourceLayout & setRowPitch(VULKAN_HPP_NAMESPACE::DeviceSize rowPitch_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorSetAllocateInfo & setDescriptorPool(VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
ImageDrmFormatModifierPropertiesEXT(VkImageDrmFormatModifierPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineVertexInputStateCreateInfo & setPVertexAttributeDescriptions(const VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription *pVertexAttributeDescriptions_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SampleLocationsInfoEXT & setPSampleLocations(const VULKAN_HPP_NAMESPACE::SampleLocationEXT *pSampleLocations_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceMaintenance4Properties(VULKAN_HPP_NAMESPACE::DeviceSize maxBufferSize_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR CopyBufferToImageInfo2(VULKAN_HPP_NAMESPACE::Buffer srcBuffer_={}, VULKAN_HPP_NAMESPACE::Image dstImage_={}, VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout_=VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined, uint32_t regionCount_={}, const VULKAN_HPP_NAMESPACE::BufferImageCopy2 *pRegions_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkMicromapCreateInfoEXT VkMicromapCreateInfoEXT
bool operator==(DispatchIndirectCommand const &rhs) const VULKAN_HPP_NOEXCEPT
DeviceQueueCreateInfo(VULKAN_HPP_NAMESPACE::DeviceQueueCreateFlags flags_, uint32_t queueFamilyIndex_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const float > const &queuePriorities_, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 DebugMarkerMarkerInfoEXT(const char *pMarkerName_={}, std::array< float, 4 > const &color_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
BindIndexBufferIndirectCommandNV & operator=(BindIndexBufferIndirectCommandNV const &rhs) VULKAN_HPP_NOEXCEPT=default
DebugUtilsMessengerCallbackDataEXT & setQueueLabels(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT > const &queueLabels_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceRGBA10X6FormatsFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 formatRgba10x6WithoutYCbCrSampler_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkVideoSessionMemoryRequirementsKHR VkVideoSessionMemoryRequirementsKHR
VULKAN_HPP_CONSTEXPR_14 GraphicsShaderGroupCreateInfoNV & setPTessellationState(const VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo *pTessellationState_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceVulkan13Features const &rhs) const VULKAN_HPP_NOEXCEPT
ImageCreateInfo & operator=(VkImageCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
BindImageMemorySwapchainInfoKHR & operator=(VkBindImageMemorySwapchainInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
SemaphoreSubmitInfo & operator=(VkSemaphoreSubmitInfo const &rhs) VULKAN_HPP_NOEXCEPT
BufferDeviceAddressInfo & operator=(VkBufferDeviceAddressInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceCoherentMemoryFeaturesAMD(VULKAN_HPP_NAMESPACE::Bool32 deviceCoherentMemory_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MultisampledRenderToSingleSampledInfoEXT & setMultisampledRenderToSingleSampledEnable(VULKAN_HPP_NAMESPACE::Bool32 multisampledRenderToSingleSampledEnable_) VULKAN_HPP_NOEXCEPT
MemoryRequirements2(VkMemoryRequirements2 const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 IndirectCommandsLayoutCreateInfoNV & setFlags(VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutUsageFlagsNV flags_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceTransformFeedbackPropertiesEXT(VkPhysicalDeviceTransformFeedbackPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkImportMetalIOSurfaceInfoEXT VkImportMetalIOSurfaceInfoEXT
VULKAN_HPP_CONSTEXPR_14 StencilOpState & setReference(uint32_t reference_) VULKAN_HPP_NOEXCEPT
DirectDriverLoadingListLUNARG & setDrivers(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::DirectDriverLoadingInfoLUNARG > const &drivers_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkanMemoryModelFeatures & setVulkanMemoryModelDeviceScope(VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModelDeviceScope_) VULKAN_HPP_NOEXCEPT
struct VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfo
VULKAN_HPP_CONSTEXPR_14 SubpassFragmentDensityMapOffsetEndInfoQCOM & setPFragmentDensityOffsets(const VULKAN_HPP_NAMESPACE::Offset2D *pFragmentDensityOffsets_) VULKAN_HPP_NOEXCEPT
PhysicalDevicePCIBusInfoPropertiesEXT & operator=(VkPhysicalDevicePCIBusInfoPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceImageViewMinLodFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCopyMemoryIndirectFeaturesNV & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
ClearDepthStencilValue & operator=(ClearDepthStencilValue const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator==(PhysicalDeviceTexelBufferAlignmentProperties const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentShadingRateFeaturesKHR & setPrimitiveFragmentShadingRate(VULKAN_HPP_NAMESPACE::Bool32 primitiveFragmentShadingRate_) VULKAN_HPP_NOEXCEPT
SparseImageMemoryBindInfo & operator=(SparseImageMemoryBindInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
struct VkPresentRegionKHR VkPresentRegionKHR
PhysicalDeviceShaderCoreBuiltinsFeaturesARM & operator=(VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RayTracingPipelineCreateInfoNV & setPGroups(const VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoNV *pGroups_) VULKAN_HPP_NOEXCEPT
bool operator==(PipelineLibraryCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
const VkDescriptorAddressInfoEXT * pStorageTexelBuffer
VULKAN_HPP_CONSTEXPR SamplerYcbcrConversionCreateInfo(VULKAN_HPP_NAMESPACE::Format format_=VULKAN_HPP_NAMESPACE::Format::eUndefined, VULKAN_HPP_NAMESPACE::SamplerYcbcrModelConversion ycbcrModel_=VULKAN_HPP_NAMESPACE::SamplerYcbcrModelConversion::eRgbIdentity, VULKAN_HPP_NAMESPACE::SamplerYcbcrRange ycbcrRange_=VULKAN_HPP_NAMESPACE::SamplerYcbcrRange::eItuFull, VULKAN_HPP_NAMESPACE::ComponentMapping components_={}, VULKAN_HPP_NAMESPACE::ChromaLocation xChromaOffset_=VULKAN_HPP_NAMESPACE::ChromaLocation::eCositedEven, VULKAN_HPP_NAMESPACE::ChromaLocation yChromaOffset_=VULKAN_HPP_NAMESPACE::ChromaLocation::eCositedEven, VULKAN_HPP_NAMESPACE::Filter chromaFilter_=VULKAN_HPP_NAMESPACE::Filter::eNearest, VULKAN_HPP_NAMESPACE::Bool32 forceExplicitReconstruction_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
CuLaunchInfoNVX & operator=(CuLaunchInfoNVX const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan11Features & setProtectedMemory(VULKAN_HPP_NAMESPACE::Bool32 protectedMemory_) VULKAN_HPP_NOEXCEPT
AccelerationStructureVersionInfoKHR(VkAccelerationStructureVersionInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderCoreProperties2AMD(VkPhysicalDeviceShaderCoreProperties2AMD const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceLineRasterizationFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MicromapBuildSizesInfoEXT & setMicromapSize(VULKAN_HPP_NAMESPACE::DeviceSize micromapSize_) VULKAN_HPP_NOEXCEPT
BufferImageCopy2(VkBufferImageCopy2 const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PerformanceMarkerInfoINTEL & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkDebugUtilsMessengerCreateInfoEXT VkDebugUtilsMessengerCreateInfoEXT
struct VkPresentIdKHR VkPresentIdKHR
bool operator!=(PhysicalDeviceShaderDrawParametersFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PerformanceOverrideInfoINTEL & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
SurfaceCapabilities2KHR(VkSurfaceCapabilities2KHR const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceRepresentativeFragmentTestFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
CuModuleCreateInfoNVX(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const T > const &data_, const void *pNext_=nullptr)
bool operator!=(PhysicalDeviceOpacityMicromapPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
DedicatedAllocationBufferCreateInfoNV & operator=(DedicatedAllocationBufferCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_NAMESPACE::Bool32 shaderClipDistance
VULKAN_HPP_CONSTEXPR_14 IndirectCommandsLayoutTokenNV & setVertexDynamicStride(VULKAN_HPP_NAMESPACE::Bool32 vertexDynamicStride_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineShaderStageCreateInfo(VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateFlags flags_={}, VULKAN_HPP_NAMESPACE::ShaderStageFlagBits stage_=VULKAN_HPP_NAMESPACE::ShaderStageFlagBits::eVertex, VULKAN_HPP_NAMESPACE::ShaderModule module_={}, const char *pName_={}, const VULKAN_HPP_NAMESPACE::SpecializationInfo *pSpecializationInfo_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 IndirectCommandsLayoutCreateInfoNV & setTokenCount(uint32_t tokenCount_) VULKAN_HPP_NOEXCEPT
bool operator==(Offset3D const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT(VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
SamplerYcbcrConversionCreateInfo(VkSamplerYcbcrConversionCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
DescriptorBufferInfo & operator=(DescriptorBufferInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR RenderPassCreationFeedbackInfoEXT(uint32_t postMergeSubpassCount_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorIndexingFeatures & setShaderStorageImageArrayNonUniformIndexing(VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayNonUniformIndexing_) VULKAN_HPP_NOEXCEPT
ComputePipelineCreateInfo(VkComputePipelineCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceSparseImageFormatInfo2(VkPhysicalDeviceSparseImageFormatInfo2 const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceShaderClockFeaturesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
AccelerationStructureMotionInfoNV(VkAccelerationStructureMotionInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceRepresentativeFragmentTestFeaturesNV(VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CommandBufferSubmitInfo & setDeviceMask(uint32_t deviceMask_) VULKAN_HPP_NOEXCEPT
struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV VkPipelineViewportCoarseSampleOrderStateCreateInfoNV
VULKAN_HPP_CONSTEXPR InitializePerformanceApiInfoINTEL(void *pUserData_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
CopyBufferInfo2 & setRegions(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::BufferCopy2 > const &regions_) VULKAN_HPP_NOEXCEPT
DescriptorGetInfoEXT & operator=(DescriptorGetInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 DebugReportCallbackCreateInfoEXT & setPfnCallback(PFN_vkDebugReportCallbackEXT pfnCallback_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR BufferMemoryRequirementsInfo2(VULKAN_HPP_NAMESPACE::Buffer buffer_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceProvokingVertexPropertiesEXT(VULKAN_HPP_NAMESPACE::Bool32 provokingVertexModePerPipeline_={}, VULKAN_HPP_NAMESPACE::Bool32 transformFeedbackPreservesTriangleFanProvokingVertex_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(MemoryHeap const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceFragmentShaderInterlockFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkDrmFormatModifierPropertiesListEXT VkDrmFormatModifierPropertiesListEXT
CopyBufferToImageInfo2 & operator=(CopyBufferToImageInfo2 const &rhs) VULKAN_HPP_NOEXCEPT=default
*get result *(waiting if necessary)*A common idiom is to fire a bunch of sub tasks at the queue
Definition: thread.h:623
bool operator==(PhysicalDevice16BitStorageFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePresentWaitFeaturesKHR & setPresentWait(VULKAN_HPP_NAMESPACE::Bool32 presentWait_) VULKAN_HPP_NOEXCEPT
PipelineVertexInputStateCreateInfo & setVertexBindingDescriptions(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::VertexInputBindingDescription > const &vertexBindingDescriptions_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CooperativeMatrixPropertiesNV & setBType(VULKAN_HPP_NAMESPACE::ComponentTypeNV BType_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderDemoteToHelperInvocationFeatures & setShaderDemoteToHelperInvocation(VULKAN_HPP_NAMESPACE::Bool32 shaderDemoteToHelperInvocation_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceFragmentShadingRateKHR(VkPhysicalDeviceFragmentShadingRateKHR const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceExtendedDynamicStateFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageMemoryBarrier2 & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(ImageCompressionControlEXT const &rhs) const VULKAN_HPP_NOEXCEPT
long long int64
Definition: SYS_Types.h:116
VULKAN_HPP_CONSTEXPR_14 AttachmentReference2 & setAspectMask(VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SamplerBorderColorComponentMappingCreateInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
VULKAN_HPP_CONSTEXPR_14 RenderPassAttachmentBeginInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
SparseMemoryBind & operator=(SparseMemoryBind const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator==(ImageResolve const &rhs) const VULKAN_HPP_NOEXCEPT
GLint location
Definition: glcorearb.h:805
bool operator==(MemoryHeap const &rhs) const VULKAN_HPP_NOEXCEPT
DescriptorSetVariableDescriptorCountLayoutSupport & operator=(DescriptorSetVariableDescriptorCountLayoutSupport const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator!=(PhysicalDevicePresentWaitFeaturesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Bool32 sparseResidency2Samples
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setShaderStorageImageMultisample(VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageMultisample_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PresentIdKHR & setSwapchainCount(uint32_t swapchainCount_) VULKAN_HPP_NOEXCEPT
bool operator==(WriteDescriptorSetInlineUniformBlock const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorIndexingFeatures & setDescriptorBindingStorageTexelBufferUpdateAfterBind(VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageTexelBufferUpdateAfterBind_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceConditionalRenderingFeaturesEXT VkPhysicalDeviceConditionalRenderingFeaturesEXT
VULKAN_HPP_NAMESPACE::BufferCreateFlags flags
#define VULKAN_HPP_ASSERT
Definition: vulkan.hpp:70
bool operator!=(ResolveImageInfo2 const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceShaderImageFootprintFeaturesNV VkPhysicalDeviceShaderImageFootprintFeaturesNV
PhysicalDeviceMemoryProperties(VkPhysicalDeviceMemoryProperties const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceImageProcessingPropertiesQCOM(uint32_t maxWeightFilterPhases_={}, VULKAN_HPP_NAMESPACE::Extent2D maxWeightFilterDimension_={}, VULKAN_HPP_NAMESPACE::Extent2D maxBlockMatchRegion_={}, VULKAN_HPP_NAMESPACE::Extent2D maxBoxFilterBlockSize_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(RefreshCycleDurationGOOGLE const &rhs) const VULKAN_HPP_NOEXCEPT
PresentRegionsKHR & operator=(VkPresentRegionsKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SamplerCustomBorderColorCreateInfoEXT & setCustomBorderColor(VULKAN_HPP_NAMESPACE::ClearColorValue const &customBorderColor_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassSampleLocationsBeginInfoEXT & setAttachmentInitialSampleLocationsCount(uint32_t attachmentInitialSampleLocationsCount_) VULKAN_HPP_NOEXCEPT
RenderPassCreationControlEXT(VkRenderPassCreationControlEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 Offset3D & setY(int32_t y_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MemoryDedicatedAllocateInfo & setImage(VULKAN_HPP_NAMESPACE::Image image_) VULKAN_HPP_NOEXCEPT
bool operator==(DrawIndirectCommand const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassMultiviewCreateInfo & setCorrelationMaskCount(uint32_t correlationMaskCount_) VULKAN_HPP_NOEXCEPT
GraphicsPipelineCreateInfo & setStages(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo > const &stages_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceProperties const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(FenceGetFdInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkVideoEncodeH264NaluSliceInfoEXT VkVideoEncodeH264NaluSliceInfoEXT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryMotionTrianglesDataNV & setVertexData(VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR const &vertexData_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DirectDriverLoadingListLUNARG & setPDrivers(const VULKAN_HPP_NAMESPACE::DirectDriverLoadingInfoLUNARG *pDrivers_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceSize offset
VULKAN_HPP_CONSTEXPR Extent3D(uint32_t width_={}, uint32_t height_={}, uint32_t depth_={}) VULKAN_HPP_NOEXCEPT
MicromapVersionInfoEXT(VkMicromapVersionInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(DebugMarkerMarkerInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentShadingRateFeaturesKHR(VULKAN_HPP_NAMESPACE::Bool32 pipelineFragmentShadingRate_={}, VULKAN_HPP_NAMESPACE::Bool32 primitiveFragmentShadingRate_={}, VULKAN_HPP_NAMESPACE::Bool32 attachmentFragmentShadingRate_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(Extent2D const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(SurfaceCapabilitiesPresentBarrierNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GeometryTrianglesNV & setVertexStride(VULKAN_HPP_NAMESPACE::DeviceSize vertexStride_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceImagelessFramebufferFeatures(VkPhysicalDeviceImagelessFramebufferFeatures const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(MicromapBuildSizesInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ImageViewMinLodCreateInfoEXT(float minLod_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
GeometryAABBNV(VkGeometryAABBNV const &rhs) VULKAN_HPP_NOEXCEPT
DedicatedAllocationImageCreateInfoNV & operator=(DedicatedAllocationImageCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_NAMESPACE::StructureType sType
bool operator!=(PhysicalDeviceProvokingVertexFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
PipelineTessellationStateCreateInfo & operator=(VkPipelineTessellationStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
DebugMarkerMarkerInfoEXT(VkDebugMarkerMarkerInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceShaderAtomicInt64Features const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkImportMemoryFdInfoKHR VkImportMemoryFdInfoKHR
CooperativeMatrixPropertiesNV & operator=(VkCooperativeMatrixPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setAlphaToOne(VULKAN_HPP_NAMESPACE::Bool32 alphaToOne_) VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineColorBlendAdvancedStateCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkCommandPoolCreateInfo VkCommandPoolCreateInfo
VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMultiviewFeatures & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Bool32 fragmentStoresAndAtomics
AccelerationStructureBuildGeometryInfoKHR(VkAccelerationStructureBuildGeometryInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 Viewport & setMinDepth(float minDepth_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderImageAtomicInt64FeaturesEXT(VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE const &rhs) const VULKAN_HPP_NOEXCEPT
const VULKAN_HPP_NAMESPACE::BufferImageCopy2 * pRegions
PhysicalDeviceCoverageReductionModeFeaturesNV(VkPhysicalDeviceCoverageReductionModeFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineShaderStageCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkCopyCommandTransformInfoQCOM VkCopyCommandTransformInfoQCOM
VULKAN_HPP_CONSTEXPR_14 PresentInfoKHR & setPImageIndices(const uint32_t *pImageIndices_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceMemoryOverallocationCreateInfoAMD & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
PipelineLayoutCreateInfo & setPushConstantRanges(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::PushConstantRange > const &pushConstantRanges_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceImageCompressionControlFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(SubpassDescriptionDepthStencilResolve const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageFormatListCreateInfo & setPViewFormats(const VULKAN_HPP_NAMESPACE::Format *pViewFormats_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceFragmentShaderBarycentricFeaturesKHR & operator=(VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DispatchIndirectCommand & setZ(uint32_t z_) VULKAN_HPP_NOEXCEPT
ImageViewAddressPropertiesNVX & operator=(VkImageViewAddressPropertiesNVX const &rhs) VULKAN_HPP_NOEXCEPT
TransformMatrixKHR TransformMatrixNV
VULKAN_HPP_CONSTEXPR_14 MicromapCreateInfoEXT & setSize(VULKAN_HPP_NAMESPACE::DeviceSize size_) VULKAN_HPP_NOEXCEPT
CopyImageToBufferInfo2(VkCopyImageToBufferInfo2 const &rhs) VULKAN_HPP_NOEXCEPT
GLuint id
Definition: glcorearb.h:655
VULKAN_HPP_CONSTEXPR GeometryDataNV(VULKAN_HPP_NAMESPACE::GeometryTrianglesNV triangles_={}, VULKAN_HPP_NAMESPACE::GeometryAABBNV aabbs_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Bool32 variableMultisampleRate
struct VkImageCaptureDescriptorDataInfoEXT VkImageCaptureDescriptorDataInfoEXT
struct VkConformanceVersion VkConformanceVersion
struct VkMutableDescriptorTypeListEXT VkMutableDescriptorTypeListEXT
struct VkShaderStatisticsInfoAMD VkShaderStatisticsInfoAMD
BindSparseInfo & setImageBinds(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SparseImageMemoryBindInfo > const &imageBinds_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelinePropertiesIdentifierEXT(std::array< uint8_t, VK_UUID_SIZE > const &pipelineIdentifier_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceProvokingVertexFeaturesEXT & setTransformFeedbackPreservesProvokingVertex(VULKAN_HPP_NAMESPACE::Bool32 transformFeedbackPreservesProvokingVertex_) VULKAN_HPP_NOEXCEPT
ImageSubresourceLayers & operator=(VkImageSubresourceLayers const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceSynchronization2Features const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceOpticalFlowFeaturesNV & setOpticalFlow(VULKAN_HPP_NAMESPACE::Bool32 opticalFlow_) VULKAN_HPP_NOEXCEPT
bool operator!=(ImageDrmFormatModifierPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DisplayPlanePropertiesKHR(VULKAN_HPP_NAMESPACE::DisplayKHR currentDisplay_={}, uint32_t currentStackIndex_={}) VULKAN_HPP_NOEXCEPT
png_const_structrp png_const_inforp int * unit
Definition: png.h:2161
BindBufferMemoryDeviceGroupInfo & operator=(BindBufferMemoryDeviceGroupInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setShaderSampledImageArrayNonUniformIndexing(VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayNonUniformIndexing_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT(const VULKAN_HPP_NAMESPACE::Sampler *pSampler_={})
VULKAN_HPP_NAMESPACE::StructureType sType
struct VkAllocationCallbacks VkAllocationCallbacks
VULKAN_HPP_CONSTEXPR ImageCreateInfo(VULKAN_HPP_NAMESPACE::ImageCreateFlags flags_={}, VULKAN_HPP_NAMESPACE::ImageType imageType_=VULKAN_HPP_NAMESPACE::ImageType::e1D, VULKAN_HPP_NAMESPACE::Format format_=VULKAN_HPP_NAMESPACE::Format::eUndefined, VULKAN_HPP_NAMESPACE::Extent3D extent_={}, uint32_t mipLevels_={}, uint32_t arrayLayers_={}, VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples_=VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1, VULKAN_HPP_NAMESPACE::ImageTiling tiling_=VULKAN_HPP_NAMESPACE::ImageTiling::eOptimal, VULKAN_HPP_NAMESPACE::ImageUsageFlags usage_={}, VULKAN_HPP_NAMESPACE::SharingMode sharingMode_=VULKAN_HPP_NAMESPACE::SharingMode::eExclusive, uint32_t queueFamilyIndexCount_={}, const uint32_t *pQueueFamilyIndices_={}, VULKAN_HPP_NAMESPACE::ImageLayout initialLayout_=VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkDrmFormatModifierPropertiesList2EXT VkDrmFormatModifierPropertiesList2EXT
VULKAN_HPP_CONSTEXPR_14 ShaderModuleCreateInfo & setPCode(const uint32_t *pCode_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT
VULKAN_HPP_CONSTEXPR_14 CooperativeMatrixPropertiesNV & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier & setDstQueueFamilyIndex(uint32_t dstQueueFamilyIndex_) VULKAN_HPP_NOEXCEPT
GraphicsPipelineCreateInfo(VkGraphicsPipelineCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BaseInStructure & setPNext(const struct VULKAN_HPP_NAMESPACE::BaseInStructure *pNext_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 RenderingAttachmentInfo & setImageView(VULKAN_HPP_NAMESPACE::ImageView imageView_) VULKAN_HPP_NOEXCEPT
DeviceQueueGlobalPriorityCreateInfoKHR & operator=(VkDeviceQueueGlobalPriorityCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
DeviceQueueCreateInfo & operator=(DeviceQueueCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
struct VkDedicatedAllocationMemoryAllocateInfoNV VkDedicatedAllocationMemoryAllocateInfoNV
RenderPassInputAttachmentAspectCreateInfo(VkRenderPassInputAttachmentAspectCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
MemoryGetFdInfoKHR(VkMemoryGetFdInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
QueueFamilyCheckpointPropertiesNV(VkQueueFamilyCheckpointPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT
CalibratedTimestampInfoEXT & operator=(VkCalibratedTimestampInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ValidationFlagsEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderAtomicFloatFeaturesEXT & operator=(VkPhysicalDeviceShaderAtomicFloatFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
PresentRegionKHR(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::RectLayerKHR > const &rectangles_)
bool operator!=(DrmFormatModifierProperties2EXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(BindImageMemorySwapchainInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceSize bufferOffset
ValidationFeaturesEXT(VkValidationFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentShaderInterlockFeaturesEXT & setFragmentShaderSampleInterlock(VULKAN_HPP_NAMESPACE::Bool32 fragmentShaderSampleInterlock_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SamplerYcbcrConversionInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState3FeaturesEXT & setExtendedDynamicState3RasterizationStream(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3RasterizationStream_) VULKAN_HPP_NOEXCEPT
bool operator!=(GraphicsPipelineCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesOpacityMicromapEXT(VULKAN_HPP_NAMESPACE::IndexType indexType_=VULKAN_HPP_NAMESPACE::IndexType::eUint16, VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR indexBuffer_={}, VULKAN_HPP_NAMESPACE::DeviceSize indexStride_={}, uint32_t baseTriangle_={}, uint32_t usageCountsCount_={}, const VULKAN_HPP_NAMESPACE::MicromapUsageEXT *pUsageCounts_={}, const VULKAN_HPP_NAMESPACE::MicromapUsageEXT *const *ppUsageCounts_={}, VULKAN_HPP_NAMESPACE::MicromapEXT micromap_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PhysicalDeviceFeatures2 & operator=(VkPhysicalDeviceFeatures2 const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceDrmPropertiesEXT(VkPhysicalDeviceDrmPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorIndexingFeatures & setDescriptorBindingUniformTexelBufferUpdateAfterBind(VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUniformTexelBufferUpdateAfterBind_) VULKAN_HPP_NOEXCEPT
struct VkExportMetalObjectsInfoEXT VkExportMetalObjectsInfoEXT
VULKAN_HPP_CONSTEXPR BufferImageCopy2(VULKAN_HPP_NAMESPACE::DeviceSize bufferOffset_={}, uint32_t bufferRowLength_={}, uint32_t bufferImageHeight_={}, VULKAN_HPP_NAMESPACE::ImageSubresourceLayers imageSubresource_={}, VULKAN_HPP_NAMESPACE::Offset3D imageOffset_={}, VULKAN_HPP_NAMESPACE::Extent3D imageExtent_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeatures
VULKAN_HPP_CONSTEXPR CoarseSampleLocationNV(uint32_t pixelX_={}, uint32_t pixelY_={}, uint32_t sample_={}) VULKAN_HPP_NOEXCEPT
PhysicalDeviceCooperativeMatrixPropertiesNV(VkPhysicalDeviceCooperativeMatrixPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorUpdateTemplateCreateInfo & setDescriptorUpdateEntryCount(uint32_t descriptorUpdateEntryCount_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceDescriptorBufferFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
DeviceFaultVendorInfoEXT & operator=(VkDeviceFaultVendorInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR RenderPassMultiviewCreateInfo(uint32_t subpassCount_={}, const uint32_t *pViewMasks_={}, uint32_t dependencyCount_={}, const int32_t *pViewOffsets_={}, uint32_t correlationMaskCount_={}, const uint32_t *pCorrelationMasks_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceOpticalFlowFeaturesNV VkPhysicalDeviceOpticalFlowFeaturesNV
struct VkPhysicalDeviceShaderIntegerDotProductFeatures VkPhysicalDeviceShaderIntegerDotProductFeatures
bool operator!=(PipelineRepresentativeFragmentTestStateCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMeshShaderPropertiesNV(uint32_t maxDrawMeshTasksCount_={}, uint32_t maxTaskWorkGroupInvocations_={}, std::array< uint32_t, 3 > const &maxTaskWorkGroupSize_={}, uint32_t maxTaskTotalMemorySize_={}, uint32_t maxTaskOutputCount_={}, uint32_t maxMeshWorkGroupInvocations_={}, std::array< uint32_t, 3 > const &maxMeshWorkGroupSize_={}, uint32_t maxMeshTotalMemorySize_={}, uint32_t maxMeshOutputVertices_={}, uint32_t maxMeshOutputPrimitives_={}, uint32_t maxMeshMultiviewViewCount_={}, uint32_t meshOutputPerVertexGranularity_={}, uint32_t meshOutputPerPrimitiveGranularity_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PresentTimesInfoGOOGLE & setSwapchainCount(uint32_t swapchainCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DeviceMemoryReportCallbackDataEXT(VULKAN_HPP_NAMESPACE::DeviceMemoryReportFlagsEXT flags_={}, VULKAN_HPP_NAMESPACE::DeviceMemoryReportEventTypeEXT type_=VULKAN_HPP_NAMESPACE::DeviceMemoryReportEventTypeEXT::eAllocate, uint64_t memoryObjectId_={}, VULKAN_HPP_NAMESPACE::DeviceSize size_={}, VULKAN_HPP_NAMESPACE::ObjectType objectType_=VULKAN_HPP_NAMESPACE::ObjectType::eUnknown, uint64_t objectHandle_={}, uint32_t heapIndex_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 AcquireProfilingLockInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
PerformanceValueINTEL(VkPerformanceValueINTEL const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageBlit & setDstOffsets(std::array< VULKAN_HPP_NAMESPACE::Offset3D, 2 > const &dstOffsets_) VULKAN_HPP_NOEXCEPT
bool operator==(FormatProperties const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkDebugUtilsMessengerCallbackDataEXT VkDebugUtilsMessengerCallbackDataEXT
bool operator==(ImageCopy const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceRayTracingInvocationReorderFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 Offset3D & setZ(int32_t z_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 QueryPoolCreateInfo & setQueryCount(uint32_t queryCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT & setPSampler(const VULKAN_HPP_NAMESPACE::Sampler *pSampler_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SamplerYcbcrConversionCreateInfo & setFormat(VULKAN_HPP_NAMESPACE::Format format_) VULKAN_HPP_NOEXCEPT
bool operator==(PipelineDepthStencilStateCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MicromapBuildInfoEXT & setMode(VULKAN_HPP_NAMESPACE::BuildMicromapModeEXT mode_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderAtomicFloatFeaturesEXT(VkPhysicalDeviceShaderAtomicFloatFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SemaphoreSignalInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR MemoryDedicatedRequirements(VULKAN_HPP_NAMESPACE::Bool32 prefersDedicatedAllocation_={}, VULKAN_HPP_NAMESPACE::Bool32 requiresDedicatedAllocation_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DebugUtilsMessengerCreateInfoEXT(VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateFlagsEXT flags_={}, VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagsEXT messageSeverity_={}, VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT messageType_={}, PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback_={}, void *pUserData_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::CommandPool commandPool
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceUniformBufferStandardLayoutFeatures & setUniformBufferStandardLayout(VULKAN_HPP_NAMESPACE::Bool32 uniformBufferStandardLayout_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::CommandPoolCreateFlags flags
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceTransformFeedbackFeaturesEXT & setGeometryStreams(VULKAN_HPP_NAMESPACE::Bool32 geometryStreams_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceConditionalRenderingFeaturesEXT & setInheritedConditionalRendering(VULKAN_HPP_NAMESPACE::Bool32 inheritedConditionalRendering_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceBlendOperationAdvancedFeaturesEXT(VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineLibraryCreateInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CommandBufferBeginInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
DeviceDeviceMemoryReportCreateInfoEXT & operator=(VkDeviceDeviceMemoryReportCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugMarkerMarkerInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
uint32_t dstArrayElement
PhysicalDeviceFragmentShaderInterlockFeaturesEXT(VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
AccelerationStructureSRTMotionInstanceNV & setFlags(VULKAN_HPP_NAMESPACE::GeometryInstanceFlagsKHR flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSparseImageFormatInfo2 & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceExternalImageFormatInfo const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkImportMemoryWin32HandleInfoKHR VkImportMemoryWin32HandleInfoKHR
VULKAN_HPP_CONSTEXPR_14 SamplerCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceMutableDescriptorTypeFeaturesEXT & operator=(VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkRenderPassCreationControlEXT VkRenderPassCreationControlEXT
struct VkRenderPassCreationFeedbackCreateInfoEXT VkRenderPassCreationFeedbackCreateInfoEXT
ViewportSwizzleNV(VkViewportSwizzleNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDeviceMemoryReportFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDevicePresentIdFeaturesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(TraceRaysIndirectCommand2KHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DisplayModeCreateInfoKHR & setParameters(VULKAN_HPP_NAMESPACE::DisplayModeParametersKHR const &parameters_) VULKAN_HPP_NOEXCEPT
bool operator!=(OpticalFlowSessionCreatePrivateDataInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
VULKAN_HPP_CONSTEXPR CalibratedTimestampInfoEXT(VULKAN_HPP_NAMESPACE::TimeDomainEXT timeDomain_=VULKAN_HPP_NAMESPACE::TimeDomainEXT::eDevice, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
CopyImageToBufferInfo2 & setRegions(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::BufferImageCopy2 > const &regions_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxProperties
DescriptorPoolSize & operator=(VkDescriptorPoolSize const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureInfoNV & setType(VULKAN_HPP_NAMESPACE::AccelerationStructureTypeNV type_) VULKAN_HPP_NOEXCEPT
struct VkBindBufferMemoryInfo VkBindBufferMemoryInfo
PhysicalDeviceBlendOperationAdvancedFeaturesEXT & operator=(VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
ApplicationInfo & operator=(ApplicationInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator==(PhysicalDeviceYcbcrImageArraysFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
GeneratedCommandsMemoryRequirementsInfoNV & operator=(VkGeneratedCommandsMemoryRequirementsInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
MicromapBuildInfoEXT & setUsageCounts(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::MicromapUsageEXT > const &usageCounts_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SemaphoreSubmitInfo & setSemaphore(VULKAN_HPP_NAMESPACE::Semaphore semaphore_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setDescriptorBindingStorageBufferUpdateAfterBind(VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageBufferUpdateAfterBind_) VULKAN_HPP_NOEXCEPT
PipelineCacheCreateInfo(VkPipelineCacheCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 OpticalFlowSessionCreateInfoNV & setOutputGridSize(VULKAN_HPP_NAMESPACE::OpticalFlowGridSizeFlagsNV outputGridSize_) VULKAN_HPP_NOEXCEPT
struct VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfo
bool operator==(ExternalMemoryBufferCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(ImageResolve2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR CommandBufferAllocateInfo(VULKAN_HPP_NAMESPACE::CommandPool commandPool_={}, VULKAN_HPP_NAMESPACE::CommandBufferLevel level_=VULKAN_HPP_NAMESPACE::CommandBufferLevel::ePrimary, uint32_t commandBufferCount_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageSubresourceRange & setLayerCount(uint32_t layerCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ComputePipelineCreateInfo & setLayout(VULKAN_HPP_NAMESPACE::PipelineLayout layout_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceTimelineSemaphoreFeatures(VULKAN_HPP_NAMESPACE::Bool32 timelineSemaphore_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ExternalFenceProperties(VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlags exportFromImportedHandleTypes_={}, VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlags compatibleHandleTypes_={}, VULKAN_HPP_NAMESPACE::ExternalFenceFeatureFlags externalFenceFeatures_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
ImageDrmFormatModifierListCreateInfoEXT & setDrmFormatModifiers(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint64_t > const &drmFormatModifiers_) VULKAN_HPP_NOEXCEPT
bool operator==(PipelineCreationFeedback const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(BufferCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderClockFeaturesKHR(VULKAN_HPP_NAMESPACE::Bool32 shaderSubgroupClock_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderDeviceClock_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
BindImageMemoryDeviceGroupInfo & operator=(BindImageMemoryDeviceGroupInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR vertexData
PipelineCoverageToColorStateCreateInfoNV & operator=(VkPipelineCoverageToColorStateCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugMarkerObjectTagInfoEXT & setObject(uint64_t object_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::AccelerationStructureMotionInstanceFlagsNV flags
AccelerationStructureSRTMotionInstanceNV(VkAccelerationStructureSRTMotionInstanceNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceCustomBorderColorPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkImageCompressionControlEXT VkImageCompressionControlEXT
VULKAN_HPP_CONSTEXPR_14 ExportSemaphoreCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT sampleLocationsInfo
PhysicalDeviceDiagnosticsConfigFeaturesNV(VkPhysicalDeviceDiagnosticsConfigFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationStateRasterizationOrderAMD & setRasterizationOrder(VULKAN_HPP_NAMESPACE::RasterizationOrderAMD rasterizationOrder_) VULKAN_HPP_NOEXCEPT
SamplerBorderColorComponentMappingCreateInfoEXT & operator=(VkSamplerBorderColorComponentMappingCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
SubpassSampleLocationsEXT & operator=(VkSubpassSampleLocationsEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugUtilsLabelEXT(const char *pLabelName_={}, std::array< float, 4 > const &color_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineExecutableInternalRepresentationKHR const &rhs) const VULKAN_HPP_NOEXCEPT
SetStateFlagsIndirectCommandNV(VkSetStateFlagsIndirectCommandNV const &rhs) VULKAN_HPP_NOEXCEPT
SpecializationMapEntry(VkSpecializationMapEntry const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineColorBlendAttachmentState & setSrcColorBlendFactor(VULKAN_HPP_NAMESPACE::BlendFactor srcColorBlendFactor_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineExecutableStatisticValueKHR & setB32(VULKAN_HPP_NAMESPACE::Bool32 b32_) VULKAN_HPP_NOEXCEPT
struct VkAccelerationStructureGeometryInstancesDataKHR VkAccelerationStructureGeometryInstancesDataKHR
BufferViewCreateInfo(VkBufferViewCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureInfoNV & setInstanceCount(uint32_t instanceCount_) VULKAN_HPP_NOEXCEPT
AccelerationStructureGeometryMotionTrianglesDataNV & operator=(VkAccelerationStructureGeometryMotionTrianglesDataNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(RayTracingShaderGroupCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SampleLocationsInfoEXT & setSampleLocationGridSize(VULKAN_HPP_NAMESPACE::Extent2D const &sampleLocationGridSize_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMultiviewFeatures & setMultiviewTessellationShader(VULKAN_HPP_NAMESPACE::Bool32 multiviewTessellationShader_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CommandBufferBeginInfo & setFlags(VULKAN_HPP_NAMESPACE::CommandBufferUsageFlags flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineTessellationStateCreateInfo(VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateFlags flags_={}, uint32_t patchControlPoints_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(ImageCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Extent3D extent
struct VkVideoDecodeH264ProfileInfoEXT VkVideoDecodeH264ProfileInfoEXT
VULKAN_HPP_CONSTEXPR_14 PerformanceCounterResultKHR(double float64_)
bool operator!=(PhysicalDeviceMeshShaderPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
AccelerationStructureBuildRangeInfoKHR(VkAccelerationStructureBuildRangeInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 TraceRaysIndirectCommand2KHR & setHitShaderBindingTableAddress(VULKAN_HPP_NAMESPACE::DeviceAddress hitShaderBindingTableAddress_) VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineDiscardRectangleStateCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkExportMetalSharedEventInfoEXT VkExportMetalSharedEventInfoEXT
struct VkImportAndroidHardwareBufferInfoANDROID VkImportAndroidHardwareBufferInfoANDROID
bool operator!=(DrawMeshTasksIndirectCommandEXT const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceDeviceMemoryReportFeaturesEXT(VkPhysicalDeviceDeviceMemoryReportFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AcquireNextImageInfoKHR & setSemaphore(VULKAN_HPP_NAMESPACE::Semaphore semaphore_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceExternalSemaphoreInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(MicromapBuildSizesInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ArrayWrapper1D< int32_t, 4 > int32
VULKAN_HPP_CONSTEXPR_14 PipelineCacheCreateInfo & setInitialDataSize(size_t initialDataSize_) VULKAN_HPP_NOEXCEPT
struct VkImageConstraintsInfoFUCHSIA VkImageConstraintsInfoFUCHSIA
VULKAN_HPP_CONSTEXPR_14 DrawIndirectCommand & setVertexCount(uint32_t vertexCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorUpdateTemplateCreateInfo & setDescriptorSetLayout(VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout_) VULKAN_HPP_NOEXCEPT
struct VkImageViewCreateInfo VkImageViewCreateInfo
VULKAN_HPP_CONSTEXPR BufferCopy2(VULKAN_HPP_NAMESPACE::DeviceSize srcOffset_={}, VULKAN_HPP_NAMESPACE::DeviceSize dstOffset_={}, VULKAN_HPP_NAMESPACE::DeviceSize size_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::AccelerationStructureKHR src
bool operator==(PhysicalDeviceFragmentDensityMap2PropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
MemoryDedicatedRequirements & operator=(VkMemoryDedicatedRequirements const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderAtomicFloatFeaturesEXT & setShaderBufferFloat64AtomicAdd(VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat64AtomicAdd_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SubresourceLayout(VULKAN_HPP_NAMESPACE::DeviceSize offset_={}, VULKAN_HPP_NAMESPACE::DeviceSize size_={}, VULKAN_HPP_NAMESPACE::DeviceSize rowPitch_={}, VULKAN_HPP_NAMESPACE::DeviceSize arrayPitch_={}, VULKAN_HPP_NAMESPACE::DeviceSize depthPitch_={}) VULKAN_HPP_NOEXCEPT
struct VkVideoCodingControlInfoKHR VkVideoCodingControlInfoKHR
SurfaceCapabilities2KHR & operator=(VkSurfaceCapabilities2KHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceDeviceMemoryReportCreateInfoEXT & setFlags(VULKAN_HPP_NAMESPACE::DeviceMemoryReportFlagsEXT flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR CuLaunchInfoNVX(VULKAN_HPP_NAMESPACE::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
VULKAN_HPP_CONSTEXPR_14 AabbPositionsKHR & setMaxX(float maxX_) VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineCoverageReductionStateCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceInfo & setSubpass(uint32_t subpass_) VULKAN_HPP_NOEXCEPT
struct VkPipelineRenderingCreateInfo VkPipelineRenderingCreateInfo
VULKAN_HPP_CONSTEXPR PhysicalDeviceMaintenance4Features(VULKAN_HPP_NAMESPACE::Bool32 maintenance4_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RayTracingPipelineCreateInfoKHR & setLayout(VULKAN_HPP_NAMESPACE::PipelineLayout layout_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceTimelineSemaphoreFeatures & operator=(VkPhysicalDeviceTimelineSemaphoreFeatures const &rhs) VULKAN_HPP_NOEXCEPT
DeviceGroupSubmitInfo & setWaitSemaphoreDeviceIndices(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &waitSemaphoreDeviceIndices_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceFragmentShadingRateFeaturesKHR & operator=(VkPhysicalDeviceFragmentShadingRateFeaturesKHR const &rhs) VULKAN_HPP_NOEXCEPT
DebugUtilsMessengerCallbackDataEXT(VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCallbackDataFlagsEXT flags_, const char *pMessageIdName_, int32_t messageIdNumber_, const char *pMessage_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT > const &queueLabels_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT > const &cmdBufLabels_={}, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT > const &objects_={}, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCallbackDataEXT & setPObjects(const VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT *pObjects_) VULKAN_HPP_NOEXCEPT
bool operator==(CopyBufferToImageInfo2 const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(DisplayModePropertiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureSRTMotionInstanceNV & setMask(uint32_t mask_) VULKAN_HPP_NOEXCEPT
ClearDepthStencilValue & operator=(VkClearDepthStencilValue const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceExtendedDynamicState3FeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3TessellationDomainOrigin_={}, VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3DepthClampEnable_={}, VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3PolygonMode_={}, VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3RasterizationSamples_={}, VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3SampleMask_={}, VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3AlphaToCoverageEnable_={}, VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3AlphaToOneEnable_={}, VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3LogicOpEnable_={}, VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ColorBlendEnable_={}, VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ColorBlendEquation_={}, VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ColorWriteMask_={}, VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3RasterizationStream_={}, VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ConservativeRasterizationMode_={}, VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ExtraPrimitiveOverestimationSize_={}, VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3DepthClipEnable_={}, VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3SampleLocationsEnable_={}, VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ColorBlendAdvanced_={}, VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ProvokingVertexMode_={}, VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3LineRasterizationMode_={}, VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3LineStippleEnable_={}, VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3DepthClipNegativeOneToOne_={}, VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ViewportWScalingEnable_={}, VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ViewportSwizzle_={}, VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3CoverageToColorEnable_={}, VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3CoverageToColorLocation_={}, VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3CoverageModulationMode_={}, VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3CoverageModulationTableEnable_={}, VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3CoverageModulationTable_={}, VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3CoverageReductionMode_={}, VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3RepresentativeFragmentTestEnable_={}, VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ShadingRateImageEnable_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(ImageMemoryRequirementsInfo2 const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkDescriptorSetLayoutHostMappingInfoVALVE VkDescriptorSetLayoutHostMappingInfoVALVE
bool operator==(ImageSubresourceLayers const &rhs) const VULKAN_HPP_NOEXCEPT
PipelineCreationFeedback PipelineCreationFeedbackEXT
const VULKAN_HPP_NAMESPACE::Format * pColorAttachmentFormats
struct VkPipelineShaderStageCreateInfo VkPipelineShaderStageCreateInfo
VULKAN_HPP_CONSTEXPR_14 BlitImageInfo2 & setDstImageLayout(VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AttachmentDescription & setSamples(VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples_) VULKAN_HPP_NOEXCEPT
bool operator==(DisplaySurfaceCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkDispatchIndirectCommand VkDispatchIndirectCommand
bool operator==(PipelineColorBlendStateCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCallbackDataEXT & setMessageIdNumber(int32_t messageIdNumber_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugReportCallbackCreateInfoEXT & setFlags(VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineViewportCoarseSampleOrderStateCreateInfoNV & setSampleOrderType(VULKAN_HPP_NAMESPACE::CoarseSampleOrderTypeNV sampleOrderType_) VULKAN_HPP_NOEXCEPT
bool operator!=(MicromapUsageEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineColorBlendStateCreateInfo & setLogicOp(VULKAN_HPP_NAMESPACE::LogicOp logicOp_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR QueueFamilyProperties2(VULKAN_HPP_NAMESPACE::QueueFamilyProperties queueFamilyProperties_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceFragmentDensityMapPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
VULKAN_HPP_CONSTEXPR AttachmentReference(uint32_t attachment_={}, VULKAN_HPP_NAMESPACE::ImageLayout layout_=VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceTransformFeedbackFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
bool operator==(CopyImageInfo2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineExecutableStatisticValueKHR(uint64_t u64_)
bool operator==(InitializePerformanceApiInfoINTEL const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceRenderingInfo & setRasterizationSamples(VULKAN_HPP_NAMESPACE::SampleCountFlagBits rasterizationSamples_) VULKAN_HPP_NOEXCEPT
ColorBlendEquationEXT & operator=(VkColorBlendEquationEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceTextureCompressionASTCHDRFeatures & setTextureCompressionASTC_HDR(VULKAN_HPP_NAMESPACE::Bool32 textureCompressionASTC_HDR_) VULKAN_HPP_NOEXCEPT
MemoryAllocateInfo & operator=(VkMemoryAllocateInfo const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(DisplayNativeHdrSurfaceCapabilitiesAMD const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceVulkan11Properties & operator=(VkPhysicalDeviceVulkan11Properties const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(RenderPassAttachmentBeginInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineViewportShadingRateImageStateCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkCopyMemoryToMicromapInfoEXT VkCopyMemoryToMicromapInfoEXT
BufferMemoryBarrier & operator=(VkBufferMemoryBarrier const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 WriteDescriptorSet & setPTexelBufferView(const VULKAN_HPP_NAMESPACE::BufferView *pTexelBufferView_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderFloat16Int8Features & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SamplerYcbcrConversionCreateInfo & setYcbcrModel(VULKAN_HPP_NAMESPACE::SamplerYcbcrModelConversion ycbcrModel_) VULKAN_HPP_NOEXCEPT
DeviceBufferMemoryRequirements & operator=(DeviceBufferMemoryRequirements const &rhs) VULKAN_HPP_NOEXCEPT=default
PFN_vkReallocationFunction pfnReallocation
VULKAN_HPP_CONSTEXPR_14 RayTracingPipelineCreateInfoNV & setGroupCount(uint32_t groupCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan11Features & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceMeshShaderFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
GLuint const GLchar * name
Definition: glcorearb.h:786
VULKAN_HPP_CONSTEXPR_14 SparseImageMemoryBindInfo & setPBinds(const VULKAN_HPP_NAMESPACE::SparseImageMemoryBind *pBinds_) VULKAN_HPP_NOEXCEPT
bool operator==(FilterCubicImageViewImageFormatPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceExternalFenceInfo & operator=(VkPhysicalDeviceExternalFenceInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR OpaqueCaptureDescriptorDataCreateInfoEXT(const void *opaqueCaptureDescriptorData_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorSetLayoutBinding & setPImmutableSamplers(const VULKAN_HPP_NAMESPACE::Sampler *pImmutableSamplers_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDynamicRenderingFeatures & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceRobustness2FeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 robustBufferAccess2_={}, VULKAN_HPP_NAMESPACE::Bool32 robustImageAccess2_={}, VULKAN_HPP_NAMESPACE::Bool32 nullDescriptor_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCustomBorderColorFeaturesEXT & setCustomBorderColors(VULKAN_HPP_NAMESPACE::Bool32 customBorderColors_) VULKAN_HPP_NOEXCEPT
PipelineColorWriteCreateInfoEXT & setColorWriteEnables(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Bool32 > const &colorWriteEnables_) VULKAN_HPP_NOEXCEPT
bool operator!=(CommandBufferSubmitInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 QueryPoolPerformanceCreateInfoKHR & setPCounterIndices(const uint32_t *pCounterIndices_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setSubgroupBroadcastDynamicId(VULKAN_HPP_NAMESPACE::Bool32 subgroupBroadcastDynamicId_) VULKAN_HPP_NOEXCEPT
PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT & operator=(VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SurfaceCapabilities2KHR(VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR surfaceCapabilities_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(DrmFormatModifierPropertiesList2EXT const &rhs) const VULKAN_HPP_NOEXCEPT
CuModuleCreateInfoNVX & operator=(CuModuleCreateInfoNVX const &rhs) VULKAN_HPP_NOEXCEPT=default
DisplayModeParametersKHR & operator=(VkDisplayModeParametersKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceViewportScissorInfoNV & setViewportScissor2D(VULKAN_HPP_NAMESPACE::Bool32 viewportScissor2D_) VULKAN_HPP_NOEXCEPT
bool operator!=(ClearRect const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkAccelerationStructureBuildSizesInfoKHR VkAccelerationStructureBuildSizesInfoKHR
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setDescriptorBindingUpdateUnusedWhilePending(VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUpdateUnusedWhilePending_) VULKAN_HPP_NOEXCEPT
struct VkDrmFormatModifierProperties2EXT VkDrmFormatModifierProperties2EXT
VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR vertexData
RenderingFragmentShadingRateAttachmentInfoKHR & operator=(VkRenderingFragmentShadingRateAttachmentInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
CopyImageInfo2 & setRegions(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::ImageCopy2 > const &regions_) VULKAN_HPP_NOEXCEPT
struct VkSubmitInfo2 VkSubmitInfo2
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
PhysicalDeviceTilePropertiesFeaturesQCOM & operator=(VkPhysicalDeviceTilePropertiesFeaturesQCOM const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MicromapBuildInfoEXT & setType(VULKAN_HPP_NAMESPACE::MicromapTypeEXT type_) VULKAN_HPP_NOEXCEPT
struct VkRectLayerKHR VkRectLayerKHR
VULKAN_HPP_CONSTEXPR_14 FramebufferCreateInfo & setAttachmentCount(uint32_t attachmentCount_) VULKAN_HPP_NOEXCEPT
struct VkVideoProfileInfoKHR VkVideoProfileInfoKHR
struct VkPushConstantRange VkPushConstantRange
VULKAN_HPP_CONSTEXPR_14 ImageBlit(VULKAN_HPP_NAMESPACE::ImageSubresourceLayers srcSubresource_={}, std::array< VULKAN_HPP_NAMESPACE::Offset3D, 2 > const &srcOffsets_={}, VULKAN_HPP_NAMESPACE::ImageSubresourceLayers dstSubresource_={}, std::array< VULKAN_HPP_NAMESPACE::Offset3D, 2 > const &dstOffsets_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SamplerYcbcrConversionInfo(VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion conversion_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PhysicalDeviceSparseProperties(VkPhysicalDeviceSparseProperties const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DeviceFaultCountsEXT(uint32_t addressInfoCount_={}, uint32_t vendorInfoCount_={}, VULKAN_HPP_NAMESPACE::DeviceSize vendorBinarySize_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureCreateInfoNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineViewportShadingRateImageStateCreateInfoNV & setPShadingRatePalettes(const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV *pShadingRatePalettes_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMutableDescriptorTypeFeaturesEXT & setMutableDescriptorType(VULKAN_HPP_NAMESPACE::Bool32 mutableDescriptorType_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceVulkan12Features(VkPhysicalDeviceVulkan12Features const &rhs) VULKAN_HPP_NOEXCEPT
struct VkIndirectCommandsLayoutCreateInfoNV VkIndirectCommandsLayoutCreateInfoNV
ImageSubresource2EXT & operator=(VkImageSubresource2EXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(FragmentShadingRateAttachmentInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
DisplayPropertiesKHR & operator=(VkDisplayPropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
SparseImageMemoryBindInfo(VkSparseImageMemoryBindInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 OpticalFlowSessionCreatePrivateDataInfoNV & setId(uint32_t id_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PerformanceOverrideInfoINTEL & setEnable(VULKAN_HPP_NAMESPACE::Bool32 enable_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan13Features & setShaderTerminateInvocation(VULKAN_HPP_NAMESPACE::Bool32 shaderTerminateInvocation_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 VertexInputAttributeDescription & setLocation(uint32_t location_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderSubgroupExtendedTypesFeatures & setShaderSubgroupExtendedTypes(VULKAN_HPP_NAMESPACE::Bool32 shaderSubgroupExtendedTypes_) VULKAN_HPP_NOEXCEPT
struct VkVideoEncodeH265SessionParametersCreateInfoEXT VkVideoEncodeH265SessionParametersCreateInfoEXT
VULKAN_HPP_CONSTEXPR_14 ImageFormatListCreateInfo & setViewFormatCount(uint32_t viewFormatCount_) VULKAN_HPP_NOEXCEPT
ValidationCacheCreateInfoEXT(VkValidationCacheCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
struct VkPipelineRasterizationDepthClipStateCreateInfoEXT VkPipelineRasterizationDepthClipStateCreateInfoEXT
void * MTLCommandQueue_id
Definition: vulkan_metal.h:62
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderIntegerDotProductFeatures & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceCopyMemoryIndirectFeaturesNV VkPhysicalDeviceCopyMemoryIndirectFeaturesNV
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildSizesInfoKHR & setAccelerationStructureSize(VULKAN_HPP_NAMESPACE::DeviceSize accelerationStructureSize_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceGroupRenderPassBeginInfo & setDeviceRenderAreaCount(uint32_t deviceRenderAreaCount_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceDescriptorIndexingFeatures(VkPhysicalDeviceDescriptorIndexingFeatures const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(DeviceQueueCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan13Features & setComputeFullSubgroups(VULKAN_HPP_NAMESPACE::Bool32 computeFullSubgroups_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceDepthClampZeroOneFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR MultiDrawIndexedInfoEXT(uint32_t firstIndex_={}, uint32_t indexCount_={}, int32_t vertexOffset_={}) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDevice4444FormatsFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR TextureLODGatherFormatPropertiesAMD(VULKAN_HPP_NAMESPACE::Bool32 supportsTextureGatherLODBiasAMD_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkImageViewAddressPropertiesNVX VkImageViewAddressPropertiesNVX
RenderPassCreateInfo2(VULKAN_HPP_NAMESPACE::RenderPassCreateFlags flags_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::AttachmentDescription2 > const &attachments_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SubpassDescription2 > const &subpasses_={}, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SubpassDependency2 > const &dependencies_={}, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &correlatedViewMasks_={}, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR PhysicalDeviceSynchronization2Features(VULKAN_HPP_NAMESPACE::Bool32 synchronization2_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageSparseMemoryRequirementsInfo2 & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferViewCreateInfo & setBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceSize size
VULKAN_HPP_CONSTEXPR_14 MemoryBarrier2 & setSrcStageMask(VULKAN_HPP_NAMESPACE::PipelineStageFlags2 srcStageMask_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DispatchIndirectCommand & setX(uint32_t x_) VULKAN_HPP_NOEXCEPT
struct VkVideoEncodeH264DpbSlotInfoEXT VkVideoEncodeH264DpbSlotInfoEXT
ExportFenceCreateInfo & operator=(VkExportFenceCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
DebugMarkerObjectNameInfoEXT(VkDebugMarkerObjectNameInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubpassDependency2 & setDstStageMask(VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RayTracingShaderGroupCreateInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineCoverageModulationStateCreateInfoNV & setFlags(VULKAN_HPP_NAMESPACE::PipelineCoverageModulationStateCreateFlagsNV flags_) VULKAN_HPP_NOEXCEPT
struct VkDescriptorBufferBindingPushDescriptorBufferHandleEXT VkDescriptorBufferBindingPushDescriptorBufferHandleEXT
BufferCopy2 & operator=(BufferCopy2 const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator==(EventCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(ShadingRatePaletteNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PerformanceValueDataINTEL(float valueFloat_)
VULKAN_HPP_CONSTEXPR_14 PipelineViewportSwizzleStateCreateInfoNV & setViewportCount(uint32_t viewportCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SparseMemoryBind & setFlags(VULKAN_HPP_NAMESPACE::SparseMemoryBindFlags flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DisplayProperties2KHR(VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR displayProperties_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineViewportCoarseSampleOrderStateCreateInfoNV & setPCustomSampleOrders(const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV *pCustomSampleOrders_) VULKAN_HPP_NOEXCEPT
RayTracingPipelineCreateInfoNV & setGroups(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoNV > const &groups_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask
DeviceMemoryOverallocationCreateInfoAMD & operator=(VkDeviceMemoryOverallocationCreateInfoAMD const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RayTracingPipelineCreateInfoNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkCopyMicromapToMemoryInfoEXT VkCopyMicromapToMemoryInfoEXT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRayTracingPipelineFeaturesKHR & setRayTracingPipelineShaderGroupHandleCaptureReplay(VULKAN_HPP_NAMESPACE::Bool32 rayTracingPipelineShaderGroupHandleCaptureReplay_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CuLaunchInfoNVX & setBlockDimY(uint32_t blockDimY_) VULKAN_HPP_NOEXCEPT
SampleLocationsInfoEXT & setSampleLocations(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SampleLocationEXT > const &sampleLocations_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyMemoryToAccelerationStructureInfoKHR & setSrc(VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR const &src_) VULKAN_HPP_NOEXCEPT
bool operator==(Extent3D const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR CooperativeMatrixPropertiesNV(uint32_t MSize_={}, uint32_t NSize_={}, uint32_t KSize_={}, VULKAN_HPP_NAMESPACE::ComponentTypeNV AType_=VULKAN_HPP_NAMESPACE::ComponentTypeNV::eFloat16, VULKAN_HPP_NAMESPACE::ComponentTypeNV BType_=VULKAN_HPP_NAMESPACE::ComponentTypeNV::eFloat16, VULKAN_HPP_NAMESPACE::ComponentTypeNV CType_=VULKAN_HPP_NAMESPACE::ComponentTypeNV::eFloat16, VULKAN_HPP_NAMESPACE::ComponentTypeNV DType_=VULKAN_HPP_NAMESPACE::ComponentTypeNV::eFloat16, VULKAN_HPP_NAMESPACE::ScopeNV scope_=VULKAN_HPP_NAMESPACE::ScopeNV::eDevice, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageDrmFormatModifierListCreateInfoEXT & setPDrmFormatModifiers(const uint64_t *pDrmFormatModifiers_) VULKAN_HPP_NOEXCEPT
QueryPoolPerformanceCreateInfoKHR(uint32_t queueFamilyIndex_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &counterIndices_, const void *pNext_=nullptr)
bool operator==(PhysicalDeviceMaintenance3Properties const &rhs) const VULKAN_HPP_NOEXCEPT
ImportSemaphoreFdInfoKHR(VkImportSemaphoreFdInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 PipelineColorBlendStateCreateInfo(VULKAN_HPP_NAMESPACE::PipelineColorBlendStateCreateFlags flags_={}, VULKAN_HPP_NAMESPACE::Bool32 logicOpEnable_={}, VULKAN_HPP_NAMESPACE::LogicOp logicOp_=VULKAN_HPP_NAMESPACE::LogicOp::eClear, uint32_t attachmentCount_={}, const VULKAN_HPP_NAMESPACE::PipelineColorBlendAttachmentState *pAttachments_={}, std::array< float, 4 > const &blendConstants_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferImageCopy2 & setImageOffset(VULKAN_HPP_NAMESPACE::Offset3D const &imageOffset_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR AccelerationStructureCreateInfoKHR(VULKAN_HPP_NAMESPACE::AccelerationStructureCreateFlagsKHR createFlags_={}, VULKAN_HPP_NAMESPACE::Buffer buffer_={}, VULKAN_HPP_NAMESPACE::DeviceSize offset_={}, VULKAN_HPP_NAMESPACE::DeviceSize size_={}, VULKAN_HPP_NAMESPACE::AccelerationStructureTypeKHR type_=VULKAN_HPP_NAMESPACE::AccelerationStructureTypeKHR::eTopLevel, VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ImportSemaphoreFdInfoKHR(VULKAN_HPP_NAMESPACE::Semaphore semaphore_={}, VULKAN_HPP_NAMESPACE::SemaphoreImportFlags flags_={}, VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType_=VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits::eOpaqueFd, int fd_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkBaseOutStructure VkBaseOutStructure
const VULKAN_HPP_NAMESPACE::SpecializationMapEntry * pMapEntries
VULKAN_HPP_CONSTEXPR_14 GeometryTrianglesNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR OpticalFlowSessionCreatePrivateDataInfoNV(uint32_t id_={}, uint32_t size_={}, const void *pPrivateData_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
GeometryDataNV & operator=(VkGeometryDataNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceDiscardRectanglePropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceImageCompressionControlFeaturesEXT & operator=(VkPhysicalDeviceImageCompressionControlFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
CommandBufferInheritanceInfo(VkCommandBufferInheritanceInfo const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(SharedPresentSurfaceCapabilitiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
SubpassDescription2 & setResolveAttachments(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::AttachmentReference2 > const &resolveAttachments_) VULKAN_HPP_NOEXCEPT
bool operator!=(BindShaderGroupIndirectCommandNV const &rhs) const VULKAN_HPP_NOEXCEPT
SparseBufferMemoryBindInfo & operator=(SparseBufferMemoryBindInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationConservativeStateCreateInfoEXT & setConservativeRasterizationMode(VULKAN_HPP_NAMESPACE::ConservativeRasterizationModeEXT conservativeRasterizationMode_) VULKAN_HPP_NOEXCEPT
const VULKAN_HPP_NAMESPACE::SparseMemoryBind * pBinds
struct VkPipelineCacheHeaderVersionOne VkPipelineCacheHeaderVersionOne
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceLinearColorAttachmentFeaturesNV & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceConditionalRenderingFeaturesEXT & operator=(VkPhysicalDeviceConditionalRenderingFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferCopy & setDstOffset(VULKAN_HPP_NAMESPACE::DeviceSize dstOffset_) VULKAN_HPP_NOEXCEPT
BindShaderGroupIndirectCommandNV(VkBindShaderGroupIndirectCommandNV const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceVertexInputDynamicStateFeaturesEXT & operator=(VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RayTracingPipelineCreateInfoKHR & setPDynamicState(const VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateInfo *pDynamicState_) VULKAN_HPP_NOEXCEPT
AccelerationStructureBuildRangeInfoKHR & operator=(VkAccelerationStructureBuildRangeInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
struct VkVideoDecodeH264CapabilitiesEXT VkVideoDecodeH264CapabilitiesEXT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkanMemoryModelFeatures & setVulkanMemoryModelAvailabilityVisibilityChains(VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModelAvailabilityVisibilityChains_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SwapchainCreateInfoKHR & setImageColorSpace(VULKAN_HPP_NAMESPACE::ColorSpaceKHR imageColorSpace_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceMultiDrawPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 FramebufferAttachmentImageInfo & setFlags(VULKAN_HPP_NAMESPACE::ImageCreateFlags flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ColorBlendEquationEXT & setDstAlphaBlendFactor(VULKAN_HPP_NAMESPACE::BlendFactor dstAlphaBlendFactor_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceShaderModuleIdentifierPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT VkPhysicalDeviceBorderColorSwizzleFeaturesEXT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceAccelerationStructureFeaturesKHR & setAccelerationStructureIndirectBuild(VULKAN_HPP_NAMESPACE::Bool32 accelerationStructureIndirectBuild_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineCoverageReductionStateCreateInfoNV & setFlags(VULKAN_HPP_NAMESPACE::PipelineCoverageReductionStateCreateFlagsNV flags_) VULKAN_HPP_NOEXCEPT
AccelerationStructureTrianglesOpacityMicromapEXT & setUsageCounts(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::MicromapUsageEXT > const &usageCounts_) VULKAN_HPP_NOEXCEPT
AccelerationStructureCreateInfoNV & operator=(AccelerationStructureCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT=default
TraceRaysIndirectCommandKHR(Extent2D const &extent2D, uint32_t depth_={})
VULKAN_HPP_CONSTEXPR_14 OpticalFlowExecuteInfoNV & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
RenderPassMultiviewCreateInfo(VkRenderPassMultiviewCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ExportSemaphoreCreateInfo(VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlags handleTypes_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkVertexInputAttributeDescription VkVertexInputAttributeDescription
SpecializationInfo & setData(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const T > const &data_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceDescriptorIndexingProperties const &rhs) const VULKAN_HPP_NOEXCEPT
ImageViewUsageCreateInfo & operator=(VkImageViewUsageCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
DescriptorPoolCreateInfo & operator=(VkDescriptorPoolCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceLineRasterizationFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
BufferCopy & operator=(VkBufferCopy const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderAtomicFloatFeaturesEXT & setShaderBufferFloat32Atomics(VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat32Atomics_) VULKAN_HPP_NOEXCEPT
bool operator==(ImportSemaphoreFdInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingProperties
PhysicalDeviceDiagnosticsConfigFeaturesNV & operator=(VkPhysicalDeviceDiagnosticsConfigFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
struct VkBindImageMemorySwapchainInfoKHR VkBindImageMemorySwapchainInfoKHR
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setShaderUniformTexelBufferArrayDynamicIndexing(VULKAN_HPP_NAMESPACE::Bool32 shaderUniformTexelBufferArrayDynamicIndexing_) VULKAN_HPP_NOEXCEPT
PhysicalDevicePipelinePropertiesFeaturesEXT(VkPhysicalDevicePipelinePropertiesFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceOpticalFlowFeaturesNV & operator=(VkPhysicalDeviceOpticalFlowFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::SampleCountFlagBits sampleLocationsPerPixel
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCooperativeMatrixFeaturesNV & setCooperativeMatrixRobustBufferAccess(VULKAN_HPP_NAMESPACE::Bool32 cooperativeMatrixRobustBufferAccess_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceExtendedDynamicState3FeaturesEXT VkPhysicalDeviceExtendedDynamicState3FeaturesEXT
VULKAN_HPP_CONSTEXPR_14 PerformanceCounterResultKHR(uint64_t uint64_)
DebugUtilsObjectTagInfoEXT & setTag(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const T > const &tag_) VULKAN_HPP_NOEXCEPT
BindShaderGroupIndirectCommandNV & operator=(VkBindShaderGroupIndirectCommandNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::AccelerationStructureKHR srcAccelerationStructure
bool operator==(IndirectCommandsStreamNV const &rhs) const VULKAN_HPP_NOEXCEPT
AttachmentReferenceStencilLayout & operator=(AttachmentReferenceStencilLayout const &rhs) VULKAN_HPP_NOEXCEPT=default
DisplayPlaneCapabilitiesKHR(VkDisplayPlaneCapabilitiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
ShaderStatisticsInfoAMD & operator=(VkShaderStatisticsInfoAMD const &rhs) VULKAN_HPP_NOEXCEPT
GLboolean GLboolean GLboolean b
Definition: glcorearb.h:1222
struct VkLayerProperties VkLayerProperties
PipelineColorBlendStateCreateInfo(VkPipelineColorBlendStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorBufferFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkSubpassDescription2 VkSubpassDescription2
bool operator!=(DescriptorUpdateTemplateCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PushConstantRange const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineMultisampleStateCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
ConformanceVersion ConformanceVersionKHR
VULKAN_HPP_CONSTEXPR CopyMemoryToImageIndirectCommandNV(VULKAN_HPP_NAMESPACE::DeviceAddress srcAddress_={}, uint32_t bufferRowLength_={}, uint32_t bufferImageHeight_={}, VULKAN_HPP_NAMESPACE::ImageSubresourceLayers imageSubresource_={}, VULKAN_HPP_NAMESPACE::Offset3D imageOffset_={}, VULKAN_HPP_NAMESPACE::Extent3D imageExtent_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ResolveImageInfo2 & setSrcImageLayout(VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout_) VULKAN_HPP_NOEXCEPT
bool operator==(QueryPoolPerformanceQueryCreateInfoINTEL const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineViewportStateCreateInfo & setViewportCount(uint32_t viewportCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR CopyMemoryIndirectCommandNV(VULKAN_HPP_NAMESPACE::DeviceAddress srcAddress_={}, VULKAN_HPP_NAMESPACE::DeviceAddress dstAddress_={}, VULKAN_HPP_NAMESPACE::DeviceSize size_={}) VULKAN_HPP_NOEXCEPT
bool operator==(SubpassDescription const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineViewportWScalingStateCreateInfoNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(SamplerYcbcrConversionCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(DebugMarkerMarkerInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
GA_API const UT_StringHolder transform
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildGeometryInfoKHR & setMode(VULKAN_HPP_NAMESPACE::BuildAccelerationStructureModeKHR mode_) VULKAN_HPP_NOEXCEPT
struct VkSemaphoreCreateInfo VkSemaphoreCreateInfo
bool operator==(PhysicalDeviceSamplerFilterMinmaxProperties const &rhs) const VULKAN_HPP_NOEXCEPT
DebugUtilsMessengerCallbackDataEXT(VkDebugUtilsMessengerCallbackDataEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RayTracingPipelineCreateInfoKHR & setPGroups(const VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoKHR *pGroups_) VULKAN_HPP_NOEXCEPT
struct VkExternalSemaphoreProperties VkExternalSemaphoreProperties
bool operator!=(ExportFenceCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkWin32KeyedMutexAcquireReleaseInfoKHR VkWin32KeyedMutexAcquireReleaseInfoKHR
PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR & operator=(VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::GeometryTypeKHR geometryType
struct VkDescriptorPoolInlineUniformBlockCreateInfo VkDescriptorPoolInlineUniformBlockCreateInfo
VULKAN_HPP_CONSTEXPR RectLayerKHR(VULKAN_HPP_NAMESPACE::Offset2D offset_={}, VULKAN_HPP_NAMESPACE::Extent2D extent_={}, uint32_t layer_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Bool32 drawIndirectFirstInstance
VULKAN_HPP_CONSTEXPR_14 RenderPassCreateInfo & setPSubpasses(const VULKAN_HPP_NAMESPACE::SubpassDescription *pSubpasses_) VULKAN_HPP_NOEXCEPT
GLint GLenum GLint x
Definition: glcorearb.h:409
VULKAN_HPP_CONSTEXPR_14 ImportFenceFdInfoKHR & setHandleType(VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType_) VULKAN_HPP_NOEXCEPT
GraphicsPipelineShaderGroupsCreateInfoNV(VkGraphicsPipelineShaderGroupsCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCallbackDataEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VertexInputBindingDescription(VkVertexInputBindingDescription const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(CopyMemoryToImageIndirectCommandNV const &rhs) const VULKAN_HPP_NOEXCEPT
RenderPassCreationFeedbackCreateInfoEXT & operator=(VkRenderPassCreationFeedbackCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(SubpassDependency const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 FenceGetFdInfoKHR & setFence(VULKAN_HPP_NAMESPACE::Fence fence_) VULKAN_HPP_NOEXCEPT
bool operator!=(DescriptorSetLayoutSupport const &rhs) const VULKAN_HPP_NOEXCEPT
CheckpointData2NV(VkCheckpointData2NV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR MicromapCreateInfoEXT(VULKAN_HPP_NAMESPACE::MicromapCreateFlagsEXT createFlags_={}, VULKAN_HPP_NAMESPACE::Buffer buffer_={}, VULKAN_HPP_NAMESPACE::DeviceSize offset_={}, VULKAN_HPP_NAMESPACE::DeviceSize size_={}, VULKAN_HPP_NAMESPACE::MicromapTypeEXT type_=VULKAN_HPP_NAMESPACE::MicromapTypeEXT::eOpacityMicromap, VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SamplerCreateInfo(VULKAN_HPP_NAMESPACE::SamplerCreateFlags flags_={}, VULKAN_HPP_NAMESPACE::Filter magFilter_=VULKAN_HPP_NAMESPACE::Filter::eNearest, VULKAN_HPP_NAMESPACE::Filter minFilter_=VULKAN_HPP_NAMESPACE::Filter::eNearest, VULKAN_HPP_NAMESPACE::SamplerMipmapMode mipmapMode_=VULKAN_HPP_NAMESPACE::SamplerMipmapMode::eNearest, VULKAN_HPP_NAMESPACE::SamplerAddressMode addressModeU_=VULKAN_HPP_NAMESPACE::SamplerAddressMode::eRepeat, VULKAN_HPP_NAMESPACE::SamplerAddressMode addressModeV_=VULKAN_HPP_NAMESPACE::SamplerAddressMode::eRepeat, VULKAN_HPP_NAMESPACE::SamplerAddressMode addressModeW_=VULKAN_HPP_NAMESPACE::SamplerAddressMode::eRepeat, float mipLodBias_={}, VULKAN_HPP_NAMESPACE::Bool32 anisotropyEnable_={}, float maxAnisotropy_={}, VULKAN_HPP_NAMESPACE::Bool32 compareEnable_={}, VULKAN_HPP_NAMESPACE::CompareOp compareOp_=VULKAN_HPP_NAMESPACE::CompareOp::eNever, float minLod_={}, float maxLod_={}, VULKAN_HPP_NAMESPACE::BorderColor borderColor_=VULKAN_HPP_NAMESPACE::BorderColor::eFloatTransparentBlack, VULKAN_HPP_NAMESPACE::Bool32 unnormalizedCoordinates_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
DrawMeshTasksIndirectCommandEXT(VkDrawMeshTasksIndirectCommandEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceTimelineSemaphoreFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(CopyImageToBufferInfo2 const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceRayQueryFeaturesKHR(VkPhysicalDeviceRayQueryFeaturesKHR const &rhs) VULKAN_HPP_NOEXCEPT
struct VkVideoEncodeH264RateControlInfoEXT VkVideoEncodeH264RateControlInfoEXT
bool operator!=(PhysicalDeviceDescriptorBufferFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MemoryPriorityAllocateInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorSetLayoutBindingFlagsCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
CommandBufferAllocateInfo & operator=(VkCommandBufferAllocateInfo const &rhs) VULKAN_HPP_NOEXCEPT
TextureLODGatherFormatPropertiesAMD(VkTextureLODGatherFormatPropertiesAMD const &rhs) VULKAN_HPP_NOEXCEPT
PipelinePropertiesIdentifierEXT(VkPipelinePropertiesIdentifierEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentShaderBarycentricFeaturesKHR & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(CalibratedTimestampInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkRenderingFragmentShadingRateAttachmentInfoKHR VkRenderingFragmentShadingRateAttachmentInfoKHR
RenderPassSubpassFeedbackInfoEXT & operator=(VkRenderPassSubpassFeedbackInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkMacOSSurfaceCreateInfoMVK VkMacOSSurfaceCreateInfoMVK
VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout
VULKAN_HPP_NAMESPACE::Buffer dstBuffer
VULKAN_HPP_CONSTEXPR_14 SemaphoreGetFdInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageSwapchainCreateInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PerformanceMarkerInfoINTEL(uint64_t marker_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(ImageResolve const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyImageToBufferInfo2 & setPRegions(const VULKAN_HPP_NAMESPACE::BufferImageCopy2 *pRegions_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PresentRegionKHR & setPRectangles(const VULKAN_HPP_NAMESPACE::RectLayerKHR *pRectangles_) VULKAN_HPP_NOEXCEPT
bool operator==(BufferCopy2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DisplaySurfaceCreateInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
TraceRaysIndirectCommand2KHR & operator=(VkTraceRaysIndirectCommand2KHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceRenderingInfo & setStencilAttachmentFormat(VULKAN_HPP_NAMESPACE::Format stencilAttachmentFormat_) VULKAN_HPP_NOEXCEPT
void(VKAPI_PTR * PFN_vkInternalAllocationNotification)(void *pUserData, size_t size, VkInternalAllocationType allocationType, VkSystemAllocationScope allocationScope)
Definition: vulkan_core.h:2899
PhysicalDeviceShaderImageAtomicInt64FeaturesEXT & operator=(VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::TimeDomainEXT timeDomain
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageRobustnessFeatures & setRobustImageAccess(VULKAN_HPP_NAMESPACE::Bool32 robustImageAccess_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildRangeInfoKHR & setTransformOffset(uint32_t transformOffset_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShadingRateImageFeaturesNV & setShadingRateCoarseSampleOrder(VULKAN_HPP_NAMESPACE::Bool32 shadingRateCoarseSampleOrder_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceAddress dstAddress
VULKAN_HPP_CONSTEXPR_14 PipelineViewportShadingRateImageStateCreateInfoNV & setShadingRateImageEnable(VULKAN_HPP_NAMESPACE::Bool32 shadingRateImageEnable_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR MultiDrawInfoEXT(uint32_t firstVertex_={}, uint32_t vertexCount_={}) VULKAN_HPP_NOEXCEPT
union VkPipelineExecutableStatisticValueKHR VkPipelineExecutableStatisticValueKHR
bool operator==(PhysicalDeviceCopyMemoryIndirectPropertiesNV const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkMemoryFdPropertiesKHR VkMemoryFdPropertiesKHR
PipelineCreationFeedbackCreateInfo(VULKAN_HPP_NAMESPACE::PipelineCreationFeedback *pPipelineCreationFeedback_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< VULKAN_HPP_NAMESPACE::PipelineCreationFeedback > const &pipelineStageCreationFeedbacks_, const void *pNext_=nullptr)
bool operator!=(PipelineViewportStateCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineViewportStateCreateInfo(VULKAN_HPP_NAMESPACE::PipelineViewportStateCreateFlags flags_={}, uint32_t viewportCount_={}, const VULKAN_HPP_NAMESPACE::Viewport *pViewports_={}, uint32_t scissorCount_={}, const VULKAN_HPP_NAMESPACE::Rect2D *pScissors_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 TraceRaysIndirectCommand2KHR & setHitShaderBindingTableStride(VULKAN_HPP_NAMESPACE::DeviceSize hitShaderBindingTableStride_) VULKAN_HPP_NOEXCEPT
QueueFamilyCheckpointProperties2NV(VkQueueFamilyCheckpointProperties2NV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceSparseImageFormatInfo2(VULKAN_HPP_NAMESPACE::Format format_=VULKAN_HPP_NAMESPACE::Format::eUndefined, VULKAN_HPP_NAMESPACE::ImageType type_=VULKAN_HPP_NAMESPACE::ImageType::e1D, VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples_=VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1, VULKAN_HPP_NAMESPACE::ImageUsageFlags usage_={}, VULKAN_HPP_NAMESPACE::ImageTiling tiling_=VULKAN_HPP_NAMESPACE::ImageTiling::eOptimal, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(RenderPassSubpassFeedbackInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
RayTracingPipelineCreateInfoNV(VkRayTracingPipelineCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 OpticalFlowSessionCreateInfoNV & setFlowVectorFormat(VULKAN_HPP_NAMESPACE::Format flowVectorFormat_) VULKAN_HPP_NOEXCEPT
DeviceQueueInfo2 & operator=(VkDeviceQueueInfo2 const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(MemoryGetRemoteAddressInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
PipelineExecutableInternalRepresentationKHR(VkPipelineExecutableInternalRepresentationKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceFaultInfoEXT & setPVendorInfos(VULKAN_HPP_NAMESPACE::DeviceFaultVendorInfoEXT *pVendorInfos_) VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineVertexInputDivisorStateCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkSubpassDependency VkSubpassDependency
VULKAN_HPP_NAMESPACE::Bool32 tessellationShader
bool operator!=(SubpassDependency2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceMemoryOpaqueCaptureAddressInfo & setMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceMemory memory
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT & setGraphicsPipelineLibraryFastLinking(VULKAN_HPP_NAMESPACE::Bool32 graphicsPipelineLibraryFastLinking_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AmigoProfilingSubmitInfoSEC & setSwapBufferTimestamp(uint64_t swapBufferTimestamp_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceExternalMemoryRDMAFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
ExternalFenceProperties & operator=(VkExternalFenceProperties const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DecompressMemoryRegionNV & setSrcAddress(VULKAN_HPP_NAMESPACE::DeviceAddress srcAddress_) VULKAN_HPP_NOEXCEPT
struct VkCommandBufferSubmitInfo VkCommandBufferSubmitInfo
PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT & operator=(VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkImportMetalSharedEventInfoEXT VkImportMetalSharedEventInfoEXT
bool operator!=(PhysicalDeviceAccelerationStructureFeaturesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkMemoryRequirements2 VkMemoryRequirements2
GraphicsShaderGroupCreateInfoNV & setStages(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo > const &stages_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceFloatControlsProperties(VkPhysicalDeviceFloatControlsProperties const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageViewSampleWeightCreateInfoQCOM & setFilterSize(VULKAN_HPP_NAMESPACE::Extent2D const &filterSize_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceMemoryDecompressionFeaturesNV(VkPhysicalDeviceMemoryDecompressionFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
struct VkImageSwapchainCreateInfoKHR VkImageSwapchainCreateInfoKHR
VULKAN_HPP_CONSTEXPR_14 ImageDrmFormatModifierListCreateInfoEXT & setDrmFormatModifierCount(uint32_t drmFormatModifierCount_) VULKAN_HPP_NOEXCEPT
PhysicalDevicePipelineRobustnessFeaturesEXT & operator=(VkPhysicalDevicePipelineRobustnessFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT(VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GeometryTrianglesNV & setVertexCount(uint32_t vertexCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Extent2D sampleLocationGridSize
DescriptorSetLayoutSupport(VkDescriptorSetLayoutSupport const &rhs) VULKAN_HPP_NOEXCEPT
IndirectCommandsLayoutTokenNV & setIndexTypes(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::IndexType > const &indexTypes_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MicromapBuildSizesInfoEXT & setDiscardable(VULKAN_HPP_NAMESPACE::Bool32 discardable_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceInlineUniformBlockFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageProcessingFeaturesQCOM & setTextureBoxFilter(VULKAN_HPP_NAMESPACE::Bool32 textureBoxFilter_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SemaphoreTypeCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceInfo & setRenderPass(VULKAN_HPP_NAMESPACE::RenderPass renderPass_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::CommandBuffer commandBuffer
VULKAN_HPP_CONSTEXPR_14 GeneratedCommandsInfoNV & setSequencesIndexBuffer(VULKAN_HPP_NAMESPACE::Buffer sequencesIndexBuffer_) VULKAN_HPP_NOEXCEPT
ValidationFlagsEXT & operator=(VkValidationFlagsEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkVideoEndCodingInfoKHR VkVideoEndCodingInfoKHR
PhysicalDeviceRayTracingInvocationReorderPropertiesNV(VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineInputAssemblyStateCreateInfo & setTopology(VULKAN_HPP_NAMESPACE::PrimitiveTopology topology_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryMotionTrianglesDataNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GeometryTrianglesNV & setIndexData(VULKAN_HPP_NAMESPACE::Buffer indexData_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorPoolSize & setDescriptorCount(uint32_t descriptorCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SamplerYcbcrConversionCreateInfo & setForceExplicitReconstruction(VULKAN_HPP_NAMESPACE::Bool32 forceExplicitReconstruction_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceShaderCorePropertiesAMD const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkBindIndexBufferIndirectCommandNV VkBindIndexBufferIndirectCommandNV
PhysicalDeviceRayTracingPropertiesNV & operator=(VkPhysicalDeviceRayTracingPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT
struct VkImageResolve2 VkImageResolve2
bool operator==(DebugUtilsObjectTagInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT
DeviceCreateInfo & setQueueCreateInfos(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::DeviceQueueCreateInfo > const &queueCreateInfos_) VULKAN_HPP_NOEXCEPT
AccelerationStructureMotionInstanceNV & operator=(VkAccelerationStructureMotionInstanceNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceImagelessFramebufferFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyMemoryToMicromapInfoEXT & setSrc(VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR const &src_) VULKAN_HPP_NOEXCEPT
const VULKAN_HPP_NAMESPACE::SparseImageMemoryBind * pBinds
bool operator==(PhysicalDeviceMemoryDecompressionPropertiesNV const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures
VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderCorePropertiesAMD(uint32_t shaderEngineCount_={}, uint32_t shaderArraysPerEngineCount_={}, uint32_t computeUnitsPerShaderArray_={}, uint32_t simdPerComputeUnit_={}, uint32_t wavefrontsPerSimd_={}, uint32_t wavefrontSize_={}, uint32_t sgprsPerSimd_={}, uint32_t minSgprAllocation_={}, uint32_t maxSgprAllocation_={}, uint32_t sgprAllocationGranularity_={}, uint32_t vgprsPerSimd_={}, uint32_t minVgprAllocation_={}, uint32_t maxVgprAllocation_={}, uint32_t vgprAllocationGranularity_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineLibraryCreateInfoKHR(uint32_t libraryCount_={}, const VULKAN_HPP_NAMESPACE::Pipeline *pLibraries_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 VertexInputBindingDescription & setStride(uint32_t stride_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceUniformBufferStandardLayoutFeatures & operator=(VkPhysicalDeviceUniformBufferStandardLayoutFeatures const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceOpacityMicromapPropertiesEXT(uint32_t maxOpacity2StateSubdivisionLevel_={}, uint32_t maxOpacity4StateSubdivisionLevel_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceIndexTypeUint8FeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceFragmentShaderInterlockFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(ImageCompressionPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageViewMinLodFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceExternalFenceInfo(VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits handleType_=VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlagBits::eOpaqueFd, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceCopyMemoryIndirectPropertiesNV(VULKAN_HPP_NAMESPACE::QueueFlags supportedQueues_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PhysicalDeviceConditionalRenderingFeaturesEXT(VkPhysicalDeviceConditionalRenderingFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
BufferCopy(VkBufferCopy const &rhs) VULKAN_HPP_NOEXCEPT
DedicatedAllocationImageCreateInfoNV(VkDedicatedAllocationImageCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GraphicsPipelineCreateInfo & setStageCount(uint32_t stageCount_) VULKAN_HPP_NOEXCEPT
bool operator==(RenderPassCreationFeedbackInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::TransformMatrixKHR transform
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicStateFeaturesEXT & setExtendedDynamicState(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 IndirectCommandsLayoutTokenNV & setPushconstantShaderStageFlags(VULKAN_HPP_NAMESPACE::ShaderStageFlags pushconstantShaderStageFlags_) VULKAN_HPP_NOEXCEPT
ImageSparseMemoryRequirementsInfo2(VkImageSparseMemoryRequirementsInfo2 const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceCoherentMemoryFeaturesAMD(VkPhysicalDeviceCoherentMemoryFeaturesAMD const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AttachmentSampleCountInfoAMD & setPColorAttachmentSamples(const VULKAN_HPP_NAMESPACE::SampleCountFlagBits *pColorAttachmentSamples_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setFillModeNonSolid(VULKAN_HPP_NAMESPACE::Bool32 fillModeNonSolid_) VULKAN_HPP_NOEXCEPT
RayTracingPipelineInterfaceCreateInfoKHR(VkRayTracingPipelineInterfaceCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode
VULKAN_HPP_CONSTEXPR_14 DeviceEventInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationProvokingVertexStateCreateInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
CopyDescriptorSet & operator=(CopyDescriptorSet const &rhs) VULKAN_HPP_NOEXCEPT=default
SurfaceFormat2KHR & operator=(VkSurfaceFormat2KHR const &rhs) VULKAN_HPP_NOEXCEPT
struct VkDeviceQueueInfo2 VkDeviceQueueInfo2
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
bool operator==(PhysicalDeviceSparseImageFormatInfo2 const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkDeviceQueueGlobalPriorityCreateInfoKHR VkDeviceQueueGlobalPriorityCreateInfoKHR
PipelineCacheCreateInfo & setInitialData(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const T > const &initialData_) VULKAN_HPP_NOEXCEPT
bool operator!=(DisplayPresentInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(MultisamplePropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
GraphicsPipelineLibraryCreateInfoEXT & operator=(VkGraphicsPipelineLibraryCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceInfo & setQueryFlags(VULKAN_HPP_NAMESPACE::QueryControlFlags queryFlags_) VULKAN_HPP_NOEXCEPT
AllocationCallbacks & operator=(AllocationCallbacks const &rhs) VULKAN_HPP_NOEXCEPT=default
struct VkImportMemoryZirconHandleInfoFUCHSIA VkImportMemoryZirconHandleInfoFUCHSIA
bool operator==(DebugUtilsLabelEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(AccelerationStructureCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugUtilsLabelEXT & setPLabelName(const char *pLabelName_) VULKAN_HPP_NOEXCEPT
struct VkCopyMicromapInfoEXT VkCopyMicromapInfoEXT
VULKAN_HPP_CONSTEXPR_14 RayTracingPipelineInterfaceCreateInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
SpecializationInfo & operator=(VkSpecializationInfo const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceProperties2(VkPhysicalDeviceProperties2 const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImage2DViewOf3DFeaturesEXT & setSampler2DViewOf3D(VULKAN_HPP_NAMESPACE::Bool32 sampler2DViewOf3D_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ShaderModuleValidationCacheCreateInfoEXT & setValidationCache(VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceMaintenance3Properties const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMeshShaderFeaturesEXT & setMultiviewMeshShader(VULKAN_HPP_NAMESPACE::Bool32 multiviewMeshShader_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8Features
bool operator==(PhysicalDeviceShaderDemoteToHelperInvocationFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceOpacityMicromapFeaturesEXT & operator=(VkPhysicalDeviceOpacityMicromapFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SubpassDependency(uint32_t srcSubpass_={}, uint32_t dstSubpass_={}, VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask_={}, VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask_={}, VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask_={}, VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_={}, VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DirectDriverLoadingInfoLUNARG & setPfnGetInstanceProcAddr(PFN_vkGetInstanceProcAddr pfnGetInstanceProcAddr_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CuLaunchInfoNVX & setFunction(VULKAN_HPP_NAMESPACE::CuFunctionNVX function_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceRenderingInfo & setViewMask(uint32_t viewMask_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageDrmFormatModifierExplicitCreateInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(RenderPassSubpassFeedbackCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceSurfaceInfo2KHR const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkQueryPoolPerformanceCreateInfoKHR VkQueryPoolPerformanceCreateInfoKHR
VULKAN_HPP_CONSTEXPR AcquireNextImageInfoKHR(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain_={}, uint64_t timeout_={}, VULKAN_HPP_NAMESPACE::Semaphore semaphore_={}, VULKAN_HPP_NAMESPACE::Fence fence_={}, uint32_t deviceMask_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDevice8BitStorageFeatures & setStoragePushConstant8(VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant8_) VULKAN_HPP_NOEXCEPT
bool operator==(CommandBufferInheritanceInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassAttachmentBeginInfo & setAttachmentCount(uint32_t attachmentCount_) VULKAN_HPP_NOEXCEPT
bool operator!=(RenderingInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GeneratedCommandsInfoNV & setSequencesCountBuffer(VULKAN_HPP_NAMESPACE::Buffer sequencesCountBuffer_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 WriteDescriptorSetInlineUniformBlock & setPData(const void *pData_) VULKAN_HPP_NOEXCEPT
AccelerationStructureMatrixMotionInstanceNV & operator=(VkAccelerationStructureMatrixMotionInstanceNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(SurfaceCapabilitiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(InputAttachmentAspectReference const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ImageLayout newLayout
VULKAN_HPP_CONSTEXPR_14 BufferViewCreateInfo & setRange(VULKAN_HPP_NAMESPACE::DeviceSize range_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 RayTracingShaderGroupCreateInfoNV & setClosestHitShader(uint32_t closestHitShader_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BindBufferMemoryInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkPerformanceMarkerInfoINTEL VkPerformanceMarkerInfoINTEL
VULKAN_HPP_CONSTEXPR_14 StencilOpState & setCompareMask(uint32_t compareMask_) VULKAN_HPP_NOEXCEPT
bool operator==(QueueFamilyGlobalPriorityPropertiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 ycbcr2plane444Formats_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PerformanceOverrideInfoINTEL(VULKAN_HPP_NAMESPACE::PerformanceOverrideTypeINTEL type_=VULKAN_HPP_NAMESPACE::PerformanceOverrideTypeINTEL::eNullHardware, VULKAN_HPP_NAMESPACE::Bool32 enable_={}, uint64_t parameter_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageBlit2 & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageCompressionControlEXT & setFlags(VULKAN_HPP_NAMESPACE::ImageCompressionFlagsEXT flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setOcclusionQueryPrecise(VULKAN_HPP_NAMESPACE::Bool32 occlusionQueryPrecise_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorSetVariableDescriptorCountAllocateInfo & setDescriptorSetCount(uint32_t descriptorSetCount_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
CopyMemoryToAccelerationStructureInfoKHR & operator=(CopyMemoryToAccelerationStructureInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator==(PipelineVertexInputStateCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
AccelerationStructureGeometryInstancesDataKHR & operator=(AccelerationStructureGeometryInstancesDataKHR const &rhs) VULKAN_HPP_NOEXCEPT=default
union VkDeviceOrHostAddressConstKHR VkDeviceOrHostAddressConstKHR
VULKAN_HPP_CONSTEXPR_14 ImagePlaneMemoryRequirementsInfo & setPlaneAspect(VULKAN_HPP_NAMESPACE::ImageAspectFlagBits planeAspect_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
buffer(size_t sz) FMT_NOEXCEPT
Definition: core.h:769
struct VkAccelerationStructureCaptureDescriptorDataInfoEXT VkAccelerationStructureCaptureDescriptorDataInfoEXT
VULKAN_HPP_CONSTEXPR_14 TilePropertiesQCOM & setApronSize(VULKAN_HPP_NAMESPACE::Extent2D const &apronSize_) VULKAN_HPP_NOEXCEPT
struct VkFenceCreateInfo VkFenceCreateInfo
struct VkProtectedSubmitInfo VkProtectedSubmitInfo
PhysicalDeviceMultiDrawFeaturesEXT(VkPhysicalDeviceMultiDrawFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GeometryAABBNV & setAabbData(VULKAN_HPP_NAMESPACE::Buffer aabbData_) VULKAN_HPP_NOEXCEPT
const VULKAN_HPP_NAMESPACE::MemoryBarrier2 * pMemoryBarriers
VULKAN_HPP_NAMESPACE::ImageSubresource subresource
bool operator==(PhysicalDevicePushDescriptorPropertiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
const VULKAN_HPP_NAMESPACE::SparseImageMemoryBindInfo * pImageBinds
VULKAN_HPP_CONSTEXPR PipelineCoverageToColorStateCreateInfoNV(VULKAN_HPP_NAMESPACE::PipelineCoverageToColorStateCreateFlagsNV flags_={}, VULKAN_HPP_NAMESPACE::Bool32 coverageToColorEnable_={}, uint32_t coverageToColorLocation_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
DebugUtilsObjectTagInfoEXT(VkDebugUtilsObjectTagInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
DeviceEventInfoEXT(VkDeviceEventInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkSparseImageMemoryBind VkSparseImageMemoryBind
VULKAN_HPP_CONSTEXPR BindIndexBufferIndirectCommandNV(VULKAN_HPP_NAMESPACE::DeviceAddress bufferAddress_={}, uint32_t size_={}, VULKAN_HPP_NAMESPACE::IndexType indexType_=VULKAN_HPP_NAMESPACE::IndexType::eUint16) VULKAN_HPP_NOEXCEPT
ImageSubresourceLayers & operator=(ImageSubresourceLayers const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator==(DedicatedAllocationMemoryAllocateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceGroupSubmitInfo & setCommandBufferCount(uint32_t commandBufferCount_) VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineExecutableInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDevicePipelineCreationCacheControlFeatures(VkPhysicalDevicePipelineCreationCacheControlFeatures const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(TraceRaysIndirectCommandKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GeneratedCommandsMemoryRequirementsInfoNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
GLsizei samples
Definition: glcorearb.h:1298
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan13Features & setShaderIntegerDotProduct(VULKAN_HPP_NAMESPACE::Bool32 shaderIntegerDotProduct_) VULKAN_HPP_NOEXCEPT
bool operator!=(ExternalImageFormatProperties const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ClearValue & setColor(VULKAN_HPP_NAMESPACE::ClearColorValue const &color_) VULKAN_HPP_NOEXCEPT
size_t offset
VULKAN_HPP_CONSTEXPR ConformanceVersion(uint8_t major_={}, uint8_t minor_={}, uint8_t subminor_={}, uint8_t patch_={}) VULKAN_HPP_NOEXCEPT
BindSparseInfo & setImageOpaqueBinds(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SparseImageOpaqueMemoryBindInfo > const &imageOpaqueBinds_) VULKAN_HPP_NOEXCEPT
RayTracingPipelineCreateInfoKHR & setGroups(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoKHR > const &groups_) VULKAN_HPP_NOEXCEPT
bool operator==(ViewportSwizzleNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceGroupSubmitInfo & setWaitSemaphoreCount(uint32_t waitSemaphoreCount_) VULKAN_HPP_NOEXCEPT
struct VkBlitImageInfo2 VkBlitImageInfo2
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
bool operator!=(PhysicalDeviceMemoryPriorityFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPrivateDataSlotCreateInfo VkPrivateDataSlotCreateInfo
AttachmentReference2 & operator=(VkAttachmentReference2 const &rhs) VULKAN_HPP_NOEXCEPT
ImageViewHandleInfoNVX & operator=(VkImageViewHandleInfoNVX const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR CommandBufferInheritanceInfo(VULKAN_HPP_NAMESPACE::RenderPass renderPass_={}, uint32_t subpass_={}, VULKAN_HPP_NAMESPACE::Framebuffer framebuffer_={}, VULKAN_HPP_NAMESPACE::Bool32 occlusionQueryEnable_={}, VULKAN_HPP_NAMESPACE::QueryControlFlags queryFlags_={}, VULKAN_HPP_NAMESPACE::QueryPipelineStatisticFlags pipelineStatistics_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkSemaphoreGetZirconHandleInfoFUCHSIA VkSemaphoreGetZirconHandleInfoFUCHSIA
PhysicalDeviceGroupProperties & operator=(VkPhysicalDeviceGroupProperties const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV VkPhysicalDeviceComputeShaderDerivativesFeaturesNV
bool operator!=(DisplayModeProperties2KHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyDescriptorSet & setDstArrayElement(uint32_t dstArrayElement_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 Rect2D & setOffset(VULKAN_HPP_NAMESPACE::Offset2D const &offset_) VULKAN_HPP_NOEXCEPT
AccelerationStructureMotionInfoNV & operator=(VkAccelerationStructureMotionInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AttachmentDescription2 & setSamples(VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
bool operator==(PhysicalDeviceTransformFeedbackPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceGroupProperties const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE & setDescriptorSetHostMapping(VULKAN_HPP_NAMESPACE::Bool32 descriptorSetHostMapping_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::AccessFlags2 srcAccessMask
ImageMemoryBarrier2 & operator=(VkImageMemoryBarrier2 const &rhs) VULKAN_HPP_NOEXCEPT
struct VkBufferCollectionCreateInfoFUCHSIA VkBufferCollectionCreateInfoFUCHSIA
bool operator==(PhysicalDevicePipelinePropertiesFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
MemoryType(VkMemoryType const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceMultiviewProperties & operator=(VkPhysicalDeviceMultiviewProperties const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceDynamicRenderingFeatures VkPhysicalDeviceDynamicRenderingFeatures
VULKAN_HPP_CONSTEXPR_14 CopyMemoryToImageIndirectCommandNV & setImageSubresource(VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const &imageSubresource_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceExclusiveScissorFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
struct VkDeviceEventInfoEXT VkDeviceEventInfoEXT
VULKAN_HPP_NAMESPACE::DeviceAddress srcAddress
VULKAN_HPP_CONSTEXPR_14 BindSparseInfo & setPWaitSemaphores(const VULKAN_HPP_NAMESPACE::Semaphore *pWaitSemaphores_) VULKAN_HPP_NOEXCEPT
struct VkVideoEncodeH264SessionParametersAddInfoEXT VkVideoEncodeH264SessionParametersAddInfoEXT
VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCallbackDataEXT & setObjectCount(uint32_t objectCount_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDevicePipelineRobustnessPropertiesEXT VkPhysicalDevicePipelineRobustnessPropertiesEXT
struct VkFramebufferCreateInfo VkFramebufferCreateInfo
PhysicalDeviceMemoryPriorityFeaturesEXT(VkPhysicalDeviceMemoryPriorityFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ExternalMemoryImageCreateInfo & setHandleTypes(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags handleTypes_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageResolve & setExtent(VULKAN_HPP_NAMESPACE::Extent3D const &extent_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceTransformFeedbackPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(ImageSwapchainCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(AttachmentSampleCountInfoAMD const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GeometryNV & setGeometry(VULKAN_HPP_NAMESPACE::GeometryDataNV const &geometry_) VULKAN_HPP_NOEXCEPT
GLenum mode
Definition: glcorearb.h:99
VULKAN_HPP_CONSTEXPR_14 IndirectCommandsLayoutCreateInfoNV & setPTokens(const VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutTokenNV *pTokens_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan11Features & setMultiviewTessellationShader(VULKAN_HPP_NAMESPACE::Bool32 multiviewTessellationShader_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR MemoryGetRemoteAddressInfoNV(VULKAN_HPP_NAMESPACE::DeviceMemory memory_={}, VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_=VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits::eOpaqueFd, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubpassDescription2 & setPDepthStencilAttachment(const VULKAN_HPP_NAMESPACE::AttachmentReference2 *pDepthStencilAttachment_) VULKAN_HPP_NOEXCEPT
bool operator!=(GeneratedCommandsInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceOpacityMicromapFeaturesEXT VkPhysicalDeviceOpacityMicromapFeaturesEXT
MemoryAllocateFlagsInfo(VkMemoryAllocateFlagsInfo const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(CooperativeMatrixPropertiesNV const &rhs) const VULKAN_HPP_NOEXCEPT
GLint GLint GLsizei GLsizei GLsizei depth
Definition: glcorearb.h:476
bool operator!=(DisplayPlaneInfo2KHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorInfoEXT & setVendorFaultCode(uint64_t vendorFaultCode_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DisplayPlaneInfo2KHR & setPlaneIndex(uint32_t planeIndex_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BlitImageInfo2 & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BindIndexBufferIndirectCommandNV & setBufferAddress(VULKAN_HPP_NAMESPACE::DeviceAddress bufferAddress_) VULKAN_HPP_NOEXCEPT
struct VkDeviceFaultVendorInfoEXT VkDeviceFaultVendorInfoEXT
VULKAN_HPP_CONSTEXPR_14 ShaderModuleValidationCacheCreateInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExternalSemaphoreInfo & setHandleType(VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType_) VULKAN_HPP_NOEXCEPT
bool operator==(OpticalFlowImageFormatPropertiesNV const &rhs) const VULKAN_HPP_NOEXCEPT
OpticalFlowImageFormatPropertiesNV & operator=(VkOpticalFlowImageFormatPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ApplicationInfo & setApplicationVersion(uint32_t applicationVersion_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMatrixMotionInstanceNV & setInstanceShaderBindingTableRecordOffset(uint32_t instanceShaderBindingTableRecordOffset_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyMemoryToImageIndirectCommandNV & setBufferRowLength(uint32_t bufferRowLength_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceDepthStencilResolveProperties const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineViewportWScalingStateCreateInfoNV & setViewportCount(uint32_t viewportCount_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceDeviceGeneratedCommandsPropertiesNV const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceRobustness2FeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
DebugUtilsMessengerCallbackDataEXT & operator=(DebugUtilsMessengerCallbackDataEXT const &rhs) VULKAN_HPP_NOEXCEPT=default
MicromapBuildInfoEXT & operator=(VkMicromapBuildInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AcquireNextImageInfoKHR & setFence(VULKAN_HPP_NAMESPACE::Fence fence_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT
PhysicalDeviceDeviceGeneratedCommandsPropertiesNV(VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT
struct VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfo
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageViewMinLodFeaturesEXT & setMinLod(VULKAN_HPP_NAMESPACE::Bool32 minLod_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineShaderStageCreateInfo & setFlags(VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateFlags flags_) VULKAN_HPP_NOEXCEPT
CommandBufferSubmitInfo & operator=(VkCommandBufferSubmitInfo const &rhs) VULKAN_HPP_NOEXCEPT
Offset3D(VkOffset3D const &rhs) VULKAN_HPP_NOEXCEPT
GLenum attachment
Definition: glcorearb.h:1291
bool operator==(ImageResolve2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceExtendedDynamicStateFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PhysicalDeviceRobustness2FeaturesEXT(VkPhysicalDeviceRobustness2FeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
GT_API const UT_StringHolder version
bool operator!=(MultiDrawIndexedInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CoarseSampleOrderCustomNV & setSampleCount(uint32_t sampleCount_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceImageDrmFormatModifierInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkDeviceDiagnosticsConfigCreateInfoNV VkDeviceDiagnosticsConfigCreateInfoNV
bool operator==(BufferMemoryRequirementsInfo2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DisplaySurfaceCreateInfoKHR & setPlaneIndex(uint32_t planeIndex_) VULKAN_HPP_NOEXCEPT
ComponentMapping & operator=(ComponentMapping const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDynamicRenderingFeatures & setDynamicRendering(VULKAN_HPP_NAMESPACE::Bool32 dynamicRendering_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT & setAccelerationStructure(VULKAN_HPP_NAMESPACE::DeviceAddress accelerationStructure_) VULKAN_HPP_NOEXCEPT
bool operator!=(VertexInputBindingDivisorDescriptionEXT const &rhs) const VULKAN_HPP_NOEXCEPT
ValidationFlagsEXT(VkValidationFlagsEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineViewportStateCreateInfo & setFlags(VULKAN_HPP_NAMESPACE::PipelineViewportStateCreateFlags flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassCreateInfo2 & setPAttachments(const VULKAN_HPP_NAMESPACE::AttachmentDescription2 *pAttachments_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesOpacityMicromapEXT & setPUsageCounts(const VULKAN_HPP_NAMESPACE::MicromapUsageEXT *pUsageCounts_) VULKAN_HPP_NOEXCEPT
struct VkVideoSessionCreateInfoKHR VkVideoSessionCreateInfoKHR
VULKAN_HPP_CONSTEXPR_14 RectLayerKHR & setOffset(VULKAN_HPP_NAMESPACE::Offset2D const &offset_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineVertexInputStateCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferImageCopy & setBufferImageHeight(uint32_t bufferImageHeight_) VULKAN_HPP_NOEXCEPT
bool operator==(CommandBufferInheritanceViewportScissorInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
PipelineCoverageToColorStateCreateInfoNV(VkPipelineCoverageToColorStateCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
VkAccelerationStructureGeometryAabbsDataKHR aabbs
VULKAN_HPP_CONSTEXPR PipelineRasterizationProvokingVertexStateCreateInfoEXT(VULKAN_HPP_NAMESPACE::ProvokingVertexModeEXT provokingVertexMode_=VULKAN_HPP_NAMESPACE::ProvokingVertexModeEXT::eFirstVertex, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
GeneratedCommandsMemoryRequirementsInfoNV(VkGeneratedCommandsMemoryRequirementsInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
MemoryBarrier & operator=(VkMemoryBarrier const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(CommandBufferInheritanceRenderPassTransformInfoQCOM const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineExecutableInfoKHR(VULKAN_HPP_NAMESPACE::Pipeline pipeline_={}, uint32_t executableIndex_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(ExternalImageFormatPropertiesNV const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkValidationFeaturesEXT VkValidationFeaturesEXT
VULKAN_HPP_CONSTEXPR_14 VertexInputBindingDescription2EXT & setBinding(uint32_t binding_) VULKAN_HPP_NOEXCEPT
RenderPassSubpassFeedbackInfoEXT(VkRenderPassSubpassFeedbackInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkSwapchainPresentBarrierCreateInfoNV VkSwapchainPresentBarrierCreateInfoNV
PipelineDiscardRectangleStateCreateInfoEXT(VkPipelineDiscardRectangleStateCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceIndexTypeUint8FeaturesEXT(VkPhysicalDeviceIndexTypeUint8FeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyMemoryToAccelerationStructureInfoKHR & setDst(VULKAN_HPP_NAMESPACE::AccelerationStructureKHR dst_) VULKAN_HPP_NOEXCEPT
SemaphoreSignalInfo(VkSemaphoreSignalInfo const &rhs) VULKAN_HPP_NOEXCEPT
struct VkBindShaderGroupIndirectCommandNV VkBindShaderGroupIndirectCommandNV
VULKAN_HPP_CONSTEXPR_14 PipelineSampleLocationsStateCreateInfoEXT & setSampleLocationsEnable(VULKAN_HPP_NAMESPACE::Bool32 sampleLocationsEnable_) VULKAN_HPP_NOEXCEPT
CopyBufferInfo2(VkCopyBufferInfo2 const &rhs) VULKAN_HPP_NOEXCEPT
DescriptorPoolSize & operator=(DescriptorPoolSize const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator==(PresentIdKHR const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDevice8BitStorageFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMeshShaderFeaturesEXT & setMeshShader(VULKAN_HPP_NAMESPACE::Bool32 meshShader_) VULKAN_HPP_NOEXCEPT
bool operator==(ExternalMemoryProperties const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CuFunctionCreateInfoNVX & setModule(VULKAN_HPP_NAMESPACE::CuModuleNVX module_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SubpassResolvePerformanceQueryEXT(VULKAN_HPP_NAMESPACE::Bool32 optimal_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceSeparateDepthStencilLayoutsFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
DedicatedAllocationMemoryAllocateInfoNV & operator=(VkDedicatedAllocationMemoryAllocateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
ClearAttachment & operator=(ClearAttachment const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator==(PresentRegionKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderingInfo & setPStencilAttachment(const VULKAN_HPP_NAMESPACE::RenderingAttachmentInfo *pStencilAttachment_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceFragmentShadingRateEnumsFeaturesNV & operator=(VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
struct VkDisplayNativeHdrSurfaceCapabilitiesAMD VkDisplayNativeHdrSurfaceCapabilitiesAMD
struct VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeatures
const VULKAN_HPP_NAMESPACE::CoarseSampleLocationNV * pSampleLocations
VULKAN_HPP_CONSTEXPR_14 VertexInputBindingDescription2EXT & setInputRate(VULKAN_HPP_NAMESPACE::VertexInputRate inputRate_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2
struct VkDisplayModeProperties2KHR VkDisplayModeProperties2KHR
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setSparseResidency4Samples(VULKAN_HPP_NAMESPACE::Bool32 sparseResidency4Samples_) VULKAN_HPP_NOEXCEPT
struct VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2
TransformMatrixKHR(VkTransformMatrixKHR const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(SemaphoreWaitInfo const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkAccelerationStructureGeometryAabbsDataKHR VkAccelerationStructureGeometryAabbsDataKHR
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMeshShaderFeaturesEXT & setMeshShaderQueries(VULKAN_HPP_NAMESPACE::Bool32 meshShaderQueries_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::AttachmentStoreOp storeOp
const VULKAN_HPP_NAMESPACE::DescriptorBindingFlags * pBindingFlags
bool operator==(MemoryType const &rhs) const VULKAN_HPP_NOEXCEPT
PipelineCompilerControlCreateInfoAMD(VkPipelineCompilerControlCreateInfoAMD const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderFloat16Int8Features(VkPhysicalDeviceShaderFloat16Int8Features const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubpassDescription2 & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(PipelineTessellationDomainOriginStateCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentShaderInterlockFeaturesEXT & setFragmentShaderShadingRateInterlock(VULKAN_HPP_NAMESPACE::Bool32 fragmentShaderShadingRateInterlock_) VULKAN_HPP_NOEXCEPT
ExternalMemoryProperties & operator=(VkExternalMemoryProperties const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 InstanceCreateInfo & setEnabledExtensionCount(uint32_t enabledExtensionCount_) VULKAN_HPP_NOEXCEPT
ConformanceVersion(VkConformanceVersion const &rhs) VULKAN_HPP_NOEXCEPT
TextureLODGatherFormatPropertiesAMD & operator=(VkTextureLODGatherFormatPropertiesAMD const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MicromapBuildInfoEXT & setScratchData(VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR const &scratchData_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineViewportShadingRateImageStateCreateInfoNV & setViewportCount(uint32_t viewportCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorIndexingFeatures & setDescriptorBindingUniformBufferUpdateAfterBind(VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUniformBufferUpdateAfterBind_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceNonSeamlessCubeMapFeaturesEXT & setNonSeamlessCubeMap(VULKAN_HPP_NAMESPACE::Bool32 nonSeamlessCubeMap_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 InstanceCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkDescriptorSetLayoutBinding VkDescriptorSetLayoutBinding
struct VkPerformanceQuerySubmitInfoKHR VkPerformanceQuerySubmitInfoKHR
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildGeometryInfoKHR & setGeometryCount(uint32_t geometryCount_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceImageCompressionControlFeaturesEXT(VkPhysicalDeviceImageCompressionControlFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
const VkDescriptorImageInfo * pCombinedImageSampler
struct VkClearDepthStencilValue VkClearDepthStencilValue
VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationLineStateCreateInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorUpdateTemplateEntry & setDstArrayElement(uint32_t dstArrayElement_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationConservativeStateCreateInfoEXT & setFlags(VULKAN_HPP_NAMESPACE::PipelineRasterizationConservativeStateCreateFlagsEXT flags_) VULKAN_HPP_NOEXCEPT
SubmitInfo & operator=(VkSubmitInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageViewCreateInfo & setComponents(VULKAN_HPP_NAMESPACE::ComponentMapping const &components_) VULKAN_HPP_NOEXCEPT
bool operator!=(OpticalFlowExecuteInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
SubmitInfo & setWaitDstStageMask(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::PipelineStageFlags > const &waitDstStageMask_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceSubgroupSizeControlProperties VkPhysicalDeviceSubgroupSizeControlProperties
struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
VULKAN_HPP_CONSTEXPR_14 ImageCopy & setSrcOffset(VULKAN_HPP_NAMESPACE::Offset3D const &srcOffset_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceSubgroupSizeControlFeatures VkPhysicalDeviceSubgroupSizeControlFeatures
DeviceGroupPresentInfoKHR(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &deviceMasks_, VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagBitsKHR mode_=VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagBitsKHR::eLocal, const void *pNext_=nullptr)
CopyMicromapToMemoryInfoEXT & operator=(VkCopyMicromapToMemoryInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
CopyBufferToImageInfo2(VkCopyBufferToImageInfo2 const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineMultisampleStateCreateInfo & setMinSampleShading(float minSampleShading_) VULKAN_HPP_NOEXCEPT
struct VkSparseImageFormatProperties VkSparseImageFormatProperties
bool operator!=(ImageCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildGeometryInfoKHR(VULKAN_HPP_NAMESPACE::AccelerationStructureTypeKHR type_=VULKAN_HPP_NAMESPACE::AccelerationStructureTypeKHR::eTopLevel, VULKAN_HPP_NAMESPACE::BuildAccelerationStructureFlagsKHR flags_={}, VULKAN_HPP_NAMESPACE::BuildAccelerationStructureModeKHR mode_=VULKAN_HPP_NAMESPACE::BuildAccelerationStructureModeKHR::eBuild, VULKAN_HPP_NAMESPACE::AccelerationStructureKHR srcAccelerationStructure_={}, VULKAN_HPP_NAMESPACE::AccelerationStructureKHR dstAccelerationStructure_={}, uint32_t geometryCount_={}, const VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryKHR *pGeometries_={}, const VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryKHR *const *ppGeometries_={}, VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR scratchData_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubpassDescription & setColorAttachmentCount(uint32_t colorAttachmentCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Bool32 srcPremultiplied
bool operator==(MemoryBarrier2 const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkVideoDecodeH265CapabilitiesEXT VkVideoDecodeH265CapabilitiesEXT
VULKAN_HPP_CONSTEXPR_14 PipelineExecutableStatisticValueKHR & setU64(uint64_t u64_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineDepthStencilStateCreateInfo & setDepthTestEnable(VULKAN_HPP_NAMESPACE::Bool32 depthTestEnable_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
VULKAN_HPP_NAMESPACE::StructureType sType
bool operator==(AcquireNextImageInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
RectLayerKHR(VkRectLayerKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorSetLayoutBinding & setDescriptorType(VULKAN_HPP_NAMESPACE::DescriptorType descriptorType_) VULKAN_HPP_NOEXCEPT
bool operator==(AccelerationStructureSRTMotionInstanceNV const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceFragmentShaderBarycentricFeaturesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(MemoryRequirements2 const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(SemaphoreSubmitInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Properties(VULKAN_HPP_NAMESPACE::DriverId driverID_=VULKAN_HPP_NAMESPACE::DriverId::eAmdProprietary, std::array< char, VK_MAX_DRIVER_NAME_SIZE > const &driverName_={}, std::array< char, VK_MAX_DRIVER_INFO_SIZE > const &driverInfo_={}, VULKAN_HPP_NAMESPACE::ConformanceVersion conformanceVersion_={}, VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence denormBehaviorIndependence_=VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence::e32BitOnly, VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence roundingModeIndependence_=VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence::e32BitOnly, VULKAN_HPP_NAMESPACE::Bool32 shaderSignedZeroInfNanPreserveFloat16_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderSignedZeroInfNanPreserveFloat32_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderSignedZeroInfNanPreserveFloat64_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat16_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat32_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat64_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat16_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat32_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat64_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat16_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat32_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat64_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat16_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat32_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat64_={}, uint32_t maxUpdateAfterBindDescriptorsInAllPools_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayNonUniformIndexingNative_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayNonUniformIndexingNative_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayNonUniformIndexingNative_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayNonUniformIndexingNative_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayNonUniformIndexingNative_={}, VULKAN_HPP_NAMESPACE::Bool32 robustBufferAccessUpdateAfterBind_={}, VULKAN_HPP_NAMESPACE::Bool32 quadDivergentImplicitLod_={}, uint32_t maxPerStageDescriptorUpdateAfterBindSamplers_={}, uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers_={}, uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers_={}, uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages_={}, uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages_={}, uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments_={}, uint32_t maxPerStageUpdateAfterBindResources_={}, uint32_t maxDescriptorSetUpdateAfterBindSamplers_={}, uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers_={}, uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic_={}, uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers_={}, uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic_={}, uint32_t maxDescriptorSetUpdateAfterBindSampledImages_={}, uint32_t maxDescriptorSetUpdateAfterBindStorageImages_={}, uint32_t maxDescriptorSetUpdateAfterBindInputAttachments_={}, VULKAN_HPP_NAMESPACE::ResolveModeFlags supportedDepthResolveModes_={}, VULKAN_HPP_NAMESPACE::ResolveModeFlags supportedStencilResolveModes_={}, VULKAN_HPP_NAMESPACE::Bool32 independentResolveNone_={}, VULKAN_HPP_NAMESPACE::Bool32 independentResolve_={}, VULKAN_HPP_NAMESPACE::Bool32 filterMinmaxSingleComponentFormats_={}, VULKAN_HPP_NAMESPACE::Bool32 filterMinmaxImageComponentMapping_={}, uint64_t maxTimelineSemaphoreValueDifference_={}, VULKAN_HPP_NAMESPACE::SampleCountFlags framebufferIntegerColorSampleCounts_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AttachmentDescription & setFinalLayout(VULKAN_HPP_NAMESPACE::ImageLayout finalLayout_) VULKAN_HPP_NOEXCEPT
MultiviewPerViewAttributesInfoNVX & operator=(VkMultiviewPerViewAttributesInfoNVX const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceMemory memory
bool operator==(PhysicalDeviceVertexAttributeDivisorFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Bool32 dstPremultiplied
PipelineExecutableStatisticKHR(VkPipelineExecutableStatisticKHR const &rhs) VULKAN_HPP_NOEXCEPT
ExternalSemaphoreProperties & operator=(VkExternalSemaphoreProperties const &rhs) VULKAN_HPP_NOEXCEPT
CoarseSampleLocationNV(VkCoarseSampleLocationNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 QueryPoolCreateInfo & setPipelineStatistics(VULKAN_HPP_NAMESPACE::QueryPipelineStatisticFlags pipelineStatistics_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderImageFootprintFeaturesNV & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
GeometryDataNV & operator=(GeometryDataNV const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceTilePropertiesFeaturesQCOM & setTileProperties(VULKAN_HPP_NAMESPACE::Bool32 tileProperties_) VULKAN_HPP_NOEXCEPT
bool operator!=(BaseOutStructure const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceFragmentDensityMap2FeaturesEXT(VkPhysicalDeviceFragmentDensityMap2FeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkImageViewUsageCreateInfo VkImageViewUsageCreateInfo
ShaderModuleValidationCacheCreateInfoEXT(VkShaderModuleValidationCacheCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT & setRasterizationOrderStencilAttachmentAccess(VULKAN_HPP_NAMESPACE::Bool32 rasterizationOrderStencilAttachmentAccess_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceExtendedDynamicState3PropertiesEXT VkPhysicalDeviceExtendedDynamicState3PropertiesEXT
bool operator==(DescriptorAddressInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
DeviceGroupDeviceCreateInfo & operator=(VkDeviceGroupDeviceCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassCreateInfo2 & setPDependencies(const VULKAN_HPP_NAMESPACE::SubpassDependency2 *pDependencies_) VULKAN_HPP_NOEXCEPT
AccelerationStructureInstanceKHR AccelerationStructureInstanceNV
AccelerationStructureGeometryTrianglesDataKHR & operator=(AccelerationStructureGeometryTrianglesDataKHR const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 AttachmentSampleLocationsEXT & setAttachmentIndex(uint32_t attachmentIndex_) VULKAN_HPP_NOEXCEPT
struct VkSemaphoreGetWin32HandleInfoKHR VkSemaphoreGetWin32HandleInfoKHR
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRayTracingPipelineFeaturesKHR & setRayTracingPipeline(VULKAN_HPP_NAMESPACE::Bool32 rayTracingPipeline_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 TilePropertiesQCOM & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MultiviewPerViewAttributesInfoNVX & setPerViewAttributes(VULKAN_HPP_NAMESPACE::Bool32 perViewAttributes_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM & operator=(VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 WriteDescriptorSet & setDstSet(VULKAN_HPP_NAMESPACE::DescriptorSet dstSet_) VULKAN_HPP_NOEXCEPT
MemoryHeap & operator=(VkMemoryHeap const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState3FeaturesEXT & setExtendedDynamicState3ViewportWScalingEnable(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ViewportWScalingEnable_) VULKAN_HPP_NOEXCEPT
MicromapBuildInfoEXT(VULKAN_HPP_NAMESPACE::MicromapTypeEXT type_, VULKAN_HPP_NAMESPACE::BuildMicromapFlagsEXT flags_, VULKAN_HPP_NAMESPACE::BuildMicromapModeEXT mode_, VULKAN_HPP_NAMESPACE::MicromapEXT dstMicromap_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::MicromapUsageEXT > const &usageCounts_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::MicromapUsageEXT *const > const &pUsageCounts_={}, VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR data_={}, VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR scratchData_={}, VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR triangleArray_={}, VULKAN_HPP_NAMESPACE::DeviceSize triangleArrayStride_={}, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 BindImageMemorySwapchainInfoKHR & setImageIndex(uint32_t imageIndex_) VULKAN_HPP_NOEXCEPT
ImportMemoryFdInfoKHR & operator=(VkImportMemoryFdInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
SparseImageMemoryBind(VkSparseImageMemoryBind const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ImageMemoryBarrier2(VULKAN_HPP_NAMESPACE::PipelineStageFlags2 srcStageMask_={}, VULKAN_HPP_NAMESPACE::AccessFlags2 srcAccessMask_={}, VULKAN_HPP_NAMESPACE::PipelineStageFlags2 dstStageMask_={}, VULKAN_HPP_NAMESPACE::AccessFlags2 dstAccessMask_={}, VULKAN_HPP_NAMESPACE::ImageLayout oldLayout_=VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined, VULKAN_HPP_NAMESPACE::ImageLayout newLayout_=VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined, uint32_t srcQueueFamilyIndex_={}, uint32_t dstQueueFamilyIndex_={}, VULKAN_HPP_NAMESPACE::Image image_={}, VULKAN_HPP_NAMESPACE::ImageSubresourceRange subresourceRange_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(CommandBufferInheritanceConditionalRenderingInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
PerformanceQuerySubmitInfoKHR & operator=(VkPerformanceQuerySubmitInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
struct VkVideoDecodeH265SessionParametersCreateInfoEXT VkVideoDecodeH265SessionParametersCreateInfoEXT
bool operator==(PhysicalDeviceFragmentShadingRateKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ShaderModuleCreateInfo & setCodeSize(size_t codeSize_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceDeviceGeneratedCommandsFeaturesNV(VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR MicromapTriangleEXT(uint32_t dataOffset_={}, uint16_t subdivisionLevel_={}, uint16_t format_={}) VULKAN_HPP_NOEXCEPT
struct VkSampleLocationsInfoEXT VkSampleLocationsInfoEXT
VULKAN_HPP_CONSTEXPR_14 FramebufferCreateInfo & setLayers(uint32_t layers_) VULKAN_HPP_NOEXCEPT
bool operator==(SparseImageFormatProperties const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkShaderModuleCreateInfo VkShaderModuleCreateInfo
ImportMemoryFdInfoKHR(VkImportMemoryFdInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setShaderSubgroupExtendedTypes(VULKAN_HPP_NAMESPACE::Bool32 shaderSubgroupExtendedTypes_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorIndexingFeatures & setShaderUniformTexelBufferArrayNonUniformIndexing(VULKAN_HPP_NAMESPACE::Bool32 shaderUniformTexelBufferArrayNonUniformIndexing_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RayTracingShaderGroupCreateInfoKHR & setPShaderGroupCaptureReplayHandle(const void *pShaderGroupCaptureReplayHandle_) VULKAN_HPP_NOEXCEPT
AccelerationStructureInfoNV & operator=(VkAccelerationStructureInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassFragmentDensityMapCreateInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceGroupProperties(VkPhysicalDeviceGroupProperties const &rhs) VULKAN_HPP_NOEXCEPT
PipelineRenderingCreateInfo & setColorAttachmentFormats(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Format > const &colorAttachmentFormats_) VULKAN_HPP_NOEXCEPT
bool operator!=(RenderPassMultiviewCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPipelineSampleLocationsStateCreateInfoEXT VkPipelineSampleLocationsStateCreateInfoEXT
VULKAN_HPP_CONSTEXPR_14 StencilOpState & setPassOp(VULKAN_HPP_NAMESPACE::StencilOp passOp_) VULKAN_HPP_NOEXCEPT
struct VkCheckpointDataNV VkCheckpointDataNV
struct VkSubpassBeginInfo VkSubpassBeginInfo
BufferCopy & operator=(BufferCopy const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator==(PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 QueryPoolPerformanceCreateInfoKHR & setQueueFamilyIndex(uint32_t queueFamilyIndex_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyBufferToImageInfo2 & setPRegions(const VULKAN_HPP_NAMESPACE::BufferImageCopy2 *pRegions_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 OpaqueCaptureDescriptorDataCreateInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
PipelineCacheHeaderVersionOne & operator=(VkPipelineCacheHeaderVersionOne const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(DisplayEventInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
const VULKAN_HPP_NAMESPACE::DescriptorPoolSize * pPoolSizes
struct VkPipelineViewportShadingRateImageStateCreateInfoNV VkPipelineViewportShadingRateImageStateCreateInfoNV
ImageViewSampleWeightCreateInfoQCOM & operator=(VkImageViewSampleWeightCreateInfoQCOM const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentShadingRateEnumsFeaturesNV & setSupersampleFragmentShadingRates(VULKAN_HPP_NAMESPACE::Bool32 supersampleFragmentShadingRates_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureCreateInfoKHR & setSize(VULKAN_HPP_NAMESPACE::DeviceSize size_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassCreationControlEXT & setDisallowMerging(VULKAN_HPP_NAMESPACE::Bool32 disallowMerging_) VULKAN_HPP_NOEXCEPT
PipelineFragmentShadingRateStateCreateInfoKHR & operator=(VkPipelineFragmentShadingRateStateCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceVulkan12Features const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState2FeaturesEXT & setExtendedDynamicState2PatchControlPoints(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState2PatchControlPoints_) VULKAN_HPP_NOEXCEPT
DeviceFaultVendorBinaryHeaderVersionOneEXT & operator=(VkDeviceFaultVendorBinaryHeaderVersionOneEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubpassDependency & setSrcAccessMask(VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier & setBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 MicromapBuildInfoEXT & setPUsageCounts(const VULKAN_HPP_NAMESPACE::MicromapUsageEXT *pUsageCounts_) VULKAN_HPP_NOEXCEPT
bool operator!=(ImportSemaphoreFdInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineCompilerControlCreateInfoAMD & setCompilerControlFlags(VULKAN_HPP_NAMESPACE::PipelineCompilerControlFlagsAMD compilerControlFlags_) VULKAN_HPP_NOEXCEPT
bool operator==(RayTracingShaderGroupCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(DisplayModeProperties2KHR const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceShaderTerminateInvocationFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
AccelerationStructureGeometryTrianglesDataKHR(VkAccelerationStructureGeometryTrianglesDataKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ExportMemoryAllocateInfoNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
AccelerationStructureCreateInfoKHR & operator=(VkAccelerationStructureCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceSubpassShadingFeaturesHUAWEI(VkPhysicalDeviceSubpassShadingFeaturesHUAWEI const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SwapchainCreateInfoKHR & setImageUsage(VULKAN_HPP_NAMESPACE::ImageUsageFlags imageUsage_) VULKAN_HPP_NOEXCEPT
struct VkOpaqueCaptureDescriptorDataCreateInfoEXT VkOpaqueCaptureDescriptorDataCreateInfoEXT
bool operator==(CuLaunchInfoNVX const &rhs) const VULKAN_HPP_NOEXCEPT
SamplerReductionModeCreateInfo & operator=(VkSamplerReductionModeCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceRayTracingInvocationReorderFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceImageViewMinLodFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDevice8BitStorageFeatures & setStorageBuffer8BitAccess(VULKAN_HPP_NAMESPACE::Bool32 storageBuffer8BitAccess_) VULKAN_HPP_NOEXCEPT
DeviceQueueCreateInfo & setQueuePriorities(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const float > const &queuePriorities_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineDynamicStateCreateInfo & setPDynamicStates(const VULKAN_HPP_NAMESPACE::DynamicState *pDynamicStates_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderingAttachmentInfo(VULKAN_HPP_NAMESPACE::ImageView imageView_={}, VULKAN_HPP_NAMESPACE::ImageLayout imageLayout_=VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined, VULKAN_HPP_NAMESPACE::ResolveModeFlagBits resolveMode_=VULKAN_HPP_NAMESPACE::ResolveModeFlagBits::eNone, VULKAN_HPP_NAMESPACE::ImageView resolveImageView_={}, VULKAN_HPP_NAMESPACE::ImageLayout resolveImageLayout_=VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined, VULKAN_HPP_NAMESPACE::AttachmentLoadOp loadOp_=VULKAN_HPP_NAMESPACE::AttachmentLoadOp::eLoad, VULKAN_HPP_NAMESPACE::AttachmentStoreOp storeOp_=VULKAN_HPP_NAMESPACE::AttachmentStoreOp::eStore, VULKAN_HPP_NAMESPACE::ClearValue clearValue_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceExtendedDynamicState3FeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferImageCopy & setImageSubresource(VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const &imageSubresource_) VULKAN_HPP_NOEXCEPT
struct VkValidationFlagsEXT VkValidationFlagsEXT
struct VkImageMemoryBarrier VkImageMemoryBarrier
VULKAN_HPP_CONSTEXPR_14 HdrMetadataEXT & setDisplayPrimaryRed(VULKAN_HPP_NAMESPACE::XYColorEXT const &displayPrimaryRed_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SubpassDescription2(VULKAN_HPP_NAMESPACE::SubpassDescriptionFlags flags_={}, VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_=VULKAN_HPP_NAMESPACE::PipelineBindPoint::eGraphics, uint32_t viewMask_={}, uint32_t inputAttachmentCount_={}, const VULKAN_HPP_NAMESPACE::AttachmentReference2 *pInputAttachments_={}, uint32_t colorAttachmentCount_={}, const VULKAN_HPP_NAMESPACE::AttachmentReference2 *pColorAttachments_={}, const VULKAN_HPP_NAMESPACE::AttachmentReference2 *pResolveAttachments_={}, const VULKAN_HPP_NAMESPACE::AttachmentReference2 *pDepthStencilAttachment_={}, uint32_t preserveAttachmentCount_={}, const uint32_t *pPreserveAttachments_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SparseImageMemoryBind & setSubresource(VULKAN_HPP_NAMESPACE::ImageSubresource const &subresource_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageFormatInfo2 & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkVideoEncodeH264ProfileInfoEXT VkVideoEncodeH264ProfileInfoEXT
bool operator==(CommandBufferInheritanceConditionalRenderingInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubmitInfo & setWaitSemaphoreCount(uint32_t waitSemaphoreCount_) VULKAN_HPP_NOEXCEPT
DebugMarkerObjectTagInfoEXT(VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType_, uint64_t object_, uint64_t tagName_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const T > const &tag_, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR PhysicalDevicePrivateDataFeatures(VULKAN_HPP_NAMESPACE::Bool32 privateData_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(DescriptorSetAllocateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderCoreBuiltinsPropertiesARM(uint64_t shaderCoreMask_={}, uint32_t shaderCoreCount_={}, uint32_t shaderWarpsPerCore_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkVertexInputBindingDescription2EXT VkVertexInputBindingDescription2EXT
SemaphoreWaitInfo & setSemaphores(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Semaphore > const &semaphores_) VULKAN_HPP_NOEXCEPT
PhysicalDevicePrivateDataFeatures(VkPhysicalDevicePrivateDataFeatures const &rhs) VULKAN_HPP_NOEXCEPT
CuLaunchInfoNVX(VULKAN_HPP_NAMESPACE::CuFunctionNVX function_, uint32_t gridDimX_, uint32_t gridDimY_, uint32_t gridDimZ_, uint32_t blockDimX_, uint32_t blockDimY_, uint32_t blockDimZ_, uint32_t sharedMemBytes_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const void *const > const &params_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const void *const > const &extras_={}, const void *pNext_=nullptr)
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 DescriptorSetVariableDescriptorCountAllocateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentDensityMap2PropertiesEXT(VULKAN_HPP_NAMESPACE::Bool32 subsampledLoads_={}, VULKAN_HPP_NAMESPACE::Bool32 subsampledCoarseReconstructionEarlyAccess_={}, uint32_t maxSubsampledArrayLayers_={}, uint32_t maxDescriptorSetSubsampledSamplers_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(RayTracingPipelineCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
ComputePipelineCreateInfo & operator=(VkComputePipelineCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(GeometryTrianglesNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureCaptureDescriptorDataInfoEXT & setAccelerationStructure(VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure_) VULKAN_HPP_NOEXCEPT
DisplayPlanePropertiesKHR(VkDisplayPlanePropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceSubgroupSizeControlProperties(VkPhysicalDeviceSubgroupSizeControlProperties const &rhs) VULKAN_HPP_NOEXCEPT
CommandBufferInheritanceRenderPassTransformInfoQCOM(VkCommandBufferInheritanceRenderPassTransformInfoQCOM const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceHostQueryResetFeatures & setHostQueryReset(VULKAN_HPP_NAMESPACE::Bool32 hostQueryReset_) VULKAN_HPP_NOEXCEPT
MemoryRequirements(VkMemoryRequirements const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(SwapchainDisplayNativeHdrCreateInfoAMD const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceProvokingVertexPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceDepthClipControlFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(InputAttachmentAspectReference const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceRayTracingPipelinePropertiesKHR(uint32_t shaderGroupHandleSize_={}, uint32_t maxRayRecursionDepth_={}, uint32_t maxShaderGroupStride_={}, uint32_t shaderGroupBaseAlignment_={}, uint32_t shaderGroupHandleCaptureReplaySize_={}, uint32_t maxRayDispatchInvocationCount_={}, uint32_t shaderGroupHandleAlignment_={}, uint32_t maxRayHitAttributeSize_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ClearValue & setDepthStencil(VULKAN_HPP_NAMESPACE::ClearDepthStencilValue const &depthStencil_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDevicePresentWaitFeaturesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
DecompressMemoryRegionNV & operator=(VkDecompressMemoryRegionNV const &rhs) VULKAN_HPP_NOEXCEPT
GLsizeiptr size
Definition: glcorearb.h:664
VULKAN_HPP_CONSTEXPR_14 SwapchainCreateInfoKHR & setPresentMode(VULKAN_HPP_NAMESPACE::PresentModeKHR presentMode_) VULKAN_HPP_NOEXCEPT
SurfaceProtectedCapabilitiesKHR(VkSurfaceProtectedCapabilitiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SwapchainCreateInfoKHR & setCompositeAlpha(VULKAN_HPP_NAMESPACE::CompositeAlphaFlagBitsKHR compositeAlpha_) VULKAN_HPP_NOEXCEPT
struct VkMultisamplePropertiesEXT VkMultisamplePropertiesEXT
VULKAN_HPP_CONSTEXPR_14 AttachmentDescription & setLoadOp(VULKAN_HPP_NAMESPACE::AttachmentLoadOp loadOp_) VULKAN_HPP_NOEXCEPT
RenderPassCreateInfo2 & setDependencies(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SubpassDependency2 > const &dependencies_) VULKAN_HPP_NOEXCEPT
PipelineShaderStageRequiredSubgroupSizeCreateInfo(VkPipelineShaderStageRequiredSubgroupSizeCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineRasterizationConservativeStateCreateInfoEXT(VULKAN_HPP_NAMESPACE::PipelineRasterizationConservativeStateCreateFlagsEXT flags_={}, VULKAN_HPP_NAMESPACE::ConservativeRasterizationModeEXT conservativeRasterizationMode_=VULKAN_HPP_NAMESPACE::ConservativeRasterizationModeEXT::eDisabled, float extraPrimitiveOverestimationSize_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
DrmFormatModifierPropertiesList2EXT & operator=(VkDrmFormatModifierPropertiesList2EXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesOpacityMicromapEXT & setBaseTriangle(uint32_t baseTriangle_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubpassDescriptionDepthStencilResolve & setPDepthStencilResolveAttachment(const VULKAN_HPP_NAMESPACE::AttachmentReference2 *pDepthStencilResolveAttachment_) VULKAN_HPP_NOEXCEPT
bool operator!=(ValidationFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(RenderPassTransformBeginInfoQCOM const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceDescriptorBufferPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceMeshShaderFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
ImageCaptureDescriptorDataInfoEXT(VkImageCaptureDescriptorDataInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(BufferDeviceAddressInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DescriptorType descriptorType
VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier2 & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(AccelerationStructureMotionInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPipelineViewportSwizzleStateCreateInfoNV VkPipelineViewportSwizzleStateCreateInfoNV
PhysicalDeviceMemoryDecompressionPropertiesNV & operator=(VkPhysicalDeviceMemoryDecompressionPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(AccelerationStructureVersionInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::AccessFlags2 srcAccessMask
ImageStencilUsageCreateInfo(VkImageStencilUsageCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubmitInfo2 & setWaitSemaphoreInfoCount(uint32_t waitSemaphoreInfoCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR InstanceCreateInfo(VULKAN_HPP_NAMESPACE::InstanceCreateFlags flags_={}, const VULKAN_HPP_NAMESPACE::ApplicationInfo *pApplicationInfo_={}, uint32_t enabledLayerCount_={}, const char *const *ppEnabledLayerNames_={}, uint32_t enabledExtensionCount_={}, const char *const *ppEnabledExtensionNames_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DependencyInfo & setPMemoryBarriers(const VULKAN_HPP_NAMESPACE::MemoryBarrier2 *pMemoryBarriers_) VULKAN_HPP_NOEXCEPT
bool operator==(BufferOpaqueCaptureAddressCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkVertexInputBindingDescription VkVertexInputBindingDescription
VULKAN_HPP_CONSTEXPR_14 BindBufferMemoryDeviceGroupInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR FramebufferAttachmentsCreateInfo(uint32_t attachmentImageInfoCount_={}, const VULKAN_HPP_NAMESPACE::FramebufferAttachmentImageInfo *pAttachmentImageInfos_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DrawIndexedIndirectCommand(uint32_t indexCount_={}, uint32_t instanceCount_={}, uint32_t firstIndex_={}, int32_t vertexOffset_={}, uint32_t firstInstance_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Bool32 sparseResidency4Samples
SamplerCaptureDescriptorDataInfoEXT(VkSamplerCaptureDescriptorDataInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceASTCDecodeFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
GLenum GLenum dst
Definition: glcorearb.h:1793
WriteDescriptorSetInlineUniformBlock & setData(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const T > const &data_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DecompressMemoryRegionNV & setCompressedSize(VULKAN_HPP_NAMESPACE::DeviceSize compressedSize_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryDataKHR & setInstances(VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryInstancesDataKHR const &instances_) VULKAN_HPP_NOEXCEPT
bool operator!=(TimelineSemaphoreSubmitInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationStateCreateInfo & setDepthBiasEnable(VULKAN_HPP_NAMESPACE::Bool32 depthBiasEnable_) VULKAN_HPP_NOEXCEPT
DeviceGroupSwapchainCreateInfoKHR(VkDeviceGroupSwapchainCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PipelineExecutableInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceSeparateDepthStencilLayoutsFeatures & operator=(VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceVulkanMemoryModelFeatures(VkPhysicalDeviceVulkanMemoryModelFeatures const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 FragmentShadingRateAttachmentInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceSparseProperties VkPhysicalDeviceSparseProperties
bool operator==(AccelerationStructureMemoryRequirementsInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(ProtectedSubmitInfo const &rhs) const VULKAN_HPP_NOEXCEPT
BindImageMemoryDeviceGroupInfo(VkBindImageMemoryDeviceGroupInfo const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPresentRegionsKHR VkPresentRegionsKHR
struct VkVideoReferenceSlotInfoKHR VkVideoReferenceSlotInfoKHR
DeviceAddressBindingCallbackDataEXT & operator=(VkDeviceAddressBindingCallbackDataEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DescriptorSetLayoutBindingFlagsCreateInfo(uint32_t bindingCount_={}, const VULKAN_HPP_NAMESPACE::DescriptorBindingFlags *pBindingFlags_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkVideoPictureResourceInfoKHR VkVideoPictureResourceInfoKHR
struct VkPhysicalDeviceLineRasterizationPropertiesEXT VkPhysicalDeviceLineRasterizationPropertiesEXT
VULKAN_HPP_CONSTEXPR PhysicalDeviceMeshShaderFeaturesNV(VULKAN_HPP_NAMESPACE::Bool32 taskShader_={}, VULKAN_HPP_NAMESPACE::Bool32 meshShader_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyMicromapToMemoryInfoEXT & setMode(VULKAN_HPP_NAMESPACE::CopyMicromapModeEXT mode_) VULKAN_HPP_NOEXCEPT
DrawIndexedIndirectCommand & operator=(VkDrawIndexedIndirectCommand const &rhs) VULKAN_HPP_NOEXCEPT
struct VkExternalBufferProperties VkExternalBufferProperties
bool operator==(PhysicalDeviceMemoryBudgetPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR AccelerationStructureCreateInfoNV(VULKAN_HPP_NAMESPACE::DeviceSize compactedSize_={}, VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV info_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(DisplayModeCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(VertexInputBindingDivisorDescriptionEXT const &rhs) const VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
bool operator==(PhysicalDeviceShaderIntegerDotProductFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
QueueFamilyGlobalPriorityPropertiesKHR(VkQueueFamilyGlobalPriorityPropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationProvokingVertexStateCreateInfoEXT & setProvokingVertexMode(VULKAN_HPP_NAMESPACE::ProvokingVertexModeEXT provokingVertexMode_) VULKAN_HPP_NOEXCEPT
DebugUtilsMessengerCallbackDataEXT & setObjects(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT > const &objects_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExternalMemoryRDMAFeaturesNV & setExternalMemoryRDMA(VULKAN_HPP_NAMESPACE::Bool32 externalMemoryRDMA_) VULKAN_HPP_NOEXCEPT
bool operator!=(AccelerationStructureMemoryRequirementsInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DisplayEventInfoEXT & setDisplayEvent(VULKAN_HPP_NAMESPACE::DisplayEventTypeEXT displayEvent_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineLayoutCreateInfo & setFlags(VULKAN_HPP_NAMESPACE::PipelineLayoutCreateFlags flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GraphicsPipelineShaderGroupsCreateInfoNV & setPPipelines(const VULKAN_HPP_NAMESPACE::Pipeline *pPipelines_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR PhysicalDeviceOpticalFlowPropertiesNV(VULKAN_HPP_NAMESPACE::OpticalFlowGridSizeFlagsNV supportedOutputGridSizes_={}, VULKAN_HPP_NAMESPACE::OpticalFlowGridSizeFlagsNV supportedHintGridSizes_={}, VULKAN_HPP_NAMESPACE::Bool32 hintSupported_={}, VULKAN_HPP_NAMESPACE::Bool32 costSupported_={}, VULKAN_HPP_NAMESPACE::Bool32 bidirectionalFlowSupported_={}, VULKAN_HPP_NAMESPACE::Bool32 globalFlowSupported_={}, uint32_t minWidth_={}, uint32_t minHeight_={}, uint32_t maxWidth_={}, uint32_t maxHeight_={}, uint32_t maxNumRegionsOfInterest_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceGroupPresentInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyImageInfo2 & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SurfaceProtectedCapabilitiesKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SubpassDependency2(uint32_t srcSubpass_={}, uint32_t dstSubpass_={}, VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask_={}, VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask_={}, VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask_={}, VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_={}, VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags_={}, int32_t viewOffset_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceMultiDrawPropertiesEXT(uint32_t maxMultiDrawCount_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceTexelBufferAlignmentProperties(VULKAN_HPP_NAMESPACE::DeviceSize storageTexelBufferOffsetAlignmentBytes_={}, VULKAN_HPP_NAMESPACE::Bool32 storageTexelBufferOffsetSingleTexelAlignment_={}, VULKAN_HPP_NAMESPACE::DeviceSize uniformTexelBufferOffsetAlignmentBytes_={}, VULKAN_HPP_NAMESPACE::Bool32 uniformTexelBufferOffsetSingleTexelAlignment_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineColorBlendAttachmentState & setColorWriteMask(VULKAN_HPP_NAMESPACE::ColorComponentFlags colorWriteMask_) VULKAN_HPP_NOEXCEPT
DisplayEventInfoEXT(VkDisplayEventInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
BufferCreateInfo & setQueueFamilyIndices(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &queueFamilyIndices_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageSubresource & setMipLevel(uint32_t mipLevel_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceMaintenance4Features(VkPhysicalDeviceMaintenance4Features const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructureNV
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setDescriptorBindingStorageTexelBufferUpdateAfterBind(VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageTexelBufferUpdateAfterBind_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR GraphicsPipelineLibraryCreateInfoEXT(VULKAN_HPP_NAMESPACE::GraphicsPipelineLibraryFlagsEXT flags_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SwapchainCreateInfoKHR & setOldSwapchain(VULKAN_HPP_NAMESPACE::SwapchainKHR oldSwapchain_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SpecializationInfo & setPData(const void *pData_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AabbPositionsKHR & setMinY(float minY_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SamplerCreateInfo & setMagFilter(VULKAN_HPP_NAMESPACE::Filter magFilter_) VULKAN_HPP_NOEXCEPT
PhysicalDevice4444FormatsFeaturesEXT & operator=(VkPhysicalDevice4444FormatsFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPresentFrameTokenGGP VkPresentFrameTokenGGP
PhysicalDeviceMaintenance4Properties(VkPhysicalDeviceMaintenance4Properties const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR TimelineSemaphoreSubmitInfo(uint32_t waitSemaphoreValueCount_={}, const uint64_t *pWaitSemaphoreValues_={}, uint32_t signalSemaphoreValueCount_={}, const uint64_t *pSignalSemaphoreValues_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PipelineExecutableInternalRepresentationKHR(std::array< char, VK_MAX_DESCRIPTION_SIZE > const &name_, std::array< char, VK_MAX_DESCRIPTION_SIZE > const &description_, VULKAN_HPP_NAMESPACE::Bool32 isText_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< T > const &data_, void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 AttachmentDescription & setFlags(VULKAN_HPP_NAMESPACE::AttachmentDescriptionFlags flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 OpticalFlowSessionCreatePrivateDataInfoNV & setSize(uint32_t size_) VULKAN_HPP_NOEXCEPT
ExternalBufferProperties(VkExternalBufferProperties const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(GeometryNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR AccelerationStructureCaptureDescriptorDataInfoEXT(VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure_={}, VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructureNV_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 IndirectCommandsLayoutCreateInfoNV & setStreamCount(uint32_t streamCount_) VULKAN_HPP_NOEXCEPT
bool operator==(DeviceGroupSwapchainCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDevicePCIBusInfoPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
PhysicalDeviceASTCDecodeFeaturesEXT & operator=(VkPhysicalDeviceASTCDecodeFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PipelineColorBlendAttachmentState const &rhs) const VULKAN_HPP_NOEXCEPT
GLsizeiptr const void GLenum usage
Definition: glcorearb.h:664
VULKAN_HPP_CONSTEXPR_14 BindVertexBufferIndirectCommandNV & setStride(uint32_t stride_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR CommandBufferBeginInfo(VULKAN_HPP_NAMESPACE::CommandBufferUsageFlags flags_={}, const VULKAN_HPP_NAMESPACE::CommandBufferInheritanceInfo *pInheritanceInfo_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceCornerSampledImageFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(RenderPassFragmentDensityMapCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImportMemoryHostPointerInfoEXT & setHandleType(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setRuntimeDescriptorArray(VULKAN_HPP_NAMESPACE::Bool32 runtimeDescriptorArray_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageSparseMemoryRequirementsInfo2 & setImage(VULKAN_HPP_NAMESPACE::Image image_) VULKAN_HPP_NOEXCEPT
VkBool32(VKAPI_PTR * PFN_vkDebugUtilsMessengerCallbackEXT)(VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT *pCallbackData, void *pUserData)
bool operator==(ImageCaptureDescriptorDataInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineTessellationStateCreateInfo & setPatchControlPoints(uint32_t patchControlPoints_) VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineFragmentShadingRateEnumStateCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(RenderPassInputAttachmentAspectCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceRGBA10X6FormatsFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
DrmFormatModifierPropertiesListEXT(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< VULKAN_HPP_NAMESPACE::DrmFormatModifierPropertiesEXT > const &drmFormatModifierProperties_, void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceViewportScissorInfoNV & setViewportDepthCount(uint32_t viewportDepthCount_) VULKAN_HPP_NOEXCEPT
MemoryAllocateInfo(VkMemoryAllocateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout
RenderPassCreateInfo & setAttachments(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::AttachmentDescription > const &attachments_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceTextureCompressionASTCHDRFeatures & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceInvocationMaskFeaturesHUAWEI & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkRenderPassSubpassFeedbackCreateInfoEXT VkRenderPassSubpassFeedbackCreateInfoEXT
struct VkPhysicalDeviceLineRasterizationFeaturesEXT VkPhysicalDeviceLineRasterizationFeaturesEXT
VULKAN_HPP_CONSTEXPR_14 AcquireProfilingLockInfoKHR & setFlags(VULKAN_HPP_NAMESPACE::AcquireProfilingLockFlagsKHR flags_) VULKAN_HPP_NOEXCEPT
MutableDescriptorTypeCreateInfoEXT & setMutableDescriptorTypeLists(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::MutableDescriptorTypeListEXT > const &mutableDescriptorTypeLists_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GraphicsPipelineCreateInfo & setPMultisampleState(const VULKAN_HPP_NAMESPACE::PipelineMultisampleStateCreateInfo *pMultisampleState_) VULKAN_HPP_NOEXCEPT
AccelerationStructureMemoryRequirementsInfoNV & operator=(AccelerationStructureMemoryRequirementsInfoNV const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR DescriptorSetVariableDescriptorCountLayoutSupport(uint32_t maxVariableDescriptorCount_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DisplaySurfaceCreateInfoKHR & setAlphaMode(VULKAN_HPP_NAMESPACE::DisplayPlaneAlphaFlagBitsKHR alphaMode_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceTimelineSemaphoreFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDepthClipEnableFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineVertexInputStateCreateInfo & setVertexAttributeDescriptionCount(uint32_t vertexAttributeDescriptionCount_) VULKAN_HPP_NOEXCEPT
ImageCreateInfo & setQueueFamilyIndices(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &queueFamilyIndices_) VULKAN_HPP_NOEXCEPT
bool operator!=(AccelerationStructureBuildSizesInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(ValidationCacheCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceFragmentShaderBarycentricFeaturesKHR(VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DrawIndirectCommand & setFirstVertex(uint32_t firstVertex_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineLayoutCreateInfo & setPPushConstantRanges(const VULKAN_HPP_NAMESPACE::PushConstantRange *pPushConstantRanges_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AttachmentDescriptionStencilLayout & setStencilFinalLayout(VULKAN_HPP_NAMESPACE::ImageLayout stencilFinalLayout_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceQueueCreateInfo & setPQueuePriorities(const float *pQueuePriorities_) VULKAN_HPP_NOEXCEPT
bool operator==(CheckpointDataNV const &rhs) const VULKAN_HPP_NOEXCEPT
Definition: vulkan_core.h:5389
BindVertexBufferIndirectCommandNV & operator=(BindVertexBufferIndirectCommandNV const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 RayTracingPipelineCreateInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineDepthStencilStateCreateInfo & setFront(VULKAN_HPP_NAMESPACE::StencilOpState const &front_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceMeshShaderPropertiesEXT & operator=(VkPhysicalDeviceMeshShaderPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR AccelerationStructureInfoNV(VULKAN_HPP_NAMESPACE::AccelerationStructureTypeNV type_={}, VULKAN_HPP_NAMESPACE::BuildAccelerationStructureFlagsNV flags_={}, uint32_t instanceCount_={}, uint32_t geometryCount_={}, const VULKAN_HPP_NAMESPACE::GeometryNV *pGeometries_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PushConstantRange & operator=(VkPushConstantRange const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PerformanceValueDataINTEL & setValueString(const char *valueString_) VULKAN_HPP_NOEXCEPT
PresentTimesInfoGOOGLE & operator=(VkPresentTimesInfoGOOGLE const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceFragmentShadingRateEnumsPropertiesNV const &rhs) const VULKAN_HPP_NOEXCEPT
CopyAccelerationStructureToMemoryInfoKHR(VkCopyAccelerationStructureToMemoryInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR BufferViewCreateInfo(VULKAN_HPP_NAMESPACE::BufferViewCreateFlags flags_={}, VULKAN_HPP_NAMESPACE::Buffer buffer_={}, VULKAN_HPP_NAMESPACE::Format format_=VULKAN_HPP_NAMESPACE::Format::eUndefined, VULKAN_HPP_NAMESPACE::DeviceSize offset_={}, VULKAN_HPP_NAMESPACE::DeviceSize range_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BindSparseInfo & setPSignalSemaphores(const VULKAN_HPP_NAMESPACE::Semaphore *pSignalSemaphores_) VULKAN_HPP_NOEXCEPT
BaseInStructure & operator=(BaseInStructure const &rhs) VULKAN_HPP_NOEXCEPT=default
struct VkVideoEncodeH265NaluSliceSegmentInfoEXT VkVideoEncodeH265NaluSliceSegmentInfoEXT
VULKAN_HPP_CONSTEXPR_14 DescriptorPoolSize & setType(VULKAN_HPP_NAMESPACE::DescriptorType type_) VULKAN_HPP_NOEXCEPT
struct VkPipelineRasterizationConservativeStateCreateInfoEXT VkPipelineRasterizationConservativeStateCreateInfoEXT
VULKAN_HPP_CONSTEXPR_14 DeviceFaultAddressInfoEXT & setAddressPrecision(VULKAN_HPP_NAMESPACE::DeviceSize addressPrecision_) VULKAN_HPP_NOEXCEPT
VkAccelerationStructureGeometryTrianglesDataKHR triangles
bool operator!=(GeometryAABBNV const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceExternalBufferInfo(VkPhysicalDeviceExternalBufferInfo const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(SubresourceLayout2EXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BindImageMemoryDeviceGroupInfo & setDeviceIndexCount(uint32_t deviceIndexCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorPoolInlineUniformBlockCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GraphicsPipelineShaderGroupsCreateInfoNV & setGroupCount(uint32_t groupCount_) VULKAN_HPP_NOEXCEPT
WriteDescriptorSetInlineUniformBlock(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const T > const &data_, const void *pNext_=nullptr)
AccelerationStructureDeviceAddressInfoKHR & operator=(VkAccelerationStructureDeviceAddressInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceToolProperties const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkApplicationInfo VkApplicationInfo
VULKAN_HPP_CONSTEXPR_14 PushConstantRange & setSize(uint32_t size_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 FramebufferAttachmentImageInfo & setHeight(uint32_t height_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSynchronization2Features & setSynchronization2(VULKAN_HPP_NAMESPACE::Bool32 synchronization2_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildGeometryInfoKHR & setType(VULKAN_HPP_NAMESPACE::AccelerationStructureTypeKHR type_) VULKAN_HPP_NOEXCEPT
AmigoProfilingSubmitInfoSEC & operator=(VkAmigoProfilingSubmitInfoSEC const &rhs) VULKAN_HPP_NOEXCEPT
SetStateFlagsIndirectCommandNV & operator=(VkSetStateFlagsIndirectCommandNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DisplayModePropertiesKHR(VULKAN_HPP_NAMESPACE::DisplayModeKHR displayMode_={}, VULKAN_HPP_NAMESPACE::DisplayModeParametersKHR parameters_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 TraceRaysIndirectCommandKHR & setHeight(uint32_t height_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ColorBlendAdvancedEXT(VULKAN_HPP_NAMESPACE::BlendOp advancedBlendOp_=VULKAN_HPP_NAMESPACE::BlendOp::eAdd, VULKAN_HPP_NAMESPACE::Bool32 srcPremultiplied_={}, VULKAN_HPP_NAMESPACE::Bool32 dstPremultiplied_={}, VULKAN_HPP_NAMESPACE::BlendOverlapEXT blendOverlap_=VULKAN_HPP_NAMESPACE::BlendOverlapEXT::eUncorrelated, VULKAN_HPP_NAMESPACE::Bool32 clampResults_={}) VULKAN_HPP_NOEXCEPT
bool operator!=(std::string const &lhs, ArrayWrapper1D< char, N > const &rhs) VULKAN_HPP_NOEXCEPT
Definition: vulkan.hpp:360
PipelineLayoutCreateInfo(VkPipelineLayoutCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageProcessingFeaturesQCOM & setTextureBlockMatch(VULKAN_HPP_NAMESPACE::Bool32 textureBlockMatch_) VULKAN_HPP_NOEXCEPT
RenderPassAttachmentBeginInfo(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::ImageView > const &attachments_, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 ImageMemoryBarrier & setDstAccessMask(VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DrawIndirectCommand & setFirstInstance(uint32_t firstInstance_) VULKAN_HPP_NOEXCEPT
bool operator==(PipelineRasterizationStateCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
SubpassEndInfo & operator=(VkSubpassEndInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineVertexInputDivisorStateCreateInfoEXT(uint32_t vertexBindingDivisorCount_={}, const VULKAN_HPP_NAMESPACE::VertexInputBindingDivisorDescriptionEXT *pVertexBindingDivisors_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
SemaphoreSignalInfo & operator=(VkSemaphoreSignalInfo const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceLegacyDitheringFeaturesEXT & operator=(VkPhysicalDeviceLegacyDitheringFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceFragmentDensityMap2FeaturesEXT & operator=(VkPhysicalDeviceFragmentDensityMap2FeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
DescriptorSetLayoutHostMappingInfoVALVE(VkDescriptorSetLayoutHostMappingInfoVALVE const &rhs) VULKAN_HPP_NOEXCEPT
RenderPassInputAttachmentAspectCreateInfo(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::InputAttachmentAspectReference > const &aspectReferences_, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 DescriptorPoolInlineUniformBlockCreateInfo & setMaxInlineUniformBlockBindings(uint32_t maxInlineUniformBlockBindings_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
struct VkSparseImageOpaqueMemoryBindInfo VkSparseImageOpaqueMemoryBindInfo
VULKAN_HPP_CONSTEXPR_14 PipelineVertexInputDivisorStateCreateInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceRenderPassTransformInfoQCOM & setTransform(VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR transform_) VULKAN_HPP_NOEXCEPT
struct VkImageResolve VkImageResolve
DedicatedAllocationBufferCreateInfoNV(VkDedicatedAllocationBufferCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
MicromapBuildSizesInfoEXT & operator=(VkMicromapBuildSizesInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setInheritedQueries(VULKAN_HPP_NAMESPACE::Bool32 inheritedQueries_) VULKAN_HPP_NOEXCEPT
AcquireProfilingLockInfoKHR & operator=(VkAcquireProfilingLockInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorSetLayoutHostMappingInfoVALVE & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceSize range
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR & setWorkgroupMemoryExplicitLayout16BitAccess(VULKAN_HPP_NAMESPACE::Bool32 workgroupMemoryExplicitLayout16BitAccess_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
bool operator==(PresentInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceProvokingVertexFeaturesEXT & setProvokingVertexLast(VULKAN_HPP_NAMESPACE::Bool32 provokingVertexLast_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ImageLayout finalLayout
QueryPoolPerformanceCreateInfoKHR(VkQueryPoolPerformanceCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PipelineCacheCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
SparseImageMemoryRequirements & operator=(VkSparseImageMemoryRequirements const &rhs) VULKAN_HPP_NOEXCEPT
BindImageMemoryDeviceGroupInfo(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &deviceIndices_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Rect2D > const &splitInstanceBindRegions_={}, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 ImageCopy & setDstOffset(VULKAN_HPP_NAMESPACE::Offset3D const &dstOffset_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceMemoryDecompressionFeaturesNV(VULKAN_HPP_NAMESPACE::Bool32 memoryDecompression_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageResolve2 & setSrcSubresource(VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const &srcSubresource_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceDepthClipEnableFeaturesEXT(VkPhysicalDeviceDepthClipEnableFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
ExportMemoryAllocateInfo(VkExportMemoryAllocateInfo const &rhs) VULKAN_HPP_NOEXCEPT
PipelineViewportSwizzleStateCreateInfoNV & operator=(VkPipelineViewportSwizzleStateCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(RayTracingPipelineInterfaceCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
PipelineViewportSwizzleStateCreateInfoNV(VkPipelineViewportSwizzleStateCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(DisplayPlaneCapabilities2KHR const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR
ImageViewMinLodCreateInfoEXT(VkImageViewMinLodCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ImageSubresourceLayers srcSubresource
ExternalImageFormatProperties(VkExternalImageFormatProperties const &rhs) VULKAN_HPP_NOEXCEPT
AccelerationStructureInfoNV(VkAccelerationStructureInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildGeometryInfoKHR & setFlags(VULKAN_HPP_NAMESPACE::BuildAccelerationStructureFlagsKHR flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageSubresource2EXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceUniformBufferStandardLayoutFeatures(VkPhysicalDeviceUniformBufferStandardLayoutFeatures const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GraphicsPipelineLibraryCreateInfoEXT & setFlags(VULKAN_HPP_NAMESPACE::GraphicsPipelineLibraryFlagsEXT flags_) VULKAN_HPP_NOEXCEPT
struct VkGeneratedCommandsInfoNV VkGeneratedCommandsInfoNV
VULKAN_HPP_CONSTEXPR_14 DeviceGroupBindSparseInfo & setMemoryDeviceIndex(uint32_t memoryDeviceIndex_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 FragmentShadingRateAttachmentInfoKHR & setPFragmentShadingRateAttachment(const VULKAN_HPP_NAMESPACE::AttachmentReference2 *pFragmentShadingRateAttachment_) VULKAN_HPP_NOEXCEPT
bool operator==(PerformanceQuerySubmitInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PerformanceCounterKHR const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkDeviceMemoryReportCallbackDataEXT VkDeviceMemoryReportCallbackDataEXT
bool operator==(RenderPassTransformBeginInfoQCOM const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPipelineViewportExclusiveScissorStateCreateInfoNV VkPipelineViewportExclusiveScissorStateCreateInfoNV
DescriptorBufferInfo(VkDescriptorBufferInfo const &rhs) VULKAN_HPP_NOEXCEPT
AccelerationStructureGeometryAabbsDataKHR & operator=(AccelerationStructureGeometryAabbsDataKHR const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 PipelineCoverageReductionStateCreateInfoNV & setCoverageReductionMode(VULKAN_HPP_NAMESPACE::CoverageReductionModeNV coverageReductionMode_) VULKAN_HPP_NOEXCEPT
PhysicalDevicePresentWaitFeaturesKHR & operator=(VkPhysicalDevicePresentWaitFeaturesKHR const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(TextureLODGatherFormatPropertiesAMD const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceInheritedViewportScissorFeaturesNV & setInheritedViewportScissor2D(VULKAN_HPP_NAMESPACE::Bool32 inheritedViewportScissor2D_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MemoryDedicatedAllocateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR indexBuffer
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRobustness2FeaturesEXT & setRobustImageAccess2(VULKAN_HPP_NAMESPACE::Bool32 robustImageAccess2_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SparseImageFormatProperties(VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_={}, VULKAN_HPP_NAMESPACE::Extent3D imageGranularity_={}, VULKAN_HPP_NAMESPACE::SparseImageFormatFlags flags_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureCreateInfoKHR & setCreateFlags(VULKAN_HPP_NAMESPACE::AccelerationStructureCreateFlagsKHR createFlags_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderImageFootprintFeaturesNV & operator=(VkPhysicalDeviceShaderImageFootprintFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SparseImageOpaqueMemoryBindInfo & setBindCount(uint32_t bindCount_) VULKAN_HPP_NOEXCEPT
bool operator==(DebugUtilsObjectNameInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PerformanceQuerySubmitInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceQueueInfo2 & setQueueFamilyIndex(uint32_t queueFamilyIndex_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SurfaceCapabilities2EXT(uint32_t minImageCount_={}, uint32_t maxImageCount_={}, VULKAN_HPP_NAMESPACE::Extent2D currentExtent_={}, VULKAN_HPP_NAMESPACE::Extent2D minImageExtent_={}, VULKAN_HPP_NAMESPACE::Extent2D maxImageExtent_={}, uint32_t maxImageArrayLayers_={}, VULKAN_HPP_NAMESPACE::SurfaceTransformFlagsKHR supportedTransforms_={}, VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR currentTransform_=VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR::eIdentity, VULKAN_HPP_NAMESPACE::CompositeAlphaFlagsKHR supportedCompositeAlpha_={}, VULKAN_HPP_NAMESPACE::ImageUsageFlags supportedUsageFlags_={}, VULKAN_HPP_NAMESPACE::SurfaceCounterFlagsEXT supportedSurfaceCounters_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::AttachmentStoreOp stencilStoreOp
bool operator!=(MemoryFdPropertiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkFormatProperties3 VkFormatProperties3
struct VkSpecializationInfo VkSpecializationInfo
bool operator!=(ImageSubresourceRange const &rhs) const VULKAN_HPP_NOEXCEPT
BindSparseInfo & setBufferBinds(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SparseBufferMemoryBindInfo > const &bufferBinds_) VULKAN_HPP_NOEXCEPT
SurfaceCapabilities2EXT & operator=(VkSurfaceCapabilities2EXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceAddressBindingTypeEXT bindingType
PipelineColorWriteCreateInfoEXT(VkPipelineColorWriteCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
#define VULKAN_HPP_NAMESPACE_STRING
Definition: vulkan.hpp:234
VULKAN_HPP_CONSTEXPR_14 SubmitInfo2 & setCommandBufferInfoCount(uint32_t commandBufferInfoCount_) VULKAN_HPP_NOEXCEPT
bool operator==(PipelineColorBlendAdvancedStateCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderClockFeaturesKHR & setShaderSubgroupClock(VULKAN_HPP_NAMESPACE::Bool32 shaderSubgroupClock_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceImageDrmFormatModifierInfoEXT & setQueueFamilyIndices(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &queueFamilyIndices_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceBufferDeviceAddressFeatures & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PerformanceStreamMarkerInfoINTEL(uint32_t marker_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkFragmentShadingRateAttachmentInfoKHR VkFragmentShadingRateAttachmentInfoKHR
struct VkExportFenceWin32HandleInfoKHR VkExportFenceWin32HandleInfoKHR
ImageDrmFormatModifierListCreateInfoEXT(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint64_t > const &drmFormatModifiers_, const void *pNext_=nullptr)
BindBufferMemoryInfo & operator=(BindBufferMemoryInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceHostQueryResetFeatures & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceCustomBorderColorPropertiesEXT & operator=(VkPhysicalDeviceCustomBorderColorPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceBufferDeviceAddressFeatures & setBufferDeviceAddress(VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddress_) VULKAN_HPP_NOEXCEPT
bool operator!=(RenderPassCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(BufferOpaqueCaptureAddressCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceProperties(VkPhysicalDeviceProperties const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState2FeaturesEXT & setExtendedDynamicState2LogicOp(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState2LogicOp_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceColorWriteEnableFeaturesEXT & operator=(VkPhysicalDeviceColorWriteEnableFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(GraphicsPipelineLibraryCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceFragmentShaderBarycentricPropertiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 QueryPoolPerformanceCreateInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
ImageMemoryBarrier2(VkImageMemoryBarrier2 const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassBeginInfo & setRenderArea(VULKAN_HPP_NAMESPACE::Rect2D const &renderArea_) VULKAN_HPP_NOEXCEPT
PipelineCoverageModulationStateCreateInfoNV & setCoverageModulationTable(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const float > const &coverageModulationTable_) VULKAN_HPP_NOEXCEPT
struct VkPerformanceOverrideInfoINTEL VkPerformanceOverrideInfoINTEL
SpecializationInfo & setMapEntries(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SpecializationMapEntry > const &mapEntries_) VULKAN_HPP_NOEXCEPT
ColorBlendEquationEXT & operator=(ColorBlendEquationEXT const &rhs) VULKAN_HPP_NOEXCEPT=default
struct VkSubpassResolvePerformanceQueryEXT VkSubpassResolvePerformanceQueryEXT
struct VkDescriptorSetAllocateInfo VkDescriptorSetAllocateInfo
VULKAN_HPP_CONSTEXPR_14 CopyMicromapInfoEXT & setDst(VULKAN_HPP_NAMESPACE::MicromapEXT dst_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceImageViewMinLodFeaturesEXT VkPhysicalDeviceImageViewMinLodFeaturesEXT
PhysicalDeviceMultiviewProperties(VkPhysicalDeviceMultiviewProperties const &rhs) VULKAN_HPP_NOEXCEPT
CopyAccelerationStructureInfoKHR(VkCopyAccelerationStructureInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(DeviceFaultInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
SubresourceLayout(VkSubresourceLayout const &rhs) VULKAN_HPP_NOEXCEPT
AttachmentSampleCountInfoAMD(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SampleCountFlagBits > const &colorAttachmentSamples_, VULKAN_HPP_NAMESPACE::SampleCountFlagBits depthStencilAttachmentSamples_=VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1, const void *pNext_=nullptr)
struct VkAabbPositionsKHR VkAabbPositionsKHR
DeviceGroupRenderPassBeginInfo & setDeviceRenderAreas(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Rect2D > const &deviceRenderAreas_) VULKAN_HPP_NOEXCEPT
bool operator==(PipelineViewportDepthClipControlCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 TimelineSemaphoreSubmitInfo & setPSignalSemaphoreValues(const uint64_t *pSignalSemaphoreValues_) VULKAN_HPP_NOEXCEPT
PipelineLibraryCreateInfoKHR(VkPipelineLibraryCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceVariablePointersFeatures & operator=(VkPhysicalDeviceVariablePointersFeatures const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DrawIndexedIndirectCommand & setIndexCount(uint32_t indexCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DescriptorSetVariableDescriptorCountAllocateInfo(uint32_t descriptorSetCount_={}, const uint32_t *pDescriptorCounts_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderAtomicFloat2FeaturesEXT & setShaderSharedFloat16AtomicMinMax(VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat16AtomicMinMax_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask
const VULKAN_HPP_NAMESPACE::DeviceQueueCreateInfo * pQueueCreateInfos
bool operator!=(PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
SubpassDescription2 & operator=(VkSubpassDescription2 const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(DescriptorBufferBindingPushDescriptorBufferHandleEXT const &rhs) const VULKAN_HPP_NOEXCEPT
SurfaceCapabilitiesKHR(VkSurfaceCapabilitiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GraphicsPipelineCreateInfo & setPRasterizationState(const VULKAN_HPP_NAMESPACE::PipelineRasterizationStateCreateInfo *pRasterizationState_) VULKAN_HPP_NOEXCEPT
CommandBufferInheritanceRenderingInfo & operator=(VkCommandBufferInheritanceRenderingInfo const &rhs) VULKAN_HPP_NOEXCEPT
struct VkCopyMemoryToAccelerationStructureInfoKHR VkCopyMemoryToAccelerationStructureInfoKHR
bool operator!=(PhysicalDevicePerformanceQueryFeaturesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceSize size
PhysicalDeviceBorderColorSwizzleFeaturesEXT(VkPhysicalDeviceBorderColorSwizzleFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceAddressBindingReportFeaturesEXT & setReportAddressBinding(VULKAN_HPP_NAMESPACE::Bool32 reportAddressBinding_) VULKAN_HPP_NOEXCEPT
PhysicalDevicePipelineCreationCacheControlFeatures & operator=(VkPhysicalDevicePipelineCreationCacheControlFeatures const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setSeparateDepthStencilLayouts(VULKAN_HPP_NAMESPACE::Bool32 separateDepthStencilLayouts_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationConservativeStateCreateInfoEXT & setExtraPrimitiveOverestimationSize(float extraPrimitiveOverestimationSize_) VULKAN_HPP_NOEXCEPT
bool operator!=(CommandBufferAllocateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ImageSubresource(VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_={}, uint32_t mipLevel_={}, uint32_t arrayLayer_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceSize dstOffset
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureSRTMotionInstanceNV & setTransformT0(VULKAN_HPP_NAMESPACE::SRTDataNV const &transformT0_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM(VULKAN_HPP_NAMESPACE::Extent2D fragmentDensityOffsetGranularity_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DrawIndexedIndirectCommand & setInstanceCount(uint32_t instanceCount_) VULKAN_HPP_NOEXCEPT
struct VkSubresourceLayout2EXT VkSubresourceLayout2EXT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceBufferDeviceAddressFeaturesEXT & setBufferDeviceAddress(VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddress_) VULKAN_HPP_NOEXCEPT
bool operator!=(DisplayModePropertiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setShaderInt8(VULKAN_HPP_NAMESPACE::Bool32 shaderInt8_) VULKAN_HPP_NOEXCEPT
PhysicalDevice8BitStorageFeatures(VkPhysicalDevice8BitStorageFeatures const &rhs) VULKAN_HPP_NOEXCEPT
DependencyInfo & operator=(DependencyInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 ValidationCacheCreateInfoEXT & setPInitialData(const void *pInitialData_) VULKAN_HPP_NOEXCEPT
SubpassResolvePerformanceQueryEXT & operator=(VkSubpassResolvePerformanceQueryEXT const &rhs) VULKAN_HPP_NOEXCEPT
SharedPresentSurfaceCapabilitiesKHR & operator=(VkSharedPresentSurfaceCapabilitiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
BlitImageInfo2 & setRegions(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::ImageBlit2 > const &regions_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkPipelineRasterizationLineStateCreateInfoEXT VkPipelineRasterizationLineStateCreateInfoEXT
struct VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphoreProperties
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState3FeaturesEXT & setExtendedDynamicState3DepthClipEnable(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3DepthClipEnable_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageBlit & setSrcOffsets(std::array< VULKAN_HPP_NAMESPACE::Offset3D, 2 > const &srcOffsets_) VULKAN_HPP_NOEXCEPT
struct VkCommandBufferInheritanceInfo VkCommandBufferInheritanceInfo
bool operator==(PhysicalDeviceMeshShaderPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugMarkerObjectNameInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PrivateDataSlotCreateInfo & setFlags(VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateFlags flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Buffer vertexData
PhysicalDeviceShaderModuleIdentifierFeaturesEXT(VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DeviceMemoryOverallocationCreateInfoAMD(VULKAN_HPP_NAMESPACE::MemoryOverallocationBehaviorAMD overallocationBehavior_=VULKAN_HPP_NAMESPACE::MemoryOverallocationBehaviorAMD::eDefault, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
RenderPassSampleLocationsBeginInfoEXT & operator=(VkRenderPassSampleLocationsBeginInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
VULKAN_HPP_NAMESPACE::Buffer aabbData
VULKAN_HPP_CONSTEXPR_14 ColorBlendEquationEXT & setAlphaBlendOp(VULKAN_HPP_NAMESPACE::BlendOp alphaBlendOp_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SharedPresentSurfaceCapabilitiesKHR(VULKAN_HPP_NAMESPACE::ImageUsageFlags sharedPresentSupportedUsageFlags_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkFenceGetFdInfoKHR VkFenceGetFdInfoKHR
Definition: vulkan_core.h:3419
VULKAN_HPP_NAMESPACE::BlendOp advancedBlendOp
VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderDrawParametersFeatures(VULKAN_HPP_NAMESPACE::Bool32 shaderDrawParameters_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR QueueFamilyCheckpointProperties2NV(VULKAN_HPP_NAMESPACE::PipelineStageFlags2 checkpointExecutionStageMask_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout
VULKAN_HPP_CONSTEXPR_14 SampleLocationEXT & setX(float x_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DrmFormatModifierPropertiesList2EXT(uint32_t drmFormatModifierCount_={}, VULKAN_HPP_NAMESPACE::DrmFormatModifierProperties2EXT *pDrmFormatModifierProperties_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ArrayWrapper1D< float, 4 > color
VULKAN_HPP_CONSTEXPR_14 ExternalMemoryBufferCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan13Features & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
DeviceFaultCountsEXT & operator=(VkDeviceFaultCountsEXT const &rhs) VULKAN_HPP_NOEXCEPT
GLuint color
Definition: glcorearb.h:1261
PhysicalDeviceImageDrmFormatModifierInfoEXT(uint64_t drmFormatModifier_, VULKAN_HPP_NAMESPACE::SharingMode sharingMode_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &queueFamilyIndices_, const void *pNext_=nullptr)
ImageBlit2 & operator=(VkImageBlit2 const &rhs) VULKAN_HPP_NOEXCEPT
PresentIdKHR(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint64_t > const &presentIds_, const void *pNext_=nullptr)
struct VkPhysicalDeviceProvokingVertexPropertiesEXT VkPhysicalDeviceProvokingVertexPropertiesEXT
bool operator==(PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 IndirectCommandsLayoutTokenNV & setPIndexTypes(const VULKAN_HPP_NAMESPACE::IndexType *pIndexTypes_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ExternalMemoryImageCreateInfoNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(RenderPassCreateInfo2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DisplayNativeHdrSurfaceCapabilitiesAMD(VULKAN_HPP_NAMESPACE::Bool32 localDimmingSupport_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR MemoryBarrier(VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask_={}, VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT VkPipelineRasterizationProvokingVertexStateCreateInfoEXT
PhysicalDeviceShadingRateImageFeaturesNV(VkPhysicalDeviceShadingRateImageFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PerformanceOverrideInfoINTEL const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DescriptorSetLayoutBinding(uint32_t binding_={}, VULKAN_HPP_NAMESPACE::DescriptorType descriptorType_=VULKAN_HPP_NAMESPACE::DescriptorType::eSampler, uint32_t descriptorCount_={}, VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags_={}, const VULKAN_HPP_NAMESPACE::Sampler *pImmutableSamplers_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferImageCopy2 & setBufferOffset(VULKAN_HPP_NAMESPACE::DeviceSize bufferOffset_) VULKAN_HPP_NOEXCEPT
struct VkDeviceFaultAddressInfoEXT VkDeviceFaultAddressInfoEXT
VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentShadingRateKHR(VULKAN_HPP_NAMESPACE::SampleCountFlags sampleCounts_={}, VULKAN_HPP_NAMESPACE::Extent2D fragmentSize_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMotionInstanceNV & setType(VULKAN_HPP_NAMESPACE::AccelerationStructureMotionInstanceTypeNV type_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceDiscardRectanglePropertiesEXT & operator=(VkPhysicalDeviceDiscardRectanglePropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
bool operator!=(QueueFamilyCheckpointProperties2NV const &rhs) const VULKAN_HPP_NOEXCEPT
DisplayPlaneProperties2KHR & operator=(VkDisplayPlaneProperties2KHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ImageSubresourceLayers imageSubresource
struct VkVideoFormatPropertiesKHR VkVideoFormatPropertiesKHR
PipelineColorBlendAdvancedStateCreateInfoEXT(VkPipelineColorBlendAdvancedStateCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 EventCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
RenderPassBeginInfo(VULKAN_HPP_NAMESPACE::RenderPass renderPass_, VULKAN_HPP_NAMESPACE::Framebuffer framebuffer_, VULKAN_HPP_NAMESPACE::Rect2D renderArea_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::ClearValue > const &clearValues_, const void *pNext_=nullptr)
PhysicalDeviceMaintenance3Properties & operator=(VkPhysicalDeviceMaintenance3Properties const &rhs) VULKAN_HPP_NOEXCEPT
MemoryDedicatedRequirements(VkMemoryDedicatedRequirements const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageReadWithoutFormat
struct VkCuLaunchInfoNVX VkCuLaunchInfoNVX
MutableDescriptorTypeListEXT MutableDescriptorTypeListVALVE
VULKAN_HPP_CONSTEXPR_14 InstanceCreateInfo & setPpEnabledLayerNames(const char *const *ppEnabledLayerNames_) VULKAN_HPP_NOEXCEPT
bool operator==(SwapchainCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineViewportCoarseSampleOrderStateCreateInfoNV & setCustomSampleOrderCount(uint32_t customSampleOrderCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyMemoryToImageIndirectCommandNV & setImageOffset(VULKAN_HPP_NAMESPACE::Offset3D const &imageOffset_) VULKAN_HPP_NOEXCEPT
AccelerationStructureDeviceAddressInfoKHR(VkAccelerationStructureDeviceAddressInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceSamplerYcbcrConversionFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(DescriptorSetVariableDescriptorCountLayoutSupport const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkMemoryBarrier2 VkMemoryBarrier2
AccelerationStructureInfoNV & setGeometries(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::GeometryNV > const &geometries_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DisplayPowerInfoEXT(VULKAN_HPP_NAMESPACE::DisplayPowerStateEXT powerState_=VULKAN_HPP_NAMESPACE::DisplayPowerStateEXT::eOff, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ImageSubresourceLayers(VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_={}, uint32_t mipLevel_={}, uint32_t baseArrayLayer_={}, uint32_t layerCount_={}) VULKAN_HPP_NOEXCEPT
MemoryType & operator=(VkMemoryType const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageCompressionControlEXT & setCompressionControlPlaneCount(uint32_t compressionControlPlaneCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePresentIdFeaturesKHR & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(FormatProperties3 const &rhs) const VULKAN_HPP_NOEXCEPT
DebugMarkerMarkerInfoEXT & operator=(VkDebugMarkerMarkerInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageMemoryBarrier & setSubresourceRange(VULKAN_HPP_NAMESPACE::ImageSubresourceRange const &subresourceRange_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceOrHostAddressConstKHR & setHostAddress(const void *hostAddress_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderAtomicFloat2FeaturesEXT(VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureCaptureDescriptorDataInfoEXT & setAccelerationStructureNV(VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructureNV_) VULKAN_HPP_NOEXCEPT
AcquireNextImageInfoKHR & operator=(VkAcquireNextImageInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
AccelerationStructureGeometryAabbsDataKHR(VkAccelerationStructureGeometryAabbsDataKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceOrHostAddressConstKHR(VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_={})
bool operator!=(RenderPassCreationControlEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkQueueFamilyVideoPropertiesKHR VkQueueFamilyVideoPropertiesKHR
VULKAN_HPP_CONSTEXPR_14 PipelineRepresentativeFragmentTestStateCreateInfoNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Image dstImage
PhysicalDevicePipelineProtectedAccessFeaturesEXT(VkPhysicalDevicePipelineProtectedAccessFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(ImageMemoryBarrier const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(VertexInputBindingDescription const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceCustomBorderColorPropertiesEXT(VkPhysicalDeviceCustomBorderColorPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceShaderAtomicFloatFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineShaderStageModuleIdentifierCreateInfoEXT & setIdentifierSize(uint32_t identifierSize_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 IndirectCommandsLayoutTokenNV & setStream(uint32_t stream_) VULKAN_HPP_NOEXCEPT
MemoryBarrier2 & operator=(VkMemoryBarrier2 const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DescriptorSet dstSet
PipelineDiscardRectangleStateCreateInfoEXT & setDiscardRectangles(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Rect2D > const &discardRectangles_) VULKAN_HPP_NOEXCEPT
bool operator==(ImageFormatListCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkDeviceGroupPresentCapabilitiesKHR VkDeviceGroupPresentCapabilitiesKHR
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
PhysicalDeviceFragmentDensityMapFeaturesEXT & operator=(VkPhysicalDeviceFragmentDensityMapFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderSubgroupExtendedTypesFeatures(VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(ImageViewSampleWeightCreateInfoQCOM const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkImportMetalTextureInfoEXT VkImportMetalTextureInfoEXT
AttachmentDescription & operator=(VkAttachmentDescription const &rhs) VULKAN_HPP_NOEXCEPT
SampleLocationsInfoEXT(VULKAN_HPP_NAMESPACE::SampleCountFlagBits sampleLocationsPerPixel_, VULKAN_HPP_NAMESPACE::Extent2D sampleLocationGridSize_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SampleLocationEXT > const &sampleLocations_, const void *pNext_=nullptr)
bool operator!=(SparseImageMemoryRequirements2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PresentRegionsKHR & setSwapchainCount(uint32_t swapchainCount_) VULKAN_HPP_NOEXCEPT
bool operator==(DescriptorSetLayoutHostMappingInfoVALVE const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MappedMemoryRange & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageViewCreateInfo & setFormat(VULKAN_HPP_NAMESPACE::Format format_) VULKAN_HPP_NOEXCEPT
MappedMemoryRange(VkMappedMemoryRange const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceGroupSubmitInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryInstancesDataKHR(VULKAN_HPP_NAMESPACE::Bool32 arrayOfPointers_={}, VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR data_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
uint32_t offset
struct VkVideoEncodeH265FrameSizeEXT VkVideoEncodeH265FrameSizeEXT
CopyMemoryIndirectCommandNV & operator=(CopyMemoryIndirectCommandNV const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator==(PhysicalDeviceFragmentShadingRatePropertiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
bool operator!=(PhysicalDeviceFragmentShadingRateFeaturesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceTimelineSemaphoreProperties(VkPhysicalDeviceTimelineSemaphoreProperties const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineRepresentativeFragmentTestStateCreateInfoNV(VULKAN_HPP_NAMESPACE::Bool32 representativeFragmentTestEnable_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceTransformFeedbackFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 transformFeedback_={}, VULKAN_HPP_NAMESPACE::Bool32 geometryStreams_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineInfoKHR(VULKAN_HPP_NAMESPACE::Pipeline pipeline_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PipelineColorWriteCreateInfoEXT(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Bool32 > const &colorWriteEnables_, const void *pNext_=nullptr)
PhysicalDevicePushDescriptorPropertiesKHR & operator=(VkPhysicalDevicePushDescriptorPropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureInstanceKHR & setAccelerationStructureReference(uint64_t accelerationStructureReference_) VULKAN_HPP_NOEXCEPT
DescriptorBufferInfo & operator=(VkDescriptorBufferInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineDiscardRectangleStateCreateInfoEXT & setDiscardRectangleMode(VULKAN_HPP_NAMESPACE::DiscardRectangleModeEXT discardRectangleMode_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR HeadlessSurfaceCreateInfoEXT(VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateFlagsEXT flags_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(DeviceBufferMemoryRequirements const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ShaderResourceUsageAMD(uint32_t numUsedVgprs_={}, uint32_t numUsedSgprs_={}, uint32_t ldsSizePerLocalWorkGroup_={}, size_t ldsUsageSizeInBytes_={}, size_t scratchMemUsageInBytes_={}) VULKAN_HPP_NOEXCEPT
RectLayerKHR & operator=(VkRectLayerKHR const &rhs) VULKAN_HPP_NOEXCEPT
PipelineDynamicStateCreateInfo & operator=(VkPipelineDynamicStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCreateInfoEXT & setPfnUserCallback(PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ValidationCacheCreateInfoEXT(VULKAN_HPP_NAMESPACE::ValidationCacheCreateFlagsEXT flags_={}, size_t initialDataSize_={}, const void *pInitialData_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(DrmFormatModifierPropertiesListEXT const &rhs) const VULKAN_HPP_NOEXCEPT
BufferMemoryRequirementsInfo2(VkBufferMemoryRequirementsInfo2 const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT
bool operator==(ColorBlendEquationEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationStateStreamCreateInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceTexelBufferAlignmentFeaturesEXT & setTexelBufferAlignment(VULKAN_HPP_NAMESPACE::Bool32 texelBufferAlignment_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceSurfaceInfo2KHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
DeviceAddressBindingCallbackDataEXT(VkDeviceAddressBindingCallbackDataEXT const &rhs) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
SparseMemoryBind & operator=(VkSparseMemoryBind const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceDynamicRenderingFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassCreateInfo & setPDependencies(const VULKAN_HPP_NAMESPACE::SubpassDependency *pDependencies_) VULKAN_HPP_NOEXCEPT
ImageViewCreateInfo(VkImageViewCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceVulkan13Properties VkPhysicalDeviceVulkan13Properties
struct VkFenceGetWin32HandleInfoKHR VkFenceGetWin32HandleInfoKHR
bool operator==(DescriptorSetLayoutBinding const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AttachmentSampleCountInfoAMD & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(TilePropertiesQCOM const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineLayoutCreateInfo & setSetLayoutCount(uint32_t setLayoutCount_) VULKAN_HPP_NOEXCEPT
SamplerYcbcrConversionImageFormatProperties & operator=(VkSamplerYcbcrConversionImageFormatProperties const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM(VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ShaderStatisticsInfoAMD(VULKAN_HPP_NAMESPACE::ShaderStageFlags shaderStageMask_={}, VULKAN_HPP_NAMESPACE::ShaderResourceUsageAMD resourceUsage_={}, uint32_t numPhysicalVgprs_={}, uint32_t numPhysicalSgprs_={}, uint32_t numAvailableVgprs_={}, uint32_t numAvailableSgprs_={}, std::array< uint32_t, 3 > const &computeWorkGroupSize_={}) VULKAN_HPP_NOEXCEPT
AttachmentDescriptionStencilLayout & operator=(VkAttachmentDescriptionStencilLayout const &rhs) VULKAN_HPP_NOEXCEPT
SamplerCreateInfo & operator=(VkSamplerCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceImageCompressionControlFeaturesEXT VkPhysicalDeviceImageCompressionControlFeaturesEXT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceIDProperties(std::array< uint8_t, VK_UUID_SIZE > const &deviceUUID_={}, std::array< uint8_t, VK_UUID_SIZE > const &driverUUID_={}, std::array< uint8_t, VK_LUID_SIZE > const &deviceLUID_={}, uint32_t deviceNodeMask_={}, VULKAN_HPP_NAMESPACE::Bool32 deviceLUIDValid_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PhysicalDeviceMemoryProperties2 & operator=(VkPhysicalDeviceMemoryProperties2 const &rhs) VULKAN_HPP_NOEXCEPT
SRTDataNV & operator=(SRTDataNV const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 PhysicalDevice16BitStorageFeatures & setStorageInputOutput16(VULKAN_HPP_NAMESPACE::Bool32 storageInputOutput16_) VULKAN_HPP_NOEXCEPT
ClearDepthStencilValue(VkClearDepthStencilValue const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryTrianglesDataKHR(VULKAN_HPP_NAMESPACE::Format vertexFormat_=VULKAN_HPP_NAMESPACE::Format::eUndefined, VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR vertexData_={}, VULKAN_HPP_NAMESPACE::DeviceSize vertexStride_={}, uint32_t maxVertex_={}, VULKAN_HPP_NAMESPACE::IndexType indexType_=VULKAN_HPP_NAMESPACE::IndexType::eUint16, VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR indexData_={}, VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR transformData_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDevice4444FormatsFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 formatA4R4G4B4_={}, VULKAN_HPP_NAMESPACE::Bool32 formatA4B4G4R4_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(OpaqueCaptureDescriptorDataCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCallbackDataEXT & setPMessage(const char *pMessage_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorUpdateTemplateCreateInfo & setTemplateType(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateType templateType_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SamplerCreateInfo & setMipmapMode(VULKAN_HPP_NAMESPACE::SamplerMipmapMode mipmapMode_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeatures
VULKAN_HPP_CONSTEXPR_14 DisplayPlaneInfo2KHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(OpticalFlowExecuteInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineRasterizationLineStateCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(Extent3D const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(QueueFamilyGlobalPriorityPropertiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
DeviceDiagnosticsConfigCreateInfoNV & operator=(VkDeviceDiagnosticsConfigCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PerformanceCounterKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AcquireNextImageInfoKHR & setDeviceMask(uint32_t deviceMask_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
ImageCaptureDescriptorDataInfoEXT & operator=(VkImageCaptureDescriptorDataInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(AttachmentDescriptionStencilLayout const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR QueryPoolCreateInfo(VULKAN_HPP_NAMESPACE::QueryPoolCreateFlags flags_={}, VULKAN_HPP_NAMESPACE::QueryType queryType_=VULKAN_HPP_NAMESPACE::QueryType::eOcclusion, uint32_t queryCount_={}, VULKAN_HPP_NAMESPACE::QueryPipelineStatisticFlags pipelineStatistics_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
ImageResolve(VkImageResolve const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderAtomicFloatFeaturesEXT & setShaderSharedFloat32AtomicAdd(VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat32AtomicAdd_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setFullDrawIndexUint32(VULKAN_HPP_NAMESPACE::Bool32 fullDrawIndexUint32_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceSize resourceOffset
bool operator==(SemaphoreSignalInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SamplerCreateInfo & setAddressModeU(VULKAN_HPP_NAMESPACE::SamplerAddressMode addressModeU_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceShadingRateImageFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubpassDependency & setDstStageMask(VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceMemoryProperties const &rhs) const VULKAN_HPP_NOEXCEPT
SwapchainDisplayNativeHdrCreateInfoAMD(VkSwapchainDisplayNativeHdrCreateInfoAMD const &rhs) VULKAN_HPP_NOEXCEPT
SubpassDescription2(VULKAN_HPP_NAMESPACE::SubpassDescriptionFlags flags_, VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_, uint32_t viewMask_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::AttachmentReference2 > const &inputAttachments_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::AttachmentReference2 > const &colorAttachments_={}, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::AttachmentReference2 > const &resolveAttachments_={}, const VULKAN_HPP_NAMESPACE::AttachmentReference2 *pDepthStencilAttachment_={}, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &preserveAttachments_={}, const void *pNext_=nullptr)
bool operator==(PhysicalDeviceAddressBindingReportFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 FenceGetFdInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV & operator=(VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SamplerBorderColorComponentMappingCreateInfoEXT & setComponents(VULKAN_HPP_NAMESPACE::ComponentMapping const &components_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceRayTracingInvocationReorderPropertiesNV(VULKAN_HPP_NAMESPACE::RayTracingInvocationReorderModeNV rayTracingInvocationReorderReorderingHint_=VULKAN_HPP_NAMESPACE::RayTracingInvocationReorderModeNV::eNone, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 WriteDescriptorSetAccelerationStructureNV & setPAccelerationStructures(const VULKAN_HPP_NAMESPACE::AccelerationStructureNV *pAccelerationStructures_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceDepthClipEnableFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineCacheCreateInfo & setPInitialData(const void *pInitialData_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceFloatControlsProperties const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(DisplayPresentInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineViewportWScalingStateCreateInfoNV & setPViewportWScalings(const VULKAN_HPP_NAMESPACE::ViewportWScalingNV *pViewportWScalings_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceCreateInfo & setQueueCreateInfoCount(uint32_t queueCreateInfoCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageSubresourceLayers & setBaseArrayLayer(uint32_t baseArrayLayer_) VULKAN_HPP_NOEXCEPT
GeometryNV & operator=(GeometryNV const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceGlobalPriorityQueryFeaturesKHR & setGlobalPriorityQuery(VULKAN_HPP_NAMESPACE::Bool32 globalPriorityQuery_) VULKAN_HPP_NOEXCEPT
DebugUtilsObjectTagInfoEXT & operator=(VkDebugUtilsObjectTagInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(AabbPositionsKHR const &rhs) const VULKAN_HPP_NOEXCEPT
DescriptorUpdateTemplateEntry & operator=(VkDescriptorUpdateTemplateEntry const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubpassDependency2 & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2
VULKAN_HPP_CONSTEXPR SpecializationMapEntry(uint32_t constantID_={}, uint32_t offset_={}, size_t size_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 OpticalFlowSessionCreateInfoNV & setCostFormat(VULKAN_HPP_NAMESPACE::Format costFormat_) VULKAN_HPP_NOEXCEPT
DescriptorUpdateTemplateEntry(VkDescriptorUpdateTemplateEntry const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceFeatures(VULKAN_HPP_NAMESPACE::Bool32 robustBufferAccess_={}, VULKAN_HPP_NAMESPACE::Bool32 fullDrawIndexUint32_={}, VULKAN_HPP_NAMESPACE::Bool32 imageCubeArray_={}, VULKAN_HPP_NAMESPACE::Bool32 independentBlend_={}, VULKAN_HPP_NAMESPACE::Bool32 geometryShader_={}, VULKAN_HPP_NAMESPACE::Bool32 tessellationShader_={}, VULKAN_HPP_NAMESPACE::Bool32 sampleRateShading_={}, VULKAN_HPP_NAMESPACE::Bool32 dualSrcBlend_={}, VULKAN_HPP_NAMESPACE::Bool32 logicOp_={}, VULKAN_HPP_NAMESPACE::Bool32 multiDrawIndirect_={}, VULKAN_HPP_NAMESPACE::Bool32 drawIndirectFirstInstance_={}, VULKAN_HPP_NAMESPACE::Bool32 depthClamp_={}, VULKAN_HPP_NAMESPACE::Bool32 depthBiasClamp_={}, VULKAN_HPP_NAMESPACE::Bool32 fillModeNonSolid_={}, VULKAN_HPP_NAMESPACE::Bool32 depthBounds_={}, VULKAN_HPP_NAMESPACE::Bool32 wideLines_={}, VULKAN_HPP_NAMESPACE::Bool32 largePoints_={}, VULKAN_HPP_NAMESPACE::Bool32 alphaToOne_={}, VULKAN_HPP_NAMESPACE::Bool32 multiViewport_={}, VULKAN_HPP_NAMESPACE::Bool32 samplerAnisotropy_={}, VULKAN_HPP_NAMESPACE::Bool32 textureCompressionETC2_={}, VULKAN_HPP_NAMESPACE::Bool32 textureCompressionASTC_LDR_={}, VULKAN_HPP_NAMESPACE::Bool32 textureCompressionBC_={}, VULKAN_HPP_NAMESPACE::Bool32 occlusionQueryPrecise_={}, VULKAN_HPP_NAMESPACE::Bool32 pipelineStatisticsQuery_={}, VULKAN_HPP_NAMESPACE::Bool32 vertexPipelineStoresAndAtomics_={}, VULKAN_HPP_NAMESPACE::Bool32 fragmentStoresAndAtomics_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderTessellationAndGeometryPointSize_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderImageGatherExtended_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageExtendedFormats_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageMultisample_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageReadWithoutFormat_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageWriteWithoutFormat_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayDynamicIndexing_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayDynamicIndexing_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayDynamicIndexing_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayDynamicIndexing_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderClipDistance_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderCullDistance_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderFloat64_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderInt64_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderInt16_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderResourceResidency_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderResourceMinLod_={}, VULKAN_HPP_NAMESPACE::Bool32 sparseBinding_={}, VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyBuffer_={}, VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyImage2D_={}, VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyImage3D_={}, VULKAN_HPP_NAMESPACE::Bool32 sparseResidency2Samples_={}, VULKAN_HPP_NAMESPACE::Bool32 sparseResidency4Samples_={}, VULKAN_HPP_NAMESPACE::Bool32 sparseResidency8Samples_={}, VULKAN_HPP_NAMESPACE::Bool32 sparseResidency16Samples_={}, VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyAliased_={}, VULKAN_HPP_NAMESPACE::Bool32 variableMultisampleRate_={}, VULKAN_HPP_NAMESPACE::Bool32 inheritedQueries_={}) VULKAN_HPP_NOEXCEPT
bool operator!=(RenderPassAttachmentBeginInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceSubgroupSizeControlProperties const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SubpassDescription(VULKAN_HPP_NAMESPACE::SubpassDescriptionFlags flags_={}, VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_=VULKAN_HPP_NAMESPACE::PipelineBindPoint::eGraphics, uint32_t inputAttachmentCount_={}, const VULKAN_HPP_NAMESPACE::AttachmentReference *pInputAttachments_={}, uint32_t colorAttachmentCount_={}, const VULKAN_HPP_NAMESPACE::AttachmentReference *pColorAttachments_={}, const VULKAN_HPP_NAMESPACE::AttachmentReference *pResolveAttachments_={}, const VULKAN_HPP_NAMESPACE::AttachmentReference *pDepthStencilAttachment_={}, uint32_t preserveAttachmentCount_={}, const uint32_t *pPreserveAttachments_={}) VULKAN_HPP_NOEXCEPT
PhysicalDeviceAccelerationStructureFeaturesKHR & operator=(VkPhysicalDeviceAccelerationStructureFeaturesKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DescriptorSetLayoutSupport(VULKAN_HPP_NAMESPACE::Bool32 supported_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState3FeaturesEXT & setExtendedDynamicState3SampleLocationsEnable(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3SampleLocationsEnable_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceSize size
VULKAN_HPP_CONSTEXPR AccelerationStructureBuildRangeInfoKHR(uint32_t primitiveCount_={}, uint32_t primitiveOffset_={}, uint32_t firstVertex_={}, uint32_t transformOffset_={}) VULKAN_HPP_NOEXCEPT
RenderingAttachmentInfo(VkRenderingAttachmentInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderAtomicFloat2FeaturesEXT & setShaderBufferFloat64AtomicMinMax(VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat64AtomicMinMax_) VULKAN_HPP_NOEXCEPT
PipelineViewportShadingRateImageStateCreateInfoNV(VULKAN_HPP_NAMESPACE::Bool32 shadingRateImageEnable_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV > const &shadingRatePalettes_, const void *pNext_=nullptr)
SamplerBorderColorComponentMappingCreateInfoEXT(VkSamplerBorderColorComponentMappingCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(MultiviewPerViewAttributesInfoNVX const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineDepthStencilStateCreateInfo & setStencilTestEnable(VULKAN_HPP_NAMESPACE::Bool32 stencilTestEnable_) VULKAN_HPP_NOEXCEPT
bool operator==(CoarseSampleLocationNV const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(MemoryDedicatedRequirements const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkInitializePerformanceApiInfoINTEL VkInitializePerformanceApiInfoINTEL
bool operator==(PhysicalDeviceMultiviewFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkCuModuleCreateInfoNVX VkCuModuleCreateInfoNVX
bool operator!=(FramebufferMixedSamplesCombinationNV const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceSynchronization2Features VkPhysicalDeviceSynchronization2Features
SparseImageFormatProperties2 & operator=(VkSparseImageFormatProperties2 const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugMarkerObjectTagInfoEXT & setObjectType(VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDevicePointClippingProperties const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceInvocationMaskFeaturesHUAWEI const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineCacheHeaderVersionOne & setVendorID(uint32_t vendorID_) VULKAN_HPP_NOEXCEPT
bool operator!=(ImageViewAddressPropertiesNVX const &rhs) const VULKAN_HPP_NOEXCEPT
ImageFormatProperties(VkImageFormatProperties const &rhs) VULKAN_HPP_NOEXCEPT
size_t stride
VULKAN_HPP_CONSTEXPR_14 SwapchainCreateInfoKHR & setImageSharingMode(VULKAN_HPP_NAMESPACE::SharingMode imageSharingMode_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineCoverageToColorStateCreateInfoNV & setCoverageToColorLocation(uint32_t coverageToColorLocation_) VULKAN_HPP_NOEXCEPT
OpticalFlowExecuteInfoNV & operator=(VkOpticalFlowExecuteInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ShadingRatePaletteNV & setPShadingRatePaletteEntries(const VULKAN_HPP_NAMESPACE::ShadingRatePaletteEntryNV *pShadingRatePaletteEntries_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT flags
PhysicalDeviceSynchronization2Features & operator=(VkPhysicalDeviceSynchronization2Features const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineViewportStateCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(BindImageMemoryInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PerformanceCounterDescriptionKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildSizesInfoKHR & setBuildScratchSize(VULKAN_HPP_NAMESPACE::DeviceSize buildScratchSize_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineCreationFeedback(VULKAN_HPP_NAMESPACE::PipelineCreationFeedbackFlags flags_={}, uint64_t duration_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags
struct VkMemoryGetWin32HandleInfoKHR VkMemoryGetWin32HandleInfoKHR
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderAtomicFloatFeaturesEXT & setShaderBufferFloat64Atomics(VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat64Atomics_) VULKAN_HPP_NOEXCEPT
PerformanceMarkerInfoINTEL & operator=(VkPerformanceMarkerInfoINTEL const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout
MutableDescriptorTypeListEXT & operator=(VkMutableDescriptorTypeListEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ProtectedSubmitInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ImageCompressionPropertiesEXT(VULKAN_HPP_NAMESPACE::ImageCompressionFlagsEXT imageCompressionFlags_={}, VULKAN_HPP_NAMESPACE::ImageCompressionFixedRateFlagsEXT imageCompressionFixedRateFlags_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(DescriptorUpdateTemplateEntry const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(CommandBufferInheritanceInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setShaderInt16(VULKAN_HPP_NAMESPACE::Bool32 shaderInt16_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceFeatures VkPhysicalDeviceFeatures
VULKAN_HPP_CONSTEXPR_14 CalibratedTimestampInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI VkPhysicalDeviceSubpassShadingPropertiesHUAWEI
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureInfoNV & setFlags(VULKAN_HPP_NAMESPACE::BuildAccelerationStructureFlagsNV flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DescriptorPoolSize(VULKAN_HPP_NAMESPACE::DescriptorType type_=VULKAN_HPP_NAMESPACE::DescriptorType::eSampler, uint32_t descriptorCount_={}) VULKAN_HPP_NOEXCEPT
struct VkFilterCubicImageViewImageFormatPropertiesEXT VkFilterCubicImageViewImageFormatPropertiesEXT
RenderPassCreationControlEXT & operator=(VkRenderPassCreationControlEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PerformanceValueDataINTEL(uint64_t value64_)
ImageMemoryBarrier(VkImageMemoryBarrier const &rhs) VULKAN_HPP_NOEXCEPT
DebugUtilsMessengerCallbackDataEXT & setCmdBufLabels(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT > const &cmdBufLabels_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubpassFragmentDensityMapOffsetEndInfoQCOM & setFragmentDensityOffsetCount(uint32_t fragmentDensityOffsetCount_) VULKAN_HPP_NOEXCEPT
struct VkMemoryGetZirconHandleInfoFUCHSIA VkMemoryGetZirconHandleInfoFUCHSIA
VULKAN_HPP_CONSTEXPR ImageDrmFormatModifierExplicitCreateInfoEXT(uint64_t drmFormatModifier_={}, uint32_t drmFormatModifierPlaneCount_={}, const VULKAN_HPP_NAMESPACE::SubresourceLayout *pPlaneLayouts_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceTransformFeedbackFeaturesEXT VkPhysicalDeviceTransformFeedbackFeaturesEXT
bool operator==(PhysicalDeviceAmigoProfilingFeaturesSEC const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceCreateInfo & setEnabledExtensionCount(uint32_t enabledExtensionCount_) VULKAN_HPP_NOEXCEPT
bool operator==(SubpassEndInfo const &rhs) const VULKAN_HPP_NOEXCEPT
SemaphoreTypeCreateInfo(VkSemaphoreTypeCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT & setPInputAttachmentImage(const VULKAN_HPP_NAMESPACE::DescriptorImageInfo *pInputAttachmentImage_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Extent2D extent
VULKAN_HPP_NAMESPACE::PipelineLayout layout
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildGeometryInfoKHR & setPGeometries(const VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryKHR *pGeometries_) VULKAN_HPP_NOEXCEPT
DeviceGroupPresentCapabilitiesKHR & operator=(VkDeviceGroupPresentCapabilitiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
GLuint index
Definition: glcorearb.h:786
GeometryDataNV(VkGeometryDataNV const &rhs) VULKAN_HPP_NOEXCEPT
RenderPassAttachmentBeginInfo & setAttachments(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::ImageView > const &attachments_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineCreationFeedbackCreateInfo & setPPipelineCreationFeedback(VULKAN_HPP_NAMESPACE::PipelineCreationFeedback *pPipelineCreationFeedback_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState2FeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(ExportFenceCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceSize size
VULKAN_HPP_CONSTEXPR_14 BufferMemoryRequirementsInfo2 & setBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer_) VULKAN_HPP_NOEXCEPT
bool operator==(ImportMemoryFdInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkSamplerCustomBorderColorCreateInfoEXT VkSamplerCustomBorderColorCreateInfoEXT
bool operator!=(RayTracingPipelineInterfaceCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceRayTracingPipelinePropertiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(ShaderResourceUsageAMD const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(ClearDepthStencilValue const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(QueueFamilyCheckpointProperties2NV const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(DescriptorBufferBindingInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(std::string const &lhs, ArrayWrapper1D< char, N > const &rhs) VULKAN_HPP_NOEXCEPT
Definition: vulkan.hpp:354
VULKAN_HPP_CONSTEXPR_14 ImageViewCreateInfo & setViewType(VULKAN_HPP_NAMESPACE::ImageViewType viewType_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GeometryNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceColorWriteEnableFeaturesEXT(VkPhysicalDeviceColorWriteEnableFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RayTracingShaderGroupCreateInfoNV & setAnyHitShader(uint32_t anyHitShader_) VULKAN_HPP_NOEXCEPT
QueueFamilyProperties2(VkQueueFamilyProperties2 const &rhs) VULKAN_HPP_NOEXCEPT
PipelineFragmentShadingRateEnumStateCreateInfoNV & operator=(VkPipelineFragmentShadingRateEnumStateCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceSparseProperties const &rhs) const VULKAN_HPP_NOEXCEPT
CooperativeMatrixPropertiesNV(VkCooperativeMatrixPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT
union VkClearValue VkClearValue
PipelineCreationFeedbackCreateInfo & operator=(VkPipelineCreationFeedbackCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceRayTracingPipelinePropertiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV
VULKAN_HPP_CONSTEXPR_14 QueryPoolCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(SubpassSampleLocationsEXT const &rhs) const VULKAN_HPP_NOEXCEPT
CopyAccelerationStructureInfoKHR & operator=(VkCopyAccelerationStructureInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
SampleLocationsInfoEXT & operator=(SampleLocationsInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT=default
struct VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfo
PipelineRasterizationStateCreateInfo(VkPipelineRasterizationStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubmitInfo & setPWaitDstStageMask(const VULKAN_HPP_NAMESPACE::PipelineStageFlags *pWaitDstStageMask_) VULKAN_HPP_NOEXCEPT
bool operator==(ComputePipelineCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceKHR
PhysicalDeviceCustomBorderColorFeaturesEXT & operator=(VkPhysicalDeviceCustomBorderColorFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkXlibSurfaceCreateInfoKHR VkXlibSurfaceCreateInfoKHR
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRayTracingMaintenance1FeaturesKHR & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
const VULKAN_HPP_NAMESPACE::ImageBlit2 * pRegions
VULKAN_HPP_CONSTEXPR_14 BindImageMemorySwapchainInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceVertexAttributeDivisorFeaturesEXT(VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DisplayPropertiesKHR(VULKAN_HPP_NAMESPACE::DisplayKHR display_={}, const char *displayName_={}, VULKAN_HPP_NAMESPACE::Extent2D physicalDimensions_={}, VULKAN_HPP_NAMESPACE::Extent2D physicalResolution_={}, VULKAN_HPP_NAMESPACE::SurfaceTransformFlagsKHR supportedTransforms_={}, VULKAN_HPP_NAMESPACE::Bool32 planeReorderPossible_={}, VULKAN_HPP_NAMESPACE::Bool32 persistentContent_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SRTDataNV & setB(float b_) VULKAN_HPP_NOEXCEPT
SubpassBeginInfo & operator=(VkSubpassBeginInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineVertexInputStateCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier & setSize(VULKAN_HPP_NAMESPACE::DeviceSize size_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceSize bufferOffset
VULKAN_HPP_CONSTEXPR WriteDescriptorSetAccelerationStructureKHR(uint32_t accelerationStructureCount_={}, const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR *pAccelerationStructures_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkDisplayEventInfoEXT VkDisplayEventInfoEXT
VULKAN_HPP_CONSTEXPR_14 DescriptorUpdateTemplateEntry & setDescriptorCount(uint32_t descriptorCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorIndexingFeatures & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceImageViewImageFormatInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkTraceRaysIndirectCommand2KHR VkTraceRaysIndirectCommand2KHR
bool operator==(AccelerationStructureMatrixMotionInstanceNV const &rhs) const VULKAN_HPP_NOEXCEPT
ImageFormatProperties2(VkImageFormatProperties2 const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceExtendedDynamicStateFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
SubpassFragmentDensityMapOffsetEndInfoQCOM(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Offset2D > const &fragmentDensityOffsets_, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setTextureCompressionASTC_LDR(VULKAN_HPP_NAMESPACE::Bool32 textureCompressionASTC_LDR_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AllocationCallbacks & setPfnInternalAllocation(PFN_vkInternalAllocationNotification pfnInternalAllocation_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MicromapBuildInfoEXT(VULKAN_HPP_NAMESPACE::MicromapTypeEXT type_=VULKAN_HPP_NAMESPACE::MicromapTypeEXT::eOpacityMicromap, VULKAN_HPP_NAMESPACE::BuildMicromapFlagsEXT flags_={}, VULKAN_HPP_NAMESPACE::BuildMicromapModeEXT mode_=VULKAN_HPP_NAMESPACE::BuildMicromapModeEXT::eBuild, VULKAN_HPP_NAMESPACE::MicromapEXT dstMicromap_={}, uint32_t usageCountsCount_={}, const VULKAN_HPP_NAMESPACE::MicromapUsageEXT *pUsageCounts_={}, const VULKAN_HPP_NAMESPACE::MicromapUsageEXT *const *ppUsageCounts_={}, VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR data_={}, VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR scratchData_={}, VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR triangleArray_={}, VULKAN_HPP_NAMESPACE::DeviceSize triangleArrayStride_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SwapchainCreateInfoKHR & setMinImageCount(uint32_t minImageCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SamplerBorderColorComponentMappingCreateInfoEXT(VULKAN_HPP_NAMESPACE::ComponentMapping components_={}, VULKAN_HPP_NAMESPACE::Bool32 srgb_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceLegacyDitheringFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 legacyDithering_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkBufferMemoryBarrier2 VkBufferMemoryBarrier2
VULKAN_HPP_CONSTEXPR DispatchIndirectCommand(uint32_t x_={}, uint32_t y_={}, uint32_t z_={}) VULKAN_HPP_NOEXCEPT
DescriptorSetLayoutCreateInfo & operator=(VkDescriptorSetLayoutCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(DeviceGroupDeviceCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineViewportSwizzleStateCreateInfoNV & setPViewportSwizzles(const VULKAN_HPP_NAMESPACE::ViewportSwizzleNV *pViewportSwizzles_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setShaderCullDistance(VULKAN_HPP_NAMESPACE::Bool32 shaderCullDistance_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferCopy2 & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
ImageFormatListCreateInfo(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Format > const &viewFormats_, const void *pNext_=nullptr)
struct VkAcquireProfilingLockInfoKHR VkAcquireProfilingLockInfoKHR
ImageCopy2 & operator=(ImageCopy2 const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 BindVertexBufferIndirectCommandNV & setBufferAddress(VULKAN_HPP_NAMESPACE::DeviceAddress bufferAddress_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SparseMemoryBind & setSize(VULKAN_HPP_NAMESPACE::DeviceSize size_) VULKAN_HPP_NOEXCEPT
bool operator==(PipelineShaderStageCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceExternalBufferInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(DeviceGroupSubmitInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineColorBlendStateCreateInfo & setLogicOpEnable(VULKAN_HPP_NAMESPACE::Bool32 logicOpEnable_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyImage2D
RenderPassAttachmentBeginInfo & operator=(VkRenderPassAttachmentBeginInfo const &rhs) VULKAN_HPP_NOEXCEPT
struct VkDrawMeshTasksIndirectCommandEXT VkDrawMeshTasksIndirectCommandEXT
VULKAN_HPP_CONSTEXPR MicromapVersionInfoEXT(const uint8_t *pVersionData_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineCacheCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceScalarBlockLayoutFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
DescriptorSetLayoutCreateInfo & operator=(DescriptorSetLayoutCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
PhysicalDeviceConservativeRasterizationPropertiesEXT & operator=(VkPhysicalDeviceConservativeRasterizationPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorBufferFeaturesEXT & setDescriptorBufferImageLayoutIgnored(VULKAN_HPP_NAMESPACE::Bool32 descriptorBufferImageLayoutIgnored_) VULKAN_HPP_NOEXCEPT
WriteDescriptorSetInlineUniformBlock(VkWriteDescriptorSetInlineUniformBlock const &rhs) VULKAN_HPP_NOEXCEPT
struct VkVideoDecodeH264PictureInfoEXT VkVideoDecodeH264PictureInfoEXT
SubpassDependency2(VkSubpassDependency2 const &rhs) VULKAN_HPP_NOEXCEPT
DisplayProperties2KHR(VkDisplayProperties2KHR const &rhs) VULKAN_HPP_NOEXCEPT
TraceRaysIndirectCommandKHR(VkTraceRaysIndirectCommandKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan13Features & setPipelineCreationCacheControl(VULKAN_HPP_NAMESPACE::Bool32 pipelineCreationCacheControl_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorSetLayoutCreateInfo & setBindingCount(uint32_t bindingCount_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceDrmPropertiesEXT VkPhysicalDeviceDrmPropertiesEXT
PipelineViewportCoarseSampleOrderStateCreateInfoNV & setCustomSampleOrders(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV > const &customSampleOrders_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD(VULKAN_HPP_NAMESPACE::Bool32 shaderEarlyAndLateFragmentTests_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(AttachmentSampleCountInfoAMD const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceFloatControlsProperties(VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence denormBehaviorIndependence_=VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence::e32BitOnly, VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence roundingModeIndependence_=VULKAN_HPP_NAMESPACE::ShaderFloatControlsIndependence::e32BitOnly, VULKAN_HPP_NAMESPACE::Bool32 shaderSignedZeroInfNanPreserveFloat16_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderSignedZeroInfNanPreserveFloat32_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderSignedZeroInfNanPreserveFloat64_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat16_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat32_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderDenormPreserveFloat64_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat16_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat32_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderDenormFlushToZeroFloat64_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat16_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat32_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTEFloat64_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat16_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat32_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderRoundingModeRTZFloat64_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
SwapchainPresentBarrierCreateInfoNV(VkSwapchainPresentBarrierCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
CopyBufferInfo2(VULKAN_HPP_NAMESPACE::Buffer srcBuffer_, VULKAN_HPP_NAMESPACE::Buffer dstBuffer_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::BufferCopy2 > const &regions_, const void *pNext_=nullptr)
bool operator!=(WriteDescriptorSet const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorBufferBindingPushDescriptorBufferHandleEXT & setBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer_) VULKAN_HPP_NOEXCEPT
BlitImageInfo2 & operator=(BlitImageInfo2 const &rhs) VULKAN_HPP_NOEXCEPT=default
struct VkSurfaceCapabilitiesPresentBarrierNV VkSurfaceCapabilitiesPresentBarrierNV
VULKAN_HPP_CONSTEXPR_14 CooperativeMatrixPropertiesNV & setAType(VULKAN_HPP_NAMESPACE::ComponentTypeNV AType_) VULKAN_HPP_NOEXCEPT
ResolveImageInfo2 & operator=(VkResolveImageInfo2 const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceShadingRateImagePropertiesNV VkPhysicalDeviceShadingRateImagePropertiesNV
ExportSemaphoreCreateInfo & operator=(VkExportSemaphoreCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ResolveImageInfo2 & setPRegions(const VULKAN_HPP_NAMESPACE::ImageResolve2 *pRegions_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceVariablePointersFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyMemoryToMicromapInfoEXT & setDst(VULKAN_HPP_NAMESPACE::MicromapEXT dst_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderModuleIdentifierPropertiesEXT(VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineViewportExclusiveScissorStateCreateInfoNV & setExclusiveScissorCount(uint32_t exclusiveScissorCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageFormatInfo2 & setFlags(VULKAN_HPP_NAMESPACE::ImageCreateFlags flags_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceAddressBindingReportFeaturesEXT(VkPhysicalDeviceAddressBindingReportFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MutableDescriptorTypeCreateInfoEXT & setPMutableDescriptorTypeLists(const VULKAN_HPP_NAMESPACE::MutableDescriptorTypeListEXT *pMutableDescriptorTypeLists_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceVulkan13Properties const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DeviceDiagnosticsConfigCreateInfoNV(VULKAN_HPP_NAMESPACE::DeviceDiagnosticsConfigFlagsNV flags_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
InputAttachmentAspectReference & operator=(VkInputAttachmentAspectReference const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(SubpassFragmentDensityMapOffsetEndInfoQCOM const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MutableDescriptorTypeListEXT & setDescriptorTypeCount(uint32_t descriptorTypeCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setDepthBounds(VULKAN_HPP_NAMESPACE::Bool32 depthBounds_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 QueryPoolPerformanceCreateInfoKHR & setCounterIndexCount(uint32_t counterIndexCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImportMemoryFdInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ClearRect(VULKAN_HPP_NAMESPACE::Rect2D rect_={}, uint32_t baseArrayLayer_={}, uint32_t layerCount_={}) VULKAN_HPP_NOEXCEPT
bool operator!=(DescriptorSetLayoutCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AabbPositionsKHR & setMinZ(float minZ_) VULKAN_HPP_NOEXCEPT
struct VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfo
VULKAN_HPP_CONSTEXPR ImageMemoryRequirementsInfo2(VULKAN_HPP_NAMESPACE::Image image_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PipelineShaderStageRequiredSubgroupSizeCreateInfo & operator=(VkPipelineShaderStageRequiredSubgroupSizeCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR CopyMicromapInfoEXT(VULKAN_HPP_NAMESPACE::MicromapEXT src_={}, VULKAN_HPP_NAMESPACE::MicromapEXT dst_={}, VULKAN_HPP_NAMESPACE::CopyMicromapModeEXT mode_=VULKAN_HPP_NAMESPACE::CopyMicromapModeEXT::eClone, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR Offset2D(int32_t x_={}, int32_t y_={}) VULKAN_HPP_NOEXCEPT
RenderPassBeginInfo & operator=(VkRenderPassBeginInfo const &rhs) VULKAN_HPP_NOEXCEPT
OpticalFlowExecuteInfoNV(VULKAN_HPP_NAMESPACE::OpticalFlowExecuteFlagsNV flags_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Rect2D > const &regions_, void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier & setSrcQueueFamilyIndex(uint32_t srcQueueFamilyIndex_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceCornerSampledImageFeaturesNV(VkPhysicalDeviceCornerSampledImageFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
HeadlessSurfaceCreateInfoEXT(VkHeadlessSurfaceCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset
VULKAN_HPP_CONSTEXPR_14 PresentTimeGOOGLE & setPresentID(uint32_t presentID_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceFaultAddressInfoEXT & setAddressType(VULKAN_HPP_NAMESPACE::DeviceFaultAddressTypeEXT addressType_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDevicePipelineRobustnessFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RayTracingPipelineInterfaceCreateInfoKHR & setMaxPipelineRayPayloadSize(uint32_t maxPipelineRayPayloadSize_) VULKAN_HPP_NOEXCEPT
MutableDescriptorTypeListEXT(VkMutableDescriptorTypeListEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineColorWriteCreateInfoEXT & setAttachmentCount(uint32_t attachmentCount_) VULKAN_HPP_NOEXCEPT
struct VkPipelineMultisampleStateCreateInfo VkPipelineMultisampleStateCreateInfo
VULKAN_HPP_CONSTEXPR_14 CopyMemoryToImageIndirectCommandNV & setSrcAddress(VULKAN_HPP_NAMESPACE::DeviceAddress srcAddress_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setShaderInt64(VULKAN_HPP_NAMESPACE::Bool32 shaderInt64_) VULKAN_HPP_NOEXCEPT
bool operator==(DeviceGroupBindSparseInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(FramebufferCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MultiDrawInfoEXT & setFirstVertex(uint32_t firstVertex_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SamplerCreateInfo & setMinFilter(VULKAN_HPP_NAMESPACE::Filter minFilter_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageSwapchainCreateInfoKHR & setSwapchain(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain_) VULKAN_HPP_NOEXCEPT
bool operator!=(DeviceGroupCommandBufferBeginInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VertexInputBindingDescription & operator=(VkVertexInputBindingDescription const &rhs) VULKAN_HPP_NOEXCEPT
struct VkVideoDecodeCapabilitiesKHR VkVideoDecodeCapabilitiesKHR
PhysicalDeviceImageDrmFormatModifierInfoEXT(VkPhysicalDeviceImageDrmFormatModifierInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentShadingRateFeaturesKHR & setPipelineFragmentShadingRate(VULKAN_HPP_NAMESPACE::Bool32 pipelineFragmentShadingRate_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR QueryPoolPerformanceQueryCreateInfoINTEL(VULKAN_HPP_NAMESPACE::QueryPoolSamplingModeINTEL performanceCountersSampling_=VULKAN_HPP_NAMESPACE::QueryPoolSamplingModeINTEL::eManual, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceRayTracingPropertiesNV const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(ViewportSwizzleNV const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDevice4444FormatsFeaturesEXT(VkPhysicalDevice4444FormatsFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkDescriptorBufferInfo VkDescriptorBufferInfo
VULKAN_HPP_CONSTEXPR_14 SubpassDescription & setPInputAttachments(const VULKAN_HPP_NAMESPACE::AttachmentReference *pInputAttachments_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::CopyMicromapModeEXT mode
struct VkCopyBufferInfo2 VkCopyBufferInfo2
VULKAN_HPP_NAMESPACE::SparseMemoryBindFlags flags
struct VkImageFormatListCreateInfo VkImageFormatListCreateInfo
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentShadingRateEnumsFeaturesNV & setFragmentShadingRateEnums(VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateEnums_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DescriptorImageInfo(VULKAN_HPP_NAMESPACE::Sampler sampler_={}, VULKAN_HPP_NAMESPACE::ImageView imageView_={}, VULKAN_HPP_NAMESPACE::ImageLayout imageLayout_=VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined) VULKAN_HPP_NOEXCEPT
DescriptorSetVariableDescriptorCountAllocateInfo & operator=(VkDescriptorSetVariableDescriptorCountAllocateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PushConstantRange(VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags_={}, uint32_t offset_={}, uint32_t size_={}) VULKAN_HPP_NOEXCEPT
DebugMarkerObjectTagInfoEXT & operator=(VkDebugMarkerObjectTagInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
PresentIdKHR & operator=(VkPresentIdKHR const &rhs) VULKAN_HPP_NOEXCEPT
StridedDeviceAddressRegionKHR(VkStridedDeviceAddressRegionKHR const &rhs) VULKAN_HPP_NOEXCEPT
struct VkQueryPoolCreateInfo VkQueryPoolCreateInfo
struct VkPhysicalDeviceMeshShaderFeaturesNV VkPhysicalDeviceMeshShaderFeaturesNV
PhysicalDeviceTransformFeedbackPropertiesEXT & operator=(VkPhysicalDeviceTransformFeedbackPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CuModuleCreateInfoNVX & setPData(const void *pData_) VULKAN_HPP_NOEXCEPT
bool operator!=(ImageFormatListCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR MultisamplePropertiesEXT(VULKAN_HPP_NAMESPACE::Extent2D maxSampleLocationGridSize_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVertexAttributeDivisorFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyMemoryToAccelerationStructureInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugUtilsObjectTagInfoEXT & setPTag(const void *pTag_) VULKAN_HPP_NOEXCEPT
struct VkDebugReportCallbackCreateInfoEXT VkDebugReportCallbackCreateInfoEXT
VULKAN_HPP_CONSTEXPR_14 MicromapVersionInfoEXT & setPVersionData(const uint8_t *pVersionData_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorIndexingFeatures & setShaderUniformTexelBufferArrayDynamicIndexing(VULKAN_HPP_NAMESPACE::Bool32 shaderUniformTexelBufferArrayDynamicIndexing_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassInputAttachmentAspectCreateInfo & setPAspectReferences(const VULKAN_HPP_NAMESPACE::InputAttachmentAspectReference *pAspectReferences_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugMarkerObjectTagInfoEXT & setPTag(const void *pTag_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageDrmFormatModifierExplicitCreateInfoEXT & setDrmFormatModifierPlaneCount(uint32_t drmFormatModifierPlaneCount_) VULKAN_HPP_NOEXCEPT
struct VkDecompressMemoryRegionNV VkDecompressMemoryRegionNV
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorIndexingFeatures & setDescriptorBindingUpdateUnusedWhilePending(VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUpdateUnusedWhilePending_) VULKAN_HPP_NOEXCEPT
PipelineLibraryCreateInfoKHR & setLibraries(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Pipeline > const &libraries_) VULKAN_HPP_NOEXCEPT
ExternalMemoryProperties ExternalMemoryPropertiesKHR
VULKAN_HPP_NAMESPACE::DeviceSize offset
VULKAN_HPP_CONSTEXPR_14 BufferDeviceAddressInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR WriteDescriptorSet(VULKAN_HPP_NAMESPACE::DescriptorSet dstSet_={}, uint32_t dstBinding_={}, uint32_t dstArrayElement_={}, uint32_t descriptorCount_={}, VULKAN_HPP_NAMESPACE::DescriptorType descriptorType_=VULKAN_HPP_NAMESPACE::DescriptorType::eSampler, const VULKAN_HPP_NAMESPACE::DescriptorImageInfo *pImageInfo_={}, const VULKAN_HPP_NAMESPACE::DescriptorBufferInfo *pBufferInfo_={}, const VULKAN_HPP_NAMESPACE::BufferView *pTexelBufferView_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageCopy2 & setDstSubresource(VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const &dstSubresource_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceTilePropertiesFeaturesQCOM const &rhs) const VULKAN_HPP_NOEXCEPT
CommandPoolCreateInfo & operator=(CommandPoolCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 PerformanceOverrideInfoINTEL & setType(VULKAN_HPP_NAMESPACE::PerformanceOverrideTypeINTEL type_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageFormatInfo2 & setFormat(VULKAN_HPP_NAMESPACE::Format format_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryTrianglesDataKHR & setIndexType(VULKAN_HPP_NAMESPACE::IndexType indexType_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineColorBlendAdvancedStateCreateInfoEXT & setBlendOverlap(VULKAN_HPP_NAMESPACE::BlendOverlapEXT blendOverlap_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 TilePropertiesQCOM & setTileSize(VULKAN_HPP_NAMESPACE::Extent3D const &tileSize_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderSMBuiltinsFeaturesNV(VkPhysicalDeviceShaderSMBuiltinsFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageCreateInfo & setFormat(VULKAN_HPP_NAMESPACE::Format format_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceASTCDecodeFeaturesEXT(VkPhysicalDeviceASTCDecodeFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
CommandBufferInheritanceRenderPassTransformInfoQCOM & operator=(VkCommandBufferInheritanceRenderPassTransformInfoQCOM const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRayQueryFeaturesKHR & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
SubmitInfo2(VULKAN_HPP_NAMESPACE::SubmitFlags flags_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SemaphoreSubmitInfo > const &waitSemaphoreInfos_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::CommandBufferSubmitInfo > const &commandBufferInfos_={}, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SemaphoreSubmitInfo > const &signalSemaphoreInfos_={}, const void *pNext_=nullptr)
GraphicsPipelineShaderGroupsCreateInfoNV & setGroups(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::GraphicsShaderGroupCreateInfoNV > const &groups_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
PhysicalDeviceScalarBlockLayoutFeatures(VkPhysicalDeviceScalarBlockLayoutFeatures const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DeviceGroupPresentInfoKHR(uint32_t swapchainCount_={}, const uint32_t *pDeviceMasks_={}, VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagBitsKHR mode_=VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagBitsKHR::eLocal, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AttachmentDescription2 & setStencilLoadOp(VULKAN_HPP_NAMESPACE::AttachmentLoadOp stencilLoadOp_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceDescriptorIndexingProperties(uint32_t maxUpdateAfterBindDescriptorsInAllPools_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayNonUniformIndexingNative_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayNonUniformIndexingNative_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayNonUniformIndexingNative_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayNonUniformIndexingNative_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayNonUniformIndexingNative_={}, VULKAN_HPP_NAMESPACE::Bool32 robustBufferAccessUpdateAfterBind_={}, VULKAN_HPP_NAMESPACE::Bool32 quadDivergentImplicitLod_={}, uint32_t maxPerStageDescriptorUpdateAfterBindSamplers_={}, uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers_={}, uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers_={}, uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages_={}, uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages_={}, uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments_={}, uint32_t maxPerStageUpdateAfterBindResources_={}, uint32_t maxDescriptorSetUpdateAfterBindSamplers_={}, uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers_={}, uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic_={}, uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers_={}, uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic_={}, uint32_t maxDescriptorSetUpdateAfterBindSampledImages_={}, uint32_t maxDescriptorSetUpdateAfterBindStorageImages_={}, uint32_t maxDescriptorSetUpdateAfterBindInputAttachments_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
AccelerationStructureTrianglesOpacityMicromapEXT(VULKAN_HPP_NAMESPACE::IndexType indexType_, VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR indexBuffer_, VULKAN_HPP_NAMESPACE::DeviceSize indexStride_, uint32_t baseTriangle_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::MicromapUsageEXT > const &usageCounts_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::MicromapUsageEXT *const > const &pUsageCounts_={}, VULKAN_HPP_NAMESPACE::MicromapEXT micromap_={}, void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceTexelBufferAlignmentFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureCaptureDescriptorDataInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceDiagnosticsConfigFeaturesNV(VULKAN_HPP_NAMESPACE::Bool32 diagnosticsConfig_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDepthClampZeroOneFeaturesEXT & setDepthClampZeroOne(VULKAN_HPP_NAMESPACE::Bool32 depthClampZeroOne_) VULKAN_HPP_NOEXCEPT
struct VkImageBlit VkImageBlit
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
T * data() const VULKAN_HPP_NOEXCEPT
Definition: vulkan.hpp:840
ImageFormatProperties & operator=(VkImageFormatProperties const &rhs) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 DrawMeshTasksIndirectCommandEXT & setGroupCountY(uint32_t groupCountY_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::GeometryTrianglesNV triangles
VULKAN_HPP_CONSTEXPR_14 RenderingAttachmentInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceUniformBufferStandardLayoutFeatures(VULKAN_HPP_NAMESPACE::Bool32 uniformBufferStandardLayout_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 MultisampledRenderToSingleSampledInfoEXT & setRasterizationSamples(VULKAN_HPP_NAMESPACE::SampleCountFlagBits rasterizationSamples_) VULKAN_HPP_NOEXCEPT
BindSparseInfo(VkBindSparseInfo const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceExternalBufferInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceGroupProperties(uint32_t physicalDeviceCount_={}, std::array< VULKAN_HPP_NAMESPACE::PhysicalDevice, VK_MAX_DEVICE_GROUP_SIZE > const &physicalDevices_={}, VULKAN_HPP_NAMESPACE::Bool32 subsetAllocation_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MicromapCreateInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageSubresourceRange & setBaseArrayLayer(uint32_t baseArrayLayer_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageCopy2 & setSrcOffset(VULKAN_HPP_NAMESPACE::Offset3D const &srcOffset_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ConformanceVersion & setMajor(uint8_t major_) VULKAN_HPP_NOEXCEPT
BindImageMemoryDeviceGroupInfo & setSplitInstanceBindRegions(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Rect2D > const &splitInstanceBindRegions_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceCopyMemoryIndirectFeaturesNV(VULKAN_HPP_NAMESPACE::Bool32 indirectCopy_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkSurfaceCapabilities2EXT VkSurfaceCapabilities2EXT
struct VkPhysicalDeviceIDProperties VkPhysicalDeviceIDProperties
VULKAN_HPP_CONSTEXPR_14 TraceRaysIndirectCommand2KHR & setWidth(uint32_t width_) VULKAN_HPP_NOEXCEPT
FenceGetFdInfoKHR & operator=(VkFenceGetFdInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(ShaderModuleIdentifierEXT const &rhs) const VULKAN_HPP_NOEXCEPT
PresentRegionsKHR & setRegions(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::PresentRegionKHR > const &regions_) VULKAN_HPP_NOEXCEPT
PipelineViewportStateCreateInfo(VULKAN_HPP_NAMESPACE::PipelineViewportStateCreateFlags flags_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Viewport > const &viewports_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Rect2D > const &scissors_={}, const void *pNext_=nullptr)
SurfaceFormat2KHR(VkSurfaceFormat2KHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubpassDependency & setDstAccessMask(VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PresentTimeGOOGLE & setDesiredPresentTime(uint64_t desiredPresentTime_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceGroupSubmitInfo & setPWaitSemaphoreDeviceIndices(const uint32_t *pWaitSemaphoreDeviceIndices_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDevicePerformanceQueryPropertiesKHR(VULKAN_HPP_NAMESPACE::Bool32 allowCommandBufferQueryCopies_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageMemoryBarrier2 & setNewLayout(VULKAN_HPP_NAMESPACE::ImageLayout newLayout_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRobustnessCreateInfoEXT & setImages(VULKAN_HPP_NAMESPACE::PipelineRobustnessImageBehaviorEXT images_) VULKAN_HPP_NOEXCEPT
bool operator==(PipelineViewportStateCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR RenderPassAttachmentBeginInfo(uint32_t attachmentCount_={}, const VULKAN_HPP_NAMESPACE::ImageView *pAttachments_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceLinearColorAttachmentFeaturesNV(VULKAN_HPP_NAMESPACE::Bool32 linearColorAttachment_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AcquireProfilingLockInfoKHR & setTimeout(uint64_t timeout_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR EventCreateInfo(VULKAN_HPP_NAMESPACE::EventCreateFlags flags_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PipelineCacheCreateInfo & operator=(VkPipelineCacheCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
struct VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatProperties
VULKAN_HPP_CONSTEXPR_14 PipelineCoverageToColorStateCreateInfoNV & setFlags(VULKAN_HPP_NAMESPACE::PipelineCoverageToColorStateCreateFlagsNV flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorIndexingFeatures & setShaderStorageTexelBufferArrayNonUniformIndexing(VULKAN_HPP_NAMESPACE::Bool32 shaderStorageTexelBufferArrayNonUniformIndexing_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVariablePointersFeatures & setVariablePointersStorageBuffer(VULKAN_HPP_NAMESPACE::Bool32 variablePointersStorageBuffer_) VULKAN_HPP_NOEXCEPT
struct VkImageViewCaptureDescriptorDataInfoEXT VkImageViewCaptureDescriptorDataInfoEXT
FenceGetFdInfoKHR(VkFenceGetFdInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceCoverageReductionModeFeaturesNV & operator=(VkPhysicalDeviceCoverageReductionModeFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
const VULKAN_HPP_NAMESPACE::SpecializationInfo * pSpecializationInfo
FormatProperties3 & operator=(VkFormatProperties3 const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(MemoryDedicatedAllocateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceVulkan12Features VkPhysicalDeviceVulkan12Features
VULKAN_HPP_CONSTEXPR BufferDeviceAddressCreateInfoEXT(VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PhysicalDeviceFragmentDensityMap2PropertiesEXT & operator=(VkPhysicalDeviceFragmentDensityMap2PropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MicromapBuildInfoEXT & setPpUsageCounts(const VULKAN_HPP_NAMESPACE::MicromapUsageEXT *const *ppUsageCounts_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setShaderClipDistance(VULKAN_HPP_NAMESPACE::Bool32 shaderClipDistance_) VULKAN_HPP_NOEXCEPT
bool operator==(OpticalFlowSessionCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
DeviceGroupRenderPassBeginInfo & operator=(VkDeviceGroupRenderPassBeginInfo const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(DisplayPlaneProperties2KHR const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkAcquireNextImageInfoKHR VkAcquireNextImageInfoKHR
VULKAN_HPP_CONSTEXPR PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 imageCompressionControlSwapchain_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::AccelerationStructureKHR src
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExternalMemoryRDMAFeaturesNV & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT VkPhysicalDeviceExternalMemoryHostPropertiesEXT
VULKAN_HPP_CONSTEXPR_14 OpticalFlowSessionCreateInfoNV & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::BlendOp colorBlendOp
struct VkCopyMemoryIndirectCommandNV VkCopyMemoryIndirectCommandNV
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureInstanceKHR & setTransform(VULKAN_HPP_NAMESPACE::TransformMatrixKHR const &transform_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GeometryAABBNV & setStride(uint32_t stride_) VULKAN_HPP_NOEXCEPT
struct VkVideoEncodeInfoKHR VkVideoEncodeInfoKHR
struct VkPipelineColorWriteCreateInfoEXT VkPipelineColorWriteCreateInfoEXT
VULKAN_HPP_CONSTEXPR_14 PipelineColorBlendStateCreateInfo & setFlags(VULKAN_HPP_NAMESPACE::PipelineColorBlendStateCreateFlags flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PerformanceQuerySubmitInfoKHR(uint32_t counterPassIndex_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkExternalMemoryProperties VkExternalMemoryProperties
bool operator!=(PipelineFragmentShadingRateStateCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceDeviceGeneratedCommandsPropertiesNV & operator=(VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineColorBlendStateCreateInfo & setBlendConstants(std::array< float, 4 > blendConstants_) VULKAN_HPP_NOEXCEPT
SwapchainCounterCreateInfoEXT & operator=(VkSwapchainCounterCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkBindVideoSessionMemoryInfoKHR VkBindVideoSessionMemoryInfoKHR
VULKAN_HPP_CONSTEXPR_14 PresentInfoKHR & setPResults(VULKAN_HPP_NAMESPACE::Result *pResults_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRayTracingPipelineFeaturesKHR & setRayTracingPipelineShaderGroupHandleCaptureReplayMixed(VULKAN_HPP_NAMESPACE::Bool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed_) VULKAN_HPP_NOEXCEPT
bool operator!=(ShaderResourceUsageAMD const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkAccelerationStructureGeometryKHR VkAccelerationStructureGeometryKHR
VULKAN_HPP_CONSTEXPR PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV(VULKAN_HPP_NAMESPACE::Bool32 dedicatedAllocationImageAliasing_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PipelineShaderStageCreateInfo(VkPipelineShaderStageCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesOpacityMicromapEXT & setIndexBuffer(VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR const &indexBuffer_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineCoverageModulationStateCreateInfoNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfo
bool operator==(FenceCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
const VULKAN_HPP_NAMESPACE::MicromapUsageEXT *const * ppUsageCounts
bool operator==(ImageMemoryBarrier const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(ClearDepthStencilValue const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkDeviceFaultVendorBinaryHeaderVersionOneEXT VkDeviceFaultVendorBinaryHeaderVersionOneEXT
VULKAN_HPP_NAMESPACE::SampleCountFlagBits rasterizationSamples
VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier2 & setDstStageMask(VULKAN_HPP_NAMESPACE::PipelineStageFlags2 dstStageMask_) VULKAN_HPP_NOEXCEPT
BufferImageCopy2 & operator=(BufferImageCopy2 const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator==(DebugUtilsMessengerCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubpassDescription2 & setPipelineBindPoint(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_) VULKAN_HPP_NOEXCEPT
BufferViewCreateInfo & operator=(BufferViewCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
struct VkVideoEncodeH264QpEXT VkVideoEncodeH264QpEXT
bool operator==(PipelineLayoutCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
AccelerationStructureTrianglesOpacityMicromapEXT & setPUsageCounts(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::MicromapUsageEXT *const > const &pUsageCounts_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceBufferDeviceAddressFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCoherentMemoryFeaturesAMD & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkImageViewHandleInfoNVX VkImageViewHandleInfoNVX
VULKAN_HPP_CONSTEXPR PhysicalDeviceTexelBufferAlignmentFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 texelBufferAlignment_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
union VkPerformanceValueDataINTEL VkPerformanceValueDataINTEL
union VkDescriptorDataEXT VkDescriptorDataEXT
struct VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfo
VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags
VULKAN_HPP_CONSTEXPR_14 AttachmentDescription2 & setInitialLayout(VULKAN_HPP_NAMESPACE::ImageLayout initialLayout_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
ProtectedSubmitInfo & operator=(VkProtectedSubmitInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCallbackDataEXT & setQueueLabelCount(uint32_t queueLabelCount_) VULKAN_HPP_NOEXCEPT
ShaderModuleCreateInfo(VULKAN_HPP_NAMESPACE::ShaderModuleCreateFlags flags_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &code_, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR AccelerationStructureDeviceAddressInfoKHR(VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 multisampledRenderToSingleSampled_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CommandBufferAllocateInfo & setLevel(VULKAN_HPP_NAMESPACE::CommandBufferLevel level_) VULKAN_HPP_NOEXCEPT
bool operator!=(InitializePerformanceApiInfoINTEL const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::PipelineStageFlags2 srcStageMask
CopyMemoryToImageIndirectCommandNV(VkCopyMemoryToImageIndirectCommandNV const &rhs) VULKAN_HPP_NOEXCEPT
SparseImageMemoryBindInfo & setBinds(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SparseImageMemoryBind > const &binds_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::QueryControlFlags queryFlags
struct VkColorBlendEquationEXT VkColorBlendEquationEXT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMultiviewFeatures & setMultiviewGeometryShader(VULKAN_HPP_NAMESPACE::Bool32 multiviewGeometryShader_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageMemoryBarrier & setOldLayout(VULKAN_HPP_NAMESPACE::ImageLayout oldLayout_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure
PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL(VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType
bool operator==(AccelerationStructureBuildRangeInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceAccelerationStructureFeaturesKHR & setDescriptorBindingAccelerationStructureUpdateAfterBind(VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingAccelerationStructureUpdateAfterBind_) VULKAN_HPP_NOEXCEPT
PipelineRobustnessCreateInfoEXT(VkPipelineRobustnessCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
DescriptorAddressInfoEXT & operator=(DescriptorAddressInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT=default
PhysicalDeviceRGBA10X6FormatsFeaturesEXT(VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyDescriptorSet & setSrcArrayElement(uint32_t srcArrayElement_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ColorBlendEquationEXT & setSrcColorBlendFactor(VULKAN_HPP_NAMESPACE::BlendFactor srcColorBlendFactor_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineCacheHeaderVersionOne & setDeviceID(uint32_t deviceID_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SamplerYcbcrConversionCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorIndexingFeatures & setDescriptorBindingStorageBufferUpdateAfterBind(VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageBufferUpdateAfterBind_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setShaderStorageImageArrayNonUniformIndexing(VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayNonUniformIndexing_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState3FeaturesEXT & setExtendedDynamicState3CoverageToColorLocation(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3CoverageToColorLocation_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceCopyMemoryIndirectPropertiesNV & operator=(VkPhysicalDeviceCopyMemoryIndirectPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceAccelerationStructureFeaturesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkMicromapVersionInfoEXT VkMicromapVersionInfoEXT
bool operator!=(AttachmentDescription const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR AttachmentReferenceStencilLayout(VULKAN_HPP_NAMESPACE::ImageLayout stencilLayout_=VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
DedicatedAllocationImageCreateInfoNV & operator=(VkDedicatedAllocationImageCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(RenderPassSubpassFeedbackInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryAabbsDataKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 TraceRaysIndirectCommand2KHR & setMissShaderBindingTableSize(VULKAN_HPP_NAMESPACE::DeviceSize missShaderBindingTableSize_) VULKAN_HPP_NOEXCEPT
struct VkQueueFamilyQueryResultStatusPropertiesKHR VkQueueFamilyQueryResultStatusPropertiesKHR
VULKAN_HPP_CONSTEXPR_14 SparseImageMemoryBind & setFlags(VULKAN_HPP_NAMESPACE::SparseMemoryBindFlags flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SparseMemoryBind & setMemoryOffset(VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_) VULKAN_HPP_NOEXCEPT
struct VkVideoEncodeH265EmitPictureParametersInfoEXT VkVideoEncodeH265EmitPictureParametersInfoEXT
unsigned int uint32
Definition: SYS_Types.h:40
RenderPassSubpassFeedbackCreateInfoEXT(VkRenderPassSubpassFeedbackCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineCreationFeedbackCreateInfo(VULKAN_HPP_NAMESPACE::PipelineCreationFeedback *pPipelineCreationFeedback_={}, uint32_t pipelineStageCreationFeedbackCount_={}, VULKAN_HPP_NAMESPACE::PipelineCreationFeedback *pPipelineStageCreationFeedbacks_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
ImageMemoryBarrier & operator=(VkImageMemoryBarrier const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceCooperativeMatrixPropertiesNV & operator=(VkPhysicalDeviceCooperativeMatrixPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT
const VULKAN_HPP_NAMESPACE::Sampler * pImmutableSamplers
VULKAN_HPP_CONSTEXPR DeviceEventInfoEXT(VULKAN_HPP_NAMESPACE::DeviceEventTypeEXT deviceEvent_=VULKAN_HPP_NAMESPACE::DeviceEventTypeEXT::eDisplayHotplug, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ValidationCacheCreateInfoEXT & setFlags(VULKAN_HPP_NAMESPACE::ValidationCacheCreateFlagsEXT flags_) VULKAN_HPP_NOEXCEPT
PipelineCoverageModulationStateCreateInfoNV(VULKAN_HPP_NAMESPACE::PipelineCoverageModulationStateCreateFlagsNV flags_, VULKAN_HPP_NAMESPACE::CoverageModulationModeNV coverageModulationMode_, VULKAN_HPP_NAMESPACE::Bool32 coverageModulationTableEnable_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const float > const &coverageModulationTable_, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR PhysicalDeviceDescriptorBufferFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 descriptorBuffer_={}, VULKAN_HPP_NAMESPACE::Bool32 descriptorBufferCaptureReplay_={}, VULKAN_HPP_NAMESPACE::Bool32 descriptorBufferImageLayoutIgnored_={}, VULKAN_HPP_NAMESPACE::Bool32 descriptorBufferPushDescriptors_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkMappedMemoryRange VkMappedMemoryRange
VULKAN_HPP_CONSTEXPR_14 DeviceOrHostAddressKHR(void *hostAddress_)
VULKAN_HPP_CONSTEXPR PhysicalDeviceImageRobustnessFeatures(VULKAN_HPP_NAMESPACE::Bool32 robustImageAccess_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 HdrMetadataEXT & setMaxFrameAverageLightLevel(float maxFrameAverageLightLevel_) VULKAN_HPP_NOEXCEPT
CommandBufferSubmitInfo(VkCommandBufferSubmitInfo const &rhs) VULKAN_HPP_NOEXCEPT
ExportMemoryAllocateInfoNV & operator=(VkExportMemoryAllocateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DecompressMemoryRegionNV(VULKAN_HPP_NAMESPACE::DeviceAddress srcAddress_={}, VULKAN_HPP_NAMESPACE::DeviceAddress dstAddress_={}, VULKAN_HPP_NAMESPACE::DeviceSize compressedSize_={}, VULKAN_HPP_NAMESPACE::DeviceSize decompressedSize_={}, VULKAN_HPP_NAMESPACE::MemoryDecompressionMethodFlagsNV decompressionMethod_={}) VULKAN_HPP_NOEXCEPT
struct VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayout
bool operator!=(PhysicalDeviceVertexAttributeDivisorPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceProperties VkPhysicalDeviceProperties
CheckpointDataNV(VkCheckpointDataNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState3FeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(QueryPoolCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
PipelineColorBlendStateCreateInfo & setAttachments(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::PipelineColorBlendAttachmentState > const &attachments_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineRasterizationStateRasterizationOrderAMD(VULKAN_HPP_NAMESPACE::RasterizationOrderAMD rasterizationOrder_=VULKAN_HPP_NAMESPACE::RasterizationOrderAMD::eStrict, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderingFragmentShadingRateAttachmentInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(PresentTimeGOOGLE const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(DeviceCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
PresentIdKHR & setPresentIds(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint64_t > const &presentIds_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureInfoNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
RenderPassFragmentDensityMapCreateInfoEXT(VkRenderPassFragmentDensityMapCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceBufferDeviceAddressFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkImageDrmFormatModifierExplicitCreateInfoEXT VkImageDrmFormatModifierExplicitCreateInfoEXT
VULKAN_HPP_CONSTEXPR_14 CopyImageToBufferInfo2 & setSrcImage(VULKAN_HPP_NAMESPACE::Image srcImage_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassSampleLocationsBeginInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DeviceBufferMemoryRequirements(const VULKAN_HPP_NAMESPACE::BufferCreateInfo *pCreateInfo_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
Extent2D(VkExtent2D const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SparseImageMemoryBind & setOffset(VULKAN_HPP_NAMESPACE::Offset3D const &offset_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineShaderStageCreateInfo & setModule(VULKAN_HPP_NAMESPACE::ShaderModule module_) VULKAN_HPP_NOEXCEPT
AttachmentReferenceStencilLayout & operator=(VkAttachmentReferenceStencilLayout const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageCaptureDescriptorDataInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceBlendOperationAdvancedFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ResolveImageInfo2 & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
PerformanceOverrideInfoINTEL(VkPerformanceOverrideInfoINTEL const &rhs) VULKAN_HPP_NOEXCEPT
struct VkDisplayPlaneCapabilities2KHR VkDisplayPlaneCapabilities2KHR
VULKAN_HPP_CONSTEXPR ImageViewUsageCreateInfo(VULKAN_HPP_NAMESPACE::ImageUsageFlags usage_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceBufferMemoryRequirements & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkOffset2D VkOffset2D
DescriptorPoolCreateInfo & setPoolSizes(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::DescriptorPoolSize > const &poolSizes_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageViewSampleWeightCreateInfoQCOM & setNumPhases(uint32_t numPhases_) VULKAN_HPP_NOEXCEPT
GLint GLsizei width
Definition: glcorearb.h:103
VULKAN_HPP_CONSTEXPR_14 StridedDeviceAddressRegionKHR & setStride(VULKAN_HPP_NAMESPACE::DeviceSize stride_) VULKAN_HPP_NOEXCEPT
ExternalImageFormatProperties & operator=(VkExternalImageFormatProperties const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(DebugMarkerObjectNameInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorSetBindingReferenceVALVE & setBinding(uint32_t binding_) VULKAN_HPP_NOEXCEPT
bool operator!=(SpecializationInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(DebugUtilsMessengerCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkDisplayPlaneInfo2KHR VkDisplayPlaneInfo2KHR
VULKAN_HPP_CONSTEXPR_14 BufferCopy2 & setSrcOffset(VULKAN_HPP_NAMESPACE::DeviceSize srcOffset_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 pageableDeviceLocalMemory_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
ExternalMemoryBufferCreateInfo & operator=(VkExternalMemoryBufferCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT VkPhysicalDeviceIndexTypeUint8FeaturesEXT
CoarseSampleOrderCustomNV & operator=(CoarseSampleOrderCustomNV const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 BindSparseInfo & setPImageOpaqueBinds(const VULKAN_HPP_NAMESPACE::SparseImageOpaqueMemoryBindInfo *pImageOpaqueBinds_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DescriptorType descriptorType
DependencyInfo & operator=(VkDependencyInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyImageInfo2 & setPRegions(const VULKAN_HPP_NAMESPACE::ImageCopy2 *pRegions_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceBlendOperationAdvancedFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceDepthClipEnableFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 depthClipEnable_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceShaderImageAtomicInt64FeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDevicePerformanceQueryPropertiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 HeadlessSurfaceCreateInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
ClearAttachment & operator=(VkClearAttachment const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::PipelineStageFlags2 dstStageMask
VULKAN_HPP_CONSTEXPR_14 BindImageMemoryDeviceGroupInfo & setPDeviceIndices(const uint32_t *pDeviceIndices_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SRTDataNV & setA(float a_) VULKAN_HPP_NOEXCEPT
struct VkSurfaceCapabilities2KHR VkSurfaceCapabilities2KHR
struct VkVideoEncodeH264VclFrameInfoEXT VkVideoEncodeH264VclFrameInfoEXT
VULKAN_HPP_CONSTEXPR AccelerationStructureBuildSizesInfoKHR(VULKAN_HPP_NAMESPACE::DeviceSize accelerationStructureSize_={}, VULKAN_HPP_NAMESPACE::DeviceSize updateScratchSize_={}, VULKAN_HPP_NAMESPACE::DeviceSize buildScratchSize_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceFragmentDensityMapPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
bool operator==(PipelineViewportShadingRateImageStateCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
PipelineViewportCoarseSampleOrderStateCreateInfoNV(VkPipelineViewportCoarseSampleOrderStateCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
IndirectCommandsStreamNV & operator=(VkIndirectCommandsStreamNV const &rhs) VULKAN_HPP_NOEXCEPT
RayTracingPipelineInterfaceCreateInfoKHR & operator=(VkRayTracingPipelineInterfaceCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineViewportWScalingStateCreateInfoNV(VULKAN_HPP_NAMESPACE::Bool32 viewportWScalingEnable_={}, uint32_t viewportCount_={}, const VULKAN_HPP_NAMESPACE::ViewportWScalingNV *pViewportWScalings_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
MemoryGetRemoteAddressInfoNV & operator=(VkMemoryGetRemoteAddressInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceGroupSubmitInfo & setSignalSemaphoreCount(uint32_t signalSemaphoreCount_) VULKAN_HPP_NOEXCEPT
RayTracingPipelineCreateInfoKHR(VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo > const &stages_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoKHR > const &groups_={}, uint32_t maxPipelineRayRecursionDepth_={}, const VULKAN_HPP_NAMESPACE::PipelineLibraryCreateInfoKHR *pLibraryInfo_={}, const VULKAN_HPP_NAMESPACE::RayTracingPipelineInterfaceCreateInfoKHR *pLibraryInterface_={}, const VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateInfo *pDynamicState_={}, VULKAN_HPP_NAMESPACE::PipelineLayout layout_={}, VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle_={}, int32_t basePipelineIndex_={}, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR OpticalFlowExecuteInfoNV(VULKAN_HPP_NAMESPACE::OpticalFlowExecuteFlagsNV flags_={}, uint32_t regionCount_={}, const VULKAN_HPP_NAMESPACE::Rect2D *pRegions_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
InputAttachmentAspectReference InputAttachmentAspectReferenceKHR
bool operator!=(SwapchainDisplayNativeHdrCreateInfoAMD const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 OpticalFlowExecuteInfoNV & setFlags(VULKAN_HPP_NAMESPACE::OpticalFlowExecuteFlagsNV flags_) VULKAN_HPP_NOEXCEPT
SubpassFragmentDensityMapOffsetEndInfoQCOM & setFragmentDensityOffsets(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Offset2D > const &fragmentDensityOffsets_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PerformanceCounterResultKHR(uint32_t uint32_)
VULKAN_HPP_CONSTEXPR_14 MicromapUsageEXT & setCount(uint32_t count_) VULKAN_HPP_NOEXCEPT
CommandBufferAllocateInfo(VkCommandBufferAllocateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineCreationFeedbackCreateInfo & setPPipelineStageCreationFeedbacks(VULKAN_HPP_NAMESPACE::PipelineCreationFeedback *pPipelineStageCreationFeedbacks_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceSubgroupProperties const &rhs) const VULKAN_HPP_NOEXCEPT
SemaphoreGetFdInfoKHR(VkSemaphoreGetFdInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceFaultCountsEXT & setVendorInfoCount(uint32_t vendorInfoCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR FenceCreateInfo(VULKAN_HPP_NAMESPACE::FenceCreateFlags flags_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
ShaderModuleIdentifierEXT(VkShaderModuleIdentifierEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setShaderTessellationAndGeometryPointSize(VULKAN_HPP_NAMESPACE::Bool32 shaderTessellationAndGeometryPointSize_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setGeometryShader(VULKAN_HPP_NAMESPACE::Bool32 geometryShader_) VULKAN_HPP_NOEXCEPT
MemoryBarrier2(VkMemoryBarrier2 const &rhs) VULKAN_HPP_NOEXCEPT
ImageFormatListCreateInfo & setViewFormats(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Format > const &viewFormats_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
DescriptorSetLayoutBindingFlagsCreateInfo & setBindingFlags(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::DescriptorBindingFlags > const &bindingFlags_) VULKAN_HPP_NOEXCEPT
BindBufferMemoryDeviceGroupInfo & operator=(VkBindBufferMemoryDeviceGroupInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentShadingRateEnumsFeaturesNV(VULKAN_HPP_NAMESPACE::Bool32 fragmentShadingRateEnums_={}, VULKAN_HPP_NAMESPACE::Bool32 supersampleFragmentShadingRates_={}, VULKAN_HPP_NAMESPACE::Bool32 noInvocationFragmentShadingRates_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 LayerProperties(std::array< char, VK_MAX_EXTENSION_NAME_SIZE > const &layerName_={}, uint32_t specVersion_={}, uint32_t implementationVersion_={}, std::array< char, VK_MAX_DESCRIPTION_SIZE > const &description_={}) VULKAN_HPP_NOEXCEPT
BufferMemoryBarrier2 & operator=(BufferMemoryBarrier2 const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageDrmFormatModifierInfoEXT & setPQueueFamilyIndices(const uint32_t *pQueueFamilyIndices_) VULKAN_HPP_NOEXCEPT
CuFunctionCreateInfoNVX & operator=(VkCuFunctionCreateInfoNVX const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceSparseProperties const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(RenderPassCreateInfo2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyMemoryToImageIndirectCommandNV & setImageExtent(VULKAN_HPP_NAMESPACE::Extent3D const &imageExtent_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SemaphoreTypeCreateInfo & setSemaphoreType(VULKAN_HPP_NAMESPACE::SemaphoreType semaphoreType_) VULKAN_HPP_NOEXCEPT
GraphicsShaderGroupCreateInfoNV(VkGraphicsShaderGroupCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(ImageBlit const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkShaderResourceUsageAMD VkShaderResourceUsageAMD
CuModuleCreateInfoNVX & setData(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const T > const &data_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MicromapCreateInfoEXT & setDeviceAddress(VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_) VULKAN_HPP_NOEXCEPT
struct VkExportMetalIOSurfaceInfoEXT VkExportMetalIOSurfaceInfoEXT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setShaderInputAttachmentArrayNonUniformIndexing(VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayNonUniformIndexing_) VULKAN_HPP_NOEXCEPT
struct VkAccelerationStructureCreateInfoNV VkAccelerationStructureCreateInfoNV
bool operator==(PhysicalDeviceRayTracingInvocationReorderPropertiesNV const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(DeviceGroupBindSparseInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VertexInputBindingDescription2EXT & operator=(VkVertexInputBindingDescription2EXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(AccelerationStructureCaptureDescriptorDataInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceMultiviewProperties const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceSampleLocationsPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT
VULKAN_HPP_CONSTEXPR_14 PresentIdKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceExternalMemoryRDMAFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceAccelerationStructureFeaturesKHR(VkPhysicalDeviceAccelerationStructureFeaturesKHR const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDevicePipelineProtectedAccessFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceOpticalFlowPropertiesNV(VkPhysicalDeviceOpticalFlowPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT
struct VkGraphicsPipelineCreateInfo VkGraphicsPipelineCreateInfo
VULKAN_HPP_NAMESPACE::ComponentTypeNV BType
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
RayTracingPipelineCreateInfoKHR(VkRayTracingPipelineCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
GraphicsShaderGroupCreateInfoNV(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo > const &stages_, const VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo *pVertexInputState_={}, const VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo *pTessellationState_={}, const void *pNext_=nullptr)
PhysicalDeviceImagelessFramebufferFeatures & operator=(VkPhysicalDeviceImagelessFramebufferFeatures const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorSetBindingReferenceVALVE & setDescriptorSetLayout(VULKAN_HPP_NAMESPACE::DescriptorSetLayout descriptorSetLayout_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR Viewport(float x_={}, float y_={}, float width_={}, float height_={}, float minDepth_={}, float maxDepth_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubmitInfo & setPCommandBuffers(const VULKAN_HPP_NAMESPACE::CommandBuffer *pCommandBuffers_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 Extent2D & setHeight(uint32_t height_) VULKAN_HPP_NOEXCEPT
CommandBufferInheritanceRenderPassTransformInfoQCOM & operator=(CommandBufferInheritanceRenderPassTransformInfoQCOM const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan13Features & setSubgroupSizeControl(VULKAN_HPP_NAMESPACE::Bool32 subgroupSizeControl_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceGroupPresentInfoKHR & setPDeviceMasks(const uint32_t *pDeviceMasks_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
CuFunctionCreateInfoNVX(VkCuFunctionCreateInfoNVX const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(DrmFormatModifierProperties2EXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePipelineRobustnessFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderAtomicFloatFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat32Atomics_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat32AtomicAdd_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat64Atomics_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat64AtomicAdd_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat32Atomics_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat32AtomicAdd_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat64Atomics_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderSharedFloat64AtomicAdd_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderImageFloat32Atomics_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderImageFloat32AtomicAdd_={}, VULKAN_HPP_NAMESPACE::Bool32 sparseImageFloat32Atomics_={}, VULKAN_HPP_NAMESPACE::Bool32 sparseImageFloat32AtomicAdd_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(MemoryFdPropertiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
BufferCopy2(VkBufferCopy2 const &rhs) VULKAN_HPP_NOEXCEPT
struct VkSwapchainDisplayNativeHdrCreateInfoAMD VkSwapchainDisplayNativeHdrCreateInfoAMD
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setImagelessFramebuffer(VULKAN_HPP_NAMESPACE::Bool32 imagelessFramebuffer_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSeparateDepthStencilLayoutsFeatures & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineCacheHeaderVersionOne & setPipelineCacheUUID(std::array< uint8_t, VK_UUID_SIZE > pipelineCacheUUID_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MemoryGetRemoteAddressInfoNV & setHandleType(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_) VULKAN_HPP_NOEXCEPT
struct VkCommandBufferBeginInfo VkCommandBufferBeginInfo
PerformanceStreamMarkerInfoINTEL & operator=(VkPerformanceStreamMarkerInfoINTEL const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(RayTracingPipelineCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MultiviewPerViewAttributesInfoNVX & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DescriptorPoolInlineUniformBlockCreateInfo(uint32_t maxInlineUniformBlockBindings_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PresentIdKHR & setPPresentIds(const uint64_t *pPresentIds_) VULKAN_HPP_NOEXCEPT
AccelerationStructureSRTMotionInstanceNV & operator=(VkAccelerationStructureSRTMotionInstanceNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BindBufferMemoryDeviceGroupInfo & setDeviceIndexCount(uint32_t deviceIndexCount_) VULKAN_HPP_NOEXCEPT
struct VkCopyImageToBufferInfo2 VkCopyImageToBufferInfo2
ColorBlendEquationEXT(VkColorBlendEquationEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR BufferMemoryBarrier2(VULKAN_HPP_NAMESPACE::PipelineStageFlags2 srcStageMask_={}, VULKAN_HPP_NAMESPACE::AccessFlags2 srcAccessMask_={}, VULKAN_HPP_NAMESPACE::PipelineStageFlags2 dstStageMask_={}, VULKAN_HPP_NAMESPACE::AccessFlags2 dstAccessMask_={}, uint32_t srcQueueFamilyIndex_={}, uint32_t dstQueueFamilyIndex_={}, VULKAN_HPP_NAMESPACE::Buffer buffer_={}, VULKAN_HPP_NAMESPACE::DeviceSize offset_={}, VULKAN_HPP_NAMESPACE::DeviceSize size_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
DisplayModeProperties2KHR(VkDisplayModeProperties2KHR const &rhs) VULKAN_HPP_NOEXCEPT
SampleLocationsInfoEXT & operator=(VkSampleLocationsInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 FramebufferAttachmentsCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(PipelineCompilerControlCreateInfoAMD const &rhs) const VULKAN_HPP_NOEXCEPT
RenderPassCreateInfo & operator=(VkRenderPassCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageExtendedFormats
struct VkPipelineCoverageToColorStateCreateInfoNV VkPipelineCoverageToColorStateCreateInfoNV
bool operator==(PhysicalDeviceDescriptorIndexingProperties const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DrmFormatModifierPropertiesEXT(uint64_t drmFormatModifier_={}, uint32_t drmFormatModifierPlaneCount_={}, VULKAN_HPP_NAMESPACE::FormatFeatureFlags drmFormatModifierTilingFeatures_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceLineRasterizationFeaturesEXT & setSmoothLines(VULKAN_HPP_NAMESPACE::Bool32 smoothLines_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassBeginInfo & setClearValueCount(uint32_t clearValueCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AttachmentDescription & setFormat(VULKAN_HPP_NAMESPACE::Format format_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR MemoryPriorityAllocateInfoEXT(float priority_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PhysicalDeviceInvocationMaskFeaturesHUAWEI & operator=(VkPhysicalDeviceInvocationMaskFeaturesHUAWEI const &rhs) VULKAN_HPP_NOEXCEPT
CuLaunchInfoNVX & setExtras(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const void *const > const &extras_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyMicromapInfoEXT & setSrc(VULKAN_HPP_NAMESPACE::MicromapEXT src_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset
bool operator!=(VertexInputBindingDescription2EXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceVertexAttributeDivisorPropertiesEXT(uint32_t maxVertexAttribDivisor_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeatures
PhysicalDevicePresentIdFeaturesKHR & operator=(VkPhysicalDevicePresentIdFeaturesKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMemoryRequirementsInfoNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkPerformanceCounterDescriptionKHR VkPerformanceCounterDescriptionKHR
bool operator==(DeviceEventInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(SparseBufferMemoryBindInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubmitInfo2 & setPSignalSemaphoreInfos(const VULKAN_HPP_NAMESPACE::SemaphoreSubmitInfo *pSignalSemaphoreInfos_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceCoherentMemoryFeaturesAMD & operator=(VkPhysicalDeviceCoherentMemoryFeaturesAMD const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PipelineRasterizationDepthClipStateCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(DecompressMemoryRegionNV const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2
bool operator!=(SpecializationMapEntry const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderCoreBuiltinsPropertiesARM(VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceMemoryOpaqueCaptureAddressInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(SparseImageMemoryRequirements2 const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM
VULKAN_HPP_CONSTEXPR_14 FenceCreateInfo & setFlags(VULKAN_HPP_NAMESPACE::FenceCreateFlags flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCallbackDataEXT(VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCallbackDataFlagsEXT flags_={}, const char *pMessageIdName_={}, int32_t messageIdNumber_={}, const char *pMessage_={}, uint32_t queueLabelCount_={}, const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT *pQueueLabels_={}, uint32_t cmdBufLabelCount_={}, const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT *pCmdBufLabels_={}, uint32_t objectCount_={}, const VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT *pObjects_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRayQueryFeaturesKHR & setRayQuery(VULKAN_HPP_NAMESPACE::Bool32 rayQuery_) VULKAN_HPP_NOEXCEPT
ImageBlit & operator=(VkImageBlit const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubpassDescription & setPipelineBindPoint(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceLineRasterizationFeaturesEXT & setRectangularLines(VULKAN_HPP_NAMESPACE::Bool32 rectangularLines_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AttachmentDescription2 & setLoadOp(VULKAN_HPP_NAMESPACE::AttachmentLoadOp loadOp_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceNonSeamlessCubeMapFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GraphicsPipelineCreateInfo & setPViewportState(const VULKAN_HPP_NAMESPACE::PipelineViewportStateCreateInfo *pViewportState_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugMarkerObjectNameInfoEXT & setObjectType(VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DisplaySurfaceCreateInfoKHR & setTransform(VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR transform_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GraphicsPipelineShaderGroupsCreateInfoNV & setPGroups(const VULKAN_HPP_NAMESPACE::GraphicsShaderGroupCreateInfoNV *pGroups_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
bool operator==(PhysicalDeviceTextureCompressionASTCHDRFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassSubpassFeedbackInfoEXT(VULKAN_HPP_NAMESPACE::SubpassMergeStatusEXT subpassMergeStatus_=VULKAN_HPP_NAMESPACE::SubpassMergeStatusEXT::eMerged, std::array< char, VK_MAX_DESCRIPTION_SIZE > const &description_={}, uint32_t postMergeIndex_={}) VULKAN_HPP_NOEXCEPT
PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceGroupSwapchainCreateInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubpassSampleLocationsEXT & setSampleLocationsInfo(VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT const &sampleLocationsInfo_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT VkPhysicalDeviceConservativeRasterizationPropertiesEXT
VULKAN_HPP_NAMESPACE::StructureType sType
bool operator==(PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExternalBufferInfo & setHandleType(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_) VULKAN_HPP_NOEXCEPT
struct VkExportMetalTextureInfoEXT VkExportMetalTextureInfoEXT
ImageFormatListCreateInfo & operator=(VkImageFormatListCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
GeneratedCommandsInfoNV(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_, VULKAN_HPP_NAMESPACE::Pipeline pipeline_, VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::IndirectCommandsStreamNV > const &streams_, uint32_t sequencesCount_={}, VULKAN_HPP_NAMESPACE::Buffer preprocessBuffer_={}, VULKAN_HPP_NAMESPACE::DeviceSize preprocessOffset_={}, VULKAN_HPP_NAMESPACE::DeviceSize preprocessSize_={}, VULKAN_HPP_NAMESPACE::Buffer sequencesCountBuffer_={}, VULKAN_HPP_NAMESPACE::DeviceSize sequencesCountOffset_={}, VULKAN_HPP_NAMESPACE::Buffer sequencesIndexBuffer_={}, VULKAN_HPP_NAMESPACE::DeviceSize sequencesIndexOffset_={}, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 WriteDescriptorSetAccelerationStructureKHR & setPAccelerationStructures(const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR *pAccelerationStructures_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceFeatures2(VkPhysicalDeviceFeatures2 const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(AccelerationStructureBuildRangeInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineDepthStencilStateCreateInfo(VULKAN_HPP_NAMESPACE::PipelineDepthStencilStateCreateFlags flags_={}, VULKAN_HPP_NAMESPACE::Bool32 depthTestEnable_={}, VULKAN_HPP_NAMESPACE::Bool32 depthWriteEnable_={}, VULKAN_HPP_NAMESPACE::CompareOp depthCompareOp_=VULKAN_HPP_NAMESPACE::CompareOp::eNever, VULKAN_HPP_NAMESPACE::Bool32 depthBoundsTestEnable_={}, VULKAN_HPP_NAMESPACE::Bool32 stencilTestEnable_={}, VULKAN_HPP_NAMESPACE::StencilOpState front_={}, VULKAN_HPP_NAMESPACE::StencilOpState back_={}, float minDepthBounds_={}, float maxDepthBounds_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineMultisampleStateCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceLimits(uint32_t maxImageDimension1D_={}, uint32_t maxImageDimension2D_={}, uint32_t maxImageDimension3D_={}, uint32_t maxImageDimensionCube_={}, uint32_t maxImageArrayLayers_={}, uint32_t maxTexelBufferElements_={}, uint32_t maxUniformBufferRange_={}, uint32_t maxStorageBufferRange_={}, uint32_t maxPushConstantsSize_={}, uint32_t maxMemoryAllocationCount_={}, uint32_t maxSamplerAllocationCount_={}, VULKAN_HPP_NAMESPACE::DeviceSize bufferImageGranularity_={}, VULKAN_HPP_NAMESPACE::DeviceSize sparseAddressSpaceSize_={}, uint32_t maxBoundDescriptorSets_={}, uint32_t maxPerStageDescriptorSamplers_={}, uint32_t maxPerStageDescriptorUniformBuffers_={}, uint32_t maxPerStageDescriptorStorageBuffers_={}, uint32_t maxPerStageDescriptorSampledImages_={}, uint32_t maxPerStageDescriptorStorageImages_={}, uint32_t maxPerStageDescriptorInputAttachments_={}, uint32_t maxPerStageResources_={}, uint32_t maxDescriptorSetSamplers_={}, uint32_t maxDescriptorSetUniformBuffers_={}, uint32_t maxDescriptorSetUniformBuffersDynamic_={}, uint32_t maxDescriptorSetStorageBuffers_={}, uint32_t maxDescriptorSetStorageBuffersDynamic_={}, uint32_t maxDescriptorSetSampledImages_={}, uint32_t maxDescriptorSetStorageImages_={}, uint32_t maxDescriptorSetInputAttachments_={}, uint32_t maxVertexInputAttributes_={}, uint32_t maxVertexInputBindings_={}, uint32_t maxVertexInputAttributeOffset_={}, uint32_t maxVertexInputBindingStride_={}, uint32_t maxVertexOutputComponents_={}, uint32_t maxTessellationGenerationLevel_={}, uint32_t maxTessellationPatchSize_={}, uint32_t maxTessellationControlPerVertexInputComponents_={}, uint32_t maxTessellationControlPerVertexOutputComponents_={}, uint32_t maxTessellationControlPerPatchOutputComponents_={}, uint32_t maxTessellationControlTotalOutputComponents_={}, uint32_t maxTessellationEvaluationInputComponents_={}, uint32_t maxTessellationEvaluationOutputComponents_={}, uint32_t maxGeometryShaderInvocations_={}, uint32_t maxGeometryInputComponents_={}, uint32_t maxGeometryOutputComponents_={}, uint32_t maxGeometryOutputVertices_={}, uint32_t maxGeometryTotalOutputComponents_={}, uint32_t maxFragmentInputComponents_={}, uint32_t maxFragmentOutputAttachments_={}, uint32_t maxFragmentDualSrcAttachments_={}, uint32_t maxFragmentCombinedOutputResources_={}, uint32_t maxComputeSharedMemorySize_={}, std::array< uint32_t, 3 > const &maxComputeWorkGroupCount_={}, uint32_t maxComputeWorkGroupInvocations_={}, std::array< uint32_t, 3 > const &maxComputeWorkGroupSize_={}, uint32_t subPixelPrecisionBits_={}, uint32_t subTexelPrecisionBits_={}, uint32_t mipmapPrecisionBits_={}, uint32_t maxDrawIndexedIndexValue_={}, uint32_t maxDrawIndirectCount_={}, float maxSamplerLodBias_={}, float maxSamplerAnisotropy_={}, uint32_t maxViewports_={}, std::array< uint32_t, 2 > const &maxViewportDimensions_={}, std::array< float, 2 > const &viewportBoundsRange_={}, uint32_t viewportSubPixelBits_={}, size_t minMemoryMapAlignment_={}, VULKAN_HPP_NAMESPACE::DeviceSize minTexelBufferOffsetAlignment_={}, VULKAN_HPP_NAMESPACE::DeviceSize minUniformBufferOffsetAlignment_={}, VULKAN_HPP_NAMESPACE::DeviceSize minStorageBufferOffsetAlignment_={}, int32_t minTexelOffset_={}, uint32_t maxTexelOffset_={}, int32_t minTexelGatherOffset_={}, uint32_t maxTexelGatherOffset_={}, float minInterpolationOffset_={}, float maxInterpolationOffset_={}, uint32_t subPixelInterpolationOffsetBits_={}, uint32_t maxFramebufferWidth_={}, uint32_t maxFramebufferHeight_={}, uint32_t maxFramebufferLayers_={}, VULKAN_HPP_NAMESPACE::SampleCountFlags framebufferColorSampleCounts_={}, VULKAN_HPP_NAMESPACE::SampleCountFlags framebufferDepthSampleCounts_={}, VULKAN_HPP_NAMESPACE::SampleCountFlags framebufferStencilSampleCounts_={}, VULKAN_HPP_NAMESPACE::SampleCountFlags framebufferNoAttachmentsSampleCounts_={}, uint32_t maxColorAttachments_={}, VULKAN_HPP_NAMESPACE::SampleCountFlags sampledImageColorSampleCounts_={}, VULKAN_HPP_NAMESPACE::SampleCountFlags sampledImageIntegerSampleCounts_={}, VULKAN_HPP_NAMESPACE::SampleCountFlags sampledImageDepthSampleCounts_={}, VULKAN_HPP_NAMESPACE::SampleCountFlags sampledImageStencilSampleCounts_={}, VULKAN_HPP_NAMESPACE::SampleCountFlags storageImageSampleCounts_={}, uint32_t maxSampleMaskWords_={}, VULKAN_HPP_NAMESPACE::Bool32 timestampComputeAndGraphics_={}, float timestampPeriod_={}, uint32_t maxClipDistances_={}, uint32_t maxCullDistances_={}, uint32_t maxCombinedClipAndCullDistances_={}, uint32_t discreteQueuePriorities_={}, std::array< float, 2 > const &pointSizeRange_={}, std::array< float, 2 > const &lineWidthRange_={}, float pointSizeGranularity_={}, float lineWidthGranularity_={}, VULKAN_HPP_NAMESPACE::Bool32 strictLines_={}, VULKAN_HPP_NAMESPACE::Bool32 standardSampleLocations_={}, VULKAN_HPP_NAMESPACE::DeviceSize optimalBufferCopyOffsetAlignment_={}, VULKAN_HPP_NAMESPACE::DeviceSize optimalBufferCopyRowPitchAlignment_={}, VULKAN_HPP_NAMESPACE::DeviceSize nonCoherentAtomSize_={}) VULKAN_HPP_NOEXCEPT
SemaphoreWaitInfo(VULKAN_HPP_NAMESPACE::SemaphoreWaitFlags flags_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Semaphore > const &semaphores_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint64_t > const &values_={}, const void *pNext_=nullptr)
AccelerationStructureInstanceKHR(VkAccelerationStructureInstanceKHR const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceVertexAttributeDivisorPropertiesEXT(VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubpassDependency2 & setDstAccessMask(VULKAN_HPP_NAMESPACE::AccessFlags dstAccessMask_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceVulkan13Features VkPhysicalDeviceVulkan13Features
bool operator==(PerformanceMarkerInfoINTEL const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SamplerReductionModeCreateInfo & setReductionMode(VULKAN_HPP_NAMESPACE::SamplerReductionMode reductionMode_) VULKAN_HPP_NOEXCEPT
struct VkPipelinePropertiesIdentifierEXT VkPipelinePropertiesIdentifierEXT
VULKAN_HPP_CONSTEXPR_14 DedicatedAllocationBufferCreateInfoNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
PresentRegionKHR & operator=(VkPresentRegionKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 TraceRaysIndirectCommandKHR & setDepth(uint32_t depth_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT & setPrimitivesGeneratedQueryWithRasterizerDiscard(VULKAN_HPP_NAMESPACE::Bool32 primitivesGeneratedQueryWithRasterizerDiscard_) VULKAN_HPP_NOEXCEPT
ClearRect & operator=(VkClearRect const &rhs) VULKAN_HPP_NOEXCEPT
struct VkDedicatedAllocationBufferCreateInfoNV VkDedicatedAllocationBufferCreateInfoNV
struct VkPipelineCreationFeedbackCreateInfo VkPipelineCreationFeedbackCreateInfo
struct VkQueueFamilyCheckpointProperties2NV VkQueueFamilyCheckpointProperties2NV
GLubyte GLubyte GLubyte GLubyte w
Definition: glcorearb.h:857
PhysicalDeviceDrmPropertiesEXT & operator=(VkPhysicalDeviceDrmPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorGetInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR CheckpointData2NV(VULKAN_HPP_NAMESPACE::PipelineStageFlags2 stage_={}, void *pCheckpointMarker_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BindImagePlaneMemoryInfo & setPlaneAspect(VULKAN_HPP_NAMESPACE::ImageAspectFlagBits planeAspect_) VULKAN_HPP_NOEXCEPT
bool operator!=(QueryPoolPerformanceCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceYcbcrImageArraysFeaturesEXT(VkPhysicalDeviceYcbcrImageArraysFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Bool32 sparseResidency8Samples
VULKAN_HPP_NAMESPACE::ImageView imageView
PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM & operator=(VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM const &rhs) VULKAN_HPP_NOEXCEPT
DeviceQueueCreateInfo & operator=(VkDeviceQueueCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VertexInputBindingDescription2EXT(VkVertexInputBindingDescription2EXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(TraceRaysIndirectCommandKHR const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceShaderCoreBuiltinsFeaturesARM const &rhs) const VULKAN_HPP_NOEXCEPT
ImageCreateInfo(VkImageCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CooperativeMatrixPropertiesNV & setNSize(uint32_t NSize_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderFloat16Int8Features & setShaderFloat16(VULKAN_HPP_NAMESPACE::Bool32 shaderFloat16_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineDynamicStateCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineCacheCreateInfo(VULKAN_HPP_NAMESPACE::PipelineCacheCreateFlags flags_={}, size_t initialDataSize_={}, const void *pInitialData_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkCheckpointData2NV VkCheckpointData2NV
struct VkRect2D VkRect2D
struct VkSwapchainCounterCreateInfoEXT VkSwapchainCounterCreateInfoEXT
VULKAN_HPP_CONSTEXPR_14 AcquireNextImageInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SurfaceFormatKHR(VULKAN_HPP_NAMESPACE::Format format_=VULKAN_HPP_NAMESPACE::Format::eUndefined, VULKAN_HPP_NAMESPACE::ColorSpaceKHR colorSpace_=VULKAN_HPP_NAMESPACE::ColorSpaceKHR::eSrgbNonlinear) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderIntegerDotProductFeatures & operator=(VkPhysicalDeviceShaderIntegerDotProductFeatures const &rhs) VULKAN_HPP_NOEXCEPT
struct VkDebugUtilsLabelEXT VkDebugUtilsLabelEXT
bool operator!=(FramebufferAttachmentImageInfo const &rhs) const VULKAN_HPP_NOEXCEPT
BindImagePlaneMemoryInfo(VkBindImagePlaneMemoryInfo const &rhs) VULKAN_HPP_NOEXCEPT
Definition: core.h:1131
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRepresentativeFragmentTestFeaturesNV & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDevice16BitStorageFeatures & setStoragePushConstant16(VULKAN_HPP_NAMESPACE::Bool32 storagePushConstant16_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DisplayModeParametersKHR & setRefreshRate(uint32_t refreshRate_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassMultiviewCreateInfo & setPViewMasks(const uint32_t *pViewMasks_) VULKAN_HPP_NOEXCEPT
DebugUtilsMessengerCreateInfoEXT & operator=(DebugUtilsMessengerCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT=default
struct VkPhysicalDevicePipelineProtectedAccessFeaturesEXT VkPhysicalDevicePipelineProtectedAccessFeaturesEXT
uint32_t constantID
VULKAN_HPP_CONSTEXPR PhysicalDeviceSamplerYcbcrConversionFeatures(VULKAN_HPP_NAMESPACE::Bool32 samplerYcbcrConversion_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceSubgroupProperties VkPhysicalDeviceSubgroupProperties
bool operator!=(ViewportWScalingNV const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceImagelessFramebufferFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkDeviceAddressBindingCallbackDataEXT VkDeviceAddressBindingCallbackDataEXT
CalibratedTimestampInfoEXT & operator=(CalibratedTimestampInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFaultFeaturesEXT & setDeviceFault(VULKAN_HPP_NAMESPACE::Bool32 deviceFault_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SpecializationMapEntry & setSize(size_t size_) VULKAN_HPP_NOEXCEPT
AccelerationStructureBuildRangeInfoKHR & operator=(AccelerationStructureBuildRangeInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT=default
LayerProperties(VkLayerProperties const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::BlendFactor srcAlphaBlendFactor
VULKAN_HPP_CONSTEXPR PhysicalDevicePipelineExecutablePropertiesFeaturesKHR(VULKAN_HPP_NAMESPACE::Bool32 pipelineExecutableInfo_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(CopyBufferInfo2 const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceTimelineSemaphoreFeatures(VkPhysicalDeviceTimelineSemaphoreFeatures const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPipelineViewportStateCreateInfo VkPipelineViewportStateCreateInfo
bool operator!=(DeviceDiagnosticsConfigCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorGetInfoEXT & setType(VULKAN_HPP_NAMESPACE::DescriptorType type_) VULKAN_HPP_NOEXCEPT
struct VkDisplayModeParametersKHR VkDisplayModeParametersKHR
VULKAN_HPP_CONSTEXPR_14 ViewportSwizzleNV & setZ(VULKAN_HPP_NAMESPACE::ViewportCoordinateSwizzleNV z_) VULKAN_HPP_NOEXCEPT
PerformanceOverrideInfoINTEL & operator=(VkPerformanceOverrideInfoINTEL const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR MemoryHeap(VULKAN_HPP_NAMESPACE::DeviceSize size_={}, VULKAN_HPP_NAMESPACE::MemoryHeapFlags flags_={}) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceVulkan11Properties const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkWriteDescriptorSetAccelerationStructureKHR VkWriteDescriptorSetAccelerationStructureKHR
PhysicalDeviceMeshShaderPropertiesEXT(VkPhysicalDeviceMeshShaderPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
QueryPoolPerformanceCreateInfoKHR & setCounterIndices(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &counterIndices_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceFragmentDensityMap2PropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineInfoKHR & setPipeline(VULKAN_HPP_NAMESPACE::Pipeline pipeline_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CuModuleCreateInfoNVX & setDataSize(size_t dataSize_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BlitImageInfo2 & setFilter(VULKAN_HPP_NAMESPACE::Filter filter_) VULKAN_HPP_NOEXCEPT
bool operator!=(SampleLocationEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderClockFeaturesKHR & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceDescriptorBufferFeaturesEXT(VkPhysicalDeviceDescriptorBufferFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(DevicePrivateDataCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 IndirectCommandsLayoutCreateInfoNV & setPipelineBindPoint(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_) VULKAN_HPP_NOEXCEPT
OpticalFlowSessionCreatePrivateDataInfoNV & operator=(VkOpticalFlowSessionCreatePrivateDataInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageViewMinLodCreateInfoEXT & setMinLod(float minLod_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageCreateInfo & setMipLevels(uint32_t mipLevels_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Buffer srcBuffer
VULKAN_HPP_CONSTEXPR_14 SRTDataNV & setSx(float sx_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PerformanceValueDataINTEL & setValue32(uint32_t value32_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageBlit & setDstSubresource(VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const &dstSubresource_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::IndexType indexType
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setShaderUniformTexelBufferArrayNonUniformIndexing(VULKAN_HPP_NAMESPACE::Bool32 shaderUniformTexelBufferArrayNonUniformIndexing_) VULKAN_HPP_NOEXCEPT
AccelerationStructureGeometryMotionTrianglesDataNV(VkAccelerationStructureGeometryMotionTrianglesDataNV const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV VkPhysicalDeviceDiagnosticsConfigFeaturesNV
bool operator==(PhysicalDeviceBlendOperationAdvancedPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(GeometryNV const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkDebugMarkerObjectNameInfoEXT VkDebugMarkerObjectNameInfoEXT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureCreateInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 IndirectCommandsLayoutTokenNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GraphicsShaderGroupCreateInfoNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
FramebufferAttachmentsCreateInfo(VkFramebufferAttachmentsCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceProperties const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setDualSrcBlend(VULKAN_HPP_NAMESPACE::Bool32 dualSrcBlend_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMatrixMotionInstanceNV & setMask(uint32_t mask_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRenderingCreateInfo & setDepthAttachmentFormat(VULKAN_HPP_NAMESPACE::Format depthAttachmentFormat_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ExportFenceCreateInfo(VULKAN_HPP_NAMESPACE::ExternalFenceHandleTypeFlags handleTypes_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkDebugUtilsObjectTagInfoEXT VkDebugUtilsObjectTagInfoEXT
DeviceGroupPresentCapabilitiesKHR(VkDeviceGroupPresentCapabilitiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
BindShaderGroupIndirectCommandNV & operator=(BindShaderGroupIndirectCommandNV const &rhs) VULKAN_HPP_NOEXCEPT=default
PipelineVertexInputDivisorStateCreateInfoEXT(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::VertexInputBindingDivisorDescriptionEXT > const &vertexBindingDivisors_, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 MicromapCreateInfoEXT & setBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceGroupSubmitInfo & setPCommandBufferDeviceMasks(const uint32_t *pCommandBufferDeviceMasks_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferOpaqueCaptureAddressCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDevicePresentBarrierFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(MemoryPriorityAllocateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceConditionalRenderingInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(BufferDeviceAddressInfo const &rhs) const VULKAN_HPP_NOEXCEPT
GraphicsPipelineShaderGroupsCreateInfoNV & operator=(VkGraphicsPipelineShaderGroupsCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 IndirectCommandsLayoutTokenNV & setIndirectStateFlags(VULKAN_HPP_NAMESPACE::IndirectStateFlagsNV indirectStateFlags_) VULKAN_HPP_NOEXCEPT
struct VkPipelineCacheCreateInfo VkPipelineCacheCreateInfo
bool operator!=(PipelineRenderingCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceImageProcessingPropertiesQCOM const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceGlobalPriorityQueryFeaturesKHR(VULKAN_HPP_NAMESPACE::Bool32 globalPriorityQuery_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DispatchIndirectCommand & setY(uint32_t y_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 OpticalFlowSessionCreateInfoNV & setHeight(uint32_t height_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorInfoEXT & setDescription(std::array< char, VK_MAX_DESCRIPTION_SIZE > description_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT & setPrimitivesGeneratedQuery(VULKAN_HPP_NAMESPACE::Bool32 primitivesGeneratedQuery_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
struct VkAccelerationStructureVersionInfoKHR VkAccelerationStructureVersionInfoKHR
VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePresentWaitFeaturesKHR & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageBlit2 & setDstOffsets(std::array< VULKAN_HPP_NAMESPACE::Offset3D, 2 > const &dstOffsets_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageSubresourceRange & setLevelCount(uint32_t levelCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask
GeometryNV & operator=(VkGeometryNV const &rhs) VULKAN_HPP_NOEXCEPT
ImageCompressionControlEXT & setFixedRateFlags(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< VULKAN_HPP_NAMESPACE::ImageCompressionFixedRateFlagsEXT > const &fixedRateFlags_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceTextureCompressionASTCHDRFeatures & operator=(VkPhysicalDeviceTextureCompressionASTCHDRFeatures const &rhs) VULKAN_HPP_NOEXCEPT
TilePropertiesQCOM(VkTilePropertiesQCOM const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(ShaderModuleCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GeneratedCommandsInfoNV & setPipeline(VULKAN_HPP_NAMESPACE::Pipeline pipeline_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceCreateInfo & setFlags(VULKAN_HPP_NAMESPACE::DeviceCreateFlags flags_) VULKAN_HPP_NOEXCEPT
bool operator!=(DebugUtilsObjectNameInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceColorWriteEnableFeaturesEXT VkPhysicalDeviceColorWriteEnableFeaturesEXT
VULKAN_HPP_NAMESPACE::Bool32 fullDrawIndexUint32
VULKAN_HPP_CONSTEXPR_14 AttachmentReferenceStencilLayout & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setLogicOp(VULKAN_HPP_NAMESPACE::Bool32 logicOp_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfo
bool operator!=(MemoryDedicatedRequirements const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR FramebufferAttachmentImageInfo(VULKAN_HPP_NAMESPACE::ImageCreateFlags flags_={}, VULKAN_HPP_NAMESPACE::ImageUsageFlags usage_={}, uint32_t width_={}, uint32_t height_={}, uint32_t layerCount_={}, uint32_t viewFormatCount_={}, const VULKAN_HPP_NAMESPACE::Format *pViewFormats_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderSubgroupExtendedTypesFeatures & operator=(VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRayTracingMaintenance1FeaturesKHR & setRayTracingPipelineTraceRaysIndirect2(VULKAN_HPP_NAMESPACE::Bool32 rayTracingPipelineTraceRaysIndirect2_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRenderingCreateInfo & setPColorAttachmentFormats(const VULKAN_HPP_NAMESPACE::Format *pColorAttachmentFormats_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RectLayerKHR & setExtent(VULKAN_HPP_NAMESPACE::Extent2D const &extent_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubmitInfo2 & setPCommandBufferInfos(const VULKAN_HPP_NAMESPACE::CommandBufferSubmitInfo *pCommandBufferInfos_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderingAttachmentInfo & setLoadOp(VULKAN_HPP_NAMESPACE::AttachmentLoadOp loadOp_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setShaderStorageTexelBufferArrayDynamicIndexing(VULKAN_HPP_NAMESPACE::Bool32 shaderStorageTexelBufferArrayDynamicIndexing_) VULKAN_HPP_NOEXCEPT
bool operator==(DeviceGroupCommandBufferBeginInfo const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkDisplayPowerInfoEXT VkDisplayPowerInfoEXT
AccelerationStructureCaptureDescriptorDataInfoEXT(VkAccelerationStructureCaptureDescriptorDataInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
BufferDeviceAddressCreateInfoEXT(VkBufferDeviceAddressCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
PresentTimesInfoGOOGLE(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::PresentTimeGOOGLE > const &times_, const void *pNext_=nullptr)
DeviceDeviceMemoryReportCreateInfoEXT(VkDeviceDeviceMemoryReportCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(SRTDataNV const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceSubgroupProperties & operator=(VkPhysicalDeviceSubgroupProperties const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(ExternalMemoryProperties const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT(const VULKAN_HPP_NAMESPACE::DescriptorAddressInfoEXT *pDescriptorAddressInfoEXT_)
bool operator!=(PhysicalDeviceRobustness2PropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SparseImageMemoryBindInfo & setImage(VULKAN_HPP_NAMESPACE::Image image_) VULKAN_HPP_NOEXCEPT
struct VkMicromapBuildSizesInfoEXT VkMicromapBuildSizesInfoEXT
VULKAN_HPP_CONSTEXPR SubmitInfo(uint32_t waitSemaphoreCount_={}, const VULKAN_HPP_NAMESPACE::Semaphore *pWaitSemaphores_={}, const VULKAN_HPP_NAMESPACE::PipelineStageFlags *pWaitDstStageMask_={}, uint32_t commandBufferCount_={}, const VULKAN_HPP_NAMESPACE::CommandBuffer *pCommandBuffers_={}, uint32_t signalSemaphoreCount_={}, const VULKAN_HPP_NAMESPACE::Semaphore *pSignalSemaphores_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(AccelerationStructureInstanceKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePerformanceQueryFeaturesKHR & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceCoverageReductionModeFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PerformanceValueDataINTEL(const char *valueString_)
PipelineRobustnessCreateInfoEXT & operator=(VkPipelineRobustnessCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceTilePropertiesFeaturesQCOM const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceDepthClampZeroOneFeaturesEXT(VkPhysicalDeviceDepthClampZeroOneFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImportSemaphoreFdInfoKHR & setFlags(VULKAN_HPP_NAMESPACE::SemaphoreImportFlags flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePresentBarrierFeaturesNV & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GeometryDataNV & setTriangles(VULKAN_HPP_NAMESPACE::GeometryTrianglesNV const &triangles_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceDescriptorIndexingFeatures & operator=(VkPhysicalDeviceDescriptorIndexingFeatures const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceAddressBindingReportFeaturesEXT & operator=(VkPhysicalDeviceAddressBindingReportFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceShaderCorePropertiesAMD VkPhysicalDeviceShaderCorePropertiesAMD
struct VkSparseImageFormatProperties2 VkSparseImageFormatProperties2
VULKAN_HPP_CONSTEXPR AmigoProfilingSubmitInfoSEC(uint64_t firstDrawTimestamp_={}, uint64_t swapBufferTimestamp_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
RefreshCycleDurationGOOGLE(VkRefreshCycleDurationGOOGLE const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DisplayModeParametersKHR & setVisibleRegion(VULKAN_HPP_NAMESPACE::Extent2D const &visibleRegion_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ApplicationInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassMultiviewCreateInfo & setPViewOffsets(const int32_t *pViewOffsets_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PerformanceCounterResultKHR(float float32_)
bool operator==(PhysicalDeviceGlobalPriorityQueryFeaturesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceInlineUniformBlockProperties & operator=(VkPhysicalDeviceInlineUniformBlockProperties const &rhs) VULKAN_HPP_NOEXCEPT
PipelineCreationFeedback & operator=(VkPipelineCreationFeedback const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassCreateInfo & setDependencyCount(uint32_t dependencyCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setMultiDrawIndirect(VULKAN_HPP_NAMESPACE::Bool32 multiDrawIndirect_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 TraceRaysIndirectCommand2KHR & setHitShaderBindingTableSize(VULKAN_HPP_NAMESPACE::DeviceSize hitShaderBindingTableSize_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfo
VULKAN_HPP_CONSTEXPR_14 CooperativeMatrixPropertiesNV & setCType(VULKAN_HPP_NAMESPACE::ComponentTypeNV CType_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CuLaunchInfoNVX & setExtraCount(size_t extraCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
VULKAN_HPP_NAMESPACE::AcquireProfilingLockFlagsKHR flags
DescriptorSetLayoutBinding & operator=(VkDescriptorSetLayoutBinding const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(SamplerCaptureDescriptorDataInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GeneratedCommandsInfoNV & setPipelineBindPoint(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE(VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE const &rhs) VULKAN_HPP_NOEXCEPT
ImageCreateInfo(VULKAN_HPP_NAMESPACE::ImageCreateFlags flags_, VULKAN_HPP_NAMESPACE::ImageType imageType_, VULKAN_HPP_NAMESPACE::Format format_, VULKAN_HPP_NAMESPACE::Extent3D extent_, uint32_t mipLevels_, uint32_t arrayLayers_, VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples_, VULKAN_HPP_NAMESPACE::ImageTiling tiling_, VULKAN_HPP_NAMESPACE::ImageUsageFlags usage_, VULKAN_HPP_NAMESPACE::SharingMode sharingMode_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &queueFamilyIndices_, VULKAN_HPP_NAMESPACE::ImageLayout initialLayout_=VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setShaderInputAttachmentArrayDynamicIndexing(VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayDynamicIndexing_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR MemoryHostPointerPropertiesEXT(uint32_t memoryTypeBits_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImportMemoryHostPointerInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceGroupRenderPassBeginInfo & setDeviceMask(uint32_t deviceMask_) VULKAN_HPP_NOEXCEPT
bool operator!=(BindImagePlaneMemoryInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SamplerYcbcrConversionCreateInfo & setComponents(VULKAN_HPP_NAMESPACE::ComponentMapping const &components_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SwapchainCreateInfoKHR & setImageExtent(VULKAN_HPP_NAMESPACE::Extent2D const &imageExtent_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceLegacyDitheringFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkSpecializationMapEntry VkSpecializationMapEntry
MicromapCreateInfoEXT & operator=(VkMicromapCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceFaultFeaturesEXT & operator=(VkPhysicalDeviceFaultFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
ImageFormatListCreateInfo(VkImageFormatListCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(RefreshCycleDurationGOOGLE const &rhs) const VULKAN_HPP_NOEXCEPT
GLboolean r
Definition: glcorearb.h:1222
RayTracingPipelineCreateInfoNV & operator=(VkRayTracingPipelineCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceShaderSMBuiltinsPropertiesNV const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkMemoryWin32HandlePropertiesKHR VkMemoryWin32HandlePropertiesKHR
VULKAN_HPP_CONSTEXPR_14 DescriptorSetLayoutHostMappingInfoVALVE & setDescriptorOffset(size_t descriptorOffset_) VULKAN_HPP_NOEXCEPT
bool operator!=(AttachmentReferenceStencilLayout const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SamplerCaptureDescriptorDataInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR AccelerationStructureMotionInfoNV(uint32_t maxInstances_={}, VULKAN_HPP_NAMESPACE::AccelerationStructureMotionInfoFlagsNV flags_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setShaderBufferInt64Atomics(VULKAN_HPP_NAMESPACE::Bool32 shaderBufferInt64Atomics_) VULKAN_HPP_NOEXCEPT
SubresourceLayout & operator=(VkSubresourceLayout const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyAccelerationStructureInfoKHR & setSrc(VULKAN_HPP_NAMESPACE::AccelerationStructureKHR src_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceInfo & setFramebuffer(VULKAN_HPP_NAMESPACE::Framebuffer framebuffer_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderCoreBuiltinsFeaturesARM & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkDrmFormatModifierPropertiesEXT VkDrmFormatModifierPropertiesEXT
bool operator!=(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
Definition: Dimensions.h:165
VULKAN_HPP_CONSTEXPR_14 DeviceGroupSwapchainCreateInfoKHR & setModes(VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR modes_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ExternalSemaphoreProperties(VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes_={}, VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlags compatibleHandleTypes_={}, VULKAN_HPP_NAMESPACE::ExternalSemaphoreFeatureFlags externalSemaphoreFeatures_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset
VULKAN_HPP_CONSTEXPR PhysicalDeviceInlineUniformBlockProperties(uint32_t maxInlineUniformBlockSize_={}, uint32_t maxPerStageDescriptorInlineUniformBlocks_={}, uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks_={}, uint32_t maxDescriptorSetInlineUniformBlocks_={}, uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupProperties
VULKAN_HPP_CONSTEXPR FilterCubicImageViewImageFormatPropertiesEXT(VULKAN_HPP_NAMESPACE::Bool32 filterCubic_={}, VULKAN_HPP_NAMESPACE::Bool32 filterCubicMinmax_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
SparseImageFormatProperties(VkSparseImageFormatProperties const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentShaderInterlockFeaturesEXT & setFragmentShaderPixelInterlock(VULKAN_HPP_NAMESPACE::Bool32 fragmentShaderPixelInterlock_) VULKAN_HPP_NOEXCEPT
bool operator==(BindShaderGroupIndirectCommandNV const &rhs) const VULKAN_HPP_NOEXCEPT
#define const
Definition: zconf.h:214
VULKAN_HPP_NAMESPACE::StructureType sType
ImageCopy & operator=(VkImageCopy const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 TimelineSemaphoreSubmitInfo & setSignalSemaphoreValueCount(uint32_t signalSemaphoreValueCount_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderDrawParametersFeatures & operator=(VkPhysicalDeviceShaderDrawParametersFeatures const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderAtomicFloatFeaturesEXT & setShaderImageFloat32AtomicAdd(VULKAN_HPP_NAMESPACE::Bool32 shaderImageFloat32AtomicAdd_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 HdrMetadataEXT & setMinLuminance(float minLuminance_) VULKAN_HPP_NOEXCEPT
ShaderResourceUsageAMD(VkShaderResourceUsageAMD const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(DeviceFaultVendorBinaryHeaderVersionOneEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkExtent2D VkExtent2D
bool operator!=(DescriptorSetVariableDescriptorCountAllocateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SemaphoreSubmitInfo(VULKAN_HPP_NAMESPACE::Semaphore semaphore_={}, uint64_t value_={}, VULKAN_HPP_NAMESPACE::PipelineStageFlags2 stageMask_={}, uint32_t deviceIndex_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubpassDescription2 & setViewMask(uint32_t viewMask_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceSurfaceInfo2KHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 OpticalFlowSessionCreateInfoNV & setFlags(VULKAN_HPP_NAMESPACE::OpticalFlowSessionCreateFlagsNV flags_) VULKAN_HPP_NOEXCEPT
bool operator==(StridedDeviceAddressRegionKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SemaphoreSubmitInfo & setStageMask(VULKAN_HPP_NAMESPACE::PipelineStageFlags2 stageMask_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
VULKAN_HPP_CONSTEXPR RayTracingPipelineCreateInfoKHR(VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags_={}, uint32_t stageCount_={}, const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo *pStages_={}, uint32_t groupCount_={}, const VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoKHR *pGroups_={}, uint32_t maxPipelineRayRecursionDepth_={}, const VULKAN_HPP_NAMESPACE::PipelineLibraryCreateInfoKHR *pLibraryInfo_={}, const VULKAN_HPP_NAMESPACE::RayTracingPipelineInterfaceCreateInfoKHR *pLibraryInterface_={}, const VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateInfo *pDynamicState_={}, VULKAN_HPP_NAMESPACE::PipelineLayout layout_={}, VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle_={}, int32_t basePipelineIndex_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(ExtensionProperties const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM VkSubpassFragmentDensityMapOffsetEndInfoQCOM
VULKAN_HPP_CONSTEXPR_14 PerformanceCounterResultKHR & setFloat32(float float32_) VULKAN_HPP_NOEXCEPT
bool operator!=(VertexInputAttributeDescription2EXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT VkPhysicalDeviceShaderAtomicFloatFeaturesEXT
ImageCopy2(VkImageCopy2 const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderDemoteToHelperInvocationFeatures(VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorBinaryHeaderVersionOneEXT & setVendorID(uint32_t vendorID_) VULKAN_HPP_NOEXCEPT
PresentInfoKHR & setImageIndices(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &imageIndices_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ValidationFeaturesEXT & setEnabledValidationFeatureCount(uint32_t enabledValidationFeatureCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState3FeaturesEXT & setExtendedDynamicState3ConservativeRasterizationMode(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ConservativeRasterizationMode_) VULKAN_HPP_NOEXCEPT
struct VkCommandBufferAllocateInfo VkCommandBufferAllocateInfo
VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier2 & setOffset(VULKAN_HPP_NAMESPACE::DeviceSize offset_) VULKAN_HPP_NOEXCEPT
struct VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfo
VULKAN_HPP_CONSTEXPR_14 DrawMeshTasksIndirectCommandNV & setFirstTask(uint32_t firstTask_) VULKAN_HPP_NOEXCEPT
Offset3D & operator=(VkOffset3D const &rhs) VULKAN_HPP_NOEXCEPT
AcquireNextImageInfoKHR(VkAcquireNextImageInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
DeviceGroupSubmitInfo & operator=(VkDeviceGroupSubmitInfo const &rhs) VULKAN_HPP_NOEXCEPT
struct VkMicromapTriangleEXT VkMicromapTriangleEXT
RenderPassTransformBeginInfoQCOM & operator=(VkRenderPassTransformBeginInfoQCOM const &rhs) VULKAN_HPP_NOEXCEPT
struct VkMemoryHeap VkMemoryHeap
VULKAN_HPP_CONSTEXPR ImageViewCreateInfo(VULKAN_HPP_NAMESPACE::ImageViewCreateFlags flags_={}, VULKAN_HPP_NAMESPACE::Image image_={}, VULKAN_HPP_NAMESPACE::ImageViewType viewType_=VULKAN_HPP_NAMESPACE::ImageViewType::e1D, VULKAN_HPP_NAMESPACE::Format format_=VULKAN_HPP_NAMESPACE::Format::eUndefined, VULKAN_HPP_NAMESPACE::ComponentMapping components_={}, VULKAN_HPP_NAMESPACE::ImageSubresourceRange subresourceRange_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageCreateInfo & setTiling(VULKAN_HPP_NAMESPACE::ImageTiling tiling_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BlitImageInfo2 & setPRegions(const VULKAN_HPP_NAMESPACE::ImageBlit2 *pRegions_) VULKAN_HPP_NOEXCEPT
ImageMemoryBarrier2 & operator=(ImageMemoryBarrier2 const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR PhysicalDevicePipelineRobustnessPropertiesEXT(VULKAN_HPP_NAMESPACE::PipelineRobustnessBufferBehaviorEXT defaultRobustnessStorageBuffers_=VULKAN_HPP_NAMESPACE::PipelineRobustnessBufferBehaviorEXT::eDeviceDefault, VULKAN_HPP_NAMESPACE::PipelineRobustnessBufferBehaviorEXT defaultRobustnessUniformBuffers_=VULKAN_HPP_NAMESPACE::PipelineRobustnessBufferBehaviorEXT::eDeviceDefault, VULKAN_HPP_NAMESPACE::PipelineRobustnessBufferBehaviorEXT defaultRobustnessVertexInputs_=VULKAN_HPP_NAMESPACE::PipelineRobustnessBufferBehaviorEXT::eDeviceDefault, VULKAN_HPP_NAMESPACE::PipelineRobustnessImageBehaviorEXT defaultRobustnessImages_=VULKAN_HPP_NAMESPACE::PipelineRobustnessImageBehaviorEXT::eDeviceDefault, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
CuLaunchInfoNVX(VkCuLaunchInfoNVX const &rhs) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 MicromapBuildInfoEXT & setTriangleArrayStride(VULKAN_HPP_NAMESPACE::DeviceSize triangleArrayStride_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 PipelineLayoutCreateInfo & setPushConstantRangeCount(uint32_t pushConstantRangeCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePrivateDataFeatures & setPrivateData(VULKAN_HPP_NAMESPACE::Bool32 privateData_) VULKAN_HPP_NOEXCEPT
SamplerCaptureDescriptorDataInfoEXT & operator=(VkSamplerCaptureDescriptorDataInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineCoverageModulationStateCreateInfoNV & setCoverageModulationMode(VULKAN_HPP_NAMESPACE::CoverageModulationModeNV coverageModulationMode_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceImagelessFramebufferFeatures(VULKAN_HPP_NAMESPACE::Bool32 imagelessFramebuffer_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageViewCaptureDescriptorDataInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Bool32 sampleRateShading
FramebufferCreateInfo & setAttachments(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::ImageView > const &attachments_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCallbackDataEXT & setPMessageIdName(const char *pMessageIdName_) VULKAN_HPP_NOEXCEPT
bool operator==(CommandBufferBeginInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(SamplerCaptureDescriptorDataInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorIndexingFeatures & setShaderSampledImageArrayNonUniformIndexing(VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayNonUniformIndexing_) VULKAN_HPP_NOEXCEPT
bool operator==(BindImageMemoryDeviceGroupInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceDeviceMemoryReportCreateInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Extent3D imageExtent
ShaderModuleCreateInfo & setCode(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &code_) VULKAN_HPP_NOEXCEPT
GLint GLfloat GLint stencil
Definition: glcorearb.h:1278
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesOpacityMicromapEXT & setPpUsageCounts(const VULKAN_HPP_NAMESPACE::MicromapUsageEXT *const *ppUsageCounts_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceMeshShaderPropertiesNV const &rhs) const VULKAN_HPP_NOEXCEPT
PipelineViewportExclusiveScissorStateCreateInfoNV & operator=(VkPipelineViewportExclusiveScissorStateCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
OpticalFlowExecuteInfoNV(VkOpticalFlowExecuteInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorSetLayoutBinding & setStageFlags(VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DrawMeshTasksIndirectCommandNV(uint32_t taskCount_={}, uint32_t firstTask_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BaseOutStructure & setPNext(struct VULKAN_HPP_NAMESPACE::BaseOutStructure *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(SparseImageOpaqueMemoryBindInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState3FeaturesEXT & setExtendedDynamicState3AlphaToOneEnable(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3AlphaToOneEnable_) VULKAN_HPP_NOEXCEPT
MemoryHeap(VkMemoryHeap const &rhs) VULKAN_HPP_NOEXCEPT
MemoryDedicatedAllocateInfo(VkMemoryDedicatedAllocateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setWideLines(VULKAN_HPP_NAMESPACE::Bool32 wideLines_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageMemoryBarrier & setImage(VULKAN_HPP_NAMESPACE::Image image_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceSize size
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryDataKHR & setAabbs(VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryAabbsDataKHR const &aabbs_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceImageMemoryRequirements & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Offset3D srcOffset
DisplayPowerInfoEXT(VkDisplayPowerInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(DeviceQueueInfo2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RayTracingPipelineCreateInfoKHR & setFlags(VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags_) VULKAN_HPP_NOEXCEPT
FramebufferAttachmentsCreateInfo & setAttachmentImageInfos(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::FramebufferAttachmentImageInfo > const &attachmentImageInfos_) VULKAN_HPP_NOEXCEPT
bool operator!=(MappedMemoryRange const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkGraphicsShaderGroupCreateInfoNV VkGraphicsShaderGroupCreateInfoNV
ExternalMemoryProperties(VkExternalMemoryProperties const &rhs) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
struct VkBufferDeviceAddressCreateInfoEXT VkBufferDeviceAddressCreateInfoEXT
VULKAN_HPP_CONSTEXPR_14 SubpassDescription2 & setColorAttachmentCount(uint32_t colorAttachmentCount_) VULKAN_HPP_NOEXCEPT
ViewportWScalingNV(VkViewportWScalingNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::GeometryFlagsKHR flags
WriteDescriptorSet(VULKAN_HPP_NAMESPACE::DescriptorSet dstSet_, uint32_t dstBinding_, uint32_t dstArrayElement_, VULKAN_HPP_NAMESPACE::DescriptorType descriptorType_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::DescriptorImageInfo > const &imageInfo_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::DescriptorBufferInfo > const &bufferInfo_={}, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::BufferView > const &texelBufferView_={}, const void *pNext_=nullptr)
PhysicalDeviceTexelBufferAlignmentFeaturesEXT(VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceMultiDrawFeaturesEXT & operator=(VkPhysicalDeviceMultiDrawFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkCopyImageInfo2 VkCopyImageInfo2
WriteDescriptorSet & operator=(VkWriteDescriptorSet const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceFragmentShaderInterlockFeaturesEXT & operator=(VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(MemoryAllocateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceRayQueryFeaturesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
WriteDescriptorSet & setTexelBufferView(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::BufferView > const &texelBufferView_) VULKAN_HPP_NOEXCEPT
bool operator==(FramebufferCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(SampleLocationEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::BufferViewCreateFlags flags
ResolveImageInfo2 & setRegions(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::ImageResolve2 > const &regions_) VULKAN_HPP_NOEXCEPT
bool operator!=(CopyDescriptorSet const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GeneratedCommandsMemoryRequirementsInfoNV & setIndirectCommandsLayout(VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout_) VULKAN_HPP_NOEXCEPT
CopyAccelerationStructureInfoKHR & operator=(CopyAccelerationStructureInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT=default
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
bool operator!=(PipelineInputAssemblyStateCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ProtectedSubmitInfo(VULKAN_HPP_NAMESPACE::Bool32 protectedSubmit_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceMaintenance4Features const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState3FeaturesEXT & setExtendedDynamicState3AlphaToCoverageEnable(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3AlphaToCoverageEnable_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceDepthStencilResolveProperties(VkPhysicalDeviceDepthStencilResolveProperties const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDevice16BitStorageFeatures & operator=(VkPhysicalDevice16BitStorageFeatures const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceMeshShaderFeaturesEXT(VkPhysicalDeviceMeshShaderFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3Properties
DescriptorSetLayoutBindingFlagsCreateInfo & operator=(VkDescriptorSetLayoutBindingFlagsCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
struct VkBufferViewCreateInfo VkBufferViewCreateInfo
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV & setDedicatedAllocationImageAliasing(VULKAN_HPP_NAMESPACE::Bool32 dedicatedAllocationImageAliasing_) VULKAN_HPP_NOEXCEPT
DebugUtilsObjectNameInfoEXT & operator=(VkDebugUtilsObjectNameInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
FormatProperties & operator=(VkFormatProperties const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPipelineFragmentShadingRateStateCreateInfoKHR VkPipelineFragmentShadingRateStateCreateInfoKHR
bool operator==(PhysicalDeviceInheritedViewportScissorFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceMeshShaderFeaturesNV(VkPhysicalDeviceMeshShaderFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
SparseBufferMemoryBindInfo(VULKAN_HPP_NAMESPACE::Buffer buffer_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SparseMemoryBind > const &binds_)
VULKAN_HPP_CONSTEXPR_14 ImageResolve2 & setSrcOffset(VULKAN_HPP_NAMESPACE::Offset3D const &srcOffset_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageViewUsageCreateInfo & setUsage(VULKAN_HPP_NAMESPACE::ImageUsageFlags usage_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceRenderPassTransformInfoQCOM & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceShaderFloat16Int8Features const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorAddressInfoEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR Rect2D(VULKAN_HPP_NAMESPACE::Offset2D offset_={}, VULKAN_HPP_NAMESPACE::Extent2D extent_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::AttachmentDescriptionFlags flags
TransformMatrixKHR & operator=(TransformMatrixKHR const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 SubpassBeginInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(DisplayPropertiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Bool32 vertexPipelineStoresAndAtomics
VULKAN_HPP_CONSTEXPR_14 CuLaunchInfoNVX & setSharedMemBytes(uint32_t sharedMemBytes_) VULKAN_HPP_NOEXCEPT
const VULKAN_HPP_NAMESPACE::CommandBufferInheritanceInfo * pInheritanceInfo
VULKAN_HPP_CONSTEXPR PresentRegionsKHR(uint32_t swapchainCount_={}, const VULKAN_HPP_NAMESPACE::PresentRegionKHR *pRegions_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(BindImageMemorySwapchainInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 StencilOpState & setWriteMask(uint32_t writeMask_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ImageCopy2(VULKAN_HPP_NAMESPACE::ImageSubresourceLayers srcSubresource_={}, VULKAN_HPP_NAMESPACE::Offset3D srcOffset_={}, VULKAN_HPP_NAMESPACE::ImageSubresourceLayers dstSubresource_={}, VULKAN_HPP_NAMESPACE::Offset3D dstOffset_={}, VULKAN_HPP_NAMESPACE::Extent3D extent_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(ImageCopy2 const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT VkPhysicalDeviceFragmentDensityMap2PropertiesEXT
VULKAN_HPP_CONSTEXPR_14 ValidationCacheCreateInfoEXT & setInitialDataSize(size_t initialDataSize_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceFragmentShaderBarycentricFeaturesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceMeshShaderFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceBufferDeviceAddressFeatures & operator=(VkPhysicalDeviceBufferDeviceAddressFeatures const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 VertexInputAttributeDescription & setFormat(VULKAN_HPP_NAMESPACE::Format format_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferCaptureDescriptorDataInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(SparseImageMemoryRequirements const &rhs) const VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR RayTracingShaderGroupCreateInfoNV(VULKAN_HPP_NAMESPACE::RayTracingShaderGroupTypeKHR type_=VULKAN_HPP_NAMESPACE::RayTracingShaderGroupTypeKHR::eGeneral, uint32_t generalShader_={}, uint32_t closestHitShader_={}, uint32_t anyHitShader_={}, uint32_t intersectionShader_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkPipelineExecutableInfoKHR VkPipelineExecutableInfoKHR
void CAMetalLayer
Definition: vulkan_metal.h:26
struct VkHeadlessSurfaceCreateInfoEXT VkHeadlessSurfaceCreateInfoEXT
Viewport & operator=(Viewport const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 RenderingInfo(VULKAN_HPP_NAMESPACE::RenderingFlags flags_={}, VULKAN_HPP_NAMESPACE::Rect2D renderArea_={}, uint32_t layerCount_={}, uint32_t viewMask_={}, uint32_t colorAttachmentCount_={}, const VULKAN_HPP_NAMESPACE::RenderingAttachmentInfo *pColorAttachments_={}, const VULKAN_HPP_NAMESPACE::RenderingAttachmentInfo *pDepthAttachment_={}, const VULKAN_HPP_NAMESPACE::RenderingAttachmentInfo *pStencilAttachment_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceShaderFloat16Int8Features const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::CopyMicromapModeEXT mode
PhysicalDeviceExtendedDynamicStateFeaturesEXT & operator=(VkPhysicalDeviceExtendedDynamicStateFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(MemoryRequirements const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MemoryAllocateInfo & setMemoryTypeIndex(uint32_t memoryTypeIndex_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageMemoryBarrier2 & setDstStageMask(VULKAN_HPP_NAMESPACE::PipelineStageFlags2 dstStageMask_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubmitInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceVulkanMemoryModelFeatures(VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModel_={}, VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModelDeviceScope_={}, VULKAN_HPP_NAMESPACE::Bool32 vulkanMemoryModelAvailabilityVisibilityChains_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
ExternalMemoryImageCreateInfoNV(VkExternalMemoryImageCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceOpacityMicromapFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GraphicsPipelineCreateInfo(VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags_={}, uint32_t stageCount_={}, const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo *pStages_={}, const VULKAN_HPP_NAMESPACE::PipelineVertexInputStateCreateInfo *pVertexInputState_={}, const VULKAN_HPP_NAMESPACE::PipelineInputAssemblyStateCreateInfo *pInputAssemblyState_={}, const VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateInfo *pTessellationState_={}, const VULKAN_HPP_NAMESPACE::PipelineViewportStateCreateInfo *pViewportState_={}, const VULKAN_HPP_NAMESPACE::PipelineRasterizationStateCreateInfo *pRasterizationState_={}, const VULKAN_HPP_NAMESPACE::PipelineMultisampleStateCreateInfo *pMultisampleState_={}, const VULKAN_HPP_NAMESPACE::PipelineDepthStencilStateCreateInfo *pDepthStencilState_={}, const VULKAN_HPP_NAMESPACE::PipelineColorBlendStateCreateInfo *pColorBlendState_={}, const VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateInfo *pDynamicState_={}, VULKAN_HPP_NAMESPACE::PipelineLayout layout_={}, VULKAN_HPP_NAMESPACE::RenderPass renderPass_={}, uint32_t subpass_={}, VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle_={}, int32_t basePipelineIndex_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
SurfaceCapabilitiesPresentBarrierNV & operator=(VkSurfaceCapabilitiesPresentBarrierNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassMultiviewCreateInfo & setDependencyCount(uint32_t dependencyCount_) VULKAN_HPP_NOEXCEPT
MultisamplePropertiesEXT(VkMultisamplePropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceLineRasterizationPropertiesEXT & operator=(VkPhysicalDeviceLineRasterizationPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkAccelerationStructureGeometryTrianglesDataKHR VkAccelerationStructureGeometryTrianglesDataKHR
struct VkMutableDescriptorTypeCreateInfoEXT VkMutableDescriptorTypeCreateInfoEXT
VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR dst
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryAabbsDataKHR & setStride(VULKAN_HPP_NAMESPACE::DeviceSize stride_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMotionInstanceDataNV & setMatrixMotionInstance(VULKAN_HPP_NAMESPACE::AccelerationStructureMatrixMotionInstanceNV const &matrixMotionInstance_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
VULKAN_HPP_CONSTEXPR_14 Extent2D & setWidth(uint32_t width_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorUpdateTemplateCreateInfo & setPipelineLayout(VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 TraceRaysIndirectCommand2KHR & setRaygenShaderRecordAddress(VULKAN_HPP_NAMESPACE::DeviceAddress raygenShaderRecordAddress_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceGroupBindSparseInfo & setResourceDeviceIndex(uint32_t resourceDeviceIndex_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferImageCopy & setImageExtent(VULKAN_HPP_NAMESPACE::Extent3D const &imageExtent_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceImageProcessingFeaturesQCOM(VkPhysicalDeviceImageProcessingFeaturesQCOM const &rhs) VULKAN_HPP_NOEXCEPT
SemaphoreWaitInfo & operator=(VkSemaphoreWaitInfo const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(RenderingFragmentShadingRateAttachmentInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(DeviceGroupSubmitInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceExtendedDynamicState3PropertiesEXT(VULKAN_HPP_NAMESPACE::Bool32 dynamicPrimitiveTopologyUnrestricted_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(BaseInStructure const &rhs) const VULKAN_HPP_NOEXCEPT
const VkDescriptorAddressInfoEXT * pUniformTexelBuffer
VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePipelineProtectedAccessFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkVideoEncodeUsageInfoKHR VkVideoEncodeUsageInfoKHR
DisplayNativeHdrSurfaceCapabilitiesAMD(VkDisplayNativeHdrSurfaceCapabilitiesAMD const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceSize offset
VULKAN_HPP_CONSTEXPR_14 GeometryAABBNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setLargePoints(VULKAN_HPP_NAMESPACE::Bool32 largePoints_) VULKAN_HPP_NOEXCEPT
bool operator==(CooperativeMatrixPropertiesNV const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkRenderPassCreationFeedbackInfoEXT VkRenderPassCreationFeedbackInfoEXT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
HdrMetadataEXT & operator=(VkHdrMetadataEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(FramebufferAttachmentsCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceProperties2 const &rhs) const VULKAN_HPP_NOEXCEPT
ExternalImageFormatPropertiesNV & operator=(VkExternalImageFormatPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR WriteDescriptorSetInlineUniformBlock(uint32_t dataSize_={}, const void *pData_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SurfaceProtectedCapabilitiesKHR & setSupportsProtected(VULKAN_HPP_NAMESPACE::Bool32 supportsProtected_) VULKAN_HPP_NOEXCEPT
ColorBlendAdvancedEXT & operator=(ColorBlendAdvancedEXT const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_NAMESPACE::Image srcImage
VULKAN_HPP_CONSTEXPR_14 BindSparseInfo & setSignalSemaphoreCount(uint32_t signalSemaphoreCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePipelineCreationCacheControlFeatures & setPipelineCreationCacheControl(VULKAN_HPP_NAMESPACE::Bool32 pipelineCreationCacheControl_) VULKAN_HPP_NOEXCEPT
CopyMemoryIndirectCommandNV & operator=(VkCopyMemoryIndirectCommandNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DisplayModeParametersKHR(VULKAN_HPP_NAMESPACE::Extent2D visibleRegion_={}, uint32_t refreshRate_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageSubresourceRange & setBaseMipLevel(uint32_t baseMipLevel_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubpassDependency2 & setSrcAccessMask(VULKAN_HPP_NAMESPACE::AccessFlags srcAccessMask_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkanMemoryModelFeatures & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(AcquireProfilingLockInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
DeviceAddressBindingCallbackDataEXT & operator=(DeviceAddressBindingCallbackDataEXT const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator==(BaseOutStructure const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(ImageMemoryBarrier2 const &rhs) const VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 VertexInputBindingDivisorDescriptionEXT & setBinding(uint32_t binding_) VULKAN_HPP_NOEXCEPT
struct VkImageCompressionPropertiesEXT VkImageCompressionPropertiesEXT
VULKAN_HPP_CONSTEXPR_14 HdrMetadataEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(DebugReportCallbackCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BindSparseInfo & setImageBindCount(uint32_t imageBindCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceOpticalFlowFeaturesNV & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
IndirectCommandsLayoutCreateInfoNV & setTokens(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutTokenNV > const &tokens_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SwapchainCreateInfoKHR & setImageArrayLayers(uint32_t imageArrayLayers_) VULKAN_HPP_NOEXCEPT
FenceCreateInfo(VkFenceCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
OpticalFlowExecuteInfoNV & setRegions(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Rect2D > const &regions_) VULKAN_HPP_NOEXCEPT
GLuint divisor
Definition: glcorearb.h:1670
bool operator!=(CopyBufferToImageInfo2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceSubgroupSizeControlFeatures(VULKAN_HPP_NAMESPACE::Bool32 subgroupSizeControl_={}, VULKAN_HPP_NAMESPACE::Bool32 computeFullSubgroups_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceOpacityMicromapFeaturesEXT & setMicromapCaptureReplay(VULKAN_HPP_NAMESPACE::Bool32 micromapCaptureReplay_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DevicePrivateDataCreateInfo & setPrivateDataSlotRequestCount(uint32_t privateDataSlotRequestCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDevice4444FormatsFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageDrmFormatModifierInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GraphicsPipelineCreateInfo & setPStages(const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo *pStages_) VULKAN_HPP_NOEXCEPT
bool operator!=(DescriptorImageInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceSize vertexOffset
VULKAN_HPP_CONSTEXPR AcquireProfilingLockInfoKHR(VULKAN_HPP_NAMESPACE::AcquireProfilingLockFlagsKHR flags_={}, uint64_t timeout_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
ProtectedSubmitInfo(VkProtectedSubmitInfo const &rhs) VULKAN_HPP_NOEXCEPT
DeviceQueueGlobalPriorityCreateInfoKHR(VkDeviceQueueGlobalPriorityCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceExternalFenceInfo const &rhs) const VULKAN_HPP_NOEXCEPT
ShaderStatisticsInfoAMD(VkShaderStatisticsInfoAMD const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationStateStreamCreateInfoEXT & setFlags(VULKAN_HPP_NAMESPACE::PipelineRasterizationStateStreamCreateFlagsEXT flags_) VULKAN_HPP_NOEXCEPT
SparseImageOpaqueMemoryBindInfo(VkSparseImageOpaqueMemoryBindInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceAddress dstAddress
PresentRegionsKHR(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::PresentRegionKHR > const &regions_, const void *pNext_=nullptr)
bool operator==(PhysicalDeviceExtendedDynamicState3PropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageCreateInfo & setFlags(VULKAN_HPP_NAMESPACE::ImageCreateFlags flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::SharingMode sharingMode
VULKAN_HPP_CONSTEXPR_14 SubpassDescription & setPPreserveAttachments(const uint32_t *pPreserveAttachments_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GraphicsPipelineCreateInfo & setPDynamicState(const VULKAN_HPP_NAMESPACE::PipelineDynamicStateCreateInfo *pDynamicState_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 attachmentFeedbackLoopLayout_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ExternalMemoryBufferCreateInfo & setHandleTypes(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlags handleTypes_) VULKAN_HPP_NOEXCEPT
PipelineColorBlendAdvancedStateCreateInfoEXT & operator=(VkPipelineColorBlendAdvancedStateCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(MutableDescriptorTypeListEXT const &rhs) const VULKAN_HPP_NOEXCEPT
ResolveImageInfo2(VULKAN_HPP_NAMESPACE::Image srcImage_, VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout_, VULKAN_HPP_NAMESPACE::Image dstImage_, VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::ImageResolve2 > const &regions_, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 SamplerCreateInfo & setCompareOp(VULKAN_HPP_NAMESPACE::CompareOp compareOp_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState3FeaturesEXT & setExtendedDynamicState3ViewportSwizzle(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ViewportSwizzle_) VULKAN_HPP_NOEXCEPT
bool operator!=(MemoryBarrier2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setDrawIndirectFirstInstance(VULKAN_HPP_NAMESPACE::Bool32 drawIndirectFirstInstance_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceSeparateDepthStencilLayoutsFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceCustomBorderColorFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderAtomicInt64Features & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceAmigoProfilingFeaturesSEC(VkPhysicalDeviceAmigoProfilingFeaturesSEC const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR MicromapUsageEXT(uint32_t count_={}, uint32_t subdivisionLevel_={}, uint32_t format_={}) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI VkPhysicalDeviceSubpassShadingFeaturesHUAWEI
bool operator==(PhysicalDeviceDescriptorIndexingFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceProtectedMemoryFeatures(VkPhysicalDeviceProtectedMemoryFeatures const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubmitInfo2 & setSignalSemaphoreInfoCount(uint32_t signalSemaphoreInfoCount_) VULKAN_HPP_NOEXCEPT
bool operator==(PipelineVertexInputDivisorStateCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR & setShaderSubgroupUniformControlFlow(VULKAN_HPP_NAMESPACE::Bool32 shaderSubgroupUniformControlFlow_) VULKAN_HPP_NOEXCEPT
PipelineFragmentShadingRateEnumStateCreateInfoNV(VkPipelineFragmentShadingRateEnumStateCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
PipelineColorBlendAttachmentState(VkPipelineColorBlendAttachmentState const &rhs) VULKAN_HPP_NOEXCEPT
SubmitInfo & setCommandBuffers(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::CommandBuffer > const &commandBuffers_) VULKAN_HPP_NOEXCEPT
DrawMeshTasksIndirectCommandNV(VkDrawMeshTasksIndirectCommandNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SparseImageMemoryRequirements2(VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements memoryRequirements_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(VertexInputAttributeDescription const &rhs) const VULKAN_HPP_NOEXCEPT
SwapchainCreateInfoKHR(VkSwapchainCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SubmitInfo2(VULKAN_HPP_NAMESPACE::SubmitFlags flags_={}, uint32_t waitSemaphoreInfoCount_={}, const VULKAN_HPP_NAMESPACE::SemaphoreSubmitInfo *pWaitSemaphoreInfos_={}, uint32_t commandBufferInfoCount_={}, const VULKAN_HPP_NAMESPACE::CommandBufferSubmitInfo *pCommandBufferInfos_={}, uint32_t signalSemaphoreInfoCount_={}, const VULKAN_HPP_NAMESPACE::SemaphoreSubmitInfo *pSignalSemaphoreInfos_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkVideoProfileListInfoKHR VkVideoProfileListInfoKHR
struct VkSRTDataNV VkSRTDataNV
bool operator==(RenderingInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ClearValue(VULKAN_HPP_NAMESPACE::ClearDepthStencilValue depthStencil_)
VULKAN_HPP_NAMESPACE::GeometryAABBNV aabbs
SampleLocationEXT & operator=(SampleLocationEXT const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator==(PhysicalDeviceRayQueryFeaturesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkCalibratedTimestampInfoEXT VkCalibratedTimestampInfoEXT
VULKAN_HPP_CONSTEXPR_14 MultisampledRenderToSingleSampledInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
SRTDataNV & operator=(VkSRTDataNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceLineRasterizationFeaturesEXT & setStippledSmoothLines(VULKAN_HPP_NAMESPACE::Bool32 stippledSmoothLines_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceInlineUniformBlockProperties const &rhs) const VULKAN_HPP_NOEXCEPT
GraphicsPipelineCreateInfo & operator=(VkGraphicsPipelineCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR FragmentShadingRateAttachmentInfoKHR(const VULKAN_HPP_NAMESPACE::AttachmentReference2 *pFragmentShadingRateAttachment_={}, VULKAN_HPP_NAMESPACE::Extent2D shadingRateAttachmentTexelSize_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
SemaphoreSubmitInfo(VkSemaphoreSubmitInfo const &rhs) VULKAN_HPP_NOEXCEPT
struct VkQueueFamilyCheckpointPropertiesNV VkQueueFamilyCheckpointPropertiesNV
VULKAN_HPP_CONSTEXPR_14 PhysicalDevice4444FormatsFeaturesEXT & setFormatA4B4G4R4(VULKAN_HPP_NAMESPACE::Bool32 formatA4B4G4R4_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureBuildRangeInfoKHR & setPrimitiveCount(uint32_t primitiveCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 OpticalFlowSessionCreateInfoNV & setImageFormat(VULKAN_HPP_NAMESPACE::Format imageFormat_) VULKAN_HPP_NOEXCEPT
DebugUtilsLabelEXT & operator=(VkDebugUtilsLabelEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorSetLayoutCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVariablePointersFeatures & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMotionInstanceNV & setData(VULKAN_HPP_NAMESPACE::AccelerationStructureMotionInstanceDataNV const &data_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SamplerReductionModeCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCreateInfoEXT & setMessageSeverity(VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagsEXT messageSeverity_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceVertexAttributeDivisorFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceBorderColorSwizzleFeaturesEXT & setBorderColorSwizzleFromImage(VULKAN_HPP_NAMESPACE::Bool32 borderColorSwizzleFromImage_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SRTDataNV & setTy(float ty_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRobustnessCreateInfoEXT & setUniformBuffers(VULKAN_HPP_NAMESPACE::PipelineRobustnessBufferBehaviorEXT uniformBuffers_) VULKAN_HPP_NOEXCEPT
MemoryDedicatedAllocateInfo & operator=(VkMemoryDedicatedAllocateInfo const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(RenderPassCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
type
Definition: core.h:1059
VULKAN_HPP_NAMESPACE::StructureType sType
VULKAN_HPP_CONSTEXPR_14 AttachmentSampleLocationsEXT & setSampleLocationsInfo(VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT const &sampleLocationsInfo_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 DebugReportCallbackCreateInfoEXT & setPUserData(void *pUserData_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderSubgroupExtendedTypesFeatures(VULKAN_HPP_NAMESPACE::Bool32 shaderSubgroupExtendedTypes_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SamplerBorderColorComponentMappingCreateInfoEXT & setSrgb(VULKAN_HPP_NAMESPACE::Bool32 srgb_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MultiDrawIndexedInfoEXT & setFirstIndex(uint32_t firstIndex_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DisplaySurfaceCreateInfoKHR(VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateFlagsKHR flags_={}, VULKAN_HPP_NAMESPACE::DisplayModeKHR displayMode_={}, uint32_t planeIndex_={}, uint32_t planeStackIndex_={}, VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR transform_=VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR::eIdentity, float globalAlpha_={}, VULKAN_HPP_NAMESPACE::DisplayPlaneAlphaFlagBitsKHR alphaMode_=VULKAN_HPP_NAMESPACE::DisplayPlaneAlphaFlagBitsKHR::eOpaque, VULKAN_HPP_NAMESPACE::Extent2D imageExtent_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
BindIndexBufferIndirectCommandNV & operator=(VkBindIndexBufferIndirectCommandNV const &rhs) VULKAN_HPP_NOEXCEPT
struct VkQueueFamilyProperties2 VkQueueFamilyProperties2
bool operator==(SamplerYcbcrConversionImageFormatProperties const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceShaderSubgroupExtendedTypesFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
SubmitInfo2(VkSubmitInfo2 const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineRenderingCreateInfo(uint32_t viewMask_={}, uint32_t colorAttachmentCount_={}, const VULKAN_HPP_NAMESPACE::Format *pColorAttachmentFormats_={}, VULKAN_HPP_NAMESPACE::Format depthAttachmentFormat_=VULKAN_HPP_NAMESPACE::Format::eUndefined, VULKAN_HPP_NAMESPACE::Format stencilAttachmentFormat_=VULKAN_HPP_NAMESPACE::Format::eUndefined, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceMutableDescriptorTypeFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
DeviceGroupPresentInfoKHR & operator=(VkDeviceGroupPresentInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubpassBeginInfo & setContents(VULKAN_HPP_NAMESPACE::SubpassContents contents_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineTessellationStateCreateInfo & setFlags(VULKAN_HPP_NAMESPACE::PipelineTessellationStateCreateFlags flags_) VULKAN_HPP_NOEXCEPT
PipelineLayoutCreateInfo & operator=(VkPipelineLayoutCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 Viewport & setY(float y_) VULKAN_HPP_NOEXCEPT
AttachmentSampleCountInfoAMD(VkAttachmentSampleCountInfoAMD const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR TraceRaysIndirectCommandKHR(uint32_t width_={}, uint32_t height_={}, uint32_t depth_={}) VULKAN_HPP_NOEXCEPT
BindBufferMemoryDeviceGroupInfo(VkBindBufferMemoryDeviceGroupInfo const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(ProtectedSubmitInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(SamplerReductionModeCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceCornerSampledImageFeaturesNV(VULKAN_HPP_NAMESPACE::Bool32 cornerSampledImage_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(FormatProperties2 const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(DeviceMemoryOverallocationCreateInfoAMD const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceImageDrmFormatModifierInfoEXT & operator=(VkPhysicalDeviceImageDrmFormatModifierInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CommandBufferSubmitInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
DescriptorSetVariableDescriptorCountAllocateInfo(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &descriptorCounts_, const void *pNext_=nullptr)
BufferImageCopy(VkBufferImageCopy const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(AccelerationStructureCreateInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setShaderStorageImageReadWithoutFormat(VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageReadWithoutFormat_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MicromapBuildSizesInfoEXT & setBuildScratchSize(VULKAN_HPP_NAMESPACE::DeviceSize buildScratchSize_) VULKAN_HPP_NOEXCEPT
const VULKAN_HPP_NAMESPACE::ImageCopy2 * pRegions
bool operator==(PhysicalDeviceExternalMemoryHostPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceOrHostAddressKHR(VULKAN_HPP_NAMESPACE::DeviceAddress deviceAddress_={})
VULKAN_HPP_CONSTEXPR PhysicalDeviceMultiviewProperties(uint32_t maxMultiviewViewCount_={}, uint32_t maxMultiviewInstanceIndex_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceAccelerationStructureFeaturesKHR VkPhysicalDeviceAccelerationStructureFeaturesKHR
IndirectCommandsLayoutTokenNV(VkIndirectCommandsLayoutTokenNV const &rhs) VULKAN_HPP_NOEXCEPT
DirectDriverLoadingListLUNARG & operator=(VkDirectDriverLoadingListLUNARG const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceBufferDeviceAddressFeatures(VkPhysicalDeviceBufferDeviceAddressFeatures const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(MemoryAllocateFlagsInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceCornerSampledImageFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPipelineLibraryCreateInfoKHR VkPipelineLibraryCreateInfoKHR
bool operator!=(PhysicalDeviceFragmentDensityMap2FeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(CoarseSampleLocationNV const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(SemaphoreCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
RenderPassCreateInfo(VkRenderPassCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageSubresourceLayers & setMipLevel(uint32_t mipLevel_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GraphicsShaderGroupCreateInfoNV & setPStages(const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo *pStages_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ArrayWrapper1D< uint32_t, 4 > uint32
bool operator!=(PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ClearDepthStencilValue & setDepth(float depth_) VULKAN_HPP_NOEXCEPT
PFN_vkInternalAllocationNotification pfnInternalAllocation
VULKAN_HPP_CONSTEXPR_14 PipelineFragmentShadingRateEnumStateCreateInfoNV(VULKAN_HPP_NAMESPACE::FragmentShadingRateTypeNV shadingRateType_=VULKAN_HPP_NAMESPACE::FragmentShadingRateTypeNV::eFragmentSize, VULKAN_HPP_NAMESPACE::FragmentShadingRateNV shadingRate_=VULKAN_HPP_NAMESPACE::FragmentShadingRateNV::e1InvocationPerPixel, std::array< VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR, 2 > const &combinerOps_={{VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR::eKeep, VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR::eKeep}}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(BufferMemoryBarrier2 const &rhs) const VULKAN_HPP_NOEXCEPT
BufferCaptureDescriptorDataInfoEXT(VkBufferCaptureDescriptorDataInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
OpaqueCaptureDescriptorDataCreateInfoEXT & operator=(VkOpaqueCaptureDescriptorDataCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
AttachmentDescription2(VkAttachmentDescription2 const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(AmigoProfilingSubmitInfoSEC const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureMotionInstanceNV(VULKAN_HPP_NAMESPACE::AccelerationStructureMotionInstanceTypeNV type_=VULKAN_HPP_NAMESPACE::AccelerationStructureMotionInstanceTypeNV::eStatic, VULKAN_HPP_NAMESPACE::AccelerationStructureMotionInstanceFlagsNV flags_={}, VULKAN_HPP_NAMESPACE::AccelerationStructureMotionInstanceDataNV data_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT & setPStorageBuffer(const VULKAN_HPP_NAMESPACE::DescriptorAddressInfoEXT *pStorageBuffer_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineViewportSwizzleStateCreateInfoNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceImageFormatInfo2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState3FeaturesEXT & setExtendedDynamicState3DepthClampEnable(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3DepthClampEnable_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
ShadingRatePaletteNV & operator=(VkShadingRatePaletteNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugMarkerMarkerInfoEXT & setPMarkerName(const char *pMarkerName_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceVariablePointersFeatures(VULKAN_HPP_NAMESPACE::Bool32 variablePointersStorageBuffer_={}, VULKAN_HPP_NAMESPACE::Bool32 variablePointers_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(PastPresentationTimingGOOGLE const &rhs) const VULKAN_HPP_NOEXCEPT
RenderingInfo & setColorAttachments(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::RenderingAttachmentInfo > const &colorAttachments_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceFragmentDensityMapFeaturesEXT(VkPhysicalDeviceFragmentDensityMapFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyDescriptorSet & setDescriptorCount(uint32_t descriptorCount_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceMemoryPriorityFeaturesEXT VkPhysicalDeviceMemoryPriorityFeaturesEXT
VULKAN_HPP_CONSTEXPR_14 GeneratedCommandsInfoNV & setPStreams(const VULKAN_HPP_NAMESPACE::IndirectCommandsStreamNV *pStreams_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ImageCompressionControlEXT(VULKAN_HPP_NAMESPACE::ImageCompressionFlagsEXT flags_={}, uint32_t compressionControlPlaneCount_={}, VULKAN_HPP_NAMESPACE::ImageCompressionFixedRateFlagsEXT *pFixedRateFlags_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesOpacityMicromapEXT & setMicromap(VULKAN_HPP_NAMESPACE::MicromapEXT micromap_) VULKAN_HPP_NOEXCEPT
bool operator!=(MemoryDedicatedAllocateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
ImageDrmFormatModifierListCreateInfoEXT(VkImageDrmFormatModifierListCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GeometryTrianglesNV & setTransformOffset(VULKAN_HPP_NAMESPACE::DeviceSize transformOffset_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState3FeaturesEXT & setExtendedDynamicState3RepresentativeFragmentTestEnable(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3RepresentativeFragmentTestEnable_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubpassDependency & setDependencyFlags(VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags_) VULKAN_HPP_NOEXCEPT
bool operator!=(BindBufferMemoryDeviceGroupInfo const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkAndroidSurfaceCreateInfoKHR VkAndroidSurfaceCreateInfoKHR
VULKAN_HPP_CONSTEXPR PhysicalDeviceBlendOperationAdvancedPropertiesEXT(uint32_t advancedBlendMaxColorAttachments_={}, VULKAN_HPP_NAMESPACE::Bool32 advancedBlendIndependentBlend_={}, VULKAN_HPP_NAMESPACE::Bool32 advancedBlendNonPremultipliedSrcColor_={}, VULKAN_HPP_NAMESPACE::Bool32 advancedBlendNonPremultipliedDstColor_={}, VULKAN_HPP_NAMESPACE::Bool32 advancedBlendCorrelatedOverlap_={}, VULKAN_HPP_NAMESPACE::Bool32 advancedBlendAllOperations_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SparseMemoryBind(VULKAN_HPP_NAMESPACE::DeviceSize resourceOffset_={}, VULKAN_HPP_NAMESPACE::DeviceSize size_={}, VULKAN_HPP_NAMESPACE::DeviceMemory memory_={}, VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset_={}, VULKAN_HPP_NAMESPACE::SparseMemoryBindFlags flags_={}) VULKAN_HPP_NOEXCEPT
AccelerationStructureCaptureDescriptorDataInfoEXT & operator=(AccelerationStructureCaptureDescriptorDataInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 SubmitInfo & setCommandBufferCount(uint32_t commandBufferCount_) VULKAN_HPP_NOEXCEPT
PipelineColorWriteCreateInfoEXT & operator=(VkPipelineColorWriteCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubmitInfo & setSignalSemaphoreCount(uint32_t signalSemaphoreCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubpassDescription & setInputAttachmentCount(uint32_t inputAttachmentCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceMeshShaderFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 taskShader_={}, VULKAN_HPP_NAMESPACE::Bool32 meshShader_={}, VULKAN_HPP_NAMESPACE::Bool32 multiviewMeshShader_={}, VULKAN_HPP_NAMESPACE::Bool32 primitiveFragmentShadingRateMeshShader_={}, VULKAN_HPP_NAMESPACE::Bool32 meshShaderQueries_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfo
VULKAN_HPP_CONSTEXPR DebugMarkerObjectTagInfoEXT(VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType_=VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown, uint64_t object_={}, uint64_t tagName_={}, size_t tagSize_={}, const void *pTag_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceGroupPresentInfoKHR & setMode(VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagBitsKHR mode_) VULKAN_HPP_NOEXCEPT
struct VkD3D12FenceSubmitInfoKHR VkD3D12FenceSubmitInfoKHR
VULKAN_HPP_CONSTEXPR_14 ImageMemoryBarrier & setSrcQueueFamilyIndex(uint32_t srcQueueFamilyIndex_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BlitImageInfo2 & setSrcImageLayout(VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceSamplerFilterMinmaxProperties & operator=(VkPhysicalDeviceSamplerFilterMinmaxProperties const &rhs) VULKAN_HPP_NOEXCEPT
RenderPassSampleLocationsBeginInfoEXT(VkRenderPassSampleLocationsBeginInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
CopyCommandTransformInfoQCOM & operator=(VkCopyCommandTransformInfoQCOM const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceRayTracingMaintenance1FeaturesKHR(VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceRepresentativeFragmentTestFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRayTracingMotionBlurFeaturesNV & setRayTracingMotionBlurPipelineTraceRaysIndirect(VULKAN_HPP_NAMESPACE::Bool32 rayTracingMotionBlurPipelineTraceRaysIndirect_) VULKAN_HPP_NOEXCEPT
PhysicalDevicePipelinePropertiesFeaturesEXT & operator=(VkPhysicalDevicePipelinePropertiesFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PrivateDataSlotCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
BufferCreateInfo(VULKAN_HPP_NAMESPACE::BufferCreateFlags flags_, VULKAN_HPP_NAMESPACE::DeviceSize size_, VULKAN_HPP_NAMESPACE::BufferUsageFlags usage_, VULKAN_HPP_NAMESPACE::SharingMode sharingMode_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &queueFamilyIndices_, const void *pNext_=nullptr)
VULKAN_HPP_NAMESPACE::BlendOp alphaBlendOp
bool operator!=(PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DeviceFaultAddressInfoEXT(VULKAN_HPP_NAMESPACE::DeviceFaultAddressTypeEXT addressType_=VULKAN_HPP_NAMESPACE::DeviceFaultAddressTypeEXT::eNone, VULKAN_HPP_NAMESPACE::DeviceAddress reportedAddress_={}, VULKAN_HPP_NAMESPACE::DeviceSize addressPrecision_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setSamplerAnisotropy(VULKAN_HPP_NAMESPACE::Bool32 samplerAnisotropy_) VULKAN_HPP_NOEXCEPT
CommandBufferInheritanceRenderingInfo(VkCommandBufferInheritanceRenderingInfo const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceMemoryBudgetPropertiesEXT(VkPhysicalDeviceMemoryBudgetPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineViewportDepthClipControlCreateInfoEXT(VULKAN_HPP_NAMESPACE::Bool32 negativeOneToOne_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
DescriptorSetVariableDescriptorCountLayoutSupport & operator=(VkDescriptorSetVariableDescriptorCountLayoutSupport const &rhs) VULKAN_HPP_NOEXCEPT
CheckpointDataNV & operator=(CheckpointDataNV const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM
OpticalFlowImageFormatPropertiesNV(VkOpticalFlowImageFormatPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SparseImageMemoryRequirements(VULKAN_HPP_NAMESPACE::SparseImageFormatProperties formatProperties_={}, uint32_t imageMipTailFirstLod_={}, VULKAN_HPP_NAMESPACE::DeviceSize imageMipTailSize_={}, VULKAN_HPP_NAMESPACE::DeviceSize imageMipTailOffset_={}, VULKAN_HPP_NAMESPACE::DeviceSize imageMipTailStride_={}) VULKAN_HPP_NOEXCEPT
AccelerationStructureVersionInfoKHR & operator=(AccelerationStructureVersionInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR PhysicalDeviceSamplerFilterMinmaxProperties(VULKAN_HPP_NAMESPACE::Bool32 filterMinmaxSingleComponentFormats_={}, VULKAN_HPP_NAMESPACE::Bool32 filterMinmaxImageComponentMapping_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceFragmentShadingRateEnumsPropertiesNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SRTDataNV & setTz(float tz_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceInlineUniformBlockProperties(VkPhysicalDeviceInlineUniformBlockProperties const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 OpticalFlowExecuteInfoNV & setRegionCount(uint32_t regionCount_) VULKAN_HPP_NOEXCEPT
MicromapVersionInfoEXT & operator=(VkMicromapVersionInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceProperties & operator=(VkPhysicalDeviceProperties const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(SampleLocationsInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassSubpassFeedbackCreateInfoEXT(VULKAN_HPP_NAMESPACE::RenderPassSubpassFeedbackInfoEXT *pSubpassFeedback_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageProcessingFeaturesQCOM & setTextureSampleWeighted(VULKAN_HPP_NAMESPACE::Bool32 textureSampleWeighted_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorBufferInfo & setOffset(VULKAN_HPP_NAMESPACE::DeviceSize offset_) VULKAN_HPP_NOEXCEPT
CopyAccelerationStructureToMemoryInfoKHR & operator=(CopyAccelerationStructureToMemoryInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator!=(PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(DrawIndirectCommand const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageFormatInfo2 & setType(VULKAN_HPP_NAMESPACE::ImageType type_) VULKAN_HPP_NOEXCEPT
DescriptorSetLayoutCreateInfo(VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateFlags flags_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutBinding > const &bindings_, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 BufferCaptureDescriptorDataInfoEXT & setBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceRayTracingPropertiesNV(uint32_t shaderGroupHandleSize_={}, uint32_t maxRecursionDepth_={}, uint32_t maxShaderGroupStride_={}, uint32_t shaderGroupBaseAlignment_={}, uint64_t maxGeometryCount_={}, uint64_t maxInstanceCount_={}, uint64_t maxTriangleCount_={}, uint32_t maxDescriptorSetAccelerationStructures_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(DeviceMemoryOpaqueCaptureAddressInfo const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceVertexAttributeDivisorPropertiesEXT & operator=(VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR BindVertexBufferIndirectCommandNV(VULKAN_HPP_NAMESPACE::DeviceAddress bufferAddress_={}, uint32_t size_={}, uint32_t stride_={}) VULKAN_HPP_NOEXCEPT
DedicatedAllocationMemoryAllocateInfoNV & operator=(DedicatedAllocationMemoryAllocateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT=default
uint64_t VkDeviceAddress
Definition: vulkan_core.h:94
VULKAN_HPP_CONSTEXPR FormatProperties(VULKAN_HPP_NAMESPACE::FormatFeatureFlags linearTilingFeatures_={}, VULKAN_HPP_NAMESPACE::FormatFeatureFlags optimalTilingFeatures_={}, VULKAN_HPP_NAMESPACE::FormatFeatureFlags bufferFeatures_={}) VULKAN_HPP_NOEXCEPT
PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT & operator=(VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorSetAllocateInfo & setPSetLayouts(const VULKAN_HPP_NAMESPACE::DescriptorSetLayout *pSetLayouts_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineViewportShadingRateImageStateCreateInfoNV(VULKAN_HPP_NAMESPACE::Bool32 shadingRateImageEnable_={}, uint32_t viewportCount_={}, const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV *pShadingRatePalettes_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceGroupBindSparseInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MicromapCreateInfoEXT & setCreateFlags(VULKAN_HPP_NAMESPACE::MicromapCreateFlagsEXT createFlags_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR
DeviceFaultCountsEXT(VkDeviceFaultCountsEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkImageViewASTCDecodeModeEXT VkImageViewASTCDecodeModeEXT
VULKAN_HPP_CONSTEXPR CopyCommandTransformInfoQCOM(VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR transform_=VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR::eIdentity, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CooperativeMatrixPropertiesNV & setScope(VULKAN_HPP_NAMESPACE::ScopeNV scope_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubpassFragmentDensityMapOffsetEndInfoQCOM & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
DirectDriverLoadingListLUNARG(VULKAN_HPP_NAMESPACE::DirectDriverLoadingModeLUNARG mode_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::DirectDriverLoadingInfoLUNARG > const &drivers_, void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR ImageSubresourceRange(VULKAN_HPP_NAMESPACE::ImageAspectFlags aspectMask_={}, uint32_t baseMipLevel_={}, uint32_t levelCount_={}, uint32_t baseArrayLayer_={}, uint32_t layerCount_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageCaptureDescriptorDataInfoEXT & setImage(VULKAN_HPP_NAMESPACE::Image image_) VULKAN_HPP_NOEXCEPT
PipelineRenderingCreateInfo & operator=(VkPipelineRenderingCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SemaphoreCreateInfo(VULKAN_HPP_NAMESPACE::SemaphoreCreateFlags flags_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 StencilOpState & setDepthFailOp(VULKAN_HPP_NAMESPACE::StencilOp depthFailOp_) VULKAN_HPP_NOEXCEPT
struct VkExternalImageFormatPropertiesNV VkExternalImageFormatPropertiesNV
VULKAN_HPP_CONSTEXPR_14 IndirectCommandsLayoutTokenNV & setPushconstantOffset(uint32_t pushconstantOffset_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MutableDescriptorTypeListEXT & setPDescriptorTypes(const VULKAN_HPP_NAMESPACE::DescriptorType *pDescriptorTypes_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassBeginInfo & setPClearValues(const VULKAN_HPP_NAMESPACE::ClearValue *pClearValues_) VULKAN_HPP_NOEXCEPT
bool operator==(RayTracingPipelineCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
ImageViewASTCDecodeModeEXT(VkImageViewASTCDecodeModeEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(ExternalFenceProperties const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkVideoDecodeInfoKHR VkVideoDecodeInfoKHR
BaseOutStructure(VULKAN_HPP_NAMESPACE::StructureType sType_=VULKAN_HPP_NAMESPACE::StructureType::eApplicationInfo, struct VULKAN_HPP_NAMESPACE::BaseOutStructure *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PhysicalDeviceVulkan13Properties(VkPhysicalDeviceVulkan13Properties const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(ImageMemoryRequirementsInfo2 const &rhs) const VULKAN_HPP_NOEXCEPT
PresentTimeGOOGLE(VkPresentTimeGOOGLE const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceShaderSubgroupExtendedTypesFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceBufferDeviceAddressFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkDeviceFaultCountsEXT VkDeviceFaultCountsEXT
bool operator!=(PhysicalDeviceFeatures2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentShaderBarycentricPropertiesKHR(VULKAN_HPP_NAMESPACE::Bool32 triStripVertexOrderIndependentOfProvokingVertex_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PhysicalDeviceBlendOperationAdvancedPropertiesEXT & operator=(VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkCoarseSampleLocationNV VkCoarseSampleLocationNV
VULKAN_HPP_NAMESPACE::DeviceSize srcOffset
struct VkPipelineCoverageModulationStateCreateInfoNV VkPipelineCoverageModulationStateCreateInfoNV
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan13Features & setInlineUniformBlock(VULKAN_HPP_NAMESPACE::Bool32 inlineUniformBlock_) VULKAN_HPP_NOEXCEPT
bool operator!=(ImageCopy2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SubpassFragmentDensityMapOffsetEndInfoQCOM(uint32_t fragmentDensityOffsetCount_={}, const VULKAN_HPP_NAMESPACE::Offset2D *pFragmentDensityOffsets_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
DisplayPlaneInfo2KHR & operator=(VkDisplayPlaneInfo2KHR const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceImageProcessingPropertiesQCOM(VkPhysicalDeviceImageProcessingPropertiesQCOM const &rhs) VULKAN_HPP_NOEXCEPT
SemaphoreWaitInfo & setValues(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint64_t > const &values_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 GeometryTrianglesNV & setVertexFormat(VULKAN_HPP_NAMESPACE::Format vertexFormat_) VULKAN_HPP_NOEXCEPT
TraceRaysIndirectCommand2KHR(VkTraceRaysIndirectCommand2KHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCornerSampledImageFeaturesNV & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR Extent2D(uint32_t width_={}, uint32_t height_={}) VULKAN_HPP_NOEXCEPT
PipelineRasterizationProvokingVertexStateCreateInfoEXT(VkPipelineRasterizationProvokingVertexStateCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubpassDescriptionDepthStencilResolve & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ExportMemoryAllocateInfoNV & setHandleTypes(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleTypes_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BlitImageInfo2 & setSrcImage(VULKAN_HPP_NAMESPACE::Image srcImage_) VULKAN_HPP_NOEXCEPT
CopyMemoryToMicromapInfoEXT & operator=(VkCopyMemoryToMicromapInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(ShaderModuleCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceScalarBlockLayoutFeatures & setScalarBlockLayout(VULKAN_HPP_NAMESPACE::Bool32 scalarBlockLayout_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceBorderColorSwizzleFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
AttachmentDescription & operator=(AttachmentDescription const &rhs) VULKAN_HPP_NOEXCEPT=default
bool operator!=(ExternalSemaphoreProperties const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(DescriptorSetBindingReferenceVALVE const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceSubgroupSizeControlFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeatures
VULKAN_HPP_CONSTEXPR_14 ImportSemaphoreFdInfoKHR & setHandleType(VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlagBits handleType_) VULKAN_HPP_NOEXCEPT
struct VkGeometryTrianglesNV VkGeometryTrianglesNV
VULKAN_HPP_CONSTEXPR_14 ViewportWScalingNV & setYcoeff(float ycoeff_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState3FeaturesEXT & setExtendedDynamicState3LogicOpEnable(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3LogicOpEnable_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSurfaceInfo2KHR & setSurface(VULKAN_HPP_NAMESPACE::SurfaceKHR surface_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferCreateInfo & setUsage(VULKAN_HPP_NAMESPACE::BufferUsageFlags usage_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState3FeaturesEXT & setExtendedDynamicState3DepthClipNegativeOneToOne(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3DepthClipNegativeOneToOne_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceFragmentDensityMapFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMap_={}, VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMapDynamic_={}, VULKAN_HPP_NAMESPACE::Bool32 fragmentDensityMapNonSubsampledImages_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImage2DViewOf3DFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SamplerCreateInfo & setMaxLod(float maxLod_) VULKAN_HPP_NOEXCEPT
CommandBufferInheritanceConditionalRenderingInfoEXT(VkCommandBufferInheritanceConditionalRenderingInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
PipelineRenderingCreateInfo(VkPipelineRenderingCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDevicePerformanceQueryFeaturesKHR(VkPhysicalDevicePerformanceQueryFeaturesKHR const &rhs) VULKAN_HPP_NOEXCEPT
PhysicalDeviceInlineUniformBlockFeatures & operator=(VkPhysicalDeviceInlineUniformBlockFeatures const &rhs) VULKAN_HPP_NOEXCEPT
struct VkMultiDrawIndexedInfoEXT VkMultiDrawIndexedInfoEXT
PhysicalDeviceFragmentShaderBarycentricPropertiesKHR(VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(DisplayPlaneProperties2KHR const &rhs) const VULKAN_HPP_NOEXCEPT
BufferViewCreateInfo & operator=(VkBufferViewCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PipelineFragmentShadingRateEnumStateCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
IndirectCommandsStreamNV(VkIndirectCommandsStreamNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT & setPStorageTexelBuffer(const VULKAN_HPP_NAMESPACE::DescriptorAddressInfoEXT *pStorageTexelBuffer_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceShaderCoreProperties2AMD VkPhysicalDeviceShaderCoreProperties2AMD
bool operator==(HdrMetadataEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 FramebufferAttachmentImageInfo & setPViewFormats(const VULKAN_HPP_NAMESPACE::Format *pViewFormats_) VULKAN_HPP_NOEXCEPT
struct VkDescriptorAddressInfoEXT VkDescriptorAddressInfoEXT
VULKAN_HPP_CONSTEXPR_14 SemaphoreWaitInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
DeviceGroupBindSparseInfo(VkDeviceGroupBindSparseInfo const &rhs) VULKAN_HPP_NOEXCEPT
struct VkRenderPassTransformBeginInfoQCOM VkRenderPassTransformBeginInfoQCOM
VULKAN_HPP_CONSTEXPR_14 ComputePipelineCreateInfo & setFlags(VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags_) VULKAN_HPP_NOEXCEPT
SwapchainCreateInfoKHR(VULKAN_HPP_NAMESPACE::SwapchainCreateFlagsKHR flags_, VULKAN_HPP_NAMESPACE::SurfaceKHR surface_, uint32_t minImageCount_, VULKAN_HPP_NAMESPACE::Format imageFormat_, VULKAN_HPP_NAMESPACE::ColorSpaceKHR imageColorSpace_, VULKAN_HPP_NAMESPACE::Extent2D imageExtent_, uint32_t imageArrayLayers_, VULKAN_HPP_NAMESPACE::ImageUsageFlags imageUsage_, VULKAN_HPP_NAMESPACE::SharingMode imageSharingMode_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &queueFamilyIndices_, VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR preTransform_=VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR::eIdentity, VULKAN_HPP_NAMESPACE::CompositeAlphaFlagBitsKHR compositeAlpha_=VULKAN_HPP_NAMESPACE::CompositeAlphaFlagBitsKHR::eOpaque, VULKAN_HPP_NAMESPACE::PresentModeKHR presentMode_=VULKAN_HPP_NAMESPACE::PresentModeKHR::eImmediate, VULKAN_HPP_NAMESPACE::Bool32 clipped_={}, VULKAN_HPP_NAMESPACE::SwapchainKHR oldSwapchain_={}, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 ClearDepthStencilValue & setStencil(uint32_t stencil_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceSubgroupProperties(VkPhysicalDeviceSubgroupProperties const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceLegacyDitheringFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCooperativeMatrixFeaturesNV & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceImage2DViewOf3DFeaturesEXT & operator=(VkPhysicalDeviceImage2DViewOf3DFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Offset2D offset
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderAtomicFloat2FeaturesEXT & setShaderBufferFloat16Atomics(VULKAN_HPP_NAMESPACE::Bool32 shaderBufferFloat16Atomics_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorIndexingFeatures & setShaderInputAttachmentArrayDynamicIndexing(VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayDynamicIndexing_) VULKAN_HPP_NOEXCEPT
struct VkTransformMatrixKHR VkTransformMatrixKHR
PerformanceCounterDescriptionKHR(VkPerformanceCounterDescriptionKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorBinaryHeaderVersionOneEXT & setApplicationVersion(uint32_t applicationVersion_) VULKAN_HPP_NOEXCEPT
PipelineShaderStageModuleIdentifierCreateInfoEXT & setIdentifier(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint8_t > const &identifier_) VULKAN_HPP_NOEXCEPT
struct VkRayTracingPipelineInterfaceCreateInfoKHR VkRayTracingPipelineInterfaceCreateInfoKHR
DeviceGroupDeviceCreateInfo(VkDeviceGroupDeviceCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
struct VkTextureLODGatherFormatPropertiesAMD VkTextureLODGatherFormatPropertiesAMD
bool operator==(PhysicalDevicePipelineCreationCacheControlFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
PhysicalDeviceExternalMemoryRDMAFeaturesNV(VkPhysicalDeviceExternalMemoryRDMAFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPipelineRasterizationStateCreateInfo VkPipelineRasterizationStateCreateInfo
MemoryPriorityAllocateInfoEXT & operator=(VkMemoryPriorityAllocateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageDrmFormatModifierExplicitCreateInfoEXT & setDrmFormatModifier(uint64_t drmFormatModifier_) VULKAN_HPP_NOEXCEPT
bool operator!=(BlitImageInfo2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceAccelerationStructureFeaturesKHR & setAccelerationStructureHostCommands(VULKAN_HPP_NAMESPACE::Bool32 accelerationStructureHostCommands_) VULKAN_HPP_NOEXCEPT
bool operator==(CommandPoolCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesOpacityMicromapEXT & setIndexType(VULKAN_HPP_NAMESPACE::IndexType indexType_) VULKAN_HPP_NOEXCEPT
constexpr FMT_INLINE value()
Definition: core.h:1154
VULKAN_HPP_CONSTEXPR_14 SwapchainDisplayNativeHdrCreateInfoAMD & setLocalDimmingEnable(VULKAN_HPP_NAMESPACE::Bool32 localDimmingEnable_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RayTracingShaderGroupCreateInfoKHR & setClosestHitShader(uint32_t closestHitShader_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceMultiDrawPropertiesEXT(VkPhysicalDeviceMultiDrawPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeatures
BufferDeviceAddressInfo & operator=(BufferDeviceAddressInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR(VULKAN_HPP_NAMESPACE::Bool32 shaderSubgroupUniformControlFlow_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentShadingRateFeaturesKHR & setAttachmentFragmentShadingRate(VULKAN_HPP_NAMESPACE::Bool32 attachmentFragmentShadingRate_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderDrawParametersFeatures & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
ShadingRatePaletteNV(VkShadingRatePaletteNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 InstanceCreateInfo & setEnabledLayerCount(uint32_t enabledLayerCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setShaderStorageImageExtendedFormats(VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageExtendedFormats_) VULKAN_HPP_NOEXCEPT
DrawIndirectCommand & operator=(VkDrawIndirectCommand const &rhs) VULKAN_HPP_NOEXCEPT
BindBufferMemoryInfo & operator=(VkBindBufferMemoryInfo const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT
GLuint64 GLenum GLint fd
Definition: RE_OGL.h:262
VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorBinaryHeaderVersionOneEXT & setEngineNameOffset(uint32_t engineNameOffset_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PrivateDataSlotCreateInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
AttachmentReference2(VkAttachmentReference2 const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(const Mat3< T0 > &m0, const Mat3< T1 > &m1)
Equality operator, does exact floating point comparisons.
Definition: Mat3.h:542
VULKAN_HPP_CONSTEXPR_14 ImageMemoryBarrier2 & setDstAccessMask(VULKAN_HPP_NAMESPACE::AccessFlags2 dstAccessMask_) VULKAN_HPP_NOEXCEPT
GraphicsPipelineLibraryCreateInfoEXT(VkGraphicsPipelineLibraryCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineColorBlendAdvancedStateCreateInfoEXT & setSrcPremultiplied(VULKAN_HPP_NAMESPACE::Bool32 srcPremultiplied_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PerformanceQuerySubmitInfoKHR & setCounterPassIndex(uint32_t counterPassIndex_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::Bool32 shaderTessellationAndGeometryPointSize
VULKAN_HPP_CONSTEXPR BufferImageCopy(VULKAN_HPP_NAMESPACE::DeviceSize bufferOffset_={}, uint32_t bufferRowLength_={}, uint32_t bufferImageHeight_={}, VULKAN_HPP_NAMESPACE::ImageSubresourceLayers imageSubresource_={}, VULKAN_HPP_NAMESPACE::Offset3D imageOffset_={}, VULKAN_HPP_NAMESPACE::Extent3D imageExtent_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyBufferInfo2 & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV VkPhysicalDeviceShaderSMBuiltinsPropertiesNV
bool operator!=(BindImageMemoryDeviceGroupInfo const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceShadingRateImagePropertiesNV(VkPhysicalDeviceShadingRateImagePropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceToolProperties VkPhysicalDeviceToolProperties
VULKAN_HPP_CONSTEXPR_14 ImageMemoryBarrier2 & setOldLayout(VULKAN_HPP_NAMESPACE::ImageLayout oldLayout_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BufferMemoryBarrier2 & setDstAccessMask(VULKAN_HPP_NAMESPACE::AccessFlags2 dstAccessMask_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceAddressBindingCallbackDataEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PipelineTessellationDomainOriginStateCreateInfo(VULKAN_HPP_NAMESPACE::TessellationDomainOrigin domainOrigin_=VULKAN_HPP_NAMESPACE::TessellationDomainOrigin::eUpperLeft, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderSMBuiltinsFeaturesNV(VULKAN_HPP_NAMESPACE::Bool32 shaderSMBuiltins_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkBufferCollectionPropertiesFUCHSIA VkBufferCollectionPropertiesFUCHSIA
struct VkMemoryDedicatedRequirements VkMemoryDedicatedRequirements
SubpassShadingPipelineCreateInfoHUAWEI & operator=(VkSubpassShadingPipelineCreateInfoHUAWEI const &rhs) VULKAN_HPP_NOEXCEPT
PipelineMultisampleStateCreateInfo(VkPipelineMultisampleStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setSparseResidencyBuffer(VULKAN_HPP_NAMESPACE::Bool32 sparseResidencyBuffer_) VULKAN_HPP_NOEXCEPT
const VULKAN_HPP_NAMESPACE::Rect2D * pSplitInstanceBindRegions
PipelineViewportSwizzleStateCreateInfoNV & setViewportSwizzles(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::ViewportSwizzleNV > const &viewportSwizzles_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceDiscardRectanglePropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(SubpassDependency const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceVulkan13Properties const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setBufferDeviceAddressMultiDevice(VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressMultiDevice_) VULKAN_HPP_NOEXCEPT
struct VkVideoEncodeH265ReferenceListsInfoEXT VkVideoEncodeH265ReferenceListsInfoEXT
bool operator!=(DeviceBufferMemoryRequirements const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(AccelerationStructureCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR QueryPoolPerformanceCreateInfoKHR(uint32_t queueFamilyIndex_={}, uint32_t counterIndexCount_={}, const uint32_t *pCounterIndices_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(AccelerationStructureInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceSize vertexStride
VULKAN_HPP_CONSTEXPR_14 PipelineViewportDepthClipControlCreateInfoEXT & setNegativeOneToOne(VULKAN_HPP_NAMESPACE::Bool32 negativeOneToOne_) VULKAN_HPP_NOEXCEPT
PipelineCacheHeaderVersionOne(VkPipelineCacheHeaderVersionOne const &rhs) VULKAN_HPP_NOEXCEPT
RayTracingShaderGroupCreateInfoNV(VkRayTracingShaderGroupCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::SurfaceTransformFlagBitsKHR transform
VULKAN_HPP_CONSTEXPR PipelineMultisampleStateCreateInfo(VULKAN_HPP_NAMESPACE::PipelineMultisampleStateCreateFlags flags_={}, VULKAN_HPP_NAMESPACE::SampleCountFlagBits rasterizationSamples_=VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1, VULKAN_HPP_NAMESPACE::Bool32 sampleShadingEnable_={}, float minSampleShading_={}, const VULKAN_HPP_NAMESPACE::SampleMask *pSampleMask_={}, VULKAN_HPP_NAMESPACE::Bool32 alphaToCoverageEnable_={}, VULKAN_HPP_NAMESPACE::Bool32 alphaToOneEnable_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceImageFormatInfo2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineColorWriteCreateInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceSamplerYcbcrConversionFeatures(VkPhysicalDeviceSamplerYcbcrConversionFeatures const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SemaphoreWaitInfo & setPSemaphores(const VULKAN_HPP_NAMESPACE::Semaphore *pSemaphores_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceMultiviewFeatures & operator=(VkPhysicalDeviceMultiviewFeatures const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceDriverProperties const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceFragmentShadingRateKHR const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(DisplayPropertiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(ValidationFlagsEXT const &rhs) const VULKAN_HPP_NOEXCEPT
QueueFamilyProperties(VkQueueFamilyProperties const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceProvokingVertexFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 provokingVertexLast_={}, VULKAN_HPP_NAMESPACE::Bool32 transformFeedbackPreservesProvokingVertex_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures & setShaderZeroInitializeWorkgroupMemory(VULKAN_HPP_NAMESPACE::Bool32 shaderZeroInitializeWorkgroupMemory_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AttachmentDescription2 & setStencilStoreOp(VULKAN_HPP_NAMESPACE::AttachmentStoreOp stencilStoreOp_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceAddressBindingReportFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkImageDrmFormatModifierPropertiesEXT VkImageDrmFormatModifierPropertiesEXT
CopyMicromapInfoEXT & operator=(CopyMicromapInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT=default
struct VkVideoDecodeH265ProfileInfoEXT VkVideoDecodeH265ProfileInfoEXT
bool operator!=(PhysicalDeviceImageViewImageFormatInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineFragmentShadingRateStateCreateInfoKHR & setCombinerOps(std::array< VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR, 2 > combinerOps_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceProtectedMemoryFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(BindSparseInfo const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT & setPUniformTexelBuffer(const VULKAN_HPP_NAMESPACE::DescriptorAddressInfoEXT *pUniformTexelBuffer_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SamplerCreateInfo & setBorderColor(VULKAN_HPP_NAMESPACE::BorderColor borderColor_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorIndexingFeatures & setDescriptorBindingSampledImageUpdateAfterBind(VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingSampledImageUpdateAfterBind_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceIndexTypeUint8FeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 indexTypeUint8_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR & setWorkgroupMemoryExplicitLayoutScalarBlockLayout(VULKAN_HPP_NAMESPACE::Bool32 workgroupMemoryExplicitLayoutScalarBlockLayout_) VULKAN_HPP_NOEXCEPT
TilePropertiesQCOM & operator=(VkTilePropertiesQCOM const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState3FeaturesEXT & setExtendedDynamicState3CoverageModulationTableEnable(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3CoverageModulationTableEnable_) VULKAN_HPP_NOEXCEPT
bool operator!=(ImageViewCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(DescriptorPoolCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan11Features & setShaderDrawParameters(VULKAN_HPP_NAMESPACE::Bool32 shaderDrawParameters_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolveProperties
AllocationCallbacks(VkAllocationCallbacks const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeatures
bool operator==(ImportMemoryHostPointerInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
void * MTLBuffer_id
Definition: vulkan_metal.h:69
VULKAN_HPP_CONSTEXPR_14 SparseImageMemoryBind & setExtent(VULKAN_HPP_NAMESPACE::Extent3D const &extent_) VULKAN_HPP_NOEXCEPT
struct VkVideoSessionParametersUpdateInfoKHR VkVideoSessionParametersUpdateInfoKHR
struct VkInstanceCreateInfo VkInstanceCreateInfo
VULKAN_HPP_CONSTEXPR_14 CoarseSampleLocationNV & setPixelY(uint32_t pixelY_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorIndexingFeatures & setDescriptorBindingPartiallyBound(VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingPartiallyBound_) VULKAN_HPP_NOEXCEPT
GraphicsShaderGroupCreateInfoNV & operator=(VkGraphicsShaderGroupCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
FramebufferMixedSamplesCombinationNV & operator=(VkFramebufferMixedSamplesCombinationNV const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceMeshShaderPropertiesEXT VkPhysicalDeviceMeshShaderPropertiesEXT
VULKAN_HPP_NAMESPACE::ArrayWrapper1D< float, 4 > color
VULKAN_HPP_CONSTEXPR_14 CuLaunchInfoNVX & setPParams(const void *const *pParams_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 QueryPoolCreateInfo & setFlags(VULKAN_HPP_NAMESPACE::QueryPoolCreateFlags flags_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceLineRasterizationFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CooperativeMatrixPropertiesNV & setKSize(uint32_t KSize_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState3PropertiesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PresentInfoKHR & setWaitSemaphoreCount(uint32_t waitSemaphoreCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceAccelerationStructureFeaturesKHR & setAccelerationStructureCaptureReplay(VULKAN_HPP_NAMESPACE::Bool32 accelerationStructureCaptureReplay_) VULKAN_HPP_NOEXCEPT
bool operator==(SurfaceFormatKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageCopy2 & setExtent(VULKAN_HPP_NAMESPACE::Extent3D const &extent_) VULKAN_HPP_NOEXCEPT
struct VkVideoEncodeH265RateControlInfoEXT VkVideoEncodeH265RateControlInfoEXT
BindIndexBufferIndirectCommandNV(VkBindIndexBufferIndirectCommandNV const &rhs) VULKAN_HPP_NOEXCEPT
GLint GLsizei count
Definition: glcorearb.h:405
VULKAN_HPP_CONSTEXPR_14 SamplerCaptureDescriptorDataInfoEXT & setSampler(VULKAN_HPP_NAMESPACE::Sampler sampler_) VULKAN_HPP_NOEXCEPT
bool operator==(FormatProperties3 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setShaderStorageBufferArrayNonUniformIndexing(VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayNonUniformIndexing_) VULKAN_HPP_NOEXCEPT
PipelineCoverageReductionStateCreateInfoNV(VkPipelineCoverageReductionStateCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR_14 ExportSemaphoreCreateInfo & setHandleTypes(VULKAN_HPP_NAMESPACE::ExternalSemaphoreHandleTypeFlags handleTypes_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceRayTracingMaintenance1FeaturesKHR(VULKAN_HPP_NAMESPACE::Bool32 rayTracingMaintenance1_={}, VULKAN_HPP_NAMESPACE::Bool32 rayTracingPipelineTraceRaysIndirect2_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
DescriptorSetVariableDescriptorCountAllocateInfo(VkDescriptorSetVariableDescriptorCountAllocateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceImageViewImageFormatInfoEXT(VkPhysicalDeviceImageViewImageFormatInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV VkPhysicalDeviceLinearColorAttachmentFeaturesNV
struct VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR
VULKAN_HPP_CONSTEXPR_14 PhysicalDevice16BitStorageFeatures & setStorageBuffer16BitAccess(VULKAN_HPP_NAMESPACE::Bool32 storageBuffer16BitAccess_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceTimelineSemaphoreFeatures & setTimelineSemaphore(VULKAN_HPP_NAMESPACE::Bool32 timelineSemaphore_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SpecializationInfo & setMapEntryCount(uint32_t mapEntryCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::ConditionalRenderingFlagsEXT flags
Definition: format.h:895
VULKAN_HPP_CONSTEXPR_14 ImageCreateInfo & setPQueueFamilyIndices(const uint32_t *pQueueFamilyIndices_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DedicatedAllocationImageCreateInfoNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ImageSwapchainCreateInfoKHR(VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
MicromapBuildInfoEXT(VkMicromapBuildInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkHdrMetadataEXT VkHdrMetadataEXT
bool operator!=(RenderPassCreationFeedbackCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceVertexInputDynamicStateFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 vertexInputDynamicState_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR TraceRaysIndirectCommand2KHR(VULKAN_HPP_NAMESPACE::DeviceAddress raygenShaderRecordAddress_={}, VULKAN_HPP_NAMESPACE::DeviceSize raygenShaderRecordSize_={}, VULKAN_HPP_NAMESPACE::DeviceAddress missShaderBindingTableAddress_={}, VULKAN_HPP_NAMESPACE::DeviceSize missShaderBindingTableSize_={}, VULKAN_HPP_NAMESPACE::DeviceSize missShaderBindingTableStride_={}, VULKAN_HPP_NAMESPACE::DeviceAddress hitShaderBindingTableAddress_={}, VULKAN_HPP_NAMESPACE::DeviceSize hitShaderBindingTableSize_={}, VULKAN_HPP_NAMESPACE::DeviceSize hitShaderBindingTableStride_={}, VULKAN_HPP_NAMESPACE::DeviceAddress callableShaderBindingTableAddress_={}, VULKAN_HPP_NAMESPACE::DeviceSize callableShaderBindingTableSize_={}, VULKAN_HPP_NAMESPACE::DeviceSize callableShaderBindingTableStride_={}, uint32_t width_={}, uint32_t height_={}, uint32_t depth_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImagelessFramebufferFeatures & setImagelessFramebuffer(VULKAN_HPP_NAMESPACE::Bool32 imagelessFramebuffer_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorBufferFeaturesEXT & setDescriptorBuffer(VULKAN_HPP_NAMESPACE::Bool32 descriptorBuffer_) VULKAN_HPP_NOEXCEPT
InputAttachmentAspectReference(VkInputAttachmentAspectReference const &rhs) VULKAN_HPP_NOEXCEPT
SparseImageMemoryBind & operator=(VkSparseImageMemoryBind const &rhs) VULKAN_HPP_NOEXCEPT
AccelerationStructureDeviceAddressInfoKHR & operator=(AccelerationStructureDeviceAddressInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState3FeaturesEXT & setExtendedDynamicState3LineRasterizationMode(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3LineRasterizationMode_) VULKAN_HPP_NOEXCEPT
PhysicalDevice16BitStorageFeatures(VkPhysicalDevice16BitStorageFeatures const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CopyImageInfo2 & setDstImage(VULKAN_HPP_NAMESPACE::Image dstImage_) VULKAN_HPP_NOEXCEPT
GeneratedCommandsInfoNV & setStreams(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::IndirectCommandsStreamNV > const &streams_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceMaintenance4Properties VkPhysicalDeviceMaintenance4Properties
AccelerationStructureGeometryAabbsDataKHR & operator=(VkAccelerationStructureGeometryAabbsDataKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryMotionTrianglesDataNV(VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR vertexData_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM VkCommandBufferInheritanceRenderPassTransformInfoQCOM
struct VkVideoDecodeH264DpbSlotInfoEXT VkVideoDecodeH264DpbSlotInfoEXT
VULKAN_HPP_CONSTEXPR SparseImageMemoryBindInfo(VULKAN_HPP_NAMESPACE::Image image_={}, uint32_t bindCount_={}, const VULKAN_HPP_NAMESPACE::SparseImageMemoryBind *pBinds_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassBeginInfo(VULKAN_HPP_NAMESPACE::RenderPass renderPass_={}, VULKAN_HPP_NAMESPACE::Framebuffer framebuffer_={}, VULKAN_HPP_NAMESPACE::Rect2D renderArea_={}, uint32_t clearValueCount_={}, const VULKAN_HPP_NAMESPACE::ClearValue *pClearValues_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceFaultVendorInfoEXT & setVendorFaultData(uint64_t vendorFaultData_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceIDProperties const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPipelineViewportWScalingStateCreateInfoNV VkPipelineViewportWScalingStateCreateInfoNV
struct VkViewportSwizzleNV VkViewportSwizzleNV
bool operator==(BindVertexBufferIndirectCommandNV const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceAmigoProfilingFeaturesSEC VkPhysicalDeviceAmigoProfilingFeaturesSEC
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
IndirectCommandsLayoutCreateInfoNV(VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutUsageFlagsNV flags_, VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutTokenNV > const &tokens_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &streamStrides_={}, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 CopyMicromapToMemoryInfoEXT(VULKAN_HPP_NAMESPACE::MicromapEXT src_={}, VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR dst_={}, VULKAN_HPP_NAMESPACE::CopyMicromapModeEXT mode_=VULKAN_HPP_NAMESPACE::CopyMicromapModeEXT::eClone, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR AttachmentDescription2(VULKAN_HPP_NAMESPACE::AttachmentDescriptionFlags flags_={}, VULKAN_HPP_NAMESPACE::Format format_=VULKAN_HPP_NAMESPACE::Format::eUndefined, VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples_=VULKAN_HPP_NAMESPACE::SampleCountFlagBits::e1, VULKAN_HPP_NAMESPACE::AttachmentLoadOp loadOp_=VULKAN_HPP_NAMESPACE::AttachmentLoadOp::eLoad, VULKAN_HPP_NAMESPACE::AttachmentStoreOp storeOp_=VULKAN_HPP_NAMESPACE::AttachmentStoreOp::eStore, VULKAN_HPP_NAMESPACE::AttachmentLoadOp stencilLoadOp_=VULKAN_HPP_NAMESPACE::AttachmentLoadOp::eLoad, VULKAN_HPP_NAMESPACE::AttachmentStoreOp stencilStoreOp_=VULKAN_HPP_NAMESPACE::AttachmentStoreOp::eStore, VULKAN_HPP_NAMESPACE::ImageLayout initialLayout_=VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined, VULKAN_HPP_NAMESPACE::ImageLayout finalLayout_=VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
RayTracingShaderGroupCreateInfoKHR & operator=(VkRayTracingShaderGroupCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BindAccelerationStructureMemoryInfoNV & setPDeviceIndices(const uint32_t *pDeviceIndices_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceRenderingInfo & setDepthAttachmentFormat(VULKAN_HPP_NAMESPACE::Format depthAttachmentFormat_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCreateInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(FramebufferMixedSamplesCombinationNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureCreateInfoKHR & setOffset(VULKAN_HPP_NAMESPACE::DeviceSize offset_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR MemoryBarrier2(VULKAN_HPP_NAMESPACE::PipelineStageFlags2 srcStageMask_={}, VULKAN_HPP_NAMESPACE::AccessFlags2 srcAccessMask_={}, VULKAN_HPP_NAMESPACE::PipelineStageFlags2 dstStageMask_={}, VULKAN_HPP_NAMESPACE::AccessFlags2 dstAccessMask_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkCopyMemoryToImageIndirectCommandNV VkCopyMemoryToImageIndirectCommandNV
VULKAN_HPP_CONSTEXPR_14 RayTracingPipelineCreateInfoKHR & setGroupCount(uint32_t groupCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD(VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMeshShaderFeaturesNV & setMeshShader(VULKAN_HPP_NAMESPACE::Bool32 meshShader_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan13Features & setDynamicRendering(VULKAN_HPP_NAMESPACE::Bool32 dynamicRendering_) VULKAN_HPP_NOEXCEPT
bool operator==(BindBufferMemoryDeviceGroupInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(RayTracingPipelineCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
MemoryOpaqueCaptureAddressAllocateInfo & operator=(VkMemoryOpaqueCaptureAddressAllocateInfo const &rhs) VULKAN_HPP_NOEXCEPT
DescriptorUpdateTemplateCreateInfo & operator=(DescriptorUpdateTemplateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT=default
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureSRTMotionInstanceNV & setInstanceShaderBindingTableRecordOffset(uint32_t instanceShaderBindingTableRecordOffset_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVertexAttributeDivisorFeaturesEXT & setVertexAttributeInstanceRateZeroDivisor(VULKAN_HPP_NAMESPACE::Bool32 vertexAttributeInstanceRateZeroDivisor_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderSMBuiltinsPropertiesNV(VkPhysicalDeviceShaderSMBuiltinsPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDevicePresentIdFeaturesKHR(VULKAN_HPP_NAMESPACE::Bool32 presentId_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugUtilsObjectNameInfoEXT & setObjectType(VULKAN_HPP_NAMESPACE::ObjectType objectType_) VULKAN_HPP_NOEXCEPT
bool operator==(FragmentShadingRateAttachmentInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
MemoryGetRemoteAddressInfoNV(VkMemoryGetRemoteAddressInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ClearRect & setRect(VULKAN_HPP_NAMESPACE::Rect2D const &rect_) VULKAN_HPP_NOEXCEPT
struct VkSparseImageMemoryBindInfo VkSparseImageMemoryBindInfo
struct VkPhysicalDeviceMultiDrawFeaturesEXT VkPhysicalDeviceMultiDrawFeaturesEXT
PhysicalDeviceExclusiveScissorFeaturesNV & operator=(VkPhysicalDeviceExclusiveScissorFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BindBufferMemoryInfo & setBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer_) VULKAN_HPP_NOEXCEPT
void(VKAPI_PTR * PFN_vkInternalFreeNotification)(void *pUserData, size_t size, VkInternalAllocationType allocationType, VkSystemAllocationScope allocationScope)
Definition: vulkan_core.h:2905
bool operator!=(PhysicalDeviceFragmentShadingRatePropertiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PresentRegionsKHR & setPRegions(const VULKAN_HPP_NAMESPACE::PresentRegionKHR *pRegions_) VULKAN_HPP_NOEXCEPT
RenderPassCreationFeedbackCreateInfoEXT(VkRenderPassCreationFeedbackCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
CommandPoolCreateInfo(VkCommandPoolCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AttachmentDescriptionStencilLayout & setStencilInitialLayout(VULKAN_HPP_NAMESPACE::ImageLayout stencilInitialLayout_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SemaphoreSubmitInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceRayTracingInvocationReorderFeaturesNV(VULKAN_HPP_NAMESPACE::Bool32 rayTracingInvocationReorder_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(DisplayModeParametersKHR const &rhs) const VULKAN_HPP_NOEXCEPT
SparseMemoryBind(VkSparseMemoryBind const &rhs) VULKAN_HPP_NOEXCEPT
struct VkVideoDecodeH265PictureInfoEXT VkVideoDecodeH265PictureInfoEXT
struct VkPhysicalDeviceMemoryBudgetPropertiesEXT VkPhysicalDeviceMemoryBudgetPropertiesEXT
struct VkPhysicalDeviceImageViewImageFormatInfoEXT VkPhysicalDeviceImageViewImageFormatInfoEXT
VULKAN_HPP_CONSTEXPR_14 CopyAccelerationStructureToMemoryInfoKHR(VULKAN_HPP_NAMESPACE::AccelerationStructureKHR src_={}, VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR dst_={}, VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode_=VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR::eClone, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImportMemoryFdInfoKHR & setFd(int fd_) VULKAN_HPP_NOEXCEPT
DescriptorPoolCreateInfo(VULKAN_HPP_NAMESPACE::DescriptorPoolCreateFlags flags_, uint32_t maxSets_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::DescriptorPoolSize > const &poolSizes_, const void *pNext_=nullptr)
VULKAN_HPP_CONSTEXPR_14 QueryPoolPerformanceQueryCreateInfoINTEL & setPerformanceCountersSampling(VULKAN_HPP_NAMESPACE::QueryPoolSamplingModeINTEL performanceCountersSampling_) VULKAN_HPP_NOEXCEPT
bool operator==(DescriptorBufferBindingPushDescriptorBufferHandleEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(FilterCubicImageViewImageFormatPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceFaultInfoEXT & setDescription(std::array< char, VK_MAX_DESCRIPTION_SIZE > description_) VULKAN_HPP_NOEXCEPT
PipelineLibraryCreateInfoKHR(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Pipeline > const &libraries_, const void *pNext_=nullptr)
struct VkPhysicalDevicePipelineRobustnessFeaturesEXT VkPhysicalDevicePipelineRobustnessFeaturesEXT
bool operator==(PhysicalDeviceShaderModuleIdentifierFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfo
bool operator!=(ImageCopy const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugUtilsLabelEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
ConformanceVersion & operator=(ConformanceVersion const &rhs) VULKAN_HPP_NOEXCEPT=default
struct VkPhysicalDeviceCornerSampledImageFeaturesNV VkPhysicalDeviceCornerSampledImageFeaturesNV
bool operator==(PhysicalDeviceShaderClockFeaturesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceOpticalFlowFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(SpecializationMapEntry const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceDynamicRenderingFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceSubpassMergeFeedbackFeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 subpassMergeFeedback_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceMaintenance4Properties const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DisplayPresentInfoKHR(VULKAN_HPP_NAMESPACE::Rect2D srcRect_={}, VULKAN_HPP_NAMESPACE::Rect2D dstRect_={}, VULKAN_HPP_NAMESPACE::Bool32 persistent_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineLibraryCreateInfoKHR & setPLibraries(const VULKAN_HPP_NAMESPACE::Pipeline *pLibraries_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
BufferMemoryBarrier(VkBufferMemoryBarrier const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRGBA10X6FormatsFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DebugUtilsObjectNameInfoEXT & setPObjectName(const char *pObjectName_) VULKAN_HPP_NOEXCEPT
FramebufferAttachmentImageInfo & operator=(VkFramebufferAttachmentImageInfo const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDevicePipelinePropertiesFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ExternalImageFormatPropertiesNV(VULKAN_HPP_NAMESPACE::ImageFormatProperties imageFormatProperties_={}, VULKAN_HPP_NAMESPACE::ExternalMemoryFeatureFlagsNV externalMemoryFeatures_={}, VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes_={}, VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV compatibleHandleTypes_={}) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR BufferCaptureDescriptorDataInfoEXT(VULKAN_HPP_NAMESPACE::Buffer buffer_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AttachmentDescription2 & setFlags(VULKAN_HPP_NAMESPACE::AttachmentDescriptionFlags flags_) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceMemoryBudgetPropertiesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkExternalMemoryImageCreateInfoNV VkExternalMemoryImageCreateInfoNV
DebugUtilsLabelEXT(VkDebugUtilsLabelEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(ImageViewMinLodCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
ImageDrmFormatModifierExplicitCreateInfoEXT & setPlaneLayouts(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SubresourceLayout > const &planeLayouts_) VULKAN_HPP_NOEXCEPT
bool operator!=(AmigoProfilingSubmitInfoSEC const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationStateCreateInfo & setRasterizerDiscardEnable(VULKAN_HPP_NAMESPACE::Bool32 rasterizerDiscardEnable_) VULKAN_HPP_NOEXCEPT
bool operator!=(HdrMetadataEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(DedicatedAllocationImageCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMeshShaderFeaturesNV & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceRayTracingPropertiesNV(VkPhysicalDeviceRayTracingPropertiesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BindSparseInfo & setBufferBindCount(uint32_t bufferBindCount_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineViewportExclusiveScissorStateCreateInfoNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(ImageViewMinLodCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(DescriptorSetVariableDescriptorCountAllocateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceInfo & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(SamplerBorderColorComponentMappingCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(ImageFormatProperties const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PerformanceValueDataINTEL(uint32_t value32_={})
VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceViewportScissorInfoNV & setPViewportDepths(const VULKAN_HPP_NAMESPACE::Viewport *pViewportDepths_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineLibraryCreateInfoKHR & setLibraryCount(uint32_t libraryCount_) VULKAN_HPP_NOEXCEPT
bool operator!=(AttachmentDescriptionStencilLayout const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::StructureType sType
PhysicalDeviceRayTracingMotionBlurFeaturesNV & operator=(VkPhysicalDeviceRayTracingMotionBlurFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(ExportMemoryAllocateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineRasterizationStateCreateInfo & setDepthBiasSlopeFactor(float depthBiasSlopeFactor_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFaultFeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DisplayPlaneInfo2KHR(VULKAN_HPP_NAMESPACE::DisplayModeKHR mode_={}, uint32_t planeIndex_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceVariablePointersFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageCreateInfo & setImageType(VULKAN_HPP_NAMESPACE::ImageType imageType_) VULKAN_HPP_NOEXCEPT
bool operator!=(WriteDescriptorSetAccelerationStructureNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageViewImageFormatInfoEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
PhysicalDevicePerformanceQueryPropertiesKHR(VkPhysicalDevicePerformanceQueryPropertiesKHR const &rhs) VULKAN_HPP_NOEXCEPT
VertexInputAttributeDescription2EXT & operator=(VkVertexInputAttributeDescription2EXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorIndexingFeatures & setShaderStorageBufferArrayNonUniformIndexing(VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayNonUniformIndexing_) VULKAN_HPP_NOEXCEPT
union VkAccelerationStructureMotionInstanceDataNV VkAccelerationStructureMotionInstanceDataNV
VULKAN_HPP_CONSTEXPR_14 SemaphoreGetFdInfoKHR & setSemaphore(VULKAN_HPP_NAMESPACE::Semaphore semaphore_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceVulkan12Features const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PipelineMultisampleStateCreateInfo & setPSampleMask(const VULKAN_HPP_NAMESPACE::SampleMask *pSampleMask_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DeviceDiagnosticsConfigCreateInfoNV & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
PipelineCompilerControlCreateInfoAMD & operator=(VkPipelineCompilerControlCreateInfoAMD const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(DeviceImageMemoryRequirements const &rhs) const VULKAN_HPP_NOEXCEPT
VkAccelerationStructureSRTMotionInstanceNV srtMotionInstance
bool operator==(PipelineCoverageReductionStateCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassCreationFeedbackCreateInfoEXT & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator!=(DisplayPlaneCapabilitiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceInfo & setOcclusionQueryEnable(VULKAN_HPP_NAMESPACE::Bool32 occlusionQueryEnable_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SparseBufferMemoryBindInfo & setPBinds(const VULKAN_HPP_NAMESPACE::SparseMemoryBind *pBinds_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::SampleCountFlagBits depthStencilAttachmentSamples
VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT & setPUniformBuffer(const VULKAN_HPP_NAMESPACE::DescriptorAddressInfoEXT *pUniformBuffer_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExternalImageFormatInfo & setHandleType(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RenderPassCreateInfo2 & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceCoverageReductionModeFeaturesNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DisplayModeCreateInfoKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkVideoEncodeH265QpEXT VkVideoEncodeH265QpEXT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState3FeaturesEXT & setExtendedDynamicState3ProvokingVertexMode(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3ProvokingVertexMode_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceExtendedDynamicState2FeaturesEXT(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState2_={}, VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState2LogicOp_={}, VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState2PatchControlPoints_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PhysicalDeviceMemoryPriorityFeaturesEXT & operator=(VkPhysicalDeviceMemoryPriorityFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SRTDataNV & setPvz(float pvz_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
struct VkSubpassSampleLocationsEXT VkSubpassSampleLocationsEXT
VULKAN_HPP_NAMESPACE::Bool32 textureCompressionASTC_LDR
bool operator==(PipelineColorWriteCreateInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceBufferDeviceAddressFeatures & setBufferDeviceAddressCaptureReplay(VULKAN_HPP_NAMESPACE::Bool32 bufferDeviceAddressCaptureReplay_) VULKAN_HPP_NOEXCEPT
bool operator!=(PushConstantRange const &rhs) const VULKAN_HPP_NOEXCEPT
QueryPoolPerformanceCreateInfoKHR & operator=(VkQueryPoolPerformanceCreateInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceAddress address
VULKAN_HPP_CONSTEXPR_14 DeviceOrHostAddressKHR & setHostAddress(void *hostAddress_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceRayTracingPipelineFeaturesKHR(VULKAN_HPP_NAMESPACE::Bool32 rayTracingPipeline_={}, VULKAN_HPP_NAMESPACE::Bool32 rayTracingPipelineShaderGroupHandleCaptureReplay_={}, VULKAN_HPP_NAMESPACE::Bool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed_={}, VULKAN_HPP_NAMESPACE::Bool32 rayTracingPipelineTraceRaysIndirect_={}, VULKAN_HPP_NAMESPACE::Bool32 rayTraversalPrimitiveCulling_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MemoryAllocateInfo & setAllocationSize(VULKAN_HPP_NAMESPACE::DeviceSize allocationSize_) VULKAN_HPP_NOEXCEPT
bool operator==(DisplayPlaneInfo2KHR const &rhs) const VULKAN_HPP_NOEXCEPT
AabbPositionsKHR(VkAabbPositionsKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceOpticalFlowFeaturesNV(VULKAN_HPP_NAMESPACE::Bool32 opticalFlow_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceMemoryDecompressionPropertiesNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryKHR & setGeometry(VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryDataKHR const &geometry_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfo
VULKAN_HPP_CONSTEXPR RenderPassCreateInfo(VULKAN_HPP_NAMESPACE::RenderPassCreateFlags flags_={}, uint32_t attachmentCount_={}, const VULKAN_HPP_NAMESPACE::AttachmentDescription *pAttachments_={}, uint32_t subpassCount_={}, const VULKAN_HPP_NAMESPACE::SubpassDescription *pSubpasses_={}, uint32_t dependencyCount_={}, const VULKAN_HPP_NAMESPACE::SubpassDependency *pDependencies_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV(VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState3FeaturesEXT & setExtendedDynamicState3CoverageToColorEnable(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3CoverageToColorEnable_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::AccessFlags2 dstAccessMask
bool operator!=(WriteDescriptorSetInlineUniformBlock const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFeatures & setTextureCompressionBC(VULKAN_HPP_NAMESPACE::Bool32 textureCompressionBC_) VULKAN_HPP_NOEXCEPT
CoarseSampleOrderCustomNV & setSampleLocations(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::CoarseSampleLocationNV > const &sampleLocations_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BindBufferMemoryInfo & setMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory_) VULKAN_HPP_NOEXCEPT
struct VkConditionalRenderingBeginInfoEXT VkConditionalRenderingBeginInfoEXT
struct VkPhysicalDevicePipelinePropertiesFeaturesEXT VkPhysicalDevicePipelinePropertiesFeaturesEXT
struct VkViSurfaceCreateInfoNN VkViSurfaceCreateInfoNN
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
struct VkRenderingInfo VkRenderingInfo
SamplerCustomBorderColorCreateInfoEXT & operator=(VkSamplerCustomBorderColorCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
struct VkVideoEncodeRateControlLayerInfoKHR VkVideoEncodeRateControlLayerInfoKHR
PhysicalDeviceRobustness2PropertiesEXT(VkPhysicalDeviceRobustness2PropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 ImageCopy & setDstSubresource(VULKAN_HPP_NAMESPACE::ImageSubresourceLayers const &dstSubresource_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderAtomicFloatFeaturesEXT & setShaderImageFloat32Atomics(VULKAN_HPP_NAMESPACE::Bool32 shaderImageFloat32Atomics_) VULKAN_HPP_NOEXCEPT
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType
VULKAN_HPP_CONSTEXPR PhysicalDeviceDeviceGeneratedCommandsFeaturesNV(VULKAN_HPP_NAMESPACE::Bool32 deviceGeneratedCommands_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR CopyImageInfo2(VULKAN_HPP_NAMESPACE::Image srcImage_={}, VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout_=VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined, VULKAN_HPP_NAMESPACE::Image dstImage_={}, VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout_=VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined, uint32_t regionCount_={}, const VULKAN_HPP_NAMESPACE::ImageCopy2 *pRegions_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkBufferMemoryBarrier VkBufferMemoryBarrier
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryKHR & setFlags(VULKAN_HPP_NAMESPACE::GeometryFlagsKHR flags_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderAtomicFloat2FeaturesEXT & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
TimelineSemaphoreSubmitInfo & operator=(VkTimelineSemaphoreSubmitInfo const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(CopyAccelerationStructureInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(PhysicalDeviceBufferDeviceAddressFeaturesEXT const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDeviceSubpassShadingPropertiesHUAWEI const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDevicePortabilitySubsetFeaturesKHR VkPhysicalDevicePortabilitySubsetFeaturesKHR
DescriptorPoolSize(VkDescriptorPoolSize const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 CommandBufferInheritanceInfo & setPipelineStatistics(VULKAN_HPP_NAMESPACE::QueryPipelineStatisticFlags pipelineStatistics_) VULKAN_HPP_NOEXCEPT
bool operator!=(RenderingFragmentDensityMapAttachmentInfoEXT const &rhs) const VULKAN_HPP_NOEXCEPT
PhysicalDeviceExternalMemoryHostPropertiesEXT(VkPhysicalDeviceExternalMemoryHostPropertiesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedDynamicState3FeaturesEXT & setExtendedDynamicState3SampleMask(VULKAN_HPP_NAMESPACE::Bool32 extendedDynamicState3SampleMask_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MultiDrawIndexedInfoEXT & setIndexCount(uint32_t indexCount_) VULKAN_HPP_NOEXCEPT
const VkDescriptorImageInfo * pSampledImage
struct VkWriteDescriptorSet VkWriteDescriptorSet
VULKAN_HPP_CONSTEXPR_14 PipelineFragmentShadingRateEnumStateCreateInfoNV & setShadingRate(VULKAN_HPP_NAMESPACE::FragmentShadingRateNV shadingRate_) VULKAN_HPP_NOEXCEPT
bool operator==(BufferViewCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
bool operator==(DeviceImageMemoryRequirements const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceInlineUniformBlockFeatures & setInlineUniformBlock(VULKAN_HPP_NAMESPACE::Bool32 inlineUniformBlock_) VULKAN_HPP_NOEXCEPT
RayTracingPipelineCreateInfoNV(VULKAN_HPP_NAMESPACE::PipelineCreateFlags flags_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo > const &stages_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoNV > const &groups_={}, uint32_t maxRecursionDepth_={}, VULKAN_HPP_NAMESPACE::PipelineLayout layout_={}, VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle_={}, int32_t basePipelineIndex_={}, const void *pNext_=nullptr)
VULKAN_HPP_NAMESPACE::Pipeline basePipelineHandle
bool operator!=(ImportFenceFdInfoKHR const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPipelineInfoKHR VkPipelineInfoKHR
bool operator!=(DescriptorPoolSize const &rhs) const VULKAN_HPP_NOEXCEPT
CopyMemoryToAccelerationStructureInfoKHR & operator=(VkCopyMemoryToAccelerationStructureInfoKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 RayTracingPipelineCreateInfoNV & setPStages(const VULKAN_HPP_NAMESPACE::PipelineShaderStageCreateInfo *pStages_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 BindSparseInfo & setPBufferBinds(const VULKAN_HPP_NAMESPACE::SparseBufferMemoryBindInfo *pBufferBinds_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR ImageViewSampleWeightCreateInfoQCOM(VULKAN_HPP_NAMESPACE::Offset2D filterCenter_={}, VULKAN_HPP_NAMESPACE::Extent2D filterSize_={}, uint32_t numPhases_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR CommandBufferSubmitInfo(VULKAN_HPP_NAMESPACE::CommandBuffer commandBuffer_={}, uint32_t deviceMask_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL & setPNext(void *pNext_) VULKAN_HPP_NOEXCEPT
ImageResolve2 & operator=(VkImageResolve2 const &rhs) VULKAN_HPP_NOEXCEPT
DeviceDiagnosticsConfigCreateInfoNV(VkDeviceDiagnosticsConfigCreateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(LayerProperties const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DebugMarkerObjectNameInfoEXT(VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType_=VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown, uint64_t object_={}, const char *pObjectName_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 WriteDescriptorSetAccelerationStructureNV & setAccelerationStructureCount(uint32_t accelerationStructureCount_) VULKAN_HPP_NOEXCEPT
PresentRegionsKHR(VkPresentRegionsKHR const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryAabbsDataKHR & setData(VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR const &data_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceCustomBorderColorFeaturesEXT(VkPhysicalDeviceCustomBorderColorFeaturesEXT const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 VertexInputAttributeDescription2EXT & setLocation(uint32_t location_) VULKAN_HPP_NOEXCEPT
DedicatedAllocationMemoryAllocateInfoNV(VkDedicatedAllocationMemoryAllocateInfoNV const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NAMESPACE::DeviceOrHostAddressKHR scratchData
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
Definition: glcorearb.h:1297
VULKAN_HPP_NAMESPACE::DescriptorType type
bool operator!=(DedicatedAllocationBufferCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
DeviceQueueInfo2(VkDeviceQueueInfo2 const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(DescriptorUpdateTemplateCreateInfo const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceLinearColorAttachmentFeaturesNV & setLinearColorAttachment(VULKAN_HPP_NAMESPACE::Bool32 linearColorAttachment_) VULKAN_HPP_NOEXCEPT
GLenum src
Definition: glcorearb.h:1793
struct VkPhysicalDeviceOpacityMicromapPropertiesEXT VkPhysicalDeviceOpacityMicromapPropertiesEXT
DescriptorSetLayoutBinding & setImmutableSamplers(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::Sampler > const &immutableSamplers_) VULKAN_HPP_NOEXCEPT
bool operator==(PresentTimesInfoGOOGLE const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MicromapBuildInfoEXT & setTriangleArray(VULKAN_HPP_NAMESPACE::DeviceOrHostAddressConstKHR const &triangleArray_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
struct VkPhysicalDeviceFragmentShadingRateKHR VkPhysicalDeviceFragmentShadingRateKHR
VULKAN_HPP_CONSTEXPR_14 DeviceGroupRenderPassBeginInfo & setPDeviceRenderAreas(const VULKAN_HPP_NAMESPACE::Rect2D *pDeviceRenderAreas_) VULKAN_HPP_NOEXCEPT
SparseImageOpaqueMemoryBindInfo(VULKAN_HPP_NAMESPACE::Image image_, VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const VULKAN_HPP_NAMESPACE::SparseMemoryBind > const &binds_)
bool operator!=(SharedPresentSurfaceCapabilitiesKHR const &rhs) const VULKAN_HPP_NOEXCEPT
PipelineRasterizationLineStateCreateInfoEXT & operator=(VkPipelineRasterizationLineStateCreateInfoEXT const &rhs) VULKAN_HPP_NOEXCEPT
bool operator!=(PhysicalDevicePrivateDataFeatures const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT
SubpassDescription2 & setPreserveAttachments(VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries< const uint32_t > const &preserveAttachments_) VULKAN_HPP_NOEXCEPT
bool operator!=(ImageSubresource const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT VkPhysicalDeviceFragmentDensityMap2FeaturesEXT
bool operator==(DeviceDiagnosticsConfigCreateInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceInlineUniformBlockProperties VkPhysicalDeviceInlineUniformBlockProperties
struct VkStreamDescriptorSurfaceCreateInfoGGP VkStreamDescriptorSurfaceCreateInfoGGP
VULKAN_HPP_CONSTEXPR_14 SamplerCreateInfo & setMinLod(float minLod_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceRayTracingPropertiesNV VkPhysicalDeviceRayTracingPropertiesNV
struct VkSurfaceFormatKHR VkSurfaceFormatKHR
CommandPoolCreateInfo & operator=(VkCommandPoolCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryInstancesDataKHR & setPNext(const void *pNext_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SemaphoreTypeCreateInfo(VULKAN_HPP_NAMESPACE::SemaphoreType semaphoreType_=VULKAN_HPP_NAMESPACE::SemaphoreType::eBinary, uint64_t initialValue_={}, const void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSparseImageFormatInfo2 & setTiling(VULKAN_HPP_NAMESPACE::ImageTiling tiling_) VULKAN_HPP_NOEXCEPT
bool operator==(ImageBlit2 const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setShaderOutputViewportIndex(VULKAN_HPP_NAMESPACE::Bool32 shaderOutputViewportIndex_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePresentIdFeaturesKHR & setPresentId(VULKAN_HPP_NAMESPACE::Bool32 presentId_) VULKAN_HPP_NOEXCEPT
PhysicalDeviceShaderAtomicInt64Features & operator=(VkPhysicalDeviceShaderAtomicInt64Features const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(DrawMeshTasksIndirectCommandNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryDataKHR(VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryInstancesDataKHR instances_)
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRayTracingMaintenance1FeaturesKHR & setRayTracingMaintenance1(VULKAN_HPP_NAMESPACE::Bool32 rayTracingMaintenance1_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR QueueFamilyCheckpointPropertiesNV(VULKAN_HPP_NAMESPACE::PipelineStageFlags checkpointExecutionStageMask_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
struct VkExternalFenceProperties VkExternalFenceProperties
struct VkPipelineLayoutCreateInfo VkPipelineLayoutCreateInfo
bool operator!=(PresentRegionKHR const &rhs) const VULKAN_HPP_NOEXCEPT
struct VkDebugMarkerMarkerInfoEXT VkDebugMarkerMarkerInfoEXT
VULKAN_HPP_CONSTEXPR_14 SubresourceLayout & setDepthPitch(VULKAN_HPP_NAMESPACE::DeviceSize depthPitch_) VULKAN_HPP_NOEXCEPT
struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures VkPhysicalDeviceTextureCompressionASTCHDRFeatures
void * MTLTexture_id
Definition: vulkan_metal.h:76
struct VkPipelineColorBlendAttachmentState VkPipelineColorBlendAttachmentState
VULKAN_HPP_CONSTEXPR PhysicalDeviceDescriptorIndexingFeatures(VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayDynamicIndexing_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderUniformTexelBufferArrayDynamicIndexing_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderStorageTexelBufferArrayDynamicIndexing_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderUniformBufferArrayNonUniformIndexing_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderSampledImageArrayNonUniformIndexing_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderStorageBufferArrayNonUniformIndexing_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderStorageImageArrayNonUniformIndexing_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderInputAttachmentArrayNonUniformIndexing_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderUniformTexelBufferArrayNonUniformIndexing_={}, VULKAN_HPP_NAMESPACE::Bool32 shaderStorageTexelBufferArrayNonUniformIndexing_={}, VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUniformBufferUpdateAfterBind_={}, VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingSampledImageUpdateAfterBind_={}, VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageImageUpdateAfterBind_={}, VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageBufferUpdateAfterBind_={}, VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUniformTexelBufferUpdateAfterBind_={}, VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingStorageTexelBufferUpdateAfterBind_={}, VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingUpdateUnusedWhilePending_={}, VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingPartiallyBound_={}, VULKAN_HPP_NAMESPACE::Bool32 descriptorBindingVariableDescriptorCount_={}, VULKAN_HPP_NAMESPACE::Bool32 runtimeDescriptorArray_={}, void *pNext_=nullptr) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT & setPCombinedImageSampler(const VULKAN_HPP_NAMESPACE::DescriptorImageInfo *pCombinedImageSampler_) VULKAN_HPP_NOEXCEPT
ImageSubresourceRange & operator=(ImageSubresourceRange const &rhs) VULKAN_HPP_NOEXCEPT=default
struct VkResolveImageInfo2 VkResolveImageInfo2
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceSubgroupSizeControlFeatures & setComputeFullSubgroups(VULKAN_HPP_NAMESPACE::Bool32 computeFullSubgroups_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 SubmitInfo2 & setPWaitSemaphoreInfos(const VULKAN_HPP_NAMESPACE::SemaphoreSubmitInfo *pWaitSemaphoreInfos_) VULKAN_HPP_NOEXCEPT
struct VkSetStateFlagsIndirectCommandNV VkSetStateFlagsIndirectCommandNV
struct VkPhysicalDevicePerformanceQueryPropertiesKHR VkPhysicalDevicePerformanceQueryPropertiesKHR
bool operator!=(IndirectCommandsStreamNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 DedicatedAllocationMemoryAllocateInfoNV & setBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer_) VULKAN_HPP_NOEXCEPT
bool operator!=(BindAccelerationStructureMemoryInfoNV const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCustomBorderColorFeaturesEXT & setCustomBorderColorWithoutFormat(VULKAN_HPP_NAMESPACE::Bool32 customBorderColorWithoutFormat_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVulkan12Features & setShaderStorageTexelBufferArrayNonUniformIndexing(VULKAN_HPP_NAMESPACE::Bool32 shaderStorageTexelBufferArrayNonUniformIndexing_) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 MutableDescriptorTypeCreateInfoEXT & setMutableDescriptorTypeListCount(uint32_t mutableDescriptorTypeListCount_) VULKAN_HPP_NOEXCEPT
ImageResolve2(VkImageResolve2 const &rhs) VULKAN_HPP_NOEXCEPT
PipelineVertexInputStateCreateInfo & operator=(VkPipelineVertexInputStateCreateInfo const &rhs) VULKAN_HPP_NOEXCEPT
DrmFormatModifierPropertiesListEXT(VkDrmFormatModifierPropertiesListEXT const &rhs) VULKAN_HPP_NOEXCEPT
ImageMemoryRequirementsInfo2(VkImageMemoryRequirementsInfo2 const &rhs) VULKAN_HPP_NOEXCEPT
bool operator==(MappedMemoryRange const &rhs) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 AttachmentReference & setAttachment(uint32_t attachment_) VULKAN_HPP_NOEXCEPT